FusionInventory-Agent-2.6/0000755000175000017500000000000013757703277015766 5ustar gbougardgbougardFusionInventory-Agent-2.6/Makefile.PL0000644000175000017500000002515313734331376017736 0ustar gbougardgbougard BEGIN { # Avoid installation issue introduced by perl 5.24.1 removing '.' path from # @INC to avoid possible module injection in normal running perl scripts push @INC, '.' if ( $^V && $^V gt 'v5.24' ); } use inc::Module::Install; use English qw(-no_match_vars); use lib::FusionInventory::Agent::Version; name 'FusionInventory-Agent'; include 'Module::AutoInstall'; abstract 'FusionInventory unified Agent for UNIX, Linux, Windows and MacOSX'; license 'gpl'; repository 'https://github.com/fusioninventory/fusioninventory-agent'; version_from 'lib/FusionInventory/Agent/Version.pm'; perl_version '5.008'; authors 'FusionInventory Team'; provides 'FusionInventory::Agent' => { file => 'lib/FusionInventory/Agent.pm', version => $FusionInventory::Agent::Version::VERSION }; # mandatory dependencies requires 'File::Which' => '0'; requires 'LWP::UserAgent' => '5.8'; requires 'Net::IP' => '0'; requires 'Text::Template' => '0'; requires 'UNIVERSAL::require' => '0'; requires 'XML::TreePP' => '0.26'; requires 'XML::XPath' => '0'; requires 'YAML::Tiny' => '0'; requires 'Memoize' => '0'; if ($OSNAME eq 'MSWin32') { requires 'Win32::OLE' => '0'; requires 'Win32::Job' => '0'; requires 'Win32::TieRegistry' => '0'; } recommends 'Compress::Zlib' => '0'; recommends 'HTTP::Daemon' => '0'; recommends 'IO::Socket::SSL' => '1.14'; recommends 'LWP::Protocol::https' => '0'; if ($OSNAME ne 'MSWin32') { recommends 'Proc::Daemon' => '0'; } else { recommends 'Win32::Daemon' => '0'; recommends 'Win32::Unicode::File' => '0'; } # test dependencies test_requires 'File::Copy::Recursive' => '0'; test_requires 'HTTP::Proxy' => '0'; test_requires 'HTTP::Server::Simple' => '0'; test_requires 'HTTP::Server::Simple::Authen' => '0'; test_requires 'IO::Socket::SSL' => '0'; test_requires 'IO::Capture::Stderr' => '0'; test_requires 'IPC::Run' => '0'; test_requires 'JSON::PP' => '0'; test_requires 'Net::SNMP' => '0'; test_requires 'LWP::Protocol::https' => '0'; test_requires 'Parallel::ForkManager' => '0'; test_requires 'Test::Compile' => '0'; test_requires 'Test::Deep' => '0'; test_requires 'Test::Exception' => '0'; test_requires 'Test::MockModule' => '0'; test_requires 'Test::More' => '0.93'; # subtest test_requires 'Test::NoWarnings' => '0'; test_requires 'Test::MockObject' => '0'; # Inventory recommends 'DateTime' => '0'; recommends 'Net::CUPS' => 0.60 if $OSNAME ne 'MSWin32'; recommends 'Parse::EDID' => '0'; # Deploy recommends 'Archive::Extract' => '0'; recommends 'Digest::SHA' => '0'; recommends 'File::Copy::Recursive' => '0'; recommends 'JSON::PP' => '0'; recommends 'Net::Ping' => '0'; recommends 'Parallel::ForkManager' => '0'; recommends 'URI::Escape' => '0'; # Network recommends 'Net::NBName' => '0'; recommends 'Net::SNMP' => '0'; recommends 'Thread::Queue' => '2.01'; # Wake-On-LAN recommends 'Net::Write::Layer2' => '0'; install_script 'bin/fusioninventory-agent'; install_script 'bin/fusioninventory-win32-service' if $OSNAME eq 'MSWin32'; install_script 'bin/fusioninventory-wmi' if $OSNAME eq 'MSWin32'; install_script 'bin/fusioninventory-injector'; install_script 'bin/fusioninventory-inventory'; install_script 'bin/fusioninventory-wakeonlan'; install_script 'bin/fusioninventory-netdiscovery'; install_script 'bin/fusioninventory-netinventory'; install_script 'bin/fusioninventory-esx'; install_script 'bin/fusioninventory-remoteinventory'; resources homepage => "http://www.fusioninventory.org", bugtracker => "https://github.com/fusioninventory/fusioninventory-agent/issues", repository => "https://github.com/fusioninventory/fusioninventory-agent/", IRC => "irc://irc.freenode.net/#fusioninventory"; makemaker_args( test => { TESTS => join ' ', map { glob } qw( t/*.t t/*/*.t t/*/*/*.t t/*/*/*/*.t t/*/*/*/*/*.t ) }, INSTALLMAN3DIR => 'none' ); WriteAll; # substitute prefix everywhere $MY::variables{SYSCONFDIR} =~ s/\$\(PREFIX\)/$MY::variables{PREFIX}/; $MY::variables{DATADIR} =~ s/\$\(PREFIX\)/$MY::variables{PREFIX}/; $MY::variables{LOCALSTATEDIR} =~ s/\$\(PREFIX\)/$MY::variables{PREFIX}/; # look for already existing configuration file my $config_file_message = -f "$MY::variables{SYSCONFDIR}/agent.cfg" ? "previous configuration file found, new one will be installed as agent.cfg.new" : "no previous configuration file found, new one will be installed as agent.cfg"; print < '/usr/local', VERSION => '', COMMENTS => "Platform : $Config{myuname},Build date: ".gmtime()." (GMT)", RAWCOMMENTS => '', INSTALLSCRIPT => '$(PREFIX)/bin', INSTALLSITESCRIPT => '$(PREFIX)/bin', INSTALLVENDORSCRIPT => '$(PREFIX)/bin', INSTALLLIB => '$(DATADIR)/lib', INSTALLSITELIB => '$(DATADIR)/lib', INSTALLVENDORLIB => '$(DATADIR)/lib', INSTALLMAN1DIR => '$(PREFIX)/share/man/man1', INSTALLSITEMAN1DIR => '$(PREFIX)/share/man/man1', INSTALLVENDORMAN1DIR => '$(PREFIX)/share/man/man1', INSTALLMAN3DIR => '$(PREFIX)/share/man/man3', INSTALLSITEMAN3DIR => '$(PREFIX)/share/man/man3', INSTALLVENDORMAN3DIR => '$(PREFIX)/share/man/man3', SYSCONFDIR => '$(PREFIX)/etc/fusioninventory', DATADIR => '$(PREFIX)/share/fusioninventory', LOCALSTATEDIR => '$(PREFIX)/var/fusioninventory', ); # allow variables defined on command line to override defaults foreach my $name (keys %variables) { $variables{$name} = $self->{ARGS}->{$name} if $self->{ARGS}->{$name}; } # get all standard MM variables definitions, and override them if needed my @code = split(/\n/, $self->SUPER::constants(@_)); foreach my $line (@code) { # Skip comments next if $line =~ /^\s*#/; # Skip everything which isn't a var assignment. next unless $line =~ /^([A-Z0-9_]+) =/; my $name = $1; if ($name eq 'VERSION' && ! $variables{VERSION}) { ( $variables{VERSION} ) = /=\s*(\S+)\s*$/; } # skip variables we're not interested next unless $variables{$name}; $line = "$name = $variables{$name}"; } # Fix COMMENTS and prepare it as a list of perl strings if ($variables{COMMENTS}) { $variables{COMMENTS} =~ s/[^a-zA-Z0-9 ,.:_-]//g; $variables{RAWCOMMENTS} = "\\n " . join(",\\n ",map { "\\\"$_\\\"" } split(/,/,$variables{COMMENTS})) . "\\n"; } # add out own variables foreach my $name (qw/SYSCONFDIR DATADIR LOCALSTATEDIR COMMENTS RAWCOMMENTS/) { push @code, "$name = $variables{$name}"; } return join("\n", @code); } sub install { my ($self) = @_; my $install = $self->SUPER::install(@_); # add dependency on data and configuration installation targets, and remove # dependency on perlocal installation target # depending on MakeMaker version, the line to match changes $install =~ s/install :: pure_install doc_install/install :: pure_install config_install data_install setup_install version_install/; $install =~ s/install :: all pure_install doc_install/install :: all pure_install config_install data_install setup_install version_install/; # suppress all lines related to packlist file installation $install =~ s/.*\.packlist \\\n//g; # add data and configuration installation targets $install .= <<'EOF'; config_install : pure_install $(MKPATH) $(DESTDIR)$(SYSCONFDIR) $(NOECHO) $(CHMOD) $(PERM_DIR) $(DESTDIR)$(SYSCONFDIR) for config in agent.cfg $(shell cd etc; echo *-plugin.cfg ); \ do \ if $(TEST_F) $(DESTDIR)$(SYSCONFDIR)/$$config; then \ $(RM_F) $(DESTDIR)$(SYSCONFDIR)/$$config.new; \ $(CP) etc/$$config $(DESTDIR)$(SYSCONFDIR)/$$config.new; \ $(CHMOD) $(PERM_RW) $(DESTDIR)$(SYSCONFDIR)/$$config.new; \ else \ $(CP) etc/$$config $(DESTDIR)$(SYSCONFDIR)/$$config; \ $(CHMOD) $(PERM_RW) $(DESTDIR)$(SYSCONFDIR)/$$config; \ fi; \ done $(ABSPERLRUN) -pi \ -e "s|=> undef, # SYSCONFDIR.*|=> '$(SYSCONFDIR)',|;" \ $(DESTDIR)$(INSTALLSITELIB)/FusionInventory/Agent/Config.pm data_install : pure_install $(MOD_INSTALL) "share" "$(DESTDIR)$(DATADIR)" setup_install : pure_install # Cleanup setup file to only really needed hash during install $(ABSPERLRUN) -pi \ -e 'undef $$_ if m/^use (File::Spec|Cwd)/;' \ -e 'if (m/# Compute/) { print "1;\n"; last; };' \ -e 's|datadir => .*|datadir => "$(DATADIR)",|;' \ -e 's|libdir => .*|libdir => "$(INSTALLSITELIB)",|;' \ -e 's|vardir => .*|vardir => "$(LOCALSTATEDIR)",|' \ $(DESTDIR)$(INSTALLSITELIB)/setup.pm version_install : pure_install # Cleanup and update Version module during install $(ABSPERLRUN) -pi \ -e 'last if m|^__END__|;' \ -e 's|^our \$$VERSION =.*|our \$$VERSION = "$(VERSION)";|;' \ -e 's|^our \$$COMMENTS =.*|our \$$COMMENTS = [$(RAWCOMMENTS)];|;' \ $(DESTDIR)$(INSTALLSITELIB)/FusionInventory/Agent/Version.pm EOF return $install; } # ensure binaries get modified to use configured directories (on Unix only) sub installbin { my ($self) = @_; my $installbin = $self->SUPER::installbin(@_); return $installbin if $OSNAME eq 'MSWin32'; $installbin =~ s|\t\$\(FIXIN\) (.*)\n|\t\$(FIXIN) $1\n\t\$(FINALIZE) $1\n|g; $installbin .= <<'EOF'; FINALIZE = $(ABSPERLRUN) -pi \ -e 's|use lib .*|use lib "$(INSTALLSITELIB)";|;' \ -- EOF return $installbin; } FusionInventory-Agent-2.6/lib/0000755000175000017500000000000013757703277016534 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/setup.pm0000644000175000017500000000177513753244660020234 0ustar gbougardgbougardpackage setup; use strict; use warnings; use parent qw(Exporter); use File::Spec; use Cwd qw(abs_path); our @EXPORT = ('%setup'); our %setup = ( datadir => './share', libdir => './lib', vardir => './var', ); # Compute directly libdir from this setup file as it should be installed # in expected directory eval { $setup{libdir} = abs_path(File::Spec->rel2abs('..', __FILE__)) unless ($setup{libdir} && File::Spec->file_name_is_absolute($setup{libdir})); # If run from sources, we can try to rebase setup keys to absolute folders related to libdir if (File::Spec->file_name_is_absolute($setup{libdir})) { foreach my $key (qw(datadir vardir)) { # Anyway don't update if target still absolute next if ($setup{$key} && File::Spec->file_name_is_absolute($setup{$key})); my $folder = abs_path(File::Spec->rel2abs('../'.$setup{$key}, $setup{libdir})); $setup{$key} = $folder if $folder && -d $folder; } } }; 1; FusionInventory-Agent-2.6/lib/FusionInventory/0000755000175000017500000000000013757703276021714 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/0000755000175000017500000000000013757703277022753 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Target/0000755000175000017500000000000013757703277024201 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Target/Local.pm0000644000175000017500000000330013712210012025530 0ustar gbougardgbougardpackage FusionInventory::Agent::Target::Local; use strict; use warnings; use parent 'FusionInventory::Agent::Target'; my $count = 0; sub new { my ($class, %params) = @_; die "no path parameter for local target\n" unless $params{path}; my $self = $class->SUPER::new(%params); $self->{path} = $params{path}; $self->{format} = $params{html} ? 'html' :'xml'; $self->_init( id => 'local' . $count++, vardir => $params{basevardir} . '/__LOCAL__', ); return $self; } sub reset { $count = 0; } sub getPath { my ($self) = @_; return $self->{path}; } sub getName { my ($self) = @_; return $self->{path}; } sub getType { my ($self) = @_; return 'local'; } sub plannedTasks { my $self = shift @_; # Keep only inventory as local task if (@_) { $self->{tasks} = [ grep { $_ =~ /^Inventory$/i } @_ ]; } return @{$self->{tasks} || []}; } 1; __END__ =head1 NAME FusionInventory::Agent::Target::Local - Local target =head1 DESCRIPTION This is a target for storing execution result in a local folder. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, in addition to those from the base class C, as keys of the %params hash: =over =item I the output directory path (mandatory) =back =head2 reset() Reset the local target counter. =head2 getPath() Return the local output directory for this target. =head2 getName() Return the target name =head2 getType() Return the target type =head2 plannedTasks([@tasks]) Initializes target tasks with supported ones if a list of tasks is provided Return an array of planned tasks. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Target/Server.pm0000644000175000017500000000461613712210012025757 0ustar gbougardgbougardpackage FusionInventory::Agent::Target::Server; use strict; use warnings; use parent 'FusionInventory::Agent::Target'; use English qw(-no_match_vars); use URI; my $count = 0; sub new { my ($class, %params) = @_; die "no url parameter for server target\n" unless $params{url}; my $self = $class->SUPER::new(%params); $self->{url} = _getCanonicalURL($params{url}); # compute storage subdirectory from url my $subdir = $self->{url}; $subdir =~ s/\//_/g; $subdir =~ s/:/../g if $OSNAME eq 'MSWin32'; $self->_init( id => 'server' . $count++, vardir => $params{basevardir} . '/' . $subdir ); return $self; } sub reset { $count = 0; } sub _getCanonicalURL { my ($string) = @_; my $url = URI->new($string); my $scheme = $url->scheme(); if (!$scheme) { # this is likely a bare hostname # as parsing relies on scheme, host and path have to be set explicitely $url->scheme('http'); $url->host($string); $url->path('ocsinventory'); } else { die "invalid protocol for URL: $string" if $scheme ne 'http' && $scheme ne 'https'; # complete path if needed $url->path('ocsinventory') if !$url->path(); } return $url; } sub getUrl { my ($self) = @_; return $self->{url}; } sub getName { my ($self) = @_; return $self->{url}; } sub getType { my ($self) = @_; return 'server'; } sub plannedTasks { my $self = shift @_; # Server can trigger any task but Maintenance if (@_) { $self->{tasks} = [ grep { $_ !~ /^Maintenance$/i } @_ ]; } return @{$self->{tasks} || []}; } 1; __END__ =head1 NAME FusionInventory::Agent::Target::Server - Server target =head1 DESCRIPTION This is a target for sending execution result to a server. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, in addition to those from the base class C, as keys of the %params hash: =over =item I the server URL (mandatory) =back =head2 reset() Reset the server target counter. =head2 getUrl() Return the server URL for this target. =head2 getName() Return the target name =head2 getType() Return the target type =head2 plannedTasks([@tasks]) Initializes target tasks with supported ones if a list of tasks is provided Return an array of planned tasks. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Target/Listener.pm0000644000175000017500000000722213712210012026272 0ustar gbougardgbougardpackage FusionInventory::Agent::Target::Listener; use strict; use warnings; use parent 'FusionInventory::Agent::Target'; use FusionInventory::Agent::HTTP::Session; sub new { my ($class, %params) = @_; my $self = $class->SUPER::new(%params); $self->_init( id => 'listener', vardir => $params{basevardir} . '/__LISTENER__', ); return $self; } sub getName { return 'listener'; } sub getType { return 'listener'; } # No task planned as the only purpose is to answer HTTP API sub plannedTasks { return (); } sub inventory_xml { my ($self, $inventory) = @_; if ($inventory) { $self->{_inventory} = $inventory; } else { # Don't keep inventory in memory when retrieved return delete $self->{_inventory}; } } sub session { my ($self, %params) = @_; my $sessions = $self->{sessions} || $self->_restore_sessions(); my $remoteid = $params{remoteid}; if ($sessions->{$remoteid}) { return $sessions->{$remoteid} unless $sessions->{$remoteid}->expired(); delete $sessions->{$remoteid}; } my $session = FusionInventory::Agent::HTTP::Session->new( logger => $self->{logger}, timeout => $params{timeout}, ); $sessions->{$remoteid} = $session; $self->_store_sessions(); return $session; } sub clean_session { my ($self, $remoteid) = @_; my $sessions = $self->{sessions} || $self->_restore_sessions(); if ($sessions && $sessions->{$remoteid}) { delete $sessions->{$remoteid}; $self->_store_sessions(); } } sub _store_sessions { my ($self) = @_; my $sessions = $self->{sessions} || $self->_restore_sessions(); my $datas = {}; foreach my $remoteid (keys(%{$sessions})) { $datas->{$remoteid} = $sessions->{$remoteid}->dump() unless $sessions->{$remoteid}->expired(); }; my $storage = $self->getStorage(); $storage->save( name => 'Sessions', data => $datas ); } sub _restore_sessions { my ($self) = @_; my $sessions = {}; my $storage = $self->getStorage(); my $datas = $storage->restore( name => 'Sessions' ); $datas = {} unless ref($datas) eq 'HASH'; foreach my $remoteid (keys(%{$datas})) { my $data = $datas->{$remoteid}; next unless ref($data) eq 'HASH'; $sessions->{$remoteid} = FusionInventory::Agent::HTTP::Session->new( logger => $self->{logger}, timer => $data->{timer}, nonce => $data->{nonce}, ); delete $sessions->{$remoteid} if $sessions->{$remoteid}->expired(); } return $self->{sessions} = $sessions; } 1; __END__ =head1 NAME FusionInventory::Agent::Target::Listen - Listen target =head1 DESCRIPTION This is a target to serve execution result on a listening port. =head1 METHODS =head2 new(%params) The constructor. The allowed parameters are the ones from the base class C. =head2 getName() Return the target name =head2 getType() Return the target type =head2 plannedTasks([@tasks]) Initializes target tasks with supported ones if a list of tasks is provided Return an array of planned tasks. =head2 inventory_xml([$xml]) Set or retrieve an inventory XML to be used by an HTTP plugin =head2 session(%params) Create or retrieve a FusionInventory::Agent::HTTP::Session object keeping it stored in a local storage. Supported parameters: =over =item I a session id used to index stored sessions =item I the session timeout to use in seconds (default: 600) =back =head2 clean_session($remoteid) Remove a no more used session from the stored sessions. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Target/Scheduler.pm0000644000175000017500000000410413712210012026417 0ustar gbougardgbougardpackage FusionInventory::Agent::Target::Scheduler; use strict; use warnings; use parent 'FusionInventory::Agent::Target'; use English qw(-no_match_vars); use URI; my $count = 0; sub new { my ($class, %params) = @_; my $self = $class->SUPER::new(%params); $self->{storage} = $params{storage}; $self->{id} = 'scheduler' . $count++; # handle persistent state $self->_loadState(); $self->{nextRunDate} = $self->_computeNextRunDate() if (!$self->{nextRunDate} || $self->{nextRunDate} < time-$self->getMaxDelay()); $self->_saveState(); return $self; } sub reset { $count = 0; } sub getName { my ($self) = @_; return $self->{id}; } sub getType { my ($self) = @_; return 'scheduler'; } sub plannedTasks { my $self = shift @_; # Keep only Maintenance as local task, but keep others if (@_) { $self->{tasks} = [ grep { $_ =~ /^Maintenance$/i } @_ ]; $self->{others} = [ grep { $_ !~ /^Maintenance$/i } @_ ]; } return @{$self->{tasks} || []}; } sub otherTasks { my $self = shift @_; return @{$self->{others} || []}; } sub _loadState { my ($self) = @_; my $data = $self->{storage}->restore(name => 'scheduler'); $self->{maxDelay} = $data->{maxDelay} if $data->{maxDelay}; $self->{nextRunDate} = $data->{nextRunDate} if $data->{nextRunDate}; } sub _saveState { my ($self) = @_; $self->{storage}->save( name => 'scheduler', data => { maxDelay => $self->{maxDelay}, nextRunDate => $self->{nextRunDate}, } ); } 1; __END__ =head1 NAME FusionInventory::Agent::Target::Scheduler - Scheduler target =head1 DESCRIPTION This is a target to schedule some local agent maintenance. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, in addition to those from the base class C, as keys of the %params hash: =over =item I the server target storage object (mandatory) =back =head2 reset() Reset the scheduler target counter. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Logger.pm0000644000175000017500000001151113712210012024472 0ustar gbougardgbougardpackage FusionInventory::Agent::Logger; use strict; use warnings; use constant { LOG_DEBUG2 => 5, LOG_DEBUG => 4, LOG_INFO => 3, LOG_WARNING => 2, LOG_ERROR => 1, LOG_NONE => 0, }; use English qw(-no_match_vars); use UNIVERSAL::require; # Package level shared logger config my $config; sub new { my ($class, %params) = @_; my $first_pass = defined($config) ? 0 : 1 ; # Initialize or reset Logger configuration if ($params{config}) { $config = ref($params{config}) eq 'FusionInventory::Agent::Config' ? $params{config}->logger() : $params{config} ; } elsif ($first_pass) { $config = \%params; } else { # Later new creation could be used to update the shared config foreach my $param (keys(%params)) { $config->{$param} = $params{$param}; } } my $debug = $params{verbosity} || $config->{debug} || 0 ; my $self = { verbosity => $debug == 2 ? LOG_DEBUG2 : $debug == 1 ? LOG_DEBUG : LOG_INFO }; bless $self, $class; my %backends; my $backends = $params{backends} || $config->{logger} || $params{logger}; foreach ( $backends ? @{$backends} : 'Stderr' ) { my $backend = ucfirst($_); next if $backends{$backend}; my $package = "FusionInventory::Agent::Logger::$backend"; $package->require(); if ($EVAL_ERROR) { print STDERR "Failed to load Logger backend $backend: ($EVAL_ERROR)\n"; next; } $backends{$backend} = 1; $self->debug("Logger backend $backend initialised"); push @{$self->{backends}}, $package->new(%{$config}); } # Only log agent version string during the first object creation $self->debug($FusionInventory::Agent::VERSION_STRING) if $first_pass; return $self; } sub _log { my ($self, %params) = @_; # levels: debug2, debug, info, warning, error my $level = $params{level} || 'info'; my $message = $params{message}; return unless $message; # Add a prefix to the message if set $message = $self->{prefix}.$message if $self->{prefix}; chomp($message); foreach my $backend (@{$self->{backends}}) { $backend->addMessage ( level => $level, message => $message ); } } sub reload { my ($self) = @_; foreach my $backend (@{$self->{backends}}) { $backend->reload(); } } sub debug_level { my ($self) = @_; return $self->{verbosity} > LOG_INFO ? $self->{verbosity} - LOG_INFO : 0; } sub debug2 { my ($self, $message) = @_; return unless $self->{verbosity} >= LOG_DEBUG2; $self->_log(level => 'debug2', message => $message); } sub debug { my ($self, $message) = @_; return unless $self->{verbosity} >= LOG_DEBUG; $self->_log(level => 'debug', message => $message); } sub debug_result { my ($self, %params) = @_; return unless $self->{verbosity} >= LOG_DEBUG; my $status = $params{status} || ($params{data} ? 'success' : 'no result'); $self->_log( level => 'debug', message => sprintf('- %s: %s', $params{action}, $status) ); } sub info { my ($self, $message) = @_; return unless $self->{verbosity} >= LOG_INFO; $self->_log(level => 'info', message => $message); } sub warning { my ($self, $message) = @_; return unless $self->{verbosity} >= LOG_WARNING; $self->_log(level => 'warning', message => $message); } sub error { my ($self, $message) = @_; return unless $self->{verbosity} >= LOG_ERROR; $self->_log(level => 'error', message => $message); } 1; __END__ =head1 NAME FusionInventory::Agent::Logger - FusionInventory logger =head1 DESCRIPTION This is the logger object. As this object will mostly be instanciated one time, logger configuration is stored at the package level. So if you create a new object but without config, it will re-use the saved configuration. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the agent configuration object, to pass debug level and backends parameters =item I (deprecated) a list of backends to use (default: Stderr) =item I (deprecated) the verbosity level (default: LOG_INFO) =back =head2 debug2($message) Add a log message with debug2 level. =head2 debug($message) Add a log message with debug level. =head2 info($message) Add a log message with info level. =head2 warning($message) Add a log message with warning level. =head2 error($message) Add a log message with error level. =head2 debug_result(%params) Add a log message with debug level related to an action result. =head2 debug_level() Get current logger debug level. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Storage.pm0000644000175000017500000001025313712210012024661 0ustar gbougardgbougardpackage FusionInventory::Agent::Storage; use strict; use warnings; use Config; use English qw(-no_match_vars); use File::Path qw(mkpath); use File::stat; use Storable; use FusionInventory::Agent::Logger; sub new { my ($class, %params) = @_; die "no directory parameter" unless $params{directory}; if (!-d $params{directory}) { # {error => \my $err} is not supported on RHEL 5, # we let mkpath call die() itself # http://forge.fusioninventory.org/issues/1817 eval { mkpath($params{directory}); }; die "Can't create $params{directory}: $EVAL_ERROR" if $EVAL_ERROR; } if (! -w $params{directory}) { die "Can't write in $params{directory}"; } my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), _mtime => {}, directory => $params{directory} }; bless $self, $class; return $self; } sub getDirectory { my ($self) = @_; return $self->{directory}; } sub _getFilePath { my ($self, %params) = @_; die "no name parameter given" unless $params{name}; return $self->{directory} . '/' . $params{name} . '.dump'; } sub has { my ($self, %params) = @_; my $file = $self->_getFilePath(%params); return -f $file; } sub _cache_mtime { my ($self, $file) = @_; my $st = stat($file) or return; $self->{_mtime}->{$file} = $st->mtime; } sub modified { my ($self, %params) = @_; my $file = $self->_getFilePath(%params); return unless $self->{_mtime}->{$file}; my $st = stat($file); return $st && $st->mtime > $self->{_mtime}->{$file} ? 1 : 0; } sub save { my ($self, %params) = @_; my $file = $self->_getFilePath(%params); store($params{data}, $file) or warn; $self->_cache_mtime($file); } sub restore { my ($self, %params) = @_; my $file = $self->_getFilePath(%params); return unless -f $file; my $result; eval { $result = retrieve($file); }; if ($EVAL_ERROR) { $self->{logger}->error("Can't read corrupted $file, removing it"); unlink $file; } $self->_cache_mtime($file); return $result; } sub remove { my ($self, %params) = @_; my $file = $self->_getFilePath(%params); unlink $file or $self->{logger}->error("can't unlink $file"); delete $self->{_mtime}->{$file}; } 1; __END__ =head1 NAME FusionInventory::Agent::Storage - A data serializer/deserializer =head1 SYNOPSIS my $storage = FusionInventory::Agent::Storage->new( directory => '/tmp' ); my $data = $storage->restore( name => "foobar" ); $data->{foo} = 'bar'; $storage->save( name => "foobar", data => $data ); =head1 DESCRIPTION This is the object used by the agent to ensure data persistancy between invocations. The data structure is saved in a dedicated file. The file directory is a configuration parameter for each object. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use =item I the directory to use for storing data (mandatory) =back =head2 getDirectory Returns the underlying directory for this storage. =head2 has(%params) Returns true if a saved data structure exists. The following arguments are allowed: =over =item I The file name to use for saving the data structure (mandatory). =back =head2 save(%params) Save given data structure. The following parameters are allowed, as keys of the %params hash: =over =item I The file name to use for saving the data structure (mandatory). =item I The data to be saved (mandatory). =back =head2 restore(%params) Restore a saved data structure. The following parameters are allowed, as keys of the %params hash: =over =item I The file name to use for saving the data structure (mandatory). =back =head2 remove(%params) Delete the file containing a seralized data structure for a given file name. The following parameters are allowed, as keys of the %params hash: =over =item I The file name used to save the data structure (mandatory). =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/XML/0000755000175000017500000000000013757703277023413 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/XML/Query.pm0000644000175000017500000000170613754756004025053 0ustar gbougardgbougardpackage FusionInventory::Agent::XML::Query; use strict; use warnings; use XML::TreePP; sub new { my ($class, %params) = @_; die "no query parameter for XML query\n" unless $params{query}; my $self = {}; bless $self, $class; foreach my $key (keys %params) { $self->{h}->{uc($key)} = $params{$key}; } return $self; } sub getContent { my ($self) = @_; my $tpp = XML::TreePP->new(indent => 2); return $tpp->write({ REQUEST => $self->{h} }); } 1; __END__ =head1 NAME FusionInventory::Agent::XML::Query - Base class for agent messages =head1 DESCRIPTION This is an abstract class for all XML query messages sent by the agent to the server. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use =item I the agent identifier (optional) =back =head2 getContent Get XML content. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/XML/Response.pm0000644000175000017500000000271013360140457025530 0ustar gbougardgbougardpackage FusionInventory::Agent::XML::Response; use strict; use warnings; use XML::TreePP; sub new { my ($class, %params) = @_; my $tpp = XML::TreePP->new( force_array => [ qw/ OPTION PARAM MODEL AUTHENTICATION RANGEIP DEVICE GET WALK / ], attr_prefix => '', text_node_key => 'content' ); my $content = $tpp->parse($params{content}); die "content is not an XML message" unless ref $content eq 'HASH'; die "content is an invalid XML message" unless defined($content->{REPLY}); my $self = { content => $content->{REPLY} }; bless $self, $class; return $self; } sub getContent { my ($self) = @_; return $self->{content}; } sub getOptionsInfoByName { my ($self, $name) = @_; return unless $self->{content}->{OPTION}; return grep { $_->{NAME} eq $name } @{$self->{content}->{OPTION}}; } 1; __END__ =head1 NAME FusionInventory::Agent::XML::Response - Generic server message =head1 DESCRIPTION This is a generic message sent by the server to the agent. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use (default: a new stderr logger) =item I the raw XML content =back =head2 getContent Get content, as a perl data structure. =head2 getOptionsInfoByName($name) Get parameters of a specific option FusionInventory-Agent-2.6/lib/FusionInventory/Agent/XML/Query/0000755000175000017500000000000013757703277024520 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/XML/Query/Inventory.pm0000644000175000017500000000160213712210012027015 0ustar gbougardgbougardpackage FusionInventory::Agent::XML::Query::Inventory; use strict; use warnings; use parent 'FusionInventory::Agent::XML::Query'; sub new { my ($class, %params) = @_; die "no content parameter for XML query\n" unless $params{content}; return $class->SUPER::new( query => 'INVENTORY', %params ); } 1; __END__ =head1 NAME FusionInventory::Agent::XML::Query::Inventory - Inventory agent message =head1 DESCRIPTION This is an inventory message sent by the agent to the server, using OCS Inventory XML format. The data strcture format is documented in L. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, in addition to those from the base class C, as keys of the %params hash: =over =item I the inventory content (mandatory) =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/XML/Query/Prolog.pm0000644000175000017500000000146113712210012026265 0ustar gbougardgbougardpackage FusionInventory::Agent::XML::Query::Prolog; use strict; use warnings; use parent 'FusionInventory::Agent::XML::Query'; sub new { my ($class, %params) = @_; die "no deviceid parameter for Prolog XML query\n" unless $params{deviceid}; return $class->SUPER::new( query => 'PROLOG', token => '12345678', %params ); } 1; __END__ =head1 NAME FusionInventory::Agent::XML::Query::Prolog - Prolog agent message =head1 DESCRIPTION This is an initial message sent by the agent to the server before any task is processed, requiring execution parameters. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, in addition to those from the base class C, as keys of the %params hash: =over =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/0000755000175000017500000000000013757703277023655 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/WakeOnLan.pm0000644000175000017500000001403613712210012026001 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::WakeOnLan; use strict; use warnings; use parent 'FusionInventory::Agent::Task'; use English qw(-no_match_vars); use Socket; use UNIVERSAL::require; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Task::WakeOnLan::Version; our $VERSION = FusionInventory::Agent::Task::WakeOnLan::Version::VERSION; sub isEnabled { my ($self, $response) = @_; if (!$self->{target}->isType('server')) { $self->{logger}->debug("WakeOnLan task not compatible with local target"); return; } my @options = $response->getOptionsInfoByName('WAKEONLAN'); if (!@options) { $self->{logger}->debug("WakeOnLan task execution not requested"); return; } my @addresses; foreach my $option (@options) { foreach my $param (@{$option->{PARAM}}) { my $address = $param->{MAC}; if ($address !~ /^$mac_address_pattern$/) { $self->{logger}->error("invalid MAC address $address, skipping"); next; } $address =~ s/://g; push @addresses, $address; } } if (!@addresses) { $self->{logger}->error("no mac address defined"); return; } $self->{addresses} = \@addresses; return 1; } sub run { my ($self, %params) = @_; my @methods = $params{methods} ? @{$params{methods}} : qw/ethernet udp/; METHODS: foreach my $method (@methods) { my $function = '_send_magic_packet_' . $method; ADDRESSES: foreach my $address (@{$self->{addresses}}) { eval { $self->$function($address); }; if ($EVAL_ERROR) { $self->{logger}->error( "Impossible to use $method method: $EVAL_ERROR" ); # this method doesn't work, skip remaining addresses last ADDRESSES; } } # all addresses have been processed, skip other methods last METHODS; } } sub _send_magic_packet_ethernet { my ($self, $target) = @_; die "root privileges needed\n" unless $UID == 0; die "Net::Write module needed\n" unless Net::Write::Layer2->require(); for my $interface ( $self->_getInterfaces() ) { my $source = $interface->{MACADDR}; $source =~ s/://g; my $dev = $interface->{DESCRIPTION}; my $packet = pack('H12', $target) . pack('H12', $source) . pack('H4', "0842") . $self->_getPayload($target); $self->{logger}->debug( "Sending magic packet to $target as ethernet frame on $dev" ); my $writer = Net::Write::Layer2->new( dev => $dev ); $writer->open(); $writer->send($packet); $writer->close(); } } sub _send_magic_packet_udp { my ($self, $target) = @_; socket(my $socket, PF_INET, SOCK_DGRAM, getprotobyname('udp')) or die "can't open socket: $ERRNO\n"; setsockopt($socket, SOL_SOCKET, SO_BROADCAST, 1) or die "can't do setsockopt: $ERRNO\n"; my $packet = $self->_getPayload($target); my $destination = sockaddr_in("9", inet_aton("255.255.255.255")); $self->{logger}->debug( "Sending magic packet to $target as UDP packet" ); send($socket, $packet, 0, $destination) or die "can't send packet: $ERRNO\n"; close($socket); } sub _getInterfaces { my ($self) = @_; my @interfaces; SWITCH: { if ($OSNAME eq 'linux') { FusionInventory::Agent::Tools::Linux->require(); @interfaces = FusionInventory::Agent::Tools::Linux::getInterfacesFromIfconfig( logger => $self->{logger} ); last; } if ($OSNAME =~ /freebsd|openbsd|netbsd|gnukfreebsd|gnuknetbsd|dragonfly/) { FusionInventory::Agent::Tools::BSD->require(); @interfaces = FusionInventory::Agent::Tools::BSD::getInterfacesFromIfconfig( logger => $self->{logger} ); last; } if ($OSNAME eq 'MSWin32') { FusionInventory::Agent::Tools::Win32->require(); @interfaces = FusionInventory::Agent::Tools::Win32::getInterfaces( logger => $self->{logger} ); # on Windows, we have to use internal device name instead of litteral name for my $interface ( @interfaces ) { $interface->{DESCRIPTION} = $self->_getWin32InterfaceId($interface->{PNPDEVICEID}) } last; } } my @nonloopbackordumbinterfaces = grep { $_->{DESCRIPTION} ne 'lo' } grep { $_->{IPADDRESS} } grep { $_->{MACADDR} } @interfaces; return @nonloopbackordumbinterfaces; } sub _getPayload { my ($self, $target) = @_; return pack('H12', 'FF' x 6) . pack('H12', $target) x 16; } sub _getWin32InterfaceId { my ($self, $pnpid) = @_; FusionInventory::Agent::Tools::Win32->require(); my $key = FusionInventory::Agent::Tools::Win32::getRegistryKey( path => "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Network", ); foreach my $subkey_id (keys %$key) { # we're only interested in GUID subkeys next unless $subkey_id =~ /^\{\S+\}\/$/; my $subkey = $key->{$subkey_id}; foreach my $subsubkey_id (keys %$subkey) { my $subsubkey = $subkey->{$subsubkey_id}; next unless $subsubkey->{'Connection/'}; next unless $subsubkey->{'Connection/'}->{'/PnpInstanceID'}; next unless $subsubkey->{'Connection/'}->{'/PnpInstanceID'} eq $pnpid; my $device_id = $subsubkey_id; $device_id =~ s{/$}{}; return '\Device\NPF_' . $device_id; } } } 1; __END__ =head1 NAME FusionInventory::Agent::Task::WakeOnLan - Wake-on-lan task for FusionInventory =head1 DESCRIPTION This task send a wake-on-lan packet to another host on the same network as the agent host. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/NetDiscovery.pm0000644000175000017500000005122613712210012026602 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::NetDiscovery; use strict; use warnings; use threads; use parent 'FusionInventory::Agent::Task'; use constant DEVICE_PER_MESSAGE => 4; use English qw(-no_match_vars); use Net::IP; use Time::localtime; use Time::HiRes qw(usleep); use Thread::Queue v2.01; use UNIVERSAL::require; use FusionInventory::Agent::Version; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::Hardware; use FusionInventory::Agent::Tools::Expiration; use FusionInventory::Agent::Tools::SNMP; use FusionInventory::Agent::XML::Query; use FusionInventory::Agent::Task::NetDiscovery::Version; use FusionInventory::Agent::Task::NetDiscovery::Job; our $VERSION = FusionInventory::Agent::Task::NetDiscovery::Version::VERSION; sub isEnabled { my ($self, $response) = @_; if (!$self->{target}->isType('server')) { $self->{logger}->debug("NetDiscovery task not compatible with local target"); return; } my @options = $response->getOptionsInfoByName('NETDISCOVERY'); if (!@options) { $self->{logger}->debug("NetDiscovery task execution not requested"); return; } my @jobs; foreach my $option (@options) { if (!$option->{RANGEIP}) { $self->{logger}->error("invalid job: no IP range defined"); next; } my @ranges; foreach my $range (@{$option->{RANGEIP}}) { if (!$range->{IPSTART}) { $self->{logger}->error( "invalid range: no first address defined" ); next; } if (!$range->{IPEND}) { $self->{logger}->error( "invalid range: no last address defined" ); next; } push @ranges, $range; } if (!@ranges) { $self->{logger}->error("invalid job: no valid IP range defined"); next; } my $params = $option->{PARAM}->[0]; if (!$params) { $self->{logger}->error("invalid job: no PARAM defined"); next; } if (!defined($params->{PID})) { $self->{logger}->error("invalid job: no PID defined"); next; } push @jobs, FusionInventory::Agent::Task::NetDiscovery::Job->new( logger => $self->{logger}, params => $params, credentials => $option->{AUTHENTICATION}, ranges => \@ranges, ); } if (!@jobs) { $self->{logger}->error("no valid job found, aborting"); return; } $self->{jobs} = \@jobs; return 1; } sub _discovery_thread { my ($self, $jobs, $done) = @_; my $count = 0; my $id = threads->tid(); $self->{logger}->debug("[thread $id] creation"); # run as long as they are a job to process while (my $job = $jobs->dequeue()) { last unless ref($job) eq 'HASH'; last if $job->{leave}; my $result = $self->_scanAddress($job); if ($result && defined($job->{entity})) { $result->{ENTITY} = $job->{entity}; } # Only send result if a device was found which involves setting IP $self->_sendResultMessage($result, $job->{pid}) if $result->{IP}; $done->enqueue($job); $count ++; } delete $self->{logger}->{prefix}; $self->{logger}->debug2("[thread $id] processed $count scans"); $self->{logger}->debug("[thread $id] termination"); } sub run { my ($self, %params) = @_; # Prepare client configuration in needed to send message to server $self->{_client_params} = { logger => $self->{logger}, user => $params{user}, password => $params{password}, proxy => $params{proxy}, ca_cert_file => $params{ca_cert_file}, ca_cert_dir => $params{ca_cert_dir}, no_ssl_check => $params{no_ssl_check}, no_compress => $params{no_compress}, } if !$self->{client}; # check discovery methods available if (canRun('arp')) { $self->{arp} = 'arp -a'; } elsif (canRun('ip')) { $self->{arp} = 'ip neighbor show'; } else { $self->{logger}->info( "Can't run 'ip neighbor show' or 'arp' command, arp table detection can't be used" ); } Net::Ping->require(); if ($EVAL_ERROR) { $self->{logger}->info( "Can't load Net::Ping, echo ping can't be used" ); } Net::NBName->require(); if ($EVAL_ERROR) { $self->{logger}->info( "Can't load Net::NBName, netbios can't be used" ); } FusionInventory::Agent::SNMP::Live->require(); if ($EVAL_ERROR) { $self->{logger}->info( "Can't load FusionInventory::Agent::SNMP::Live, snmp detection " . "can't be used" ); } # Extract greatest max_threads from jobs my ($max_threads) = sort { $b <=> $a } map { int($_->max_threads()) } @{$self->{jobs}}; my %running_threads = (); my %queues = (); # initialize FIFOs my $jobs = Thread::Queue->new(); my $done = Thread::Queue->new(); # Start jobs by preparing range queues and counting ips my $max_count = 0; foreach my $job (@{$self->{jobs}}) { my $pid = $job->pid; my $queue = { max_in_queue => $job->max_threads(), in_queue => 0, timeout => $job->timeout(), snmp_credentials => $job->getValidCredentials(), }; my $size = 0; my @list = (); # process each address block foreach my $range ($job->ranges()) { my $start = $range->{start}; my $end = $range->{end}; my $block = Net::IP->new( "$start-$end" ); if (!$block || $block->{binip} !~ /1/) { $self->{logger}->error( "IPv4 range not supported by Net::IP: $start-$end" ); next; } $self->{logger}->debug("scanning block $start-$end"); # send initial message to the server $self->_sendStartMessage($pid); do { push @list, { ip => $block->ip(), snmp_ports => $range->{ports}, snmp_domains => $range->{domains}, entity => $range->{entity}, }; } while (++$block); # Update ip addresses size for this job $size += scalar(@list); } next unless $size; # Update queues $queue->{list} = \@list; $queues{$pid} = $queue; # Update total count $max_count += $size; # send block size to the server $self->_sendBlockMessage($pid, $size); } # Don't keep client until we created threads to avoid segfault if SSL is used # we older openssl libs, but only if it is still not set by a script delete $self->{client} if $self->{_client_params}; # Define a realistic block scan expiration : at least one minute by address my $target_expiration = $params{target_expiration} || 60; $target_expiration = 60 if ($target_expiration < 60); setExpirationTime( timeout => $max_count * $target_expiration ); my $expiration = getExpirationTime(); # no need more threads than ips to scan my $threads_count = $max_threads > $max_count ? $max_count : $max_threads; $self->{logger}->debug("creating $threads_count worker threads"); for (my $i = 0; $i < $threads_count; $i++) { my $newthread = threads->create(sub { $self->_discovery_thread($jobs, $done); }); # Keep known created threads in a hash $running_threads{$newthread->tid()} = $newthread ; usleep(50000) until ($newthread->is_running() || $newthread->is_joinable()); } # Check really started threads number vs really running ones my @really_running = map { $_->tid() } threads->list(threads::running); my @started_threads = keys(%running_threads); unless (@really_running == $threads_count && keys(%running_threads) == $threads_count) { $self->{logger}->debug(scalar(@really_running)." really running: [@really_running]"); $self->{logger}->debug(scalar(@started_threads)." started: [@started_threads]"); } my $queued_count = 0; my $job_count = 0; my $jid_len = length(sprintf("%i",$max_count)); my $jid_pattern = "#%0".$jid_len."i"; # We need to guaranty we don't have more than max_in_queue device in shared # queue for each job while (my @pids = sort { $a <=> $b } keys(%queues)) { # Enqueue as ip as possible foreach my $pid (@pids) { my $queue = $queues{$pid}; next unless @{$queue->{list}}; next if $queue->{in_queue} >= $queue->{max_in_queue}; my $address = shift @{$queue->{list}}; # Update address hash with common parameters $address->{pid} = $pid; $address->{timeout} = $queue->{timeout}; $address->{snmp_credentials} = $queue->{snmp_credentials}; $address->{jid} = sprintf($jid_pattern, ++$job_count); $queue->{in_queue} ++; $jobs->enqueue($address); $queued_count++; } # as long as some of our threads are still running... if (keys(%running_threads)) { # send available results on the fly while (my $address = $done->dequeue_nb()) { my $pid = $address->{pid}; my $queue = $queues{$pid}; $queue->{in_queue} --; $queued_count--; unless ($queue->{in_queue} || @{$queue->{list}}) { # send final message to the server before cleaning threads $self->_sendStopMessage($pid); delete $queues{$pid}; # send final message to the server $self->_sendStopMessage($pid); } # Check if it's time to abort a thread $max_count--; if ($max_count < $threads_count) { $jobs->enqueue({ leave => 1 }); $threads_count--; } } # wait for a little usleep(50000); if ($expiration && time > $expiration) { $self->{logger}->warning("Aborting netdiscovery task as it reached expiration time"); # detach all our running worker foreach my $tid (keys(%running_threads)) { $running_threads{$tid}->detach() if $running_threads{$tid}->is_running(); delete $running_threads{$tid}; } last; } # List our created and possibly running threads in a list to check my %running_threads_checklist = map { $_ => 0 } keys(%running_threads); foreach my $running (threads->list(threads::running)) { my $tid = $running->tid(); # Skip if this running thread tid is not is our started list next unless exists($running_threads{$tid}); # Check a thread is still running $running_threads_checklist{$tid} = 1 ; } # Clean our started list from thread tid that don't run anymore foreach my $tid (keys(%running_threads_checklist)) { delete $running_threads{$tid} unless $running_threads_checklist{$tid}; } last unless keys(%running_threads); } } if ($queued_count) { $self->{logger}->error("$queued_count devices scan result missed"); } # Cleanup joinable threads $_->join() foreach threads->list(threads::joinable); $self->{logger}->debug("All netdiscovery threads terminated") unless threads->list(threads::running); # Reset expiration setExpirationTime(); } sub abort { my ($self) = @_; $self->_sendStopMessage() if $self->{pid}; $self->SUPER::abort(); } sub _sendMessage { my ($self, $content) = @_; my $message = FusionInventory::Agent::XML::Query->new( deviceid => $self->{deviceid} || 'foo', query => 'NETDISCOVERY', content => $content ); # task-specific client, if needed $self->{client} = FusionInventory::Agent::HTTP::Client::OCS->new(%{$self->{_client_params}}) if !$self->{client}; $self->{client}->send( url => $self->{target}->getUrl(), message => $message ); } sub _scanAddress { my ($self, $params) = @_; my $logger = $self->{logger}; my $id = threads->tid(); $logger->{prefix} = "[thread $id] $params->{jid}, "; $logger->debug("scanning $params->{ip}"); # Used by unittest to test arp cases $self->{arp} = $params->{arp} if $params->{arp}; my %device = ( $INC{'Net/SNMP.pm'} ? $self->_scanAddressBySNMP($params) : (), $INC{'Net/NBName.pm'} ? $self->_scanAddressByNetbios($params) : (), $INC{'Net/Ping.pm'} ? $self->_scanAddressByPing($params) : (), $self->{arp} ? $self->_scanAddressByArp($params) : (), ); # don't report anything without a minimal amount of information return unless $device{MAC} || $device{SNMPHOSTNAME} || $device{DNSHOSTNAME} || $device{NETBIOSNAME}; $device{IP} = $params->{ip}; if ($device{MAC}) { $device{MAC} =~ tr/A-F/a-f/; } return \%device; } sub _scanAddressByArp { my ($self, $params) = @_; return unless $params->{ip}; # We want to match the ip including non digit character around my $ip_match = '\b' . $params->{ip} . '\D'; # We want to match dot on dots $ip_match =~ s/\./\\./g; # Just to handle unittests my %params = ( logger => $self->{logger} ); $params{file} = $params->{file} if $params->{file}; my $output = getFirstMatch( command => $self->{arp} . " " . $params->{ip}, pattern => qr/^(.*$ip_match.*)$/, %params ); my %device = (); if ($output && $output =~ /^(\S+) \(\S+\) at (\S+) /) { $device{DNSHOSTNAME} = $1 if $1 ne '?'; $device{MAC} = getCanonicalMacAddress($2); } elsif ($output && $output =~ /^\s+\S+\s+([:a-zA-Z0-9-]+)\s/) { # Under win32, mac address separators are minus signs my $mac_address = $1; $mac_address =~ s/-/:/g; $device{MAC} = getCanonicalMacAddress($mac_address); } elsif ($output && $output =~ /^\S+\s+dev\s+\S+\s+lladdr\s+([:a-zA-Z0-9-]+)\s/) { $device{MAC} = getCanonicalMacAddress($1); } $self->{logger}->debug( sprintf "- scanning %s in arp table: %s", $params->{ip}, $device{MAC} ? 'success' : 'no result' ); return %device; } sub _scanAddressByPing { my ($self, $params) = @_; my $type = 'echo'; my $np = Net::Ping->new('icmp', 1); my %device = (); # Avoid an error as Net::Ping::VERSION may contain underscore my ($NetPingVersion) = split('_',$Net::Ping::VERSION); if ($np->ping($params->{ip})) { $device{DNSHOSTNAME} = $params->{ip}; } elsif ($NetPingVersion >= 2.67) { $type = 'timestamp'; $np->message_type($type); if ($np->ping($params->{ip})) { $device{DNSHOSTNAME} = $params->{ip}; } } $self->{logger}->debug( sprintf "- scanning %s with $type ping: %s", $params->{ip}, $device{DNSHOSTNAME} ? 'success' : 'no result' ); return %device; } sub _scanAddressByNetbios { my ($self, $params) = @_; my $nb = Net::NBName->new(); my $ns = $nb->node_status($params->{ip}); $self->{logger}->debug( sprintf "- scanning %s with netbios: %s", $params->{ip}, $ns ? 'success' : 'no result' ); return unless $ns; my %device; foreach my $rr ($ns->names()) { my $suffix = $rr->suffix(); my $G = $rr->G(); my $name = $rr->name(); if ($suffix == 0 && $G eq 'GROUP') { $device{WORKGROUP} = getSanitizedString($name); } if ($suffix == 3 && $G eq 'UNIQUE') { $device{USERSESSION} = getSanitizedString($name); } if ($suffix == 0 && $G eq 'UNIQUE') { $device{NETBIOSNAME} = getSanitizedString($name) unless $name =~ /^IS~/; } } $device{MAC} = $ns->mac_address(); $device{MAC} =~ tr/-/:/; return %device; } sub _scanAddressBySNMP { my ($self, $params) = @_; my $tries = []; if ($params->{snmp_ports} && @{$params->{snmp_ports}}) { foreach my $port (@{$params->{snmp_ports}}) { my @cases = map { { port => $port, credential => $_ } } @{$params->{snmp_credentials}}; push @{$tries}, @cases; } } else { @{$tries} = map { { credential => $_ } } @{$params->{snmp_credentials}}; } if ($params->{snmp_domains} && @{$params->{snmp_domains}}) { my @domtries = (); foreach my $domain (@{$params->{snmp_domains}}) { foreach my $try (@{$tries}) { $try->{domain} = $domain; } push @domtries, @{$tries}; } $tries = \@domtries; } foreach my $try (@{$tries}) { my $credential = $try->{credential}; my $device = $self->_scanAddressBySNMPReal( ip => $params->{ip}, port => $try->{port}, domain => $try->{domain}, timeout => $params->{timeout}, credential => $credential ); # no result means either no host, no response, or invalid credentials $self->{logger}->debug( sprintf "- scanning %s%s with SNMP%s, credentials %d: %s", $params->{ip}, $try->{port} ? ':'.$try->{port} : '', $try->{domain} ? ' '.$try->{domain} : '', $credential->{ID}, ref $device eq 'HASH' ? 'success' : $device ? "no result, $device" : 'no result' ); if (ref $device eq 'HASH') { $device->{AUTHSNMP} = $credential->{ID}; return %{$device}; } } return; } sub _scanAddressBySNMPReal { my ($self, %params) = @_; my $snmp; eval { $snmp = FusionInventory::Agent::SNMP::Live->new( version => $params{credential}->{VERSION}, hostname => $params{ip}, port => $params{port}, domain => $params{domain}, timeout => $params{timeout} || 1, community => $params{credential}->{COMMUNITY}, username => $params{credential}->{USERNAME}, authpassword => $params{credential}->{AUTHPASSPHRASE}, authprotocol => $params{credential}->{AUTHPROTOCOL}, privpassword => $params{credential}->{PRIVPASSPHRASE}, privprotocol => $params{credential}->{PRIVPROTOCOL}, ); }; # an exception here just means no device or wrong credentials return $EVAL_ERROR if $EVAL_ERROR; my $info = getDeviceInfo( snmp => $snmp, datadir => $self->{datadir}, logger => $self->{logger}, ); return unless $info; return $info; } sub _sendStartMessage { my ($self, $pid) = @_; $self->_sendMessage({ AGENT => { START => 1, AGENTVERSION => $FusionInventory::Agent::Version::VERSION, }, MODULEVERSION => $VERSION, PROCESSNUMBER => $pid }); } sub _sendStopMessage { my ($self, $pid) = @_; $self->_sendMessage({ AGENT => { END => 1, }, MODULEVERSION => $VERSION, PROCESSNUMBER => $pid }); } sub _sendBlockMessage { my ($self, $pid, $count) = @_; $self->_sendMessage({ AGENT => { NBIP => $count }, PROCESSNUMBER => $pid }); } sub _sendResultMessage { my ($self, $result, $pid) = @_; $self->_sendMessage({ DEVICE => [$result], MODULEVERSION => $VERSION, PROCESSNUMBER => $pid }); } 1; __END__ =head1 NAME FusionInventory::Agent::Task::NetDiscovery - Net discovery support for FusionInventory Agent =head1 DESCRIPTION This tasks scans the network to find connected devices, allowing: =over =item * devices discovery within an IP range, through arp, ping, NetBios or SNMP =item * devices identification, through SNMP =back This task requires a GLPI server with FusionInventory plugin. =head1 AUTHORS Copyright (C) 2009 David Durieux Copyright (C) 2010-2012 FusionInventory Team FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/NetInventory/0000755000175000017500000000000013757703276026320 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/NetInventory/Job.pm0000644000175000017500000000177313712210012027344 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::NetInventory::Job; use strict; use warnings; use English qw(-no_match_vars); use FusionInventory::Agent::Logger; sub new { my ($class, %params) = @_; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), _params => $params{params}, _credentials => $params{credentials}, _devices => $params{devices}, }; bless $self, $class; } sub pid { my ($self) = @_; return $self->{_params}->{PID} || 0; } sub timeout { my ($self) = @_; return $self->{_params}->{TIMEOUT} || 60; } sub max_threads { my ($self) = @_; return $self->{_params}->{THREADS_QUERY} || 1; } sub count { my ($self) = @_; return scalar(@{$self->{_devices}}); } sub devices { my ($self) = @_; return @{$self->{_devices}}; } sub credentials { my ($self) = @_; # index credentials by their ID return { map { $_->{ID} => $_ } @{$self->{_credentials}} }; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/NetInventory/Version.pm0000644000175000017500000000017413757237645030307 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::NetInventory::Version; use strict; use warnings; use constant VERSION => "4.2"; 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/NetDiscovery/0000755000175000017500000000000013757703276026272 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/NetDiscovery/Job.pm0000644000175000017500000000564413712210012027317 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::NetDiscovery::Job; use strict; use warnings; use English qw(-no_match_vars); use FusionInventory::Agent::Logger; sub new { my ($class, %params) = @_; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), _params => $params{params}, _credentials => $params{credentials}, _ranges => $params{ranges}, }; bless $self, $class; } sub pid { my ($self) = @_; return $self->{_params}->{PID} || 0; } sub timeout { my ($self) = @_; return $self->{_params}->{TIMEOUT} || 60; } sub max_threads { my ($self) = @_; return $self->{_params}->{THREADS_DISCOVERY} || 1; } sub ranges { my ($self) = @_; my @ranges = (); foreach my $range (@{$self->{_ranges}}) { push @ranges, { ports => _getSNMPPorts($range->{PORT}), domains => _getSNMPProtocols($range->{PROTOCOL}), entity => $range->{ENTITY}, start => $range->{IPSTART}, end => $range->{IPEND}, }; } return @ranges; } sub getValidCredentials { my ($self) = @_; my @credentials; foreach my $credential (@{$self->{_credentials}}) { if ($credential->{VERSION} eq '3') { # a user name is required next unless $credential->{USERNAME}; # DES support is required next unless Crypt::DES->require(); } else { next unless $credential->{COMMUNITY}; } push @credentials, $credential; } return \@credentials; } sub _getSNMPPorts { my ($ports) = @_; return [] unless $ports; # Given ports can be an array of strings or just a string and each string # can be a comma separated list of ports my @given_ports = map { split(/\s*,\s*/, $_) } ref($ports) eq 'ARRAY' ? @{$ports} : ($ports) ; # Be sure to only keep valid and uniq ports my %ports = map { $_ => 1 } grep { $_ && $_ > 0 && $_ < 65536 } @given_ports; return [ sort keys %ports ]; } sub _getSNMPProtocols { my ($protocols) = @_; return [] unless $protocols; # Supported protocols can be used as '-domain' option for Net::SNMP session my @supported_protocols = ( 'udp/ipv4', 'udp/ipv6', 'tcp/ipv4', 'tcp/ipv6' ); # Given protocols can be an array of strings or just a string and each string # can be a comma separated list of protocols my @given_protocols = map { split(/\s*,\s*/, $_) } ref($protocols) eq 'ARRAY' ? @{$protocols} : ($protocols) ; my @protocols = (); my %protocols = map { lc($_) => 1 } grep { $_ } @given_protocols; # Manage to list and filter protocols to use in @supported_protocols order foreach my $proto (@supported_protocols) { if ($protocols{$proto}) { push @protocols, $proto; } } return \@protocols; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/NetDiscovery/Version.pm0000644000175000017500000000017413757237661030257 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::NetDiscovery::Version; use strict; use warnings; use constant VERSION => "4.2"; 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Maintenance/0000755000175000017500000000000013757703276026076 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Maintenance/Version.pm0000644000175000017500000000017313712210012030026 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Maintenance::Version; use strict; use warnings; use constant VERSION => "1.1"; 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/WMI/0000755000175000017500000000000013757703277024311 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/WMI/Version.pm0000644000175000017500000000016313712210012026237 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::WMI::Version; use strict; use warnings; use constant VERSION => "0.3"; 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/0000755000175000017500000000000013757703277025111 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor.pm0000644000175000017500000000707613360140464030355 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor; use strict; use warnings; use constant OK => "ok"; use English qw(-no_match_vars); use UNIVERSAL::require; # Supported sub-class must be declared here my %checkType_to_Module = ( directoryExists => "DirectoryExists", directoryMissing => "DirectoryMissing", fileExists => "FileExists", fileMissing => "FileMissing", fileSizeEquals => "FileSizeEquals", fileSizeGreater => "FileSizeGreater", fileSizeLower => "FileSizeLower", fileSHA512 => "FileSHA512", fileSHA512mismatch => "FileSHA512Mismatch", freespaceGreater => "FreeSpaceGreater", winkeyExists => "WinKeyExists", winkeyMissing => "WinKeyMissing", winkeyEquals => "WinKeyEquals", winkeyNotEquals => "WinKeyNotEquals", winvalueExists => "WinValueExists", winvalueMissing => "WinValueMissing", winvalueType => "WinValueType", ); sub new { my ($class, %params) = @_; my $self = $params{check} || {}; $self->{logger} = $params{logger}; $self->{message} = 'no message'; $self->{status} = OK; $self->{return} = "ko" unless $self->{return}; $self->{type} = "n/a" unless $self->{type}; # Expend the env vars from the path if ($self->{path}) { $self->{path} =~ s#\$(\w+)#$ENV{$1}#ge; $self->{path} =~ s#%(\w+)%#$ENV{$1}#ge; } else { $self->{path} = "~~ no path given ~~"; } bless $self, $class; if ($checkType_to_Module{$self->{type}}) { my $module = $class . '::' . $checkType_to_Module{$self->{type}}; $module->require(); if ($EVAL_ERROR) { $self->error("Can't use $module module: load failure ($EVAL_ERROR)"); } else { bless $self, $module; } } return $self; } sub debug2 { my ($self, $message) = @_; $self->{logger}->debug2($message) if $self->{logger}; } sub debug { my ($self, $message) = @_; $self->{logger}->debug($message) if $self->{logger}; } sub info { my ($self, $message) = @_; $self->{logger}->info($message) if $self->{logger}; } sub error { my ($self, $message) = @_; $self->{logger}->error($message) if $self->{logger}; } sub on_failure { my ($self, $message) = @_; $self->{on_failure} = $message; } sub on_success { my ($self, $message) = @_; $self->{on_success} = $message; } sub message { my ($self) = @_; return $self->{message}; } sub is { my ($self, $type) = @_; return $type ? ($self->{return} eq $type) : $self->{return} ; } sub name { my ($self) = @_; return $self->{name} || $self->{type} || 'unsupported' ; } sub process { my ($self, %params) = @_; $self->prepare(); my $message; if ($self->success()) { $message = $self->{on_success} || 'unknown reason'; $self->debug("check success: $message") if $self->{on_success}; } else { $message = $self->{on_failure} || 'unknown reason'; $self->debug("check failure: $message") if $self->{on_failure}; $self->{status} = $self->{return}; } $self->{message} = $message; return $self->{status}; } # Methods to overload sub prepare { # This method should call on_failure & on_success parent method my ($self) = @_; $self->{message} = "Not implemented '$self->{type}' check processor"; } sub success { # This method should just return true when the check is a success else false my ($self) = @_; $self->info("Unsupported check: ".$self->{message}); return 1; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/DiskFree.pm0000644000175000017500000000355413712210012027115 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::DiskFree; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use UNIVERSAL::require; our @EXPORT = qw( getFreeSpace ); sub getFreeSpace { my $freeSpace = $OSNAME eq 'MSWin32' ? _getFreeSpaceWindows(@_) : $OSNAME eq 'solaris' ? _getFreeSpaceSolaris(@_) : _getFreeSpace(@_); return $freeSpace; } sub _getFreeSpaceWindows { my (%params) = @_; my $logger = $params{logger}; FusionInventory::Agent::Tools::Win32->require(); if ($EVAL_ERROR) { $logger->error( "Failed to load FusionInventory::Agent::Tools::Win32: $EVAL_ERROR" ); return; } my $letter; if ($params{path} !~ /^(\w):/) { $logger->error("Path parse error: ".$params{path}); return; } $letter = $1.':'; my $freeSpace; foreach my $object (FusionInventory::Agent::Tools::Win32::getWMIObjects( moniker => 'winmgmts:{impersonationLevel=impersonate,(security)}!//./', class => 'Win32_LogicalDisk', properties => [ qw/Caption FreeSpace/ ] )) { next unless lc($object->{Caption}) eq lc($letter); my $t = $object->{FreeSpace}; if ($t && $t =~ /(\d+)\d{6}$/) { $freeSpace = $1; } } return $freeSpace; } sub _getFreeSpaceSolaris { my (%params) = @_; return unless -d $params{path}; return getFirstMatch( command => "df -b $params{path}", pattern => qr/^\S+\s+(\d+)\d{3}[^\d]/, logger => $params{logger} ); } sub _getFreeSpace { my (%params) = @_; return unless -d $params{path}; return getFirstMatch( command => "df -Pk $params{path}", pattern => qr/^\S+\s+\S+\s+\S+\s+(\d+)\d{3}[^\d]/, logger => $params{logger} ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/0000755000175000017500000000000013757703276030225 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/0000755000175000017500000000000013757703277031443 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Delete.pm0000644000175000017500000000157113360140457033170 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Delete; use strict; use warnings; use File::Path; use UNIVERSAL::require; use English qw(-no_match_vars); sub do { my ($params, $logger) = @_; my $msg = []; my $status = 1; foreach my $loc (@{$params->{list}}) { my $loc_local = $loc; if ($OSNAME eq 'MSWin32') { FusionInventory::Agent::Tools::Win32->require; my $localCodepage = FusionInventory::Agent::Tools::Win32::getLocalCodepage(); if (Encode::is_utf8($loc)) { $loc_local = encode($localCodepage, $loc); } } File::Path::remove_tree($loc_local); $status = 0 if -e $loc; my $m = "Failed to delete $loc"; push @$msg, $m; $logger->debug($m); } return { status => $status, msg => $msg, }; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Move.pm0000644000175000017500000000233213360140464032666 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Move; use strict; use warnings; $File::Copy::Recursive::CPRFComp = 1; use English qw(-no_match_vars); use File::Copy::Recursive; use File::Glob; use UNIVERSAL::require; sub do { my ($params, $logger) = @_; my $msg = []; my $status = 1; foreach my $from (File::Glob::bsd_glob($params->{from})) { my $to = $params->{to}; my $from_local = $from; my $to_local = $to; if ($OSNAME eq 'MSWin32') { FusionInventory::Agent::Tools::Win32->require; my $localCodepage = FusionInventory::Agent::Tools::Win32::getLocalCodepage(); if (Encode::is_utf8($from)) { $from_local = encode($localCodepage, $from); } if (Encode::is_utf8($to)) { $to_local = encode($localCodepage, $to); } } if (!File::Copy::Recursive::rmove($from_local, $to_local)) { my $m = "Failed to move: `".$from."' to '".$to; push @$msg, $m; push @$msg, $ERRNO; $logger->debug($m); $status = 0; } } return { status => $status, msg => $msg, }; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Mkdir.pm0000644000175000017500000000213213360140457033026 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Mkdir; use strict; use warnings; use File::Path; use Encode; use English qw(-no_match_vars); use UNIVERSAL::require; sub do { my ($params, $logger) = @_; my $msg = []; my $status = 1; foreach my $dir (@{$params->{list}}) { my $dir_local = $dir; if ($OSNAME eq 'MSWin32' && Encode::is_utf8($dir)) { FusionInventory::Agent::Tools::Win32->require; my $localCodepage = FusionInventory::Agent::Tools::Win32::getLocalCodepage(); $dir_local = encode($localCodepage, $dir); } if (-d $dir_local) { my $m = "Directory $dir already exists"; push @$msg, $m; $logger->debug($m); } else { File::Path::mkpath($dir_local); if (!-d $dir_local) { $status = 0; my $m = "Failed to create $dir directory"; push @$msg, $m; $logger->debug($m); } } } return { status => $status, msg => $msg, }; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Cmd.pm0000644000175000017500000001016213712210012032447 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Cmd; use strict; use warnings; use Fcntl qw(SEEK_SET); use UNIVERSAL::require; use English qw(-no_match_vars); sub _evaluateRet { my ($retChecks, $buf, $exitStatus) = @_; if (ref($retChecks) ne 'ARRAY') { return [ 1, 'ok, no check to evaluate.' ]; } foreach my $retCheck (@$retChecks) { if ($retCheck->{type} eq 'okCode') { foreach (@{$retCheck->{values}}) { if ($exitStatus == $_) { return [ 1, "exit status is ok: $_" ]; } } } elsif ($retCheck->{type} eq 'okPattern') { foreach (@{$retCheck->{values}}) { next unless length($_); if ($$buf =~ /$_/) { return [ 1, "ok pattern found in log: /$_/" ]; } } } elsif ($retCheck->{type} eq 'errorCode') { foreach (@{$retCheck->{values}}) { if ($exitStatus == $_) { return [ 0, "exit status is not ok: `$_'" ]; } } } elsif ($retCheck->{type} eq 'errorPattern') { foreach (@{$retCheck->{values}}) { next unless length($_); if ($$buf =~ /$_/) { return [ 0, "error pattern found in log: /$_/" ]; } } } } return [ 0, '' ]; } sub _runOnUnix { my ($params, $logger) = @_; my $buf = `$params->{exec} 2>&1` || ''; my $errMsg = "$ERRNO"; # CHILD_ERROR could be negative if exec command is not found, in that case # We shoudl report exitStatus as if it was started from shell my $exitStatus = $CHILD_ERROR < 0 ? 127 : $CHILD_ERROR >> 8; $logger->debug2("Run: ".$buf); return ($buf, $errMsg, $exitStatus); } sub _runOnWindows { my ($params, $logger) = @_; FusionInventory::Agent::Tools::Win32->require; my ($exitcode, $fd) = FusionInventory::Agent::Tools::Win32::runCommand( command => $params->{exec} ); $fd->seek(0, SEEK_SET); my $buf; while(my $line = readline($fd)) { $buf .= $line; } close $fd; $logger->debug2("Run: ".$buf); my $errMsg = ''; if ($exitcode eq '293') { $errMsg = "timeout"; } return ($buf, $errMsg, $exitcode); } sub do { my ($params, $logger) = @_; return { 0, ["Internal agent error"]} unless $params->{exec}; my %envsSaved; if ($params->{envs}) { foreach my $key (keys %{$params->{envs}}) { $envsSaved{$key} = $ENV{$key}; $ENV{$key} = $params->{envs}{$key}; } } my $buf; my $errMsg; my $exitStatus; if ($OSNAME eq 'MSWin32') { ($buf, $errMsg, $exitStatus) = _runOnWindows(@_); } else { ($buf, $errMsg, $exitStatus) = _runOnUnix(@_); } my $logLineLimit = defined($params->{logLineLimit}) ? $params->{logLineLimit} : 10 ; my @msg; if($buf) { my @lines = split('\n', $buf); foreach my $line (reverse @lines) { chomp($line); unshift @msg, $line; # Empty lines are kept for local debugging but without updating logLineLimit next unless $line; last unless --$logLineLimit; } } # Use the retChecks key to know if the command exec is successful my $t = _evaluateRet ($params->{retChecks}, \$buf, $exitStatus); my $status = $t->[0]; push @msg, "--------------------------------"; push @msg, "error msg: `$errMsg'" if $errMsg; push @msg, "exit status: `$exitStatus'"; push @msg, $t->[1]; # Finally insert header showing started command unshift @msg, "================================"; unshift @msg, "Started cmd: ".$params->{exec}; unshift @msg, "================================"; foreach (@msg) { $logger->debug($_); } $logger->debug("final status: ".$status); if ($params->{envs}) { foreach my $key (keys %envsSaved) { $ENV{$key} = $envsSaved{$key}; } } return { status => $status, msg => \@msg, } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Copy.pm0000644000175000017500000000236013360140464032673 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Copy; use strict; use warnings; $File::Copy::Recursive::CPRFComp = 1; use English qw(-no_match_vars); use Encode; use File::Copy::Recursive qw(rcopy); use File::Glob; use UNIVERSAL::require; sub do { my ($params, $logger) = @_; my $msg = []; my $status = 1; foreach my $from (File::Glob::bsd_glob($params->{from})) { my $to = $params->{to}; my $from_local = $from; my $to_local = $to; if ($OSNAME eq 'MSWin32') { FusionInventory::Agent::Tools::Win32->require; my $localCodepage = FusionInventory::Agent::Tools::Win32::getLocalCodepage(); if (Encode::is_utf8($from)) { $from_local = encode($localCodepage, $from); } if (Encode::is_utf8($to)) { $to_local = encode($localCodepage, $to); } } if (!File::Copy::Recursive::rcopy($from_local, $to_local)) { my $m = "Failed to copy: `".$from."' to '".$to; push @$msg, $m; push @$msg, $ERRNO; $logger->debug($m); $status = 0; } } return { status => $status, msg => $msg, }; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/File.pm0000644000175000017500000002127013712210012026273 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::File; use strict; use warnings; use Digest::SHA; use English qw(-no_match_vars); use File::Basename; use File::Path qw(mkpath); use File::Glob; use HTTP::Request; sub new { my ($class, %params) = @_; die "no datastore parameter" unless $params{datastore}; die "no sha512 parameter" unless $params{sha512}; my $self = { p2p => $params{data}->{p2p}, retention_duration => $params{data}->{'p2p-retention-duration'}, prolog_delay => $params{prolog} || 3600, uncompress => $params{data}->{uncompress}, mirrors => $params{data}->{mirrors}, multiparts => $params{data}->{multiparts}, name => $params{data}->{name}, sha512 => $params{sha512}, datastore => $params{datastore}, client => $params{client}, logger => $params{logger} }; # p2p-retention-duration has a different meaning if not a p2p file if (!$self->{retention_duration}) { if ($self->{p2p}) { # For p2p file, keep downloaded parts 3 days by default $self->{retention_duration} = 60 * 24 * 3; } else { # For not p2p file, we will keep downloaded parts as long as # we need them: 3 times the PROLOG delay to support download # restart in case of network failure $self->{retention_duration} = 0; } } bless $self, $class; return $self; } sub normalizedPartFilePath { my ($self, $sha512) = @_; return unless $sha512 =~ /^(.)(.)(.{6})/; my $subFilePath = $1.'/'.$2.'/'.$3; my $filePath = $self->{datastore}->{path}.'/fileparts/'; my $retention_duration; if ($self->{p2p}) { $filePath .= 'shared/'; $retention_duration = $self->{retention_duration} * 60; } else { $filePath .= 'private/'; $retention_duration = $self->{retention_duration} ? $self->{retention_duration} * 60 : $self->{prolog_delay} * 3; } # Compute a directory name that will be used to know if the file must # be purge. We don't want a new directory everytime, so we use a one # minute time frame to follow the retention duration unit my $expiration = time + $retention_duration + 60; my $retentiontime = $expiration - $expiration % 60 ; $filePath .= $retentiontime . '/' . $subFilePath; return $filePath; } sub cleanup_private { my ($self) = @_; # Don't cleanup for p2p shared parts return if $self->{p2p}; # Only cleanup if no retention duration has been set return if $self->{retention_duration}; # Cleanup all parts foreach my $sha512 (@{$self->{multiparts}}) { my $path = $self->getPartFilePath($sha512); unlink $path if -f $path; } # This may leave an empty folder tree, but it will be cleaned by # Maintenance task when convenient } sub resetPartFilePaths { my ($self) = @_; # move all Part files to respect retention duration from now my %updates = (); foreach my $sha512 (@{$self->{multiparts}}) { my $path = $self->getPartFilePath($sha512); if (-f $path) { my $update = $self->normalizedPartFilePath($sha512); next if $path eq $update; $updates{$path} = $update ; } } foreach my $path (keys(%updates)) { File::Path::mkpath(dirname($updates{$path})); rename $path, $updates{$path}; } # This may leave an empty folder tree, but it will be cleaned by # Maintenance task when convenient } sub getPartFilePath { my ($self, $sha512) = @_; return unless $sha512 =~ /^(.)(.)(.{6})/; my $subFilePath = $1.'/'.$2.'/'.$3; my @storageDirs = ( File::Glob::bsd_glob($self->{datastore}->{path}.'/fileparts/shared/*'), File::Glob::bsd_glob($self->{datastore}->{path}.'/fileparts/private/*') ); foreach my $dir (@storageDirs) { if (-f $dir.'/'.$subFilePath) { return $dir.'/'.$subFilePath; } } return $self->normalizedPartFilePath($sha512); } sub download { my ($self) = @_; die unless $self->{mirrors}; my @peers; if ($self->{p2p}) { FusionInventory::Agent::Task::Deploy::P2P->require(); if ($EVAL_ERROR) { $self->{logger}->debug("can't enable P2P: $EVAL_ERROR") } else { my $p2p = FusionInventory::Agent::Task::Deploy::P2P->new( scan_timeout => 1, datastore => $self->{datastore}, logger => $self->{logger} ); eval { @peers = $p2p->findPeers(62354); $self->{p2pnet} = $p2p; }; $self->{logger}->debug("failed to enable P2P: $EVAL_ERROR") if $EVAL_ERROR; } }; my $lastPeer; my $nextPathUpdate = _getNextPathUpdateTime(); PART: foreach my $sha512 (@{$self->{multiparts}}) { my $path = $self->getPartFilePath($sha512); if (-f $path) { next PART if $self->_getSha512ByFile($path) eq $sha512; } File::Path::mkpath(dirname($path)); # try to download from the same peer as last part, if defined if ($lastPeer) { my $success = $self->_downloadPeer($lastPeer, $sha512, $path); next PART if $success; } # try to download from peers foreach my $peer (@peers) { my $success = $self->_downloadPeer($peer, $sha512, $path); if ($success) { $lastPeer = $peer; next PART; } # Update filepath so retention is kept in the future on long search if ( time - $nextPathUpdate > 0 ) { $path = $self->normalizedPartFilePath($sha512); $nextPathUpdate = _getNextPathUpdateTime(); } } # try to download from mirrors foreach my $mirror (@{$self->{mirrors}}) { my $success = $self->_download($mirror, $sha512, $path); next PART if $success; # Update filepath so retention is kept in the future on long search if ( time - $nextPathUpdate > 0 ) { $path = $self->normalizedPartFilePath($sha512); $nextPathUpdate = _getNextPathUpdateTime(); } } } } sub _getNextPathUpdateTime { my $time = time; return $time + 60 - $time % 60; } sub _downloadPeer { my ($self, $peer, $sha512, $path) = @_; my $source = 'http://'.$peer.':62354/deploy/getFile/'; return $self->_download($source, $sha512, $path, $peer); } sub _download { my ($self, $source, $sha512, $path, $peer) = @_; unless ($source =~ m|^https?://|i) { $self->{logger}->error("Source or mirror is not a valid URL: $source"); return; } return unless $sha512 =~ /^(.)(.)/; my $sha512dir = $1.'/'.$1.$2.'/'; # Check source url ends with a slash $source .= '/' unless $source =~ m|/$|; my $url = $source.$sha512dir.$sha512; $self->{logger}->debug("File part URL: $url"); my $request = HTTP::Request->new(GET => $url); # We want to try direct download without proxy if peer if defined and then # we also prefer to use really short timeout to disqualify busy peers and # also avoid to block for not responding peers while using P2P my $timeout = $peer ? 1 : 180 ; my $response = $self->{client}->request($request, $path, $peer, $timeout); if ($response->code != 200) { if ($response->code != 404 || $response->status_line() =~ /Nothing found/) { $self->{logger}->debug2("Remote peer $peer is useless, we should forget it out for a while"); $self->{p2pnet}->forgetPeer($peer) if $self->{p2pnet}; } return; } return if ! -f $path; if ($self->_getSha512ByFile($path) ne $sha512) { $self->{logger}->debug("sha512 failure: $sha512"); unlink($path); return; } return 1; } sub filePartsExists { my ($self) = @_; foreach my $sha512 (@{$self->{multiparts}}) { my $filePath = $self->getPartFilePath($sha512); return 0 unless -f $filePath; } return 1; } sub _getSha512ByFile { my ($self, $filePath) = @_; my $sha = Digest::SHA->new('512'); my $sha512; eval { $sha->addfile($filePath, 'b'); $sha512 = $sha->hexdigest; }; $self->{logger}->debug("SHA512 failure: $@") if $@; return $sha512; } sub validateFileByPath { my ($self, $filePath) = @_; if (-f $filePath) { if ($self->_getSha512ByFile($filePath) eq $self->{sha512}) { return 1; } } return 0; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/Job.pm0000644000175000017500000001555713712210012026141 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::Job; use strict; use warnings; use English qw(-no_match_vars); use FusionInventory::Agent::Task::Deploy::UserCheck; use FusionInventory::Agent::Task::Deploy::CheckProcessor; sub new { my ($class, %params) = @_; my $self = { _remoteUrl => $params{remoteUrl}, _client => $params{client}, _machineid => $params{machineid}, _currentStep => 'init', logger => $params{logger}, uuid => $params{data}->{uuid}, requires => $params{data}->{requires}, checks => $params{data}->{checks}, userchecks => $params{data}->{userinteractions}, actions => $params{data}->{actions}, associatedFiles => $params{associatedFiles} }; bless $self, $class; return $self; } sub getNextToProcess { my ($self) = @_; return unless $self->{actions}; shift @{$self->{actions}}; } sub currentStep { my ($self, $step) = @_; return $self->{_currentStep} = $step eq 'end' ? '' : $step; } sub setStatus { my ($self, %params) = @_; return unless $self->{_remoteUrl}; # Base action hash we wan't to send back to server as job status my $action ={ action => "setStatus", machineid => $self->{_machineid}, part => 'job', uuid => $self->{uuid}, }; # Specific case where we want to send a file status if (exists($params{file}) && $params{file}) { $action->{part} = 'file'; $action->{sha512} = $params{file}->{sha512}; } # Map other optional and set params to action map { $action->{$_} = $params{$_} } grep { exists($params{$_}) && $params{$_} } qw( status actionnum checknum msg ); # Include currentStep if defined $action->{currentStep} = $self->{_currentStep} if $self->{_currentStep}; # Send back the job status $self->{_client}->send( url => $self->{_remoteUrl}, args => $action ); } sub skip_on_check_failure { my ($self, %params) = @_; my $logger = $self->{logger}; my $checks = $params{checks} || $self->{checks}; my $level = $params{level} || 'job'; if ( ref( $checks ) eq 'ARRAY' ) { my $checknum = 0; while ( @{$checks} ) { $checknum ++; my $check = shift @{$checks} or next; my $type = $check->{type} || 'unsupported'; # Bless check object as CheckProcessor FusionInventory::Agent::Task::Deploy::CheckProcessor->new( check => $check, logger => $logger, ); my $name = $check->name(); my $checkStatus = $check->process(); if ($checkStatus =~ /^abort|error|ko|skip|startnow$/) { $logger->info("Skipping $level because $name check #$checknum failed") if $logger; if ($check->is("skip")) { $self->setStatus( status => 'ok', msg => "check #$checknum, $name not successful then skip $level", checknum => $checknum-1 ); $self->setStatus( status => 'ok', msg => "$level skipped", ); } elsif ($check->is("startnow")) { $self->setStatus( status => 'ok', msg => "check #$checknum, $name not successful then start $level now", checknum => $checknum-1 ); $self->setStatus( status => 'ok', msg => "$level started now", ); # Shortcut other checks telling the job is not to be skipped return 0; } else { $self->setStatus( status => 'ko', msg => "check #$checknum, failure on $name, " . $check->message(), checknum => $checknum-1 ); } return 1; } my $info = $check->is() . ", " . $check->message(); $logger->debug("check #$checknum: $name, got $checkStatus, $info") if $logger; if ( ($check->is("warning") || $check->is("info")) && $checkStatus ne 'ok' ) { $self->setStatus( status => $checkStatus, msg => "check #$checknum, $name $info", checknum => $checknum-1 ); } else { $self->setStatus( status => $checkStatus, msg => "check #$checknum, $name passed", checknum => $checknum-1 ); } } } return 0; } sub next_on_usercheck { my ($self, %params) = @_; my $logger = $self->{logger}; my $checks = $params{userchecks} || $self->{userchecks}; my $type = $params{type} || 'after'; return 0 unless $checks; unless (ref($checks) eq 'ARRAY') { $logger->debug("usercheck $type: unexpected usercheck request") if $logger; return 0; } # Server is meant to only request one usercheck of supported type: before|after my @checks = grep { $_->{type} && $_->{type} eq $type } @{$checks} ; unless (@checks) { $logger->debug2("usercheck $type: no user interaction requested") if $logger; return 0; } while ( @checks ) { my $check = FusionInventory::Agent::Task::Deploy::UserCheck->new( check => shift @checks, logger => $logger ); next unless $check; # Warning: Agent may wait here for user response $check->tell_users(); # Report collected user events to server foreach my $event ($check->getEvents()) { $self->setUserEvent($event); } return 1 if ($check->stopped()); } return 0; } sub setUserEvent { my ($self, $userevent) = @_; return unless $self->{_remoteUrl}; # Base userevent hash we wan't to send back to server as job status my $action = { action => "setUserEvent", machineid => $self->{_machineid}, part => 'job', uuid => $self->{uuid}, }; # Map interesting user event parameters map { $action->{$_} = $userevent->{$_} } grep { exists($userevent->{$_}) && $userevent->{$_} } qw( type behavior event user ); # Include currentStep if defined $action->{currentStep} = $self->{_currentStep} if $self->{_currentStep}; # Send back the job status $self->{_client}->send( url => $self->{_remoteUrl}, args => $action ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/ActionProcessor.pm0000644000175000017500000000430313360140457030545 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::ActionProcessor; use strict; use warnings; use Cwd; use English qw(-no_match_vars); use FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Move; use FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Copy; use FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Mkdir; use FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Delete; use FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Cmd; sub new { my ($class, %params) = @_; die "no workdir parameter" unless $params{workdir}; my $self = { workdir => $params{workdir} }; bless $self, $class; return $self; } sub process { my ( $self, $actionName, $params, $logger ) = @_; my $workdir = $self->{workdir}; if ( ( $OSNAME ne 'MSWin32' ) && ( $actionName eq 'messageBox' ) ) { return { status => 1, msg => ["not Windows: action `$actionName' ignored"] }; } my $ret; my $cwd = getcwd(); chdir( $workdir->{path} ); if ( $actionName eq 'checks' ) { # not an action } elsif ( $actionName eq 'move' ) { $ret = FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Move::do( $params, $logger); } elsif ( $actionName eq 'copy' ) { $ret = FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Copy::do( $params, $logger); } elsif ( $actionName eq 'mkdir' ) { $ret = FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Mkdir::do( $params, $logger); } elsif ( $actionName eq 'delete' ) { $ret = FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Delete::do( $params, $logger); } elsif ( $actionName eq 'cmd' ) { $ret = FusionInventory::Agent::Task::Deploy::ActionProcessor::Action::Cmd::do( $params, $logger); } else { $logger->debug("Unknown action type: `$actionName'"); chdir($cwd); return { status => 0, msg => ["unknown action `$actionName'"] }; } chdir($cwd); return $ret; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/UserCheck.pm0000644000175000017500000003021013712210012027262 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::UserCheck; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; # Supported sub-class must be declared here my %Supported_UserCheck_Modules = ( MSWin32 => "WTS" ); # Supported values as platform check key my %supported_platform_keys = ( win32 => "MSWin32", # Value is $OSNAME expected value for platform macos => "darwin", linux => "linux", # Convenient platform alias to match any platform any => "ALL", # Convenient platform alias to avoid undefined values on check none => "None" ); my @supported_keys = qw( type text title icon buttons timeout wait platform on_ok on_cancel on_yes on_no on_retry on_tryagain on_abort on_timeout on_nouser on_multiusers on_ignore on_async ); sub new { my ($class, %params) = @_; my $self = { logger => $params{logger}, type => 'after', platform => 'any', _stopped => 0, _on_event => undef, # Default "on_" definitions _on_error => 'stop:stop:agent_failure', _on_none => 'stop:stop:error_no_event', _on_nouser => 'continue:continue:', _on_multiusers => 'ask:continue:', _events => [] }; bless $self, $class; unless ($Supported_UserCheck_Modules{$OSNAME}) { $self->debug("user interaction not supported on $OSNAME platform"); return undef; ## no critic (ExplicitReturnUndef) } if ($params{check} && ref($params{check}) eq 'HASH') { foreach my $key (@supported_keys) { next unless (defined($params{check}->{$key})); if ($key =~ /^on_/) { # Keep event values as private to avoid coding confusion $self->{"_$key"} = $params{check}->{$key}; next; } $self->{$key} = $params{check}->{$key}; } } # Check if we are on a requested platform my %requested_on = map { $supported_platform_keys{lc($_ || 'none')} => 1 } split(',', $self->{platform}); unless ($requested_on{ALL} || $requested_on{$OSNAME}) { $self->debug("user interaction requested on '$self->{platform}', not on this $OSNAME platform"); return undef; ## no critic (ExplicitReturnUndef) } my $module = $class . '::' . $Supported_UserCheck_Modules{$OSNAME}; $module->require(); if ($EVAL_ERROR) { $self->error("Can't use $module module: load failure ($EVAL_ERROR)"); return undef; ## no critic (ExplicitReturnUndef) } else { bless $self, $module; } return $self; } sub tagged { my ($self, $message) = @_; return "usercheck $self->{type}: $message"; } sub debug2 { my ($self, $message) = @_; $self->{logger}->debug2($self->tagged($message)) if $self->{logger}; } sub debug { my ($self, $message) = @_; $self->{logger}->debug($self->tagged($message)) if $self->{logger}; } sub handle_event { # Debug and set handled event for later user in status_for_server API my ($self, $event, $message) = @_; $self->debug($message) if $message; my $policy = $self->{"_$event"}; if (defined($policy)) { $self->debug2("$event event: applying policy: $policy"); } else { $policy = "stop:error_bad_event"; $self->error("Unsupported $event event: setting policy to $policy"); $self->{"_$event"} = $policy; } # Store event as this defines the server expected information $self->{_on_event} = $event; push @{$self->{_events}}, $self->userevent(); return $self->continue() if ($policy =~ /^continue:/); $self->error("$event event: unsupported local $policy") unless ($policy =~ /^stop:/); return $self->stop(); } sub getEvents { my ($self) = @_; return @{$self->{_events}}; } sub always_ask_users { my ($self) = @_; return 0 unless $self->{"_on_multiusers"}; return $self->{"_on_multiusers"} =~ /^ask:/ ; } my %default_policies_message = ( error_no_policy => "agent error: unknown policy as no server policy provided", error_no_behavior => "agent error: unknown behavior as no server-side behavior provided", error_no_message => "agent error: no user event message set by server", error_no_event => "agent error: no user event message set by agent", agent_failure => "agent error: got unexpected error while processing job usercheck", event_failure => "agent error: got unsupported event while processing user answer", # Default message if not set by server postpone => "job postponed on server", continue => "job continued for server", stop => "job stopped for server" ); sub setUser { my ($self, $user) = @_; $self->{_user} = $user || 'somebody'; } sub userevent { my ($self) = @_; my $event = $self->{_on_event} || 'on_none'; my $policy = $self->{"_$event"}; my $behavior = 'error_no_event'; my $message = $default_policies_message{'error_no_policy'}; if (defined($policy)) { $behavior = 'error_no_behavior'; my @policies = split(':',$policy); $behavior = $policies[1] || 'error_no_behavior' if (@policies > 1); $message = $default_policies_message{$behavior} || $default_policies_message{'error_no_message'}; $message = $policies[2] if (@policies > 2 && $policies[2]); } $self->debug2($message) if $message; return { user => $self->{_user}, type => $self->{type}, event => $event, behavior => $behavior, }; } sub info { my ($self, $message) = @_; $self->{logger}->info($self->tagged($message)) if $self->{logger}; } sub error { my ($self, $message) = @_; # Eventually store error event as this defines server returned information $self->{_on_event} = 'on_error' unless ($self->{_on_event}); $self->{logger}->error($self->tagged($message)) if $self->{logger}; return $self->stop(); } sub continue { my ($self) = @_; $self->{_stopped} = 0 ; } sub stop { my ($self) = @_; $self->{_stopped} = 1 ; } sub stopped { my ($self, $param) = @_; if (defined($param)) { $self->{_stopped} = $param !~ /^0|no$/ ; $self->error($param) unless ($param =~ /^0|1|yes|no$/); } elsif ($self->{_stopped}) { if ($self->{on_timeout}) { $self->info("stopping current job on user interaction time-out"); } else { $self->info( $self->{_on_event} =~ /^on_error|on_none$/ ? "stopping current job by on user interaction issue" : $self->{_on_event} =~ /^on_.*user/ ? "stopping current job on skipped user interaction" : "stopping current job by user choice" ); } } elsif ($self->{on_timeout}) { $self->info("current job continued on user interaction time-out"); } else { $self->info( $self->{_on_event} =~ /^on_.*user/ ? "current job continued on skipped user interaction" : "current job continued by user choice" ); } return $self->{_stopped}; } # Methods to overload sub tell_users { my ($self) = @_; $self->error("user interaction support failed"); } 1; __END__ =head1 NAME FusionInventory::Agent::Task::Deploy::UserCheck - Deploy task user checks =head1 DESCRIPTION This module provides object class to interact with logged users during a deploy task. It can be used for any job managed during one deploy task. It can be used before the downloading step and/or after the actions processing. This may give a chance for user to stop the current job or to be alerted of done job. The object is intended to show a modal windows or a notification to any logged user. =head1 OBJECTS STRUCTURE While instanciated, the =head1 Methods =head2 PACKAGE->new(%params) Returns a newly created FusionInventory::Agent::Task::Deploy::UserCheck object. Availables parameters: =over =item logger a logger object =item check a hash ref containing supported values to import =back Supported values for check hasf ref: =over =item title Title to be used in a modal window =item text Text of the window or notification =item icon Icon to be used in window or notification =item buttons Buttons to expose to user. The button caption is static and the used text should be coherent with buttons caption. =item timeout The time-out in second to wait for a user response =item wait Should we have to wait the user response. If set to 0, "no" or "false", it will immediatly generate an "on_async" event. =item platform Platform or list of platforms on which we are expecting user interaction. User interaction will be skipped if the agent is not on any expected platform. =item type Type of user check to select when it should happen: - "before": for checking user before downloading and processing the deploy job - "after" : for checking or notify the user after the deploy job has been processed. - "after_download_failure": for checking or notify the user after a download failed. - "after_download": for checking or notify the user after all downloads was done. - "after_failure": for checking or notify the user after the deploy task failed. =back Following values may to be used to define what should be done while buttons are clicked or related event occurs: =over =item on_ok To be done after user has clicked "OK" button. =item on_cancel To be done after user has clicked "Cancel" button. =item on_yes To be done after user has clicked "Yes" button. =item on_no To be done after user has clicked "No" button. =item on_retry To be done after user has clicked "Retry" button. =item on_tryagain To be done after user has clicked "Try again" button. =item on_abort To be done after user has clicked "Abort" button. =item on_ignore To be done after user has clicked "Ignore" button. =item on_async To be done after user has clicked "Ignore" button. =item on_timeout To be done if user hasn't clicked any button and after the defined time-out. =item on_nouser To be done if no user is logged =item on_multiusers To be done if multiple users are logged =back Each event should be a string with the following format: "::" must be one of the following string: =over =item continue So the job processing will continue =item stop To stop the job processing =back should be a string send back to server as status. should be a string send back to server as status message. Remark: as semi-colon is used as delimiter, server should not use it in sent policy. =head2 $OBJ->tell_users() Start the user interaction and wait until all expected events occurred. Be careful, this may block the caller as long as the defined time-out, and even more on server handling a lot of user sessions. =head2 $OBJ->stopped($condition) Without $condition, returns true if the user interaction matched and event telling the current job has to be skipped while the user check is a 'before' type check. For 'after' type check, it has only the meaning to not process any following 'after' user check in a list context, until only one 'after' check is really expected, this call could be avoided in that case. If $condition is given, set _stopped private value accordingly: - 0 or 'no' : has the same effect than calling $OBJ->continue() - 1 or 'yes': defines the _stopped private value to be true. - any text: log the text as error and set _stopped private value to be true. =head2 $OBJ->continue() Set _stopped private value so calling stopped() method will return false. =head2 $OBJ->stop() Set _stopped private value so calling stopped() method will return true. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/UserCheck/0000755000175000017500000000000013757703276026764 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/UserCheck/WTS.pm0000644000175000017500000000607213712210012027750 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::UserCheck::WTS; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; use FusionInventory::Agent::Tools::Win32::WTS; use parent "FusionInventory::Agent::Task::Deploy::UserCheck"; my %supported_events = ( &IDOK => 'ok', &IDCANCEL => 'cancel', &IDABORT => 'abort', &IDRETRY => 'retry', &IDIGNORE => 'ignore', &IDYES => 'yes', &IDNO => 'no', &IDTRYAGAIN => 'tryagain', &IDCONTINUE => 'continue', &IDTIMEOUT => 'timeout', &IDASYNC => 'async' ); sub tell_users { my ($self) = @_; # 1. Get global WTS sessions list my @sessions = WTSEnumerateSessions(); return $self->handle_event("on_nouser", "No WTS session found") unless (@sessions); # 2. Found active users in WTS sessions list my %users = (); while (@sessions) { my $session = shift @sessions; my $name = $session->{name} || ''; my $user = $session->{user} || ''; next unless (defined($session->{sid}) && defined($session->{state})); my $sessionid = $session->{sid}; my $state = $session->{state}; $self->debug2("Found WTS session: #$sessionid, session '$name' for ". ($user?"'$user'":"no user")." (state=$state)" ); next unless ($name && $user); # WTS Session state is defined by WTS_CONNECTSTATE_CLASS enumeration # See https://msdn.microsoft.com/en-us/library/aa383860(v=vs.85).aspx next unless ($state == 0 || $state == 1); $users{$sessionid} = $user; } @sessions = sort keys(%users); return $self->handle_event("on_nouser", "No active user session found") unless (@sessions); return $self->handle_event("on_multiusers", "Multiple user sessions found") unless (@sessions == 1 || $self->always_ask_users()); # 3. Send message to each active user using WTS message while (@sessions) { my $sid = shift @sessions; my %message = ( title => $self->{title} || 'No title', text => $self->{text} || 'Sorry, message is missing', icon => $self->{icon} || 'none', buttons => $self->{buttons} || 'ok', timeout => $self->{timeout}, wait => $self->{wait} ); # Keep user for reported event $self->setUser( $users{$sid} ); # Support %u replacement in text and title $message{title} =~ s/\%u/$users{$sid}/g; $message{text} =~ s/\%u/$users{$sid}/g; my $sending = $self->{wait} ? 'Sending' : 'Async' ; $self->debug2("WTS session #$sid: $sending message to $users{$sid} with '$message{title}' title"); # Send message with WTS API my $asked = time; my $answer = WTSSendMessage($sid, \%message); my $support = $supported_events{"$answer"} || 'unknown'; $self->debug2("WTS session #$sid: Got $answer as $support answer code after ".(time-$asked)." seconds"); last if $self->handle_event('on_'.$support); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/P2P.pm0000644000175000017500000002002613712210012026013 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::P2P; use strict; use warnings; use English qw(-no_match_vars); use Net::IP; use Net::Ping; use Parallel::ForkManager; use UNIVERSAL::require; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Tools; sub new { my ($class, %params) = @_; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), datastore => $params{datastore}, max_workers => $params{max_workers} || 10, cache_timeout => $params{cache_timeout} || 1200, scan_timeout => $params{scan_timeout} || 5, max_peers => $params{max_peers} || 512, max_size => $params{max_size} || 5000, p2pnet => {} }; bless $self, $class; return $self; } sub findPeers { my ($self, $port) = @_; $self->{logger}->info("looking for a peer in the network"); if ((!$self->{p2pnet} || !$self->{p2pnet}->{peers}) && $self->{datastore}) { $self->{p2pnet} = $self->{datastore}->getP2PNet() || {}; } # We don't want to update the peer list if some exist and none has expired if ($self->{p2pnet} && $self->{p2pnet}->{peerscount}) { my $now = time; if (! any { $self->{p2pnet}->{$_}->{expires} < $now } @{$self->{p2pnet}->{peers}}) { return grep { $self->{p2pnet}->{$_}->{active} } @{$self->{p2pnet}->{peers}}; } } my @interfaces; if ($OSNAME eq 'linux') { FusionInventory::Agent::Tools::Linux->require(); @interfaces = FusionInventory::Agent::Tools::Linux::getInterfacesFromIfconfig(); } elsif ($OSNAME eq 'MSWin32') { FusionInventory::Agent::Tools::Win32->require(); @interfaces = FusionInventory::Agent::Tools::Win32::getInterfaces(); } if (!@interfaces) { $self->{logger}->info("No network interfaces found"); return; } my @addresses; foreach my $interface (@interfaces) { #if interface has both ip and netmask setup then push the address next unless $interface->{IPADDRESS}; next unless $interface->{IPMASK}; next unless lc($interface->{STATUS}) eq 'up'; push @addresses, { ip => $interface->{IPADDRESS}, mask => $interface->{IPMASK} }; } if (!@addresses) { $self->{logger}->info("No local address found"); return; } my @potential_peers; foreach my $address (@addresses) { push @potential_peers, $self->_getPotentialPeers($address); } if (!@potential_peers) { $self->{logger}->info("No neighbour address found"); return; } my %peers; # Keep previously known addresses only if still in potential peers foreach my $peer (@potential_peers) { if ($self->{p2pnet}->{$peer}) { $peers{$peer} = $self->{p2pnet}->{$peer}; } else { $peers{$peer} = { expires => time + $self->{cache_timeout}, active => 1 }; } } # Only keep active peers in the list my @peers = grep { $peers{$_}->{active} } keys(%peers); # Finally filter out the list from the ones not responding my @active_peers = $self->_scanPeers( $port, @peers); my %not_active = map { $_ => 0 } @peers; foreach my $peer (@active_peers) { delete $not_active{$peer}; } foreach my $peer (keys(%not_active)) { $peers{$peer} = { expires => time + $self->{cache_timeout}, active => 0 }; } $self->{p2pnet} = \%peers; $self->{p2pnet}->{peers} = \@peers; $self->{p2pnet}->{peerscount} = @peers; # Save peers list and status $self->{datastore}->saveP2PNet($self->{p2pnet}) if ($self->{datastore}); return @peers; } sub forgetPeer { my ($self, $peer) = @_; return unless $self->{p2pnet} && $self->{p2pnet}->{$peer}; $self->{p2pnet}->{$peer} = { expires => time + $self->{cache_timeout}, active => 0 }; # Update active peers list my @peers = grep { $self->{p2pnet}->{$_}->{active} } @{$self->{p2pnet}->{peers}}; $self->{p2pnet}->{peers} = \@peers; $self->{p2pnet}->{peerscount} = @peers; # Save peers list and status $self->{datastore}->saveP2PNet($self->{p2pnet}) if ($self->{datastore}); } sub _getPotentialPeers { my ($self, $address, $limit) = @_; $limit = $self->{max_peers} unless defined $limit; my @ip_bytes = split(/\./, $address->{ip}); my @mask_bytes = split(/\./, $address->{mask}); return if $ip_bytes[0] == 127; # Ignore 127.x.x.x addresses return if $ip_bytes[0] == 169; # Ignore 169.x.x.x range too # compute range my @start; my @end; foreach my $idx (0..3) { ## no critic (ProhibitBitwise) push @start, $ip_bytes[$idx] & (255 & $mask_bytes[$idx]); push @end, $ip_bytes[$idx] | (255 - $mask_bytes[$idx]); } my $ipStart = join('.', @start); my $ipEnd = join('.', @end); return if $ipStart eq $ipEnd; # Get ip interval before this interface ip my $ipIntervalBefore = Net::IP->new($ipStart.' - '.$address->{ip}) or die Net::IP::Error(); # Get ip interval after this interface ip my $ipIntervalAfter = Net::IP->new($address->{ip}.' - '.$ipEnd) or die Net::IP::Error(); my $beforeCount = int($limit/2); my $afterCount = $beforeCount ; my $size = $ipIntervalBefore->size() + $ipIntervalAfter->size() - 1 ; if ($size > $self->{max_size}) { $self->{logger}->debug( "Range too large: $size (max $self->{max_size}) from $ipStart to $ipEnd" ); return; } # Handle the case ip range is bigger than expected if ($ipIntervalBefore->size() + $ipIntervalAfter->size() > $limit) { $self->{logger}->debug( "Have to limit ip range between ".$ipStart." and ".$ipEnd ); # Update counts in the case we are too close from a range limit if ( $ipIntervalBefore->size() - 1 < $beforeCount ) { $beforeCount = $ipIntervalBefore->size() ; $afterCount = $limit - $beforeCount + 1; } elsif ( $ipIntervalAfter->size() < $afterCount ) { $afterCount = $ipIntervalAfter->size(); $beforeCount = $limit - $afterCount + 1 ; } # Forget too far before ips if (defined($ipIntervalBefore) && $ipIntervalBefore->size() > $beforeCount+1) { $ipIntervalBefore += $ipIntervalBefore->size() - $beforeCount - 1 ; } } $ipStart = $ipIntervalBefore->ip(); $beforeCount = $ipIntervalBefore->size() - 1; # Now add ips before my @peers; while (defined($ipIntervalBefore) && $beforeCount-->0) { push @peers, $ipIntervalBefore->ip() ; ++$ipIntervalBefore ; } # Then add ips after while (defined(++$ipIntervalAfter) and $afterCount-->0) { $ipEnd = $ipIntervalAfter->ip() ; push @peers, $ipEnd ; } $self->{logger}->debug("Scanning from ".$ipStart." to ".$ipEnd); return @peers; } sub _scanPeers { my ($self, $port, @addresses) = @_; $self->{logger}->debug( "Scanning from $addresses[0] to $addresses[-1]" ); _fisher_yates_shuffle(\@addresses); my $ping = Net::Ping->new('tcp', $self->{scan_timeout}); $ping->{port_num} = $port; $ping->service_check(1); my @found; my $manager = Parallel::ForkManager->new($self->{max_workers}); $manager->run_on_finish(sub { my ($pid, $exit_code, $address) = @_; push @found, $address if $exit_code; }); foreach my $address (@addresses) { $manager->start($address) and next; $manager->finish($ping->ping($address) ? 1 : 0); } $manager->wait_all_children(); return @found; } sub _fisher_yates_shuffle { my $deck = shift; # $deck is a reference to an array return unless @$deck; # must not be empty! my $i = @$deck; while (--$i) { my $j = int rand ($i+1); @$deck[$i,$j] = @$deck[$j,$i]; } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/Maintenance.pm0000644000175000017500000000306513712210012027640 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::Maintenance; use strict; use warnings; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Storage; use FusionInventory::Agent::Task::Deploy::Datastore; sub new { my ($class, %params) = @_; die 'no target parameter\n' unless $params{target}; die 'no config parameter\n' unless $params{config}; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), config => $params{config}, target => $params{target}, }; bless $self, $class; return $self; } sub doMaintenance { my ($self) = @_; my $folder = $self->{target}->getStorage()->getDirectory() or return; $folder .= '/deploy'; return unless -d $folder; my $datastore = FusionInventory::Agent::Task::Deploy::Datastore->new( config => $self->{config}, path => $folder, logger => $self->{logger} ); $datastore->cleanUp( force => $datastore->diskIsFull() ); } 1; __END__ =head1 NAME FusionInventory::Agent::Task::Deploy::Maintenance - Maintenance for Deploy task =head1 DESCRIPTION This module provides the Maintenance run function to cleanup Deploy environment. =head1 FUNCTIONS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use (default: a new stderr logger) =item I =item I =back =head2 doMaintenance() Cleanup the deploy datastore associated with the target. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/Datastore.pm0000644000175000017500000000650313712210012027344 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::Datastore; use strict; use warnings; use English qw(-no_match_vars); use File::Glob; use File::Spec; use File::Path qw(mkpath rmtree); use UNIVERSAL::require; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Storage; use FusionInventory::Agent::Task::Deploy::Datastore::WorkDir; use FusionInventory::Agent::Task::Deploy::DiskFree; sub new { my ($class, %params) = @_; die "no path parameter" unless $params{path}; my $self = { config => $params{config}, path => File::Spec->rel2abs($params{path}), logger => $params{logger} || FusionInventory::Agent::Logger->new(), }; if (!$self->{path}) { die("No datastore path"); } bless $self, $class; return $self; } sub cleanUp { my ($self, %params) = @_; return unless -d $self->{path}; my @storageDirs; push @storageDirs, File::Glob::bsd_glob($self->{path}.'/fileparts/private/*'); push @storageDirs, File::Glob::bsd_glob($self->{path}.'/fileparts/shared/*'); if (-d $self->{path}.'/workdir/') { remove_tree( $self->{path}.'/workdir/', {error => \my $err} ); } my $remaining = 0; foreach my $dir (@storageDirs) { if (!-d $dir) { unlink $dir; next; } next unless $dir =~ /(\d+)$/; # Check retention time using a one minute time frame my $timeframe = time - time % 60 ; if ($timeframe >= $1 || $params{force}) { remove_tree( $dir, {error => \my $err} ); } else { $remaining ++; } } return $remaining; } sub createWorkDir { my ($self, $uuid) = @_; my $path = $self->{path}.'/workdir/'.$uuid; mkpath($path); return unless -d $path; return FusionInventory::Agent::Task::Deploy::Datastore::WorkDir->new( path => $path, logger => $self->{logger} ); } sub diskIsFull { my ($self) = @_; my $logger = $self->{logger}; return 0 unless -d $self->{path}; my $freeSpace = getFreeSpace( path => $self->{path}, logger => $logger ); if (!defined($freeSpace)) { $logger->debug2('$freeSpace is undef!'); $freeSpace = 0; } $logger->debug("Free space on $self->{path}: $freeSpace"); # 400MB Free, should be set by a config option return ($freeSpace < 2000); } sub getP2PNet { my ($self) = @_; if (!$self->{p2pnetstorage}) { $self->{p2pnetstorage} = FusionInventory::Agent::Storage->new( logger => $self->{logger}, directory => $self->{config}->{vardir} ); } return unless $self->{p2pnetstorage}; return $self->{p2pnetstorage}->restore( name => "p2pnet" ); } sub saveP2PNet { my ($self, $peers) = @_; return unless $self->{p2pnetstorage}; # Avoid to save the peers cache too often. This is not even critical if # the p2pnet peers cache is not saved after the last updates if (!$self->{save_expiration} || time > $self->{save_expiration}) { $self->{p2pnetstorage}->save( name => "p2pnet", data => $peers ); $self->{save_expiration} = time + 60; } } # imported from File-Path-2.09 sub remove_tree { push @_, {} unless @_ and UNIVERSAL::isa($_[-1],'HASH'); goto &rmtree; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/0000755000175000017500000000000013757703277030026 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinKeyNotEquals.pm0000644000175000017500000000454513712210012033401 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::WinKeyNotEquals; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->{path} =~ s{\\}{/}g; # We will look for default regkey value while path ends with / ou \ $self->{path} =~ s{/+$}{/}g; } sub success { my ($self) = @_; $self->on_failure("check only available on windows"); return 0 unless $OSNAME eq 'MSWin32'; $self->on_failure("no value provided to check registry value against"); my $notexpected = $self->{value}; return 0 unless (defined($notexpected)); Win32::TieRegistry->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32::TieRegistry: $EVAL_ERROR"); return 0; } Win32::TieRegistry->import(qw(REG_DWORD)); FusionInventory::Agent::Tools::Win32->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32 tools: $EVAL_ERROR"); return 0; } # First check parent winkey my ( $parent, $key ) = $self->{path} =~ m|^(.*)/([^/]*)$|; $self->on_failure("registry path not supported: ".$self->{path}); return 0 unless (defined($parent)); $self->on_failure("missing parent registry key: ".$parent); my $parent_key = FusionInventory::Agent::Tools::Win32::getRegistryKey( path => $parent ); return 1 unless (defined($parent_key)); my @regValue = $parent_key->GetValue($key); if ($key && defined($parent_key->{$key.'/'})) { $self->on_failure("seen as a registry key: ".$self->{path}.'/'); } else { $self->on_failure("missing registry value: ".$self->{path}); } return 1 unless (@regValue); # We need to convert values as string while checking a DWORD value my ($regValue, $regType ) = @regValue; if ($regType == REG_DWORD()) { $regValue = hex($regValue) if ($regValue =~ /^0x/); $notexpected = hex($notexpected) if ($notexpected =~ /^0x/); $notexpected = int($notexpected) if ($notexpected =~ /^0\d+$/); } $self->on_success("found different registry value as expected: $notexpected not in ".$self->{path}); $self->on_failure("bad registry value: found $regValue vs $notexpected in ".$self->{path}); return ( $regValue ne $notexpected ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinKeyExists.pm0000644000175000017500000000266413712210012032745 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::WinKeyExists; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->{path} =~ s{\\}{/}g; $self->{path} =~ s{/+$}{}g; $self->on_success("registry key found: ".$self->{path}.'/'); } sub success { my ($self) = @_; $self->on_failure("check only available on windows"); return 0 unless $OSNAME eq 'MSWin32'; FusionInventory::Agent::Tools::Win32->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32 tools: $EVAL_ERROR"); return 0; } # First check parent winkey my ( $parent, $key ) = $self->{path} =~ m|^(.*)/([^/]*)$|; $self->on_failure("registry path not supported: ".$self->{path}); return 0 unless (defined($parent)); $self->on_failure("missing parent registry key: ".$parent.'/'); my $parent_key = FusionInventory::Agent::Tools::Win32::getRegistryKey( path => $parent ); return 0 unless (defined($parent_key)); # Test if path could be seen as a value path if (defined($parent_key->{'/'.$key})) { $self->on_failure("missing registry key, but can be seen as a value: ".$self->{path}); } else { $self->on_failure("missing registry key: ".$self->{path}.'/'); } return defined($parent_key->{$key.'/'}); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/DirectoryMissing.pm0000644000175000017500000000063413712210012033630 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::DirectoryMissing; use strict; use warnings; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->on_failure($self->{path} . " directory exists"); $self->on_success($self->{path} . " directory is missing"); } sub success { my ($self) = @_; return ! -d $self->{path}; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSizeGreater.pm0000644000175000017500000000161313712210012033354 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::FileSizeGreater; use strict; use warnings; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { } sub success { my ($self) = @_; $self->on_failure($self->{path} . " is missing"); return 0 unless -f $self->{path}; $self->on_failure("no value provided to check file size against"); my $lower = $self->{value}; return 0 unless (defined($lower)); my @fstat = stat($self->{path}); $self->on_failure($self->{path} . " file stat failure, $!"); return 0 unless (@fstat); $self->on_failure("file size not found"); my $size = $fstat[7]; return 0 unless (defined($size)); $self->on_failure($self->{path} . " file size not greater: $size <= $lower"); $self->on_success($self->{path} . " file size is greater: $size > $lower"); return ( $size > $lower ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/DirectoryExists.pm0000644000175000017500000000063113712210012033473 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::DirectoryExists; use strict; use warnings; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->on_failure($self->{path} . " directory is missing"); $self->on_success($self->{path} . " directory exists"); } sub success { my ($self) = @_; return -d $self->{path}; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinValueExists.pm0000644000175000017500000000266713712210012033274 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::WinValueExists; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->{path} =~ s{\\}{/}g; # We will look for default regkey value while path ends with / ou \ $self->{path} =~ s{/+$}{/}g; $self->on_success("registry value found: ".$self->{path}); } sub success { my ($self) = @_; $self->on_failure("check only available on windows"); return 0 unless $OSNAME eq 'MSWin32'; FusionInventory::Agent::Tools::Win32->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32 tools: $EVAL_ERROR"); return 0; } # First check parent winkey my ( $parent, $key ) = $self->{path} =~ m|^(.*)/([^/]*)$|; $self->on_failure("registry path not supported: ".$self->{path}); return 0 unless (defined($parent)); $self->on_failure("missing registry key: ".$parent.'/'); my $parent_key = FusionInventory::Agent::Tools::Win32::getRegistryKey( path => $parent ); return 0 unless (defined($parent_key)); if ($key && defined($parent_key->{$key.'/'})) { $self->on_failure("seen as key, not as value: ".$self->{path}.'/'); } else { $self->on_failure("missing registry value: ".$self->{path}); } return defined($parent_key->{'/'.$key}); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinValueMissing.pm0000644000175000017500000000310413712210012033411 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::WinValueMissing; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->{path} =~ s{\\}{/}g; # We will look for default regkey value while path ends with / ou \ $self->{path} =~ s{/+$}{/}g; $self->on_success("missing registry value: ".$self->{path}); } sub success { my ($self) = @_; $self->on_failure("check only available on windows"); return 0 unless $OSNAME eq 'MSWin32'; FusionInventory::Agent::Tools::Win32->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32 tools: $EVAL_ERROR"); return 0; } # First check parent winkey, okay if still missing my ( $parent, $key ) = $self->{path} =~ m|^(.*)/([^/]*)$|; $self->on_failure("registry path not supported: ".$self->{path}); return 0 unless (defined($parent)); my $parent_key = FusionInventory::Agent::Tools::Win32::getRegistryKey( path => $parent ); return 1 unless (defined($parent_key)); # Test if path could be seen as a key path if ($key && defined($parent_key->{$key.'/'})) { $self->on_success("missing registry value, but can be seen as registry key: ".$self->{path}.'/'); $self->on_failure("registry value found, also seen as registry key: ".$self->{path}.'/'); } else { $self->on_failure("registry value found: ".$self->{path}); } return ! defined($parent_key->{'/'.$key}); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSHA512.pm0000644000175000017500000000220313712210012031767 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::FileSHA512; use strict; use warnings; use Digest::SHA; use English qw(-no_match_vars); use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->on_success("got expected sha512 file hash for " . $self->{path}); } sub success { my ($self) = @_; $self->on_failure($self->{path} . " file is missing"); return 0 unless -f $self->{path}; $self->on_failure("no value provided to check file size against"); my $expected = $self->{value}; return 0 unless (defined($expected)); $self->on_failure("sha512 hash computing not supported by agent"); my $sha = Digest::SHA->new('512'); return 0 unless (defined($sha)); my $sha512 = ""; eval { $sha->addfile($self->{path}, 'b'); $sha512 = $sha->hexdigest; }; $self->on_failure($self->{path} . " file sha512 hash computing failed, $EVAL_ERROR"); return 0 unless (defined($sha512) && $sha512); $self->on_failure($self->{path} . " has wrong sha512 file hash, found $sha512"); return ( $sha512 eq $expected ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSizeEquals.pm0000644000175000017500000000166313712210012033222 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::FileSizeEquals; use strict; use warnings; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->on_success($self->{path} . " expected file size: ".($self->{value}||'n/a')); } sub success { my ($self) = @_; $self->on_failure($self->{path} . " is missing"); return 0 unless -f $self->{path}; $self->on_failure("no value provided to check file size against"); my $expected = $self->{value}; return 0 unless (defined($expected)); my @fstat = stat($self->{path}); $self->on_failure($self->{path} . " file stat failure, $!"); return 0 unless (@fstat); $self->on_failure("file size not found"); my $size = $fstat[7]; return 0 unless (defined($size)); $self->on_failure($self->{path} . " has wrong file size: $size vs $expected"); return ( $size == $expected ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileExists.pm0000644000175000017500000000061213712210012032405 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::FileExists; use strict; use warnings; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->on_failure($self->{path} . " file is missing"); $self->on_success($self->{path} . " file exists"); } sub success { my ($self) = @_; return -f $self->{path}; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FreeSpaceGreater.pm0000644000175000017500000000153513712210012033502 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::FreeSpaceGreater; use strict; use warnings; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; use FusionInventory::Agent::Task::Deploy::DiskFree; sub prepare { } sub success { my ($self) = @_; $self->on_failure("no value provided to check free space against"); my $lower = $self->{value}; return 0 unless (defined($lower)); my $freespace = getFreeSpace( logger => $self->{logger}, path => $self->{path} ); $self->on_failure($self->{path} . " free space not found, $!"); return 0 unless (defined($freespace)); $self->on_failure($self->{path} . " free space not greater: $freespace <= $lower"); $self->on_success($self->{path} . " free space is greater: $freespace > $lower"); return ( $freespace > $lower ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinKeyMissing.pm0000644000175000017500000000274513712210012033077 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::WinKeyMissing; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->{path} =~ s{\\}{/}g; $self->{path} =~ s{/+$}{}g; $self->on_success("missing registry key: ".$self->{path}.'/'); } sub success { my ($self) = @_; $self->on_failure("check only available on windows"); return 0 unless $OSNAME eq 'MSWin32'; FusionInventory::Agent::Tools::Win32->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32 tools: $EVAL_ERROR"); return 0; } # First check parent winkey, okay if still missing my ( $parent, $key ) = $self->{path} =~ m|^(.*)/([^/]*)$|; $self->on_failure("registry path not supported: ".$self->{path}); return 0 unless (defined($parent)); my $parent_key = FusionInventory::Agent::Tools::Win32::getRegistryKey( path => $parent ); return 1 unless (defined($parent_key)); # Test if path could be seen as a value path if (defined($parent_key->{'/'.$key})) { $self->on_success("missing registry key, but can be seen as a value: ".$self->{path}); $self->on_failure("registry key found, also seen as a value: ".$self->{path}.'/'); } else { $self->on_failure("registry key found: ".$self->{path}.'/'); } return ! defined($parent_key->{$key.'/'}); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSHA512Mismatch.pm0000644000175000017500000000237513712210012033467 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::FileSHA512Mismatch; use strict; use warnings; use Digest::SHA; use English qw(-no_match_vars); use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; # This processor could be used to skip file deployment as expected file is found # So we should only trigger a failure is we can compute sha512 and it is wrong sub prepare { } sub success { my ($self) = @_; my $path = $self->{path}; $self->on_success("$path file is missing"); return 1 unless -f $path; $self->on_success("no value provided to check file size against"); my $expected = $self->{value}; return 1 unless (defined($expected)); $self->on_success("sha512 hash computing not supported by agent"); my $sha = Digest::SHA->new('512'); return 1 unless (defined($sha)); my $sha512 = ""; eval { $sha->addfile($path, 'b'); $sha512 = $sha->hexdigest; }; $self->on_success("$path file sha512 hash computing failed, $EVAL_ERROR"); return 1 unless (defined($sha512) && $sha512); $self->on_failure("got sha512 file hash match for $path"); $self->on_success("got sha512 file hash mismatch for $path, found $sha512"); return ( $sha512 ne $expected ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinKeyEquals.pm0000644000175000017500000000446013712210012032714 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::WinKeyEquals; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->{path} =~ s{\\}{/}g; # We will look for default regkey value while path ends with / ou \ $self->{path} =~ s{/+$}{/}g; } sub success { my ($self) = @_; $self->on_failure("check only available on windows"); return 0 unless $OSNAME eq 'MSWin32'; $self->on_failure("no value provided to check registry value against"); my $expected = $self->{value}; return 0 unless (defined($expected)); Win32::TieRegistry->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32::TieRegistry: $EVAL_ERROR"); return 0; } Win32::TieRegistry->import(qw(REG_DWORD)); FusionInventory::Agent::Tools::Win32->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32 tools: $EVAL_ERROR"); return 0; } # First check parent winkey my ( $parent, $key ) = $self->{path} =~ m|^(.*)/([^/]*)$|; $self->on_failure("registry path not supported: ".$self->{path}); return 0 unless (defined($parent)); $self->on_failure("missing parent registry key: ".$parent); my $parent_key = FusionInventory::Agent::Tools::Win32::getRegistryKey( path => $parent ); return 0 unless (defined($parent_key)); my @regValue = $parent_key->GetValue($key); if ($key && defined($parent_key->{$key.'/'})) { $self->on_failure("seen as a registry key: ".$self->{path}.'/'); } else { $self->on_failure("missing registry value: ".$self->{path}); } return 0 unless (@regValue); # We need to convert values as string while checking a DWORD value my ($regValue, $regType ) = @regValue; if ($regType == REG_DWORD()) { $regValue = hex($regValue) if ($regValue =~ /^0x/); $expected = hex($expected) if ($expected =~ /^0x/); $expected = int($expected) if ($expected =~ /^0\d+$/); } $self->on_success("found expected registry value: $expected in ".$self->{path}); $self->on_failure("bad registry value: found $regValue vs $expected in ".$self->{path}); return ( $regValue eq $expected ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinValueType.pm0000644000175000017500000000530113712210012032722 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::WinValueType; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; # No perl Win32API returns the string type from the value, here is the # official ordered list interpreted from winnt.h my @Types = qw( REG_NONE REG_SZ REG_EXPAND_SZ REG_BINARY REG_DWORD REG_DWORD_BIG_ENDIAN REG_LINK REG_MULTI_SZ REG_RESOURCE_LIST REG_FULL_RESOURCE_DESCRIPTOR REG_RESOURCE_REQUIREMENTS_LIST REG_QWORD ); sub prepare { my ($self) = @_; $self->{path} =~ s{\\}{/}g; # We will look for default regkey value while path ends with / ou \ $self->{path} =~ s{/+$}{/}g; } sub success { my ($self) = @_; $self->on_failure("check only available on windows"); return 0 unless $OSNAME eq 'MSWin32'; $self->on_failure("no value type provided to check registry value type against"); my $expected = $self->{value}; return 0 unless (defined($expected)); $self->on_failure("wrong $expected type provided to check registry value type against"); return 0 unless ($expected =~ /^REG_[_A-Z]+$/); $self->on_success("found $expected registry value type: ".$self->{path}); Win32API::Registry->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32API::Registry: $EVAL_ERROR"); return 0; } eval { $expected = Win32API::Registry::constant($expected); }; return 0 unless (defined($expected)); FusionInventory::Agent::Tools::Win32->require(); if ($EVAL_ERROR) { $self->on_failure("failed to load Win32 tools: $EVAL_ERROR"); return 0; } # First check parent winkey my ( $parent, $key ) = $self->{path} =~ m|^(.*)/([^/]*)$|; $self->on_failure("registry path not supported: ".$self->{path}); return 0 unless (defined($parent)); $self->on_failure("missing registry key: ".$parent); my $parent_key = FusionInventory::Agent::Tools::Win32::getRegistryKey( path => $parent ); return 0 unless (defined($parent_key)); my @regValue = $parent_key->GetValue($key); if ($key && defined($parent_key->{$key.'/'})) { $self->on_failure("missing but seen path as a registry key: ".$self->{path}.'/'); } else { $self->on_failure("missing registry value: ".$self->{path}); } return 0 unless (@regValue); my ($regValue, $regType ) = @regValue; my ($sType, $sExpected ) = ( $Types[$regType] || "unsupported", $Types[$expected] || "unsupported" ); $self->on_failure("bad registry value type: found $sType vs expected $sExpected in ".$self->{path}); return ( $regType == $expected ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileMissing.pm0000644000175000017500000000061513712210012032542 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::FileMissing; use strict; use warnings; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { my ($self) = @_; $self->on_failure($self->{path} . " file exists"); $self->on_success($self->{path} . " file is missing"); } sub success { my ($self) = @_; return ! -f $self->{path}; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSizeLower.pm0000644000175000017500000000161713712210012033057 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::CheckProcessor::FileSizeLower; use strict; use warnings; use parent "FusionInventory::Agent::Task::Deploy::CheckProcessor"; sub prepare { } sub success { my ($self) = @_; $self->on_failure($self->{path} . " is missing"); return 0 unless -f $self->{path}; $self->on_failure("no value provided to check file size against"); my $greater = $self->{value}; return 0 unless (defined($greater)); my @fstat = stat($self->{path}); $self->on_failure($self->{path} . " file stat failure, $!"); return 0 unless (@fstat); $self->on_failure("file size not found"); my $size = $fstat[7]; return 0 unless (defined($size)); $self->on_failure($self->{path} . " file size not lower: $size >= $greater"); $self->on_success($self->{path} . " file size is lower: $size < $greater"); return ( $size < $greater ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/Version.pm0000644000175000017500000000016613712210012027042 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::Version; use strict; use warnings; use constant VERSION => "2.8"; 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/Datastore/0000755000175000017500000000000013757703277027037 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy/Datastore/WorkDir.pm0000644000175000017500000001013713360140457030741 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy::Datastore::WorkDir; use strict; use warnings; use Compress::Zlib; use English qw(-no_match_vars); use File::Path qw(mkpath); use UNIVERSAL::require; use FusionInventory::Agent::Tools; use Encode; sub new { my ($class, %params) = @_; my $self = { path => $params{path}, logger => $params{logger}, files => [] }; if (! -d $self->{path}) { die "path `".$self->{path}."' doesn't exit."; } bless $self, $class; } sub addFile { my ($self, $file) = @_; push @{$self->{files}}, $file; } sub prepare { my ($self) = @_; my $logger = $self->{logger}; # Rebuild the complet file from the filepart foreach my $file (@{$self->{files}}) { $file->{name_local} = $file->{name}; if ($OSNAME eq 'MSWin32') { FusionInventory::Agent::Tools::Win32->require; my $localCodepage = FusionInventory::Agent::Tools::Win32::getLocalCodepage(); if (Encode::is_utf8($file->{name})) { $file->{name_local} = encode($localCodepage, $file->{name}); } } # If the file will be extracted, we simplify its name to avoid problem during # the extraction process if ($file->{uncompress}) { my $shortsha512 = substr($file->{sha512}, 0, 6); $file->{name_local} =~ s/.*\.(tar\.gz)/$shortsha512.$1/i; if (!$1) { $file->{name_local} =~ s/.*\.(tar|gz|7z|bz2)/$shortsha512.$1/i } } my $finalFilePath = $self->{path}.'/'.$file->{name_local}; my $fh; if (!open($fh, '>', $finalFilePath)) { $logger->debug("Failed to open '$finalFilePath': $ERRNO"); return; } binmode($fh); foreach my $sha512 (@{$file->{multiparts}}) { my $partFilePath = $file->getPartFilePath($sha512); if (! -f $partFilePath) { $logger->debug("Missing multipart element '$partFilePath'"); } my $part; my $buf; if ($part = gzopen($partFilePath, 'rb')) { $logger->debug("reading $sha512"); while ($part->gzread($buf, 1024) > 0) { print $fh $buf; } $part->gzclose; } else { $logger->info("Failed to open '$partFilePath'"); } } close($fh); if (!$file->validateFileByPath($finalFilePath)) { $logger->info("Failed to construct the final file.: $finalFilePath"); return; } } # Now uncompress foreach my $file (@{$self->{files}}) { my $finalFilePath = $self->{path}.'/'.$file->{name_local}; if ($file->{uncompress}) { if(canRun('7z')) { my $tarball; foreach (`7z x -o\"$self->{path}\" \"$finalFilePath\"`) { chomp; $logger->debug2("7z: $_"); if (/Extracting\s+(.*\.tar)$/) { $tarball = $1; } } if ($tarball && ($finalFilePath =~ /tgz$/i || $finalFilePath =~ /tar\.(gz|xz|bz2)$/i)) { foreach (`7z x -o\"$self->{path}\" \"$self->{path}/$tarball\"`) { chomp; $logger->debug2("7z: $_"); } unlink($self->{path}.'/'.$tarball); } } else { Archive::Extract->require; $Archive::Extract::DEBUG=1; my $ae = Archive::Extract->new( archive => $finalFilePath ); if (!$ae) { $logger->info("Failed to create Archive::Extract object"); } elsif (!$ae->extract( to => $self->{path} )) { $logger->debug("Failed to extract '$finalFilePath'"); } # We ignore failure here because one my have activated the # extract flag on common file and this should be harmless } unlink($finalFilePath); } } return 1; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/WakeOnLan/0000755000175000017500000000000013757703277025474 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/WakeOnLan/Version.pm0000644000175000017500000000017113360140464027435 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::WakeOnLan::Version; use strict; use warnings; use constant VERSION => "2.2"; 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/ESX.pm0000644000175000017500000001655213712210012024626 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::ESX; use strict; use warnings; use parent 'FusionInventory::Agent::Task'; use FusionInventory::Agent::Config; use FusionInventory::Agent::HTTP::Client::Fusion; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Inventory; use FusionInventory::Agent::XML::Query::Inventory; use FusionInventory::Agent::SOAP::VMware; use FusionInventory::Agent::Task::ESX::Version; our $VERSION = FusionInventory::Agent::Task::ESX::Version::VERSION; sub isEnabled { my ($self) = @_; if (!$self->{target}->isType('server')) { $self->{logger}->debug("ESX task not compatible with local target"); return; } return 1; } sub connect { my ( $self, %params ) = @_; my $url = 'https://' . $params{host} . '/sdk/vimService'; my $vpbs = FusionInventory::Agent::SOAP::VMware->new(url => $url, vcenter => 1 ); if ( !$vpbs->connect( $params{user}, $params{password} ) ) { $self->lastError($vpbs->{lastError}); return; } $self->{vpbs} = $vpbs; } sub createInventory { my ( $self, $id, $tag ) = @_; die unless $self->{vpbs}; my $vpbs = $self->{vpbs}; my $host = $vpbs->getHostFullInfo($id); my $inventory = FusionInventory::Agent::Inventory->new( logger => $self->{logger}, tag => $tag ); $inventory->setRemote('esx'); $inventory->setBios( $host->getBiosInfo() ); $inventory->setHardware( $host->getHardwareInfo() ); foreach my $cpu ($host->getCPUs()) { $inventory->addEntry(section => 'CPUS', entry => $cpu); } foreach my $controller ($host->getControllers()) { $inventory->addEntry(section => 'CONTROLLERS', entry => $controller); if ($controller->{PCICLASS} && $controller->{PCICLASS} eq '300') { $inventory->addEntry( section => 'VIDEOS', entry => { NAME => $controller->{NAME}, PCISLOT => $controller->{PCISLOT}, } ); } } my %ipaddr; foreach my $network ($host->getNetworks()) { $ipaddr{ $network->{IPADDRESS} } = 1 if $network->{IPADDRESS}; $inventory->addEntry(section => 'NETWORKS', entry => $network); } $inventory->setHardware( { IPADDR => join '/', ( keys %ipaddr ) } ); # TODO # foreach (@{$host->[0]{config}{fileSystemVolume}{mountInfo}}) { # # } foreach my $storage ($host->getStorages()) { # TODO # $volumnMapping{$entry->{canonicalName}} = $entry->{deviceName}; $inventory->addEntry(section => 'STORAGES', entry => $storage); } foreach my $drive ($host->getDrives()) { $inventory->addEntry( section => 'DRIVES', entry => $drive); } foreach my $machine ($host->getVirtualMachines()) { $inventory->addEntry(section => 'VIRTUALMACHINES', entry => $machine); } return $inventory; } sub getHostIds { my ($self) = @_; return $self->{vpbs}->getHostIds(); } sub run { my ( $self, %params ) = @_; $self->{client} = FusionInventory::Agent::HTTP::Client::Fusion->new( logger => $self->{logger}, user => $params{user}, password => $params{password}, proxy => $params{proxy}, ca_cert_file => $params{ca_cert_file}, ca_cert_dir => $params{ca_cert_dir}, no_ssl_check => $params{no_ssl_check}, debug => $self->{debug} ); die unless $self->{client}; my $globalRemoteConfig = $self->{client}->send( "url" => $self->{target}->{url}, args => { action => "getConfig", machineid => $self->{deviceid}, task => { ESX => $VERSION }, } ); if (!$globalRemoteConfig->{schedule}) { $self->{logger}->info("No job schedule returned from server at ".$self->{target}->{url}); return; } if (ref( $globalRemoteConfig->{schedule} ) ne 'ARRAY') { $self->{logger}->info("Malformed schedule from server at ".$self->{target}->{url}); return; } if ( !@{$globalRemoteConfig->{schedule}} ) { $self->{logger}->info("No ESX job enabled or ESX support disabled server side."); return; } foreach my $job ( @{ $globalRemoteConfig->{schedule} } ) { next unless $job->{task} eq "ESX"; $self->{esxRemote} = $job->{remote}; } if ( !$self->{esxRemote} ) { $self->{logger}->info("No ESX job found in server jobs list."); return; } my $jobs = $self->{client}->send( "url" => $self->{esxRemote}, args => { action => "getJobs", machineid => $self->{deviceid} } ); return unless $jobs; return unless ref( $jobs->{jobs} ) eq 'ARRAY'; $self->{logger}->info( "Got " . int( @{ $jobs->{jobs} } ) . " VMware host(s) to inventory." ); my $ocsClient = FusionInventory::Agent::HTTP::Client::OCS->new( logger => $self->{logger}, user => $params{user}, password => $params{password}, proxy => $params{proxy}, ca_cert_file => $params{ca_cert_file}, ca_cert_dir => $params{ca_cert_dir}, no_ssl_check => $params{no_ssl_check}, no_compress => $params{no_compress}, ); foreach my $job ( @{ $jobs->{jobs} } ) { if ( !$self->connect( host => $job->{host}, user => $job->{user}, password => $job->{password} )) { $self->{client}->send( "url" => $self->{esxRemote}, args => { action => 'setLog', machineid => $self->{deviceid}, part => 'login', uuid => $job->{uuid}, msg => $self->lastError(), code => 'ko' } ); next; } my $hostIds = $self->getHostIds(); foreach my $hostId (@$hostIds) { my $inventory = $self->createInventory( $hostId, $self->{config}->{tag} ); my $message = FusionInventory::Agent::XML::Query::Inventory->new( deviceid => $self->{deviceid}, content => $inventory->getContent() ); $ocsClient->send( url => $self->{target}->getUrl(), message => $message ); } $self->{client}->send( "url" => $self->{esxRemote}, args => { action => 'setLog', machineid => $self->{deviceid}, uuid => $job->{uuid}, code => 'ok' } ); } return $self; } sub lastError { my ($self, $error) = @_; $self->{lastError} = $error if $error; return $self->{lastError} || "n/a"; } 1; __END__ =head1 NAME FusionInventory::Agent::SOAP::VMware - Access to VMware hypervisor =head1 DESCRIPTION This module allow access to VMware hypervisor using VMware SOAP API and _WITHOUT_ their Perl library. =head1 FUNCTIONS =head2 connect ( $self, %params ) Connect the task to the VMware ESX, ESXi or vCenter. =head2 createInventory ( $self, $id, $tag ) Returns an FusionInventory::Agent::Inventory object for a given host id. =head2 getHostIds Returns the list of the host id. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Collect/0000755000175000017500000000000013757703276025241 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Collect/Version.pm0000644000175000017500000000016713712210012027174 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Collect::Version; use strict; use warnings; use constant VERSION => "2.6"; 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/ESX/0000755000175000017500000000000013757703276024313 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/ESX/Version.pm0000644000175000017500000000016313757237703026273 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::ESX::Version; use strict; use warnings; use constant VERSION => "2.6"; 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/WMI.pm0000644000175000017500000000523413712210012024616 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::WMI; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory'; use UNIVERSAL::require; use English qw(-no_match_vars); use FusionInventory::Agent::Tools::Expiration; sub isEnabled { my ($self, $response) = @_; # Task only supported on MSWin32 at the moment return 0 if $OSNAME ne 'MSWin32'; # Enabled for local target only is still connected return defined($self->{service}) if $self->{target}->isType('local'); my $content = $response->getContent(); if (!$content || !$content->{RESPONSE} || $content->{RESPONSE} ne 'SEND') { if ($self->{config}->{force}) { $self->{logger}->debug("WMI inventory task execution not requested, but execution forced"); } else { $self->{logger}->debug("WMI inventory task execution not requested"); return 0; } } # TODO: This is only a POC as nothing is implemented server-side and we need # to safely pass credentials my %connection = ( host => $response->getOptionsInfoByName('REMOTEHOST') || '', user => $response->getOptionsInfoByName('REMOTEUSER') || '', pass => $response->getOptionsInfoByName('REMOTEPASS') || '' ); # 'host' parameter remains mandatory to enable any wmi inventory return 0 unless $connection{host}; $self->{registry} = [ $response->getOptionsInfoByName('REGISTRY') ]; # Finally enable task only is can connect return $self->connect(%connection); } sub connect { my ( $self, %params ) = @_; my $logger = $self->{logger} || $params{logger}; my $host = $params{host} || '127.0.0.1'; my $user = $params{user} || ''; my $pass = $params{pass} || ''; $logger->debug2("Connecting via wmi to ".($user?"$user@":"").$host) if $logger; FusionInventory::Agent::Tools::Win32->use(); $self->{service} = getWMIService( host => $host, user => $user, pass => $pass ); if ($self->{service}) { $logger->debug2("Connected via wmi to host $host") if $logger; # Set now we are remote $self->setRemote('wmi'); # Preload remoteIs64bits() setExpirationTime( timeout => $self->{config}->{'backend-collect-timeout'} ); remoteIs64bits(); setExpirationTime(); return 1 } else { $logger->error("can't connect to host $host with '$user' user") if $logger; return 0; } } sub _validateInventory { my ($self, $inventory) = @_; # Hardware name is mandatory to compute deviceid, something surely goes wrong # if its missing return $inventory->getHardware('NAME') ? 1 : 0; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory.pm0000644000175000017500000003404313712210012026157 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory; use strict; use warnings; use parent 'FusionInventory::Agent::Task'; use Config; use English qw(-no_match_vars); use UNIVERSAL::require; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Inventory; use FusionInventory::Agent::Task::Inventory::Version; # Preload Module base class use FusionInventory::Agent::Task::Inventory::Module; our $VERSION = FusionInventory::Agent::Task::Inventory::Version::VERSION; sub isEnabled { my ($self, $response) = @_; # always enabled for local target return 1 if $self->{target}->isType('local'); my $content = $response->getContent(); if (!$content || !$content->{RESPONSE} || $content->{RESPONSE} ne 'SEND') { if ($self->{config}->{force}) { $self->{logger}->debug("Inventory task execution not requested, but execution forced"); } else { $self->{logger}->debug("Inventory task execution not requested"); return; } } $self->{registry} = [ $response->getOptionsInfoByName('REGISTRY') ]; return 1; } sub run { my ($self, %params) = @_; if ( $REAL_USER_ID != 0 ) { $self->{logger}->warning( "You should execute this task as super-user" ); } $self->{modules} = {}; my $tag = $self->{config}->{'tag'}; my $inventory = FusionInventory::Agent::Inventory->new( statedir => $self->{target}->getStorage()->getDirectory(), deviceid => $self->{deviceid}, logger => $self->{logger}, tag => $tag ); $self->{logger}->info("New inventory from ".$inventory->getDeviceId()." for $self->{target}->{id}". ( (defined($tag) && length($tag)) ? " (tag=$tag)" : "" )); # Set inventory as remote if running remote inventory like from wmi task $inventory->setRemote($self->getRemote()) if $self->getRemote(); if (not $ENV{PATH}) { # set a minimal PATH if none is set (#1129, #1747) $ENV{PATH} = '/sbin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/usr/local/bin'; $self->{logger}->debug( "PATH is not set, using $ENV{PATH} as default" ); } my %disabled = map { $_ => 1 } @{$self->{config}->{'no-category'}}; $self->_initModulesList(\%disabled); $self->_feedInventory($inventory, \%disabled); # Tell perl modules hash can now be cleaned from memory delete $self->{modules}; return unless $self->_validateInventory($inventory); $self->_submitInventory( %params, inventory => $inventory ); return 1; } # Method to override if inventory needs to be validate sub _validateInventory { 1 } sub _submitInventory { my ($self, %params) = @_; my $inventory = $params{inventory}; if ($self->{target}->isType('local')) { my $path = $self->{target}->getPath(); my $format = $self->{target}->{format}; my ($file, $handle); SWITCH: { if ($path eq '-') { $handle = \*STDOUT; last SWITCH; } if (-d $path) { $file = $path . "/" . $inventory->getDeviceId() . ($format eq 'xml' ? '.ocs' : '.html'); last SWITCH; } $file = $path; } if ($file) { if (Win32::Unicode::File->require()) { $handle = Win32::Unicode::File->new('w', $file); } else { open($handle, '>', $file); } $self->{logger}->error("Can't write to $file: $ERRNO") unless $handle; } binmode $handle, ':encoding(UTF-8)'; $self->_printInventory( inventory => $inventory, handle => $handle, format => $format ); if ($file) { $self->{logger}->info("Inventory saved in $file"); close $handle; } } elsif ($self->{target}->isType('server')) { return $self->{logger}->error("Can't load OCS client API") unless FusionInventory::Agent::HTTP::Client::OCS->require(); my $client = FusionInventory::Agent::HTTP::Client::OCS->new( logger => $self->{logger}, user => $params{user}, password => $params{password}, proxy => $params{proxy}, ca_cert_file => $params{ca_cert_file}, ca_cert_dir => $params{ca_cert_dir}, no_ssl_check => $params{no_ssl_check}, no_compress => $params{no_compress}, ); return $self->{logger}->error("Can't load Inventory XML Query API") unless FusionInventory::Agent::XML::Query::Inventory->require(); my $message = FusionInventory::Agent::XML::Query::Inventory->new( deviceid => $inventory->getDeviceId(), content => $inventory->getContent() ); my $response = $client->send( url => $self->{target}->getUrl(), message => $message ); return unless $response; $inventory->saveLastState(); } elsif ($self->{target}->isType('listener')) { return $self->{logger}->error("Can't load Inventory XML Query API") unless FusionInventory::Agent::XML::Query::Inventory->require(); my $query = FusionInventory::Agent::XML::Query::Inventory->new( deviceid => $inventory->getDeviceId(), content => $inventory->getContent() ); # Store inventory XML with the listener target $self->{target}->inventory_xml($query->getContent()); } } sub _initModulesList { my ($self, $disabled) = @_; my $logger = $self->{logger}; my $config = $self->{config}; my @modules = $self->getModules('Inventory'); die "no inventory module found\n" if !@modules; # Select isEnabled function to test my $isEnabledFunction = "isEnabled" ; $isEnabledFunction .= "ForRemote" if $self->getRemote(); # first pass: compute all relevant modules foreach my $module (sort @modules) { # compute parent module: my @components = split('::', $module); my $parent = @components > 5 ? join('::', @components[0 .. $#components -1]) : ''; # Just skip Version package as not an inventory package module # Also skip Module as not a real module but the base class for any module if ($module =~ /FusionInventory::Agent::Task::Inventory::(Version|Module)$/) { $self->{modules}->{$module}->{enabled} = 0; next; } # skip if parent is not allowed if ($parent && !$self->{modules}->{$parent}->{enabled}) { $logger->debug2(" $module disabled: implicit dependency $parent not enabled"); $self->{modules}->{$module}->{enabled} = 0; next; } $module->require(); if ($EVAL_ERROR) { $logger->debug("module $module disabled: failure to load ($EVAL_ERROR)"); $self->{modules}->{$module}->{enabled} = 0; next; } # Simulate tested function inheritance as we test a module, not a class unless (defined(*{$module."::".$isEnabledFunction})) { no strict 'refs'; ## no critic (ProhibitNoStrict) *{$module."::".$isEnabledFunction} = \&{"FusionInventory::Agent::Task::Inventory::Module::$isEnabledFunction"}; } my $enabled = runFunction( module => $module, function => $isEnabledFunction, logger => $logger, timeout => $config->{'backend-collect-timeout'}, params => { no_category => $disabled, datadir => $self->{datadir}, logger => $self->{logger}, registry => $self->{registry}, scan_homedirs => $self->{config}->{'scan-homedirs'}, scan_profiles => $self->{config}->{'scan-profiles'}, } ); if (!$enabled) { $logger->debug2("module $module disabled"); $self->{modules}->{$module}->{enabled} = 0; next; } $self->{modules}->{$module}->{enabled} = 1; $self->{modules}->{$module}->{done} = 0; $self->{modules}->{$module}->{used} = 0; no strict 'refs'; ## no critic (ProhibitNoStrict) $self->{modules}->{$module}->{runAfter} = [ $parent ? $parent : (), ${$module . '::runAfter'} ? @${$module . '::runAfter'} : (), ${$module . '::runAfterIfEnabled'} ? @${$module . '::runAfterIfEnabled'} : () ]; $self->{modules}->{$module}->{runAfterIfEnabled} = { map { $_ => 1 } ${$module . '::runAfterIfEnabled'} ? @${$module . '::runAfterIfEnabled'} : () }; } # second pass: disable fallback modules foreach my $module (@modules) { ## no critic (ProhibitProlongedStrictureOverride) no strict 'refs'; ## no critic (ProhibitNoStrict) # skip modules already disabled next unless $self->{modules}->{$module}->{enabled}; # skip non-fallback modules next unless ${$module . '::runMeIfTheseChecksFailed'}; my $failed; foreach my $other_module (@${$module . '::runMeIfTheseChecksFailed'}) { if ($self->{modules}->{$other_module}->{enabled}) { $failed = $other_module; last; } } if ($failed) { $self->{modules}->{$module}->{enabled} = 0; $logger->debug("module $module disabled because of $failed"); } } } sub _runModule { my ($self, $module, $inventory, $disabled) = @_; my $logger = $self->{logger}; return if $self->{modules}->{$module}->{done}; $self->{modules}->{$module}->{used} = 1; # lock the module # ensure all needed modules have been executed first foreach my $other_module (@{$self->{modules}->{$module}->{runAfter}}) { die "module $other_module, needed before $module, not found" if !$self->{modules}->{$other_module}; if (!$self->{modules}->{$other_module}->{enabled}) { if ($self->{modules}->{$module}->{runAfterIfEnabled}->{$other_module}) { # soft dependency: run current module without required one next; } else { # hard dependency: abort current module execution die "module $other_module, needed before $module, not enabled"; } } die "circular dependency between $module and $other_module" if $self->{modules}->{$other_module}->{used}; $self->_runModule($other_module, $inventory, $disabled); } $logger->debug("Running $module"); runFunction( module => $module, function => "doInventory", logger => $logger, timeout => $self->{config}->{'backend-collect-timeout'}, params => { datadir => $self->{datadir}, inventory => $inventory, no_category => $disabled, logger => $self->{logger}, registry => $self->{registry}, scan_homedirs => $self->{config}->{'scan-homedirs'}, scan_profiles => $self->{config}->{'scan-profiles'}, } ); $self->{modules}->{$module}->{done} = 1; $self->{modules}->{$module}->{used} = 0; # unlock the module } sub _feedInventory { my ($self, $inventory, $disabled) = @_; my $begin = time(); my @modules = grep { $self->{modules}->{$_}->{enabled} } keys %{$self->{modules}}; foreach my $module (sort @modules) { $self->_runModule($module, $inventory, $disabled); } if ($self->{config}->{'additional-content'} && -f $self->{config}->{'additional-content'}) { $self->_injectContent($self->{config}->{'additional-content'}, $inventory) } # Execution time $inventory->setHardware({ETIME => time() - $begin}); $inventory->computeLegacyValues(); $inventory->computeChecksum(); } sub _injectContent { my ($self, $file, $inventory) = @_; return unless -f $file; $self->{logger}->debug( "importing $file file content to the inventory" ); my $content; SWITCH: { if ($file =~ /\.xml$/) { eval { my $tree = XML::TreePP->new()->parsefile($file); $content = $tree->{REQUEST}->{CONTENT}; }; last SWITCH; } die "unknown file type $file"; } if (!$content) { $self->{logger}->error("no suitable content found"); return; } $inventory->mergeContent($content); } sub _printInventory { my ($self, %params) = @_; SWITCH: { if ($params{format} eq 'xml') { my $tpp = XML::TreePP->new( indent => 2, utf8_flag => 1, output_encoding => 'UTF-8' ); print {$params{handle}} $tpp->write({ REQUEST => { CONTENT => $params{inventory}->getContent(), DEVICEID => $params{inventory}->getDeviceId(), QUERY => "INVENTORY", } }); last SWITCH; } if ($params{format} eq 'html') { Text::Template->require(); my $template = Text::Template->new( TYPE => 'FILE', SOURCE => "$self->{datadir}/html/inventory.tpl" ); my $hash = { version => $FusionInventory::Agent::Version::VERSION, deviceid => $params{inventory}->getDeviceId(), data => $params{inventory}->getContent(), fields => $params{inventory}->getFields() }; print {$params{handle}} $template->fill_in(HASH => $hash); last SWITCH; } die "unknown format $params{format}"; } } 1; __END__ =head1 NAME FusionInventory::Agent::Task::Inventory - Inventory task for FusionInventory =head1 DESCRIPTION This task extract various hardware and software information on the agent host. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/0000755000175000017500000000000013757703277025652 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/0000755000175000017500000000000013757703277026262 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/MIPS.pm0000644000175000017500000000334713712210012027342 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::MIPS; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; use FusionInventory::Agent::Tools; sub isEnabled { return $Config{archname} =~ /^mips/; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $bios = { SMANUFACTURER => 'SGI', }; # sysctl infos # example on NetBSD: SGI-IP22 # example on OpenBSD: SGI-O2 (IP32) $bios->{SMODEL} = getFirstLine(command => 'sysctl -n hw.model'); my $count = getFirstLine(command => 'sysctl -n hw.ncpu'); # dmesg infos # I) Indy # NetBSD: # mainbus0 (root): SGI-IP22 [SGI, 6906e152], 1 processor # cpu0 at mainbus0: MIPS R4400 CPU (0x450) Rev. 5.0 with MIPS R4010 FPC Rev. 0.0 # int0 at mainbus0 addr 0x1fbd9880: bus 75MHz, CPU 150MHz # # II) O2 # NetBSD: # mainbus0 (root): SGI-IP32 [SGI, 8], 1 processor # cpu0 at mainbus0: MIPS R5000 CPU (0x2321) Rev. 2.1 with built-in FPU Rev. 1.0 # OpenBSD: # mainbus0 (root) # cpu0 at mainbus0: MIPS R5000 CPU rev 2.1 180 MHz with R5000 based FPC rev 1.0 # cpu0: cache L1-I 32KB D 32KB 2 way, L2 512KB direct my $cpu; foreach my $line (getAllLines(command => 'dmesg')) { if ($line =~ /$bios->{SMODEL}\s*\[\S*\s*(\S*)\]/) { $bios->{SSN} = $1; } if ($line =~ /cpu0 at mainbus0:\s*(.*)$/) { $cpu->{NAME} = $1; } if ($line =~ /CPU\s*.*\D(\d+)\s*MHz/) { $cpu->{SPEED} = $1; } } $inventory->setBios($bios); return if $params{no_category}->{cpu}; while ($count--) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/SPARC.pm0000644000175000017500000000464413712210012027443 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::SPARC; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; use FusionInventory::Agent::Tools; sub isEnabled { return $Config{archname} =~ /^sparc/; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $bios = { SMANUFACTURER => 'SUN', }; # sysctl infos # it gives only the CPU on OpenBSD/sparc64 $bios->{SMODEL} = getFirstLine(command => 'sysctl -n hw.model'); # example on NetBSD: 0x807b65c # example on OpenBSD: 2155570635 $bios->{SSN} = getFirstLine(command => 'sysctl -n kern.hostid'); # force hexadecimal, but remove 0x to make it appear as in the firmware $bios->{SSN} = dec2hex($bios->{SSN}); $bios->{SSN} =~ s/^0x//; my $count = getFirstLine(command => 'sysctl -n hw.ncpu'); # dmesg infos # I) SPARC # NetBSD: # mainbus0 (root): SUNW,SPARCstation-20: hostid 72362bb1 # cpu0 at mainbus0: TMS390Z50 v0 or TMS390Z55 @ 50 MHz, on-chip FPU # OpenBSD: # mainbus0 (root): SUNW,SPARCstation-20 # cpu0 at mainbus0: TMS390Z50 v0 or TMS390Z55 @ 50 MHz, on-chip FPU # # II) SPARC64 # NetBSD: # mainbus0 (root): SUNW,Ultra-1: hostid 807b65cb # cpu0 at mainbus0: SUNW,UltraSPARC @ 166.999 MHz, version 0 FPU # OpenBSD: # mainbus0 (root): Sun Ultra 1 SBus (UltraSPARC 167MHz) # cpu0 at mainbus0: SUNW,UltraSPARC @ 166.999 MHz, version 0 FPU # FreeBSD: # cpu0: Sun Microsystems UltraSparc-I Processor (167.00 MHz CPU) my $cpu; foreach my $line (getAllLines(command => 'dmesg')) { if ($line=~ /^mainbus0 \(root\):\s*(.*)$/) { $bios->{SMODEL} = $1; } if ($line =~ /^cpu[^:]*:\s*(.*)$/i) { $cpu->{NAME} = $1; } } $bios->{SMODEL} =~ s/SUNW,//; $bios->{SMODEL} =~ s/[:\(].*$//; $bios->{SMODEL} =~ s/^\s*//; $bios->{SMODEL} =~ s/\s*$//; $cpu->{NAME} =~ s/SUNW,//; $cpu->{NAME} =~ s/^\s*//; $cpu->{NAME} =~ s/\s*$//; # XXX quick and dirty _attempt_ to get proc speed if ($cpu->{NAME} =~ /(\d+)(\.\d+|)\s*mhz/i ) { # possible decimal point $cpu->{SPEED} = sprintf("%.0f", "$1$2"); # round number } $inventory->setBios($bios); return if $params{no_category}->{cpu}; while ($count--) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/Softwares.pm0000644000175000017500000000224513712210012030543 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::Softwares; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return if $params{no_category}->{software}; return canRun('pkg_info') || canRun('pkg'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $packages = _getPackagesList(logger => $logger, command => 'pkg_info') || _getPackagesList(logger => $logger, command => 'pkg info'); return unless $packages; foreach my $package (@$packages) { $inventory->addEntry( section => 'SOFTWARES', entry => $package ); } } sub _getPackagesList { my $handle = getFileHandle(@_); return unless $handle; my @packages; while (my $line = <$handle>) { next unless $line =~ /^(\S+) - (\S+) \s+ (.*)/x; push @packages, { NAME => $1, VERSION => $2, COMMENTS => $3 }; } close $handle; return @packages ? \@packages : undef; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/i386.pm0000644000175000017500000000215513712210012027257 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::i386; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; sub isEnabled { return $Config{archname} =~ /^(i\d86|x86_64)/; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # sysctl infos my $bios = { SMODEL => getFirstLine(command => 'sysctl -n hw.model') }; my $cpu = { NAME => getFirstLine(command => 'sysctl -n hw.machine'), SPEED => (getCanonicalSpeed(split(/\s+/, $bios->{SMODEL})))[-1] }; my $count = getFirstLine(command => 'sysctl -n hw.ncpu'); $inventory->setBios($bios); # don't deal with CPUs if information can be computed from dmidecode my $infos = getDmidecodeInfos(logger => $logger); return if $infos->{4}; return if $params{no_category}->{cpu}; while ($count--) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/Storages/0000755000175000017500000000000013757703277030051 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/Storages/Megaraid.pm0000644000175000017500000000270713712210012032071 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::Storages::Megaraid; # Authors: Egor Shornikov , Egor Morozov # License: GPLv2+ use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Task::Inventory::BSD::Storages; sub isEnabled { return canRun('mfiutil'); } sub _parseMfiutil { my $handle = getFileHandle(@_); my @storages; while (my $line = <$handle>) { unless ( $line =~ m/^[^(]*\(\s+(\d+\w+)\)\s+\S+\s+<(\S+)\s+(\S+)\s+\S+\s+serial=(\S+)>\s+(\S+)\s+.*$/ ) { next; } my ( $size, $vendor, $model, $serial, $type ) = ( $1, $2, $3, $4, $5 ); if ( $size =~ /(\d+)G/ ){ $size = $1 * 1024; } elsif( $size =~ /(\d+)T/ ){ $size = $1 * 1024 * 1024; } my $storage; $storage->{NAME} = "$vendor $model"; $storage->{DESCRIPTION} = $type; $storage->{TYPE} = 'disk'; $storage->{DISKSIZE} = $size; $storage->{SERIALNUMBER} = $serial; push @storages, $storage; } close $handle; return @storages; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $storage (_parseMfiutil( logger => $params{logger}, command => 'mfiutil show drives')) { $inventory->addEntry(section => 'STORAGES', entry => $storage); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/Storages.pm0000644000175000017500000000650513712210012030360 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::Storages; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use XML::TreePP; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{storage}; return canRun('sysctl'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $storage (_getStorages(logger => $logger)) { $inventory->addEntry( section => 'STORAGES', entry => $storage ); } } sub _getStorages { my (%params) = @_; my $command = 'sysctl kern.geom.confxml'; my $lines = getAllLines( command => $command, %params ); $lines =~ s/^kern.geom.confxml://; my $tpp = XML::TreePP->new(); my $tree = $tpp->parse($lines); my @storages = (); for my $class (@{$tree->{mesh}->{class}}) { my $name = $class->{name} || $class->{'#name'} || ''; next unless ($name && $name eq 'DISK'); for my $geom (@{$class->{geom}}) { my $device = {}; $device->{NAME} = $geom->{name} if $geom->{name}; $device->{DESCRIPTION} = $geom->{provider}->{config}->{descr} if ($geom->{provider} && $geom->{provider}->{config} && $geom->{provider}->{config}->{descr}); $device->{DISKSIZE} = $geom->{provider}->{mediasize} if ($geom->{provider} && defined $geom->{provider}->{mediasize}); $device->{TYPE} = _retrieveDeviceTypeFromName($device->{NAME}); push @storages, $device; } } # Unittest support $params{file} = $params{dmesgFile} if ($params{dmesgFile}); _extractDataFromDmesg( storages => \@storages, %params ); return @storages; } sub _retrieveDeviceTypeFromName { my $name = shift; my $type = not (defined $name) ? 'unknown' : $name =~ /^da/ ? 'disk' : $name =~ /^ada/ ? 'disk' : $name =~ /^cd/ ? 'cdrom' : 'unknown'; return $type; } sub _extractDataFromDmesg { my (%params) = @_; my $storages = $params{storages}; my $dmesgLines = getAllLines( command => 'dmesg', %params ); for my $storage (@$storages) { next unless $storage->{NAME}; $storage->{MODEL} = getFirstMatch( string => $dmesgLines, pattern => qr/^\Q$storage->{NAME}\E.*<(.*)>/ ) || ''; my $desc = getFirstMatch( string => $dmesgLines, pattern => qr/^\Q$storage->{NAME}\E: (.*<.*>.*)$/ ); $storage->{DESCRIPTION} = $desc if $desc; $storage->{SERIALNUMBER} = getFirstMatch( string => $dmesgLines, pattern => qr/^\Q$storage->{NAME}\E: Serial Number (.*)$/ ) || ''; if ($storage->{MODEL}) { if ($storage->{MODEL} =~ s/^(SGI|SONY|WDC|ASUS|LG|TEAC|SAMSUNG|PHILIPS|PIONEER|MAXTOR|PLEXTOR|SEAGATE|IBM|SUN|SGI|DEC|FUJITSU|TOSHIBA|YAMAHA|HITACHI|VERITAS)\s*//i) { $storage->{MANUFACTURER} = $1; } # clean up the model $storage->{MODEL} =~ s/^(\s|,)*//; $storage->{MODEL} =~ s/(\s|,)*$//; } } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/Memory.pm0000644000175000017500000000144213712210012030034 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::Memory; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{memory}; return canRun('sysctl') && canRun('swapctl'); }; sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; # Swap my $swapSize = getFirstMatch( command => 'swapctl -sk', pattern => qr/total:\s*(\d+)/i ); # RAM my $memorySize = getFirstLine(command => 'sysctl -n hw.physmem'); $memorySize = $memorySize / 1024; $inventory->setHardware({ MEMORY => int($memorySize / 1024), SWAP => int($swapSize / 1024), }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/Uptime.pm0000644000175000017500000000160613712210012030031 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::Uptime; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('sysctl'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $arch = getFirstLine(command => 'uname -m'); my $uptime = _getUptime(command => 'sysctl -n kern.boottime'); $inventory->setHardware({ DESCRIPTION => "$arch/$uptime" }); } sub _getUptime { my $line = getFirstLine(@_); # the output of 'sysctl -n kern.boottime' differs between BSD flavours my $boottime = $line =~ /^(\d+)/ ? $1 : # OpenBSD format $line =~ /sec = (\d+)/ ? $1 : # FreeBSD format undef; return unless $boottime; my $uptime = $boottime - time(); return getFormatedGMTTime($uptime); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/Drives.pm0000644000175000017500000001026313712210012030021 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::Drives; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{drive}; return canRun('df'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $zpool = canRun('zpool'); # Check we can run geli command to lookup encrypted fs my ($geli); if (canRun('geom')) { $geli = _getGeliList(%params); } # get filesystem types my @types = grep { ! /^(?:fdesc|devfs|procfs|linprocfs|linsysfs|tmpfs|fdescfs)$/ } getFilesystemsTypesFromMount(logger => $logger); # get filesystem for each type my @filesystems; foreach my $type (@types) { my $foundfs = getFilesystemsFromDf( logger => $logger, command => "df -P -k -t $type", type => $type ); # Check for geli encryption if ($geli) { foreach my $fs (@{$foundfs}) { my $encrypted; if ($type eq 'zfs' && $zpool) { my $status = _getZpoolStatus( volumn => $fs->{VOLUMN}, %params ); ($encrypted) = grep { /.eli$/ } keys(%{$status->{config}}); } else { ($encrypted) = $fs->{VOLUMN} =~ m|/([^/]+.eli)$|; } if ($encrypted && $geli->{$encrypted}) { $fs->{ENCRYPT_NAME} = "geli"; $fs->{ENCRYPT_STATUS} = $geli->{$encrypted}->{state} =~ /^ACTIVE$/i ? 'Yes' : 'No'; $fs->{ENCRYPT_ALGO} = $geli->{$encrypted}->{algo}; $fs->{ENCRYPT_TYPE} = $geli->{$encrypted}->{type}; } } } push @filesystems, @{$foundfs}; } # add filesystems to the inventory foreach my $filesystem (@filesystems) { $inventory->addEntry( section => 'DRIVES', entry => $filesystem ); } } my %zpool_status_cache = (); sub _getZpoolStatus { my (%params) = @_; my $volumn = $params{volumn} or return; my ($pool) = $volumn =~ m|^([^/]+)|; return $zpool_status_cache{$pool} if $zpool_status_cache{$pool}; my @lines = getAllLines( command => "zpool status $pool", %params ); my $status = {}; foreach my $line (@lines) { next unless $line; if ($line =~ /^\s*(\w+)\s*:\s*(\w.*)$/) { $status->{$1} = $2; } elsif ($line =~ /^\s*config\s*:/) { $status->{config} = {}; } elsif ($status->{config} && $line =~ /^\s*(\S+)\s+(\w+)\s+\w+\s+\w+\s+\w+/) { next if $1 eq "NAME"; $status->{config}->{$1} = $2; } } # Cache zpool status $zpool_status_cache{$pool} = $status; return $status; } sub _getGeliList { my (%params) = @_; my $geli; my @status = getAllLines( command => "geom eli status -s", %params ); foreach my $status (@status) { next unless $status =~ /^(\S+)\s/; my $volumn = $1; my @lines = getAllLines( command => "geom eli list $volumn", %params ); foreach my $line (@lines) { next unless $line; if ($line =~ /^State:\s*(\S+)$/) { $geli->{$volumn}->{state} = $1; } elsif ($line =~ /^EncryptionAlgorithm:\s*(\S+)$/) { $geli->{$volumn}->{algo} = $1; } elsif ($line =~ /^KeyLength:\s*(\S+)$/) { $geli->{$volumn}->{keysize} = $1; } elsif ($line =~ /^Crypto:\s*(\S+)$/) { $geli->{$volumn}->{type} = $1; } } # Fix algo with keysize if ($geli->{$volumn}->{algo} && $geli->{$volumn}->{keysize}) { $geli->{$volumn}->{algo} = $geli->{$volumn}->{algo}."-".$geli->{$volumn}->{keysize}; delete $geli->{$volumn}->{keysize}; } } return $geli; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/Alpha.pm0000644000175000017500000000254313712210012027614 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::Alpha; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; use FusionInventory::Agent::Tools; sub isEnabled { return $Config{archname} =~ /^alpha/; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $bios = { SMANUFACTURER => 'DEC', }; # sysctl infos # example on *BSD: AlphaStation 255 4/232 $bios->{SMODEL} = getFirstLine(command => 'sysctl -n hw.model'); my $count = getFirstLine(command => 'sysctl -n hw.ncpu'); # dmesg infos # NetBSD: # AlphaStation 255 4/232, 232MHz, s/n # cpu0 at mainbus0: ID 0 (primary), 21064A-2 # OpenBSD: # AlphaStation 255 4/232, 232MHz # cpu0 at mainbus0: ID 0 (primary), 21064A-2 (pass 1.1) # FreeBSD: # AlphaStation 255 4/232, 232MHz # CPU: EV45 (21064A) major=6 minor=2 my $cpu; foreach my $line (getAllLines(command => 'dmesg')) { if ($line =~ /$bios->{SMODEL},\s*(\S+)\s*MHz/) { $cpu->{SPEED} = $1; } if ($line =~ /^cpu[^:]*:\s*(.*)$/i) { $cpu->{NAME} = $1; } } $inventory->setBios($bios); return if $params{no_category}->{cpu}; while ($count--) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/CPU.pm0000644000175000017500000000141113712210012027207 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return canRun('dmidecode'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $speed; my $hwModel = getFirstLine(command => 'sysctl -n hw.model'); if ($hwModel =~ /([\.\d]+)GHz/) { $speed = $1 * 1000; } foreach my $cpu (getCpusFromDmidecode()) { $cpu->{SPEED} = $speed; $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD/Networks.pm0000644000175000017500000000416413712210012030404 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD::Networks; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::Unix; use FusionInventory::Agent::Tools::BSD; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{network}; return canRun('ifconfig'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $routes = getRoutingTable(logger => $logger); my $default = $routes->{'0.0.0.0'}; my @interfaces = _getInterfaces(logger => $logger); foreach my $interface (@interfaces) { # if the default gateway address and the interface address belongs to # the same network, that's the gateway for this network $interface->{IPGATEWAY} = $default if isSameNetwork( $default, $interface->{IPADDRESS}, $interface->{IPMASK} ); $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } $inventory->setHardware({ DEFAULTGATEWAY => $default }); } sub _getInterfaces { my (%params) = @_; my @interfaces = getInterfacesFromIfconfig( logger => $params{logger} ); foreach my $interface (@interfaces) { $interface->{IPSUBNET} = getSubnetAddress( $interface->{IPADDRESS}, $interface->{IPMASK} ); $interface->{IPDHCP} = getIpDhcp( $params{logger}, $interface->{DESCRIPTION} ); if ($interface->{DESCRIPTION} =~ m/^(lo|vboxnet|vmnet|vtnet|sit|tun|pflog|pfsync|enc|strip|plip|sl|ppp|faith)/) { $interface->{VIRTUALDEV} = 1; if ($interface->{DESCRIPTION} =~ m/^lo/) { $interface->{TYPE} = 'loopback'; } if ($interface->{DESCRIPTION} =~ m/^ppp/) { $interface->{TYPE} = 'dialup'; } } else { $interface->{VIRTUALDEV} = 0; } } return @interfaces; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/0000755000175000017500000000000013757703277027226 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Screen.pm0000644000175000017500000002331413712210012030751 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Screen; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use MIME::Base64; use UNIVERSAL::require; use File::Find; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Screen; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{monitor}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{monitor}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $datadir = $params{datadir}; foreach my $screen (_getScreens(logger => $logger, datadir => $datadir)) { $inventory->addEntry( section => 'MONITORS', entry => $screen ); } } sub _getEdidInfo { my (%params) = @_; Parse::EDID->require(); if ($EVAL_ERROR) { $params{logger}->debug( "Parse::EDID Perl module not available, unable to parse EDID data" ) if $params{logger}; return; } my $edid = Parse::EDID::parse_edid($params{edid}); if (my $error = Parse::EDID::check_parsed_edid($edid)) { $params{logger}->debug("bad edid: $error") if $params{logger}; # Don't return if edid is finally partially parsed return unless ($edid->{monitor_name} && $edid->{week} && $edid->{year} && $edid->{serial_number}); } my $screen = FusionInventory::Agent::Tools::Screen->new( %params, edid => $edid ); my $info = { CAPTION => $screen->caption || undef, DESCRIPTION => $screen->week_year_manufacture, MANUFACTURER => $screen->manufacturer, SERIAL => $screen->serial }; # Add ALTSERIAL if defined by Screen object $info->{ALTSERIAL} = $screen->altserial if $screen->altserial; return $info; } sub _getScreensFromWindows { my (%params) = @_; FusionInventory::Agent::Tools::Win32->use(); my @screens; # VideoOutputTechnology table, see ref: # - https://msdn.microsoft.com/en-us/library/bb980612(v=vs.85).aspx # - https://msdn.microsoft.com/en-us/library/ff546605.aspx my %ports = qw( -1 Other 0 VGA 1 S-Video 2 Composite 3 YUV 4 DVI 5 HDMI 6 LVDS 8 D-Jpn 9 SDI 10 DisplayPort 11 eDisplayPort 12 UDI 13 eUDI 14 SDTV 15 Miracast ); # Vista and upper, able to get the second screen foreach my $object (getWMIObjects( moniker => 'winmgmts:{impersonationLevel=impersonate,authenticationLevel=Pkt}!//./root/wmi', class => 'WMIMonitorConnectionParams', properties => [ qw/Active InstanceName VideoOutputTechnology/ ] )) { next unless $object->{InstanceName}; next unless $object->{Active}; $object->{InstanceName} =~ s/_\d+//; my $screen = { id => $object->{InstanceName} }; if (exists($object->{VideoOutputTechnology})) { my $port = $object->{VideoOutputTechnology}; $screen->{PORT} = $ports{$port} if (exists($ports{$port})); } push @screens, $screen; } # The generic Win32_DesktopMonitor class, the second screen will be missing foreach my $object (getWMIObjects( class => 'Win32_DesktopMonitor', properties => [ qw/ Caption MonitorManufacturer MonitorType PNPDeviceID Availability / ] )) { next unless $object->{Availability}; next unless $object->{PNPDeviceID}; next unless $object->{Availability} == 3; push @screens, { id => $object->{PNPDeviceID}, NAME => $object->{Caption}, TYPE => $object->{MonitorType}, MANUFACTURER => $object->{MonitorManufacturer}, CAPTION => $object->{Caption} }; } foreach my $screen (@screens) { next unless $screen->{id}; $screen->{edid} = getRegistryValue( path => "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Enum/$screen->{id}/Device Parameters/EDID", logger => $params{logger} ); $screen->{edid} =~ s/^\s+$// if $screen->{edid}; delete $screen->{id}; $screen->{edid} or delete $screen->{edid}; } return @screens; } sub _getScreensFromUnix { my (%params) = @_; my $logger = $params{logger}; $logger->debug("retrieving EDID data:"); if (-d '/sys/devices') { my @screens; my $wanted = sub { return unless $_ eq 'edid'; return unless -e $File::Find::name; my $edid = getAllLines(file => $File::Find::name); push @screens, { edid => $edid } if $edid; }; no warnings 'File::Find'; File::Find::find($wanted, '/sys/devices'); $logger->debug_result( action => 'reading /sys/devices content', data => scalar @screens ); return @screens if @screens; } else { $logger->debug_result( action => 'reading /sys/devices content', status => 'directory not available' ); } if (canRun('monitor-get-edid-using-vbe')) { my $edid = getAllLines(command => 'monitor-get-edid-using-vbe'); $logger->debug_result( action => 'running monitor-get-edid-using-vbe command', data => $edid ); return { edid => $edid } if $edid; } else { $logger->debug_result( action => 'running monitor-get-edid-using-vbe command', status => 'command not available' ); } if (canRun('monitor-get-edid')) { my $edid = getAllLines(command => 'monitor-get-edid'); $logger->debug_result( action => 'running monitor-get-edid command', data => $edid ); return { edid => $edid } if $edid; } else { $logger->debug_result( action => 'running monitor-get-edid command', status => 'command not available' ); } if (canRun('get-edid')) { my $edid; foreach (1..5) { # Sometime get-edid return an empty string... $edid = getAllLines(command => 'get-edid'); last if $edid; } $logger->debug_result( action => 'running get-edid command', data => $edid ); return { edid => $edid } if $edid; } else { $logger->debug_result( action => 'running get-edid command', status => 'command not available' ); } return; } sub _getScreensFromMacOS { my (%params) = @_; my $logger = $params{logger}; $logger->debug("retrieving AppleBacklightDisplay and AppleDisplay datas:") if $logger; FusionInventory::Agent::Tools::MacOS->require(); my @screens; my @displays = FusionInventory::Agent::Tools::MacOS::getIODevices( class => 'AppleBacklightDisplay', options => '-r -lw0 -d 1', logger => $logger, ); push @displays, FusionInventory::Agent::Tools::MacOS::getIODevices( class => 'AppleDisplay', options => '-r -lw0 -d 1', logger => $logger, ); foreach my $display (@displays) { my $screen = {}; if ($display->{IODisplayCapabilityString} && $display->{IODisplayCapabilityString} =~ /model\((.*)\)/) { $screen->{CAPTION} = $1; } if ($display->{IODisplayEDID} && $display->{IODisplayEDID} =~ /^[0-9a-f]+$/i && (length($display->{IODisplayEDID}) == 256 || length($display->{IODisplayEDID}) == 512)) { $screen->{edid} = pack("H*", $display->{IODisplayEDID}) } push @screens, $screen; } return @screens if @screens; # Try unix commands if no screen is detected return _getScreensFromUnix(%params); } sub _getScreens { my (%params) = @_; my %screens = (); my @screens = $OSNAME eq 'MSWin32' ? _getScreensFromWindows(%params) : $OSNAME eq 'darwin' ? _getScreensFromMacOS(%params) : _getScreensFromUnix(%params); foreach my $screen (@screens) { next unless $screen->{edid}; my $info = _getEdidInfo( edid => $screen->{edid}, logger => $params{logger}, datadir => $params{datadir}, ); if ($info) { $screen->{CAPTION} = $info->{CAPTION}; $screen->{DESCRIPTION} = $info->{DESCRIPTION}; $screen->{MANUFACTURER} = $info->{MANUFACTURER}; $screen->{SERIAL} = $info->{SERIAL}; $screen->{ALTSERIAL} = $info->{ALTSERIAL} if $info->{ALTSERIAL}; } $screen->{BASE64} = encode_base64($screen->{edid}); delete $screen->{edid}; # Add or merge found values my $serial = $info->{SERIAL} || $screen->{BASE64}; if (!exists($screens{$serial})) { $screens{$serial} = $screen ; } else { foreach my $key (keys(%$screen)) { if (exists($screens{$serial}->{$key})) { if ($screens{$serial}->{$key} ne $screen->{$key} && $params{logger}) { $params{logger}->warning( "Not merging not coherent $key value for screen associated to $serial serial number" ); } next; } $screens{$serial}->{$key} = $screen->{$key}; } } } return values(%screens); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares.pm0000644000175000017500000000042013712210012031500 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Softwares; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; sub isEnabled { my (%params) = @_; return !$params{no_category}->{software}; } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Firewall.pm0000644000175000017500000000044013712210012031272 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Firewall; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{firewall}; return 1; } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Storages/0000755000175000017500000000000013757703277031015 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Storages/HP.pm0000644000175000017500000000114613750013366031646 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Storages::HP; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Storages::HP; our $runMeIfTheseChecksFailed = ['FusionInventory::Agent::Task::Inventory::Generic::Storages::HpWithSmartctl']; sub isEnabled { # MSWin32 has its Win32::Storages::HP dedicated module return canRun('hpacucli') && $OSNAME ne 'MsWin32'; } sub doInventory { HpInventory( path => 'hpacucli', @_ ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Storages/3ware.pm0000644000175000017500000001050113712210012032334 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Storages::3ware; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; use English qw(-no_match_vars); # Tested on 2.6.* kernels # # Cards tested : # # 8006-2LP # 9500S-4LP # 9550SXU-4LP # 9550SXU-8LP # 9650SE-2LP # 9650SE-4LPML # 9650SE-8LPML # # AMCC/3ware CLI (version 2.00.0X.XXX) sub isEnabled { return canRun('tw_cli'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @devices; foreach my $card (_getCards()) { foreach my $unit (_getUnits($card)) { # Try do get unit's serial in order to compare it to what was found # in udev db. # Works only on newer cards. # Allow us to associate a node to a drive : sda -> WD-WMANS1648590 my $sn = getFirstMatch( logger => $logger, command => "tw_cli info $card->{id} $unit->{id} serial", pattern => qr/serial number\s=\s(\w+)/ ); foreach my $port (_getPorts($card, $unit)) { # Finally, getting drives' values. my $storage = _getStorage($card, $port); if ($OSNAME eq 'Linux') { @devices = getDevicesFromUdev(logger => $logger) unless @devices; foreach my $device (@devices) { # How does this work with multiple older cards # where serial for units is not implemented ? # Need to be tested on a system with multiple # 3ware cards. if ( $device->{SERIALNUMBER} eq 'AMCC_' . $sn || $device->{MODEL} eq 'Logical_Disk_' . $unit->{index} ) { $storage->{NAME} = $device->{NAME}; } } } $inventory->addEntry(section => 'STORAGES', entry => $storage); } } } } sub _getCards { my ($file) = @_; my $handle = getFileHandle( file => $file, command => "tw_cli info" ); return unless $handle; my @cards; while (my $line = <$handle>) { next unless $line =~ /^(c\d+)\s+([\w-]+)/; push @cards, { id => $1, model => $2 }; } close $handle; return @cards; } sub _getUnits { my ($card, $file) = @_; my $handle = getFileHandle( file => $file, command => "tw_cli info $card->{id}" ); return unless $handle; my @units; while (my $line = <$handle>) { next unless $line =~ /^(u(\d+))/; push @units, { id => $1, index => $2 }; } close $handle; return @units; } sub _getPorts { my ($card, $unit, $file) = @_; my $handle = getFileHandle( file => $file, command => "tw_cli info $card->{id} $unit->{id}" ); return unless $handle; my @ports; while (my $line = <$handle>) { next unless $line =~ /(p\d+)/; push @ports, { id => $1 }; } close $handle; return @ports; } sub _getStorage { my ($card, $port, $file) = @_; my $handle = getFileHandle( file => $file, command => "tw_cli info $card->{id} $port->{id} model serial capacity firmware" ); return unless $handle; my $storage; while (my $line = <$handle>) { if ($line =~ /Model\s=\s(.*)/) { $storage->{MODEL} = $1; } elsif ($line =~ /Serial\s=\s(.*)/) { $storage->{SERIALNUMBER} = $1; } elsif ($line =~ /Capacity\s=\s(\S+)\sGB.*/) { $storage->{DISKSIZE} = 1024 * $1; } elsif ($line =~ /Firmware Version\s=\s(.*)/) { $storage->{FIRMWARE} = $1 } } close $handle; $storage->{MANUFACTURER} = getCanonicalManufacturer( $storage->{MODEL} ); $storage->{TYPE} = 'disk'; # Getting description from card model, very basic # and unreliable # Assuming only IDE drives can be plugged in # 5xxx/6xxx cards and # SATA drives only to 7xxx/8xxx/9xxxx cards $storage->{DESCRIPTION} = $card->{model} =~ /^[56]/ ? 'IDE' : $card->{model} =~ /^[789]/ ? 'SATA' : undef; return $storage; } 1; ././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Storages/HpWithSmartctl.pmFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Storages/HpWithSmartctl.p0000644000175000017500000000442713750013366034104 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Storages::HpWithSmartctl; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; # This speeds up hpacucli startup by skipping non-local (iSCSI, Fibre) storages. # See https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c03696601 $ENV{INFOMGR_BYPASS_NONSA} = "1"; sub isEnabled { return canRun('hpacucli') && canRun('smartctl') # TODO: find a generic solution && glob "/sys/class/scsi_generic/sg*/device/vpd_pg80"; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $adp = _getData(%params); for my $data (values %$adp) { next unless $data->{drives_total} && $data->{device}; for (my $i = 0; $i < $data->{drives_total}; $i++) { my $storage = getInfoFromSmartctl( device => '/dev/' . $data->{device}, extra => '-d cciss,' . $i, %params ); $inventory->addEntry( section => 'STORAGES', entry => $storage, ); } } } sub _getData { my %params = ( command => 'hpacucli ctrl all show config', @_ ); my $data = {}; my $slot = -1; foreach my $line (getAllLines(%params)) { if ($line =~ /^Smart Array \w+ in Slot (\d+)\s+(?:\(Embedded\)\s+)?\(sn: (\w+)\)/) { $data->{$1} = { serial => $2, drives_total => 0, }; $slot = $1; } elsif ($line =~ /^\s+physicaldrive\s/ && $line !~ /Failed/) { $data->{$slot}->{drives_total}++; } } _adpToDevice($data); return $data; } # Linux case sub _adpToDevice { my ($adp) = @_; foreach my $file (glob "/sys/class/scsi_generic/sg*/device/vpd_pg80") { my $serial = getFirstMatch( file => $file, pattern => qr/(\w+)/ ); next unless $serial; my $slot = first { $adp->{$_}->{serial} eq $serial } keys %$adp; next unless defined $slot; ($adp->{$slot}->{device}) = $file =~ /\/(sg\d+)\// or next; } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Hostname.pm0000644000175000017500000000110113712210012031276 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Hostname; use English qw(-no_match_vars); use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Sys::Hostname; use FusionInventory::Agent::Tools; sub isEnabled { # We use WMI for Windows because of charset issue return $OSNAME ne 'MSWin32'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $hostname = hostname(); $hostname =~ s/\..*//; # keep just the hostname $inventory->setHardware({NAME => $hostname}); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi.pm0000644000175000017500000000041713712210012030427 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Ipmi; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return unless canRun('ipmitool'); } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Storages.pm0000644000175000017500000000043713712210012031322 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Storages; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{storage}; return 1; } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/USB.pm0000644000175000017500000000451213712210012030162 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::USB; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{usb}; return canRun('lsusb'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $device (_getDevices( logger => $params{logger}, datadir => $params{datadir}) ) { $inventory->addEntry( section => 'USBDEVICES', entry => $device, ); } } sub _getDevices { my @devices; foreach my $device (_getDevicesFromLsusb(@_)) { next unless $device->{PRODUCTID}; next unless $device->{VENDORID}; # ignore the USB Hub next if $device->{PRODUCTID} eq "0001" || $device->{PRODUCTID} eq "0002" ; if (defined($device->{SERIAL}) && length($device->{SERIAL}) < 5) { $device->{SERIAL} = undef; } my $vendor = getUSBDeviceVendor(id => $device->{VENDORID}, @_); if ($vendor) { $device->{MANUFACTURER} = $vendor->{name}; my $entry = $vendor->{devices}->{$device->{PRODUCTID}}; if ($entry) { $device->{CAPTION} = $entry->{name}; } } push @devices, $device; } return @devices; } sub _getDevicesFromLsusb { my $handle = getFileHandle( @_, command => 'lsusb -v', ); return unless $handle; my @devices; my $device; while (my $line = <$handle>) { if ($line =~ /^$/) { push @devices, $device if $device; undef $device; } elsif ($line =~ /^\s*idVendor\s*0x(\w+)/i) { $device->{VENDORID} = $1; } elsif ($line =~ /^\s*idProduct\s*0x(\w+)/i) { $device->{PRODUCTID} = $1; } elsif ($line =~ /^\s*iSerial\s*\d+\s(\w+)/i) { $device->{SERIAL} = $1; } elsif ($line =~ /^\s*bInterfaceClass\s*(\d+)/i) { $device->{CLASS} = $1; } elsif ($line =~ /^\s*bInterfaceSubClass\s*(\d+)/i) { $device->{SUBCLASS} = $1; } } close $handle; push @devices, $device if $device; return @devices; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Arch.pm0000644000175000017500000000070113712210012030402 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Arch; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('arch'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $arch = getFirstLine( command => 'arch' ); $inventory->setOperatingSystem({ ARCH => $arch }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Remote_Mgmt/0000755000175000017500000000000013757703277031445 5ustar gbougardgbougard././@LongLink0000644000000000000000000000014600000000000011604 Lustar rootrootFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Remote_Mgmt/LiteManager.pmFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Remote_Mgmt/LiteManager.p0000644000175000017500000000450013712210012033760 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Remote_Mgmt::LiteManager; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 unless $OSNAME eq 'MSWin32'; FusionInventory::Agent::Tools::Win32->use(); my $key = first { getRegistryKey( path => $_ ) } qw( HKEY_LOCAL_MACHINE/SYSTEM/LiteManager HKEY_LOCAL_MACHINE/SOFTWARE/LiteManager ); return $key && keys(%{$key}); } sub isEnabledForRemote { my (%params) = @_; return 0 unless $OSNAME eq 'MSWin32'; FusionInventory::Agent::Tools::Win32->use(); my $key = first { getRegistryKey( path => $_ ) } qw( HKEY_LOCAL_MACHINE/SYSTEM/LiteManager HKEY_LOCAL_MACHINE/SOFTWARE/LiteManager ); return $key && keys(%{$key}); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $liteManagerID = _getID( logger => $logger ); if ($liteManagerID) { $logger->debug('Found LiteManagerID : ' . $liteManagerID) if ($logger); $inventory->addEntry( section => 'REMOTE_MGMT', entry => { ID => $liteManagerID, TYPE => 'litemanager' } ); } else { $logger->debug('LiteManagerID not found') if ($logger); } } sub _getID { my (%params) = @_; return first { _findID( path => $_, %params ) } qw( HKEY_LOCAL_MACHINE/SYSTEM/LiteManager HKEY_LOCAL_MACHINE/SOFTWARE/LiteManager ); } sub _findID { my (%params) = @_; FusionInventory::Agent::Tools::Win32->use(); my $key = getRegistryKey( %params, wmiopts => { # Only used for remote WMI optimization values => [ 'ID (read only)' ] } ); return unless $key && keys(%{$key}); my $parameters; foreach my $sub (grep { m|/$| } keys(%{$key})) { next unless $key->{$sub}->{"Server/"}; next unless $key->{$sub}->{"Server/"}->{"Parameters/"}; $parameters = $key->{$sub}->{"Server/"}->{"Parameters/"}; last; } return unless $parameters; return $parameters->{"/ID (read only)"}; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Remote_Mgmt/TeamViewer.pm0000644000175000017500000000676613712210012034035 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Remote_Mgmt::TeamViewer; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; if ($OSNAME eq 'MSWin32') { FusionInventory::Agent::Tools::Win32->use(); my $key = getRegistryKey( path => is64bit() ? "HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/TeamViewer" : "HKEY_LOCAL_MACHINE/SOFTWARE/TeamViewer", logger => $params{logger} ); return $key && (keys %$key); } elsif ($OSNAME eq 'darwin') { return canRun('defaults') && grep { -e $_ } map { "/Library/Preferences/com.teamviewer.teamviewer$_.plist" } qw( .preferences 10 9 8 7 ); } return canRun('teamviewer'); } sub isEnabledForRemote { my (%params) = @_; if ($OSNAME eq 'MSWin32') { FusionInventory::Agent::Tools::Win32->use(); my $key = getRegistryKey( path => is64bit() ? "HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/TeamViewer" : "HKEY_LOCAL_MACHINE/SOFTWARE/TeamViewer", logger => $params{logger} ); return $key && (keys %$key); } return 0; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $teamViewerID = _getID(logger => $logger); if (defined($teamViewerID)) { $logger->debug('Found TeamViewerID : ' . $teamViewerID) if ($logger); $inventory->addEntry( section => 'REMOTE_MGMT', entry => { ID => $teamViewerID, TYPE => 'teamviewer' } ); } else { $logger->debug('TeamViewerID not found') if ($logger); } } sub _getID { my (%params) = @_; if ($OSNAME eq 'MSWin32') { FusionInventory::Agent::Tools::Win32->use(); my $clientid = getRegistryValue( path => is64bit() ? "HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/TeamViewer/ClientID" : "HKEY_LOCAL_MACHINE/Software/TeamViewer/ClientID", wmiopts => { # Only used for remote WMI optimization values => [ qw/ClientID/ ] } ); unless ($clientid) { my $teamviever_reg = getRegistryKey( path => is64bit() ? "HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/TeamViewer" : "HKEY_LOCAL_MACHINE/SOFTWARE/TeamViewer", wmiopts => { # Only used for remote WMI optimization values => [ qw/ClientID/ ] } ); # Look for subkey beginning with Version foreach my $key (keys(%{$teamviever_reg})) { next unless $key =~ /^Version\d+\//; $clientid = $teamviever_reg->{$key}->{"/ClientID"}; last if (defined($clientid)); } } return hex2dec($clientid); } if ($OSNAME eq 'darwin') { my ( $plist_file ) = grep { -e $_ } map { "/Library/Preferences/com.teamviewer.teamviewer$_.plist" } qw( .preferences 10 9 8 7 ); return getFirstLine( command => "defaults read $plist_file ClientID" ) ; } return getFirstMatch( command => "teamviewer --info", pattern => qr/TeamViewer ID:(?:\033\[0m|\s)*(\d+)\s+/, %params ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Drives/0000755000175000017500000000000013757703276030461 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Drives/ASM.pm0000644000175000017500000000673413755163116031440 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Drives::ASM; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; sub isEnabled { return 0 if $OSNAME eq 'MSWin32'; return grep { $_->{CMD} =~ /^asm_pmon/ } getProcesses(); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # First get asm_pmon process my ($asm_pmon) = grep { $_->{CMD} =~ /^asm_pmon/ } getProcesses(logger => $logger) or return; my $user = $asm_pmon->{USER}; my ($asm) = $asm_pmon->{CMD} =~ /(\+ASM.*)$/ or return; # Then lookup GRID_HOME in user's environment my $root = $user eq 'root' ? 1 : 0; my $grid_home = $root ? $ENV{GRID_HOME} : getFirstLine(command => "su - $user -c 'echo \$GRID_HOME'"); if (!$grid_home && -e "/etc/oratab") { my @oratab = getAllLines(file => "/etc/oratab"); my $asm_for_re = $asm; $asm_for_re =~ s/\+/\\+/; my ($line) = grep { /^$asm_for_re:/ } @oratab; ($grid_home) = $line =~ /^$asm_for_re:([^:]+):/ if $line; } # Oracle documentation: # see https://docs.oracle.com/cd/E11882_01/server.112/e18951/asm_util004.htm#OSTMG94549 # But also try oracle user if grid user doesn't exist, and finally try as root my $cmd = ($grid_home ? "$grid_home/bin/" : "")."asmcmd lsdg"; local $ENV{ORACLE_SID} = $asm if $root; local $ENV{ORACLE_HOME} = $grid_home if $root && $grid_home; $cmd = "su - $user -c \"ORACLE_SID=$asm ORACLE_HOME=$grid_home $cmd\"" unless $root; my $diskgroups = _getDisksGroups( command => $cmd, logger => $logger ); return unless $diskgroups; # Add disks groups inventory as DRIVES foreach my $diskgroup (@{$diskgroups}) { my $name = $diskgroup->{NAME} or next; # Only report mounted group next unless ($diskgroup->{STATE} && $diskgroup->{STATE} eq 'MOUNTED'); $inventory->addEntry( section => 'DRIVES', entry => { LABEL => $diskgroup->{NAME}, VOLUMN => 'diskgroup', TOTAL => $diskgroup->{TOTAL}, FREE => $diskgroup->{FREE} } ); } } sub _getDisksGroups { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my @groups = (); my $line_count = 0; while (my $line = <$handle>) { # Cleanup line chomp($line); $line = trimWhitespace($line); # Logic to skip header $line_count ++; next if ($line_count == 1 && $line =~ /^State.*Name$/); my @infos = split(/\s+/, $line); next unless @infos == 13 || @infos == 14; # Cleanup trailing slash on NAME $infos[$#infos] =~ s|/+$||; # Fix total against TYPE field my $total = int($infos[$#infos-6] || 0) - int($infos[$#infos-4] || 0); if ($infos[1] =~ /^NORMAL|HIGH$/) { $total /= $infos[1] eq 'HIGH' ? 3 : 2; } push @groups, { NAME => $infos[$#infos] || 'NONAME', STATE => $infos[0] || 'UNKNOWN', TYPE => $infos[1] || 'EXTERN', TOTAL => int($total), FREE => int($infos[$#infos-3]) }; } close $handle; return \@groups; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/PCI/0000755000175000017500000000000013757703277027641 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/PCI/Sounds.pm0000644000175000017500000000174413712210012031423 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::PCI::Sounds; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{sound}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $sound (_getSounds(logger => $logger)) { $inventory->addEntry( section => 'SOUNDS', entry => $sound ); } } sub _getSounds { my @sounds; foreach my $device (getPCIDevices(@_)) { next unless $device->{NAME} =~ /audio/i; push @sounds, { NAME => $device->{NAME}, MANUFACTURER => $device->{MANUFACTURER}, DESCRIPTION => $device->{REV} && "rev $device->{REV}", }; } return @sounds; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/PCI/Modems.pm0000644000175000017500000000163613712210012031374 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::PCI::Modems; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{modem}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $modem (_getModems(logger => $logger)) { $inventory->addEntry( section => 'MODEMS', entry => $modem ); } } sub _getModems { my @modems; foreach my $device (getPCIDevices(@_)) { next unless $device->{NAME} =~ /modem/i; push @modems, { DESCRIPTION => $device->{NAME}, NAME => $device->{MANUFACTURER}, }; } return @modems; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/PCI/Videos.pm0000644000175000017500000000202613712210012031373 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::PCI::Videos; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools::Generic; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{video}; # both windows and linux have dedicated modules return $OSNAME ne 'MSWin32' && $OSNAME ne 'linux'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $video (_getVideos(logger => $logger)) { $inventory->addEntry( section => 'VIDEOS', entry => $video ); } } sub _getVideos { my @videos; foreach my $device (getPCIDevices(@_)) { next unless $device->{NAME} =~ /graphics|vga|video|display/i; push @videos, { CHIPSET => $device->{NAME}, NAME => $device->{MANUFACTURER}, }; } return @videos; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/PCI/Controllers.pm0000644000175000017500000000513513712210012032454 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::PCI::Controllers; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{controller}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $controller (_getControllers( logger => $params{logger}, datadir => $params{datadir} )) { $inventory->addEntry( section => 'CONTROLLERS', entry => $controller ); } } sub _getControllers { my @controllers; foreach my $device (getPCIDevices(@_)) { next unless $device->{PCIID}; # duplicate entry to avoid modifying it directly my $controller = { PCICLASS => $device->{PCICLASS}, NAME => $device->{NAME}, MANUFACTURER => $device->{MANUFACTURER}, REV => $device->{REV}, PCISLOT => $device->{PCISLOT}, }; $controller->{DRIVER} = $device->{DRIVER} if $device->{DRIVER}; $controller->{PCISUBSYSTEMID} = $device->{PCISUBSYSTEMID} if $device->{PCISUBSYSTEMID}; my ($vendor_id, $device_id) = split (/:/, $device->{PCIID}); $controller->{VENDORID} = $vendor_id; $controller->{PRODUCTID} = $device_id; my $subdevice_id = $device->{PCISUBSYSTEMID}; my $vendor = getPCIDeviceVendor(id => $vendor_id, @_); if ($vendor) { $controller->{MANUFACTURER} = $vendor->{name}; if ($vendor->{devices}->{$device_id}) { my $entry = $vendor->{devices}->{$device_id}; $controller->{CAPTION} = $entry->{name}; $controller->{NAME} = $subdevice_id && $entry->{subdevices}->{$subdevice_id} ? $entry->{subdevices}->{$subdevice_id}->{name} : $entry->{name}; } } next unless $device->{PCICLASS}; $device->{PCICLASS} =~ /^(\S\S)(\S\S)$/x; my $class_id = $1; my $subclass_id = $2; my $class = getPCIDeviceClass(id => $class_id, @_); if ($class) { $controller->{TYPE} = $subclass_id && $class->{subclasses}->{$subclass_id} ? $class->{subclasses}->{$subclass_id}->{name} : $class->{name}; } push @controllers, $controller; } return @controllers; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Domains.pm0000644000175000017500000000276613712210012031134 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Domains; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Sys::Hostname; use FusionInventory::Agent::Tools; sub isEnabled { return -f "/etc/resolv.conf"; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # first, parse /etc/resolv.conf for the DNS servers, # and the domain search list my %dns_list; my %search_list; my $handle = getFileHandle( file => '/etc/resolv.conf', logger => $logger ); if ($handle) { while (my $line = <$handle>) { if (my ($dns) = $line =~ /^nameserver\s+(\S+)/) { $dns =~ s/\.+$//; $dns_list{$dns} = 1; } elsif (my ($domain) = $line =~ /^(?:domain|search)\s+(\S+)/) { $domain =~ s/\.$//; $search_list{$domain} = 1; } } close $handle; } my $dns = join('/', sort keys %dns_list); # attempt to deduce the actual domain from the host name # and fallback on the domain search list my $domain; my $hostname = hostname(); my $pos = index $hostname, '.'; if ($pos >= 0) { $domain = substr($hostname, $pos + 1); $domain =~ s/\.+$//; } else { $domain = join('/', sort keys %search_list); } $inventory->setHardware({ WORKGROUP => $domain, DNS => $dns }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode.pm0000644000175000017500000000112613712210012031404 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Dmidecode; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use UNIVERSAL::require; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; sub isEnabled { # don't run dmidecode on Win2003 # http://forge.fusioninventory.org/issues/379 if ($OSNAME eq 'MSWin32') { Win32->require(); return if Win32::GetOSName() eq 'Win2003'; } return canRun('dmidecode') && getDmidecodeInfos(); } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Printers.pm0000644000175000017500000000330713712210012031340 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Printers; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use UNIVERSAL::require; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{printer}; # we use system profiler on MacOS return 0 if $OSNAME eq 'darwin'; # we use WMI on Windows return 0 if $OSNAME eq 'MSWin32'; Net::CUPS->require(); if ($EVAL_ERROR) { $params{logger}->debug( "Net::CUPS Perl module not available, unable to retrieve printers" ); return 0; } if ($Net::CUPS::VERSION < 0.60) { $params{logger}->debug( "Net::CUPS Perl module too old " . "(available: $Net::CUPS::VERSION, required: 0.60), ". "unable to retrieve printers" ); return 0; } return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $cups = Net::CUPS->new(); my @printers = $cups->getDestinations(); foreach my $printer (@printers) { my $uri = $printer->getUri(); my $name = $uri; $name =~ s/^.*\/\/([^\.]*).*$/$1/eg ; $name =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg; $inventory->addEntry( section => 'PRINTERS', entry => { NAME => $name, PORT => $uri, DESCRIPTION => $printer->getDescription(), DRIVER => $printer->getOptionValue( "printer-make-and-model" ), } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Processes.pm0000644000175000017500000000132313712210012031474 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Processes; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; sub isEnabled { my (%params) = @_; return $OSNAME ne 'MSWin32' && !$params{no_category}->{process} && canRun('ps'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $process (getProcesses(logger => $logger)) { $inventory->addEntry( section => 'PROCESSES', entry => $process ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Rudder.pm0000644000175000017500000001140313712210012030753 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Rudder; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; sub isEnabled { return -r getUuidFile(); } sub getUuidFile { return (($OSNAME eq 'MSWin32') ? 'C:\Program Files\Rudder\etc\uuid.hive' : '/opt/rudder/etc/uuid.hive'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $uuid_hive = getUuidFile(); # Get Rudder UUID my $Uuid = getFirstLine( logger => $logger, file => $uuid_hive ); # Get all agents running on that machine my @agents = _manageAgent( logger => $logger ); # Get machine hostname my $command = $OSNAME eq 'linux' ? 'hostname --fqdn' : 'hostname'; my $hostname = getFirstLine( logger => $logger, command => $command ); # Get server roles my @serverRoles = _listServerRoles(); # Get agent capabilities my @agentCapabilities = _listAgentCapabilities(); my $rudder = { HOSTNAME => $hostname, UUID => $Uuid, AGENT => \@agents, SERVER_ROLES => { SERVER_ROLE => \@serverRoles }, AGENT_CAPABILITIES => { AGENT_CAPABILITY => \@agentCapabilities }, }; $inventory->addEntry( section => 'RUDDER', entry => $rudder ); } sub _listServerRoles { my $server_roles_dir = ($OSNAME eq 'MSWin32') ? 'C:\Program Files\Rudder\etc\server-roles.d' : '/opt/rudder/etc/server-roles.d'; my @server_roles; if (-d "$server_roles_dir") { opendir(DIR, $server_roles_dir); # or die $!; # List each file in the server-roles directory, each file name is a role while (my $file = readdir(DIR)) { # Use a regular expression to ignore files beginning with a period next if ($file =~ m/^\./); push @server_roles, $file; } closedir(DIR); } return @server_roles; } sub _listAgentCapabilities { my $capabilities_file = ($OSNAME eq 'MSWin32') ? 'C:\Program Files\Rudder\etc\agent-capabilities' : '/opt/rudder/etc/agent-capabilities'; my @capabilities; # List agent capabilities, one per line in the file if (-f "$capabilities_file") { if (open(my $fh, '<:encoding(UTF-8)', $capabilities_file)) { while (my $row = <$fh>) { chomp $row; push @capabilities, $row; } close $fh; } } return @capabilities; } sub _manageAgent { my %params = @_; my $logger = $params{logger}; my @agents; # Potential agent directory candidates my %agent_candidates = ( '/var/rudder/cfengine-community' => 'cfengine-community', '/var/rudder/cfengine-nova' => 'cfengine-nova', 'C:/Program Files/Cfengine' => 'cfengine-nova', ); foreach my $candidate (keys(%agent_candidates)){ # Verify if the candidate is installed and configured next unless ( -e "${candidate}/policy_server.dat" ); # Get a list of useful file paths to key Rudder components my $agent_name = "$agent_candidates{${candidate}}"; my $server_hostname_file = "${candidate}/policy_server.dat"; my $uuid_file = "${candidate}/rudder-server-uuid.txt"; my $cfengine_key_file = "${candidate}/ppkeys/localhost.pub"; # get policy server hostname my $serverHostname = getFirstLine ( logger => $logger, file => $server_hostname_file ); chomp $serverHostname; # Get the policy server UUID # # The default file is no longer /var/rudder/tmp/uuid.txt since the # change in http://www.rudder-project.org/redmine/issues/2443. # We gracefully fallback to the old default if the new file cannot # be found. my $serverUuid = getFirstLine ( logger => $logger, file => ( -e "$uuid_file" ) ? $uuid_file : "/var/rudder/tmp/uuid.txt" ); chomp $serverUuid; # get CFengine public key my $cfengineKey = getAllLines( file => $cfengine_key_file ); # get owner name my $owner = getFirstLine ( logger => $logger, command => 'whoami' ); # build agent from datas my $agent = { AGENT_NAME => $agent_name, POLICY_SERVER_HOSTNAME => $serverHostname, CFENGINE_KEY => $cfengineKey, OWNER => $owner, POLICY_SERVER_UUID => $serverUuid, }; push @agents, $agent; } return @agents; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Timezone.pm0000644000175000017500000000546413712210012031332 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Timezone; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use UNIVERSAL::require; use POSIX; use Time::Local; use FusionInventory::Agent::Tools; sub isEnabled { # No specific dependencies necessary return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # Compute a timezone offset like '+0200' using the difference between UTC and local time # Might require merging with detectLocalTimeOffset (macOS inventory) in the future ## Get the local time my @t = localtime(time); ## Compute the time offset in seconds between local and UTC time (relative and absolute) my $utc_offset_seconds = timegm(@t) - timelocal(@t); my $utc_offset_seconds_abs = abs($utc_offset_seconds); ## Offset sign is minus if $utc_offset_seconds is negative, plus otherwise. my $offset_sign = $utc_offset_seconds < 0 ? '-' : '+'; ## Format the offset string: sign + H (XX) + M (XX) my $tz_offset = strftime( $offset_sign . "\%H\%M", gmtime($utc_offset_seconds_abs) ); # Assume by default that the offset is empty (safe default in case something goes wrong below) my $tz_name = ''; # Timezone name extraction will use one of the following sources: # * DateTime::TimeZone and DateTime::TimeZone::Local::{Win32,Unix} => 'Europe/Paris' # * tzutil (Win 7+, Win 2008+) => 'Romance Standard Time' # * strftime '%Z' => 'CEST' # # strftime will not be used on Windows, as it returns unpredictable localized TZ names. It means # that if reliable timezone name extraction is wanted, DateTime::TimeZone MUST be used. if ( ( DateTime::TimeZone->require() ) && ( $OSNAME eq 'MSWin32' ? DateTime::TimeZone::Local::Win32->require() : DateTime::TimeZone::Local::Unix->require() ) ) { $logger->debug("Using DateTime::TimeZone to get the timezone name"); $tz_name = DateTime::TimeZone->new( name => 'local' )->name(); } elsif ( ( $OSNAME eq 'MSWin32' ) || ( canRun('tzutil') ) ) { $logger->debug("Using tzutil to get the timezone name"); my $handle = getFileHandle( logger => $logger, command => 'tzutil /g', ); while ( my $line = <$handle> ) { $tz_name = $line; } close $handle; } elsif ( $OSNAME ne 'MSWin32' ) { $logger->debug("Using strftime to get the timezone name"); $tz_name = strftime( "%Z", localtime() ); } $inventory->setOperatingSystem( { TIMEZONE => { NAME => $tz_name, OFFSET => $tz_offset, } } ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Environment.pm0000644000175000017500000000132413712210012032033 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Environment; use English qw(-no_match_vars); use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return # We use WMI for Windows because of charset issue $OSNAME ne 'MSWin32' && !$params{no_category}->{environment}; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $key (keys %ENV) { $inventory->addEntry( section => 'ENVS', entry => { KEY => $key, VAL => $ENV{$key} } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Networks/0000755000175000017500000000000013757703276031041 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Networks/iLO.pm0000644000175000017500000000434213712210012032031 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Networks::iLO; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; our $runMeIfTheseChecksFailed = ['FusionInventory::Agent::Task::Inventory::Generic::Ipmi::Lan']; sub isEnabled { return $OSNAME eq 'MSWin32' ? canRun("C:\\Program\ Files\\HP\\hponcfg\\hponcfg.exe") : canRun('hponcfg'); } sub _parseHponcfg { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my $interface = { DESCRIPTION => 'Management Interface - HP iLO', TYPE => 'ethernet', MANAGEMENT => 'iLO', STATUS => 'Down', }; while (my $line = <$handle>) { if ($line =~ //) { $interface->{IPADDRESS} = $1 unless $1 eq '0.0.0.0'; } if ($line =~ //) { $interface->{IPMASK} = $1; } if ($line =~ //) { $interface->{IPGATEWAY} = $1; } if ($line =~ //) { $interface->{SPEED} = $1; } if ($line =~ //) { $interface->{STATUS} = 'Up'; } if ($line =~ /not found/) { chomp $line; $params{logger}->error("error in hponcfg output: $line") if $params{logger}; } } close $handle; $interface->{IPSUBNET} = getSubnetAddress( $interface->{IPADDRESS}, $interface->{IPMASK} ); return $interface; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $command = $OSNAME eq 'MSWin32' ? '"c:\Program Files\HP\hponcfg\hponcfg" /a /w output.txt >nul 2>&1 && type output.txt' : 'hponcfg -aw -'; my $entry = _parseHponcfg( logger => $logger, command => $command ); $inventory->addEntry( section => 'NETWORKS', entry => $entry ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Drives.pm0000644000175000017500000000043313712210012030763 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Drives; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{drive}; return 1; } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/SSH.pm0000644000175000017500000000173413712210012030171 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::SSH; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('ssh-keyscan'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $port; my $command = "ssh-keyscan"; if (-e '/etc/ssh/sshd_config') { foreach my $line (getAllLines( file => '/etc/ssh/sshd_config' )) { next unless $line =~ /^Port\s+(\d+)/; $port = $1; } } $command .= " -p $port" if $port; # Use a 1 second timeout instead of default 5 seconds as this is still # large enough for loopback ssh pubkey scan. $command .= ' -T 1 127.0.0.1'; my $ssh_key = getFirstMatch( command => $command, pattern => qr/^[^#]\S+\s(ssh.*)/, @_, ); $inventory->setOperatingSystem({ SSH_KEY => $ssh_key }) if $ssh_key; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/0000755000175000017500000000000013757703277031203 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/RPM.pm0000644000175000017500000000334113712210012032143 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Softwares::RPM; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('rpm'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $command = 'rpm -qa --queryformat \'' . '%{NAME}\t' . '%{ARCH}\t' . '%{VERSION}-%{RELEASE}\t' . '%{INSTALLTIME}\t' . '%{SIZE}\t' . '%{VENDOR}\t' . '%{SUMMARY}\t' . '%{GROUP}\n' . '\''; my $packages = _getPackagesList( logger => $logger, command => $command ); return unless $packages; foreach my $package (@$packages) { $inventory->addEntry( section => 'SOFTWARES', entry => $package ); } } sub _getPackagesList { my $handle = getFileHandle(@_); return unless $handle; my @packages; while (my $line = <$handle>) { chomp $line; my @infos = split("\t", $line); my $package = { NAME => $infos[0], ARCH => $infos[1], VERSION => $infos[2], FILESIZE => $infos[4], COMMENTS => $infos[6], FROM => 'rpm', SYSTEM_CATEGORY => $infos[7] }; my ($year, $month, $day) = (localtime($infos[3]))[5, 4, 3]; $package->{INSTALLDATE} = sprintf( "%02d/%02d/%04d", $day, $month + 1, $year + 1900 ); $package->{PUBLISHER} = $infos[5] if $infos[5] ne '(none)'; push @packages, $package; } close $handle; return \@packages; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Deb.pm0000644000175000017500000000411313712210012032175 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Softwares::Deb; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('dpkg-query'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $command = 'dpkg-query --show --showformat=\'' . '${Package}\t' . '${Architecture}\t' . '${Version}\t'. '${Installed-Size}\t'. '${Section}\t' . '${Status}\n' . '\''; my $packages = _getPackagesList( logger => $logger, command => $command ); return unless $packages; # mimic RPM inventory behaviour, as GLPI aggregates software # based on name and publisher my $publisher = getFirstMatch( logger => $logger, pattern => qr/^Distributor ID:\s(.+)/, command => 'lsb_release -i', ); foreach my $package (@$packages) { $package->{PUBLISHER} = $publisher; $inventory->addEntry( section => 'SOFTWARES', entry => $package ); } } sub _getPackagesList { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my @packages; while (my $line = <$handle>) { # skip descriptions next if $line =~ /^ /; chomp $line; my @infos = split("\t", $line); # Only keep as installed package if status matches if ($infos[5] && $infos[5] !~ / installed$/) { $params{logger}->debug( "Skipping $infos[0] package as not installed, status='$infos[5]'" ) if $params{logger}; next; } push @packages, { NAME => $infos[0], ARCH => $infos[1], VERSION => $infos[2], FILESIZE => $infos[3] =~ /^\d+$/ ? $infos[3]*1024 : 0, FROM => 'deb', SYSTEM_CATEGORY => $infos[4] }; } close $handle; return \@packages; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Gentoo.pm0000644000175000017500000000255113712210012032742 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Softwares::Gentoo; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; sub isEnabled { return canRun('equery'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $command = _equeryNeedsWildcard() ? "equery list -i '*'" : "equery list -i"; my $packages = _getPackagesList( logger => $logger, command => $command ); foreach my $package (@$packages) { $inventory->addEntry( section => 'SOFTWARES', entry => $package ); } } sub _getPackagesList { my $handle = getFileHandle(@_); my @packages; while (my $line = <$handle>) { chomp $line; next unless $line =~ /^(.*)-([0-9]+.*)/; push @packages, { NAME => $1, VERSION => $2, }; } close $handle; return \@packages; } # http://forge.fusioninventory.org/issues/852 sub _equeryNeedsWildcard { my ($major, $minor) = getFirstMatch( command => 'equery -V', pattern => qr/^equery ?\((\d+)\.(\d+)\.\d+\)/, @_ ); # true starting from version 0.3 return compareVersion($major, $minor, 0, 3); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Slackware.pm0000644000175000017500000000170413712210012033422 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Softwares::Slackware; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('pkgtool'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $handle = getDirectoryHandle( directory => '/var/log/packages', logger => $logger ); return unless $handle; while (my $file = readdir($handle)) { next unless $file =~ /^(.+)-(.+)-(i[0-9]86|noarch|x86_64|x86|fw|npmjs)-(.*)$/; my $name = $1; my $version = $2; my $arch = $3; $inventory->addEntry( section => 'SOFTWARES', entry => { NAME => $name, VERSION => $version, ARCH => $arch } ); } closedir $handle; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Snap.pm0000644000175000017500000000563213757510164032437 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Softwares::Snap; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use File::stat; use YAML::Tiny; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('snap'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $packages = _getPackagesList( logger => $logger, command => 'snap list --color never', ); return unless $packages; foreach my $snap (@{$packages}) { _getPackagesInfo( logger => $logger, snap => $snap, command => 'snap info --color never --abs-time '.$snap->{NAME}, ); $inventory->addEntry( section => 'SOFTWARES', entry => $snap ); } } sub _getPackagesList { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my @packages; while (my $line = <$handle>) { chomp $line; my @infos = split(/\s+/, $line) or next; # Skip header next if $infos[0] eq 'Name' && $infos[1] eq 'Version'; # Skip base and snapd next if $infos[5] && $infos[5] =~ /^base|core|snapd$/; my $snap = { NAME => $infos[0], VERSION => $infos[1], FROM => 'snap' }; my $folder = "/snap/".$snap->{NAME}; # Don't check install date during unittest if (!$params{file} && -d $folder) { my $st = stat($folder); my ($year, $month, $day) = (localtime($st->mtime))[5, 4, 3]; $snap->{INSTALLDATE} = sprintf( "%02d/%02d/%04d", $day, $month + 1, $year + 1900 ); } push @packages, $snap; } close $handle; return \@packages; } sub _getPackagesInfo { my (%params) = @_; # snap info command may wrongly output some long infos local $ENV{COLUMNS} = 100; my $snap = delete $params{snap}; my $lines = getAllLines(%params) or return; my ($yaml, $infos); eval { $yaml = YAML::Tiny->read_string($lines); $infos = $yaml->[0]; }; if ($EVAL_ERROR && $params{logger}) { $params{logger}->warning("Wrong $snap->{NAME} snap info output: $EVAL_ERROR"); $params{logger}->info("Please report snap info output:\n$lines"); } return unless $infos && $infos->{name}; $snap->{PUBLISHER} = $infos->{publisher}; # Cleanup publisher from 'starred' if verified $snap->{PUBLISHER} =~ s/[*]$//; $snap->{COMMENTS} = $infos->{summary}; $snap->{HELPLINK} = $infos->{contact}; # Find installed size my ($size) = $infos->{installed} =~ /\(.*\)\s+(\d+\S+)/; $snap->{FILESIZE} = getCanonicalSize($size, 1024) * 1048576 if $size; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Nix.pm0000644000175000017500000000233613712210012032246 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Softwares::Nix; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('nix-store'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $command = 'nix-store --gc --print-live'; my $packages = _getPackagesList( logger => $logger, command => $command ); return unless $packages; foreach my $package (@$packages) { $inventory->addEntry( section => 'SOFTWARES', entry => $package ); } } sub _getPackagesList { my $handle = getFileHandle(@_); return unless $handle; my @packages; my %seen = (); while (my $line = <$handle>) { chomp $line; next unless $line =~ m%^/nix/store/[^-]+-(.+)-(\d+(\.\d+)*)$%; my $package = { NAME => $1, VERSION => $2, FROM => 'nix' }; next if $seen{$package->{NAME} . '-' . $package->{VERSION}}++; push @packages, $package; } close $handle; return \@packages; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Pacman.pm0000644000175000017500000000474013712210012032710 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Softwares::Pacman; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('pacman'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $packages = _getPackagesList( logger => $logger, command => 'pacman -Qqi' ); return unless $packages; foreach my $package (@$packages) { $inventory->addEntry( section => 'SOFTWARES', entry => $package ); } } sub _getPackagesList { my $handle = getFileHandle(@_); return unless $handle; my @packages; my $package; my $index = 1; my %months = map { $_ => $index ++ } qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec); while (my $line = <$handle>) { chomp $line; next unless $line; next unless $line =~ /^(\S[^:]*):\s*(.*)$/; my $key = $1; my $value = $2; $key =~ s/\s+$//; if ($key eq 'Name') { push @packages, $package if $package; $package = { NAME => $value }; } elsif ($key eq 'Version' && $value) { $value =~ s/^\d+://; $package->{VERSION} = $value; } elsif ($key eq 'Description' && $value) { $package->{COMMENTS} = $value; } elsif ($key eq 'Architecture' && $value) { $package->{ARCH} = $value; } elsif ($key eq 'Install Date' && $value) { my ($month, $day, $year) = $value =~ /^\w+\s+(\w+)\s+(\d+)\s+[\d:]+\s+(\d+)$/; next unless $month && $months{$month}; $package->{INSTALLDATE} = sprintf("%d/%02d/%d", $day, $months{$month}, $year); } elsif ($key eq 'Installed Size' && $value) { if ($value =~ /^([\d.]+)\s+(\w+)$/) { my $size = $2 eq 'KiB' ? $1 * 1024 : $2 eq 'MiB' ? $1 * 1048576 : $2 eq 'GiB' ? $1 * 1073741824 : $1; $package->{FILESIZE} = int($size); } } elsif ($key eq 'Groups' && $value && $value ne 'None') { $package->{SYSTEM_CATEGORY} = join(',', split(/\s+/,$value)); } } close $handle; # Add last software push @packages, $package if $package; return \@packages; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Batteries.pm0000644000175000017500000000044013712210012031447 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Batteries; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{battery}; return 1; } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Batteries/0000755000175000017500000000000013757703277031150 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Batteries/Upower.pm0000644000175000017500000000615513750013366032760 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Batteries::Upower; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Batteries; # Run after virtualization to decide if found component is virtual our $runAfterIfEnabled = [ qw( FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Battery )]; sub isEnabled { my (%params) = @_; return canRun('upower'); } sub doInventory { my (%params) = @_; my $logger = $params{logger}; my $inventory = $params{inventory}; my $batteries = Inventory::Batteries->new( logger => $logger ); my $section = $inventory->getSection('BATTERIES') || []; # Empty current BATTERIES section into a new batteries list while (@{$section}) { my $battery = shift @{$section}; $batteries->add($battery); } # Merge batteries reported by upower $batteries->merge(_getBatteriesFromUpower(logger => $logger)); # Add back merged batteries into inventories foreach my $battery ($batteries->list()) { $inventory->addEntry( section => 'BATTERIES', entry => $battery ); } } sub _getBatteriesFromUpower { my (%params) = @_; my @batteriesName = _getBatteriesNameFromUpower(%params); return unless @batteriesName; my @batteries = (); foreach my $battName (@batteriesName) { my $battery = _getBatteryFromUpower( name => $battName, %params ); push @batteries, $battery if $battery; } return @batteries; } sub _getBatteriesNameFromUpower { my (%params) = @_; my @lines = getAllLines( command => 'upower --enumerate', %params ); my @battName; for my $line (@lines) { if ($line =~ /^(.*\/battery_\S+)$/) { push @battName, $1; } } return @battName; } sub _getBatteryFromUpower { my (%params) = @_; $params{command} = 'upower -i ' . $params{name} if defined($params{name}); my @lines = getAllLines(%params); return unless @lines; my $data = {}; foreach my $line (@lines) { if ($line =~ /^\s*(\S+):\s*(\S+(?:\s+\S+)*)$/) { $data->{$1} = $2; } } my $battery = { NAME => $data->{'model'}, CHEMISTRY => $data->{'technology'}, SERIAL => sanitizeBatterySerial($data->{'serial'}), }; my $manufacturer = $data->{'vendor'} || $data->{'manufacturer'}; $battery->{MANUFACTURER} = getCanonicalManufacturer($manufacturer) if $manufacturer; my $voltage = getCanonicalVoltage($data->{'voltage'}); $battery->{VOLTAGE} = $voltage if $voltage; my $capacity = getCanonicalCapacity($data->{'energy-full-design'}, $voltage); $battery->{CAPACITY} = $capacity if $capacity; my $real_capacity = getCanonicalCapacity($data->{'energy-full'}, $voltage); $battery->{REAL_CAPACITY} = $real_capacity if defined($real_capacity) && length($real_capacity); return $battery; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Batteries/SysClass.pm0000644000175000017500000000735113750013366033242 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Batteries::SysClass; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Batteries; # Run after virtualization to decide if found component is virtual our $runAfterIfEnabled = [ qw( FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Battery FusionInventory::Agent::Task::Inventory::Generic::Batteries::Acpiconf FusionInventory::Agent::Task::Inventory::Generic::Batteries::Upower )]; sub isEnabled { my (%params) = @_; return glob "/sys/class/power_supply/*/capacity"; } sub doInventory { my (%params) = @_; my $logger = $params{logger}; my $inventory = $params{inventory}; my $batteries = Inventory::Batteries->new( logger => $logger ); my $section = $inventory->getSection('BATTERIES') || []; # Empty current BATTERIES section into a new batteries list while (@{$section}) { my $battery = shift @{$section}; $batteries->add($battery); } # Merge batteries reported by upower $batteries->merge(_getBatteriesFromSysClass(logger => $logger)); # Add back merged batteries into inventories foreach my $battery ($batteries->list()) { $inventory->addEntry( section => 'BATTERIES', entry => $battery ); } } sub _getBatteriesFromSysClass { my (%params) = @_; my @batteries = (); foreach my $psu (glob "/sys/class/power_supply/*") { my $type = getFirstLine(file => "$psu/type") or next; my $present = getFirstLine(file => "$psu/present") or next; next unless $type eq "Battery" && -e "$psu/capacity"; my $battery = _getBatteryFromSysClass( psu => $psu, %params ); push @batteries, $battery if $battery; } return @batteries; } sub _getBatteryFromSysClass { my (%params) = @_; my $data = {}; my $battery = { NAME => getFirstLine(file => "$params{psu}/model_name"), CHEMISTRY => getFirstLine(file => "$params{psu}/technology"), SERIAL => sanitizeBatterySerial(getFirstLine(file => "$params{psu}/serial_number")), }; my $manufacturer = getFirstLine(file => "$params{psu}/manufacturer"); $battery->{MANUFACTURER} = getCanonicalManufacturer($manufacturer) if $manufacturer; # Voltage is provided in µV my $voltage = getFirstLine(file => "$params{psu}/voltage_min_design"); $battery->{VOLTAGE} = int($voltage/1000) if $voltage; # Energy full design is provided in µWh my $capacity = getFirstLine(file => "$params{psu}/energy_full_design"); $battery->{CAPACITY} = int($capacity/1000) if $capacity; # Charge full design is provided in µAh unless ($capacity) { my $charge = getFirstLine(file => "$params{psu}/charge_full_design"); $capacity = getCanonicalCapacity(int($charge/1000)." mAh", $battery->{VOLTAGE}) if $charge && $battery->{VOLTAGE}; $battery->{CAPACITY} = $capacity if $capacity; } # Real ernergy is provided in µWh my $realCapacity = getFirstLine(file => "$params{psu}/energy_full"); $battery->{REAL_CAPACITY} = int($realCapacity/1000) if $realCapacity; # Real charge is provided in µAh unless ($realCapacity) { my $realCharge = getFirstLine(file => "$params{psu}/charge_full"); $realCharge = getCanonicalCapacity(int($realCharge/1000)." mAh", $battery->{VOLTAGE}) if $realCharge && $battery->{VOLTAGE}; $battery->{REAL_CAPACITY} = $realCharge if $realCharge; } return $battery; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Batteries/Acpiconf.pm0000644000175000017500000000513213750013366033213 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Batteries::Acpiconf; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Batteries; # Run after virtualization to decide if found component is virtual our $runAfterIfEnabled = [ qw( FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Battery FusionInventory::Agent::Task::Inventory::Generic::Batteries::Upower )]; sub isEnabled { my (%params) = @_; return canRun('acpiconf'); } sub doInventory { my (%params) = @_; my $logger = $params{logger}; my $inventory = $params{inventory}; my $batteries = Inventory::Batteries->new( logger => $logger ); my $section = $inventory->getSection('BATTERIES') || []; # Empty current BATTERIES section into a new batteries list while (@{$section}) { my $battery = shift @{$section}; $batteries->add($battery); } # Merge batteries reported by upower $batteries->merge(_getBatteriesFromAcpiconf(logger => $logger)); # Add back merged batteries into inventories foreach my $battery ($batteries->list()) { $inventory->addEntry( section => 'BATTERIES', entry => $battery ); } } sub _getBatteriesFromAcpiconf { my (%params) = @_; my @batteries = (); my $index = 0; while ( my $battery = _getBatteryFromAcpiconf( index => $index, %params ) ) { push @batteries, $battery; $index ++; } return @batteries; } sub _getBatteryFromAcpiconf { my (%params) = @_; $params{command} = 'acpiconf -i ' . $params{index} if defined($params{index}); my @lines = getAllLines(%params); return unless @lines; my $data = {}; foreach my $line (@lines) { if ($line =~ /^(.*):\s*(\S+(?:\s+\S+)*)$/) { $data->{$1} = $2; } } my $battery = { NAME => $data->{'Model number'}, CHEMISTRY => $data->{'Type'}, SERIAL => sanitizeBatterySerial($data->{'Serial number'}), }; my $voltage = getCanonicalVoltage($data->{'Design voltage'}); $battery->{VOLTAGE} = $voltage if $voltage; my $capacity = getCanonicalCapacity($data->{'Design capacity'}, $voltage); $battery->{CAPACITY} = $capacity if $capacity; my $realCapacity = getCanonicalCapacity($data->{'Last full capacity'}, $voltage); $battery->{REAL_CAPACITY} = $realCapacity if $realCapacity; return $battery; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/0000755000175000017500000000000013757703277031103 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Slots.pm0000644000175000017500000000237013712210012032512 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Slots; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; my %status = ( 'Unknown' => undef, 'In Use' => 'used', 'Available' => 'free' ); sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{slot}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $slots = _getSlots(logger => $logger); return unless $slots; foreach my $slot (@$slots) { $inventory->addEntry( section => 'SLOTS', entry => $slot ); } } sub _getSlots { my $infos = getDmidecodeInfos(@_); return unless $infos->{9}; my $slots; foreach my $info (@{$infos->{9}}) { my $slot = { DESCRIPTION => $info->{'Type'}, DESIGNATION => $info->{'ID'}, NAME => $info->{'Designation'}, STATUS => $info->{'Current Usage'} ? $status{$info->{'Current Usage'}} : undef, }; push @$slots, $slot; } return $slots; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Bios.pm0000644000175000017500000000456213712210012032307 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Bios; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; sub isEnabled { return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my ($bios, $hardware) = _getBiosHardware(logger => $logger); $inventory->setBios($bios) if $bios; $inventory->setHardware($hardware) if $hardware; } sub _getBiosHardware { my $infos = getDmidecodeInfos(@_); my $bios_info = $infos->{0}->[0]; my $system_info = $infos->{1}->[0]; my $base_info = $infos->{2}->[0]; my $chassis_info = $infos->{3}->[0]; my $bios = { BMANUFACTURER => $bios_info->{'Vendor'}, BDATE => $bios_info->{'Release Date'}, BVERSION => $bios_info->{'Version'}, ASSETTAG => $chassis_info->{'Asset Tag'} }; # Fix issue #311: system_info 'Version' is a better 'Product Name' for Lenovo systems if ($system_info->{'Version'} && $system_info->{'Manufacturer'} && $system_info->{'Manufacturer'} =~ /^LENOVO$/i && $system_info->{'Version'} =~ /^(Think|Idea|Yoga|Netfinity|Netvista|Intelli)/i) { my $product_name = $system_info->{'Version'}; $system_info->{'Version'} = $system_info->{'Product Name'}; $system_info->{'Product Name'} = $product_name; } $bios->{SMODEL} = $system_info->{'Product'} || $system_info->{'Product Name'}; $bios->{MMODEL} = $base_info->{'Product Name'}; $bios->{SKUNUMBER} = $system_info->{'SKU Number'}; $bios->{SMANUFACTURER} = $system_info->{'Manufacturer'} || $system_info->{'Vendor'}; $bios->{MMANUFACTURER} = $base_info->{'Manufacturer'}; $bios->{SSN} = $system_info->{'Serial Number'}; $bios->{SSN} = $chassis_info->{'Serial Number'} if (!defined($bios->{SSN})); $bios->{MSN} = $base_info->{'Serial Number'}; if ($bios->{MMODEL} && $bios->{MMODEL} eq "VirtualBox" && $bios->{SSN} eq "0" && $bios->{MSN} eq "0") { $bios->{SSN} = $system_info->{'UUID'} } my $hardware = { UUID => $system_info->{'UUID'}, CHASSIS_TYPE => $chassis_info->{'Type'} }; return $bios, $hardware; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Memory.pm0000644000175000017500000001230413753417600032675 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Memory; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; use FusionInventory::Agent::Tools::PartNumber; # Run after virtualization to decide if found component is virtual our $runAfterIfEnabled = [ qw( FusionInventory::Agent::Task::Inventory::Virtualization::Vmsystem FusionInventory::Agent::Task::Inventory::Win32::OS FusionInventory::Agent::Task::Inventory::Linux::Memory FusionInventory::Agent::Task::Inventory::BSD::Memory )]; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{memory}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $memories = _getMemories(logger => $logger); return unless $memories; # If only one component is defined and we are under a vmsystem, we can update # component capacity to real found size. This permits to support memory size updates. my $vmsystem = $inventory->getHardware('VMSYSTEM'); if ($vmsystem && $vmsystem ne 'Physical') { my @components = grep { exists $_->{CAPACITY} } @$memories; if ( @components == 1) { my $real_memory = $inventory->getHardware('MEMORY'); my $component = shift @components; if (!$real_memory) { $logger->debug2("Can't verify real memory capacity on this virtual machine"); } elsif (!$component->{CAPACITY} || $component->{CAPACITY} != $real_memory) { $logger->debug2($component->{CAPACITY} ? "Updating virtual component memory capacity to found real capacity: $component->{CAPACITY} => $real_memory" : "Setting virtual component memory capacity to $real_memory" ); $component->{CAPACITY} = $real_memory; } } } foreach my $memory (@$memories) { $inventory->addEntry( section => 'MEMORIES', entry => $memory ); } } sub _getMemories { my $infos = getDmidecodeInfos(@_); my ($memories, $slot); if ($infos->{17}) { foreach my $info (@{$infos->{17}}) { $slot++; # Flash is 'in general' an unrelated internal BIOS storage # See bug: #1334 next if $info->{'Type'} && $info->{'Type'} =~ /Flash/i; my $manufacturer; if ( $info->{'Manufacturer'} && ( $info->{'Manufacturer'} !~ / Manufacturer | Undefined | None | ^0x | 00000 | \sDIMM /ix ) ) { $manufacturer = $info->{'Manufacturer'}; } my $memory = { NUMSLOTS => $slot, DESCRIPTION => $info->{'Form Factor'}, CAPTION => $info->{'Locator'}, SPEED => getCanonicalSpeed($info->{'Speed'}), TYPE => $info->{'Type'}, SERIALNUMBER => $info->{'Serial Number'}, MEMORYCORRECTION => $infos->{16}[0]{'Error Correction Type'}, MANUFACTURER => $manufacturer }; if ($info->{'Size'} && $info->{'Size'} =~ /^(\d+ \s .B)$/x) { $memory->{CAPACITY} = getCanonicalSize($1, 1024); } if ($info->{'Part Number'} && $info->{'Part Number'} !~ / DIMM | Part\s*Num | Ser\s*Num /xi ) { $memory->{MODEL} = trimWhitespace( getSanitizedString( hex2char($info->{'Part Number'}) ) ); my $partnumber_factory = FusionInventory::Agent::Tools::PartNumber->new(@_); my $partnumber = $partnumber_factory->match( partnumber => $memory->{MODEL}, category => "memory", ); if ($partnumber) { $memory->{MANUFACTURER} = $partnumber->manufacturer; $memory->{SPEED} = $partnumber->speed if !$memory->{SPEED} && $partnumber->speed; $memory->{TYPE} = $partnumber->type if !$memory->{TYPE} && $partnumber->type; } } push @$memories, $memory; } } elsif ($infos->{6}) { foreach my $info (@{$infos->{6}}) { $slot++; my $memory = { NUMSLOTS => $slot, TYPE => $info->{'Type'}, }; if ($info->{'Installed Size'} && $info->{'Installed Size'} =~ /^(\d+\s*.B)/i) { $memory->{CAPACITY} = getCanonicalSize($1, 1024); } push @$memories, $memory; } } return $memories; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Battery.pm0000644000175000017500000000534613712210012033026 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Battery; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; use FusionInventory::Agent::Tools::Batteries; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{battery}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $battery (_getBatteries(logger => $logger)) { $inventory->addEntry( section => 'BATTERIES', entry => $battery ); } } sub _getBatteries { my $infos = getDmidecodeInfos(@_); return unless $infos->{22}; my @batteries = (); foreach my $info (@{$infos->{22}}) { my $battery = _extractBatteryData($info); push @batteries, $battery if $battery; } return @batteries; } sub _extractBatteryData { my ($info) = @_; # Skip battery data without enough infos return unless $info->{'Name'} && $info->{'Manufacturer'}; return unless $info->{'Serial Number'} || $info->{'SBDS Serial Number'}; return unless $info->{'Chemistry'} || $info->{'SBDS Chemistry'}; my $battery = { NAME => $info->{'Name'}, MANUFACTURER => getCanonicalManufacturer($info->{'Manufacturer'}), SERIAL => sanitizeBatterySerial( $info->{'Serial Number'} || $info->{'SBDS Serial Number'} ), CHEMISTRY => $info->{'Chemistry'} || $info->{'SBDS Chemistry'}, }; if ($info->{'Manufacture Date'}) { $battery->{DATE} = _parseDate($info->{'Manufacture Date'}); } elsif ($info->{'SBDS Manufacture Date'}) { $battery->{DATE} = _parseDate($info->{'SBDS Manufacture Date'}); } my $voltage = getCanonicalVoltage($info->{'Design Voltage'}); $battery->{VOLTAGE} = $voltage if $voltage; my $capacity = getCanonicalCapacity($info->{'Design Capacity'}, $voltage); $battery->{CAPACITY} = $capacity if $capacity; return $battery; } sub _parseDate { my ($string) = @_; my ($day, $month, $year); if ($string =~ /(\d{1,2}) [\/-] (\d{1,2}) [\/-] (\d{4})/x) { $month = $1; $day = $2; $year = $3; return "$day/$month/$year"; } elsif ($string =~ /(\d{4}) [\/-] (\d{1,2}) [\/-] (\d{1,2})/x) { $year = $1; $month = $2; $day = $3; return "$day/$month/$year"; } elsif ($string =~ /(\d{1,2}) [\/-] (\d{1,2}) [\/-] (\d{2})/x) { $month = $1; $day = $2; $year = ($3 > 90 ? "19" : "20" ).$3; return "$day/$month/$year"; } return; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Ports.pm0000644000175000017500000000222013712210012032507 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Ports; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{port}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $ports = _getPorts(logger => $logger); return unless $ports; foreach my $port (@$ports) { $inventory->addEntry( section => 'PORTS', entry => $port ); } } sub _getPorts { my $infos = getDmidecodeInfos(@_); return unless $infos->{8}; my $ports; foreach my $info (@{$infos->{8}}) { my $port = { CAPTION => $info->{'External Connector Type'}, DESCRIPTION => $info->{'Internal Connector Type'}, NAME => $info->{'Internal Reference Designator'}, TYPE => $info->{'Port Type'}, }; push @$ports, $port; } return $ports; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Psu.pm0000644000175000017500000000467013753417600032203 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Psu; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; use FusionInventory::Agent::Tools::PartNumber; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{psu}; return 1; } my %fields = ( PARTNUM => 'Model Part Number', SERIALNUMBER => 'Serial Number', MANUFACTURER => 'Manufacturer', NAME => 'Name', STATUS => 'Status', PLUGGED => 'Plugged', LOCATION => 'Location', POWER_MAX => 'Max Power Capacity', HOTREPLACEABLE => 'Hot Replaceable', ); sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $infos = getDmidecodeInfos(%params); return unless $infos->{39}; foreach my $info (@{$infos->{39}}) { # Skip battery next if $info->{'Type'} && $info->{'Type'} eq 'Battery'; my $psu; # Add available informations but filter out not filled values foreach my $key (keys(%fields)) { next unless defined($info->{$fields{$key}}); next if $info->{$fields{$key}} =~ /To Be Filled By O.?E.?M/i; next if $info->{$fields{$key}} =~ /OEM Define/i; $psu->{$key} = $info->{$fields{$key}}; } # Get canonical manufacturer $psu->{'MANUFACTURER'} = getCanonicalManufacturer($psu->{'MANUFACTURER'}) if $psu->{'MANUFACTURER'}; # Validate PartNumber, as example, this fixes Dell PartNumbers if ($psu->{'PARTNUM'} && $psu->{'MANUFACTURER'}) { my $partnumber_factory = FusionInventory::Agent::Tools::PartNumber->new( logger => $params{logger}, ); my $partnumber = $partnumber_factory->match( partnumber => $psu->{'PARTNUM'}, manufacturer => $psu->{'MANUFACTURER'}, category => "controller", ); $psu->{'PARTNUM'} = $partnumber->get if defined($partnumber); } # Filter out PSU if nothing interesting is found next unless $psu; next unless ($psu->{'NAME'} || $psu->{'SERIALNUMBER'} || $psu->{'PARTNUM'}); $inventory->addEntry( section => 'POWERSUPPLIES', entry => $psu ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Users.pm0000644000175000017500000001010613712210012030626 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Users; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return if $params{no_category}->{user}; # Not working under win32 return 0 if $OSNAME eq 'MSWin32'; return canRun('who') || canRun('last') || -r '/etc/passwd'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my %users; if (!$params{no_category}->{local_user}) { foreach my $user (_getLocalUsers(logger => $logger)) { # record user -> primary group relationship push @{$users{$user->{gid}}}, $user->{LOGIN}; delete $user->{gid}; $inventory->addEntry( section => 'LOCAL_USERS', entry => $user ); } } if (!$params{no_category}->{local_group}) { foreach my $group (_getLocalGroups(logger => $logger)) { # add users having this group as primary group, if any push @{$group->{MEMBER}}, @{$users{$group->{ID}}} if $users{$group->{ID}}; $inventory->addEntry( section => 'LOCAL_GROUPS', entry => $group ); } } foreach my $user (_getLoggedUsers(logger => $logger)) { $inventory->addEntry( section => 'USERS', entry => $user ); } my $last = _getLastUser(logger => $logger); $inventory->setHardware($last); } sub _getLocalUsers { my (%params) = ( file => '/etc/passwd', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @users; while (my $line = <$handle>) { next if $line =~ /^#/; next if $line =~ /^[+-]/; # old format for external inclusion, see #2460 my ($login, undef, $uid, $gid, $gecos, $home, $shell) = split(/:/, $line); push @users, { LOGIN => $login, ID => $uid, gid => $gid, NAME => $gecos, HOME => $home, SHELL => $shell }; } close $handle; return @users; } sub _getLocalGroups { my (%params) = ( file => '/etc/group', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @groups; while (my $line = <$handle>) { next if $line =~ /^#/; chomp $line; my ($name, undef, $gid, $members) = split(/:/, $line); # prevent warning for malformed group file (#2384) next unless $members; my @members = split(/,/, $members); push @groups, { ID => $gid, NAME => $name, MEMBER => \@members, }; } close $handle; return @groups; } sub _getLoggedUsers { my (%params) = ( command => 'who', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @users; my $seen; while (my $line = <$handle>) { next unless $line =~ /^(\S+)/; next if $seen->{$1}++; push @users, { LOGIN => $1 }; } close $handle; return @users; } sub _getLastUser { my (%params) = ( command => 'last', @_ ); my ($lastuser,$lastlogged); my $handle = getFileHandle(%params); return unless $handle; while (my $last = <$handle>) { chomp $last; next if $last =~ /^(reboot|shutdown)/; my @last = split(/\s+/, $last); next unless (@last); $lastuser = shift @last or next; # Found time on column starting as week day shift @last while ( @last > 3 && $last[0] !~ /^mon|tue|wed|thu|fri|sat|sun/i ); $lastlogged = @last > 3 ? "@last[0..3]" : undef; last; } close $handle; return unless $lastuser; return { LASTLOGGEDUSER => $lastuser, DATELASTLOGGEDUSER => $lastlogged }; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Networks.pm0000644000175000017500000000043713712210012031347 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Networks; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{network}; return 1; } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Firewall/0000755000175000017500000000000013757703277030773 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Firewall/Ufw.pm0000644000175000017500000000175013712210012032040 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Firewall::Ufw; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Constants; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return # Ubuntu canRun('ufw'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $firewallStatus = _getFirewallStatus( logger => $logger ); $inventory->addEntry( section => 'FIREWALL', entry => { STATUS => $firewallStatus } ); } sub _getFirewallStatus { my (%params) = @_; my $status = getFirstMatch( command => 'ufw status', pattern => qr/^Status:\s*(\w+)$/, %params ); if ($status && $status eq 'active') { $status = STATUS_ON; } else { $status = STATUS_OFF; } return $status; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Firewall/Systemd.pm0000644000175000017500000000254513712210012032732 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Firewall::Systemd; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Constants; use FusionInventory::Agent::Tools; our $runMeIfTheseChecksFailed = ["FusionInventory::Agent::Task::Inventory::Generic::Firewall::Ufw"]; sub isEnabled { my (%params) = @_; return canRun('systemctl'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $firewallStatus = _getFirewallStatus( logger => $logger ); $inventory->addEntry( section => 'FIREWALL', entry => { STATUS => $firewallStatus } ); } sub _getFirewallStatus { my (%params) = @_; my $lines = getAllLines( command => 'systemctl status firewalld.service', %params ); # multiline regexp to match for example : # Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) # Active: active (running) since Tue 2017-03-14 15:33:24 CET; 1h 16min ago # This permits to check if service is loaded, enabled and active return ($lines =~ /^\s*Loaded: loaded [^;]+firewalld[^;]*; [^;]*;[^\n]*\n\s*Active: active \(running\)/m) ? STATUS_ON : STATUS_OFF; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/PCI.pm0000644000175000017500000000040413712210012030140 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::PCI; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('lspci'); } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/0000755000175000017500000000000013757703277030124 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Fru.pm0000644000175000017500000000041513750013366031200 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Ipmi::Fru; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('ipmitool'); } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Fru/0000755000175000017500000000000013757703277030660 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Fru/Memory.pm0000644000175000017500000000547313753417600032463 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Ipmi::Fru::Memory; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::IpmiFru; use FusionInventory::Agent::Tools::PartNumber; our $runAfterIfEnabled = [qw( FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Memory )]; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{memory}; return 1; } # update MEMORIES section sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $fru = getIpmiFru(%params) or return; my @fru_keys = grep { / DIMM\d* / } keys %$fru or return; my $memories = $inventory->getSection('MEMORIES') || []; my $fields = $inventory->getFields()->{'MEMORIES'}; for my $fru_key (@fru_keys) { my ($cpu, $dimm) = $fru_key =~ /^CPU\s*(\d+)[\s_]+DIMM\s*(\d+)/ or next; my @mems = grep { $_->{CAPTION} =~ /^(PROC|CPU)\s*\Q$cpu\E[\s_]+DIMM\s*$dimm(?:[A-Z])?$/ } @$memories; next unless scalar @mems == 1; my $parsed_fru = parseFru($fru->{$fru_key}, $fields); for my $field (keys(%{$fields})) { next unless defined $parsed_fru->{$field} && (!defined $mems[0]->{$field} || $mems[0]->{$field} =~ / NOT\s*AVAILABLE | None | Not\s*Specified | O\.E\.M\. | Part\s*Num | Ser\s*Num | Serial\s*Num | Unknown /xi); $mems[0]->{$field} = $parsed_fru->{$field}; if ($field eq 'MODEL') { my $partnumber_factory = FusionInventory::Agent::Tools::PartNumber->new( logger => $logger ); my $partnumber = $partnumber_factory->match( partnumber => $mems[0]->{$field}, category => "memory", ); if ($partnumber) { $mems[0]->{MANUFACTURER} = $partnumber->manufacturer; $mems[0]->{SPEED} = $partnumber->speed if !$mems[0]->{SPEED} && $partnumber->speed; $mems[0]->{TYPE} = $partnumber->type if !$mems[0]->{TYPE} && $partnumber->type; } } } } } 1; __END__ =head1 NAME FusionInventory::Agent::Task::Inventory::Generic::Ipmi::Fru::Memory - Processes DIMMs reported by `ipmitool fru` =head1 DESCRIPTION Updates MEMORIES section with data from `ipmitool fru`. No new records are added FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Fru/Psu.pm0000644000175000017500000000324213753417600031752 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Ipmi::Fru::Psu; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::IpmiFru; use FusionInventory::Agent::Tools::PowerSupplies; # Run after virtualization to decide if found component is virtual our $runAfterIfEnabled = [ qw( FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Psu )]; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{psu}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $fru = getIpmiFru(%params) or return; my @fru_keys = grep { /^(PS|Pwr Supply )\d+/ } keys(%{$fru}) or return; # Empty current POWERSUPPLIES section into a new psu list my $psulist = Inventory::PowerSupplies->new( logger => $logger ); my $section = $inventory->getSection('POWERSUPPLIES') || []; while (@{$section}) { my $powersupply = shift @{$section}; $psulist->add($powersupply); } # Merge powersupplies reported by ipmitool my @fru = (); my $fields = $inventory->getFields()->{'POWERSUPPLIES'}; # omit MODEL field as it's duplicate of PARTNUM field delete $fields->{'MODEL'}; foreach my $descr (sort @fru_keys) { push @fru, parseFru($fru->{$descr}, $fields); } $psulist->merge(@fru); # Add back merged powersupplies into inventory foreach my $psu ($psulist->list()) { $inventory->addEntry( section => 'POWERSUPPLIES', entry => $psu ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Fru/Controllers.pm0000644000175000017500000000212713753417600033512 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Ipmi::Fru::Controllers; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::IpmiFru; my $CONTROLLERS = qr/^(?: BP | PERC | NDC | Ethernet Adptr | SAS Ctlr )\d*\s+/x; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{controller}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $fru = getIpmiFru(%params) or return; my @fru_keys = grep { $_ =~ $CONTROLLERS } keys %$fru or return; my $fields = $inventory->getFields()->{CONTROLLERS}; for my $descr (@fru_keys) { my $ctrl = parseFru($fru->{$descr}, $fields); next unless keys %$ctrl; $ctrl->{TYPE} = $1 if $descr =~ /^([\w\s]+[[:alpha:]])/; $inventory->addEntry( section => 'CONTROLLERS', entry => $ctrl ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Lan.pm0000644000175000017500000000435513712210012031146 0ustar gbougardgbougard# # OcsInventory agent - IPMI lan channel report # # Copyright (c) 2008 Jean Parpaillon # # The Intelligent Platform Management Interface (IPMI) specification # defines a set of common interfaces to a computer system which system # administrators can use to monitor system health and manage the # system. The IPMI consists of a main controller called the Baseboard # Management Controller (BMC) and other satellite controllers. # # The BMC can be fetched through client like OpenIPMI drivers or # through the network. Though, the BMC hold a proper MAC address. # # This module reports the MAC address and, if any, the IP # configuration of the BMC. This is reported as a standard NIC. # package FusionInventory::Agent::Task::Inventory::Generic::Ipmi::Lan; use strict; use warnings; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{network}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $handle = getFileHandle( logger => $logger, command => "ipmitool lan print", ); return unless $handle; my $interface = { DESCRIPTION => 'bmc', TYPE => 'ethernet', MANAGEMENT => 1, STATUS => 'Down', }; while (my $line = <$handle>) { if ($line =~ /^IP Address\s+:\s+($ip_address_pattern)/) { $interface->{IPADDRESS} = $1 unless $1 eq '0.0.0.0'; } if ($line =~ /^Default Gateway IP\s+:\s+($ip_address_pattern)/) { $interface->{IPGATEWAY} = $1 unless $1 eq '0.0.0.0'; } if ($line =~ /^Subnet Mask\s+:\s+($ip_address_pattern)/) { $interface->{IPMASK} = $1 unless $1 eq '0.0.0.0'; } if ($line =~ /^MAC Address\s+:\s+($mac_address_pattern)/) { $interface->{MACADDR} = $1; } } close $handle; $interface->{IPSUBNET} = getSubnetAddress( $interface->{IPADDRESS}, $interface->{IPMASK} ); $interface->{STATUS} = 'Up' if $interface->{IPADDRESS}; $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic/Remote_Mgmt.pm0000644000175000017500000000057513712210012031755 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic::Remote_Mgmt; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; sub isEnabled { my (%params) = @_; return !($params{no_category}->{remote_mgmt}); } sub isEnabledForRemote { my (%params) = @_; return !($params{no_category}->{remote_mgmt}); } sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Module.pm0000644000175000017500000000502013712210012027375 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Module; use strict; use warnings; our $runAfter = []; our $runAfterIfEnabled = []; our $runMeIfTheseChecksFailed = []; sub isEnabled { return 0; } sub isEnabledForRemote { return 0; } sub doInventory { } 1; __END__ =head1 NAME FusionInventory::Agent::Task::Inventory::Module - Inventory task module for FusionInventory =head1 DESCRIPTION This module is the base class for all inventory task modules. =head1 MODULE CONFIGURATION PARAMETERS =head2 $runAfter = [] Array ref of module string list. List of modules to always be run before this one. If any module of this list is disabled, the module won't be run: this is a hard dependency. Example: see FusionInventory::Agent::Task::Inventory::Linux module =head2 $runAfterIfEnabled = [] Array ref of module string list. List of enabled modules to be run before this one: this is a soft dependency. Example: see FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Memory module =head2 $runMeIfTheseChecksFailed = [] Array ref of module string list. If a module in that list is enabled, this one will be disabled. Example: see FusionInventory::Agent::Task::Inventory::Win32::Bios module =head1 FUNCTIONS =head2 isEnabled (%params) Provided parameters: no_category: ref to hash indexed from no_category parameter datadir : resources folder logger : agent logger registry : registry option passed by server scan_homedirs: scan-homedirs configuration parameter scan_profiles: scan-profiles configuration parameter Returns true is the module should be used for local inventory. =head2 isEnabledForInventory (%params) Provided parameters: no_category: ref to hash indexed from no_category parameter datadir : resources folder logger : agent logger registry : registry option passed by server scan_homedirs: scan-homedirs configuration parameter scan_profiles: scan-profiles configuration parameter Returns true is the module should be used for remote inventory (firstly WMI inventory). =head2 doInventory (%params) Provided parameters: inventory : inventory object to populate with dedicated API no_category: ref to hash indexed from no_category parameter datadir : resources folder logger : agent logger registry : registry option passed by server scan_homedirs: scan-homedirs configuration parameter scan_profiles: scan-profiles configuration parameter Updates passed inventory with found inventory values. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux.pm0000644000175000017500000000270113712210012027252 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use XML::TreePP; use FusionInventory::Agent::Tools; our $runAfter = ["FusionInventory::Agent::Task::Inventory::Generic"]; sub isEnabled { return $OSNAME eq 'linux'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $kernelVersion = getFirstLine(command => 'uname -v'); my $kernelRelease = getFirstLine(command => 'uname -r'); my $systemId = _getRHNSystemId('/etc/sysconfig/rhn/systemid'); my $hostid = getFirstLine(command => 'hostid'); my $boottime = time - getFirstMatch(file => '/proc/uptime', pattern => qr/^(\d+)/); $inventory->setHardware({ OSVERSION => $kernelRelease, OSCOMMENTS => $kernelVersion, WINPRODID => $systemId, }); $inventory->setOperatingSystem({ HOSTID => $hostid, KERNEL_VERSION => $kernelRelease, BOOT_TIME => getFormatedLocalTime($boottime) }); } # Get RedHat Network SystemId sub _getRHNSystemId { my ($file) = @_; return unless -f $file; my $tpp = XML::TreePP->new(); my $h = $tpp->parsefile($file); eval { foreach (@{$h->{params}{param}{value}{struct}{member}}) { next unless $_->{name} eq 'system_id'; return $_->{value}{string}; } } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/0000755000175000017500000000000013757703277026554 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Registry.pm0000644000175000017500000000425713712210012030675 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Registry; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Win32; my @hives = qw/ HKEY_CLASSES_ROOT HKEY_CURRENT_USER HKEY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG HKEY_DYN_DATA /; sub isEnabled { my (%params) = @_; return $params{registry} && @{$params{registry}}; } sub isEnabledForRemote { my (%params) = @_; return $params{registry} && @{$params{registry}}; } sub _getRegistryData { my (%params) = @_; my @data; my @registrys = ref($params{registry}->{PARAM}) eq 'ARRAY' ? @{$params{registry}->{PARAM}} : ($params{registry}->{PARAM}); foreach my $option (@registrys) { my $name = $option->{NAME}; my $regkey = $option->{REGKEY}; my $regtree = $option->{REGTREE}; my $content = $option->{content}; # This should never append, err wait... next unless $content; $regkey =~ s{\\}{/}g; my $value = getRegistryValue( path => $hives[$regtree]."/".$regkey."/".$content, logger => $params{logger} ); if (ref($value) eq "HASH") { foreach ( keys %$value ) { my $n = encodeFromRegistry($_) || ''; my $v = encodeFromRegistry($value->{$_}) || ''; push @data, { section => 'REGISTRY', entry => { NAME => $name, REGVALUE => "$n=$v" } }; } } else { push @data, {section => 'REGISTRY', entry => { NAME => $name, REGVALUE => encodeFromRegistry($value) } }; } } return @data; } sub doInventory { my (%params) = @_; return unless $params{registry}->{NAME} eq 'REGISTRY'; foreach my $data (_getRegistryData( registry => $params{registry}, logger => $params{logger})) { $params{inventory}->addEntry(%$data); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/OS.pm0000644000175000017500000001113213712210012027374 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::OS; use strict; use warnings; use integer; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Hostname; use FusionInventory::Agent::Tools::License; use FusionInventory::Agent::Tools::Win32; sub isEnabled { return 1; } sub isEnabledForRemote { return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $remotewmi = $inventory->getRemote(); my ($operatingSystem) = getWMIObjects( class => 'Win32_OperatingSystem', properties => [ qw/ OSLanguage Caption Version SerialNumber Organization RegisteredUser CSDVersion TotalSwapSpaceSize LastBootUpTime InstallDate / ] ); my ($computerSystem) = getWMIObjects( class => 'Win32_ComputerSystem', properties => [ qw/ Name DNSHostName Domain Workgroup PrimaryOwnerName TotalPhysicalMemory / ] ); my ($computerSystemProduct) = getWMIObjects( class => 'Win32_ComputerSystemProduct', properties => [ qw/UUID/ ] ); my $key = decodeMicrosoftKey(getRegistryValue(path => 'HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/DigitalProductId')) || decodeMicrosoftKey(getRegistryValue(path => 'HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/DigitalProductId4')); my $description = encodeFromRegistry(getRegistryValue(path => 'HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/lanmanserver/Parameters/srvcomment')); my $arch = is64bit() ? '64-bit' : '32-bit'; my $swap = $operatingSystem->{TotalSwapSpaceSize} ? int($operatingSystem->{TotalSwapSpaceSize} / (1024 * 1024)) : undef; my $memory = $computerSystem->{TotalPhysicalMemory} ? int($computerSystem->{TotalPhysicalMemory} / (1024 * 1024)) : undef; my $uuid = ($computerSystemProduct->{UUID} && $computerSystemProduct->{UUID} !~ /^[0-]+$/) ? $computerSystemProduct->{UUID} : undef; my $boottime = getFormatedWMIDateTime($operatingSystem->{LastBootUpTime}); my $installDate = getFormatedWMIDateTime($operatingSystem->{InstallDate}); $installDate = _getInstallDate() unless ($installDate || $remotewmi); # Finally get the name through native Win32::API if local inventory and as # WMI DB is sometimes broken my $hostname = $computerSystem->{DNSHostName} || $computerSystem->{Name}; $hostname = getHostname(short => 1) unless ($hostname || $remotewmi); my $os = { NAME => "Windows", ARCH => $arch, INSTALL_DATE => $installDate, BOOT_TIME => $boottime, KERNEL_VERSION => $operatingSystem->{Version}, FULL_NAME => $operatingSystem->{Caption}, SERVICE_PACK => $operatingSystem->{CSDVersion} }; # Support ReleaseID as Operating system version for Windows 10 my $releaseid = getRegistryValue( path => 'HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/ReleaseId' ); $os->{VERSION} = $releaseid if $releaseid; # We want to always reset FQDN on remote wmi inventory as it was set to local # agent fqdn in Generic module $os->{FQDN} = $hostname if ($remotewmi); if ($computerSystem->{Domain}) { $os->{FQDN} .= '.'.$computerSystem->{Domain} if ($remotewmi); $os->{DNS_DOMAIN} = $computerSystem->{Domain}; } $inventory->setOperatingSystem($os); $inventory->setHardware({ NAME => $hostname, DESCRIPTION => $description, UUID => $uuid, WINPRODKEY => $key, WINLANG => $operatingSystem->{OSLanguage}, OSNAME => $operatingSystem->{Caption}, OSVERSION => $operatingSystem->{Version}, WINPRODID => $operatingSystem->{SerialNumber}, WINCOMPANY => $operatingSystem->{Organization}, WINOWNER => $operatingSystem->{RegisteredUser} || $computerSystem->{PrimaryOwnerName}, OSCOMMENTS => $operatingSystem->{CSDVersion}, SWAP => $swap, MEMORY => $memory, WORKGROUP => $computerSystem->{Domain} || $computerSystem->{Workgroup}, }); } sub _getInstallDate { my $installDate = getRegistryValue( path => 'HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/InstallDate' ); return unless $installDate; my $dec = hex2dec($installDate); return unless $dec; return getFormatedLocalTime($dec); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Chassis.pm0000644000175000017500000000236513712210012030460 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Chassis; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Win32; my @chassisType = ( 'Unknown', 'Other', 'Unknown', 'Desktop', 'Low Profile Desktop', 'Pizza Box', 'Mini Tower', 'Tower', 'Portable', 'Laptop', 'Notebook', 'Hand Held', 'Docking Station', 'All in One', 'Sub Notebook', 'Space-Saving', 'Lunch Box', 'Main System Chassis', 'Expansion Chassis', 'SubChassis', 'Bus Expansion Chassis', 'Peripheral Chassis', 'Storage Chassis', 'Rack Mount Chassis', 'Sealed-Case PC' ); sub isEnabled { return 1; } sub isEnabledForRemote { return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; $inventory->setHardware({ CHASSIS_TYPE => _getChassis(logger => $params{logger}) }); } sub _getChassis { my (%params) = @_; my $chassis; foreach my $object (getWMIObjects( class => 'Win32_SystemEnclosure', properties => [ qw/ChassisTypes/ ] )) { $chassis = $chassisType[$object->{ChassisTypes}->[0]]; } return $chassis; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Slots.pm0000644000175000017500000000237713712210012030172 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Slots; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Win32; my %status = ( 3 => 'free', 4 => 'used' ); sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{slot}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{slot}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $object (getWMIObjects( class => 'Win32_SystemSlot', properties => [ qw/Name Description SlotDesignation CurrentUsage/ ] )) { if (!defined($object->{CurrentUsage})) { $params{logger}->debug2("ignoring usage-less '$object->{Name}' slot") if ($params{logger} && $object->{Name}); next; } $inventory->addEntry( section => 'SLOTS', entry => { NAME => $object->{Name}, DESCRIPTION => $object->{Description}, DESIGNATION => $object->{SlotDesignation}, STATUS => $status{$object->{CurrentUsage}} } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Softwares.pm0000644000175000017500000005215113712210012031036 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Softwares; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use File::Basename; use File::Temp; use UNIVERSAL::require; use Encode qw(decode); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Win32; use FusionInventory::Agent::Tools::Win32::Constants; use FusionInventory::Agent::Tools::Win32::LoadIndirectString; our $runAfter = ["FusionInventory::Agent::Task::Inventory::Win32::OS"]; my $seen = {}; sub isEnabled { my (%params) = @_; return !$params{no_category}->{software}; } sub isEnabledForRemote { my (%params) = @_; return !$params{no_category}->{software}; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $remotewmi = $inventory->getRemote(); my $is64bit = is64bit(); my $softwares64 = _getSoftwaresList( is64bit => $is64bit ) || []; foreach my $software (@$softwares64) { _addSoftware(inventory => $inventory, entry => $software); } _processMSIE( inventory => $inventory, is64bit => $is64bit ); if ($params{scan_profiles}) { _loadUserSoftware( inventory => $inventory, is64bit => $is64bit, logger => $logger ); } else { $logger->debug( "'scan-profiles' configuration parameter disabled, " . "ignoring software in user profiles" ); } if ($is64bit) { my $softwares32 = _getSoftwaresList( path => "HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Windows/CurrentVersion/Uninstall", is64bit => 0 ) || []; foreach my $software (@$softwares32) { _addSoftware(inventory => $inventory, entry => $software); } _processMSIE( inventory => $inventory, is64bit => 0 ); _loadUserSoftware( inventory => $inventory, is64bit => 0, logger => $logger ) if $params{scan_profiles}; } my $hotfixes = _getHotfixesList(is64bit => $is64bit); foreach my $hotfix (@$hotfixes) { # skip fixes already found in generic software list, # without checking version information next if $seen->{$hotfix->{NAME}}; _addSoftware(inventory => $inventory, entry => $hotfix); } # Lookup for UWP/Windows Store packages (not supported by WMI task) my ($osversion) = $inventory->getHardware('OSVERSION') =~ /^(\d+\.\d+)/; if (!$remotewmi && $osversion && $osversion > 6.1) { my $packages = _getAppxPackages( logger => $logger ) || []; foreach my $package (@{$packages}) { _addSoftware(inventory => $inventory, entry => $package); } } # Reset seen hash so we can see softwares in later same run inventory $seen = {}; } sub _loadUserSoftware { my (%params) = @_; my $userList = _getUsersFromRegistry(%params); return unless $userList; my $inventory = $params{inventory}; my $is64bit = $params{is64bit}; my $logger = $params{logger}; foreach my $profileName (keys %$userList) { my $userName = $userList->{$profileName} or next; my $profileSoft = "HKEY_USERS/$profileName/SOFTWARE/"; $profileSoft .= is64bit() && !$is64bit ? "Wow6432Node/Microsoft/Windows/CurrentVersion/Uninstall" : "Microsoft/Windows/CurrentVersion/Uninstall"; my $softwares = _getSoftwaresList( path => $profileSoft, is64bit => $is64bit, userid => $profileName, username => $userName ) || []; next unless @$softwares; my $nbUsers = scalar(@$softwares); $logger->debug2('_loadUserSoftwareFromHKey_Users() : add of ' . $nbUsers . ' softwares in inventory'); foreach my $software (@$softwares) { _addSoftware(inventory => $inventory, entry => $software); } } } sub _getUsersFromRegistry { my (%params) = @_; my $profileList = getRegistryKey( path => 'HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProfileList', wmiopts => { # Only used for remote WMI optimization values => [ qw/ProfileImagePath Sid/ ], } ); next unless $profileList; my $userList; foreach my $profileName (keys %$profileList) { next unless $profileName =~ m{/$}; next unless length($profileName) > 10; my $profilePath = $profileList->{$profileName}{'/ProfileImagePath'}; my $sid = $profileList->{$profileName}{'/Sid'}; next unless $sid; next unless $profilePath; my $user = basename($profilePath); $profileName =~ s|/$||; $userList->{$profileName} = $user; } return $userList; } sub _dateFormat { my ($date) = @_; ## no critic (ExplicitReturnUndef) return undef unless $date; if ($date =~ /^(\d{4})(\d{1})(\d{2})$/) { return "$3/0$2/$1"; } if ($date =~ /^(\d{4})(\d{2})(\d{2})$/) { return "$3/$2/$1"; } # Re-order "M/D/YYYY" as "DD/MM/YYYY" if ($date =~ /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/) { return sprintf("%02d/%02d/%04d", $2, $1, $3); } return undef; } sub _keyLastWriteDateString { my ($key) = @_; return unless ($OSNAME eq 'MSWin32'); return unless (ref($key) eq "Win32::TieRegistry"); my @lastWrite = FileTimeToSystemTime($key->Information("LastWrite")); return unless (@lastWrite > 3); return sprintf("%04s%02s%02s",$lastWrite[0],$lastWrite[1],$lastWrite[3]); } sub _getSoftwaresList { my (%params) = @_; my $softwares = getRegistryKey( path => "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall", wmiopts => { # Only used for remote WMI optimization values => [ qw/ DisplayName Comments HelpLink ReleaseType DisplayVersion Publisher URLInfoAbout UninstallString InstallDate MinorVersion MajorVersion NoRemove SystemComponent / ] }, %params ); my @list; return unless $softwares; foreach my $rawGuid (keys %$softwares) { # skip variables next if $rawGuid =~ m{^/}; # only keep subkeys with more than 1 value my $data = $softwares->{$rawGuid}; next unless keys %$data > 1; my $guid = $rawGuid; $guid =~ s/\/$//; # drop the tailing / my $software = { FROM => "registry", NAME => encodeFromRegistry($data->{'/DisplayName'}) || encodeFromRegistry($guid), # folder name COMMENTS => encodeFromRegistry($data->{'/Comments'}), HELPLINK => encodeFromRegistry($data->{'/HelpLink'}), RELEASE_TYPE => encodeFromRegistry($data->{'/ReleaseType'}), VERSION => encodeFromRegistry($data->{'/DisplayVersion'}), PUBLISHER => encodeFromRegistry($data->{'/Publisher'}), URL_INFO_ABOUT => encodeFromRegistry($data->{'/URLInfoAbout'}), UNINSTALL_STRING => encodeFromRegistry($data->{'/UninstallString'}), INSTALLDATE => _dateFormat($data->{'/InstallDate'}), VERSION_MINOR => hex2dec($data->{'/MinorVersion'}), VERSION_MAJOR => hex2dec($data->{'/MajorVersion'}), NO_REMOVE => hex2dec($data->{'/NoRemove'}), ARCH => $params{is64bit} ? 'x86_64' : 'i586', GUID => $guid, USERNAME => $params{username}, USERID => $params{userid}, SYSTEM_CATEGORY => $data->{'/SystemComponent'} && hex2dec($data->{'/SystemComponent'}) ? CATEGORY_SYSTEM_COMPONENT : CATEGORY_APPLICATION }; # Workaround for #415 $software->{VERSION} =~ s/[\000-\037].*// if $software->{VERSION}; # Set install date to last registry key update time if (!defined($software->{INSTALLDATE})) { $software->{INSTALLDATE} = _dateFormat(_keyLastWriteDateString($data)); } #----- SQL Server ----- # Versions >= SQL Server 2008 (tested with 2008/R2/2012/2016) : "SQL Server xxxx Database Engine Services" if ($software->{NAME} =~ /^(SQL Server.*)(\sDatabase Engine Services)/) { my $sqlEditionValue = _getSqlEdition( softwareversion => $software->{VERSION} ); if ($sqlEditionValue) { $software->{NAME} = $1." ".$sqlEditionValue.$2; } # Versions = SQL Server 2005 : "Microsoft SQL Server xxxx" # "Uninstall" registry key does not contains Version : use default named instance. } elsif ($software->{NAME} =~ /^(Microsoft SQL Server 200[0-9])$/ and defined($software->{VERSION})) { my $sqlEditionValue = _getSqlEdition( softwareversion => $software->{VERSION} ); if ($sqlEditionValue) { $software->{NAME} = $1." ".$sqlEditionValue; } } #---------- push @list, $software; } # It's better to return ref here as the array can be really large return \@list; } sub _getHotfixesList { my (%params) = @_; my $list; foreach my $object (getWMIObjects( class => 'Win32_QuickFixEngineering', properties => [ qw/HotFixID Description InstalledOn/ ] )) { my $releaseType; if ($object->{Description} && $object->{Description} =~ /^(Security Update|Hotfix|Update)/) { $releaseType = $1; } my $systemCategory = !$releaseType ? CATEGORY_UPDATE : ($releaseType =~ /^Security Update/) ? CATEGORY_SECURITY_UPDATE : $releaseType =~ /^Hotfix/ ? CATEGORY_HOTFIX : CATEGORY_UPDATE ; next unless $object->{HotFixID} =~ /KB(\d{4,10})/i; push @$list, { NAME => $object->{HotFixID}, COMMENTS => $object->{Description}, INSTALLDATE => _dateFormat($object->{InstalledOn}), FROM => "WMI", RELEASE_TYPE => $releaseType, ARCH => $params{is64bit} ? 'x86_64' : 'i586', SYSTEM_CATEGORY => $systemCategory }; } return $list; } sub _addSoftware { my (%params) = @_; my $entry = $params{entry}; # avoid duplicates return if $seen->{$entry->{NAME}}->{$entry->{ARCH}}{$entry->{VERSION} || '_undef_'}++; $params{inventory}->addEntry(section => 'SOFTWARES', entry => $entry); } sub _processMSIE { my (%params) = @_; my $name = $params{is64bit} ? "Internet Explorer (64bit)" : "Internet Explorer"; # Will use key last write date as INSTALLDATE my $installedkey = getRegistryKey( path => is64bit() && !$params{is64bit} ? "HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Internet Explorer" : "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer", wmiopts => { # Only used for remote WMI optimization values => [ qw/svcVersion Version/ ], subkeys => 0 } ); my $version = $installedkey->{"/svcVersion"} || $installedkey->{"/Version"}; return unless $version; # Not installed _addSoftware( inventory => $params{inventory}, entry => { FROM => "registry", ARCH => $params{is64bit} ? 'x86_64' : 'i586', NAME => $name, VERSION => $version, PUBLISHER => "Microsoft Corporation", INSTALLDATE => _dateFormat(_keyLastWriteDateString($installedkey)) } ); } # List of SQL Instances sub _getSqlEdition { my (%params) = @_; my $softwareVersion = $params{softwareversion}; # Registry access for SQL Instances my $sqlinstancesList = getRegistryKey( path => "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/Instance Names/SQL" ); return unless $sqlinstancesList; # List of SQL Instances my $sqlinstanceEditionValue; foreach my $sqlinstanceName (keys %$sqlinstancesList) { my $sqlinstanceValue = $sqlinstancesList->{$sqlinstanceName}; # Get version and edition for each instance $sqlinstanceEditionValue = _getSqlInstancesVersions( SOFTVERSION => $softwareVersion, VALUE => $sqlinstanceValue ); last if $sqlinstanceEditionValue; } return $sqlinstanceEditionValue; } # SQL Instances versions # Return version and edition for each instance sub _getSqlInstancesVersions { my (%params) = @_; my $softwareVersion = $params{SOFTVERSION}; my $sqlinstanceValue = $params{VALUE}; my $sqlinstanceVersions = getRegistryKey( path => "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/" . $sqlinstanceValue . "/Setup" ); return unless ($sqlinstanceVersions && $sqlinstanceVersions->{'/Version'}); return unless $sqlinstanceVersions->{'/Version'} eq $softwareVersion; # If software version match instance one return $sqlinstanceVersions->{'/Edition'}; } sub _getAppxPackages { my (%params) = @_; return unless canRun('powershell'); XML::XPath->require(); # Don't validate XML against DTD, parsing may fail if a proxy is active $XML::XPath::ParseParamEnt = 0; my $logger = $params{logger}; my @lines; { # Temp file will be deleted out of this scope my $fh = File::Temp->new( TEMPLATE => 'get-appxpackage-XXXXXX', SUFFIX => '.ps1' ); print $fh ; close($fh); my $file = $fh->filename; return unless ($file && -f $file); @lines = getAllLines( command => "powershell -NonInteractive -ExecutionPolicy ByPass -File $file", %params ); } my ($list, $package); my %manifest_mapping = qw( DisplayName DISPLAYNAME Description COMMENTS PublisherDisplayName PUBLISHERDISPLAYNAME ); foreach my $line (@lines) { chomp($line); # Add package on empty line if (!$line && $package && $package->{NAME}) { push @{$list}, $package; undef $package; next; } my ($key, $value) = $line =~ /^([A-Z_]+):\s*(.*)\s*$/; next unless ($key && defined($value)); $package->{$key} = decode('UTF-8', $value); # Read manifest if ($key eq 'FOLDER' && $value && -d $value) { my $xml = $value . '/appxmanifest.xml'; if (-f $xml) { my $xpp = XML::XPath->new(filename => $xml) or next; foreach my $property (keys(%manifest_mapping)) { my $key = $manifest_mapping{$property}; my $value = $xpp->getNodeText("/Package/Properties/$property") or next; $package->{$key} = $value; } } } } # Add last package if still not added push @{$list}, $package if ($package && $package->{NAME}); # Extract publishers my $publishers = _parsePackagePublishers($list); # Cleanup list and fix localized strings foreach my $package (@{$list}) { my $name = $package->{NAME}; my $pubid = delete $package->{PUBLISHERID}; $package->{PUBLISHER} = $publishers->{$pubid} if ($pubid && $publishers->{$pubid}); if (!$package->{PUBLISHER} && $name =~ /^Microsoft/i) { $package->{PUBLISHER} = "Microsoft Corp."; } elsif (!$package->{PUBLISHER}) { $logger->debug2("no publisher found for $name package") if $logger; } my $pkgname = delete $package->{PACKAGE}; my $installdate = delete $package->{INSTALLDATE}; if ($installdate) { my ($date) = $installdate =~ m|^([0-9/]+)|; $installdate = _dateFormat($date); $package->{INSTALLDATE} = $installdate if $installdate; } my $dn = delete $package->{DISPLAYNAME}; if ($dn && $dn =~ /^ms-resource:/) { my $res = SHLoadIndirectString(_canonicalResourceURI( $pkgname, $package->{FOLDER}, $dn )); $logger->debug2("$name package name " . ($res ? "resolved to '$res'" : "can't be resolved from '$dn'")) if $logger; $dn = $res; } if (!$dn) { $dn = _canonicalPackageName($package->{NAME}); } $package->{NAME} = $dn if $dn; my $comments = delete $package->{COMMENTS}; if ($comments && $comments =~ /^ms-resource:/) { my $res = SHLoadIndirectString(_canonicalResourceURI( $pkgname, $package->{FOLDER}, $comments )); $logger->debug2("$name package comments " . ($res ? "resolved to '$res'" : "can't be resolved from '$comments'")) if $logger; $comments = $res; } $package->{COMMENTS} = $comments if $comments; $package->{FROM} = 'uwp'; } return $list; } sub _canonicalPackageName { my ($name) = @_; # Fix up name for well-know cases if the case display name is missing if ($name =~ /^Microsoft\.NET\./i) { $name =~ s/\./ /g; $name =~ s/Microsoft NET/Microsoft .Net/; } elsif ($name =~ /^(Microsoft|windows)\./i) { $name =~ s/\./ /g; } return $name; } sub _canonicalResourceURI { my ($package, $folder, $resource) = @_; my $file = $folder.'\resources.pri'; my $base = -f $file ? $file : $package; my ($prefix, $respath) = $resource =~ /^(ms-resource:)(.*)$/ or return; if ($respath =~ m|^//|) { # Keep resource as is } elsif ($respath =~ m|^/|) { $resource = $prefix.'//'.$respath; } else { $resource = $prefix.'///'.($respath =~ /resources/i ? '':'resources/').$respath; } return '@{'.$base.'?'.$resource.'}'; } sub _parsePackagePublishers { my $list = shift(@_); my %publishers = qw( tf1gferkr813w AutoDesk ); my @localized_publisher_packages = (); foreach my $package (@{$list}) { my $publisher = delete $package->{PUBLISHERDISPLAYNAME}; my $pubid = $package->{PUBLISHERID} or next; next unless $publisher; next if ($publishers{$pubid} && $publishers{$pubid} !~ /^ms-resource:/); if ($publisher =~ /^ms-resource:/) { push @localized_publisher_packages, $package; } $publishers{$pubid} = $publisher; } # Fix publishers with ms-resource: foreach my $package (@localized_publisher_packages) { my $pubid = $package->{PUBLISHERID} or next; next if ($publishers{$pubid} && $publishers{$pubid} !~ /^ms-resource:/); my $string = SHLoadIndirectString(_canonicalResourceURI( $package->{PACKAGE}, $package->{FOLDER}, $publishers{$pubid} )); if ($string) { $publishers{$pubid} = $string; } else { delete $publishers{$pubid}; } } return \%publishers; } 1; __DATA__ # Script PowerShell [Windows.Management.Deployment.PackageManager,Windows.Management.Deployment,ContentType=WindowsRuntime] >$null $packages = New-Object Windows.Management.Deployment.PackageManager foreach ( $package in $packages.FindPackages() ) { # Check install state for each user and break if an installation is found $state = "Installed" foreach ( $user in $packages.FindUsers($package.Id.FullName) ) { $state = $user.InstallState if ($user.InstallState -Like "Installed") { break $p = $packages.FindPackageForUser($user.UserSecurityId, $package.Id.FullName) if ($p.InstalledLocation.DateCreated -NotLike "") { $installedDate = $p.InstalledLocation.DateCreated break } } } if ($state -NotLike "Installed") { continue } # Use installeddate if found otherwise use installation folder creation date $installedDate = "" if ($package.InstalledDate -NotLike "") { $installedDate = $package.InstalledDate } elseif ($package.InstalledLocation.DateCreated -NotLike "") { $installedDate = $package.InstalledLocation.DateCreated } Write-host "NAME: $($package.Id.Name)" Write-host "PACKAGE: $($package.Id.FullName)" Write-host "ARCH: $($package.Id.Architecture.ToString().ToLowerInvariant())" Write-host "VERSION: $($package.Id.Version.Major).$($package.Id.Version.Minor).$($package.Id.Version.Build).$($package.Id.Version.Revision)" Write-host "FOLDER: $($package.InstalledLocation.Path)" if ($installedDate -NotLike "") { Write-host "INSTALLDATE: $($installedDate)" } Write-host "PUBLISHER: $($package.Id.Publisher)" Write-host "PUBLISHERID: $($package.Id.PublisherId)" Write-host "SYSTEM_CATEGORY: $($package.SignatureKind.ToString().ToLowerInvariant())" Write-Host } FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Firewall.pm0000644000175000017500000001361413712210012030627 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Firewall; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Win32; use FusionInventory::Agent::Tools::Constants; use Storable 'dclone'; my @mappingFirewallProfiles = qw/public standard domain/; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{firewall}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{firewall}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; for my $profile (_makeProfileAndConnectionsAssociation()) { $inventory->addEntry( section => 'FIREWALL', entry => $profile ); } } sub _getFirewallProfiles { my (%params) = @_; my $key = $params{key} || getRegistryKey( path => "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/SharedAccess/Parameters/FirewallPolicy", wmiopts => { # Only used for remote WMI optimization values => [ qw/EnableFirewall/ ] } ); return unless $key; my $subKeys = { domain => 'DomainProfile', public => 'PublicProfile', standard => 'StandardProfile' }; my $profiles = {}; for my $profile (keys %$subKeys) { next unless $key->{$subKeys->{$profile} . '/'}; next unless defined $key->{$subKeys->{$profile} . '/'}->{'/EnableFirewall'}; my $enabled = hex2dec($key->{ $subKeys->{$profile} . '/'}->{'/EnableFirewall'}); $profiles->{$profile} = { STATUS => $enabled ? STATUS_ON : STATUS_OFF, PROFILE => $subKeys->{$profile} }; } return $profiles; } sub _makeProfileAndConnectionsAssociation { my (%params) = @_; my $firewallProfiles = _getFirewallProfiles() or return; my $profilesKey = $params{profilesKey} || getRegistryKey( path => 'HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/NetworkList/Profiles', wmiopts => { # Only used for remote WMI optimization values => [ qw/ProfileName Category/ ] } ); return unless $profilesKey; my $signaturesKey = $params{signaturesKey} || getRegistryKey( path => 'HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/NetworkList/Signatures', wmiopts => { # Only used for remote WMI optimization values => [ qw/ProfileGuid FirstNetwork/ ] } ); return unless $signaturesKey; my $DNSRegisteredAdapters = getRegistryKey( path => 'HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/services/Tcpip/Parameters/DNSRegisteredAdapters', wmiopts => { # Only used for remote WMI optimization values => [ qw/PrimaryDomainName/ ] } ); return unless $DNSRegisteredAdapters; foreach my $interface (getInterfaces()) { next if ($interface->{STATUS} ne 'Up'); my $profile; my $domainSettings = defined($interface->{GUID}) ? $DNSRegisteredAdapters->{$interface->{GUID}.'/'} : undef; # check if connection with domain if ($domainSettings) { $profile = _retrieveFirewallProfileWithdomain( profileName => $domainSettings->{'/PrimaryDomainName'}, profilesKey => $profilesKey ); } else { $profile = _retrieveFirewallProfileWithoutDomain( DNSDomain => $interface->{DNSDomain}, profilesKey => $profilesKey, signaturesKey => $signaturesKey ); } next unless $profile; my $category = hex2dec($profile->{'/Category'}); unless (defined $firewallProfiles->{$mappingFirewallProfiles[$category]}->{CONNECTIONS}) { $firewallProfiles->{$mappingFirewallProfiles[$category]}->{CONNECTIONS} = []; } my $connection = {DESCRIPTION => $interface->{DESCRIPTION}}; $connection->{IPADDRESS} = $interface->{IPADDRESS} if ($interface->{IPADDRESS}); $connection->{IPADDRESS6} = $interface->{IPADDRESS6} if ($interface->{IPADDRESS6}); push @{$firewallProfiles->{$mappingFirewallProfiles[$category]}->{CONNECTIONS}}, $connection; } my @profiles = (); for my $p (values %{$firewallProfiles}) { my @p; if ($p->{CONNECTIONS} && ref($p->{CONNECTIONS}) eq 'ARRAY') { my @conns = @{$p->{CONNECTIONS}}; delete $p->{CONNECTIONS}; for my $conn (@conns) { my $newP = dclone $p; while (my ($k, $v) = each %$conn) { $newP->{$k} = $v; } push @p, $newP; } } else { push @p, $p; } push @profiles, @p; } return @profiles; } sub _retrieveFirewallProfileWithoutDomain { my (%params) = @_; return unless $params{DNSDomain} && $params{profilesKey} && $params{signaturesKey}; my $profilesKey = $params{profilesKey}; my $signaturesKey = $params{signaturesKey}; my $dnsDomain = $params{DNSDomain}; my $profileGuid; for my $sig (values %{$signaturesKey->{'Managed/'}}, values %{$signaturesKey->{'Unmanaged/'}}) { if ($sig->{'/FirstNetwork'} eq $dnsDomain) { $profileGuid = $sig->{'/ProfileGuid'}; last; } } return unless $profileGuid && $profilesKey->{$profileGuid . '/'}; return $profilesKey->{$profileGuid . '/'}; } sub _retrieveFirewallProfileWithdomain { my (%params) = @_; return unless $params{profileName} && $params{profilesKey}; my $profiles = $params{profilesKey}; my $profile; for my $p (values %$profiles) { if ($p->{'/ProfileName'} && $p->{'/ProfileName'} eq $params{profileName}) { $profile = $p; last; } } return $profile; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Storages/0000755000175000017500000000000013757703277030343 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Storages/HP.pm0000644000175000017500000000245713750013366031202 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Storages::HP; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use UNIVERSAL::require; use FusionInventory::Agent::Tools::Storages::HP; sub isEnabled { return _getHpacuacliFromWinRegistry(); } sub doInventory { my (%params) = @_; my $logger = $params{logger}; HpInventory( path => _getHpacuacliFromWinRegistry($logger), %params ); } sub _getHpacuacliFromWinRegistry { my $Registry; Win32::TieRegistry->require(); Win32::TieRegistry->import( Delimiter => '/', ArrayValues => 0, TiedRef => \$Registry, ); my $machKey = $Registry->Open('LMachine', { Access => Win32::TieRegistry::KEY_READ(), }) or die "Can't open HKEY_LOCAL_MACHINE key: $EXTENDED_OS_ERROR"; my $uninstallValues = $machKey->{'SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/HP ACUCLI'}; return unless $uninstallValues; my $uninstallString = $uninstallValues->{'/UninstallString'}; return unless $uninstallString; return unless $uninstallString =~ /(.*\\)hpuninst\.exe/; my $hpacuacliPath = $1 . 'bin\\hpacucli.exe'; return unless -f $hpacuacliPath; return $hpacuacliPath; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Sounds.pm0000644000175000017500000000177113712210012030336 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Sounds; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{sound}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{sound}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $object (getWMIObjects( class => 'Win32_SoundDevice', properties => [ qw/ Name Manufacturer Caption Description / ] )) { $inventory->addEntry( section => 'SOUNDS', entry => { NAME => $object->{Name}, CAPTION => $object->{Caption}, MANUFACTURER => $object->{Manufacturer}, DESCRIPTION => $object->{Description}, } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/License.pm0000644000175000017500000001475213712210012030450 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::License; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools::License; use FusionInventory::Agent::Tools::Win32; use FusionInventory::Agent::Tools; my $seenProducts; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{licenseinfo}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{licenseinfo}; return 1; } sub _resetSeenProducts { $seenProducts = {}; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my @licenses; my $officeKey = getRegistryKey( path => "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Office" ); _scanOfficeLicences($officeKey) if $officeKey; my $fileAdobe = 'C:\Program Files\Common Files\Adobe\Adobe PCD\cache\cache.db'; if (is64bit()) { $fileAdobe = 'C:\Program Files (x86)\Common Files\Adobe\Adobe PCD\cache\cache.db'; my $officeKey32 = getRegistryKey( path => "HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Office" ); _scanOfficeLicences($officeKey32) if $officeKey32; } push @licenses, getAdobeLicensesWithoutSqlite($fileAdobe) if (-e $fileAdobe); _scanWmiSoftwareLicensingProducts(); push @licenses, _getSeenProducts(); foreach my $license (@licenses) { $inventory->addEntry( section => 'LICENSEINFOS', entry => $license ); } _resetSeenProducts(); } sub _getSeenProducts { return unless $seenProducts; return grep { defined $_->{KEY} } values(%{$seenProducts}); } sub _scanWmiSoftwareLicensingProducts { foreach my $object (getWMIObjects( moniker => 'winmgmts:\\\\.\\root\\CIMV2', class => 'SoftwareLicensingProduct', properties => [ qw/ Name Description LicenseStatus PartialProductKey ID ProductKeyChannel ProductKeyID ProductKeyID2 ApplicationID / ] )) { next unless $object->{'PartialProductKey'} && $object->{'LicenseStatus'}; # Skip operating system license as still set from OS module next if ($object->{'Description'} && $object->{'Description'} =~ /Operating System/i); if ($object->{'ID'}) { my $wmiLicence = _getWmiLicense($object); my $uiidLC = lc($object->{'ID'}); if (!defined $seenProducts->{$uiidLC}) { $seenProducts->{$uiidLC} = $wmiLicence; } else { $wmiLicence->{'FULLNAME'} = $seenProducts->{$uiidLC}->{'FULLNAME'} if $seenProducts->{$uiidLC}->{'FULLNAME'}; $wmiLicence->{'TRIAL'} = $seenProducts->{$uiidLC}->{'TRIAL'} if $seenProducts->{$uiidLC}->{'TRIAL'}; my $uiidToDelete = $uiidLC; if ($seenProducts->{$uiidLC}->{PRODUCTCODE}) { # Change key Target $uiidLC = $seenProducts->{$uiidLC}->{PRODUCTCODE}; if ($seenProducts->{$uiidLC} && $seenProducts->{$uiidLC}->{KEY}) { my $wmiKey = substr $wmiLicence->{KEY}, -5; if ($seenProducts->{$uiidLC}->{'KEY'} =~ m/$wmiKey$/) { # Skip this licence - Registry give more information next; } } } delete $seenProducts->{$uiidToDelete}; $seenProducts->{$uiidLC} = $wmiLicence; } } } } sub _scanOfficeLicences { my ($key) = @_; # registry data structure: # SOFTWARE/Microsoft/Office # └── x.y # └── Registration # └── UUID # └── DigitalProductID:value # └── ProductID:value # └── ... foreach my $versionKey (keys %{$key}) { my $registrationKey = $key->{$versionKey}->{'Registration/'}; next unless $registrationKey; foreach my $uuidKey (keys %{$registrationKey}) { my $cleanUuidKey = lc( $uuidKey =~ /([-\w]+)/ && $1 ); # Keep in memory seen product with ProductCode value or DigitalProductID $seenProducts->{$cleanUuidKey} = _getOfficeLicense($registrationKey->{$uuidKey}) if $registrationKey->{$uuidKey}->{'/DigitalProductID'}; if ($registrationKey->{$uuidKey}->{'/ProductCode'} && $registrationKey->{$uuidKey}->{'/ProductName'}) { $seenProducts->{$cleanUuidKey} = { PRODUCTCODE => lc($registrationKey->{$uuidKey}->{'/ProductCode'} =~ /([-\w]+)/ && $1), FULLNAME => encodeFromRegistry($registrationKey->{$uuidKey}->{'/ProductName'}), }; $seenProducts->{$cleanUuidKey}->{'TRIAL'} = 1 if $registrationKey->{$uuidKey}->{'/ProductNameBrand'} && $registrationKey->{$uuidKey}->{'/ProductNameBrand'} =~ /trial/i; } } } } sub _getWmiLicense { my ($wmi) = @_; my $key = $wmi->{'PartialProductKey'}; if ($key && length($key) == 5) { $key = sprintf("XXXXX-XXXXX-XXXXX-XXXXX-%s", $key); } my $channel = $wmi->{'ProductKeyChannel'} || ''; my $license = { KEY => $key, PRODUCTID => $wmi->{'ProductKeyID2'} || $wmi->{'ApplicationID'} || $wmi->{'ProductKeyID'}, OEM => $channel =~ /OEM/i ? 1 : 0, FULLNAME => $wmi->{'Description'}, NAME => $wmi->{'Name'} }; return $license; } sub _getOfficeLicense { my ($key) = @_; my $license = { KEY => decodeMicrosoftKey($key->{'/DigitalProductID'}), PRODUCTID => $key->{'/ProductID'}, UPDATE => $key->{'/SPLevel'}, OEM => $key->{'/OEM'}, FULLNAME => encodeFromRegistry($key->{'/ProductName'}) || encodeFromRegistry($key->{'/ConvertToEdition'}), NAME => encodeFromRegistry($key->{'/ProductNameNonQualified'}) || encodeFromRegistry($key->{'/ProductNameVersion'}) }; if ($key->{'/TrialType'} && $key->{'/TrialType'} =~ /(\d+)$/) { $license->{TRIAL} = int($1); } my @products; foreach my $variable (keys %$key) { next unless $variable =~ m/\/(\w+)NameVersion$/; push @products, $1; } if (@products) { $license->{COMPONENTS} = join('/', sort @products); } return $license; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Storages.pm0000644000175000017500000001027213755465771030705 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Storages; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{storage}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{storage}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $hdparm = $inventory->getRemote() ? 0 : canRun('hdparm'); foreach my $storage (_getDrives(class => 'Win32_DiskDrive')) { if ($hdparm && defined($storage->{NAME}) && $storage->{NAME} =~ /(\d+)$/) { my $info = getHdparmInfo( device => "/dev/hd" . chr(ord('a') + $1), logger => $logger ); for my $k (qw(MODEL FIRMWARE SERIALNUMBER DISKSIZE)) { $storage->{$k} = $info->{$k} if defined $info->{$k}; } } $inventory->addEntry( section => 'STORAGES', entry => $storage ); } foreach my $storage (_getDrives(class => 'Win32_CDROMDrive')) { if ($hdparm && $storage->{NAME} =~ /(\d+)$/) { my $info = getHdparmInfo( device => "/dev/scd" . chr(ord('a') + $1), logger => $logger ); $storage->{MODEL} = $info->{model} if $info->{model}; $storage->{FIRMWARE} = $info->{firmware} if $info->{firmware}; $storage->{SERIAL} = $info->{serial} if $info->{serial}; $storage->{DISKSIZE} = $info->{size} if $info->{size}; } $inventory->addEntry( section => 'STORAGES', entry => $storage ); } foreach my $storage (_getDrives(class => 'Win32_TapeDrive')) { $inventory->addEntry( section => 'STORAGES', entry => $storage ); } } sub _getDrives { my (%params) = @_; my @drives; foreach my $object (getWMIObjects( class => $params{class}, properties => [ qw/ Manufacturer Model Caption Description Name MediaType InterfaceType FirmwareRevision SerialNumber Size SCSIPort SCSILogicalUnit SCSITargetId / ] )) { my $drive = { MANUFACTURER => $object->{Manufacturer}, MODEL => $object->{Model} || $object->{Caption}, DESCRIPTION => $object->{Description}, NAME => $object->{Name}, TYPE => $object->{MediaType}, INTERFACE => $object->{InterfaceType}, FIRMWARE => $object->{FirmwareRevision}, SCSI_COID => $object->{SCSIPort}, SCSI_LUN => $object->{SCSILogicalUnit}, SCSI_UNID => $object->{SCSITargetId}, }; # Cleanup field which may contain spaces $drive->{FIRMWARE} =~ s/\s+$// if $drive->{FIRMWARE}; $drive->{DISKSIZE} = int($object->{Size} / (1024 * 1024)) if $object->{Size}; if ($object->{SerialNumber} && $object->{SerialNumber} !~ /^ +$/) { # Try to decode serial only for known case if ($drive->{MODEL} =~ /VBOX HARDDISK ATA/) { $drive->{SERIAL} = _decodeSerialNumber($object->{SerialNumber}); } else { $drive->{SERIAL} = $object->{SerialNumber}; } } push @drives, $drive; } return @drives; } sub _decodeSerialNumber { my ($serial) = @_ ; return $serial unless ($serial =~ /^[0-9a-f]+$/); # serial is a space padded string encoded in hex words (4 hex-digits by word) return $serial if length($serial) % 4 ; # Map hex-encoded string to list of chars my @chars = map { chr hex } unpack("(a[2])*", $serial); $serial = ''; # Re-order chars while (@chars) { my $next = shift(@chars); $serial .= shift(@chars) . $next ; } # Strip trailing spaces $serial =~ s/ *$//; return $serial; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/USB.pm0000644000175000017500000000375413757422116027542 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::USB; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Generic; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{usb}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{usb}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $device (_getDevices(logger => $params{logger}, datadir => $params{datadir})) { $inventory->addEntry( section => 'USBDEVICES', entry => $device ); } } sub _getDevices { my @devices; my $seen; foreach my $device (_getDevicesFromWMI(@_)) { next if $device->{VENDORID} =~ /^0+$/; # avoid duplicates next if $seen->{$device->{SERIAL}}++; # pseudo serial generated by windows delete $device->{SERIAL} if $device->{SERIAL} =~ /&/; my $vendor = getUSBDeviceVendor(id => lc($device->{VENDORID}), @_); if ($vendor) { $device->{MANUFACTURER} = $vendor->{name}; my $entry = $vendor->{devices}->{lc($device->{PRODUCTID})}; if ($entry) { $device->{CAPTION} = $entry->{name}; $device->{NAME} = $entry->{name}; } } push @devices, $device; } return @devices; } sub _getDevicesFromWMI { my @devices; foreach my $object (getWMIObjects( class => 'CIM_LogicalDevice', properties => [ qw/Caption DeviceID Name/ ] )) { next unless $object->{DeviceID} =~ /^USB\\VID_(\w+)&PID_(\w+)\\(.*)/; push @devices, { CAPTION => $object->{Caption}, NAME => $object->{Name}, VENDORID => $1, PRODUCTID => $2, SERIAL => $3 }; } return @devices; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Bios.pm0000644000175000017500000000743713712210012027764 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Bios; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools::Win32; # Only run this module if dmidecode has not been found our $runMeIfTheseChecksFailed = ["FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Bios"]; sub isEnabled { return 1; } sub isEnabledForRemote { return 1; } sub _dateFromIntString { my ($string) = @_; if ($string && $string =~ /^(\d{4})(\d{2})(\d{2})/) { return "$2/$3/$1"; } return $string; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $bios = {}; foreach my $object (getWMIObjects( class => 'Win32_Bios', properties => [ qw/ SerialNumber Version Manufacturer SMBIOSBIOSVersion BIOSVersion ReleaseDate / ] )) { $bios->{BIOSSERIAL} = $object->{SerialNumber}; $bios->{SSN} = $object->{SerialNumber}; $bios->{BMANUFACTURER} = $object->{Manufacturer}; $bios->{BVERSION} = $object->{SMBIOSBIOSVersion} || $object->{BIOSVersion} || $object->{Version}; $bios->{BDATE} = _dateFromIntString($object->{ReleaseDate}); } # Try to set Bios date from registry if not found via wmi unless ($bios->{BDATE}) { $bios->{BDATE} = _dateFromIntString(getRegistryValue( path => "HKEY_LOCAL_MACHINE/Hardware/Description/System/BIOS/BIOSReleaseDate" )); } foreach my $object (getWMIObjects( class => 'Win32_ComputerSystem', properties => [ qw/ Manufacturer Model / ] )) { $bios->{SMANUFACTURER} = $object->{Manufacturer}; $bios->{SMODEL} = $object->{Model}; } foreach my $object (getWMIObjects( class => 'Win32_SystemEnclosure', properties => [ qw/ SerialNumber SMBIOSAssetTag / ] )) { $bios->{ENCLOSURESERIAL} = $object->{SerialNumber} ; $bios->{SSN} = $object->{SerialNumber} unless $bios->{SSN}; $bios->{ASSETTAG} = $object->{SMBIOSAssetTag}; } foreach my $object (getWMIObjects( class => 'Win32_BaseBoard', properties => [ qw/ SerialNumber Product Manufacturer / ] )) { $bios->{MSN} = $object->{SerialNumber}; $bios->{MMODEL} = $object->{Product}; $bios->{SSN} = $object->{SerialNumber} unless $bios->{SSN}; $bios->{SMANUFACTURER} = $object->{Manufacturer} unless $bios->{SMANUFACTURER}; } foreach (keys %$bios) { $bios->{$_} =~ s/\s+$// if $bios->{$_}; } $inventory->setBios($bios); SWITCH: { if ( ($bios->{VERSION} && $bios->{VERSION} eq 'VirtualBox') || ($bios->{MMODEL} && $bios->{MMODEL} eq 'VirtualBox') ) { $inventory->setHardware ({ VMSYSTEM => 'VirtualBox' }); last SWITCH; } if ( ($bios->{BIOSSERIAL} && $bios->{BIOSSERIAL} =~ /VMware/i) || ($bios->{SMODEL} && $bios->{SMODEL} eq 'VirtualBox') ) { $inventory->setHardware ({ VMSYSTEM => 'VMware' }); last SWITCH; } if ( ($bios->{SMANUFACTURER} && $bios->{SMANUFACTURER} eq 'Xen') || ($bios->{BMANUFACTURER} && $bios->{BMANUFACTURER} eq 'Xen') ) { $inventory->setHardware ({ VMSYSTEM => 'Xen' }); last SWITCH; } } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Memory.pm0000644000175000017500000000653013755465666030373 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Memory; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Win32; our $runMeIfTheseChecksFailed = ["FusionInventory::Agent::Task::Inventory::Generic::Dmidecode"]; my @formFactorVal = qw/ Unknown Other SIP DIP ZIP SOJ Proprietary SIMM DIMM TSOP PGA RIMM SODIMM SRIMM SMD SSMP QFP TQFP SOIC LCC PLCC BGA FPBGA LGA /; my @memoryTypeVal = qw/ Unknown Other DRAM Synchronous DRAM Cache DRAM EDO EDRAM VRAM SRAM RAM ROM Flash EEPROM FEPROM EPROM CDRAM 3DRAM SDRAM SGRAM RDRAM DDR DDR-2 /; my @memoryErrorProtection = ( undef, 'Other', undef, 'None', 'Parity', 'Single-bit ECC', 'Multi-bit ECC', 'CRC', ); sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{memory}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{memory}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $memory (_getMemories()) { $inventory->addEntry( section => 'MEMORIES', entry => $memory ); } } sub _getMemories { my $cpt = 0; my @memories; foreach my $object (getWMIObjects( class => 'Win32_PhysicalMemory', properties => [ qw/ Capacity Caption Description FormFactor Removable Speed MemoryType SerialNumber / ] )) { # Ignore ROM storages (BIOS ROM) my $type = $memoryTypeVal[$object->{MemoryType} // 0]; next if $type && $type eq 'ROM'; next if $type && $type eq 'Flash'; my $capacity; $capacity = $object->{Capacity} / (1024 * 1024) if $object->{Capacity}; push @memories, { CAPACITY => $capacity, CAPTION => $object->{Caption}, DESCRIPTION => $object->{Description}, FORMFACTOR => $formFactorVal[$object->{FormFactor} // 0], REMOVABLE => $object->{Removable} ? 1 : 0, SPEED => getCanonicalSpeed($object->{Speed}), TYPE => $memoryTypeVal[$object->{MemoryType} // 0], NUMSLOTS => $cpt++, SERIALNUMBER => $object->{SerialNumber} } } foreach my $object (getWMIObjects( class => 'Win32_PhysicalMemoryArray', properties => [ qw/ MemoryDevices SerialNumber MemoryErrorCorrection / ] )) { my $memory = defined($object->{MemoryDevices}) ? $memories[$object->{MemoryDevices} - 1] : $memories[0]; if (!$memory->{SERIALNUMBER}) { $memory->{SERIALNUMBER} = $object->{SerialNumber}; } if ($object->{MemoryErrorCorrection}) { $memory->{MEMORYCORRECTION} = $memoryErrorProtection[$object->{MemoryErrorCorrection} // 0]; if ($memory->{MEMORYCORRECTION} && $object->{MemoryErrorCorrection}>3) { $memory->{DESCRIPTION} .= " (".$memory->{MEMORYCORRECTION}.")"; } } } return @memories; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Printers.pm0000644000175000017500000001605613755461133030716 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Printers; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools::Win32; my @status = ( 'Unknown', # 0 is not defined 'Other', 'Unknown', 'Idle', 'Printing', 'Warming Up', 'Stopped printing', 'Offline', ); my @errStatus = ( 'Unknown', 'Other', 'No Error', 'Low Paper', 'No Paper', 'Low Toner', 'No Toner', 'Door Open', 'Jammed', 'Service Requested', 'Output Bin Full', 'Paper Problem', 'Cannot Print Page', 'User Intervention Required', 'Out of Memory', 'Server Unknown', ); sub isEnabled { my (%params) = @_; return !$params{no_category}->{printer}; } sub isEnabledForRemote { my (%params) = @_; return !$params{no_category}->{printer}; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $object (getWMIObjects( class => 'Win32_Printer', properties => [ qw/ ExtendedDetectedErrorState HorizontalResolution VerticalResolution Name Comment Description DriverName PortName Network Shared PrinterStatus ServerName ShareName PrintProcessor / ] )) { my $errStatus; if ($object->{ExtendedDetectedErrorState}) { $errStatus = $errStatus[$object->{ExtendedDetectedErrorState}]; } my $resolution; if ($object->{HorizontalResolution}) { $resolution = $object->{HorizontalResolution}; $resolution .= "x" . $object->{VerticalResolution} if $object->{VerticalResolution}; } $object->{Serial} = _getUSBPrinterSerial($object->{PortName}) if $object->{PortName} && $object->{PortName} =~ /USB/; $inventory->addEntry( section => 'PRINTERS', entry => { NAME => $object->{Name}, COMMENT => $object->{Comment}, DESCRIPTION => $object->{Description}, DRIVER => $object->{DriverName}, PORT => $object->{PortName}, RESOLUTION => $resolution, NETWORK => $object->{Network}, SHARED => $object->{Shared}, STATUS => $status[$object->{PrinterStatus} // 0], ERRSTATUS => $errStatus, SERVERNAME => $object->{ServerName}, SHARENAME => $object->{ShareName}, PRINTPROCESSOR => $object->{PrintProcessor}, SERIAL => $object->{Serial} } ); } } sub _getUSBPrinterSerial { my ($portName) = @_; # the serial number can be extracted from the USB registry key, containing # all USB devices, but we only know the USB port identifier, meaning we # must first look in USBPRINT registry key, containing USB printers only, # and find some way to correlate entries my $usbprint_key = getRegistryKey( path => "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Enum/USBPRINT", wmiopts => { # Only used for remote WMI optimization values => [ qw/PortName ContainerID/ ] } ); my $usb_key = getRegistryKey( path => "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Enum/USB", wmiopts => { # Only used for remote WMI optimization values => [ qw/ParentIdPrefix ContainerID/ ] } ); # the ContainerID variable seems more reliable, but is not always available my $containerId = _getUSBContainerID($usbprint_key, $portName); if ($containerId) { my $serial = _getUSBSerialFromContainerID($usb_key, $containerId); return $serial if $serial; } # fallback on ParentIdPrefix variable otherwise my $prefix = _getUSBPrefix($usbprint_key, $portName); if ($prefix) { my $serial = _getUSBSerialFromPrefix($usb_key, $prefix); return $serial if $serial; } # bad luck return; } sub _getUSBContainerID { my ($print, $portName) = @_; # registry data structure: # USBPRINT # └── device # └── subdevice # └── ContainerID:value # └── Device Parameters # └── PortName:value foreach my $device (values %$print) { foreach my $subdeviceName (keys %$device) { my $subdevice = $device->{$subdeviceName}; next unless $subdevice->{'Device Parameters/'} && $subdevice->{'Device Parameters/'}->{'/PortName'} && $subdevice->{'Device Parameters/'}->{'/PortName'} eq $portName; # got it return $subdevice->{'/ContainerID'}; }; } return; } sub _getUSBPrefix { my ($print, $portName) = @_; # registry data structure: # USBPRINT # └── device # └── subdevice # └── Device Parameters # └── PortName:value foreach my $device (values %$print) { foreach my $subdeviceName (keys %$device) { my $subdevice = $device->{$subdeviceName}; next unless $subdevice->{'Device Parameters/'} && $subdevice->{'Device Parameters/'}->{'/PortName'} && $subdevice->{'Device Parameters/'}->{'/PortName'} eq $portName; # got it my $prefix = $subdeviceName; $prefix =~ s{&$portName/$}{}; return $prefix; }; } return; } sub _getUSBSerialFromPrefix { my ($usb, $prefix) = @_; # registry data structure: # USB # └── device # └── subdevice # └── ParentIdPrefix:value foreach my $device (values %$usb) { foreach my $subdeviceName (keys %$device) { my $subdevice = $device->{$subdeviceName}; next unless $subdevice->{'/ParentIdPrefix'} && $subdevice->{'/ParentIdPrefix'} eq $prefix; # got it my $serial = $subdeviceName; # pseudo serial generated by windows return if $serial =~ /&/; $serial =~ s{/$}{}; return $serial; } } return; } sub _getUSBSerialFromContainerID { my ($usb, $containerId) = @_; # registry data structure: # USB # └── device # └── subdevice # └── ContainerId:value foreach my $device (values %$usb) { foreach my $subdeviceName (keys %$device) { my $subdevice = $device->{$subdeviceName}; next unless $subdevice->{'/ContainerID'} && $subdevice->{'/ContainerID'} eq $containerId; # pseudo serial generated by windows next if $subdeviceName =~ /&/; # got it my $serial = $subdeviceName; $serial =~ s{/$}{}; return $serial; } } return; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Environment.pm0000644000175000017500000000157613712210012031372 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Environment; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return !$params{no_category}->{environment}; } sub isEnabledForRemote { my (%params) = @_; return !$params{no_category}->{environment}; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $object (getWMIObjects( class => 'Win32_Environment', properties => [ qw/SystemVariable Name VariableValue/ ] )) { next unless $object->{SystemVariable}; $inventory->addEntry( section => 'ENVS', entry => { KEY => $object->{Name}, VAL => $object->{VariableValue} } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Inputs.pm0000644000175000017500000000417513712210012030346 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Inputs; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; # Had never been tested. use FusionInventory::Agent::Tools::Win32; my %mouseInterface = ( 1 => 'Other', 2 => 'Unknown', 3 => 'Serial', 4 => 'PS/2', 5 => 'Infrared', 6 => 'HP-HIL', 7 => 'Bus Mouse', 8 => 'ADB (Apple Desktop Bus)', 160 => 'Bus Mouse DB-9', 161 => 'Bus Mouse Micro-DIN', 162 => 'USB', ); sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{input}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{input}; return 1; } sub doInventory { my (%params) = @_; my %seen; my $inventory = $params{inventory}; foreach my $object (getWMIObjects( class => 'Win32_Keyboard', properties => [ qw/Name Caption Manufacturer Description Layout/ ] )) { my $input = { NAME => $object->{Name}, CAPTION => $object->{Caption}, MANUFACTURER => $object->{Manufacturer}, DESCRIPTION => $object->{Description}, LAYOUT => $object->{Layout}, }; # avoid duplicates next if $seen{$input->{NAME}}++; $inventory->addEntry( section => 'INPUTS', entry => $input ); } foreach my $object (getWMIObjects( class => 'Win32_PointingDevice', properties => [ qw/Name Caption Manufacturer Description PointingType DeviceInterface/ ] )) { my $input = { NAME => $object->{Name}, CAPTION => $object->{Caption}, MANUFACTURER => $object->{Manufacturer}, DESCRIPTION => $object->{Description}, POINTINGTYPE => $object->{PointingType}, INTERFACE => $mouseInterface{$object->{DeviceInterface}}, }; # avoid duplicates next if $seen{$input->{NAME}}++; $inventory->addEntry( section => 'INPUTS', entry => $input ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Drives.pm0000644000175000017500000001441213755457744030353 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Drives; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Win32; my @type = ( 'Unknown', 'No Root Directory', 'Removable Disk', 'Local Disk', 'Network Drive', 'Compact Disc', 'RAM Disk' ); sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{drive}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{drive}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $drive (_getDrives( logger => $params{logger}, )) { $inventory->addEntry( section => 'DRIVES', entry => $drive ); } } sub _getDrives { my (%params) = @_; my $logger = $params{logger}; my $systemDrive = "C:"; foreach my $object (getWMIObjects( class => 'Win32_OperatingSystem', properties => [ qw/SystemDrive/ ] )) { next unless $object->{SystemDrive}; $systemDrive = lc($object->{SystemDrive}); } my @drives; my %seen; foreach my $object (getWMIObjects( class => 'Win32_LogicalDisk', properties => [ qw/ InstallDate Description FreeSpace FileSystem VolumeName Caption VolumeSerialNumber DeviceID Size DriveType VolumeName ProviderName / ] )) { $object->{FreeSpace} = int($object->{FreeSpace} / (1024 * 1024)) if $object->{FreeSpace}; $object->{Size} = int($object->{Size} / (1024 * 1024)) if $object->{Size}; my $filesystem = $object->{FileSystem}; if ($object->{DriveType} == 4 && $object->{ProviderName}) { if ($object->{ProviderName} =~ /\\DavWWWRoot\\/) { $filesystem = "WebDav"; } elsif ($object->{ProviderName} =~ /^\\\\vmware-host\\/) { $filesystem = "HGFS"; } elsif (!$object->{FileSystem} || $object->{FileSystem} ne 'NFS') { $filesystem = "CIFS"; } } my $drive = { CREATEDATE => $object->{InstallDate}, DESCRIPTION => $object->{Description}, FREE => $object->{FreeSpace}, FILESYSTEM => $filesystem, LABEL => $object->{VolumeName}, LETTER => $object->{DeviceID} || $object->{Caption}, SERIAL => $object->{VolumeSerialNumber}, SYSTEMDRIVE => (lc($object->{DeviceID}) eq $systemDrive), TOTAL => $object->{Size}, TYPE => $type[$object->{DriveType}], VOLUMN => $object->{VolumeName}, }; $seen{$object->{DeviceID} || $object->{Caption}} = $drive; push @drives, $drive; } # Scan Win32_Volume to check for mounted point drives foreach my $object (getWMIObjects( class => 'Win32_Volume', properties => [ qw/ InstallDate Description FreeSpace FileSystem Name Caption DriveLetter SerialNumber Capacity DriveType Label DeviceID / ] )) { # Skip volume already seen as instance of Win32_LogicalDisk class if (@drives && exists($object->{DriveLetter}) && $object->{DriveLetter}) { next if $seen{$object->{DriveLetter}}; } $object->{FreeSpace} = int($object->{FreeSpace} / (1024 * 1024)) if $object->{FreeSpace}; $object->{Capacity} = int($object->{Capacity} / (1024 * 1024)) if $object->{Capacity}; my $drive = { CREATEDATE => $object->{InstallDate}, DESCRIPTION => $object->{Description}, FREE => $object->{FreeSpace}, FILESYSTEM => $object->{FileSystem}, LABEL => $object->{Label}, LETTER => $object->{Name} =~ m/^\\\\\?\\Volume/ ? $object->{Label} : $object->{Name} || $object->{Caption}, SERIAL => _encodeSerialNumber($object->{SerialNumber}), SYSTEMDRIVE => $object->{DriveLetter} ? (lc($object->{DriveLetter}) eq $systemDrive) : '', TOTAL => $object->{Capacity}, TYPE => $type[$object->{DriveType}], VOLUMN => $object->{Label}, }; $seen{$object->{DeviceID} || $object->{DriveLetter} || $object->{Caption}} = $drive; push @drives, $drive; } # See https://docs.microsoft.com/en-us/windows/desktop/secprov/getencryptionmethod-win32-encryptablevolume my @encryptionMethod = qw( None AES_128_WITH_DIFFUSER AES_256_WITH_DIFFUSER AES_128 AES_256 HARDWARE_ENCRYPTION XTS_AES_128 XTS_AES_256 ); # Scan Win32_EncryptableVolume to check for BitLocker crypted volumes foreach my $object (getWMIObjects( moniker => 'winmgmts://./root/CIMV2/Security/MicrosoftVolumeEncryption', class => 'Win32_EncryptableVolume', properties => [ qw/ DeviceID EncryptionMethod ProtectionStatus DriveLetter / ] )) { my $id = $object->{DeviceID}; $id = $object->{DriveLetter} unless exists($seen{$id}); if (!exists($seen{$id})) { $logger->Error("Unknown $id encryptable drive") if $logger; next; } my $method = $object->{EncryptionMethod} || 0; my $encryptAlgo = defined($encryptionMethod[$method]) ? $encryptionMethod[$method] : 'Unknown'; my $encrypted = defined($object->{ProtectionStatus}) ? $object->{ProtectionStatus} : 2 ; $seen{$id}->{ENCRYPT_NAME} = 'BitLocker'; $seen{$id}->{ENCRYPT_ALGO} = $encryptAlgo ; $seen{$id}->{ENCRYPT_STATUS} = $encrypted == 0 ? 'No' : $encrypted == 1 ? 'Yes' : 'Unknown' ; } return @drives; } sub _encodeSerialNumber { my ($serial) = @_; return '' unless $serial; # Win32_Volume serial is a uint32 but returned as signed int32 by API return $serial unless $serial =~ /^-?\d+$/; # Re-encode serial as uint32 and return hexadecimal string $serial = unpack('L', pack('L', $serial)); return sprintf("%08X", $serial); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Ports.pm0000644000175000017500000001163013712210012030165 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Ports; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; # Had never been tested. use FusionInventory::Agent::Tools::Win32; # cf http://msdn.microsoft.com/en-us/library/aa394486%28VS.85%29.aspx my @portType = ( 'Unknown', 'Other', 'Male', 'Female', 'Shielded', 'Unshielded', 'SCSI (A) High-Density (50 pins)', 'SCSI (A) Low-Density (50 pins)', 'SCSI (P) High-Density (68 pins)', 'SCSI SCA-I (80 pins)', 'SCSI SCA-II (80 pins)', 'SCSI Fibre Channel (DB-9, Copper)', 'SCSI Fibre Channel (Fibre)', 'SCSI Fibre Channel SCA-II (40 pins)', 'SCSI Fibre Channel SCA-II (20 pins)', 'SCSI Fibre Channel BNC', 'ATA 3-1/2 Inch (40 pins)', 'ATA 2-1/2 Inch (44 pins)', 'ATA-2', 'ATA-3', 'ATA/66', 'DB-9', 'DB-15', 'DB-25', 'DB-36', 'RS-232C', 'RS-422', 'RS-423', 'RS-485', 'RS-449', 'V.35', 'X.21', 'IEEE-488', 'AUI', 'UTP Category 3', 'UTP Category 4', 'UTP Category 5', 'BNC', 'RJ11', 'RJ45', 'Fiber MIC', 'Apple AUI', 'Apple GeoPort', 'PCI', 'ISA', 'EISA', 'VESA', 'PCMCIA', 'PCMCIA Type I', 'PCMCIA Type II', 'PCMCIA Type III', 'ZV Port', 'CardBus', 'USB', 'IEEE 1394', 'HIPPI', 'HSSDC (6 pins)', 'GBIC', 'DIN', 'Mini-DIN', 'Micro-DIN', 'PS/2', 'Infrared', 'HP-HIL', 'Access.bus', 'NuBus', 'Centronics', 'Mini-Centronics', 'Mini-Centronics Type-14', 'Mini-Centronics Type-20', 'Mini-Centronics Type-26', 'Bus Mouse', 'ADB', 'AGP', 'VME Bus', 'VME64', 'Proprietary', 'Proprietary Processor Card Slot', 'Proprietary Memory Card Slot', 'Proprietary I/O Riser Slot', 'PCI-66MHZ', 'AGP2X', 'AGP4X', 'PC-98', 'PC-98-Hireso', 'PC-H98', 'PC-98Note', 'PC-98Full', 'PCI-X', 'SSA SCSI', 'Circular', 'On-Board IDE Connector', 'On-Board Floppy Connector', '9 Pin Dual Inline', '25 Pin Dual Inline', '50 Pin Dual Inline', '68 Pin Dual Inline', 'On-Board Sound Connector', 'Mini-Jack', 'PCI-X', 'Sbus IEEE 1396-1993 32 Bit', 'Sbus IEEE 1396-1993 64 Bit', 'MCA', 'GIO', 'XIO', 'HIO', 'NGIO', 'PMC', 'MTRJ', 'VF-45', 'Future I/O', 'SC', 'SG', 'Electrical', 'Optical', 'Ribbon', 'GLM', '1x9', 'Mini SG', 'LC', 'HSSC', 'VHDCI Shielded (68 pins)', 'InfiniBand', 'AGP8X', 'PCI-E', ); sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{port}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{port}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $object (getWMIObjects( class => 'Win32_SerialPort', properties => [ qw/Name Caption Description/ ] )) { $inventory->addEntry( section => 'PORTS', entry => { NAME => $object->{Name}, CAPTION => $object->{Caption}, DESCRIPTION => $object->{Description}, TYPE => 'Serial', } ); } foreach my $object (getWMIObjects( class => 'Win32_ParallelPort', properties => [ qw/Name Caption Description/ ] )) { $inventory->addEntry( section => 'PORTS', entry => { NAME => $object->{Name}, CAPTION => $object->{Caption}, DESCRIPTION => $object->{Description}, TYPE => 'Parallel', } ); } foreach my $object (getWMIObjects( class => 'Win32_PortConnector', properties => [ qw/ConnectorType InternalReferenceDesignator/ ] )) { my $type; if ($object->{ConnectorType}) { $type = join(', ', map { $portType[$_] } @{$object->{ConnectorType}}); } if (!$type) { $type = $object->{InternalReferenceDesignator}; $type =~ s/\ \d.*//; # Drop the port number } if (!$type && !$object->{InternalReferenceDesignator}) { next; } elsif ($object->{InternalReferenceDesignator} =~ /SERIAL/) { next; # Already done } elsif ($object->{InternalReferenceDesignator} =~ /PARALLEL/) { next; # Already done } $inventory->addEntry( section => 'PORTS', entry => { NAME => $object->{InternalReferenceDesignator}, CAPTION => $object->{InternalReferenceDesignator}, DESCRIPTION => $object->{InternalReferenceDesignator}, TYPE => $type } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Modems.pm0000644000175000017500000000172513712210012030306 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Modems; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{modem}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{modem}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $object (getWMIObjects( class => 'Win32_POTSModem', properties => [ qw/Name DeviceType Model Description/ ] )) { $inventory->addEntry( section => 'MODEMS', entry => { NAME => $object->{Name}, TYPE => $object->{DeviceType}, MODEL => $object->{Model}, DESCRIPTION => $object->{Description}, } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/CPU.pm0000644000175000017500000000764613712210012027521 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use Win32; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Win32; use FusionInventory::Agent::Tools::Generic; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my @cpus = _getCPUs(%params); foreach my $cpu (@cpus) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } if (any { $_->{NAME} =~ /QEMU/i } @cpus) { $inventory->setHardware ({ VMSYSTEM => 'QEMU' }); } } sub _getCPUs { my (%params) = @_; my $remotewmi = $params{inventory}->getRemote(); my @dmidecodeInfos = $remotewmi || Win32::GetOSName() eq 'Win2003' ? () : getCpusFromDmidecode(); # the CPU description in WMI is false, we use the registry instead my $registryInfos = getRegistryKey( path => "HKEY_LOCAL_MACHINE/Hardware/Description/System/CentralProcessor", wmiopts => { # Only used for remote WMI optimization values => [ qw/Identifier ProcessorNameString VendorIdentifier/ ] } ); my $cpuId = 0; my @cpus; foreach my $object (getWMIObjects( class => 'Win32_Processor', properties => [ qw/ NumberOfCores NumberOfLogicalProcessors ProcessorId MaxClockSpeed SerialNumber Name Description Manufacturer / ] )) { my $dmidecodeInfo = $dmidecodeInfos[$cpuId]; my $registryInfo = $registryInfos->{"$cpuId/"}; # Compute WMI threads for this CPU if not available in dmidecode, this is the case on win2003r2 with 932370 hotfix applied (see #2894) my $wmi_threads = !$dmidecodeInfo->{THREAD} && $object->{NumberOfCores} ? $object->{NumberOfLogicalProcessors}/$object->{NumberOfCores} : undef; # Split CPUID from its value inside registry my @splitted_identifier = split(/ |\n/, $registryInfo->{'/Identifier'} || $object->{Manufacturer}); my $cpu = { CORE => $dmidecodeInfo->{CORE} || $object->{NumberOfCores}, THREAD => $dmidecodeInfo->{THREAD} || $wmi_threads, DESCRIPTION => $registryInfo->{'/Identifier'} || $object->{Description}, NAME => trimWhitespace($registryInfo->{'/ProcessorNameString'} || $object->{Name}), MANUFACTURER => getCanonicalManufacturer($registryInfo->{'/VendorIdentifier'} || $object->{Manufacturer}), SERIAL => $dmidecodeInfo->{SERIAL} || $object->{SerialNumber}, SPEED => $dmidecodeInfo->{SPEED} || $object->{MaxClockSpeed}, FAMILYNUMBER => $splitted_identifier[2], MODEL => $splitted_identifier[4], STEPPING => $splitted_identifier[6], ID => $dmidecodeInfo->{ID} || $object->{ProcessorId} }; # Some information are missing on Win2000 if (!$cpu->{NAME} && !$remotewmi) { $cpu->{NAME} = $ENV{PROCESSOR_IDENTIFIER}; if ($cpu->{NAME} =~ s/,\s(\S+)$//) { $cpu->{MANUFACTURER} = $1; } } if ($cpu->{SERIAL}) { $cpu->{SERIAL} =~ s/\s//g; } if (!$cpu->{SPEED} && $cpu->{NAME} =~ /([\d\.]+)s*(GHZ)/i) { $cpu->{SPEED} = { ghz => 1000, mhz => 1, }->{lc($2)} * $1; } # Support CORECOUNT total available cores $cpu->{CORECOUNT} = $dmidecodeInfo->{CORECOUNT} if ($dmidecodeInfo->{CORECOUNT}); push @cpus, $cpu; $cpuId++; } return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Users.pm0000644000175000017500000001224613757226056030213 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Users; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{user}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{user}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; if (!$params{no_category}->{local_user}) { foreach my $user (_getLocalUsers(logger => $logger)) { $inventory->addEntry( section => 'LOCAL_USERS', entry => $user ); } } if (!$params{no_category}->{local_group}) { foreach my $group (_getLocalGroups(logger => $logger)) { $inventory->addEntry( section => 'LOCAL_GROUPS', entry => $group ); } } # Handles seen users without being case sensitive my %seen = (); foreach my $user (_getLoggedUsers(logger => $logger)) { my $fullname = lc($user->{LOGIN}).'@'.lc($user->{DOMAIN}); $inventory->addEntry( section => 'USERS', entry => $user ) unless $seen{$fullname}++; } my $lastLoggedUser = _getLastUser(logger => $logger); if ($lastLoggedUser) { # Include last logged user as usual computer user if (ref($lastLoggedUser) eq 'HASH') { my $fullname = lc($lastLoggedUser->{LOGIN}).'@'.lc($lastLoggedUser->{DOMAIN}); $inventory->addEntry( section => 'USERS', entry => $lastLoggedUser ) unless $seen{$fullname}++; # Obsolete in specs, to be removed with 3.0 $inventory->setHardware({ LASTLOGGEDUSER => $lastLoggedUser->{LOGIN} }); } else { # Obsolete in specs, to be removed with 3.0 $inventory->setHardware({ LASTLOGGEDUSER => $lastLoggedUser }); } } } sub _getLocalUsers { my $query = "SELECT * FROM Win32_UserAccount " . "WHERE LocalAccount='True' AND Disabled='False' and Lockout='False'"; my @users; foreach my $object (getWMIObjects( moniker => 'winmgmts:\\\\.\\root\\CIMV2', query => $query, properties => [ qw/Name SID/ ]) ) { my $user = { NAME => $object->{Name}, ID => $object->{SID}, }; push @users, $user; } return @users; } sub _getLocalGroups { my $query = "SELECT * FROM Win32_Group " . "WHERE LocalAccount='True'"; my @groups; foreach my $object (getWMIObjects( moniker => 'winmgmts:\\\\.\\root\\CIMV2', query => $query, properties => [ qw/Name SID/ ]) ) { my $group = { NAME => $object->{Name}, ID => $object->{SID}, }; push @groups, $group; } return @groups; } sub _getLoggedUsers { my $query = "SELECT * FROM Win32_Process". " WHERE ExecutablePath IS NOT NULL" . " AND ExecutablePath LIKE '%\\\\Explorer\.exe'"; my @users; my $seen; foreach my $user (getWMIObjects( moniker => 'winmgmts:\\\\.\\root\\CIMV2', query => $query, method => 'GetOwner', params => [ 'name', 'domain' ], name => [ 'string', '' ], domain => [ 'string', '' ], binds => { name => 'LOGIN', domain => 'DOMAIN' }) ) { next if $seen->{$user->{LOGIN}}++; push @users, $user; } return @users; } sub _getLastUser { my $user; return unless any { $user = getRegistryValue(path => "HKEY_LOCAL_MACHINE/$_") } ( 'SOFTWARE/Microsoft/Windows/CurrentVersion/Authentication/LogonUI/LastLoggedOnSAMUser', 'SOFTWARE/Microsoft/Windows/CurrentVersion/Authentication/LogonUI/LastLoggedOnUser', 'SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon/DefaultUserName' ); # LastLoggedOnSAMUser becomes the mandatory value to detect last logged on user my @user = $user =~ /^([^\\]*)\\(.*)$/; if ( @user == 2 ) { # Try to get local user from user part if domain is just a dot return $user[0] eq '.' ? _getLocalUser($user[1]) : { LOGIN => $user[1], DOMAIN => $user[0] }; } # Backward compatibility, to be removed for 3.0 $user =~ s,.*\\,,; return $user; } sub _getLocalUser { my ($name) = @_; my $query = "SELECT * FROM Win32_UserAccount WHERE LocalAccount = True"; my @local_users = getWMIObjects( moniker => 'winmgmts:\\\\.\\root\\CIMV2', query => $query, properties => [ qw/Name Domain/ ] ); my $user = first { $_->{Name} eq $name } @local_users; return unless $user; return { LOGIN => $user->{Name}, DOMAIN => $user->{Domain} }; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Networks.pm0000644000175000017500000000524413712210012030676 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Networks; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{network}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{network}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my (@gateways, @dns, @ips); my $keys; foreach my $interface (getInterfaces()) { push @gateways, $interface->{IPGATEWAY} if $interface->{IPGATEWAY}; push @dns, $interface->{dns} if $interface->{dns}; push @ips, $interface->{IPADDRESS} if $interface->{IPADDRESS}; # Cleanup not necessary values delete $interface->{dns}; delete $interface->{DNSDomain}; delete $interface->{GUID}; # Don't reload registry keys between interfaces checks $keys = getRegistryKey( path => "HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Network/{4D36E972-E325-11CE-BFC1-08002BE10318}", wmiopts => { # Only used for remote WMI optimization values => [ qw/PnpInstanceID MediaSubType/ ] } ) unless $keys; $interface->{TYPE} = _getMediaType($interface->{PNPDEVICEID}, $keys); $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } $inventory->setHardware({ DEFAULTGATEWAY => join('/', uniq @gateways), DNS => join('/', uniq @dns), IPADDR => join('/', uniq @ips), }); } sub _getMediaType { my ($deviceid, $keys) = @_; return unless defined $deviceid && $keys; my $subtype; foreach my $subkey_name (keys %{$keys}) { # skip variables next if $subkey_name =~ m{^/}; my $subkey_connection = $keys->{$subkey_name}->{'Connection/'} or next; my $subkey_deviceid = $subkey_connection->{'/PnpInstanceID'} or next; # Normalize PnpInstanceID $subkey_deviceid =~ s/\\\\/\\/g; if (lc($subkey_deviceid) eq lc($deviceid)) { $subtype = $subkey_connection->{'/MediaSubType'}; last; } } return unless defined $subtype; return $subtype eq '0x00000001' ? 'ethernet' : $subtype eq '0x00000002' ? 'wifi' : $subtype eq '0x00000007' ? 'bluetooth' : undef; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Videos.pm0000644000175000017500000000264613712210012030316 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Videos; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{video}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{video}; return 1; } sub doInventory { my (%params) = @_; my %seen; my $inventory = $params{inventory}; foreach my $object (getWMIObjects( class => 'Win32_VideoController', properties => [ qw/ CurrentHorizontalResolution CurrentVerticalResolution VideoProcessor AdaptaterRAM Name / ] )) { my $video = { CHIPSET => $object->{VideoProcessor}, MEMORY => $object->{AdaptaterRAM}, NAME => $object->{Name}, }; if ($object->{CurrentHorizontalResolution}) { $video->{RESOLUTION} = $object->{CurrentHorizontalResolution} . "x" . $object->{CurrentVerticalResolution}; } $video->{MEMORY} = int($video->{MEMORY} / (1024 * 1024)) if $video->{MEMORY}; # avoid duplicates next if $seen{$video->{NAME}}++; $inventory->addEntry( section => 'VIDEOS', entry => $video ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/AntiVirus.pm0000644000175000017500000004231113754727712031034 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::AntiVirus; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use UNIVERSAL::require; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{antivirus}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{antivirus}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $seen; # Doesn't works on Win2003 Server # On Win7, we need to use SecurityCenter2 foreach my $instance (qw/SecurityCenter SecurityCenter2/) { my $moniker = "winmgmts:{impersonationLevel=impersonate,(security)}!//./root/$instance"; foreach my $object (getWMIObjects( moniker => $moniker, class => "AntiVirusProduct", properties => [ qw/ companyName displayName instanceGuid onAccessScanningEnabled productUptoDate versionNumber productState / ] )) { next unless $object; my $antivirus = { COMPANY => $object->{companyName}, NAME => $object->{displayName}, GUID => $object->{instanceGuid}, VERSION => $object->{versionNumber}, ENABLED => $object->{onAccessScanningEnabled}, UPTODATE => $object->{productUptoDate} }; if ($object->{productState}) { my $hex = dec2hex($object->{productState}); $logger->debug("Found $antivirus->{NAME} (state=$hex)") if $logger; # See http://neophob.com/2010/03/wmi-query-windows-securitycenter2/ my ($enabled, $uptodate) = $hex =~ /(.{2})(.{2})$/; if (defined($enabled) && defined($uptodate)) { $antivirus->{ENABLED} = $enabled =~ /^1.$/ ? 1 : 0; $antivirus->{UPTODATE} = $uptodate =~ /^00$/ ? 1 : 0; } } else { $logger->debug("Found $antivirus->{NAME}") if $logger; } # Also support WMI access to Windows Defender if (!$antivirus->{VERSION} && $antivirus->{NAME} =~ /Windows Defender/i) { my $defender; # Don't try to access Windows Defender class if not enabled as # WMI call can fail after a too long time while another antivirus # is installed if ($antivirus->{ENABLED}) { ($defender) = getWMIObjects( moniker => 'winmgmts://./root/microsoft/windows/defender', class => "MSFT_MpComputerStatus", properties => [ qw/AMProductVersion AntivirusEnabled AntivirusSignatureVersion/ ] ); } if ($defender) { $antivirus->{VERSION} = $defender->{AMProductVersion} if $defender->{AMProductVersion}; $antivirus->{ENABLED} = $defender->{AntivirusEnabled} if (defined($defender->{AntivirusEnabled})); $antivirus->{BASE_VERSION} = $defender->{AntivirusSignatureVersion} if $defender->{AntivirusSignatureVersion}; } $antivirus->{COMPANY} = "Microsoft Corporation"; # Finally try registry for base version if (!$antivirus->{BASE_VERSION}) { $defender = _getSoftwareRegistryKeys( 'Microsoft/Windows Defender/Signature Updates', [ 'AVSignatureVersion' ] ); $antivirus->{BASE_VERSION} = $defender->{'/AVSignatureVersion'} if $defender && $defender->{'/AVSignatureVersion'}; } } # Finally try to get version from software installation in registry if (!$antivirus->{VERSION} || !$antivirus->{COMPANY}) { my $registry = _getAntivirusUninstall($antivirus->{NAME}); if ($registry) { $antivirus->{VERSION} = encodeFromRegistry($registry->{"/DisplayVersion"}) if (!$antivirus->{VERSION} && $registry->{"/DisplayVersion"}); $antivirus->{COMPANY} = encodeFromRegistry($registry->{"/Publisher"}) if (!$antivirus->{COMPANY} && $registry->{"/Publisher"}); } } # avoid duplicates next if $seen->{$antivirus->{NAME}}->{$antivirus->{VERSION}||'_undef_'}++; # Check for other product datas for update if ($antivirus->{NAME} =~ /McAfee/i) { _setMcAfeeInfos($antivirus); } elsif ($antivirus->{NAME} =~ /Kaspersky/i) { _setKasperskyInfos($antivirus); } elsif ($antivirus->{NAME} =~ /ESET/i) { _setESETInfos($antivirus); } elsif ($antivirus->{NAME} =~ /Avira/i) { _setAviraInfos($antivirus); } elsif ($antivirus->{NAME} =~ /Security Essentials/i) { _setMSEssentialsInfos($antivirus); } elsif ($antivirus->{NAME} =~ /F-Secure/i) { _setFSecureInfos($antivirus); } elsif ($antivirus->{NAME} =~ /Bitdefender/i) { _setBitdefenderInfos($antivirus,$logger); } elsif ($antivirus->{NAME} =~ /Norton|Symantec/i) { _setNortonInfos($antivirus); } $inventory->addEntry( section => 'ANTIVIRUS', entry => $antivirus ); $logger->debug2("Added $antivirus->{NAME}".($antivirus->{VERSION}? " v$antivirus->{VERSION}":"")) if $logger; } } } sub _getAntivirusUninstall { my ($name) = @_; return unless $name; # Cleanup name from localized chars to keep a clean regex pattern my ($pattern) = $name =~ /^([a-zA-Z0-9 ._-]+)/ or return; # Escape dot in pattern $pattern =~ s/\./\\./g; my $match = qr/^$pattern/i; return _getSoftwareRegistryKeys( 'Microsoft/Windows/CurrentVersion/Uninstall', [ 'DisplayName', 'DisplayVersion', 'Publisher' ], sub { my ($registry) = @_; return first { $_->{"/DisplayName"} && $_->{"/DisplayName"} =~ $match; } values(%{$registry}); } ); } sub _setMcAfeeInfos { my ($antivirus) = @_; my %properties = ( 'BASE_VERSION' => [ 'AVDatVersion', 'AVDatVersionMinor' ], ); my $regvalues = [ map { @{$_} } values(%properties) ]; my $macafeeReg = _getSoftwareRegistryKeys('McAfee/AVEngine', $regvalues) or return; # major.minor versions properties foreach my $property (keys %properties) { my $keys = $properties{$property}; my $major = $macafeeReg->{'/' . $keys->[0]}; my $minor = $macafeeReg->{'/' . $keys->[1]}; $antivirus->{$property} = sprintf("%04d.%04d", hex2dec($major), hex2dec($minor)) if defined $major && defined $minor; } } sub _setKasperskyInfos { my ($antivirus) = @_; my $regvalues = [ qw(LastSuccessfulUpdate LicKeyType LicDaysTillExpiration) ]; my $kasperskyReg = _getSoftwareRegistryKeys('KasperskyLab\protected', $regvalues) or return; my $found = first { $_->{"Data/"} && $_->{"Data/"}->{"/LastSuccessfulUpdate"} } values(%{$kasperskyReg}); if ($found) { my $lastupdate = hex2dec($found->{"Data/"}->{"/LastSuccessfulUpdate"}); if ($lastupdate && $lastupdate != 0xFFFFFFFF) { my @date = localtime($lastupdate); # Format BASE_VERSION as YYYYMMDD $antivirus->{BASE_VERSION} = sprintf( "%04d%02d%02d",$date[5]+1900,$date[4]+1,$date[3]); } # Set expiration date only if we found a licence key type my $keytype = hex2dec($found->{"Data/"}->{"/LicKeyType"}); if ($keytype) { my $expiration = hex2dec($found->{"Data/"}->{"/LicDaysTillExpiration"}); if (defined($expiration)) { my @date = localtime(time+86400*$expiration); $antivirus->{EXPIRATION} = sprintf( "%02d/%02d/%04d",$date[3],$date[4]+1,$date[5]+1900); } } } } sub _setESETInfos { my ($antivirus) = @_; my $esetReg = _getSoftwareRegistryKeys( 'ESET\ESET Security\CurrentVersion\Info', [ qw(ProductVersion ScannerVersion ProductName AppDataDir) ] ); return unless $esetReg; unless ($antivirus->{VERSION}) { $antivirus->{VERSION} = $esetReg->{"/ProductVersion"} if $esetReg->{"/ProductVersion"}; } $antivirus->{BASE_VERSION} = $esetReg->{"/ScannerVersion"} if $esetReg->{"/ScannerVersion"}; $antivirus->{NAME} = $esetReg->{"/ProductName"} if $esetReg->{"/ProductName"}; # Look at license file if ($esetReg->{"/AppDataDir"} && -d $esetReg->{"/AppDataDir"}.'/License') { my $license = $esetReg->{"/AppDataDir"}.'/License/license.lf'; my @content = getAllLines( file => $license ); my $string = join('', map { getSanitizedString($_) } @content); # License.lf file seems to be a signed UTF-16 XML. As getSanitizedString() # calls should have transform UTF-16 as UTF-8, we should extract # wanted node and parse it as XML my ($xml) = $string =~ /()/; if ($xml) { XML::TreePP->require(); my $expiration; eval { my $tpp = XML::TreePP->new(); my $tree = $tpp->parse($xml); $expiration = $tree->{ESET}->{PRODUCT_LICENSE_FILE}->{LICENSE}->{ACTIVE_PRODUCT}->{-EXPIRATION_DATE}; }; # Extracted expiration is like: 2018-11-17T12:00:00Z if ($expiration && $expiration =~ /^(\d{4})-(\d{2})-(\d{2})T/) { $antivirus->{EXPIRATION} = sprintf("%02d/%02d/%04d",$3,$2,$1); } } } } sub _setAviraInfos { my ($antivirus) = @_; my ($aviraInfos) = getWMIObjects( moniker => 'winmgmts://./root/CIMV2/Applications/Avira_AntiVir', class => "License_Info", properties => [ qw/License_Expiration/ ] ); if($aviraInfos && $aviraInfos->{License_Expiration}) { my ($expiration) = $aviraInfos->{License_Expiration} =~ /^(\d+\.\d+\.\d+)/; if ($expiration) { $expiration =~ s/\./\//g; $antivirus->{EXPIRATION} = $expiration; } } my $aviraReg = _getSoftwareRegistryKeys( 'Avira/Antivirus', [ qw(VdfVersion) ] ); return unless $aviraReg; $antivirus->{BASE_VERSION} = $aviraReg->{"/VdfVersion"} if $aviraReg->{"/VdfVersion"}; } sub _setMSEssentialsInfos { my ($antivirus) = @_; my $mseReg = _getSoftwareRegistryKeys( 'Microsoft\Microsoft Antimalware\Signature Updates', [ 'AVSignatureVersion' ] ); return unless $mseReg; $antivirus->{BASE_VERSION} = $mseReg->{"/AVSignatureVersion"} if $mseReg->{"/AVSignatureVersion"}; } sub _setFSecureInfos { my ($antivirus) = @_; my $fsecReg = _getSoftwareRegistryKeys( 'F-Secure\Ultralight\Updates\aquarius', [ qw(file_set_visible_version) ] ); return unless $fsecReg; my $found = first { $_->{"/file_set_visible_version"} } values(%{$fsecReg}); $antivirus->{BASE_VERSION} = $found->{"/file_set_visible_version"} if $found->{"/file_set_visible_version"}; # Try to find license "expiry_date" from a specific json file $fsecReg = _getSoftwareRegistryKeys( 'F-Secure\CCF\DLLHoster\100\Plugins\CosmosService', [ qw(DataPath) ] ); return unless $fsecReg; my $path = $fsecReg->{"/DataPath"}; return unless $path && -d $path; # This is the full path for the expected json file $path .= "\\safe.S-1-5-18.local.cosmos"; return unless -f $path; my $infos = getAllLines(file => $path); return unless $infos; JSON::PP->require(); my @licenses; eval { $infos = JSON::PP::decode_json($infos); @licenses = @{$infos->{local}->{windows}->{secl}->{subscription}->{license_table}}; }; return unless @licenses; my $expiry_date; # In the case more than one license is found, assume we need the one with appid=2 foreach my $license (@licenses) { $expiry_date = $license->{expiry_date} if $license->{expiry_date}; last if $expiry_date && $license->{appid} && $license->{appid} == 2; } return unless $expiry_date; my @date = localtime($expiry_date); $antivirus->{EXPIRATION} = sprintf("%02d/%02d/%04d",$date[3],$date[4]+1,$date[5]+1900); } sub _setBitdefenderInfos { my ($antivirus) = @_; my $bitdefenderReg = _getSoftwareRegistryKeys( 'BitDefender\About', [ qw(ProductName ProductVersion) ] ); return unless $bitdefenderReg; $antivirus->{VERSION} = $bitdefenderReg->{"/ProductVersion"} if $bitdefenderReg->{"/ProductVersion"}; $antivirus->{NAME} = $bitdefenderReg->{"/ProductName"} if $bitdefenderReg->{"/ProductName"}; my $path = _getSoftwareRegistryKeys( 'BitDefender', [ 'Bitdefender Scan Server' ], sub { $_[0]->{"/Bitdefender Scan Server"} } ); if ($path && -d $path) { my $handle = getDirectoryHandle( directory => $path ); if ($handle) { my ($major,$minor) = (0,0); while (my $entry = readdir($handle)) { next unless $entry =~ /Antivirus_(\d+)_(\d+)/; next unless (-d "$path/$entry/Plugins" && -e "$path/$entry/Plugins/update.txt"); next if ($1 < $major || ($1 == $major && $2 < $minor)); ($major,$minor) = ($1, $2); my %update = map { /^([^:]+):\s*(.*)$/ } getAllLines(file => "$path/$entry/Plugins/update.txt"); $antivirus->{BASE_VERSION} = $update{"Signature number"} if $update{"Signature number"}; } } } my $surveydata = _getSoftwareRegistryKeys( 'BitDefender\Install', [ 'SurveyDataInfo' ], sub { $_[0]->{"/SurveyDataInfo"} } ); if ($surveydata) { JSON::PP->require(); my $datas; eval { $datas = JSON::PP::decode_json($surveydata); }; if (defined($datas->{days_left})) { my @date = localtime(time+86400*$datas->{days_left}); $antivirus->{EXPIRATION} = sprintf("%02d/%02d/%04d",$date[3],$date[4]+1,$date[5]+1900); } } } sub _setNortonInfos { my ($antivirus) = @_; # ref: https://support.symantec.com/en_US/article.TECH251363.html my $nortonReg = _getSoftwareRegistryKeys( 'Norton\{0C55C096-0F1D-4F28-AAA2-85EF591126E7}', [ qw(PRODUCTVERSION) ] ); if ($nortonReg && $nortonReg->{PRODUCTVERSION}) { $antivirus->{VERSION} = $nortonReg->{PRODUCTVERSION}; } # Lookup for BASE_VERSION as CurDefs in definfo.dat insome places # See also https://support.symantec.com/en_US/article.TECH237037.html my @datadirs = ( 'C:/ProgramData/Symantec/Symantec Endpoint Protection/CurrentVersion/Data', 'C:/Documents and Settings/All Users/Application Data/Symantec/Symantec Endpoint Protection/CurrentVersion/Data', ); $nortonReg = _getSoftwareRegistryKeys( 'Norton\{0C55C096-0F1D-4F28-AAA2-85EF591126E7}\Common Client\PathExpansionMap', [ qw(DATADIR) ] ); if ($nortonReg && $nortonReg->{DATADIR}) { $nortonReg->{DATADIR} =~ s|\\|/|g; unshift @datadirs, $nortonReg->{DATADIR} if -d $nortonReg->{DATADIR}; } # Extract BASE_VERSION from the first found valid definfo.dat file foreach my $datadir (@datadirs) { my ($defdir) = grep { -d $datadir.'/'.$_ } qw(Definitions/SDSDefs Definitions/VirusDefs); next unless $defdir; my $definfo = $datadir . '/' . $defdir . "/definfo.dat"; next unless -e $definfo; my ($curdefs) = grep { /^CurDefs=/ } getAllLines( file => $definfo ); if ($curdefs && $curdefs =~ /^CurDefs=(.*)$/) { $antivirus->{BASE_VERSION} = $1; last; } } } sub _getSoftwareRegistryKeys { my ($base, $values, $callback) = @_; my $reg; if (is64bit()) { $reg = getRegistryKey( path => 'HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/'.$base, wmiopts => { # Only used for remote WMI optimization values => $values } ); if ($reg) { if ($callback) { my $filter = &{$callback}($reg); return $filter if $filter; } else { return $reg; } } } $reg = getRegistryKey( path => 'HKEY_LOCAL_MACHINE/SOFTWARE/'.$base, wmiopts => { # Only used for remote WMI optimization values => $values } ); return ($callback && $reg) ? &{$callback}($reg) : $reg; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32/Controllers.pm0000644000175000017500000000651713712210012031374 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32::Controllers; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Generic; use FusionInventory::Agent::Tools::Win32; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{controller}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{controller}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $physical = $inventory->getHardware('VMSYSTEM') eq 'Physical'; foreach my $controller (_getControllers( logger => $params{logger}, datadir => $params{datadir} )) { $inventory->addEntry( section => 'CONTROLLERS', entry => $controller ); if ($physical && $controller->{NAME} =~ /QEMU/i) { $inventory->setHardware ({ VMSYSTEM => 'QEMU' }); } } } sub _getControllers { my @controllers; my %seen; foreach my $controller (_getControllersFromWMI(@_)) { if ($controller->{deviceid} =~ /PCI\\VEN_(\S{4})&DEV_(\S{4})/) { $controller->{VENDORID} = lc($1); $controller->{PRODUCTID} = lc($2); } if ($controller->{deviceid} =~ /&SUBSYS_(\S{4})(\S{4})/) { $controller->{PCISUBSYSTEMID} = lc($2 . ':' . $1); } # only devices with a PCIID sounds resonable next unless $controller->{VENDORID} && $controller->{PRODUCTID}; # avoid duplicates next if $seen{$controller->{VENDORID}}->{$controller->{PRODUCTID}}++; delete $controller->{deviceid}; my $vendor_id = lc($controller->{VENDORID}); my $device_id = lc($controller->{PRODUCTID}); my $subdevice_id = lc($controller->{PCISUBSYSTEMID}); my $vendor = getPCIDeviceVendor(id => $vendor_id, @_); if ($vendor) { $controller->{MANUFACTURER} = $vendor->{name}; if ($vendor->{devices}->{$device_id}) { my $entry = $vendor->{devices}->{$device_id}; $controller->{CAPTION} = $entry->{name}; $controller->{NAME} = $subdevice_id && $entry->{subdevices}->{$subdevice_id} ? $entry->{subdevices}->{$subdevice_id}->{name} : $entry->{name}; } } push @controllers, $controller; } return @controllers; } sub _getControllersFromWMI { my @controllers; foreach my $class (qw/ Win32_FloppyController Win32_IDEController Win32_SCSIController Win32_VideoController Win32_InfraredDevice Win32_USBController Win32_1394Controller Win32_PCMCIAController CIM_LogicalDevice /) { foreach my $object (getWMIObjects( class => $class, properties => [ qw/ Name Manufacturer Caption DeviceID /] )) { push @controllers, { NAME => $object->{Name}, MANUFACTURER => $object->{Manufacturer}, CAPTION => $object->{Caption}, TYPE => $object->{Caption}, deviceid => $object->{DeviceID}, }; } } return @controllers; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX.pm0000644000175000017500000000171613712210012026744 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; our $runAfter = ["FusionInventory::Agent::Task::Inventory::Generic"]; sub isEnabled { return $OSNAME eq 'hpux'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; # Operating system informations my $kernelVersion = getFirstLine(command => 'uname -v'); my $kernelRelease = getFirstLine(command => 'uname -r'); my $OSLicense = getFirstLine(command => 'uname -l'); $inventory->setHardware({ OSNAME => 'HP-UX', OSVERSION => $kernelVersion . ' ' . $OSLicense, OSCOMMENTS => $kernelRelease, }); $inventory->setOperatingSystem({ NAME => 'HP-UX', VERSION => $kernelRelease, KERNEL_VERSION => $kernelRelease, }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/BSD.pm0000644000175000017500000000246513712210012026572 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::BSD; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; our $runAfter = ["FusionInventory::Agent::Task::Inventory::Generic"]; sub isEnabled { return $OSNAME =~ /freebsd|openbsd|netbsd|gnukfreebsd|gnuknetbsd|dragonfly/; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; # basic operating system informations my $kernelVersion = getFirstLine(command => 'uname -v'); my $kernelRelease = getFirstLine(command => 'uname -r'); my $boottime = getFirstMatch( command => "sysctl -n kern.boottime", pattern => qr/sec = (\d+)/ ); my $name = canRun('lsb_release') ? getFirstMatch( command => 'lsb_release -d', pattern => qr/Description:\s+(.+)/ ) : $OSNAME; $inventory->setHardware({ OSNAME => $name, OSVERSION => $kernelRelease, OSCOMMENTS => $kernelVersion, }); $inventory->setOperatingSystem({ NAME => $name, FULL_NAME => $OSNAME, VERSION => $kernelRelease, KERNEL_VERSION => $kernelRelease, BOOT_TIME => getFormatedLocalTime($boottime) }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/0000755000175000017500000000000013757703277027266 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/Slots.pm0000644000175000017500000000135613712210012030700 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris::Slots; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Solaris; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{slot}; return canRun('prtdiag'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $slot (_getSlots(logger => $logger)) { $inventory->addEntry( section => 'SLOTS', entry => $slot ); } } sub _getSlots { my $info = getPrtdiagInfos(@_); return $info->{slots} ? @{$info->{slots}} : (); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/Softwares.pm0000644000175000017500000000437513712210012031555 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris::Softwares; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return !$params{no_category}->{software} && (canRun('pkg') || canRun('pkginfo')); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $pkgs = _parse_pkgs(logger => $logger); return unless $pkgs; foreach my $pkg (@$pkgs) { $inventory->addEntry( section => 'SOFTWARES', entry => $pkg ); } } sub _parse_pkgs { my (%params) = @_; if (!defined $params{command}) { if (canRun('pkg')) { $params{command} = 'pkg info'; } else { $params{command} = 'pkginfo -l'; } } my $handle = getFileHandle(%params); return unless $handle; my @softwares; my $software; if ($params{command} =~ /pkg info/) { while (my $line = <$handle>) { if ($line =~ /^\s*$/) { push @softwares, $software if $software; undef $software; } elsif ($line =~ /Name:\s+(.+)/) { $software->{NAME} = $1; } elsif ($line =~ /FMRI:\s+.+\@(.+)/) { $software->{VERSION} = $1; } elsif ($line =~ /Publisher:\s+(.+)/) { $software->{PUBLISHER} = $1; } elsif ($line =~ /Summary:\s+(.+)/) { $software->{COMMENTS} = $1; } } } else { while (my $line = <$handle>) { if ($line =~ /^\s*$/) { push @softwares, $software if $software; undef $software; } elsif ($line =~ /PKGINST:\s+(.+)/) { $software->{NAME} = $1; } elsif ($line =~ /VERSION:\s+(.+)/) { $software->{VERSION} = $1; } elsif ($line =~ /VENDOR:\s+(.+)/) { $software->{PUBLISHER} = $1; } elsif ($line =~ /DESC:\s+(.+)/) { $software->{COMMENTS} = $1; } } } push @softwares, $software if $software; close $handle; return \@softwares; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/Storages.pm0000644000175000017500000000621313712210012031360 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris::Storages; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{storage}; return canRun('iostat'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @storages = _getStorages( logger => $logger, command => 'iostat -En' ); foreach my $storage (@storages) { if (-l "/dev/rdsk/$storage->{NAME}s2") { my $rdisk_path = getFirstLine( command => "ls -l /dev/rdsk/$storage->{NAME}s2" ); $storage->{TYPE} = $rdisk_path =~ /->.*scsi_vhci/ ? 'MPxIO' : $rdisk_path =~ /->.*fp@/ ? 'FC' : $rdisk_path =~ /->.*scsi@/ ? 'SCSI' : undef ; } $inventory->addEntry(section => 'STORAGES', entry => $storage); } } sub _getStorages { my $handle = getFileHandle(@_); return unless $handle; my @storages; my $storage; while (my $line = <$handle>) { if ($line =~ /^(\S+)\s+Soft/) { $storage->{NAME} = $1; } if ($line =~ /^ Vendor: \s (\S+) \s+ Product: \s (\S.*?\S) \s+ Revision: \s (\S+) \s+ Serial \s No: \s (\S*) /x) { $storage->{MANUFACTURER} = $1; $storage->{MODEL} = $2; $storage->{FIRMWARE} = $3; $storage->{SERIALNUMBER} = $4 if $4; } if ($line =~ /<(\d+) bytes/) { $storage->{DISKSIZE} = int($1/(1000*1000)); } if ($line =~ /^Illegal/) { # Last ligne ## To be removed when SERIALNUMBER will be supported if ($storage->{SERIALNUMBER}) { $storage->{DESCRIPTION} = $storage->{DESCRIPTION} ? $storage->{DESCRIPTION} . " S/N:" . $storage->{SERIALNUMBER} : "S/N:" . $storage->{SERIALNUMBER} ; } ## To be removed when FIRMWARE will be supported if ($storage->{FIRMWARE}) { $storage->{DESCRIPTION} = $storage->{DESCRIPTION} ? $storage->{DESCRIPTION} . " FW:" . $storage->{FIRMWARE} : "FW:" . $storage->{FIRMWARE} ; } if ($storage->{MANUFACTURER}) { ## Workaround for MANUFACTURER == ATA case if ( $storage->{MANUFACTURER} eq 'ATA' && $storage->{MODEL} =~ /^(Hitachi|Seagate|INTEL) (.+)/i) { $storage->{MANUFACTURER} = $1; $storage->{MODEL} = $2; } ## Drop the (R) from the manufacturer string $storage->{MANUFACTURER} =~ s/\(R\)$//i; } push @storages, $storage; undef $storage; } } close $handle; return @storages; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/Bios.pm0000644000175000017500000001021413712210012030461 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris::Bios; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Solaris; sub isEnabled { return canRun('showrev') || canRun('/usr/sbin/smbios'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $arch = $Config{archname} =~ /^i86pc/ ? 'i386' : 'sparc'; my ($bios, $hardware); if (getZone() eq 'global') { if (canRun('showrev')) { my $infos = _parseShowRev(logger => $logger); $bios->{SMODEL} = $infos->{'Application architecture'}; $bios->{SMANUFACTURER} = $infos->{'Hardware provider'}; } if ($arch eq "i386") { my $infos = _parseSmbios(logger => $logger); my $biosInfos = $infos->{SMB_TYPE_BIOS}; $bios->{BMANUFACTURER} = $biosInfos->{'Vendor'}; $bios->{BVERSION} = $biosInfos->{'Version String'}; $bios->{BDATE} = $biosInfos->{'Release Date'}; my $systemInfos = $infos->{SMB_TYPE_SYSTEM}; $bios->{SMANUFACTURER} = $systemInfos->{'Manufacturer'}; $bios->{SMODEL} = $systemInfos->{'Product'}; $bios->{SKUNUMBER} = $systemInfos->{'SKU Number'}; $hardware->{UUID} = $systemInfos->{'UUID'}; my $motherboardInfos = $infos->{SMB_TYPE_BASEBOARD}; $bios->{MMODEL} = $motherboardInfos->{'Product'}; $bios->{MSN} = $motherboardInfos->{'Serial Number'}; $bios->{MMANUFACTURER} = $motherboardInfos->{'Manufacturer'}; } else { my $info = getPrtconfInfos(logger => $logger); if ($info) { my $root = first { ref $_ eq 'HASH' } values %$info; $bios->{SMODEL} = $root->{'banner-name'}; if ($root->{openprom}->{version} =~ m{OBP \s+ ([\d.]+) \s+ (\d{4})/(\d{2})/(\d{2})}x) { $bios->{BVERSION} = $1; $bios->{BDATE} = join('/', $4, $3, $2); } } my $command = -x '/opt/SUNWsneep/bin/sneep' ? '/opt/SUNWsneep/bin/sneep' : 'sneep'; $bios->{SSN} = getFirstLine( command => $command, logger => $logger ); $hardware->{UUID} = _getUUID( command => '/usr/sbin/zoneadm -z global list -p', logger => $logger ); } } else { my $infos = _parseShowRev(logger => $logger); $bios->{SMANUFACTURER} = $infos->{'Hardware provider'}; $bios->{SMODEL} = "Solaris Containers"; if ($arch eq 'sparc') { $hardware->{UUID} = _getUUID( command => '/usr/sbin/zoneadm list -p', logger => $logger ) } } $inventory->setBios($bios); $inventory->setHardware($hardware); } sub _parseShowRev { my (%params) = ( command => 'showrev', @_ ); my $handle = getFileHandle(%params); return unless $handle; my $infos; while (my $line = <$handle>) { next unless $line =~ /^ ([^:]+) : \s+ (\S+)/x; $infos->{$1} = $2; } close $handle; return $infos; } sub _parseSmbios { my (%params) = ( command => '/usr/sbin/smbios', @_ ); my $handle = getFileHandle(%params); return unless $handle; my ($infos, $current); while (my $line = <$handle>) { if ($line =~ /^ \d+ \s+ \d+ \s+ (\S+)/x) { $current = $1; next; } if ($line =~ /^ \s* ([^:]+) : \s* (.+) $/x) { $infos->{$current}->{$1} = $2; next; } } close $handle; return $infos; } sub _getUUID { my (%params) = ( command => '/usr/sbin/zoneadm list -p', @_ ); my $line = getFirstLine(%params); return unless $line; my @info = split(/:/, $line); my $uuid = $info[4]; return $uuid; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/Memory.pm0000644000175000017500000000321313712210012031036 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris::Memory; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Solaris; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{memory}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $memorySize = getFirstMatch( command => '/usr/sbin/prtconf', logger => $logger, pattern => qr/^Memory\ssize:\s+(\S+)/ ); my $swapSize = getFirstMatch( command => '/usr/sbin/swap -l', logger => $logger, pattern => qr/\s+(\d+)$/ ); $inventory->setHardware({ MEMORY => $memorySize, SWAP => $swapSize }); my $zone = getZone(); my @memories = $zone eq 'global' ? _getMemoriesPrtdiag() : _getZoneAllocatedMemories($memorySize) ; foreach my $memory (@memories) { $inventory->addEntry( section => 'MEMORIES', entry => $memory ); } } sub _getMemoriesPrtdiag { my $info = getPrtdiagInfos(@_); return $info->{memories} ? @{$info->{memories}} : (); } sub _getZoneAllocatedMemories { my ($size) = @_; my @memories; # Just format one virtual memory slot with the detected memory size push @memories, { DESCRIPTION => "Allocated memory", CAPTION => "Shared memory", NUMSLOTS => 1, CAPACITY => $size }; return @memories; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/Drives.pm0000644000175000017500000000364513712210012031033 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris::Drives; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{drive}; return canRun('df'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $df_version = $params{df_version} || getFirstLine(logger => $logger, command => "df --version"); # get filesystems list # df --help is on STDERR on some system, so $line may be undef my $command = $df_version && $df_version =~ /GNU/ ? "df -P -k" : "df -k"; my @filesystems = # exclude solaris 10 specific devices grep { $_->{VOLUMN} !~ /^\/(devices|platform)/ } # exclude cdrom mount grep { $_->{TYPE} !~ /cdrom/ } # get all file systems getFilesystemsFromDf(command => $command, %params); # get indexed list of filesystems types my %filesystems_types = map { /^(\S+) on \S+ type (\w+)/; $1 => $2 } $params{mount_res} ? getAllLines(logger => $logger, file => $params{mount_res}) : getAllLines(logger => $logger, command => '/usr/sbin/mount -v'); # set filesystem type based on that information foreach my $filesystem (@filesystems) { if ($filesystem->{VOLUMN} eq 'swap') { $filesystem->{FILESYSTEM} = 'swap'; next; } $filesystem->{FILESYSTEM} = $filesystems_types{$filesystem->{VOLUMN}}; } # add filesystems to the inventory foreach my $filesystem (@filesystems) { # Skip if filesystem is lofs next if $filesystem->{FILESYSTEM} eq 'lofs'; $inventory->addEntry( section => 'DRIVES', entry => $filesystem ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/CPU.pm0000644000175000017500000001313213712210012030216 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Solaris; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $cpu (_getCPUs()) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCPUs { my (%params) = @_; # get virtual CPUs from psrinfo -v my @all_virtual_cpus = _getVirtualCPUs(logger => $params{logger}); # get physical CPUs from psrinfo -vp my @all_physical_cpus = _getPhysicalCPUs(logger => $params{logger}); # count the different speed values # undef is temporarily mapped to 0, to avoid warnings my @physical_speeds = map { $_ ? $_ : undef } sort { $a <=> $b } uniq map { $_->{speed} || 0 } @all_physical_cpus; my @virtual_speeds = map { $_ ? $_ : undef } sort { $a <=> $b } uniq map { $_->{speed} || 0 } @all_virtual_cpus; my @cpus; # process CPUs by groups, according to their speed while (@physical_speeds) { my $physical_speed = shift @physical_speeds; my $virtual_speed = shift @virtual_speeds; my @physical_cpus = $physical_speed ? grep { $_->{speed} eq $physical_speed } @all_physical_cpus: grep { ! defined $_->{speed} } @all_physical_cpus; my @virtual_cpus = $virtual_speed ? grep { $_->{speed} eq $virtual_speed } @all_virtual_cpus: grep { ! defined $_->{speed} } @all_virtual_cpus; my $speed = $physical_cpus[0]->{speed} || $virtual_cpus[0]->{speed}; my $type = $physical_cpus[0]->{type} || $virtual_cpus[0]->{type}; my $manufacturer = $type =~ /SPARC/ ? 'SPARC' : $type =~ /Xeon/ ? 'Intel' : undef ; my $cpus = scalar @physical_cpus; my ($cores, $threads) = $type eq 'UltraSPARC-IV' ? (2, 1) : # US-IV & US-IV+ $type eq 'UltraSPARC-T1' ? (undef, 4) : # Niagara $type eq 'UltraSPARC-T2' ? (undef, 8) : # Niagara-II $type eq 'UltraSPARC-T2+' ? (undef, 8) : # Victoria Falls $type eq 'SPARC-T3' ? (undef, 8) : # Rainbow Falls $type eq 'SPARC-T4' ? (8 , 8) : # Yosemite Falls $type eq 'SPARC-T5' ? (16 , 8) : $type eq 'SPARC-M7' ? (32 , 8) : $type eq 'SPARC-M8' ? (32 , 8) : $type eq 'SPARC64-VI' ? (2, 2) : # Olympus-C SPARC64-VI $type eq 'SPARC64-VII' ? (4, 2) : # Jupiter SPARC64-VII $type eq 'SPARC64-VII+' ? (4, 2) : # Jupiter+ SPARC64-VII+ $type eq 'SPARC64-VII++' ? (4, 2) : # Jupiter++ SPARC64-VII++ $type eq 'SPARC64-VIII' ? (8, 2) : # Venus SPARC64-VIII (1, 1) ; if ($type =~ /MB86907/) { $type = "TurboSPARC-II $type"; } elsif ($type =~ /MB86904|390S10/) { $type = ($speed > 70) ? "microSPARC-II $type" : "microSPARC $type"; } elsif ($type =~ /,RT62[56]/) { $type = "hyperSPARC $type"; } # deduce core numbers from number of virtual cpus if needed if (!$cores) { # cores may be < 1 in case of virtualisation $cores = (scalar @virtual_cpus) / $threads / $cpus; } for my $i (1 .. $cpus) { push @cpus, { MANUFACTURER => $manufacturer, NAME => $type, SPEED => $speed, CORE => $cores, THREAD => $threads }; } } return @cpus; } sub _getVirtualCPUs { my %params = ( command => '/usr/sbin/psrinfo -v', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @cpus; while (my $line = <$handle>) { if ($line =~ /The (\S+) processor operates at (\d+) MHz/) { push @cpus, { type => $1, speed => $2, }; next; } } close $handle; return @cpus; } sub _getPhysicalCPUs { my %params = ( command => '/usr/sbin/psrinfo -vp', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @cpus; while (my $line = <$handle>) { if ($line =~ /^The physical processor has (\d+) virtual/) { push @cpus, { count => $1 }; next; } if ($line =~ /^The physical processor has (\d+) cores and (\d+) virtual/) { push @cpus, { count => $2 }; next; } if ($line =~ /^The (\S+) physical processor has (\d+) virtual/) { push @cpus, { type => $1, count => $2 }; next; } if ($line =~ /(\S+) \(.* clock (\d+) MHz\)/) { my $cpu = $cpus[-1]; $cpu->{type} = $1; $cpu->{speed} = $2; next; } if ($line =~ /Intel\(r\) Xeon\(r\) CPU +(\S+)/) { my $cpu = $cpus[-1]; $cpu->{type} = "Xeon $1"; } } close $handle; return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/Networks.pm0000644000175000017500000001506113712210012031406 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris::Networks; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; #ce5: flags=1000843 mtu 1500 index 3 # inet 55.37.101.171 netmask fffffc00 broadcast 55.37.103.255 # ether 0:3:ba:24:9b:bf #aggr40001:2: flags=201000843 mtu 1500 index 3 # inet 55.37.101.172 netmask ffffff00 broadcast 223.0.146.255 #NDD=/usr/sbin/ndd #KSTAT=/usr/bin/kstat #IFC=/sbin/ifconfig #DLADM=/usr/sbin/dladm use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Solaris; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::Unix; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{network}; return canRun('ifconfig'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $routes = getRoutingTable(logger => $logger); my $default = $routes->{'0.0.0.0'}; my @interfaces = _getInterfaces(logger => $logger); foreach my $interface (@interfaces) { # if the default gateway address and the interface address belongs to # the same network, that's the gateway for this network $interface->{IPGATEWAY} = $default if isSameNetwork( $default, $interface->{IPADDRESS}, $interface->{IPMASK} ); $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } $inventory->setHardware({ DEFAULTGATEWAY => $default }); } sub _getInterfaces { my (%params) = @_; my @interfaces = _parseIfconfig( command => 'ifconfig -a', @_ ); foreach my $interface (@interfaces) { $interface->{IPSUBNET} = getSubnetAddress( $interface->{IPADDRESS}, $interface->{IPMASK} ); $interface->{SPEED} = _getInterfaceSpeed( name => $interface->{DESCRIPTION} ); } my $zone = getZone(); my $OSLevel = getFirstLine(command => 'uname -r'); if ($zone && $OSLevel && $OSLevel =~ /5.10/) { push @interfaces, _parseDladm( command => '/usr/sbin/dladm show-aggr', logger => $params{logger} ); push @interfaces, _parsefcinfo( command => '/usr/sbin/fcinfo hba-port', logger => $params{logger} ); } return @interfaces; } sub _getInterfaceSpeed { my (%params) = @_; my $command; if ($params{name}) { return unless $params{name} =~ /^(\S+)(\d+)/; my $type = $1; my $instance = $2; return if $type eq 'aggr'; return if $type eq 'dmfe'; $command = "/usr/bin/kstat -m $type -i $instance -s link_speed"; } my $speed = getFirstMatch( %params, command => $command, pattern => qr/^\s*link_speed+\s*(\d+)/, ); # By default, kstat reports speed as Mb/s, no need to normalize return $speed; } sub _parseIfconfig { my $handle = getFileHandle(@_); return unless $handle; my @interfaces; my $interface; while (my $line = <$handle>) { if ($line =~ /^(\S+):(\S+):/) { # new interface push @interfaces, $interface if $interface; # quick assertion: nothing else as ethernet interface $interface = { STATUS => 'Down', DESCRIPTION => $1 . ':' . $2, TYPE => 'ethernet' }; } elsif ($line =~ /^(\S+):/) { # new interface push @interfaces, $interface if $interface; # quick assertion: nothing else as ethernet interface $interface = { STATUS => 'Down', DESCRIPTION => $1, TYPE => 'ethernet' }; } if ($line =~ /inet ($ip_address_pattern)/) { $interface->{IPADDRESS} = $1; } if ($line =~ /netmask ($hex_ip_address_pattern)/i) { $interface->{IPMASK} = hex2canonical($1); } if ($line =~ /ether\s+(\S+)/i) { # https://sourceforge.net/tracker/?func=detail&atid=487492&aid=1819948&group_id=58373 $interface->{MACADDR} = sprintf "%02x:%02x:%02x:%02x:%02x:%02x" , map hex, split /\:/, $1; } if ($line =~ /{STATUS} = "Up"; } } close $handle; # last interface push @interfaces, $interface if $interface; return @interfaces; } sub _parseDladm { my $handle = getFileHandle(@_); return unless $handle; my @interfaces; while (my $line = <$handle>) { next if $line =~ /device/; next if $line =~ /key/; my $interface = { STATUS => 'Down', IPADDRESS => "0.0.0.0", }; next unless $line =~ /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/; $interface->{DESCRIPTION} = $1; $interface->{MACADDR} = $2; $interface->{SPEED} = getCanonicalInterfaceSpeed($3 . $4); $interface->{STATUS} = 'Up' if $line =~ /UP/; push @interfaces, $interface; } close $handle; return @interfaces; } sub _parsefcinfo { my $handle = getFileHandle(@_); return unless $handle; my @interfaces; my $inc = 1; my $interface; while (my $line = <$handle>) { $interface->{DESCRIPTION} = "HBA_Port_WWN_" . $inc if $line =~ /HBA Port WWN:\s+(\S+)/; $interface->{DESCRIPTION} .= " " . $1 if $line =~ /OS Device Name:\s+(\S+)/; $interface->{SPEED} = getCanonicalInterfaceSpeed($1) if $line =~ /Current Speed:\s+(\S+)/; $interface->{WWN} = $1 if $line =~ /Node WWN:\s+(\S+)/; $interface->{DRIVER} = $1 if $line =~ /Driver Name:\s+(\S+)/i; $interface->{MANUFACTURER} = $1 if $line =~ /Manufacturer:\s+(.*)$/; $interface->{MODEL} = $1 if $line =~ /Model:\s+(.*)$/; $interface->{FIRMWARE} = $1 if $line =~ /Firmware Version:\s+(.*)$/; $interface->{STATUS} = 'Up' if $line =~ /online/; if ($interface->{DESCRIPTION} && $interface->{WWN}) { $interface->{TYPE} = 'fibrechannel'; $interface->{STATUS} = 'Down' if !$interface->{STATUS}; push @interfaces, $interface; $interface = {}; $inc++; } } close $handle; return @interfaces; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris/Controllers.pm0000644000175000017500000000204713712210012032100 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris::Controllers; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return if $params{no_category}->{controller}; return canRun('cfgadm'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $handle = getFileHandle( command => 'cfgadm -s cols=ap_id:type:info', logger => $logger, ); return unless $handle; while (my $line = <$handle>) { next if $line =~ /^Ap_Id/; next unless $line =~ /^(\S+)\s+(\S+)\s+(\S+)/; my $name = $1; my $type = $2; my $manufacturer = $3; $inventory->addEntry( section => 'CONTROLLERS', entry => { NAME => $name, MANUFACTURER => $manufacturer, TYPE => $type, } ); } close $handle; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization.pm0000644000175000017500000000063513712210012031203 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{virtualmachine}; return 1; } sub isEnabledForRemote { my (%params) = @_; return 0 if $params{no_category}->{virtualmachine}; return 1; } sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Generic.pm0000644000175000017500000000112013712210012027521 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Generic; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use Net::Domain qw(hostfqdn hostdomain); sub isEnabled { return 1; } # Must be enabled to support few Generic sub-modules sub isEnabledForRemote { return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; $inventory->setOperatingSystem({ KERNEL_NAME => $OSNAME, FQDN => hostfqdn(), DNS_DOMAIN => hostdomain() }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/0000755000175000017500000000000013757703277026436 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/Slots.pm0000644000175000017500000000176713712210012030056 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::Slots; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{slot}; return canRun('ioscan'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $type (qw/ioa ba/) { foreach my $slot (_getSlots( command => "ioscan -kFC $type", logger => $logger )) { $inventory->addEntry( section => 'SLOTS', entry => $slot ); } } } sub _getSlots { my $handle = getFileHandle(@_); return unless $handle; my @slots; while (my $line = <$handle>) { my @info = split(/:/, $line); push @slots, { DESIGNATION => $info[17], }; } close $handle; return @slots; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/MP.pm0000644000175000017500000000252313712210012027255 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::MP; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; #TODO driver pcislot virtualdev sub isEnabled { return canRun('/opt/hpsmh/data/htdocs/comppage/getMPInfo.cgi') || canRun('/opt/sfm/bin/CIMUtil'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $ipaddress = canRun('/opt/hpsmh/data/htdocs/comppage/getMPInfo.cgi') ? _parseGetMPInfo(logger => $logger) : _parseCIMUtil(logger => $logger); $inventory->addEntry( section => 'NETWORKS', entry => { DESCRIPTION => 'Management Interface - HP MP', TYPE => 'Ethernet', MANAGEMENT => 'MP', IPADDRESS => $ipaddress, } ); } sub _parseGetMPInfo { return getFirstMatch( command => '/opt/hpsmh/data/htdocs/comppage/getMPInfo.cgi', pattern => qr{RIBLink = "https?://($ip_address_pattern)";}, @_ ); } sub _parseCIMUtil { return getFirstMatch( command => '/opt/sfm/bin/CIMUtil -e root/cimv2 HP_ManagementProcessor', pattern => qr{^IPAddress\s+:\s+($ip_address_pattern)}, @_ ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/Softwares.pm0000644000175000017500000000245113712210012030716 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::Softwares; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return !$params{no_category}->{software} && canRun('swlist'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $list = _getSoftwaresList( command => 'swlist', logger => $logger ); return unless $list; foreach my $software (@$list) { $inventory->addEntry( section => 'SOFTWARES', entry => $software ); } } sub _getSoftwaresList { my $handle = getFileHandle(@_); return unless $handle; my @softwares; while (my $line = <$handle>) { chomp $line; next unless $line =~ /^ \s\s # two spaces (\S+) # name \s+ (\S+) # version \s+ (\S.*\S) # comment /x; next if $1 =~ /^PH/; push @softwares, { NAME => $1, VERSION => $2, COMMENTS => $3, PUBLISHER => 'HP' }; } close $handle; return \@softwares; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/Storages.pm0000644000175000017500000000470513712210012030534 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::Storages; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{storage}; return canRun('ioscan'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $disk (_getDisks($logger)) { $inventory->addEntry(section => 'STORAGES', entry => $disk); } foreach my $tape (_getTapes($logger)) { $inventory->addEntry(section => 'STORAGES', entry => $tape); } } sub _getDisks { my ($logger) = @_; my @disks; foreach my $device ( _parseIoscan(command => 'ioscan -kFnC disk', logger => $logger) ) { # skip alternate links next if getFirstMatch( command => "pvdisplay $device->{NAME}", pattern => qr/$device->{NAME}\.+lternate/ ); my $handle = getFileHandle( command => "diskinfo -v $device->{NAME}", logger => $logger ); while (my $line = <$handle>) { if ($line =~ /^\s+size:\s+(\S+)/) { $device->{DISKSIZE} = int($1/1024); } if ($line =~ /^\s+rev level:\s+(\S+)/) { $device->{FIRMWARE} = $1; } } close $handle; $device->{TYPE} = 'disk'; push @disks, $device; } return @disks; } sub _getTapes { my ($logger) = @_; my @tapes; foreach my $device ( _parseIoscan(command => 'ioscan -kFnC tape', logger => $logger) ) { $device->{TYPE} = 'tape'; push @tapes, $device; } return @tapes; } sub _parseIoscan { my $handle = getFileHandle(@_); return unless $handle; my @devices; my ($description, $model, $manufacturer); while (my $line = <$handle>) { if ($line =~ /^\s+(\S+)/ ) { my $device = $1; push @devices, { MANUFACTURER => $manufacturer, MODEL => $model, NAME => $device, DESCRIPTION => $description, }; } else { my @infos = split(/:/, $line); $description = $infos[0]; ($manufacturer, $model) = $infos[17] =~ /^(\S+) \s+ (\S.*\S)$/x; } } close $handle; return @devices; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/Bios.pm0000644000175000017500000000311613712210012027634 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::Bios; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::HPUX; sub isEnabled { return canRun('model'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $model = getFirstLine(command => 'model'); my ($version, $serial, $uuid); if (canRun('/usr/contrib/bin/machinfo')) { my $info = getInfoFromMachinfo(logger => $logger); $version = $info->{'Firmware info'}->{'firmware revision'}; $serial = $info->{'Platform info'}->{'machine serial number'}; $uuid = uc($info->{'Platform info'}->{'machine id number'}); } else { my $handle = getFileHandle( command => "echo 'sc product cpu;il' | /usr/sbin/cstm", logger => $logger ); while (my $line = <$handle>) { next unless $line =~ /PDC Firmware/; next unless $line =~ /Revision:\s+(\S+)/; $version = "PDC $1"; } close $handle; $serial = getFirstMatch( command => "echo 'sc product system;il' | /usr/sbin/cstm", pattern => qr/^System Serial Number:\s+: (\S+)/ ); } $inventory->setBios({ BVERSION => $version, BMANUFACTURER => "HP", SMANUFACTURER => "HP", SMODEL => $model, SSN => $serial, }); $inventory->setHardware({ UUID => $uuid }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/Memory.pm0000644000175000017500000001261013712210012030207 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::Memory; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::HPUX; use English qw(-no_match_vars); sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{memory}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @memories; # http://forge.fusioninventory.org/issues/754 if (canRun('/opt/propplus/bin/cprop') && !isHPVMGuest()) { @memories = _parseCprop( command => '/opt/propplus/bin/cprop -summary -c Memory', logger => $logger ); } else { my $arch = getFirstLine(command => 'uname -m'); if ($arch =~ /ia64/ ) { # enable infolog system("echo 'sc product IPF_MEMORY;info' | /usr/sbin/cstm"); @memories = _parseCstm64( command => "echo 'sc product IPF_MEMORY;il' | /usr/sbin/cstm", logger => $logger ); } else { @memories = _parseCstm( command => "echo 'sc product mem;il'| /usr/sbin/cstm", logger => $logger ); } } my $memorySize; my $swapSize = getFirstMatch( command => 'swapinfo -dt', logger => $logger, pattern => qr/^total\s+(\d+)/ ); foreach my $memory (@memories) { $inventory->addEntry( section => 'MEMORIES', entry => $memory ); $memorySize += $memory->{CAPACITY}; } $inventory->setHardware({ SWAP => int($swapSize / 1024), MEMORY => $memorySize }); } sub _parseCprop { my $handle = getFileHandle(@_); return unless $handle; my @memories; my $instance; while (my $line = <$handle>) { if ($line =~ /\[Instance\]: \d+/) { # new block $instance = {}; next; } if ($line =~ /^ \s+ \[ ([^\]]+) \]: \s (\S+.*)/x) { $instance->{$1} = $2; next; } if ($line =~ /^\*+/) { next unless keys %$instance; next unless $instance->{Size}; push @memories, { CAPACITY => getCanonicalSize($instance->{Size}, 1024), DESCRIPTION => $instance->{'Part Number'}, SERIALNUMBER => $instance->{'Serial Number'}, TYPE => $instance->{'Module Type'}, }; } } close $handle; return @memories; } sub _parseCstm { my $handle = getFileHandle(@_); return unless $handle; my @memories; my %capacities; my $capacity = 0; my $description; my $numslot = 1; my $subnumslot; my $serialnumber = 'No Serial Number available!'; my $type; my $ok = 0; while (my $line = <$handle>) { if ($line =~ /FRU\sSource\s+=\s+\S+\s+\(memory/ ) { $ok = 0; } if ($line =~ /Source\s+Detail\s+=\s4/ ) { $ok = 1; } if ($line =~ /\s+(\d+)\s+(\d+)/ ) { $capacities{$1} = $2; } if ($line =~ /Extender\s+Location\s+=\s+(\S+)/ ) { $subnumslot = $1; }; if ($line =~ /DIMMS\s+Rank\s+=\s+(\S+)/ ) { $numslot = sprintf("%02x",$1); } if ($line =~ /FRU\s+Name\.*:\s+(\S+)/ ) { if ($line =~ /(\S+)_(\S+)/ ) { $type = $1; $capacity = $2; } elsif ($line =~ /(\wIMM)(\S+)/ ) { $ok = 1; $type = $1; $numslot = $2; } } if ($line =~ /Part\s+Number\.*:\s*(\S+)\s+/ ) { $description = $1; } if ($line =~ /Serial\s+Number\.*:\s*(\S+)\s+/ ) { $serialnumber = $1; if ( $ok eq 1 ) { if ( $capacity eq 0 ) { $capacity = $capacities{$numslot}; } push @memories, { CAPACITY => $capacity, DESCRIPTION => "Part Number $description", CAPTION => "Ext $subnumslot Slot $numslot", TYPE => $type, NUMSLOTS => '1', SERIALNUMBER => $serialnumber, }; $ok = 0; $capacity = 0; } # $ok eq 1 } # /Serial\s+Number\.*:\s*(\S+)\s+/ } close $handle; return @memories; } sub _parseCstm64 { my $handle = getFileHandle(@_); return unless $handle; my @memories; while (my $line = <$handle>) { # this pattern assumes memory slots are correctly # balanced (slot A and slot B are occuped) next unless $line =~ / (\w+IMM)\s+(\w+)\s+(\d+) # first column \s+ (\w+IMM)\s+(\w+)\s+(\d+) # second column /x; push @memories, { CAPACITY => $3, DESCRIPTION => $1, CAPTION => $1 . ' ' . $2, TYPE => $1, NUMSLOTS => $2, }, { CAPACITY => $6, DESCRIPTION => $4, CAPTION => $4 . ' ' . $5, TYPE => $4, NUMSLOTS => $5, }; } close $handle; return @memories; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/Uptime.pm0000644000175000017500000000154313712210012030205 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::Uptime; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('uptime') && canRun('uname'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $arch = getFirstLine(command => 'uname -m'); my $uptime = _getUptime(command => 'uptime'); $inventory->setHardware({ DESCRIPTION => "$arch/$uptime" }); } sub _getUptime { my ($days, $hours, $minutes) = getFirstMatch( pattern => qr/up \s (?:(\d+)\sdays\D+)? (\d{1,2}) : (\d{1,2})/x, @_ ); my $uptime = 0; $uptime += $days * 24 * 3600 if $days; $uptime += $hours * 3600; $uptime += $minutes * 60; return getFormatedGMTTime($uptime); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/Drives.pm0000644000175000017500000000651413712210012030201 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::Drives; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use POSIX qw(strftime); use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{drive}; return canRun('fstyp') && canRun('bdf'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # get filesystem types my @types = getAllLines( command => 'fstyp -l', logger => $logger ); # get filesystems for each type foreach my $type (@types) { foreach my $drive (_getDrives(type => $type, logger => $logger)) { $inventory->addEntry(section => 'DRIVES', entry => $drive); } } } sub _getDrives { my (%params) = @_; my @drives = _parseBdf( command => "bdf -t $params{type}", logger => $params{logger} ); foreach my $drive (@drives) { $drive->{FILESYSTEM} = $params{type}; $drive->{CREATEDATE} = _getVxFSctime($drive->{VOLUMN}, $params{logger}) if $params{type} eq 'vxfs'; } return @drives; } sub _parseBdf { my $handle = getFileHandle(@_); return unless $handle; my @drives; # skip header my $line = <$handle>; my $device; while (my $line = <$handle>) { if ($line =~ /^(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+%)\s+(\S+)/) { push @drives, { VOLUMN => $1, TOTAL => $2, FREE => $3, TYPE => $6, }; next; } if ($line =~ /^(\S+)\s/) { $device = $1; next; } if ($line =~ /(\d+)\s+(\d+)\s+(\d+)\s+(\d+%)\s+(\S+)/) { push @drives, { VOLUMN => $device, TOTAL => $1, FREE => $3, TYPE => $5, }; next; } } close $handle; return @drives; } # get filesystem creation time by reading binary value directly on the device sub _getVxFSctime { my ($device, $logger) = @_; # compute version-dependant read offset # Output of 'fstyp' should be something like the following: # $ fstyp -v /dev/vg00/lvol3 # vxfs # version: 5 # . # . my $version = getFirstMatch( command => "fstyp -v $device", logger => $logger, pattern => qr/^version:\s+(\d+)$/ ); my $offset = $version == 5 ? 8200 : $version == 6 ? 8208 : $version == 7 ? 8208 : undef; if (!$offset) { $logger->error("unable to compute offset from fstyp output ($device)"); return; } # read value open (my $handle, "<:raw:bytes", $device) or die "Can't open $device in raw mode: $ERRNO"; seek($handle, $offset, 0) or die "Can't seek offset $offset on device $device: $ERRNO"; my $raw; read($handle, $raw, 4) or die "Can't read 4 bytes on device $device: $ERRNO"; close($handle); # Convert the 4-byte raw data to long integer and # return a string representation of this time stamp return strftime("%Y/%m/%d %T", localtime(unpack('L', $raw))); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/CPU.pm0000644000175000017500000001513113712210012027367 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::HPUX; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # http://forge.fusioninventory.org/issues/755 if (canRun('/opt/propplus/bin/cprop') && !isHPVMGuest()) { foreach my $cpu (_parseCprop( command => '/opt/propplus/bin/cprop -summary -c Processors', logger => $logger )) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } return; } my $CPUinfo; if (canRun('/usr/contrib/bin/machinfo')) { $CPUinfo = _parseMachinInfo( command => '/usr/contrib/bin/machinfo', logger => $logger ); } else { # old HpUX without machinfo my %cpuInfos = ( "D200" => { TYPE => "7100LC", SPEED => 75 }, "D210" => { TYPE => "7100LC", SPEED => 100 }, "D220" => { TYPE => "7300LC", SPEED => 132 }, "D230" => { TYPE => "7300LC", SPEED => 160 }, "D250" => { TYPE => "7200", SPEED => 100 }, "D260" => { TYPE => "7200", SPEED => 120 }, "D270" => { TYPE => "8000", SPEED => 160 }, "D280" => { TYPE => "8000", SPEED => 180 }, "D310" => { TYPE => "7100LC", SPEED => 100 }, "D320" => { TYPE => "7300LC", SPEED => 132 }, "D330" => { TYPE => "7300LC", SPEED => 160 }, "D350" => { TYPE => "7200", SPEED => 100 }, "D360" => { TYPE => "7200", SPEED => 120 }, "D370" => { TYPE => "8000", SPEED => 160 }, "D380" => { TYPE => "8000", SPEED => 180 }, "D390" => { TYPE => "8200", SPEED => 240 }, "K360" => { TYPE => "8000", SPEED => 180 }, "K370" => { TYPE => "8200", SPEED => 200 }, "K380" => { TYPE => "8200", SPEED => 240 }, "K400" => { TYPE => "7200", SPEED => 140 }, "K410" => { TYPE => "7200", SPEED => 120 }, "K420" => { TYPE => "7200", SPEED => 120 }, "K460" => { TYPE => "8000", SPEED => 180 }, "K570" => { TYPE => "8200", SPEED => 200 }, "K580" => { TYPE => "8200", SPEED => 240 }, "L1000-36" => { TYPE => "8500", SPEED => 360 }, "L1500-7x" => { TYPE => "8700", SPEED => 750 }, "L3000-7x" => { TYPE => "8700", SPEED => 750 }, "N4000-44" => { TYPE => "8500", SPEED => 440 }, "ia64 hp server rx1620" => { TYPE => "itanium", SPEED => 1600 } ); my $device = getFirstLine(command => 'model |cut -f 3- -d/'); if ($cpuInfos{$device}) { $CPUinfo = $cpuInfos{$device}; } else { $CPUinfo->{TYPE} = getFirstMatch( command => "echo 'sc product cpu;il' | /usr/sbin/cstm", logger => $logger, pattern => qr/(\S+)\s+CPU\s+Module/, ); $CPUinfo->{SPEED} = getFirstMatch( command => "echo 'itick_per_usec/D' | adb -k /stand/vmunix /dev/kmem", logger => $logger, pattern => qr/tick_per_usec:\s+(\d+)/ ); } # NBR CPU $CPUinfo->{CPUcount} = getLinesCount( command => 'ioscan -Fk -C processor' ); } my $serie = getFirstLine(command => 'uname -m'); if ( $CPUinfo->{TYPE} eq 'unknow' and $serie =~ /ia64/) { $CPUinfo->{TYPE} = "Itanium" } if ( $serie =~ /9000/) { $CPUinfo->{TYPE} = "PA" . $CPUinfo->{TYPE}; } foreach ( 1..$CPUinfo->{CPUcount} ) { $inventory->addEntry( section => 'CPUS', entry => $CPUinfo ); } } sub _parseMachinInfo { my $info = getInfoFromMachinfo(@_); return unless $info; my $result; my $cpu_info = $info->{'CPU info'}; if (ref $cpu_info eq 'HASH') { # HPUX 11.23 $result->{CPUcount} = $cpu_info->{'number of cpus'}; if ($cpu_info->{'clock speed'} =~ /(\d+) MHz/) { $result->{SPEED} = $1; } if ($cpu_info->{'processor model'} =~ /Intel/) { $result->{MANUFACTURER} = 'Intel'; } if ($cpu_info->{'processor model'} =~ /Itanium/) { $result->{NAME} = 'Itanium'; } } else { # HPUX 11.31 if ($cpu_info =~ /^(\d+) /) { $result->{CPUcount} = $1; } if ($cpu_info =~ /([\d.]+) GHz/) { $result->{SPEED} = $1 * 1000; } if ($cpu_info =~ /Intel/) { $result->{MANUFACTURER} = 'Intel'; } if ($cpu_info =~ /Itanium/) { $result->{NAME} = 'Itanium'; } if ($cpu_info =~ /(\d+) logical processors/ ) { $result->{CORE} = $1 / $result->{CPUcount}; } } return $result; } sub _parseCprop { my $handle = getFileHandle(@_); return unless $handle; my @cpus; my $instance; while (my $line = <$handle>) { if ($line =~ /^\[Instance\]: \d+/) { # new block $instance = {}; next; } if ($line =~ /^ \s+ \[ ([^\]]+) \]: \s (.+)/x) { $instance->{$1} = $2; next; } if ($line =~ /^\*+/) { next unless keys %$instance; my $name = $instance->{'Processor Type'} =~ /Itanium/ ? 'Itanium' : undef; my $manufacturer = $instance->{'Processor Type'} =~ /Intel/ ? 'Intel' : undef; my $cpu = { SPEED => $instance->{'Processor Speed'}, ID => $instance->{'Tag'}, NAME => $name, MANUFACTURER => $manufacturer }; if ($instance->{'Location'} =~ /Cell Slot Number (\d+)\b/i) { # this is a single core from a multi-core cpu my $slotId = $1; if ($cpus[$slotId]) { $cpus[$slotId]->{CORE}++; } else { $cpus[$slotId] = $cpu; $cpus[$slotId]->{CORE}=1; } } else { push @cpus, $cpu; } } } close $handle; # filter missing cpus @cpus = grep { $_ } @cpus; return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/Networks.pm0000644000175000017500000001532013712210012030554 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::Networks; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; use FusionInventory::Agent::Tools::Network; #TODO Get pcislot virtualdev sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{network}; return canRun('lanscan'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $routes = getRoutingTable(command => 'netstat -nr', logger => $logger); my $default = $routes->{'0.0.0.0'}; my @interfaces = _getInterfaces(logger => $logger); foreach my $interface (@interfaces) { # if the default gateway address and the interface address belongs to # the same network, that's the gateway for this network $interface->{IPGATEWAY} = $default if isSameNetwork( $default, $interface->{IPADDRESS}, $interface->{IPMASK} ); $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } $inventory->setHardware({ DEFAULTGATEWAY => $default }); } sub _getInterfaces { my (%params) = @_; my @prototypes = _parseLanscan( command => 'lanscan -iap', logger => $params{logger} ); my %ifStatNrv = _parseNetstatNrv(); my @interfaces; foreach my $prototype (@prototypes) { my $lanadminInfo = _getLanadminInfo( command => "lanadmin -g $prototype->{lan_id}", logger => $params{logger} ); $prototype->{TYPE} = $lanadminInfo->{'Type (value)'}; $prototype->{SPEED} = $lanadminInfo->{Speed} > 1000000 ? $lanadminInfo->{Speed} / 1000000 : $lanadminInfo->{Speed}; if ($ifStatNrv{$prototype->{DESCRIPTION}}) { # if this interface name has been found in netstat output, let's # use the list of interfaces found there, using the prototype # to provide additional informations foreach my $interface (@{$ifStatNrv{$prototype->{DESCRIPTION}}}) { foreach my $key (qw/MACADDR STATUS TYPE SPEED/) { next unless $prototype->{$key}; $interface->{$key} = $prototype->{$key}; } push @interfaces, $interface; } } else { # otherwise, we promote this prototype to an interface, using # ifconfig to provide additional informations my $ifconfigInfo = _getIfconfigInfo( command => "ifconfig $prototype->{DESCRIPTION}", logger => $params{logger} ); $prototype->{STATUS} = $ifconfigInfo->{status}; $prototype->{IPADDRESS} = $ifconfigInfo->{address}; $prototype->{IPMASK} = $ifconfigInfo->{netmask}; delete $prototype->{lan_id}; push @interfaces, $prototype; } } foreach my $interface (@interfaces) { if ($interface->{IPADDRESS} && $interface->{IPADDRESS} eq '0.0.0.0') { $interface->{IPADDRESS} = undef; $interface->{IPMASK} = undef; } else { $interface->{IPSUBNET} = getSubnetAddress( $interface->{IPADDRESS}, $interface->{IPMASK} ); } } return @interfaces; } sub _parseLanscan { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my @interfaces; while (my $line = <$handle>) { next unless $line =~ /^ 0x($alt_mac_address_pattern) \s (\S+) \s \S+ \s+ (\S+) /x; # quick assertion: nothing else as ethernet interface my $interface = { MACADDR => alt2canonical($1), STATUS => 'Down', DESCRIPTION => $2, TYPE => 'ethernet', lan_id => $3, }; push @interfaces, $interface; } close $handle; return @interfaces; } sub _getLanadminInfo { my $handle = getFileHandle(@_); return unless $handle; my $info; while (my $line = <$handle>) { next unless $line =~ /^(\S.+\S) \s+ = \s (.+)$/x; $info->{$1} = $2; } close $handle; return $info; } sub _getIfconfigInfo { my $handle = getFileHandle(@_); return unless $handle; my $info; while (my $line = <$handle>) { if ($line =~ /{status} = 'Up'; } if ($line =~ /inet ($ip_address_pattern)/) { $info->{address} = $1; } if ($line =~ /netmask ($hex_ip_address_pattern)/) { $info->{netmask} = hex2canonical($1); } } close $handle; return $info; } # will be need to get the bonding configuration sub _getNwmgrInfo { my $handle = getFileHandle(@_); return unless $handle; my $info; while (my $line = <$handle>) { next unless $line =~ /^ (\w+) \s+ (\w+) \s+ 0x($alt_mac_address_pattern) \s+ (\w+) \s+ (\w*) /x; my $interface = $1; $info->{$interface} = { status => $2, mac => alt2canonical($3), driver => $4, media => $5, related_if => undef } } close $handle; return $info; } sub _parseNetstatNrv { my (%params) = ( command => 'netstat -nrv', @_ ); my $handle = getFileHandle(%params); return unless $handle; my %interfaces; while (my $line = <$handle>) { next unless $line =~ /^ ($ip_address_pattern) # address \/ ($ip_address_pattern) # mask \s+ ($ip_address_pattern) # gateway \s+ [A-Z]* H [A-Z]* # host flag \s+ \d \s+ (\w+) (?: :\d+)? # interface name, with optional alias \s+ (\d+) # MTU $/x; my $address = $1; my $mask = $2; my $gateway = ($3 ne $1) ? $3 : undef; my $interface = $4; my $mtu = $5; # quick assertion: nothing else as ethernet interface push @{$interfaces{$interface}}, { IPADDRESS => $address, IPMASK => $mask, IPGATEWAY => $gateway, DESCRIPTION => $interface, TYPE => 'ethernet', MTU => $mtu } } close $handle; return %interfaces; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/HPUX/Controllers.pm0000644000175000017500000000206113712210012031244 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::HPUX::Controllers; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return if $params{no_category}->{controller}; return canRun('ioscan'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $type (qw/ext_bus fc psi/) { foreach my $controller (_getControllers( command => "ioscan -kFC $type", logger => $logger )) { $inventory->addEntry( section => 'CONTROLLERS', entry => $controller ); } } } sub _getControllers { my $handle = getFileHandle(@_); return unless $handle; my @controllers; while (my $line = <$handle>) { my @info = split(/:/, $line); push @controllers, { TYPE => $info[17] }; } close $handle; return @controllers; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AccessLog.pm0000644000175000017500000000071613712210012030022 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AccessLog; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return 1; } sub isEnabledForRemote { return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $date = getFormatedLocalTime(time()); $inventory->setAccessLog ({ LOGDATE => $date }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Win32.pm0000644000175000017500000000060513712210012027056 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Win32; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); our $runAfter = ["FusionInventory::Agent::Task::Inventory::Generic"]; sub isEnabled { return $OSNAME eq 'MSWin32'; } sub isEnabledForRemote { return $OSNAME eq 'MSWin32'; } sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/0000755000175000017500000000000013757703277026614 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Softwares.pm0000644000175000017500000000624013712210012031074 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Softwares; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { my (%params) = @_; return !$params{no_category}->{software} && canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $softwares = _getSoftwaresList(logger => $params{logger}, format => 'xml'); return unless $softwares; foreach my $software (@$softwares) { $inventory->addEntry( section => 'SOFTWARES', entry => $software ); } } sub _getSoftwaresList { my (%params) = @_; my $infos; my $datesAlreadyFormatted = 1; # when format used is 'text', dates are not formatted # they have to be formatted so we use this variable to format dates if needed if (!$params{format} || $params{format} eq 'text') { $datesAlreadyFormatted = 0; } my $localTimeOffset = FusionInventory::Agent::Tools::MacOS::detectLocalTimeOffset(); $infos = FusionInventory::Agent::Tools::MacOS::getSystemProfilerInfos( %params, type => 'SPApplicationsDataType', localTimeOffset => $localTimeOffset ); my $info = $infos->{Applications}; my @softwares; for my $name (keys %$info) { my $app = $info->{$name}; # Windows application found by Parallels (issue #716) next if $app->{'Get Info String'} && $app->{'Get Info String'} =~ /^\S+, [A-Z]:\\/; my $formattedDate = $app->{'Last Modified'}; if (!$datesAlreadyFormatted) { $formattedDate = _formatDate($formattedDate); } my ($category, $userName) = _extractSoftwareSystemCategoryAndUserName($app->{'Location'}); push @softwares, { NAME => $name, VERSION => $app->{'Version'}, COMMENTS => $app->{'Kind'} ? '[' . $app->{'Kind'} . ']' : undef, PUBLISHER => $app->{'Get Info String'}, # extract date's data and format these data INSTALLDATE => $formattedDate, SYSTEM_CATEGORY => $category, USERNAME => $userName }; } return \@softwares; } sub _extractSoftwareSystemCategoryAndUserName { my ($str) = @_; my $category = ''; my $userName = ''; return ($category, $userName) unless $str; if ($str =~ /^\/Users\/([^\/]+)\/([^\/]+\/[^\/]+)\// || $str =~ /^\/Users\/([^\/]+)\/([^\/]+)\//) { $userName = $1; $category = $2 if $2 !~ /^Downloads|^Desktop/; } elsif ($str =~ /^\/Volumes\/[^\/]+\/([^\/]+\/[^\/]+)\// || $str =~ /^\/Volumes\/[^\/]+\/([^\/]+)\// || $str =~ /^\/([^\/]+\/[^\/]+)\// || $str =~ /^\/([^\/]+)\//) { $category = $1; } return ($category, $userName); } sub _formatDate { my ($dateStr) = @_; my @date = $dateStr =~ /^\s*(\d{1,2})\/(\d{1,2})\/(\d{2})\s*/; return @date == 3 ? sprintf("%02d/%02d/%d", $date[1], $date[0], 2000+$date[2]) : $dateStr; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Firewall.pm0000644000175000017500000000353213712210012030665 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Firewall; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Constants; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{firewall}; return canRun('defaults') && canRun('launchctl'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $firewallStatus = _getFirewallStatus( logger => $logger ); $inventory->addEntry( section => 'FIREWALL', entry => { STATUS => $firewallStatus } ); } sub _getFirewallStatus { my (%params) = @_; return STATUS_OFF unless _checkFirewallService(%params); my $status = getFirstMatch( command => 'defaults read /Library/Preferences/com.apple.alf globalstate', pattern => qr/^(\d)$/, %params ); if ($status && $status eq '1') { $status = STATUS_ON; } else { $status = STATUS_OFF; } return $status; } sub _checkFirewallService { my (%params) = @_; my $pid = _getFirewallServicePID( file => $params{pidFile} || undef ); return unless $pid; return _checkRunning( pid => $pid, file => $params{runningFile} || undef ); } sub _getFirewallServicePID { my (%params) = @_; return getFirstMatch( command => 'launchctl list', pattern => qr/^(\d+)\s+\S+\s+com\.apple\.alf$/, %params ); } sub _checkRunning { my (%params) = @_; return unless $params{pid}; return getFirstMatch( command => 'sudo launchctl procinfo ' . $params{pid}, pattern => qr/^\s*state = running\s*$/, %params ) ? 1 : 0; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Hostname.pm0000644000175000017500000000141413712210012030673 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Hostname; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { return canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $hostname = _getHostname( logger => $logger ); $inventory->setHardware({ NAME => $hostname }) if $hostname; } sub _getHostname { my (%params) = @_; my $infos = getSystemProfilerInfos(type => 'SPSoftwareDataType', %params); return $infos->{'Software'}->{'System Software Overview'}->{'Computer Name'}; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/License.pm0000644000175000017500000000615713712210012030510 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::License; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::License; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{licenseinfo}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @found; # Adobe my $fileAdobe = '/Library/Application Support/Adobe/Adobe PCD/cache/cache.db'; if (-e $fileAdobe) { push @found, getAdobeLicenses( command => 'sqlite3 -separator " <> " "'.$fileAdobe.'" "SELECT * FROM domain_data"' ); push @found, getAdobeLicensesWithoutSqlite($fileAdobe) if (scalar @found) == 0; } # Transmit my @transmitFiles = glob('"/System/Library/User Template/*.lproj/Library/Preferences/com.panic.Transmit.plist"'); if ($params{scan_homedirs}) { push @transmitFiles, glob('/Users/*/Library/Preferences/com.panic.Transmit.plist'); } else { $logger->info( "'scan-homedirs' configuration parameters disabled, " . "ignoring transmit installations in user directories" ); } foreach my $transmitFile (@transmitFiles) { my $info = _getTransmitLicenses( command => "plutil -convert xml1 -o - '$transmitFile'" ); next unless $info; push @found, $info; last; # One installation per machine } # VMware my @vmwareFiles = glob('"/Library/Application Support/VMware Fusion/license-*"'); foreach my $vmwareFile (@vmwareFiles) { my %info; # e.g: # LicenseType = "Site" my $handle = getFileHandle(file => $vmwareFile); foreach (<$handle>) { next unless /^(\S+)\s=\s"(.*)"/; $info{$1} = $2; } close $handle; next unless $info{Serial}; my $date; if ($info{LastModified} =~ /(^2\d{3})-(\d{1,2})-(\d{1,2}) @ (\d{1,2}):(\d{1,2})/) { $date = getFormatedDate($1, $2, $3, $4, $5, 0); } push @found, { NAME => $info{ProductID}, FULLNAME => $info{ProductID}." (".$info{LicenseVersion}.")", KEY => $info{Serial}, ACTIVATION_DATE => $date } } foreach my $license (@found) { $inventory->addEntry(section => 'LICENSEINFOS', entry => $license); } } sub _getTransmitLicenses { my (%params) = @_; my $handle = getFileHandle(%params); my %val; my $in; foreach my $line (<$handle>) { if ($in) { $val{$in} = $1 if $line =~ /([\d\w\.-]+)<\/string>/; $in = undef; } elsif ($line =~ /SerialNumber2/) { $in = "KEY"; } elsif ($line =~ /PreferencesVersion<\/key>/) { $in = "VERSION"; } } close $handle; return unless $val{KEY}; return { NAME => "Transmit", FULLNAME => "Panic's Transmit", KEY => $val{KEY} }; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Storages.pm0000644000175000017500000002561713712210012030717 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Storages; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Scalar::Util qw/looks_like_number/; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{storage}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $storages = [ _getSerialATAStorages(logger => $logger), _getDiscBurningStorages(logger => $logger), _getCardReaderStorages(logger => $logger), _getUSBStorages(logger => $logger), _getFireWireStorages(logger => $logger) ]; foreach my $storage (@$storages) { $inventory->addEntry( section => 'STORAGES', entry => $storage ); } } sub _getStorages { my (%params) = @_; my $infos = getSystemProfilerInfos( type => 'SPStorageDataType', logger => $params{logger}, file => $params{file} ); # system profiler data structure: # bus # └── controller # ├── device # │   ├── subdevice # │   │   └── key:value # │   └── key:value # └── key:value my @storages; my @busNames = ('ATA', 'SERIAL-ATA', 'USB', 'FireWire', 'Fibre Channel'); foreach my $busName (@busNames) { my $bus = $infos->{$busName}; next unless $bus; foreach my $controllerName (keys %{$bus}) { my $controller = $bus->{$controllerName}; foreach my $deviceName (keys %{$controller}) { my $device = $controller->{$deviceName}; next unless ref $device eq 'HASH'; if (_isStorage($device)) { push @storages, _getStorage($device, $deviceName, $busName); } else { foreach my $subdeviceName (keys %{$device}) { my $subdevice = $device->{$subdeviceName}; next unless ref $subdevice eq 'HASH'; push @storages, _getStorage($subdevice, $subdeviceName, $busName) if _isStorage($subdevice); } } } } } return @storages; } sub _getSerialATAStorages { my (%params) = @_; my $infos = getSystemProfilerInfos( type => 'SPSerialATADataType', format => 'xml', logger => $params{logger}, file => $params{file} ); return unless $infos->{storages}; my @storages = (); for my $hash (values %{$infos->{storages}}) { next if $hash->{_name} =~ /controller/i; my $storage = _extractStorage($hash); $storage->{TYPE} = 'Disk drive'; $storage->{INTERFACE} = 'SERIAL-ATA'; push @storages, _sanitizedHash($storage); } return @storages; } sub _extractStorage { my ($hash) = @_; my $storage = { NAME => $hash->{bsd_name} || $hash->{_name}, MANUFACTURER => getCanonicalManufacturer($hash->{_name}), # TYPE => $bus_name eq 'FireWire' ? '1394' : $bus_name, SERIAL => $hash->{device_serial}, MODEL => $hash->{device_model} || $hash->{_name}, FIRMWARE => $hash->{device_revision}, DISKSIZE => _extractDiskSize($hash), DESCRIPTION => $hash->{_name} }; if ($storage->{MODEL}) { $storage->{MODEL} =~ s/\s*$storage->{MANUFACTURER}\s*//i; } return $storage; } sub _getDiscBurningStorages { my (%params) = @_; my @storages = (); my $infos = getSystemProfilerInfos( type => 'SPDiscBurningDataType', format => 'xml', logger => $params{logger}, file => $params{file} ); return @storages unless $infos->{storages}; for my $hash (values %{$infos->{storages}}) { my $storage = _extractDiscBurning($hash); $storage->{TYPE} = 'Disk burning'; push @storages, _sanitizedHash($storage); } return @storages; } sub _extractDiscBurning { my ($hash) = @_; my $storage = { NAME => $hash->{bsd_name} || $hash->{_name}, MANUFACTURER => $hash->{manufacturer} ? getCanonicalManufacturer($hash->{manufacturer}) : getCanonicalManufacturer($hash->{_name}), INTERFACE => $hash->{interconnect}, MODEL => $hash->{_name}, FIRMWARE => $hash->{firmware} }; if ($storage->{MODEL}) { $storage->{MODEL} =~ s/\s*$storage->{MANUFACTURER}\s*//i; } return $storage; } sub _getCardReaderStorages { my (%params) = @_; my $infos = getSystemProfilerInfos( type => 'SPCardReaderDataType', format => 'xml', logger => $params{logger}, file => $params{file} ); return unless $infos->{storages}; my @storages = (); for my $hash (values %{$infos->{storages}}) { my $storage; if ($hash->{_name} eq 'spcardreader') { $storage = _extractCardReader($hash); $storage->{TYPE} = 'Card reader'; } else { $storage = _extractSdCard($hash); $storage->{TYPE} = 'SD Card'; } push @storages, _sanitizedHash($storage); } return @storages; } sub _extractCardReader { my ($hash) = @_; my $storage = { NAME => $hash->{bsd_name} || $hash->{_name}, DESCRIPTION => $hash->{_name}, SERIAL => $hash->{spcardreader_serialnumber}, MODEL => $hash->{_name}, FIRMWARE => $hash->{'spcardreader_revision-id'}, MANUFACTURER => $hash->{'spcardreader_vendor-id'} }; return $storage; } sub _extractSdCard { my ($hash) = @_; my $storage = { NAME => $hash->{bsd_name} || $hash->{_name}, DESCRIPTION => $hash->{_name}, DISKSIZE => _extractDiskSize($hash) }; return $storage; } sub _isStorage { my ($device) = @_; return ($device->{'BSD Name'} && $device->{'BSD Name'} =~ /^disk\d+$/) || ($device->{'Protocol'} && $device->{'Socket Type'}); } sub _getStorage { my ($device, $device_name, $bus_name) = @_; my $storage = { NAME => $device_name, MANUFACTURER => getCanonicalManufacturer($device_name), TYPE => $bus_name eq 'FireWire' ? '1394' : $bus_name, SERIAL => $device->{'Serial Number'}, FIRMWARE => $device->{'Revision'}, MODEL => $device->{'Model'}, DISKSIZE => $device->{'Capacity'} }; if (!$device->{'Protocol'}) { $storage->{DESCRIPTION} = 'Disk drive'; } elsif ($device->{'Protocol'} eq 'ATAPI' || $device->{'Drive Type'}) { $storage->{DESCRIPTION} = 'CD-ROM Drive'; } if ($storage->{DISKSIZE}) { #e.g: Capacity: 320,07 GB (320 072 933 376 bytes) $storage->{DISKSIZE} =~ s/\s*\(.*//; $storage->{DISKSIZE} =~ s/,/./; if ($storage->{DISKSIZE} =~ s/\s*TB//) { $storage->{DISKSIZE} = int($storage->{DISKSIZE} * 1000 * 1000); } elsif ($storage->{DISKSIZE} =~ s/\s+GB$//) { $storage->{DISKSIZE} = int($storage->{DISKSIZE} * 1000 * 1000); } } if ($storage->{MODEL}) { $storage->{MODEL} =~ s/\s*$storage->{MANUFACTURER}\s*//i; } return $storage; } sub _getUSBStorages { my (%params) = @_; my $infos = getSystemProfilerInfos( type => 'SPUSBDataType', format => 'xml', logger => $params{logger}, file => $params{file} ); return unless $infos->{storages}; my @storages = (); for my $hash (values %{$infos->{storages}}) { unless ($hash->{bsn_name} && $hash->{bsd_name} =~ /^disk/) { next if $hash->{_name} eq 'Mass Storage Device'; next if $hash->{_name} =~ /keyboard|controller|IR Receiver|built-in|hub|mouse|usb(?:\d+)?bus/i; next if ($hash->{'Built-in_Device'} && $hash->{'Built-in_Device'} eq 'Yes'); } my $storage = _extractUSBStorage($hash); $storage->{TYPE} = 'Disk drive'; $storage->{INTERFACE} = 'USB'; push @storages, _sanitizedHash($storage); } return @storages; } sub _extractUSBStorage { my ($hash) = @_; my $storage = { NAME => $hash->{bsd_name} || $hash->{_name}, DESCRIPTION => $hash->{_name}, SERIAL => _extractValueInHashWithKeyPattern(qr/^(?:\w_)?serial_num$/, $hash), MODEL => _extractValueInHashWithKeyPattern(qr/^(?:\w_)?device_model/, $hash) || $hash->{_name}, FIRMWARE => _extractValueInHashWithKeyPattern(qr/^(?:\w_)?bcd_device$/, $hash), MANUFACTURER => getCanonicalManufacturer(_extractValueInHashWithKeyPattern(qr/(?:\w+_)?manufacturer/, $hash)) || '', DISKSIZE => _extractDiskSize($hash) }; return $storage; } sub _extractDiskSize { my ($hash) = @_; return $hash->{size_in_bytes} ? getCanonicalSize($hash->{size_in_bytes} . ' bytes', 1024) : getCanonicalSize($hash->{size}, 1024); } sub _extractValueInHashWithKeyPattern { my ($pattern, $hash) = @_; my $value = ''; my @keyMatches = grep { $_ =~ $pattern } keys %$hash; if (@keyMatches && (scalar @keyMatches) == 1) { $value = $hash->{$keyMatches[0]}; } return $value; } sub _getFireWireStorages { my (%params) = @_; my $infos = getSystemProfilerInfos( type => 'SPFireWireDataType', format => 'xml', logger => $params{logger}, file => $params{file} ); return unless $infos->{storages}; my @storages = (); for my $hash (values %{$infos->{storages}}) { my $storage = _extractFireWireStorage($hash); $storage->{TYPE} = 'Disk drive'; $storage->{INTERFACE} = 'FireWire'; push @storages, _sanitizedHash($storage); } return @storages; } sub _extractFireWireStorage { my ($hash) = @_; my $storage = { NAME => $hash->{bsd_name} || $hash->{_name}, DESCRIPTION => $hash->{_name}, SERIAL => _extractValueInHashWithKeyPattern(qr/^(?:\w_)?serial_num$/, $hash) || '', MODEL => _extractValueInHashWithKeyPattern(qr/^(?:\w_)?product_id$/, $hash) || '', FIRMWARE => _extractValueInHashWithKeyPattern(qr/^(?:\w_)?bcd_device$/, $hash) || '', MANUFACTURER => getCanonicalManufacturer(_extractValueInHashWithKeyPattern(qr/(?:\w+_)?manufacturer/, $hash)) || '', DISKSIZE => _extractDiskSize($hash) || '' }; return $storage; } sub _sanitizedHash { my ($hash) = @_; foreach my $key (keys(%{$hash})) { if (defined($hash->{$key})) { $hash->{$key} = trimWhitespace($hash->{$key}); } else { delete $hash->{$key}; } } return $hash; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/USB.pm0000644000175000017500000000231713712210012027551 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::USB; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{usb}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $seen; foreach my $device (_getDevices(logger => $logger)) { # avoid duplicates next if $device->{SERIAL} && $seen->{$device->{SERIAL}}++; $inventory->addEntry( section => 'USBDEVICES', entry => $device, ); } } sub _getDevices { return map { { VENDORID => dec2hex($_->{'idVendor'}), PRODUCTID => dec2hex($_->{'idProduct'}), SERIAL => $_->{'USB Serial Number'}, NAME => $_->{'USB Product Name'}, CLASS => $_->{'bDeviceClass'}, SUBCLASS => $_->{'bDeviceSubClass'} } } getIODevices(class => 'IOUSBDevice', options => '-r -l -w0 -d1', @_); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Bios.pm0000644000175000017500000000306713712210012030017 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Bios; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { return canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $infos = getSystemProfilerInfos(type => 'SPHardwareDataType', logger => $logger); my $info = $infos->{'Hardware'}->{'Hardware Overview'}; my ($device) = getIODevices( class => 'IOPlatformExpertDevice', options => '-r -l -w0 -d1', logger => $logger, ); # set the bios informaiton from the apple system profiler $inventory->setBios({ SMANUFACTURER => $device->{'manufacturer'} || 'Apple Inc', # duh SMODEL => $info->{'Model Identifier'} || $info->{'Machine Model'} || $device->{'model'}, # New method to get the SSN, because of MacOS 10.5.7 update # system_profiler gives 'Serial Number (system): XXXXX' where 10.5.6 # and lower give 'Serial Number: XXXXX' SSN => $info->{'Serial Number'} || $info->{'Serial Number (system)'} || $device->{'IOPlatformSerialNumber'}, BVERSION => $info->{'Boot ROM Version'}, }); $inventory->setHardware({ UUID => $info->{'Hardware UUID'} || $device->{'IOPlatformUUID'} }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Memory.pm0000644000175000017500000000500413712210012030364 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Memory; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; our $runMeIfTheseChecksFailed = ["FusionInventory::Agent::Task::Inventory::Generic::Dmidecode"]; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{memory}; return canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $memory (_getMemories(logger => $logger)) { $inventory->addEntry( section => 'MEMORIES', entry => $memory ); } my $memory = _getMemory(logger => $logger); $inventory->setHardware({ MEMORY => $memory, }); } sub _getMemories { my (%params) = @_; my $infos = getSystemProfilerInfos( type => 'SPMemoryDataType', logger => $params{logger}, file => $params{file} ); return unless $infos->{Memory}; # the memory slot informations may appears directly under # 'Memory' top-level node, or under Memory/Memory Slots my $parent_node = $infos->{Memory}->{'Memory Slots'} ? $infos->{Memory}->{'Memory Slots'} : $infos->{Memory}; my @memories; foreach my $key (sort keys %$parent_node) { next unless $key =~ /DIMM(\d)/; my $slot = $1; my $info = $parent_node->{$key}; my $description = $info->{'Part Number'}; # convert hexa to ascii if ($description && $description =~ /^0x/) { $description = pack 'H*', substr($description, 2); $description =~ s/\s*$//; } my $memory = { NUMSLOTS => $slot, DESCRIPTION => $description, CAPTION => "Status: $info->{'Status'}", TYPE => $info->{'Type'}, SERIALNUMBER => $info->{'Serial Number'}, SPEED => getCanonicalSpeed($info->{'Speed'}), CAPACITY => getCanonicalSize($info->{'Size'}, 1024) }; push @memories, $memory; } return @memories; } sub _getMemory { my (%params) = @_; my $infos = getSystemProfilerInfos( type => 'SPMemoryDataType', logger => $params{logger}, file => $params{file} ); return getCanonicalSize( $infos->{'Hardware'}{'Hardware Overview'}{'Memory'}, 1024 ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Printers.pm0000644000175000017500000000173413712210012030730 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Printers; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { my (%params) = @_; return !$params{no_category}->{printer} && canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $infos = getSystemProfilerInfos(type => 'SPPrintersDataType', logger => $logger); my $info = $infos->{Printers}; foreach my $printer (keys %$info) { next unless ref($info->{printer}) eq 'HASH'; $inventory->addEntry( section => 'PRINTERS', entry => { NAME => $printer, DRIVER => $info->{$printer}->{PPD}, PORT => $info->{$printer}->{URI}, } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Sound.pm0000644000175000017500000000160713712210012030211 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Sound; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{sound}; return canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $infos = getSystemProfilerInfos(type => 'SPAudioDataType', logger => $logger); my $info = $infos->{'Audio (Built In)'}; foreach my $sound (keys %$info){ $inventory->addEntry( section => 'SOUNDS', entry => { NAME => $sound, MANUFACTURER => $sound, DESCRIPTION => $sound, } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Uptime.pm0000644000175000017500000000145013712210012030360 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Uptime; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { return getFirstLine(command => 'sysctl -n kern.boottime'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $arch = getFirstLine(command => 'uname -m'); my $uptime = _getUptime(command => 'sysctl -n kern.boottime'); $inventory->setHardware({ DESCRIPTION => "$arch/$uptime" }); } sub _getUptime { my $boottime = return FusionInventory::Agent::Tools::MacOS::getBootTime(@_); return unless $boottime; my $uptime = time() - $boottime; return getFormatedGMTTime($uptime); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Drives.pm0000644000175000017500000000641013712210012030352 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Drives; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{drive}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # get filesystem types my @types = grep { ! /^(?:fdesc|devfs|procfs|linprocfs|linsysfs|tmpfs|fdescfs)$/ } getFilesystemsTypesFromMount(logger => $logger); # get filesystems for each type my @filesystems; foreach my $type (@types) { push @filesystems, getFilesystemsFromDf( logger => $logger, command => "df -P -k -t $type", type => $type, ); } my %filesystems = map { $_->{VOLUMN} => $_ } @filesystems; foreach my $partition (_getPartitions()) { my $device = "/dev/$partition"; my $info = _getPartitionInfo(partition => $partition); my $filesystem = $filesystems{$device}; next unless $filesystem; if ($info->{'Total Size'} && $info->{'Total Size'} =~ /^([.\d]+ \s \S+)/x) { $filesystem->{TOTAL} = getCanonicalSize($1); } $filesystem->{SERIAL} = $info->{'Volume UUID'} || $info->{'UUID'}; $filesystem->{FILESYSTEM} = $info->{'File System'} || $info->{'Partition Type'}; $filesystem->{LABEL} = $info->{'Volume Name'}; } # Check FileVault 2 support for root filesystem if (canRun('fdesetup')) { my $status = getFirstLine(command => 'fdesetup status'); if ($status && $status =~ /FileVault is On/i) { $logger->debug("FileVault 2 is enabled"); my ($rootfs) = grep { $_->{TYPE} eq '/' } values(%filesystems); if ($rootfs) { $rootfs->{ENCRYPT_STATUS} = 'Yes'; $rootfs->{ENCRYPT_NAME} = 'FileVault 2'; $rootfs->{ENCRYPT_ALGO} = 'XTS_AES_128'; } } else { $logger->debug("FileVault 2 is disabled"); } } else { $logger->debug("FileVault 2 is not supported"); } # add filesystems to the inventory foreach my $key (keys %filesystems) { $inventory->addEntry( section => 'DRIVES', entry => $filesystems{$key} ); } } sub _getPartitions { my (%params) = @_; my $command = "diskutil list"; my $handle = getFileHandle(command => $command, %params); return unless $handle; my @devices; while (my $line = <$handle>) { # partition identifiers look like disk0s1 next unless $line =~ /(disk \d+ s \d+)$/x; push @devices, $1; } close $handle; return @devices; } sub _getPartitionInfo { my (%params) = @_; my $command = "diskutil info $params{partition}"; my $handle = getFileHandle(command => $command, %params); return unless $handle; my $info; while (my $line = <$handle>) { next unless $line =~ /(\S[^:]+) : \s+ (\S.*\S)/x; $info->{$1} = $2; } close $handle; return $info; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/CPU.pm0000644000175000017500000000563213712210012027552 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $cpu (_getCpus(logger => $logger)) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCpus { my (%params) = @_; # system profiler informations my $infos = getSystemProfilerInfos( type => 'SPHardwareDataType', logger => $params{logger}, file => $params{file} ); my $sysprofile_info = $infos->{'Hardware'}->{'Hardware Overview'}; # more informations from sysctl my $handle = getFileHandle( logger => $params{logger}, command => 'sysctl -a machdep.cpu', file => $params{sysctl} ); my $sysctl_info; while (my $line = <$handle>) { chomp $line; next unless $line =~ /([^:]+) : \s (.+)/x; $sysctl_info->{$1} = $2; } close $handle; my $type = $sysctl_info->{'machdep.cpu.brand_string'} || $sysprofile_info->{'Processor Name'} || $sysprofile_info->{'CPU Type'}; my $procs = $sysprofile_info->{'Number Of Processors'} || $sysprofile_info->{'Number Of CPUs'} || 1; my $speed = $sysprofile_info->{'Processor Speed'} || $sysprofile_info->{'CPU Speed'}; my $stepping = $sysctl_info->{'machdep.cpu.stepping'}; my $family = $sysctl_info->{'machdep.cpu.family'}; my $model = $sysctl_info->{'machdep.cpu.model'}; my $threads = $sysctl_info->{'machdep.cpu.thread_count'}; # French Mac returns 2,60 Ghz instead of 2.60 Ghz :D $speed =~ s/,/./; if ($speed =~ /GHz$/i) { $speed =~ s/GHz//i; $speed = $speed * 1000; } elsif ($speed =~ /MHz$/i){ $speed =~ s/MHz//i; } $speed =~ s/\s//g; my $cores = $sysprofile_info->{'Total Number Of Cores'} ? $sysprofile_info->{'Total Number Of Cores'} / $procs : $sysctl_info->{'machdep.cpu.core_count'}; my $manufacturer = $type =~ /Intel/i ? "Intel" : $type =~ /AMD/i ? "AMD" : undef ; my @cpus; my $cpu = { CORE => $cores, MANUFACTURER => $manufacturer, NAME => trimWhitespace($type), THREAD => $threads, FAMILYNUMBER => $family, MODEL => $model, STEPPING => $stepping, SPEED => $speed }; for (my $i=0; $i < $procs; $i++) { push @cpus, $cpu; } return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Batteries.pm0000644000175000017500000000257713712210012031052 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Batteries; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { my (%params) = @_; return !$params{no_category}->{batteries} && canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $battery = _getBattery(logger => $params{logger}, format => 'xml'); return unless $battery; $inventory->addEntry( section => 'BATTERIES', entry => $battery ); } sub _getBattery { my (%params) = @_; my $infos = FusionInventory::Agent::Tools::MacOS::getSystemProfilerInfos( type => 'SPPowerDataType', %params, format => 'text' ); my $infoBattery = $infos->{Power}->{'Battery Information'}; my $battery = { SERIAL => $infoBattery->{'Model Information'}->{'Serial Number'}, CAPACITY => $infoBattery->{'Charge Information'}->{'Full Charge Capacity (mAh)'}, NAME => $infoBattery->{'Model Information'}->{'Device Name'}, MANUFACTURER => $infoBattery->{'Model Information'}->{'Manufacturer'}, VOLTAGE => $infoBattery->{'Voltage (mV)'}, # CHEMISTRY => , # DATE => }; return $battery; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Psu.pm0000644000175000017500000000400113752536374027711 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Psu; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; use FusionInventory::Agent::Tools::PowerSupplies; our $runAfterIfEnabled = [ qw( FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Psu )]; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{psu}; return canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $charger = _getCharger(logger => $logger) or return; # Empty current POWERSUPPLIES section into a new psu list my $psulist = Inventory::PowerSupplies->new( logger => $logger ); my $section = $inventory->getSection('POWERSUPPLIES') || []; while (@{$section}) { my $powersupply = shift @{$section}; $psulist->add($powersupply); } $psulist->merge($charger); # Add back merged powersupplies into inventory foreach my $psu ($psulist->list()) { $inventory->addEntry( section => 'POWERSUPPLIES', entry => $psu ); } } sub _getCharger { my (%params) = @_; my $infos = FusionInventory::Agent::Tools::MacOS::getSystemProfilerInfos( type => 'SPPowerDataType', format => 'text', %params ); return unless $infos->{Power}; my $infoPower = $infos->{Power}->{'AC Charger Information'} or return; my $charger = { SERIALNUMBER => $infoPower->{'Serial Number'}, NAME => $infoPower->{'Name'}, MANUFACTURER => $infoPower->{'Manufacturer'}, STATUS => $infoPower->{'Charging'} && $infoPower->{'Charging'} eq "Yes" ? "Charging" : "Not charging", PLUGGED => $infoPower->{'Connected'} // "No", POWER_MAX => $infoPower->{'Wattage (W)'}, }; return $charger; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Networks.pm0000644000175000017500000001040713712210012030733 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Networks; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::Unix; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{network}; return canRun('ifconfig'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $routes = getRoutingTable(logger => $logger); my $default = $routes->{'0.0.0.0'}; my $interfaces = _getInterfaces(logger => $logger); foreach my $interface (@{$interfaces}) { # if the default gateway address and the interface address belongs to # the same network, that's the gateway for this network $interface->{IPGATEWAY} = $default if isSameNetwork( $default, $interface->{IPADDRESS}, $interface->{IPMASK} ); $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } $inventory->setHardware({ DEFAULTGATEWAY => $default }); } sub _getInterfaces { my (%params) = @_; my $interfaces = _parseIfconfig( command => '/sbin/ifconfig -a', netsetup => _parseNetworkSetup(%params), %params ); foreach my $interface (@{$interfaces}) { next unless $interface->{IPADDRESS} && $interface->{IPMASK}; $interface->{IPSUBNET} = getSubnetAddress( $interface->{IPADDRESS}, $interface->{IPMASK} ); } return $interfaces; } sub _parseNetworkSetup { my (%params) = @_; # Can be provided by unittest return $params{netsetup} if $params{netsetup}; my @lines = getAllLines( command => 'networksetup -listallhardwareports', %params ); return unless @lines; my $netsetup; my $interface; foreach my $line (@lines) { if ($line =~ /^Hardware Port: (.+)$/) { $interface = { description => $1 }; } elsif ($line =~ /^Device: (.+)$/) { $netsetup->{$1} = $interface; } elsif ($line =~ /^Ethernet Address: (.+)$/) { $interface->{macaddr} = $1; } elsif ($line =~ /^VLAN Configurations/) { last; } } return $netsetup; } sub _parseIfconfig { my (%params) = @_; my @lines = getAllLines(%params) or return; my $netsetup = $params{netsetup} || {}; my @interfaces; my $interface; foreach my $line (@lines) { if ($line =~ /^(\S+):/) { # new interface push @interfaces, $interface if $interface; $interface = { STATUS => 'Down', DESCRIPTION => $netsetup->{$1} ? $netsetup->{$1}->{description} : $1, VIRTUALDEV => $netsetup->{$1} ? 0 : 1 }; $interface->{MACADDR} = $netsetup->{$1}->{macaddr} if $netsetup->{$1} && $netsetup->{$1}->{macaddr}; } if ($line =~ /inet ($ip_address_pattern)/) { $interface->{IPADDRESS} = $1; } if ($line =~ /inet6 (\S+)/) { $interface->{IPADDRESS6} = $1; # Drop the interface from the address. e.g: # fe80::1%lo0 # fe80::214:51ff:fe1a:c8e2%fw0 $interface->{IPADDRESS6} =~ s/%.*$//; } if ($line =~ /netmask 0x($hex_ip_address_pattern)/) { $interface->{IPMASK} = hex2canonical($1); } if ($line =~ /(?:address:|ether|lladdr) ($mac_address_pattern)/) { $interface->{MACADDR} = $1; } if ($line =~ /mtu (\S+)/) { $interface->{MTU} = $1; } if ($line =~ /media (\S+)/) { $interface->{TYPE} = $1; } if ($line =~ /media: \S+ \((\d+)baseTX <.*>\)/) { $interface->{SPEED} = $1; } if ($line =~ /status:\s+active/i) { $interface->{STATUS} = 'Up'; } if ($line =~ /supported\smedia:/) { $interface->{VIRTUALDEV} = 0; } } # last interface push @interfaces, $interface if $interface; return \@interfaces; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS/Videos.pm0000644000175000017500000000434413712210012030353 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS::Videos; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{video}; return canRun('/usr/sbin/system_profiler'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $video (_getVideoCards(logger => $logger)) { $inventory->addEntry( section => 'VIDEOS', entry => $video, ); } } sub _getVideoCards { my (%params) = @_; my $infos = getSystemProfilerInfos( type => 'SPDisplaysDataType', logger => $params{logger}, file => $params{file} ); my @videos; foreach my $videoName (keys %{$infos->{'Graphics/Displays'}}) { my $videoCardInfo = $infos->{'Graphics/Displays'}->{$videoName}; my $memory = getCanonicalSize($videoCardInfo->{'VRAM (Total)'} || $videoCardInfo->{'VRAM (Dynamic, Max)'}, 1024); $memory =~ s/\ .*//g if $memory; my $video = { CHIPSET => $videoCardInfo->{'Chipset Model'}, MEMORY => $memory, NAME => $videoName }; foreach my $displayName (keys %{$videoCardInfo->{Displays}}) { next if $displayName eq 'Display Connector'; next if $displayName eq 'Display'; my $displayInfo = $videoCardInfo->{Displays}->{$displayName}; my $resolution = $displayInfo->{Resolution}; if ($resolution) { my ($x,$y) = $resolution =~ /(\d+) *x *(\d+)/; $resolution = $x.'x'.$y if $x && $y; } # Set first found resolution on associated video card $video->{RESOLUTION} = $resolution if $resolution && !$video->{RESOLUTION}; } $video->{PCISLOT} = $videoCardInfo->{Bus} if defined($videoCardInfo->{Bus}); $video->{PCISLOT} = $videoCardInfo->{Slot} if defined($videoCardInfo->{Slot}); push @videos, $video; } return @videos; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Provider.pm0000644000175000017500000000537313712210012027755 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Provider; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; use English qw(-no_match_vars); use UNIVERSAL::require; use FusionInventory::Agent::Version; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Tools; # Agent should set this shared variable with early $PROGRAM_NAME content our $PROGRAM; sub isEnabled { return 1; } sub isEnabledForRemote { return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $provider = { NAME => $FusionInventory::Agent::Version::PROVIDER, VERSION => $FusionInventory::Agent::Version::VERSION, PROGRAM => $PROGRAM || "$PROGRAM_NAME", PERL_EXE => "$EXECUTABLE_NAME", PERL_VERSION => "$PERL_VERSION" }; my $COMMENTS = $FusionInventory::Agent::Version::COMMENTS || []; foreach my $comment (@{$COMMENTS}) { push @{$provider->{COMMENTS}}, $comment; } # Add extra informations in debug level if ($logger && $logger->debug_level()) { my @uses = (); foreach (grep { /^use/ && $Config{$_} } keys(%Config)) { push @uses, $Config{$_} =~ /^define|true/ ? $_ : "$_=$Config{$_}"; } $provider->{PERL_CONFIG} = [ "gccversion: $Config{gccversion}", "defines: ".join(' ',@uses) ]; $provider->{PERL_INC} = join(":",@INC); $provider->{PERL_ARGS} = "@{$FusionInventory::Agent::Tools::ARGV}" if @{$FusionInventory::Agent::Tools::ARGV}; my @modules = (); foreach my $module (qw( LWP LWP::Protocol IO::Socket IO::Socket::SSL IO::Socket::INET Net::SSLeay Net::HTTPS HTTP::Status HTTP::Response )) { # Skip not reliable module loading under win32 next if ($OSNAME eq 'MSWin32' && ($module eq 'IO::Socket::SSL' || $module eq 'Net::HTTPS')); $module->require(); if ($EVAL_ERROR) { push @modules, "$module unavailable"; } else { push @modules, $module . ' @ '. VERSION $module ; if ($module eq 'Net::SSLeay') { my $sslversion; eval { $sslversion = Net::SSLeay::SSLeay_version(0); }; push @modules, $EVAL_ERROR ? "$module fails to load ssl" : "$module uses $sslversion"; } } } $provider->{PERL_MODULE} = [ @modules ]; } $inventory->addEntry( section => 'VERSIONPROVIDER', entry => $provider ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Solaris.pm0000644000175000017500000000260713712210012027574 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Solaris; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Solaris; our $runAfter = ["FusionInventory::Agent::Task::Inventory::Generic"]; sub isEnabled { return $OSNAME eq 'solaris'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; # Operating system informations my $info = getReleaseInfo(); my $kernelArch = getFirstLine(command => 'arch -k'); my $kernelVersion = getFirstLine(command => 'uname -v'); my $proct = getFirstLine(command => 'uname -p'); my $platform = getFirstLine(command => 'uname -i'); my $hostid = getFirstLine(command => 'hostid'); my $description = "$platform($kernelArch)/$proct HostID=$hostid"; $inventory->setHardware({ OSNAME => "Solaris", OSVERSION => $info->{version}, OSCOMMENTS => $info->{subversion}, DESCRIPTION => $description }); $inventory->setOperatingSystem({ NAME => "Solaris", HOSTID => $hostid, FULL_NAME => $info->{fullname}, VERSION => $info->{version}, SERVICE_PACK => $info->{subversion}, KERNEL_VERSION => $kernelVersion }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/MacOS.pm0000644000175000017500000000302013712210012027110 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::MacOS; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::MacOS; our $runAfter = ["FusionInventory::Agent::Task::Inventory::Generic"]; sub isEnabled { return $OSNAME eq 'darwin'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # basic operating system informations my $kernelVersion = getFirstLine(command => 'uname -v'); my $kernelRelease = getFirstLine(command => 'uname -r'); my $kernelArch = getFirstLine(command => 'uname -m'); my ($name, $version); my $infos = getSystemProfilerInfos(type => 'SPSoftwareDataType', logger => $logger); my $SystemVersion = $infos->{'Software'}->{'System Software Overview'}->{'System Version'}; if ($SystemVersion =~ /^(.*?)\s+(\d+.*)/) { $name = $1; $version = $2; } else { $name = "Mac OS X"; } my $boottime = getBootTime(); $inventory->setHardware({ OSNAME => $name, OSVERSION => $version, OSCOMMENTS => $kernelVersion, }); $inventory->setOperatingSystem({ NAME => "MacOSX", FULL_NAME => $name, VERSION => $version, KERNEL_VERSION => $kernelRelease, ARCH => $kernelArch, BOOT_TIME => getFormatedLocalTime($boottime) }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/0000755000175000017500000000000013757703277026751 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/MIPS.pm0000644000175000017500000000037213712210012030024 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::MIPS; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; sub isEnabled { return $Config{archname} =~ /^mips/; } sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/SPARC.pm0000644000175000017500000000037513712210012030127 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::SPARC; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; sub isEnabled { return $Config{archname} =~ /^sparc/; }; sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/PowerPC/0000755000175000017500000000000013757703276030267 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/PowerPC/Bios.pm0000644000175000017500000000230413712210012031464 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::PowerPC::Bios; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $bios; $bios->{SSN} = getFirstLine(file => '/proc/device-tree/serial-number'); $bios->{SSN} =~ s/[^\,^\.^\w^\ ]//g; # I remove some unprintable char $bios->{SMODEL} = getFirstLine(file => '/proc/device-tree/model'); $bios->{SMODEL} =~ s/[^\,^\.^\w^\ ]//g; my $colorCode = getFirstLine(file => '/proc/device-tree/color-code'); my ($color) = unpack "h7" , $colorCode; $bios->{SMODEL} .= " color: $color" if $color; $bios->{BVERSION} = getFirstLine(file => '/proc/device-tree/openprom/model'); $bios->{BVERSION} =~ s/[^\,^\.^\w^\ ]//g; my $copyright = getFirstLine(file => '/proc/device-tree/copyright'); if ($copyright && $copyright =~ /Apple/) { # What about the Apple clone? $bios->{BMANUFACTURER} = "Apple Computer, Inc."; $bios->{SMANUFACTURER} = "Apple Computer, Inc."; } $inventory->setBios($bios); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/PowerPC/CPU.pm0000644000175000017500000000234413712210012031223 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::PowerPC::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools::Linux; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return -r '/proc/cpuinfo'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $cpu (_getCPUsFromProc( logger => $logger, file => '/proc/cpuinfo' )) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCPUsFromProc { my @cpus; foreach my $cpu (getCPUsFromProc(@_)) { my $speed; if ( $cpu->{clock} && $cpu->{clock} =~ /(\d+)/ ) { $speed = $1; } my $manufacturer; if ($cpu->{machine} && $cpu->{machine} =~ /IBM/ ) { $manufacturer = 'IBM'; } push @cpus, { ARCH => 'PowerPC', NAME => $cpu->{cpu}, MANUFACTURER => $manufacturer, SPEED => $speed }; } return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/i386.pm0000644000175000017500000000040413712210012027741 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::i386; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; sub isEnabled { return $Config{archname} =~ /^(i\d86|x86_64)/; } sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/0000755000175000017500000000000013757703277030540 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/ServeRaid.pm0000644000175000017500000000527713712210012032740 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Storages::ServeRaid; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Task::Inventory::Linux::Storages; # Tested on 2.6.* kernels # # Cards tested : # # IBM ServeRAID-6M # IBM ServeRAID-6i sub isEnabled { return canRun('ipssend'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $handle1 = getFileHandle( logger => $logger, command => 'ipssend GETVERSION' ); return unless $handle1; while (my $line1 = <$handle1>) { # Example Output : # Found 1 IBM ServeRAID controller(s). #---------------------------------------------------------------------- #ServeRAID Controller(s) Version Information #---------------------------------------------------------------------- # Controlling BIOS version : 7.00.14 # #ServeRAID Controller Number 1 # Controller type : ServeRAID-6M # Controller slot information : 2 # Actual BIOS version : 7.00.14 # Firmware version : 7.00.14 # Device driver version : 7.10.18 next unless /ServeRAID Controller Number\s(\d*)/; my $slot = $1; my $storage; my $handle2 = getFileHandle( logger => $logger, command => "ipssend GETCONFIG $slot PD" ); next unless $handle2; while (my $line2 =~ <$handle2>) { # Example Output : # Channel #1: # Target on SCSI ID 0 # Device is a Hard disk # SCSI ID : 0 # PFA (Yes/No) : No # State : Online (ONL) # Size (in MB)/(in sectors): 34715/71096368 # Device ID : IBM-ESXSCBR036C3DFQDB2Q6CDKM # FRU part number : 32P0729 if ($line2 =~ /Size.*:\s(\d*)\/(\d*)/) { $storage->{DISKSIZE} = $1; } elsif ($line2 =~ /Device ID.*:\s(.*)/) { $storage->{SERIALNUMBER} = $1; } elsif ($line2 =~ /FRU part number.*:\s(.*)/) { $storage->{MODEL} = $1; $storage->{MANUFACTURER} = getCanonicalManufacturer( $storage->{SERIALNUMBER} ); $storage->{NAME} = $storage->{MANUFACTURER} . ' ' . $storage->{MODEL}; $storage->{DESCRIPTION} = 'SCSI'; $storage->{TYPE} = 'disk'; $inventory->addEntry(section => 'STORAGES', entry => $storage); undef $storage; } } close $handle2; } close $handle1; } 1; ././@LongLink0000644000000000000000000000015100000000000011600 Lustar rootrootFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/MegacliWithSmartctl.pmFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/MegacliWithSmartct0000644000175000017500000000746013750013366034207 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Storages::MegacliWithSmartctl; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use File::Basename qw(basename); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux qw(getInfoFromSmartctl); use constant RE => qr/^([^:]+?)\s*:\s*(.*\S)/; sub isEnabled { return canRun('megacli') && canRun('smartctl'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $count = getFirstMatch( command => "megacli -adpCount", pattern => qr/Controller Count: (\d+)/ ); return unless $count; for (my $adp = 0; $adp < $count; $adp++) { my $adpinfo = _getAdpPciInfo(adp => $adp); my $block = _adpInfoToBlock($adpinfo); my $pdlist = _getPDlist(adp => $adp); my $ldinfo = _getLDinfo(adp => $adp); while (my ($id, $pd) = each %$pdlist) { # JBOD and Non-RAID are processed by the parent module, skip. next if ( (defined $pd->{__diskgroup} && defined $ldinfo->{ $pd->{__diskgroup} } && defined $ldinfo->{ $pd->{__diskgroup} }->{'Number Of Drives'} && defined $ldinfo->{ $pd->{__diskgroup} }->{'Name'} && $ldinfo->{ $pd->{__diskgroup} }->{'Number Of Drives'} eq '1' && $ldinfo->{ $pd->{__diskgroup} }->{'Name'} =~ /Non\s*\-*RAID/i) || $pd->{'Firmware state'} =~ /JBOD/i ); my $storage = getInfoFromSmartctl( device => '/dev/' . $block, extra => '-d megaraid,' . $id); $inventory->addEntry( section => 'STORAGES', entry => $storage, ); } } } sub _getPDlist { my (%params) = @_; $params{command} = defined $params{adp} ? "megacli -pdlist -a$params{adp}" : undef; my %pdlist; my $src = {}; foreach my $line (getAllLines(%params)) { my ($key, $val) = $line =~ RE or next; if ($key eq 'Enclosure Device ID') { $pdlist{ $src->{'Device Id'} } = $src if defined $src->{'Device Id'}; $src = {}; } elsif ($key eq 'Drive\'s position') { ($src->{__diskgroup}, $src->{__span}, $src->{__arm}) = ($val =~ /DiskGroup: (\d+), Span: (\d+), Arm: (\d+)/); } $src->{$key} = $val; } $pdlist{ $src->{'Device Id'} } = $src if defined $src->{'Device Id'}; return \%pdlist; } sub _getLDinfo { my (%params) = @_; $params{command} = defined $params{adp} ? "megacli -ldinfo -lAll -a$params{adp}" : undef; my %ldinfo; my $n = -1; foreach my $line (getAllLines(%params)) { my ($key, $val) = $line =~ RE or next; if ($key eq 'Virtual Drive') { ($n) = ($val =~ /^\s*(\d+)/); } $ldinfo{$n}->{$key} = $val; } return \%ldinfo; } sub _getAdpPciInfo { my (%params) = @_; $params{command} = defined $params{adp} ? "megacli -AdpGetPciInfo -a$params{adp}" : undef; my %adpinfo; foreach my $line (getAllLines(%params)) { next unless $line =~ RE; $adpinfo{$1} = $2; } return \%adpinfo; } sub _adpInfoToBlock { my ($adpinfo) = @_; my $pciid = sprintf "0000:%02s:%02s.%01s", $adpinfo->{'Bus Number'}, $adpinfo->{'Device Number'}, $adpinfo->{'Function Number'}; my @blocks = glob "/sys/bus/pci/devices/$pciid/host*/target*/*/block/*"; # return first block device name return basename(shift @blocks); } 1; __END__ =head1 NAME FusionInventory::Agent::Task::Inventory::Linux::Storages::MegacliWithSmartctl - LSI Megaraid inventory =head1 DESCRIPTION Provides inventory of megaraid controllers using megacli and smartctl FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/Megacli.pm0000644000175000017500000001405613750013366032427 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Storages::Megacli; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; our $runMeIfTheseChecksFailed = ['FusionInventory::Agent::Task::Inventory::Linux::Storages::MegacliWithSmartctl']; sub isEnabled { return canRun('megacli'); } # The module gets disk data from `megacli -PDlist` and `megacli -ShowSummary`. # `PDlist` provides s/n and model in a single 'Inquiry Data' string, and # `ShowSummary` helps unpacking this data. sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $count = getFirstMatch( command => "megacli -adpCount", pattern => qr/Controller Count: (\d+)/ ); return unless $count; for (my $adp = 0; $adp < $count; $adp++) { my $adapter = _getAdpEnclosure( adp => $adp ); my $summary = _getSummary( adp => $adp ); my $pdlist = _getPDlist( adp => $adp ); my $storages = _getStorages($adapter, $pdlist, $summary); foreach my $storage (values(%{$storages})) { $inventory->addEntry( section => 'STORAGES', entry => $storage, ); } } } sub _getStorages { my ($adp, $pdlist, $summary) = @_; my $storages; while (my ($pd_id, $pd) = each %{$pdlist}) { my ($model, $vendor); # Raw Size: 232.885 GB [0x1d1c5970 Sectors] my ($size) = ($pd->{'Raw Size'} =~ /^(.+)\s\[/); $size = getCanonicalSize($size); my $firmware = $pd->{'Device Firmware Level'}; my $storage = { TYPE => 'disk', FIRMWARE => $firmware, DESCRIPTION => $pd->{'PD Type'}, DISKSIZE => $size, }; # Lookup the disk info in 'ShowSummary' my $sum = first { ((exists $_->{encl_id} && $adp->{$_->{encl_id}} == $pd->{'Enclosure Device ID'} && exists $_->{encl_pos} && $_->{encl_pos} eq $pd->{'Enclosure position'}) or (!exists $_->{encl_id} && !exists $_->{encl_pos})) && $_->{slot} == $pd->{'Slot Number'} } values(%{$summary}); if ($sum) { # 'HUC101212CSS' <-- note it is incomplete $model = $sum->{'Product Id'}; # 'HGST HUC101212CSS600 U5E0KZGLG2HE' my $serial = $pd->{'Inquiry Data'}; $serial =~ s/$firmware//; # remove firmware part if ($sum->{'Vendor Id'} ne 'ATA') { $vendor = $sum->{'Vendor Id'}; $serial =~ s/$vendor//; # remove vendor part } $serial =~ s/$model\S*//; # remove model part $serial =~ s/\s//g; # remove remaining spaces $storage->{SERIALNUMBER} = $serial; # Restore complete model name: # HUC101212CSS --> HUC101212CSS600 if ($pd->{'Inquiry Data'} =~ /($model(?:\S*))/) { $model = $1; $model =~ s/^\s+//; $model =~ s/\s+$//; } } # When Product ID ($model) looks like 'INTEL SSDSC2CW24' if ($model =~ /^(\S+)\s+(\S+)$/) { $vendor = $1; # 'INTEL' $model = $2; # 'SSDSC2CW24' } $storage->{NAME} = $model; $storage->{MODEL} = $model; $storage->{MANUFACTURER} = defined $vendor ? getCanonicalManufacturer($vendor) : getCanonicalManufacturer($model); $storages->{$pd_id} = $storage; } return $storages; } sub _getAdpEnclosure { my (%params) = @_; my $command = exists $params{adp} ? "megacli -EncInfo -a$params{adp}" : undef; my $handle = getFileHandle( command => $command, %params ); return unless $handle; my %enclosure; my $encl_id; while (my $line = <$handle>) { chomp $line; if ($line =~ /Enclosure (\d+):/) { $encl_id = $1; } if ($line =~ /Device ID\s+:\s+(\d+)/) { $enclosure{$encl_id} = $1; } } close $handle; return \%enclosure; } sub _getSummary { my (%params) = @_; my $command = exists $params{adp} ? "megacli -ShowSummary -a$params{adp}" : undef; my $handle = getFileHandle( command => $command, %params ); return unless $handle; # fast forward to relevant section while (my $line = <$handle>) { last if $line =~ /^\s+PD\s+$/; } my %drive; my $n = -1; while (my $line = <$handle>) { # end of relevant section last if $line =~ /^Storage$/; chomp $line; $n++ if $line =~ /Connector\s*:/; if ($line =~ /Connector\s*:\s*(\d+)(?:)?: Slot (\d+)/) { $drive{$n} = { encl_id => $1, encl_pos => $2, slot => $3, }; $drive{$n}->{'encl_id'} += 0; # drop leading zeroes } elsif ($line =~ /Connector\s*:\s*(?:\d+)(?:):\s*Slot (\d+)/) { $drive{$n} = { slot => $1, }; } elsif ($line =~ /^\s*(.+\S)\s*:\s*(.+\S)/) { $drive{$n}->{$1} = $2; } } close $handle; # delete non-disks while (my ($k, $d) = each %drive) { delete $drive{$k} if (!defined $d->{'slot'} or exists $d->{'Product Id'} and $d->{'Product Id'} eq 'SAS2 EXP BP'); } return \%drive; } sub _getPDlist { my (%params) = @_; my $command = exists $params{adp} ? "megacli -PDlist -a$params{adp}" : undef; my $handle = getFileHandle( command => $command, %params ); return unless $handle; my %pdlist; my $n = 0; while (my $line = <$handle>) { chomp $line; next unless $line =~ /^([^:]+)\s*:\s*(.*\S)/; my $key = $1; my $val = $2; $n++ if $key =~ /Enclosure Device ID/; $pdlist{$n}->{$key} = $val; } close $handle; return \%pdlist; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/Megaraid.pm0000644000175000017500000000260413712210012032554 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Storages::Megaraid; # Authors: Egor Shornikov , Egor Morozov # License: GPLv2+ use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Task::Inventory::Linux::Storages; sub isEnabled { return canRun('megasasctl'); } sub _parseMegasasctl { my $handle = getFileHandle( command => 'megasasctl -v', @_ ); return unless $handle; my @storages; while (my $line = <$handle>) { unless( $line =~ /\s*([a-z]\d[a-z]\d+[a-z]\d+)\s+(\S+)\s+(\S+)\s*(\S+)\s+\S+\s+\S+\s*/ ){ next; } my ( $disk_addr, $vendor, $model, $size ) = ( $1, $2, $3, $4 ); if ( $size =~ /(\d+)GiB/ ){ $size = $1 * 1024; } my $storage; $storage->{NAME} = $disk_addr; $storage->{MANUFACTURER} = $vendor; $storage->{MODEL} = $model; $storage->{DESCRIPTION} = 'SAS'; $storage->{TYPE} = 'disk'; $storage->{DISKSIZE} = $size; push @storages, $storage; } close $handle; return @storages; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $storage (_parseMegasasctl(@_)) { $inventory->addEntry(section => 'STORAGES', entry => $storage); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/Lsilogic.pm0000644000175000017500000000357513712210012032620 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Storages::Lsilogic; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; our $runMeIfTheseChecksFailed = ['FusionInventory::Agent::Task::Inventory::Linux::Storages']; sub isEnabled { return canRun('mpt-status'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @devices = getDevicesFromUdev(logger => $logger); foreach my $device (@devices) { foreach my $disk (_getDiskFromMptStatus( name => $device->{NAME}, logger => $logger, command => "mpt-status -n -i $device->{SCSI_UNID}" )) { # merge with smartctl info my $info = getInfoFromSmartctl(device => $disk->{device}); foreach my $key (qw/SERIALNUMBER DESCRIPTION TYPE/) { $disk->{$key} = $info->{$key}; } delete $disk->{device}; $inventory->addEntry(section => 'STORAGES', entry => $disk); } } } sub _getDiskFromMptStatus { my (%params) = @_; my $handle = getFileHandle(%params); next unless $handle; my @disks; while (my $line = <$handle>) { next unless $line =~ / phys_id:(\d+) \s scsi_id:\d+ \s vendor:\S+ \s+ product_id:(\S.+\S) \s+ revision:(\S+) \s+ size\(GB\):(\d+) /x; my $disk = { NAME => $params{name}, device => "/dev/sg$1", MODEL => $2, MANUFACTURER => getCanonicalManufacturer($2), FIRMWARE => $3, DISKSIZE => $4 * 1024 }; push @disks, $disk; } close $handle; return @disks; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/Adaptec.pm0000644000175000017500000000521213712210012032402 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Storages::Adaptec; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; our $runMeIfTheseChecksFailed = ['FusionInventory::Agent::Task::Inventory::Linux::Storages']; sub isEnabled { return -r '/proc/scsi/scsi'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @devices = getDevicesFromUdev(logger => $logger); foreach my $device (@devices) { next unless $device->{MANUFACTURER}; next unless $device->{MANUFACTURER} eq 'Adaptec' || $device->{MANUFACTURER} eq 'Sun' || $device->{MANUFACTURER} eq 'ServeRA'; foreach my $disk (_getDisksFromProc( controller => 'scsi' . $device->{SCSI_COID}, name => $device->{NAME}, logger => $logger )) { # merge with smartctl info my $info = getInfoFromSmartctl(device => $disk->{device}); next unless $info->{TYPE} =~ /disk/i; foreach my $key (qw/SERIALNUMBER DESCRIPTION TYPE DISKSIZE MANUFACTURER/) { $disk->{$key} = $info->{$key}; } delete $disk->{device}; $inventory->addEntry(section => 'STORAGES', entry => $disk); } } } sub _getDisksFromProc { my (%params) = ( file => '/proc/scsi/scsi', @_ ); return unless $params{controller}; my $handle = getFileHandle(%params); return unless $handle; my @disks; my $disk; my $count = -1; while (my $line = <$handle>) { if ($line =~ /^Host: (\w+)/) { $count++; if ($1 eq $params{controller}) { # that's the controller we're looking for $disk = { NAME => $params{name}, }; } else { # that's another controller undef $disk; } } if ($line =~ /Model: \s (\S.+\S) \s+ Rev: \s (\S+)/x) { next unless $disk; $disk->{MODEL} = $1; $disk->{FIRMWARE} = $2; # that's the controller itself, not a disk next if $disk->{MODEL} =~ /raid|virtual/i; $disk->{MANUFACTURER} = getCanonicalManufacturer( $disk->{MODEL} ); $disk->{device} = "/dev/sg$count"; push @disks, $disk; } } close $handle; return @disks; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Storages.pm0000644000175000017500000002146713750505610031070 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Storages; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use File::Basename qw(basename); use Memoize; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; use FusionInventory::Agent::Tools::Linux; use FusionInventory::Agent::Tools::Unix; memoize('_correctHdparmAvailable'); sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{storage}; return 1; } sub doInventory { my (%params) = @_; my $inventory = delete $params{inventory}; $params{root} = $params{test_path} || ""; foreach my $device (_getDevices(%params)) { $inventory->addEntry(section => 'STORAGES', entry => $device); } } sub _getDevices { my (%params) = @_; my $root = $params{root}; my @devices = _getDevicesBase(%params); # complete with udev for missing bits, if available if (-d "$root/dev/.udev/db/") { my %udev_devices = map { $_->{NAME} => $_ } getDevicesFromUdev(%params); foreach my $device (@devices) { # find corresponding udev entry my $udev_device = $udev_devices{$device->{NAME}}; next unless $udev_device; foreach my $key (keys %$udev_device) { next if $device->{$key}; $device->{$key} = $udev_device->{$key}; } } } # By default, we will get other info from smartctl and then from hdparm my $default_subs = [ \&getInfoFromSmartctl, \&_getHdparmInfo ]; for my $device (@devices) { my %info; for my $field (qw(DESCRIPTION DISKSIZE FIRMWARE INTERFACE MANUFACTURER MODEL WWN)) { my $subs = $default_subs; if ($field eq 'MANUFACTURER') { # Try to update manufacturer if set to ATA next if defined $device->{$field} && $device->{$field} ne 'ATA'; $subs = [ \&getInfoFromSmartctl ]; } elsif ($field eq 'MODEL') { # proceed in any case to overwrite MODEL with whatever returned from subs } elsif (defined $device->{$field}) { next; } for my $sub (@$subs) { # get info once for each device $info{$sub} = &$sub(device => '/dev/' . $device->{NAME}, %params) unless $info{$sub}; if (defined $info{$sub}->{$field}) { $device->{$field} = $info{$sub}->{$field}; last; } } } } foreach my $device (@devices) { $device->{DESCRIPTION} = _fixDescription( $device->{NAME}, $device->{MANUFACTURER}, $device->{DESCRIPTION}, $device->{SERIALNUMBER} ); if (!$device->{MANUFACTURER} || $device->{MANUFACTURER} eq 'ATA') { $device->{MANUFACTURER} = getCanonicalManufacturer( $device->{MODEL} ); } elsif ($device->{MANUFACTURER} && $device->{MANUFACTURER} =~ /^0x(\w+)$/) { my $vendor = getPCIDeviceVendor(id => lc($1)); $device->{MANUFACTURER} = $vendor->{name} if $vendor && $vendor->{name}; } if (!$device->{DISKSIZE} && $device->{TYPE} !~ /^cd/) { $device->{DISKSIZE} = getDeviceCapacity( device => '/dev/' . $device->{NAME}, %params ); } # In some case, serial can't be defined using hdparm (command missing or virtual disk) # Then we can define a serial searching for few specific identifiers # But avoid to search S/N for empty removable meaning no disk has been inserted if (!$device->{SERIALNUMBER} && !($device->{TYPE} eq 'removable' && !$device->{DISKSIZE})) { $params{device} = '/dev/' . $device->{NAME}; my $sn = _getDiskIdentifier(%params) || _getPVUUID(%params); $device->{SERIALNUMBER} = $sn if $sn; } } return @devices; } # get serial & firmware numbers from hdparm, if available sub _getHdparmInfo { my (%params) = @_; return unless _correctHdparmAvailable( root => $params{root}, dump => $params{dump}, ); my $hdparm = getHdparmInfo( device => $params{device}, %params ); return $hdparm; } sub _getDevicesBase { my (%params) = @_; # We need to support dump params to permit full testing when root params is set my $root = $params{root}; my $logger = $params{logger}; $logger->debug("retrieving devices list:"); if (-d "$root/sys/block") { my @devices = getDevicesFromProc(%params); $logger->debug_result( action => 'reading /sys/block content', data => scalar @devices ); return @devices if @devices; } else { $logger->debug_result( action => 'reading /sys/block content', status => 'directory not available' ); } if ((!$root && canRun("/usr/bin/lshal")) || ($root && -e "$root/lshal")) { my @devices = getDevicesFromHal(%params); $logger->debug_result( action => 'running lshal command', data => scalar @devices ); return @devices if @devices; } else { $logger->debug_result( action => 'running lshal command', status => 'command not available' ); } return; } sub _fixDescription { my ($name, $manufacturer, $description, $serialnumber) = @_; # detected as USB by udev # TODO maybe we should trust udev detection by default? return "USB" if ($description && $description =~ /usb/i); if ($name =~ /^sd/) { # /dev/sd* are SCSI _OR_ SATA if ( ($manufacturer && $manufacturer =~ /ATA/) || ($serialnumber && $serialnumber =~ /ATA/) || ($description && $description =~ /ATA/) ) { return "SATA"; } else { return "SCSI"; } } elsif ($name =~ /^sg/) { # "g" stands for Generic SCSI return "SCSI"; } elsif ($name =~ /^vd/ || ($description && $description =~ /VIRTIO/) ) { return "Virtual"; } else { return $description || "IDE"; } } # some hdparm release generated kernel error if they are # run on CDROM device # http://forums.ocsinventory-ng.org/viewtopic.php?pid=20810 sub _correctHdparmAvailable { my (%params) = @_; $params{command} = "hdparm -V"; # We need to support dump params to permit full testing when root params is set if ($params{root}) { $params{file} = $params{root}."/hdparm"; return unless -e $params{file}; } return unless canRun('hdparm') || $params{file}; if ($params{dump}) { $params{dump}->{"hdparm"} = getAllLines(%params); } my ($major, $minor) = getFirstMatch( pattern => qr/^hdparm v(\d+)\.(\d+)/, %params ); # we need at least version 9.15 return compareVersion($major, $minor, 9, 15); } sub _getDiskIdentifier { my (%params) = @_; # We need to support dump params to permit full testing when root params is set if ($params{root}) { $params{file} = $params{root}."/fdisk"; return unless -e $params{file}; } else { $params{command} = "fdisk -v"; } return unless $params{device} && (canRun("fdisk") || $params{file}); if ($params{dump}) { $params{dump}->{"fdisk"} = getAllLines(%params); } # GNU version requires -p flag $params{command} = getFirstLine(%params) =~ '^GNU' ? "fdisk -p -l $params{device}" : "fdisk -l $params{device}" ; if ($params{root}) { my $devname = basename($params{device}); $params{file} = $params{root}."/fdisk-$devname"; return unless -e $params{file}; } elsif ($params{dump}) { my $devname = basename($params{device}); $params{dump}->{"fdisk-$devname"} = getAllLines(%params); } my $identifier = getFirstMatch( pattern => qr/^Disk identifier:\s*(?:0x)?(\S+)$/i, %params ); return $identifier; } sub _getPVUUID { my (%params) = @_; # We need to support dump params to permit full testing when root params is set if ($params{root}) { my $devname = basename($params{device}); $params{file} = $params{root}."/lvm-$devname"; return unless -e $params{file}; } return unless $params{device} && (canRun("lvm") || $params{file}); $params{command} = "lvm pvdisplay -C -o pv_uuid --noheadings $params{device}" ; if ($params{dump}) { my $devname = basename($params{device}); $params{dump}->{"lvm-$devname"} = getAllLines(%params); } my $uuid = getFirstMatch( pattern => qr/^\s*(\S+)/, %params ); return $uuid; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Bios.pm0000644000175000017500000000604213712210012030150 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Bios; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; # Only run this module if dmidecode has not been found our $runMeIfTheseChecksFailed = ["FusionInventory::Agent::Task::Inventory::Generic::Dmidecode::Bios"]; # Follow dmidecode dmi_chassis_type() API: # See https://github.com/mirror/dmidecode/blob/master/dmidecode.c#L545 my $chassis_types = [ "", "Other", "Unknown", "Desktop", "Low Profile Desktop", "Pizza Box", "Mini Tower", "Tower", "Portable", "Laptop", "Notebook", "Hand Held", "Docking Station", "All in One", "Sub Notebook", "Space-Saving", "Lunch Box", "Main Server Chassis", "Expansion Chassis", "Sub Chassis", "Bus Expansion Chassis", "Peripheral Chassis", "RAID Chassis", "Rack Mount Chassis", "Sealed-case PC", "Multi-system", "CompactPCI", "AdvancedTCA", "Blade", "Blade Enclosing", "Tablet", "Convertible", "Detachable", "IoT Gateway", "Embedded PC", "Mini PC", "Stick PC", ]; sub isEnabled { return -d '/sys/class/dmi/id'; } sub _dmi_info { my ($info) = @_; my $class = '/sys/class/dmi/id/'.$info; return if -d $class; return unless -e $class; return getFirstLine(file => $class); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $bios = {}; my $hardware = {}; my %bios_map = qw( BMANUFACTURER bios_vendor BDATE bios_date BVERSION bios_version ASSETTAG chassis_asset_tag SMODEL product_name SMANUFACTURER sys_vendor SSN product_serial MMODEL board_name MMANUFACTURER board_vendor MSN board_serial ); foreach my $key (keys(%bios_map)) { my $value = _dmi_info($bios_map{$key}); next unless defined($value); $bios->{$key} = $value; } # Fix issue #311: 'product_version' is a better 'SMODEL' for Lenovo systems my $system_version = _dmi_info('product_version'); if ($system_version && $bios->{'SMANUFACTURER'} && $bios->{'SMANUFACTURER'} =~ /^LENOVO$/i && $system_version =~ /^(Think|Idea|Yoga|Netfinity|Netvista|Intelli)/i) { $bios->{'SMODEL'} = $system_version; } # Set Virtualbox VM S/N to UUID if found serial is '0' my $uuid = _dmi_info('product_uuid'); if ($uuid && $bios->{MMODEL} && $bios->{MMODEL} eq "VirtualBox" && $bios->{SSN} eq "0" && $bios->{MSN} eq "0") { $bios->{SSN} = $uuid; } $hardware->{UUID} = $uuid if $uuid; my $chassis_type = _dmi_info('chassis_type'); if ($chassis_type && $chassis_types->[$chassis_type]) { $hardware->{CHASSIS_TYPE} = $chassis_types->[$chassis_type]; } $inventory->setBios($bios); $inventory->setHardware($hardware); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Distro.pm0000644000175000017500000000032313712210012030514 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Distro; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; sub isEnabled { return 1; } sub doInventory {} 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/LVM.pm0000644000175000017500000000630513712210012027714 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::LVM; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{lvm}; return canRun('lvs'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $volume (_getLogicalVolumes(logger => $logger)) { $inventory->addEntry(section => 'LOGICAL_VOLUMES', entry => $volume); } foreach my $volume (_getPhysicalVolumes(logger => $logger)) { $inventory->addEntry(section => 'PHYSICAL_VOLUMES', entry => $volume); } foreach my $group (_getVolumeGroups(logger => $logger)) { $inventory->addEntry(section => 'VOLUME_GROUPS', entry => $group); } } sub _getLogicalVolumes { my (%params) = ( command => 'lvs -a --noheading --nosuffix --units M -o lv_name,vg_uuid,lv_attr,lv_size,lv_uuid,seg_count', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @volumes; while (my $line = <$handle>) { my @infos = split(/\s+/, $line); push @volumes, { LV_NAME => $infos[1], VG_UUID => $infos[2], ATTR => $infos[3], SIZE => int($infos[4]||0), LV_UUID => $infos[5], SEG_COUNT => $infos[6], } } close $handle; return @volumes; } sub _getPhysicalVolumes { my (%params) = ( command => 'pvs --noheading --nosuffix --units M -o pv_name,pv_fmt,pv_attr,pv_size,pv_free,pv_uuid,pv_pe_count,vg_uuid', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @volumes; while (my $line = <$handle>) { my @infos = split(/\s+/, $line); my $pe_size; if ($infos[7] && $infos[7]>0) { $pe_size = int($infos[4] / $infos[7]); } push @volumes, { DEVICE => $infos[1], FORMAT => $infos[2], ATTR => $infos[3], SIZE => int($infos[4]||0), FREE => int($infos[5]||0), PV_UUID => $infos[6], PV_PE_COUNT => $infos[7], PE_SIZE => $pe_size, VG_UUID => $infos[8] }; } close $handle; return @volumes; } sub _getVolumeGroups { my (%params) = ( command => 'vgs --noheading --nosuffix --units M -o vg_name,pv_count,lv_count,vg_attr,vg_size,vg_free,vg_uuid,vg_extent_size', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @groups; while (my $line = <$handle>) { my @infos = split(/\s+/, $line); push @groups, { VG_NAME => $infos[1], PV_COUNT => $infos[2], LV_COUNT => $infos[3], ATTR => $infos[4], SIZE => int($infos[5]||0), FREE => int($infos[6]||0), VG_UUID => $infos[7], VG_EXTENT_SIZE => $infos[8], }; } close $handle; return @groups; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/m68k.pm0000644000175000017500000000037213712210012030041 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::m68k; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; sub isEnabled { return $Config{archname} =~ /^m68k/; } sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Memory.pm0000644000175000017500000000156013712210012030524 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Memory; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{memory}; return -r '/proc/meminfo'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $handle = getFileHandle(file => '/proc/meminfo', logger => $logger); return unless $handle; my $memorySize; my $swapSize; while (my $line = <$handle>) { $memorySize = $1 if $line =~ /^MemTotal:\s*(\S+)/; $swapSize = $1 if $line =~ /^SwapTotal:\s*(\S+)/; } close $handle; $inventory->setHardware({ MEMORY => int($memorySize/ 1024), SWAP => int($swapSize / 1024), }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/m68k/0000755000175000017500000000000013757703277027536 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/m68k/CPU.pm0000644000175000017500000000164513712210012030474 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::m68k::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return -r '/proc/cpuinfo'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $cpu (_getCPUsFromProc( logger => $logger, file => '/proc/cpuinfo' )) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCPUsFromProc { my @cpus; foreach my $cpu (getCPUsFromProc(@_)) { push @cpus, { ARCH => 'm68k', NAME => $cpu->{'cpu'}, SPEED => $cpu->{'clocking'} }; } return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/ARM.pm0000644000175000017500000000037013712210012027671 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::ARM; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; sub isEnabled { return $Config{archname} =~ /^arm/; } sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Uptime.pm0000644000175000017500000000124013712210012030512 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Uptime; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; sub isEnabled { return -r '/proc/uptime'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $uptime = _getUptime(file => '/proc/uptime'); $inventory->setOperatingSystem({ BOOT_TIME => $uptime }); } sub _getUptime { my $uptime = getFirstMatch( pattern => qr/^(\S+)/, @_ ); return unless $uptime; return getFormatedLocalTime(int(time - $uptime)); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Inputs.pm0000644000175000017500000000374313712210012030543 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Inputs; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{input}; return -r '/proc/bus/input/devices'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $handle = getFileHandle( file => '/proc/bus/input/devices', logger => $logger ); return unless $handle; my @inputs; my $device; my $in; while (my $line = <$handle>) { if ($line =~ /^I: Bus=.*Vendor=(.*) Prod/) { $in = 1; $device->{vendor}=$1; } elsif ($line =~ /^$/) { $in = 0; if ($device->{phys} && $device->{phys} =~ "input") { push @inputs, { DESCRIPTION => $device->{name}, CAPTION => $device->{name}, TYPE => $device->{type}, }; } $device = {}; } elsif ($in) { if ($line =~ /^P: Phys=.*(button).*/i) { $device->{phys}="nodev"; } elsif ($line =~ /^P: Phys=.*(input).*/i) { $device->{phys}="input"; } if ($line =~ /^N: Name=\"(.*)\"/i) { $device->{name}=$1; } if ($line =~ /^H: Handlers=(\w+)/i) { if ($1 =~ ".*kbd.*") { $device->{type}="Keyboard"; } elsif ($1 =~ ".*mouse.*") { $device->{type}="Pointing"; } else { # Keyboard ou Pointing $device->{type}=$1; } } } } close $handle; foreach my $input (@inputs) { $inventory->addEntry( section => 'INPUTS', entry => $input ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/PowerPC.pm0000644000175000017500000000040613712210012030571 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::PowerPC; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; sub isEnabled { return $Config{archname} =~ /^(ppc|powerpc)/; } sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/SPARC/0000755000175000017500000000000013757703276027620 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/SPARC/CPU.pm0000644000175000017500000000173213712210012030554 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::SPARC::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return -r '/proc/cpuinfo'; }; sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $cpu (_getCPUsFromProc( logger => $logger, file => '/proc/cpuinfo' )) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCPUsFromProc { my $cpu = (getCPUsFromProc(@_))[0]; return unless $cpu && $cpu->{'ncpus probed'}; my @cpus; foreach (1 .. $cpu->{'ncpus probed'}) { push @cpus, { ARCH => 'SPARC', NAME => $cpu->{cpu}, }; } return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Networks/0000755000175000017500000000000013757703277030565 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Networks/DockerMacvlan.pm0000644000175000017500000000421513712210012033601 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Networks::DockerMacvlan; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use JSON::PP; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; sub isEnabled { return canRun('docker'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @networks = _getMacvlanNetworks(logger => $logger) or return; foreach my $network (@networks) { my @interfaces = _getInterfaces(logger => $logger, networkId => $network); foreach my $interface (@interfaces) { $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } } } sub _getMacvlanNetworks { my (%params) = ( command => 'docker network ls --filter driver=macvlan -q', @_ ); return getAllLines(%params); } sub _getInterfaces { my (%params) = @_; my $lines = getAllLines( command => "docker network inspect $params{networkId}", %params ) or return; my @interfaces; eval { my $json = JSON::PP->new; my $data = $json->decode($lines); foreach my $record (@$data) { while (my ($k, $container) = each %{$record->{Containers}}) { my $interface = { DESCRIPTION => $record->{Name} . "@" . $container->{Name}, MACADDR => $container->{MacAddress}, STATUS => 'Up', TYPE => 'ethernet', }; if ($container->{IPv4Address} =~ /^($ip_address_pattern)\/(\d+)$/) { $interface->{IPADDRESS} = $1; $interface->{IPMASK} = getNetworkMask($2); } if ($container->{IPv6Address} =~ /^(\S+)\/(\d+)$/) { $interface->{IPADDRESS6} = $1; $interface->{IPMASK6} = getNetworkMaskIPv6($2); } push @interfaces, $interface; } } }; return @interfaces; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Networks/FibreChannel.pm0000644000175000017500000000316713712210012033415 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Networks::FibreChannel; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('systool'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @interfaces = _getInterfacesFromFcHost(logger => $logger); foreach my $interface (@interfaces) { $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } } sub _getInterfacesFromFcHost { my (%params) = ( command => 'systool -c fc_host -v', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @interfaces; my $interface; while (my $line = <$handle>) { if ($line =~ /Class Device = "(.+)"/) { $interface = { DESCRIPTION => $1, TYPE => 'fibrechannel' }; } elsif ($line =~ /port_name\s+= "0x(\w+)"/) { $interface->{'WWN'} = join(':', unpack '(A2)*', $1); } elsif ($line =~ /port_state\s+= "(\w+)"/) { if ($1 eq 'Online') { $interface->{'STATUS'} = 'Up'; } elsif ($1 eq 'Linkdown') { $interface->{'STATUS'} = 'Down'; } } elsif ($line =~ /speed\s+= "(.+)"/) { $interface->{'SPEED'} = getCanonicalInterfaceSpeed($1) if ($1 ne 'unknown'); push @interfaces, $interface; } } close $handle; return @interfaces; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Drives.pm0000644000175000017500000002000213752251136030520 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Drives; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{drive}; return canRun('df') || canRun('lshal'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $filesystem (_getFilesystems($logger)) { $inventory->addEntry( section => 'DRIVES', entry => $filesystem ); } } sub _getFilesystems { my ($logger) = @_; # get filesystems list my @filesystems = # exclude virtual file systems and overlay fs defined by docker grep { $_->{FILESYSTEM} !~ /^(tmpfs|devtmpfs|usbfs|proc|devpts|devshm|udev)$/ && $_->{VOLUMN} !~ /^overlay$/ } # get all file systems getFilesystemsFromDf(logger => $logger, command => 'df -P -T -k'); # get additional informations if (canRun('blkid')) { # use blkid if available, as it is filesystem-independent foreach my $filesystem (@filesystems) { $filesystem->{SERIAL} = getFirstMatch( logger => $logger, command => "blkid -w /dev/null $filesystem->{VOLUMN}", pattern => qr/\sUUID="(\S*)"\s/ ); } } else { # otherwise fallback to filesystem-dependant utilities my $has_dumpe2fs = canRun('dumpe2fs'); my $has_xfs_db = canRun('xfs_db'); my $has_dosfslabel = canRun('dosfslabel'); my %months = ( Jan => 1, Feb => 2, Mar => 3, Apr => 4, May => 5, Jun => 6, Jul => 7, Aug => 8, Sep => 9, Oct => 10, Nov => 11, Dec => 12, ); foreach my $filesystem (@filesystems) { if ($filesystem->{FILESYSTEM} =~ /^ext(2|3|4|4dev)/ && $has_dumpe2fs) { my $handle = getFileHandle( logger => $logger, command => "dumpe2fs -h $filesystem->{VOLUMN}" ); next unless $handle; while (my $line = <$handle>) { if ($line =~ /Filesystem UUID:\s+(\S+)/) { $filesystem->{SERIAL} = $1; } elsif ($line =~ /Filesystem created:\s+\w+\s+(\w+)\s+(\d+)\s+([\d:]+)\s+(\d{4})$/) { $filesystem->{CREATEDATE} = "$4/$months{$1}/$2 $3"; } elsif ($line =~ /Filesystem volume name:\s*(\S.*)/) { $filesystem->{LABEL} = $1 unless $1 eq ''; } } close $handle; next; } if ($filesystem->{FILESYSTEM} eq 'xfs' && $has_xfs_db) { $filesystem->{SERIAL} = getFirstMatch( logger => $logger, command => "xfs_db -r -c uuid $filesystem->{VOLUMN}", pattern => qr/^UUID =\s+(\S+)/ ); $filesystem->{LABEL} = getFirstMatch( logger => $logger, command => "xfs_db -r -c label $filesystem->{VOLUMN}", pattern => qr/^label =\s+"(\S+)"/ ); next; } if ($filesystem->{FILESYSTEM} eq 'vfat' && $has_dosfslabel) { $filesystem->{LABEL} = getFirstLine( logger => $logger, command => "dosfslabel $filesystem->{VOLUMN}" ); next; } } } # complete with hal if available if (canRun('lshal')) { my @hal_filesystems = _getFilesystemsFromHal(); my %hal_filesystems = map { $_->{VOLUMN} => $_ } @hal_filesystems; foreach my $filesystem (@filesystems) { # retrieve hal informations for this drive my $hal_filesystem = $hal_filesystems{$filesystem->{VOLUMN}}; next unless $hal_filesystem; # take hal information if it doesn't exist already foreach my $key (keys %$hal_filesystem) { $filesystem->{$key} = $hal_filesystem->{$key} if !$filesystem->{$key}; } } } my %devicemapper = (); my %cryptsetup = (); # complete with encryption status if available if (canRun('dmsetup') && canRun('cryptsetup')) { foreach my $filesystem (@filesystems) { # Find dmsetup uuid if available my $uuid = getFirstMatch( logger => $logger, command => "dmsetup info $filesystem->{VOLUMN}", pattern => qr/^UUID\s*:\s*(.*)$/ ); next unless $uuid; # Find real devicemapper block name unless ($devicemapper{$uuid}) { foreach my $uuidfile (glob ("/sys/block/*/dm/uuid")) { next unless getFirstLine(file => $uuidfile) eq $uuid; ($devicemapper{$uuid}) = $uuidfile =~ m|^(/sys/block/[^/]+)|; last; } } next unless $devicemapper{$uuid}; # Lookup for crypto devicemapper slaves my @names = grep { defined($_) && length($_) } map { getFirstLine(file => $_) } glob ("$devicemapper{$uuid}/slaves/*/dm/name"); # Finaly we may try on the device itself, see #825 push @names, $filesystem->{VOLUMN}; foreach my $name (@names) { # Check cryptsetup status for the found slave/device unless ($cryptsetup{$name}) { my $handle = getFileHandle( command => "cryptsetup status $name" ) or next; while (my $line = <$handle>) { chomp $line; next unless ($line =~ /^\s*(.*):\s*(.*)$/); $cryptsetup{$name}->{uc($1)} = $2; } close $handle; } next unless $cryptsetup{$name}; # Add cryptsetup status to filesystem $filesystem->{ENCRYPT_NAME} = $cryptsetup{$name}->{TYPE}; $filesystem->{ENCRYPT_STATUS} = 'Yes'; $filesystem->{ENCRYPT_ALGO} = $cryptsetup{$name}->{CIPHER}; last; } } } return @filesystems; } sub _getFilesystemsFromHal { my $devices = _parseLshal(command => 'lshal'); return @$devices; } sub _parseLshal { my $handle = getFileHandle(@_); return unless $handle; my $devices = []; my $device = {}; while (my $line = <$handle>) { chomp $line; if ($line =~ m{^udi = '/org/freedesktop/Hal/devices/(volume|block).*}) { $device = {}; next; } next unless defined $device; if ($line =~ /^$/) { if ($device->{ISVOLUME}) { delete($device->{ISVOLUME}); push(@$devices, $device); } undef $device; } elsif ($line =~ /^\s+ block.device \s = \s '([^']+)'/x) { $device->{VOLUMN} = $1; } elsif ($line =~ /^\s+ volume.fstype \s = \s '([^']+)'/x) { $device->{FILESYSTEM} = $1; } elsif ($line =~ /^\s+ volume.label \s = \s '([^']+)'/x) { $device->{LABEL} = $1; } elsif ($line =~ /^\s+ volume.uuid \s = \s '([^']+)'/x) { $device->{SERIAL} = $1; } elsif ($line =~ /^\s+ storage.model \s = \s '([^']+)'/x) { $device->{TYPE} = $1; } elsif ($line =~ /^\s+ volume.size \s = \s (\S+)/x) { my $value = $1; $device->{TOTAL} = int($value/(1024*1024) + 0.5); } elsif ($line =~ /block.is_volume\s*=\s*true/i) { $device->{ISVOLUME} = 1; } } close $handle; return $devices; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Alpha.pm0000644000175000017500000000037513712210012030304 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Alpha; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use Config; sub isEnabled { return $Config{archname} =~ /^alpha/; }; sub doInventory { } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/i386/0000755000175000017500000000000013757703277027442 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/i386/CPU.pm0000644000175000017500000000474113712210012030400 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::i386::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; use FusionInventory::Agent::Tools::Generic; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return -r '/proc/cpuinfo'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $cpu (_getCPUs(logger => $logger)) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCPUs { my (%params) = @_; my @dmidecodeInfos = $params{dmidecode} ? getCpusFromDmidecode(file => $params{dmidecode}) : getCpusFromDmidecode(); my $count = 0; my @cpus; my %seen; foreach my $logicalCpu (getCPUsFromProc(@_)) { my $cpuId = $logicalCpu->{'physical id'}; my ($core, $thread); if (defined $cpuId) { next if $seen{$cpuId}++; $core = $logicalCpu->{'cpu cores'}; $thread = $logicalCpu->{'siblings'}; } else { $cpuId = $count; $core = 1; $thread = 1; } my $dmidecodeInfo = $dmidecodeInfos[$cpuId]; my $cpu = { ARCH => 'i386', MANUFACTURER => getCanonicalManufacturer($logicalCpu->{vendor_id}), STEPPING => $logicalCpu->{'stepping'} || $dmidecodeInfo->{STEPPING}, FAMILYNUMBER => $logicalCpu->{'cpu family'} || $dmidecodeInfo->{FAMILYNUMBER}, MODEL => $logicalCpu->{'model'} || $dmidecodeInfo->{MODEL}, NAME => $logicalCpu->{'model name'}, CORE => $core || $dmidecodeInfo->{CORE}, THREAD => $thread || $dmidecodeInfo->{THREAD} }; # Import some dmidecode value only when available foreach my $key (qw(ID SERIAL EXTERNAL_CLOCK FAMILYNAME CORECOUNT)) { $cpu->{$key} = $dmidecodeInfo->{$key} if $dmidecodeInfo->{$key}; } if ($cpu->{NAME} =~ /([\d\.]+)s*(GHZ)/i) { $cpu->{SPEED} = { ghz => 1000, mhz => 1, }->{lc($2)} * $1; } push @cpus, $cpu; $count++; } return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Alpha/0000755000175000017500000000000013757703276027775 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Alpha/CPU.pm0000644000175000017500000000222013712210012030722 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Alpha::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return -r '/proc/cpuinfo'; }; sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $cpu (_getCPUsFromProc( logger => $logger, file => '/proc/cpuinfo') ) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCPUsFromProc { my @cpus; foreach my $cpu (getCPUsFromProc(@_)) { my $speed; if ( $cpu->{'cycle frequency [hz]'} && $cpu->{'cycle frequency [hz]'} =~ /(\d+)000000/ ) { $speed = $1; } push @cpus, { ARCH => 'Alpha', NAME => $cpu->{processor}, SERIAL => $cpu->{'cpu serial number'}, SPEED => $speed }; } return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/MIPS/0000755000175000017500000000000013757703277027521 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/MIPS/CPU.pm0000644000175000017500000000160013712210012030446 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::MIPS::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return -r '/proc/cpuinfo'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $cpu (_getCPUsFromProc( logger => $logger, file => '/proc/cpuinfo' )) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCPUsFromProc { my @cpus; foreach my $cpu (getCPUsFromProc(@_)) { push @cpus, { ARCH => 'MIPS', NAME => $cpu->{'cpu model'}, }; } return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/ARM/0000755000175000017500000000000013757703277027370 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/ARM/CPU.pm0000644000175000017500000000170713712210012030325 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::ARM::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return -r '/proc/cpuinfo'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $cpu (_getCPUsFromProc( logger => $logger, file => '/proc/cpuinfo') ) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCPUsFromProc { my @cpus; # https://github.com/joyent/libuv/issues/812 foreach my $cpu (getCPUsFromProc(@_)) { push @cpus, { ARCH => 'ARM', NAME => $cpu->{'model name'} || $cpu->{processor} }; } return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/ARM/Board.pm0000644000175000017500000000363513712210012030727 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::ARM::Board; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; sub isEnabled { my (%params) = @_; return -r '/proc/cpuinfo'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $bios = _getBios( logger => $params{logger}); $inventory->setBios($bios) if $bios; } sub _getBios { my (%params) = @_; my $bios; my $board = $params{board} || _getBoardFromProc( %params ); if ($board) { # List of well-known inventory values we can import # Search for cpuinfo value from the given list my %infos = ( MMODEL => [ 'hardware' ], MSN => [ 'revision' ], SSN => [ 'serial' ] ); # Map found informations foreach my $key (keys(%infos)) { foreach my $info (@{$infos{$key}}) { if ($board->{$info}) { $bios = {} unless $bios; $bios->{$key} = $board->{$info}; last; } } } } return $bios; } sub _getBoardFromProc { my (%params) = ( file => '/proc/cpuinfo', @_ ); my $handle = getFileHandle(%params); my $infos; # Does the inverse of FusionInventory::Agent::Tools::Linux::getCPUsFromProc() while (my $line = <$handle>) { if ($line =~ /^([^:]+\S) \s* : \s (.+)/x) { $infos->{lc($1)} = trimWhitespace($2); } elsif ($line =~ /^$/) { # Quit if not a cpu last unless ($infos && (exists($infos->{processor}) || exists($infos->{cpu}))); undef $infos; } } close $handle; return $infos unless ($infos && (exists($infos->{processor}) || exists($infos->{cpu}))); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Networks.pm0000644000175000017500000001763113712210012031076 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Networks; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::Unix; use FusionInventory::Agent::Tools::Linux; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{network}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $routes = getRoutingTable(command => 'netstat -nr', logger => $logger); my $default = $routes->{'0.0.0.0'}; my @interfaces = _getInterfaces(logger => $logger); foreach my $interface (@interfaces) { # if the default gateway address and the interface address belongs to # the same network, that's the gateway for this network $interface->{IPGATEWAY} = $default if isSameNetwork( $default, $interface->{IPADDRESS}, $interface->{IPMASK} ); $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } $inventory->setHardware({ DEFAULTGATEWAY => $default }); } sub _getInterfaces { my (%params) = @_; my $logger = $params{logger}; my @interfaces = _getInterfacesBase(logger => $logger); foreach my $interface (@interfaces) { $interface->{IPSUBNET} = getSubnetAddress( $interface->{IPADDRESS}, $interface->{IPMASK} ); $interface->{IPDHCP} = getIpDhcp( $logger, $interface->{DESCRIPTION} ); # check if it is a physical interface if (-d "/sys/class/net/$interface->{DESCRIPTION}/device" && !-d "/sys/devices/virtual/net/$interface->{DESCRIPTION}") { my $info = _getUevent($interface->{DESCRIPTION}); $interface->{DRIVER} = $info->{DRIVER} if $info->{DRIVER}; $interface->{PCISLOT} = $info->{PCI_SLOT_NAME} if $info->{PCI_SLOT_NAME}; $interface->{PCIID} = $info->{PCI_ID} . ':' . $info->{PCI_SUBSYS_ID} if $info->{PCI_SUBSYS_ID} && $info->{PCI_ID}; $interface->{VIRTUALDEV} = 0; # check if it is a wifi interface, otherwise assume ethernet if (-d "/sys/class/net/$interface->{DESCRIPTION}/wireless") { $interface->{TYPE} = 'wifi'; my $info = _parseIwconfig(name => $interface->{DESCRIPTION}); $interface->{WIFI_MODE} = $info->{mode}; $interface->{WIFI_SSID} = $info->{SSID}; $interface->{WIFI_BSSID} = $info->{BSSID}; $interface->{WIFI_VERSION} = $info->{version}; } elsif (-f "/sys/class/net/$interface->{DESCRIPTION}/mode") { $interface->{TYPE} = 'infiniband'; } else { $interface->{TYPE} = 'ethernet'; } } else { $interface->{VIRTUALDEV} = 1; if ($interface->{DESCRIPTION} eq 'lo') { $interface->{TYPE} = 'loopback'; } if ($interface->{DESCRIPTION} =~ m/^ppp/) { $interface->{TYPE} = 'dialup'; } # check if it is an alias or a tagged interface if ($interface->{DESCRIPTION} =~ m/^([\w\d]+)[:.]\d+$/) { $interface->{TYPE} = 'alias'; $interface->{BASE} = $1; } # check if is is a bridge if (-d "/sys/class/net/$interface->{DESCRIPTION}/brif") { $interface->{SLAVES} = _getSlaves($interface->{DESCRIPTION}); $interface->{TYPE} = 'bridge'; } # check if it is a bonding master if (-d "/sys/class/net/$interface->{DESCRIPTION}/bonding") { $interface->{SLAVES} = _getSlaves($interface->{DESCRIPTION}); $interface->{TYPE} = 'aggregate'; } } # check if it is a bonding slave if (-d "/sys/class/net/$interface->{DESCRIPTION}/bonding_slave") { $interface->{MACADDR} = getFirstMatch( command => "ethtool -P $interface->{DESCRIPTION}", pattern => qr/^Permanent address: ($mac_address_pattern)$/, logger => $logger ); } if (defined($interface->{STATUS}) && $interface->{STATUS} eq 'Up') { if (-r "/sys/class/net/$interface->{DESCRIPTION}/speed") { my $speed = getFirstLine( file => "/sys/class/net/$interface->{DESCRIPTION}/speed" ); $interface->{SPEED} = $speed if $speed; } # On older kernels, we should try ethtool system call for speed if (!$interface->{SPEED}) { $logger->debug("looking for interface speed from syscall:"); my $infos = getInterfacesInfosFromIoctl( interface => $interface->{DESCRIPTION}, logger => $logger ); if ($infos->{SPEED}) { $logger->debug_result( action => 'retrieving interface speed from syscall', data => $infos->{SPEED} ); $interface->{SPEED} = $infos->{SPEED}; } else { $logger->debug_result( action => 'retrieving interface speed from syscall', status => 'syscall failed' ); } } } else { # Report zero speed in case the interface went from up to down # or the server has non-zero interface speed $interface->{SPEED} = 0; } } return @interfaces; } sub _getInterfacesBase { my (%params) = @_; my $logger = $params{logger}; $logger->debug("retrieving interfaces list:"); if (canRun('/sbin/ip')) { my @interfaces = getInterfacesFromIp(logger => $logger); $logger->debug_result( action => 'running /sbin/ip command', data => scalar @interfaces ); return @interfaces if @interfaces; } else { $logger->debug_result( action => 'running /sbin/ip command', status => 'command not available' ); } if (canRun('/sbin/ifconfig')) { my @interfaces = getInterfacesFromIfconfig(logger => $logger); $logger->debug_result( action => 'running /sbin/ifconfig command', data => scalar @interfaces ); return @interfaces if @interfaces; } else { $logger->debug_result( action => 'running /sbin/ifconfig command', status => 'command not available' ); } return; } sub _getSlaves { my ($name) = @_; my @slaves = map { $_ =~ /\/lower_(\w+)$/ } glob("/sys/class/net/$name/lower_*"); return join (",", @slaves); } sub _getUevent { my ($name) = @_; my $file = "/sys/class/net/$name/device/uevent"; my $handle = getFileHandle(file => $file); return unless $handle; my $info; while (my $line = <$handle>) { next unless $line =~ /^(\w+)=(\S+)$/; $info->{$1} = $2; } close $handle; return $info; } sub _parseIwconfig { my (%params) = @_; my $handle = getFileHandle( %params, command => $params{name} ? "iwconfig $params{name}" : undef ); return unless $handle; my $info; while (my $line = <$handle>) { $info->{version} = $1 if $line =~ /IEEE (\S+)/; $info->{SSID} = $1 if $line =~ /ESSID:"([^"]+)"/; $info->{mode} = $1 if $line =~ /Mode:(\S+)/; $info->{BSSID} = $1 if $line =~ /Access Point: ($mac_address_pattern)/; } close $handle; return $info; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Videos.pm0000644000175000017500000001074613712210012030513 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Videos; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{video}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; $logger->debug("retrieving display information:"); my $ddcprobeData; if (canRun('ddcprobe')) { $ddcprobeData = _getDdcprobeData( command => 'ddcprobe', logger => $logger ); $logger->debug_result( action => 'running ddcprobe command', data => $ddcprobeData ); } else { $logger->debug_result( action => 'running ddcprobe command', status => 'command not available' ); } my $xorgData; my $xorgPid; foreach my $process (getProcesses(logger => $logger)) { next unless $process->{CMD} =~ m{ ^ (?: /usr/bin | /usr/X11R6/bin | /etc/X11 ) /X }x; $xorgPid = $process->{PID}; last; } if ($xorgPid) { my $link = "/proc/$xorgPid/fd/0"; if (-r $link) { $xorgData = _parseXorgFd(file => $link); $logger->debug_result( action => 'reading Xorg log file', data => $xorgData ); } else { $logger->debug_result( action => 'reading Xorg log file', status => "non-readable link $link" ); } } else { $logger->debug_result( action => 'reading Xorg log file', status => 'unable to get Xorg PID' ); } return unless $xorgData || $ddcprobeData; my $video = { CHIPSET => $xorgData->{product} || $ddcprobeData->{product}, MEMORY => $xorgData->{memory} || $ddcprobeData->{memory}, NAME => $xorgData->{name} || $ddcprobeData->{oem}, RESOLUTION => $xorgData->{resolution} || $ddcprobeData->{dtiming}, PCISLOT => $xorgData->{pcislot}, PCIID => $xorgData->{pciid}, }; if ($video->{MEMORY} && $video->{MEMORY} =~ s/kb$//i) { $video->{MEMORY} = int($video->{MEMORY} / 1024); } if ($video->{RESOLUTION}) { $video->{RESOLUTION} =~ s/@.*//; } $inventory->addEntry( section => 'VIDEOS', entry => $video ); } sub _getDdcprobeData { my $handle = getFileHandle(@_); return unless $handle; my $data; while (my $line = <$handle>) { $line =~ s/[[:cntrl:]]//g; $line =~ s/[^[:ascii:]]//g; $data->{$1} = $2 if $line =~ /^(\S+):\s+(.*)/; } close $handle; return $data; } sub _parseXorgFd { my $handle = getFileHandle(@_); return unless $handle; my $data; while (my $line = <$handle>) { if ($line =~ /Modeline\s"(\S+?)"/) { $data->{resolution} = $1 if !$data->{resolution}; } elsif ($line =~ /Integrated Graphics Chipset:\s+(.*)/) { # Intel $data->{name} = $1; } elsif ($line =~ /Virtual screen size determined to be (\d+)\s*x\s*(\d+)/) { # Nvidia $data->{resolution} = "$1x$2"; } elsif ($line =~ /NVIDIA GPU\s*(.*?)\s*at/) { $data->{name} = $1; } elsif ($line =~ /VESA VBE OEM:\s*(.*)/) { $data->{name} = $1; } elsif ($line =~ /VESA VBE OEM Product:\s*(.*)/) { $data->{product} = $1; } elsif ($line =~ /VESA VBE Total Mem: (\d+)\s*(\w+)/i) { $data->{memory} = $1 . $2; } elsif ($line =~ /RADEON\(0\): Chipset: "(.*?)"/i) { # ATI /Radeon $data->{name} = $1; } elsif ($line =~ /Virtual size is (\S+)/i) { # VESA / XFree86 $data->{resolution} = $1; } elsif ($line =~ / PCI: \* \( (?:\d+:)? (\d+) : (\d+) : (\d+) \) \s (\w{4}:\w{4}:\w{4}:\w{4})? /x) { $data->{pcislot} = sprintf("%02d:%02d.%d", $1, $2, $3); $data->{pciid} = $4 if $4; } elsif ($line =~ /NOUVEAU\(0\): Chipset: "(.*)"/) { # Nouveau $data->{product} = $1; } } close $handle; return $data; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Distro/0000755000175000017500000000000013757703277030215 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Distro/OSRelease.pm0000644000175000017500000000230313712210012032336 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Distro::OSRelease; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return -r '/etc/os-release'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $handle = getFileHandle(file => '/etc/os-release'); my ($name, $version, $description); while (my $line = <$handle>) { $name = $1 if $line =~ /^NAME="?([^"]+)"?/; $version = $1 if $line =~ /^VERSION="?([^"]+)"?/; $description = $1 if $line =~ /^PRETTY_NAME="?([^"]+)"?/; } close $handle; $inventory->setHardware({ OSNAME => $description, }); # Handle Debian case where version is not complete like in Ubuntu # by checking /etc/debian_version if (-r '/etc/debian_version') { my $debian_version = getFirstLine(file => '/etc/debian_version'); $version = $debian_version if $debian_version && $debian_version =~ /^\d/; } $inventory->setOperatingSystem({ NAME => $name, VERSION => $version, FULL_NAME => $description }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Linux/Distro/NonLSB.pm0000644000175000017500000001106113712210012031610 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Linux::Distro::NonLSB; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; # This array contains four items for each distribution: # - release file # - distribution name, # - regex to get the version # - template to get the full name my @distributions = ( # vmware-release contains something like "VMware ESX Server 3" or "VMware ESX 4.0 (Kandinsky)" [ '/etc/vmware-release', 'VMWare', '([\d.]+)', '%s' ], [ '/etc/arch-release', 'ArchLinux', '(.*)', 'ArchLinux' ], [ '/etc/debian_version', 'Debian', '(.*)', 'Debian GNU/Linux %s'], # fedora-release contains something like "Fedora release 9 (Sulphur)" [ '/etc/fedora-release', 'Fedora', 'release ([\d.]+)', '%s' ], [ '/etc/gentoo-release', 'Gentoo', '(.*)', 'Gentoo Linux %s' ], # knoppix_version contains something like "3.2 2003-04-15". # Note: several 3.2 releases can be made, with different dates, so we need to keep the date suffix [ '/etc/knoppix_version', 'Knoppix', '(.*)', 'Knoppix GNU/Linux %s' ], # mandriva-release contains something like "Mandriva Linux release 2010.1 (Official) for x86_64" [ '/etc/mandriva-release', 'Mandriva', 'release ([\d.]+)', '%s'], # mandrake-release contains something like "Mandrakelinux release 10.1 (Community) for i586" [ '/etc/mandrake-release', 'Mandrake', 'release ([\d.]+)', '%s'], # oracle-release contains something like "Oracle Linux Server release 6.3" [ '/etc/oracle-release', 'Oracle Linux Server', 'release ([\d.]+)', '%s' ], # centos-release contains something like "CentOS Linux release 6.0 (Final) [ '/etc/centos-release', 'CentOS', 'release ([\d.]+)', '%s' ], # redhat-release contains something like "Red Hat Enterprise Linux Server release 5 (Tikanga)" [ '/etc/redhat-release', 'RedHat', 'release ([\d.]+)', '%s' ], [ '/etc/slackware-version', 'Slackware', 'Slackware (.*)', '%s' ], # SuSE-release contains something like "SUSE Linux Enterprise Server 11 (x86_64)" # Note: it may contain several extra lines [ '/etc/SuSE-release', 'SuSE', '([\d.]+)', '%s' ], # trustix-release contains something like "Trustix Secure Linux release 2.0 (Cloud)" [ '/etc/trustix-release', 'Trustix', 'release ([\d.]+)', '%s' ], # Fallback [ '/etc/issue', 'Unknown Linux distribution', '([\d.]+)' , '%s' ], # Note: Ubuntu is not listed here as it does not have a # ubuntu-{release,version} file, but it should always have the lsb_release # command so it will be handled by the Linux::Distro::LSB module ); our $runMeIfTheseChecksFailed = ["FusionInventory::Agent::Task::Inventory::Linux::Distro::OSRelease"]; sub isEnabled { return !(-r '/etc/os-release'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $distribution = first { -f $_->[0] } @distributions; return unless $distribution; my $data = _getDistroData($distribution); $inventory->setHardware({ OSNAME => $data->{FULL_NAME} }); $inventory->setOperatingSystem($data); } sub _getDistroData { my ($distribution) = @_; my $name = $distribution->[1]; my $regexp = $distribution->[2]; my $template = $distribution->[3]; my $line = getFirstLine(file => $distribution->[0]); # Arch Linux has an empty release file my ($release, $version); if ($line) { $release = sprintf $template, $line; ($version) = $line =~ /$regexp/; } else { $release = $template; } # If the detected OS is RedHat, but the release contains Scientific, then it is Scientific if ($name =~ /RedHat/) { if ($release =~ /Scientific/) { # this is really a scientific linux, we have to change the name $name = "Scientific"; } } my $data = { NAME => $name, VERSION => $version, FULL_NAME => $release }; if ($name eq 'SuSE') { $data->{SERVICE_PACK} = getFirstMatch( file => '/etc/SuSE-release', pattern => qr/^PATCHLEVEL = ([0-9]+)/ ); } return $data; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX.pm0000644000175000017500000000550213712210012026576 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::AIX; our $runAfter = ["FusionInventory::Agent::Task::Inventory::Generic"]; sub isEnabled { return $OSNAME eq 'aix'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # Operating system informations my $kernelName = getFirstLine(command => 'uname -s'); my $version = getFirstLine(command => 'oslevel'); $version =~ s/(.0)*$//; my $OSLevel = getFirstLine(command => 'oslevel -s'); my @OSLevelParts = split(/-/, $OSLevel); $version = "$version TL$OSLevelParts[1]" unless ($OSLevelParts[1] eq "00"); my $ssn; my $vmsystem; my $vmid; my $vmname; my $vmhostserial; my @infos = getLsvpdInfos(logger => $logger); # Get the BIOS version from the System Microcode Image (MI) version, in # 'System Firmware' section of VPD, containing three space separated values: # - the microcode image the system currently runs # - the 'permanent' microcode image # - the 'temporary' microcode image # See http://www.systemscanaix.com/sample_reports/aix61/hardware_configuration.html my $bios_version; my $system = first { $_->{DS} eq 'System Firmware' } @infos; if ($system) { # we only return the currently booted firmware my @firmwares = split(' ', $system->{MI}); $bios_version = $firmwares[0]; } my $vpd = first { $_->{DS} eq 'System VPD' } @infos; my $unameL = getFirstLine(command => 'uname -L'); # LPAR partition can access the serial number of the host computer # If we are such system, the serial number must be stored in the # VMHOSTSERIAL key. if ($unameL && $unameL =~ /^(\d+)\s+(\S+)/) { $vmsystem = "AIX_LPAR"; $vmname = $2; $vmhostserial = $vpd->{SE}; $ssn = "aixlpar-$vmhostserial-$vmid"; } else { $ssn = $vpd->{SE}; } $inventory->setHardware({ OSNAME => "$kernelName $version", OSVERSION => "$OSLevelParts[0]-$OSLevelParts[1]", OSCOMMENTS => "Maintenance Level: $OSLevelParts[1]", VMNAME => $vmname, VMSYSTEM => $vmsystem, VMHOSTSERIAL => $vmhostserial }); $inventory->setOperatingSystem({ NAME => 'AIX', FULL_NAME => "$kernelName $version", VERSION => $version, SERVICE_PACK => "$OSLevelParts[2]-$OSLevelParts[3]", }); $inventory->setBios({ BMANUFACTURER => 'IBM', SMANUFACTURER => 'IBM', SMODEL => $vpd->{TM}, SSN => $ssn, BVERSION => $bios_version, }); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/0000755000175000017500000000000013757703277030676 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/XenCitrixServer.pm0000644000175000017500000000546613712210012034316 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::XenCitrixServer; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; our $runMeIfTheseChecksFailed = ["FusionInventory::Agent::Task::Inventory::Virtualization::Libvirt"]; sub isEnabled { return canRun('xe'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @machines = _getVirtualMachines( command => 'xe vm-list', logger => $logger ); foreach my $machine (@machines) { my $machineextend = _getVirtualMachine( command => "xe vm-param-list uuid=".$machine->{UUID}, logger => $logger, ); # Skip the machine if Dom0 next unless $machineextend; foreach my $key (keys(%{$machineextend})) { $machine->{$key} = $machineextend->{$key}; } $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } sub _getVirtualMachines { my $handle = getFileHandle(@_); return unless $handle; my @machines; while (my $line = <$handle>) { my ($uuid) = $line =~ /uuid *\( *RO\) *: *([-0-9a-f]+) *$/; next unless $uuid; my $machine = { UUID => $uuid, SUBSYSTEM => 'xe', VMTYPE => 'xen', }; push @machines, $machine; } close $handle; return @machines; } sub _getVirtualMachine { my $handle = getFileHandle(@_); return unless $handle; my $machine; while (my $line = <$handle>) { # Lines format: extended-label (...): value(s) my ($extendedlabel, $value) = $line =~ /^\s*(\S+)\s*\(...\)\s*:\s*(.*)$/ ; next unless $extendedlabel; # dom-id 0 is not a VM if ($extendedlabel =~ /dom-id/ && !int($value)) { undef $machine; last; } if ($extendedlabel =~ /name-label/) { $machine->{NAME} = $value; next; } if ($extendedlabel =~ /memory-actual/) { $machine->{MEMORY} = ($value / 1048576); next; } if ($extendedlabel =~ /power-state/) { $machine->{STATUS} = $value eq 'running' ? 'running' : $value eq 'halted' ? 'shutdown' : 'off'; next; } if ($extendedlabel =~ /VCPUs-number/) { $machine->{VCPU} = $value; next; } if ($extendedlabel =~ /name-description/) { next if $value eq ''; $machine->{COMMENT} = $value; next; } } close $handle; return $machine; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Virtuozzo.pm0000644000175000017500000000766413712210012033247 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Virtuozzo; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { # Avoid duplicated entry with libvirt return if canRun('virsh'); return canRun('vzlist'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $vz (@{_parseVzlist(%params)}) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $vz ); } } sub _parseVzlist { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $handle = getFileHandle( command => 'vzlist --all --no-header -o hostname,ctid,cpulimit,status,ostemplate', %params ); return unless $handle; my $vzlist; my $confctid_template = $params{ctid_template} || "/etc/vz/conf/__XXX__.conf"; my $hostID = $inventory->getHardware('UUID') || ''; my %status_list = ( 'stopped' => STATUS_OFF, 'running' => STATUS_RUNNING, 'paused' => STATUS_PAUSED, 'mounted' => STATUS_OFF, 'suspended' => STATUS_PAUSED, 'unknown' => STATUS_OFF, ); while (my $line = <$handle>) { chomp $line; my ($name, $ctid, $cpus, $status, $subsys) = split(/[ \t]+/, $line); my $ctid_conf = $confctid_template; $ctid_conf =~ s/__XXX__/$ctid/; my $memory = getFirstMatch( file => $ctid_conf, pattern => qr/^SLMMEMORYLIMIT="\d+:(\d+)"$/, logger => $logger, ); if ($memory) { $memory = $memory / 1024 / 1024; } else { $memory = getFirstMatch( file => $ctid_conf, pattern => qr/^PRIVVMPAGES="\d+:(\d+)"$/, logger => $logger, ); if ($memory) { $memory = $memory * 4 / 1024; } else { $memory = getFirstMatch( file => $ctid_conf, pattern => qr/^PHYSPAGES="\d+:(\d+\w{0,1})"$/, logger => $logger, ); if ($memory) { $memory =~ /(\d+)(\w{0,1})/; if ($2 eq "M") { $memory=$1; } elsif ($2 eq "G") { $memory=$1*1024; } elsif ($2 eq "K") { $memory=$1/1024; } else { $memory=$1/1024/1024; } } } } # compute specific identifier for the guest, as CTID is # unique only for the local hosts my $uuid = $hostID . '-' . $ctid; $status = $status_list{$status} || STATUS_OFF; my $container = { NAME => $name, VCPU => $cpus, UUID => $uuid, MEMORY => $memory, STATUS => $status, SUBSYSTEM => $subsys, VMTYPE => "Virtuozzo", }; my $mac = _getMACs( status => $status, ctid => $ctid, logger => $logger ); $container->{MAC} = $mac if $mac; push @{$vzlist}, $container; } close $handle; return $vzlist; } sub _getMACs { my (%params) = @_; # Don't try to run a command in a not running container return unless $params{status} && $params{status} eq STATUS_RUNNING; my @ipLines = getAllLines( command => "vzctl exec '$params{ctid}' 'ip -0 a'", %params ); my @macs; foreach my $line (@ipLines) { next unless $line =~ /^\s+link\/ether ($mac_address_pattern)\s/; push @macs, $1; } return join('/', @macs); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Parallels.pm0000644000175000017500000000572613712210012033130 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Parallels; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { my (%params) = @_; return canRun('prlctl'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; if (!$params{scan_homedirs}) { $logger->warning( "'scan-homedirs' configuration parameter disabled, " . "ignoring parallels virtual machines in user directories" ); return; } foreach my $user ( glob("/Users/*") ) { $user =~ s/.*\///; # Just keep the login next if $user =~ /Shared/i; next if $user =~ /^\./i; # skip hidden directory next if $user =~ /\ /; # skip directory containing space next if $user =~ /'/; # skip directory containing quote foreach my $machine (_parsePrlctlA( logger => $logger, command => "su '$user' -c 'prlctl list -a'" )) { my $uuid = $machine->{UUID}; # Avoid security risk. Should never appends $uuid =~ s/[^A-Za-z0-9\.\s_-]//g; ($machine->{MEMORY}, $machine->{VCPU}) = _parsePrlctlI( logger => $logger, command => "su '$user' -c 'prlctl list -i $uuid'" ); $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } } sub _parsePrlctlA { my $handle = getFileHandle(@_); return unless $handle; my %status_list = ( 'running' => STATUS_RUNNING, 'blocked' => STATUS_BLOCKED, 'paused' => STATUS_PAUSED, 'suspended' => STATUS_PAUSED, 'crashed' => STATUS_CRASHED, 'dying' => STATUS_DYING, 'stopped' => STATUS_OFF ); # get headers line first my $line = <$handle>; my @machines; while (my $line = <$handle>) { chomp $line; my @info = split(/\s+/, $line, 4); my $uuid = $info[0]; my $status = $status_list{$info[1]}; my $name = $info[3]; $uuid =~s/{(.*)}/$1/; # Avoid security risk. Should never appends next if $uuid =~ /(;\||&)/; push @machines, { NAME => $name, UUID => $uuid, STATUS => $status, SUBSYSTEM => "Parallels", VMTYPE => "Parallels", }; } close $handle; return @machines; } sub _parsePrlctlI { my $handle = getFileHandle(@_); my ($mem, $cpus); while (my $line = <$handle>) { if ($line =~ m/^\s\smemory\s(.*)Mb/) { $mem = $1; } if ($line =~ m/^\s\scpu\s(\d{1,2})/) { $cpus = $1; } } close $handle; return ($mem, $cpus); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Xen.pm0000644000175000017500000000666313712210012031744 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Xen; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; our $runMeIfTheseChecksFailed = [ "FusionInventory::Agent::Task::Inventory::Virtualization::Libvirt", "FusionInventory::Agent::Task::Inventory::Virtualization::XenCitrixServer" ]; sub isEnabled { return canRun('xm') || canRun('xl'); } sub canRunOK { my ($cmd) = @_; return !system("$cmd >/dev/null 2>&1"); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $isXM = canRunOK('xm list'); my $isXL = canRunOK('xl list'); my $toolstack = $isXM ? 'xm' : $isXL ? 'xl' : undef; my $listParam = $isXM ? '-l' : $isXL ? '-v' : undef; $logger->info("Xen $toolstack toolstack detected"); my $command = "$toolstack list"; foreach my $machine (_getVirtualMachines(command => $command, logger => $logger)) { $machine->{SUBSYSTEM} = $toolstack; my $uuid = _getUUID( command => "$command $listParam $machine->{NAME}", logger => $logger ); $machine->{UUID} = $uuid; $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); $logger->debug("$machine->{NAME}: [$uuid]"); } } sub _getUUID { my (%params) = @_; return getFirstMatch( pattern => qr/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/xi, %params ); } sub _getVirtualMachines { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; # xm status my %status_list = ( 'r' => STATUS_RUNNING, 'b' => STATUS_BLOCKED, 'p' => STATUS_PAUSED, 's' => STATUS_SHUTDOWN, 'c' => STATUS_CRASHED, 'd' => STATUS_DYING ); # drop headers my $line = <$handle>; my @machines; while ($line = <$handle>) { chomp $line; next if $line =~ /^\s*$/; my ($name, $vmid, $memory, $vcpu, $status); my @fields = split(' ', $line); if (@fields == 4) { ($name, $memory, $vcpu) = @fields; $status = STATUS_OFF; } else { if ($line =~ /^(.*\S) \s+ (\d+) \s+ (\d+) \s+ (\d+) \s+ ([a-z-]{5,6}) \s/x) { ($name, $vmid, $memory, $vcpu, $status) = ($1, $2, $3, $4, $5); } else { if ($params{logger}) { # message in log to easily detect matching errors my $message = '_getVirtualMachines(): unrecognized output'; $message .= " for command '" . $params{command} . "'"; $message .= ': ' . $line; $params{logger}->error($message); } next; } $status =~ s/-//g; $status = $status ? $status_list{$status} : STATUS_OFF; next if $vmid == 0; } next if $name eq 'Domain-0'; my $machine = { MEMORY => $memory, NAME => $name, STATUS => $status, SUBSYSTEM => 'xm', VMTYPE => 'xen', VCPU => $vcpu, }; push @machines, $machine; } close $handle; return @machines; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/HyperV.pm0000644000175000017500000000755013712210012032423 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::HyperV; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use UNIVERSAL::require; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { return $OSNAME eq 'MSWin32'; } sub isEnabledForRemote { return $OSNAME eq 'MSWin32'; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; foreach my $machine (_getVirtualMachines()) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } sub _getVirtualMachines { FusionInventory::Agent::Tools::Win32->require(); my @machines; # index memory, cpu and BIOS UUID information my %memory; foreach my $object (FusionInventory::Agent::Tools::Win32::getWMIObjects( moniker => 'winmgmts://./root/virtualization/v2', altmoniker => 'winmgmts://./root/virtualization', class => 'MSVM_MemorySettingData', properties => [ qw/InstanceID VirtualQuantity/ ] )) { my $id = $object->{InstanceID}; next unless $id =~ /^Microsoft:([^\\]+)/; $memory{$1} = $object->{VirtualQuantity}; } my %vcpu; foreach my $object (FusionInventory::Agent::Tools::Win32::getWMIObjects( moniker => 'winmgmts://./root/virtualization/v2', altmoniker => 'winmgmts://./root/virtualization', class => 'MSVM_ProcessorSettingData', properties => [ qw/InstanceID VirtualQuantity/ ] )) { my $id = $object->{InstanceID}; next unless $id =~ /^Microsoft:([^\\]+)/; $vcpu{$1} = $object->{VirtualQuantity}; } my %biosguid; foreach my $object (FusionInventory::Agent::Tools::Win32::getWMIObjects( moniker => 'winmgmts://./root/virtualization/v2', altmoniker => 'winmgmts://./root/virtualization', class => 'MSVM_VirtualSystemSettingData', properties => [ qw/InstanceID BIOSGUID/ ] )) { my $id = $object->{InstanceID}; next unless $object->{BIOSGUID} && $id =~ /^Microsoft:([^\\]+)/; $biosguid{$1} = $object->{BIOSGUID}; $biosguid{$1} =~ tr/{}//d; } foreach my $object (FusionInventory::Agent::Tools::Win32::getWMIObjects( moniker => 'winmgmts://./root/virtualization/v2', altmoniker => 'winmgmts://./root/virtualization', class => 'MSVM_ComputerSystem', properties => [ qw/ElementName EnabledState Name InstallDate/ ] )) { # skip host as if has no InstallDate, # see https://docs.microsoft.com/en-us/windows/desktop/hyperv_v2/msvm-computersystem next unless $object->{InstallDate}; my $status = $object->{EnabledState} == 2 ? STATUS_RUNNING : $object->{EnabledState} == 3 ? STATUS_OFF : $object->{EnabledState} == 32768 ? STATUS_PAUSED : $object->{EnabledState} == 32769 ? STATUS_OFF : $object->{EnabledState} == 32770 ? STATUS_BLOCKED : $object->{EnabledState} == 32771 ? STATUS_BLOCKED : $object->{EnabledState} == 32773 ? STATUS_BLOCKED : $object->{EnabledState} == 32774 ? STATUS_SHUTDOWN : $object->{EnabledState} == 32776 ? STATUS_BLOCKED : $object->{EnabledState} == 32777 ? STATUS_BLOCKED : STATUS_OFF ; my $machine = { SUBSYSTEM => 'MS HyperV', VMTYPE => 'HyperV', STATUS => $status, NAME => $object->{ElementName}, UUID => $biosguid{$object->{Name}}, MEMORY => $memory{$object->{Name}}, VCPU => $vcpu{$object->{Name}}, }; push @machines, $machine; } return @machines; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Qemu.pm0000644000175000017500000000541213750013366032127 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Qemu; # With Qemu 0.10.X, some option will be added to get more and easly information (UUID, memory, ...) use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { # Avoid duplicated entry with libvirt return if canRun('virsh'); return canRun('qemu') || canRun('kvm') || canRun('qemu-kvm'); } sub _parseProcessList { my ($process) = @_; my $values = {}; my @options = split (/ -/, $process->{CMD}); my $cmd = shift @options; if ($cmd =~ m/^(?:\/usr\/(s?)bin\/)?(\S+)/) { $values->{vmtype} = $2 =~ /kvm/ ? "kvm" : "qemu"; } foreach my $option (@options) { if ($option =~ m/^(?:[fhsv]d[a-d]|cdrom) (\S+)/) { $values->{name} = $1 if !$values->{name}; } elsif ($option =~ m/^name (\S+)/) { $values->{name} = $1; } elsif ($option =~ m/^m .*size=(\S+)/) { my ($mem) = split(/,/,$1); $values->{mem} = getCanonicalSize($mem); } elsif ($option =~ m/^m (\S+)/) { $values->{mem} = getCanonicalSize($1); } elsif ($option =~ m/^uuid (\S+)/) { $values->{uuid} = $1; } elsif ($option =~ m/^enable-kvm/) { $values->{vmtype} = "kvm"; } if ($option =~ /smbios/) { if ($option =~ m/smbios.*uuid=([a-zA-Z0-9-]+)/) { $values->{uuid} = $1; } if ($option =~ m/smbios.*serial=([a-zA-Z0-9-]+)/) { $values->{serial} = $1; } } } if (defined($values->{mem}) && $values->{mem} =~ /^0+$/) { # Default value $values->{mem} = 128; } return $values; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $process (getProcesses(logger => $logger)) { # match only if an qemu instance next if $process->{CMD} =~ /^\[/; next if $process->{CMD} !~ /(qemu|kvm|qemu-kvm|qemu-system\S+) .*\S/x; my $values = _parseProcessList($process); next unless $values; $inventory->addEntry( section => 'VIRTUALMACHINES', entry => { NAME => $values->{name}, UUID => $values->{uuid}, VCPU => 1, MEMORY => $values->{mem}, STATUS => STATUS_RUNNING, SUBSYSTEM => $values->{vmtype}, VMTYPE => $values->{vmtype}, SERIAL => $values->{serial}, } ); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/VmWareESX.pm0000644000175000017500000000362413712210012032765 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::VmWareESX; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('vmware-cmd'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $machine (_getMachines( command => 'vmware-cmd -l', logger => $logger )) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } sub _getMachines { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my @machines; while (my $line = <$handle>) { chomp $line; next unless -f $line; my %info = _getMachineInfo(file => $line, logger => $params{logger}); my $machine = { MEMORY => $info{'memsize'}, NAME => $info{'displayName'}, UUID => $info{'uuid.bios'}, SUBSYSTEM => "VmWareESX", VMTYPE => "VmWare", }; $machine->{STATUS} = getFirstMatch( command => "vmware-cmd '$line' getstate", logger => $params{logger}, pattern => qr/= (\w+)/ ) || 'unknown'; # correct uuid format $machine->{UUID} =~ s/\s+//g; # delete space $machine->{UUID} =~ s/^(........)(....)(....)-(....)(.+)$/$1-$2-$3-$4-$5/; # add dashs push @machines, $machine; } close $handle; return @machines; } sub _getMachineInfo { my $handle = getFileHandle(@_); return unless $handle; my %info; while (my $line = <$handle>) { next unless $line = /^(\S+)\s*=\s*(\S+.*)/; my $key = $1; my $value = $2; $value =~ s/(^"|"$)//g; $info{$key} = $value; } close $handle; return %info; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Vserver.pm0000644000175000017500000000327513712210012032642 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Vserver; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { return canRun('vserver'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $machine (_getMachines( command => 'vserver-info', logger => $logger )) { $inventory->addEntry(section => 'VIRTUALMACHINES', entry => $machine); } } sub _getMachines { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my $utilVserver; my $cfgDir; while (my $line = <$handle>) { $cfgDir = $1 if $line =~ /^\s+cfg-Directory:\s+(.*)$/; $utilVserver = $1 if $line =~ /^\s+util-vserver:\s+(.*)$/; } close $handle; return unless -d $cfgDir; $handle = getDirectoryHandle(directory => $cfgDir, logger => $params{logger}); return unless $handle; my @machines; while (my $name = readdir($handle)) { next if $name =~ /^\./; next unless $name =~ /\S/; my $line = getFirstLine(command => "vserver $name status"); my $status = $line =~ /is stopped/ ? STATUS_OFF : $line =~ /is running/ ? STATUS_RUNNING : undef ; my $machine = { NAME => $name, STATUS => $status, SUBSYSTEM => $utilVserver, VMTYPE => "vserver", }; push @machines, $machine; } close $handle; return @machines; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Jails.pm0000644000175000017500000000227613712210012032250 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Jails; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { return canRun('jls'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $machine (_getVirtualMachines(logger => $logger)) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } sub _getVirtualMachines { my (%params) = ( command => 'jls -n', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @machines; while (my $line = <$handle>) { my $info; foreach my $item (split(' ', $line)) { next unless $item =~ /(\S+)=(\S+)/; $info->{$1} = $2; } my $machine = { VMTYPE => 'jail', NAME => $info->{'host.hostname'}, STATUS => STATUS_RUNNING }; push @machines, $machine; } close $handle; return @machines; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxd.pm0000644000175000017500000000643613712210012031737 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Lxd; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { return canRun('lxd') && canRun('lxc'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @machines = _getVirtualMachines( command => 'lxc list', logger => $logger ); foreach my $machine (@machines) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } sub _getVirtualMachineState { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my %info; while (my $line = <$handle>) { chomp $line; next unless $line =~ m/^(\S+):\s*(\S+)$/; $info{lc($1)} = $2; } close $handle; my $state; $state->{VMID} = $info{pid}; $state->{STATUS} = $info{status} eq 'Running' ? STATUS_RUNNING : $info{status} eq 'FROZEN' ? STATUS_PAUSED : $info{status} eq 'Stopped' ? STATUS_OFF : $info{status}; return $state; } sub _getVirtualMachineConfig { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my $config = { VCPU => 0 }; while (my $line = <$handle>) { chomp $line; next if $line =~ /^#.*/; next unless $line =~ m/^\s*(\S+)\s*:\s*(\S+)\s*$/; my $key = $1; my $val = $2; if ($key eq 'volatile.eth0.hwaddr') { $config->{MAC} = $val; } if ($key eq 'limits.memory') { $config->{MEMORY} = $val; } if ($key eq 'lxc.cgroup.cpuset.cpus') { ###eg: lxc.cgroup.cpuset.cpus = 0,3-5,7,2,1 foreach my $cpu ( split( /,/, $val ) ) { if ( $cpu =~ /(\d+)-(\d+)/ ){ my @tmp = ($1..$2); $config->{VCPU} += $#tmp + 1; } else { $config->{VCPU} += 1; } } } } close $handle; return $config; } sub _getVirtualMachines { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my @machines; while(my $line = <$handle>) { chomp $line; # Filter header next if ($line =~ /NAME.*STATE/); my ($name) = $line =~ /^\|+\s*([^| ]+)/; next unless $name; my $state = _getVirtualMachineState( command => "lxc info $name", logger => $params{logger} ); my $config = _getVirtualMachineConfig( command => "lxc config show $name", logger => $params{logger} ); my $machineid = getFirstLine( command => "lxc file pull $name/etc/machine-id -", logger => $params{logger} ); push @machines, { NAME => $name, VMTYPE => 'LXD', STATUS => $state->{STATUS}, VCPU => $config->{VCPU}, MEMORY => $config->{MEMORY}, UUID => getVirtualUUID($machineid, $name), }; } close $handle; return @machines; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/VmWareDesktop.pm0000644000175000017500000000364113712210012033736 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::VmWareDesktop; # # initial version: Walid Nouh # use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { return canRun('/Library/Application Support/VMware Fusion/vmrun') || canRun('vmrun'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $command = canRun('vmrun') ? 'vmrun list' : "'/Library/Application Support/VMware Fusion/vmrun' list"; foreach my $machine (_getMachines( command => $command, logger => $logger )) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } sub _getMachines { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; # skip first line my $line = <$handle>; my @machines; while (my $line = <$handle>) { chomp $line; next unless -f $line; my %info = _getMachineInfo(file => $line, logger => $params{logger}); my $machine = { NAME => $info{'displayName'}, VCPU => 1, UUID => $info{'uuid.bios'}, MEMORY => $info{'memsize'}, STATUS => STATUS_RUNNING, SUBSYSTEM => "VmWare Fusion", VMTYPE => "VmWare", }; push @machines, $machine; } close $handle; return @machines; } sub _getMachineInfo { my $handle = getFileHandle(@_); return unless $handle; my %info; while (my $line = <$handle>) { next unless $line =~ /^(\S+)\s*=\s*(\S+.*)/; my $key = $1; my $value = $2; $value =~ s/(^"|"$)//g; $info{$key} = $value; } close $handle; return %info; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Docker.pm0000644000175000017500000000426113712210012032411 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Docker; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use JSON::PP; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; # wanted info fields for each container my @wantedInfos = qw/ID Image Ports Names/; # formatting separator my $separator = '#=#=#'; sub isEnabled { return canRun('docker'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # formatting with a Go template (required by docker ps command) my @wanted = map { '{{.' . $_ . '}}' } @wantedInfos; my $template = join $separator, @wanted; foreach my $container (_getContainers( logger => $logger, command => 'docker ps -a --format "' . $template . '"' )) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $container ); } } sub _getContainers { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my @containers; while (my $line = <$handle>) { chomp $line; my @info = split $separator, $line; next unless $#info == $#wantedInfos; my $status = ''; if ($params{command}) { $status = _getStatus( command => 'docker inspect '.$info[0], ); } my $container = { VMTYPE => 'docker', UUID => $info[0], IMAGE => $info[1], NAME => $info[3], STATUS => $status }; push @containers, $container; } close $handle; return @containers; } sub _getStatus { my (%params) = @_; my $lines = getAllLines(%params); my $status = ''; eval { my $coder = JSON::PP->new; my $containerData = $coder->decode($lines); $status = ((ref $containerData eq 'ARRAY' && $containerData->[0]->{State}->{Running}) || (ref $containerData eq 'HASH' && $containerData->{State}->{Running})) ? STATUS_RUNNING : STATUS_OFF; }; return $status; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/VirtualBox.pm0000644000175000017500000000751213712210012033303 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::VirtualBox; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use User::pwent; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { my (%params) = @_; return unless canRun('VBoxManage'); my ($major, $minor) = getFirstMatch( command => 'VBoxManage --version', pattern => qr/^(\d)\.(\d)/ ); return compareVersion($major, $minor, 2, 1); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $command = "VBoxManage -nologo list --long vms"; foreach my $machine (_parseVBoxManage( logger => $logger, command => $command )) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } if (!$params{scan_homedirs}) { $logger->info( "'scan-homedirs' configuration parameters disabled, " . "ignoring virtualbox virtual machines in user directories" ); return; } if ($OSNAME eq 'MSWin32') { $logger->info( "scanning of virtualbox virtual machines in user directories not supported under win32" ); return; } my @users = (); my $user_vbox_folder = $OSNAME eq 'darwin' ? "Library/VirtualBox" : ".config/VirtualBox" ; # Prepare to lookup only for users using VirtualBox while (my $user = getpwent()) { push @users, $user->name() if -d $user->dir() . "/$user_vbox_folder" ; } foreach my $user (@users) { my $command = "su '$user' -c 'VBoxManage -nologo list --long vms'"; foreach my $machine (_parseVBoxManage( logger => $logger, command => $command )) { $machine->{OWNER} = $user; $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } } sub _parseVBoxManage { my $handle = getFileHandle(@_); return unless $handle; my (@machines, $machine, $index); my %status_list = ( 'powered off' => STATUS_OFF, 'saved' => STATUS_OFF, 'teleported' => STATUS_OFF, 'aborted' => STATUS_CRASHED, 'stuck' => STATUS_BLOCKED, 'teleporting' => STATUS_PAUSED, 'live snapshotting' => STATUS_RUNNING, 'starting' => STATUS_RUNNING, 'stopping' => STATUS_DYING, 'saving' => STATUS_DYING, 'restoring' => STATUS_RUNNING, 'running' => STATUS_RUNNING, 'paused' => STATUS_PAUSED ); while (my $line = <$handle>) { chomp $line; if ($line =~ m/^Name:\s+(.*)$/) { # this is a little tricky, because USB devices also have a 'name' # field, so let's use the 'index' field to disambiguate if (defined $index) { $index = undef; next; } push @machines, $machine if $machine; $machine = { NAME => $1, VCPU => 1, SUBSYSTEM => 'Oracle VM VirtualBox', VMTYPE => 'VirtualBox' }; } elsif ($line =~ m/^UUID:\s+(.+)/) { $machine->{UUID} = $1; } elsif ($line =~ m/^Memory size:\s+(.+)/ ) { $machine->{MEMORY} = $1; } elsif ($line =~ m/^State:\s+(.+) \(/) { $machine->{STATUS} = $status_list{$1}; } elsif ($line =~ m/^Index:\s+(\d+)$/) { $index = $1; } } close $handle; # push last remaining machine push @machines, $machine if $machine; return @machines; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Vmsystem.pm0000644000175000017500000002016413750013366033050 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Vmsystem; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use UNIVERSAL::require; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; my @vmware_patterns = ( 'Hypervisor detected: VMware', 'VMware vmxnet3? virtual NIC driver', 'Vendor: VMware\s+Model: Virtual disk', 'Vendor: VMware,\s+Model: VMware Virtual ', ': VMware Virtual IDE CDROM Drive' ); my $vmware_pattern = _assemblePatterns(@vmware_patterns); my @qemu_patterns = ( ' QEMUAPIC ', 'QEMU Virtual CPU', ': QEMU HARDDISK,', ': QEMU CD-ROM,', ': QEMU Standard PC', 'Hypervisor detected: KVM', 'Booting paravirtualized kernel on KVM' ); my $qemu_pattern = _assemblePatterns(@qemu_patterns); my @virtual_machine_patterns = ( ': Virtual HD,', ': Virtual CD,' ); my $virtual_machine_pattern = _assemblePatterns(@virtual_machine_patterns); my @virtualbox_patterns = ( ' VBOXBIOS ', ': VBOX HARDDISK,', ': VBOX CD-ROM,', ); my $virtualbox_pattern = _assemblePatterns(@virtualbox_patterns); my @xen_patterns = ( 'Hypervisor signature: xen', 'Xen virtual console successfully installed', 'Xen reported:', 'Xen: \d+ - \d+', 'xen-vbd: registered block device', 'ACPI: [A-Z]{4} \(v\d+\s+Xen ', ); my $xen_pattern = _assemblePatterns(@xen_patterns); my %module_patterns = ( '^vmxnet\s' => 'VMware', '^xen_\w+front\s' => 'Xen', ); sub isEnabled { return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $type = _getType($inventory->getSection('BIOS'), $logger); # for consistency with HVM domU if ($type eq 'Xen' && !$inventory->getBios('SMANUFACTURER')) { $inventory->setBios({ SMANUFACTURER => 'Xen', SMODEL => 'PVM domU' }); } # compute a compound identifier, as Virtuozzo uses the same identifier # for the host and for the guests if ($type eq 'Virtuozzo') { my $hostID = $inventory->getHardware('UUID') || ''; my $guestID = getFirstMatch( file => '/proc/self/status', pattern => qr/^envID:\s*(\d+)/ ) || ''; $inventory->setHardware({ UUID => $hostID . '-' . $guestID }); } elsif ($type eq 'Docker') { # In docker, dmidecode can be run and so UUID & SSN must be overided my $containerid = getFirstMatch( file => '/proc/1/cgroup', pattern => qr|/docker/([0-9a-f]{12})|, logger => $params{logger} ); $inventory->setHardware({ UUID => $containerid || '' }); $inventory->setBios({ SSN => '' }); } elsif (($type eq 'lxc' || ($type ne 'Physical' && !$inventory->getHardware('UUID'))) && -e '/etc/machine-id') { # Set UUID from /etc/machine-id & /etc/hostname for container like lxc my $machineid = getFirstLine( file => '/etc/machine-id', logger => $params{logger} ); my $hostname = getFirstLine( file => '/etc/hostname', logger => $params{logger} ); if ($machineid && $hostname) { $inventory->setHardware({ UUID => getVirtualUUID($machineid, $hostname) }); } } $inventory->setHardware({ VMSYSTEM => $type, }); } sub _getType { my ($bios, $logger) = @_; if ($bios->{SMANUFACTURER}) { return 'QEMU' if $bios->{SMANUFACTURER} =~ /QEMU/; return 'Hyper-V' if $bios->{SMANUFACTURER} =~ /Microsoft/ && $bios->{SMODEL} && $bios->{SMODEL} =~ /Virtual/; return 'VMware' if $bios->{SMANUFACTURER} =~ /VMware/; } if ($bios->{BMANUFACTURER}) { return 'QEMU' if $bios->{BMANUFACTURER} =~ /(QEMU|Bochs)/; return 'VirtualBox' if $bios->{BMANUFACTURER} =~ /(VirtualBox|innotek)/; return 'Xen' if $bios->{BMANUFACTURER} =~ /^Xen/; } if ($bios->{SMODEL}) { return 'VMware' if $bios->{SMODEL} =~ /VMware/; return 'Virtual Machine' if $bios->{SMODEL} =~ /Virtual Machine/; return 'QEMU' if $bios->{SMODEL} =~ /KVM/; } if ($bios->{BVERSION}) { return 'VirtualBox' if $bios->{BVERSION} =~ /VirtualBox/; } # Docker if (-f '/.dockerinit' || -f '/.dockerenv') { return 'Docker'; } # Solaris zones if (FusionInventory::Agent::Tools::Solaris->require()) { if (canRun('/usr/sbin/zoneadm')) { my $zone = FusionInventory::Agent::Tools::Solaris::getZone(); return 'SolarisZone' if $zone ne 'global'; } } # Xen PV host if ( -d '/proc/xen' || getFirstMatch( file => '/sys/devices/system/clocksource/clocksource0/available_clocksource', pattern => qr/xen/ ) ) { if (getFirstMatch( file => '/proc/xen/capabilities', pattern => qr/control_d/ )) { # dom0 host return 'Physical'; } else { # domU PV host return 'Xen'; } } my $result; if (canRun('/sbin/sysctl')) { my $handle = getFileHandle( command => '/sbin/sysctl -n security.jail.jailed', logger => $logger ); my $line = <$handle>; close $handle; return 'BSDJail' if $line && $line == 1; } # loaded modules if (-f '/proc/modules') { my $handle = getFileHandle( file => '/proc/modules', logger => $logger ); while (my $line = <$handle>) { foreach my $pattern (keys %module_patterns) { next unless $line =~ /$pattern/; $result = $module_patterns{$pattern}; last; } } close $handle; } return $result if $result; # dmesg # dmesg can be empty or near empty on some systems (notably on Debian 8) my $handle; if (-r '/var/log/dmesg' && -s '/var/log/dmesg' > 40) { $handle = getFileHandle(file => '/var/log/dmesg', logger => $logger); } elsif (-x '/bin/dmesg') { $handle = getFileHandle(command => '/bin/dmesg', logger => $logger); } elsif (-x '/sbin/dmesg') { # On OpenBSD, dmesg is in sbin # http://forge.fusioninventory.org/issues/402 $handle = getFileHandle(command => '/sbin/dmesg', logger => $logger); } if ($handle) { $result = _matchPatterns($handle); close $handle; return $result if $result; } # scsi if (-f '/proc/scsi/scsi') { my $handle = getFileHandle( file => '/proc/scsi/scsi', logger => $logger ); if ($handle) { $result = _matchPatterns($handle); close $handle; return $result if $result; } } # systemd based container like lxc my $init_env = slurp('/proc/1/environ'); if ($init_env) { $init_env =~ s/\0/\n/g; my $container_type = getFirstMatch( string => $init_env, pattern => qr/^container=(\S+)/, logger => $logger ); return $container_type if $container_type; } # OpenVZ if (-f '/proc/self/status') { my @selfstatus = getAllLines( file => '/proc/self/status', logger => $logger ); foreach my $line (@selfstatus) { my ($key, $value) = split(/:/, $line); $result = "Virtuozzo" if $key eq 'envID' && $value > 0; } } return $result if $result; return 'Physical'; } sub _assemblePatterns { my (@patterns) = @_; my $pattern = '(?:' . join('|', @patterns) . ')'; return qr/$pattern/; } sub _matchPatterns { my ($handle) = @_; while (my $line = <$handle>) { return 'VMware' if $line =~ $vmware_pattern; return 'QEMU' if $line =~ $qemu_pattern; return 'Virtual Machine' if $line =~ $virtual_machine_pattern; return 'VirtualBox' if $line =~ $virtualbox_pattern; return 'Xen' if $line =~ $xen_pattern; } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/SolarisZones.pm0000644000175000017500000000374113712210012033637 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::SolarisZones; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Solaris; sub isEnabled { return canRun('zoneadm') && getZone() eq 'global' && _check_solaris_valid_release(); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my @zones = getAllLines(command => '/usr/sbin/zoneadm list -p', logger => $logger); foreach my $zone (@zones) { my ($zoneid, $zonename, $zonestatus, undef, $uuid) = split(/:/, $zone); next if $zonename eq 'global'; # Memory considerations depends on rcapd or project definitions # Little hack, I go directly in /etc/zones reading mcap physcap for each zone. my $zonefile = "/etc/zones/$zonename.xml"; my $line = getFirstMatch( file => $zonefile, pattern => qr/(.*mcap.*)/ ); my $memory; if ($line) { my $memcap = $line; $memcap =~ s/[^\d]+//g; $memory = $memcap / 1024 / 1024; } my $vcpu = getFirstLine(command => '/usr/sbin/psrinfo -p'); $inventory->addEntry( section => 'VIRTUALMACHINES', entry => { MEMORY => $memory, NAME => $zonename, UUID => $uuid, STATUS => $zonestatus, SUBSYSTEM => "Solaris Zones", VMTYPE => "Solaris Zones", VCPU => $vcpu, } ); } } # check if Solaris 10 release is higher than 08/07 sub _check_solaris_valid_release{ my $info = getReleaseInfo(); return $info->{version} > 10 || $info->{version} == 10 && $info->{subversion} && substr($info->{subversion}, 1) >= 4; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm0000644000175000017500000001322713712210012031732 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Lxc; # Authors: Egor Shornikov , Egor Morozov # License: GPLv2+ use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Linux; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { return canRun('lxc-ls'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my @machines = _getVirtualMachines( logger => $params{logger} ); foreach my $machine (@machines) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } sub _getVirtualMachineState { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my $state = STATUS_OFF; while (my $line = <$handle>) { chomp $line; if ($line =~ m/^State:\s*(\S+)$/i) { $state = $1 eq 'RUNNING' ? STATUS_RUNNING : $1 eq 'FROZEN' ? STATUS_PAUSED : STATUS_OFF; last; } } close $handle; return $state; } sub _getVirtualMachine { my (%params) = @_; my $name = $params{name}; my $container = { NAME => $name, VMTYPE => 'lxc', VCPU => 0, STATUS => _getVirtualMachineState( command => $params{test_cmdstate} || "lxc-info -n '$name' -s", logger => $params{logger} ) }; my $command = "lxc-info -n '$name' -c lxc.cgroup.memory.limit_in_bytes -c lxc.cgroup.cpuset.cpus"; if ($params{version} < 2.1) { # Before 2.1, we need to find MAC as lxc.network.hwaddr in config $command .= "; grep lxc.network.hwaddr $params{config}"; } else { $command .= " -c lxc.net.0.hwaddr"; } my $handle = getFileHandle( command => $params{test_cmdinfo} || $command, logger => $params{logger} ); return unless $handle; while (my $line = <$handle>) { chomp $line; next if $line =~ /^#.*/; next unless $line =~ m/^\s*(\S+)\s*=\s*(\S+)\s*$/; my $key = $1; my $val = $2; if ($key eq 'lxc.network.hwaddr' || $key eq 'lxc.net.0.hwaddr') { $container->{MAC} = lc($val) if $val =~ $mac_address_pattern; } if ($key eq 'lxc.cgroup.memory.limit_in_bytes') { $container->{MEMORY} = $val; } if ($key eq 'lxc.cgroup.cpuset.cpus') { ###eg: lxc.cgroup.cpuset.cpus = 0,3-5,7,2,1 foreach my $cpu ( split( /,/, $val ) ){ if ( $cpu =~ /(\d+)-(\d+)/ ){ $container->{VCPU} += $2 - $1 + 1; } else { $container->{VCPU} += 1; } } } } close $handle; return $container; } sub _getVirtualMachines { my (%params) = @_; my $version = getFirstMatch( command => "lxc-ls --version", pattern => qr/^(\d+\.\d+)/, %params ); my $lxcpath = getFirstLine( command => "lxc-config lxc.lxcpath", logger => $params{logger} ) || "/var/lib/lxc"; my $handle = getFileHandle( command => 'lxc-ls -1', logger => $params{logger} ); return unless $handle; my $rootfs_conf = $version < 2.1 ? "lxc.rootfs" : "lxc.rootfs.path"; my $max_cpus = 0; my @machines; while(my $name = <$handle>) { # lxc-ls -1 shows one entry by line chomp $name; $name =~ s/\s+$//; # trim trailing whitespace next unless length($name); # skip if empty as name can contain space my $container = _getVirtualMachine( name => $name, version => $version, config => "$lxcpath/$name/config", logger => $params{logger} ); # Set VCPU to max host cpus count if not set in conf if (!$container->{VCPU}) { $max_cpus = getCPUsFromProc(logger => $params{logger}) unless $max_cpus; $container->{VCPU} = $max_cpus; } my ($machineid, $hostname); if ( $container->{STATUS} && $container->{STATUS} eq STATUS_RUNNING ) { $machineid = getFirstLine( command => "lxc-attach -n '$name' -- /bin/cat /etc/machine-id", logger => $params{logger} ); $hostname = getFirstLine( command => "lxc-attach -n '$name' -- /bin/cat /etc/hostname", logger => $params{logger} ); } else { # Try to directly access container filesystem for not powered container # Works for standard fs or overlay rootfs my $rootfs = getFirstMatch( command => "/usr/bin/lxc-info -n '$name' -c $rootfs_conf", pattern => qr/^lxc\.rootfs.*\s*=\s*(.*)$/, logger => $params{logger} ); $rootfs =~ s/.*:// if $rootfs =~ /:/; if (-e "$rootfs/etc/machine-id" && -e "$rootfs/etc/hostname") { $machineid = getFirstLine( file => "$rootfs/etc/machine-id", logger => $params{logger} ); $hostname = getFirstLine( file => "$rootfs/etc/hostname", logger => $params{logger} ); } } my $uuid = getVirtualUUID($machineid, $hostname); $container->{UUID} = $uuid if $uuid; push @machines, $container; } close $handle; return @machines; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Libvirt.pm0000644000175000017500000000576313712210012032625 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Libvirt; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); use XML::TreePP; use FusionInventory::Agent::Tools; sub isEnabled { return canRun('virsh'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $machine (_getMachines(logger => $logger)) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } foreach my $machine (_getMachines(logger => $logger, uri => 'lxc:///')) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } sub _getMachines { my (%params) = @_; my $uri_param = $params{'uri'} ? "-c ".$params{'uri'} : ""; my @machines = _parseList( command => "virsh $uri_param --readonly list --all", logger => $params{logger} ); foreach my $machine (@machines) { my %infos = _parseDumpxml( command => "virsh $uri_param --readonly dumpxml $machine->{NAME}", logger => $params{logger} ); $machine->{MEMORY} = $infos{memory}; $machine->{UUID} = $infos{uuid}; $machine->{SUBSYSTEM} = $infos{vmtype}; $machine->{VCPU} = $infos{vcpu}; } return @machines; } sub _parseList { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my @machines; while (my $line = <$handle>) { next if $line =~ /^\s*Id/; next if $line =~ /^-{5}/; next unless $line =~ /^\s*(\d+|)(\-|)\s+(\S+)\s+(\S.+)/; my $name = $3; # ignore Xen Dom0 next if $name eq 'Domain-0'; my $status = $4; $status =~ s/^shut off/off/; my $machine = { NAME => $name, STATUS => $status, VMTYPE => "libvirt", }; push @machines, $machine; } close $handle; return @machines; } sub _getKeyText { my ($key) = @_; if (ref($key) eq 'HASH') { return $key->{'#text'}; } else { return $key; } } sub _parseDumpxml { my (%params) = @_; my $xml = getAllLines(%params); if (!$xml) { $params{logger}->error("No virsh xmldump output"); return; } my $data; eval { $data = XML::TreePP->new()->parse($xml); }; if ($EVAL_ERROR) { $params{logger}->error("Failed to parse XML output"); return; } my $vcpu = _getKeyText($data->{domain}{vcpu}); my $uuid = _getKeyText($data->{domain}{uuid}); my $vmtype = $data->{domain}{'-type'}; my $memory; my $currentMemory = _getKeyText($data->{domain}{currentMemory}); if ($currentMemory =~ /(\d+)\d{3}$/) { $memory = $1; } return ( vcpu => $vcpu, uuid => $uuid, vmtype => $vmtype, memory => $memory, ); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Virtualization/Hpvm.pm0000644000175000017500000000311413712210012032110 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Virtualization::Hpvm; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use XML::TreePP; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; sub isEnabled { return canRun('hpvmstatus'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $machine (_getMachines( command => 'hpvmstatus -X', logger => $logger )) { $inventory->addEntry( section => 'VIRTUALMACHINES', entry => $machine ); } } sub _getMachines { my $xml = getAllLines(@_); return unless $xml; my $tpp = XML::TreePP->new(); my $data = $tpp->parse($xml); my $mvs = $data->{pman}->{virtual_machine}; my %units = ( 'MB' => 1, 'GB' => 1024, ); my %status = ( 'On' => STATUS_RUNNING, 'Off' => STATUS_OFF, 'Invalid' => STATUS_CRASHED, ); my @machines; foreach my $name (keys %$mvs) { my $info = $mvs->{$name}; my $machine = { MEMORY => $info->{memory}->{total}->{content} * $units{$info->{memory}->{total}->{unit}}, NAME => $name, UUID => $info->{uuid}, STATUS => $status{$info->{vm_state}}, SUBSYSTEM => "HPVM", VMTYPE => "HPVM", VCPU => $info->{vcpu_number}, }; push @machines, $machine; } return @machines; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/0000755000175000017500000000000013757703277026273 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Slots.pm0000644000175000017500000000237213712210012027704 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Slots; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::AIX; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{slot}; return canRun('lsdev'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # index VPD infos by AX field my %infos = map { $_->{AX} => $_ } grep { $_->{AX} } getLsvpdInfos(logger => $logger); foreach my $slot (_getSlots( command => 'lsdev -Cc bus -F "name:description"', logger => $logger )) { $slot->{DESCRIPTION} = $infos{$slot->{NAME}}->{YL} if $infos{$slot->{NAME}}; $inventory->addEntry( section => 'SLOTS', entry => $slot ); } } sub _getSlots { my $handle = getFileHandle(@_); return unless $handle; my @slots; while (my $line = <$handle>) { next unless $line =~ /^(.+):(.+)/; push @slots, { NAME => $1, DESIGNATION => $2, }; } close $handle; return @slots; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Softwares.pm0000644000175000017500000000236313712210012030555 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Softwares; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return !$params{no_category}->{software} && canRun('lslpp'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $softwares = _getSoftwaresList( command => 'lslpp -c -l', logger => $logger ); return unless $softwares; foreach my $software (@$softwares) { $inventory->addEntry( section => 'SOFTWARES', entry => $software ); } } sub _getSoftwaresList { my $handle = getFileHandle(@_); next unless $handle; # skip headers my $line = <$handle>; my @softwares; while (my $line = <$handle>) { my @entry = split(/:/, $line); next if $entry[1] =~ /^device/; $entry[6] =~ s/\s+$//; push @softwares, { COMMENTS => $entry[6], FOLDER => $entry[0], NAME => $entry[1], VERSION => $entry[2], }; } close $handle; return \@softwares; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Sounds.pm0000644000175000017500000000173513712210012030055 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Sounds; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::AIX; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{sound}; return canRun('lsdev'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $sound (_getSounds( logger => $logger )) { $inventory->addEntry( section => 'SOUNDS', entry => $sound ); } } sub _getSounds { my @adapters = getAdaptersFromLsdev(@_); my @sounds; foreach my $adapter (@adapters) { next unless $adapter->{DESCRIPTION} =~ /audio/i; push @sounds, { NAME => $adapter->{NAME}, DESCRIPTION => $adapter->{DESCRIPTION} }; } return @sounds; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Storages.pm0000644000175000017500000001316113712210012030365 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Storages; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::AIX; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{storage}; return canRun('lsdev') && canRun('lsattr'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # index VPD infos by AX field my $infos = _getIndexedLsvpdInfos(logger => $logger); foreach my $disk (_getDisks(logger => $logger, subclass => 'scsi', infos => $infos)) { $disk->{DISKSIZE} = _getCapacity($disk->{NAME}, $params{logger}); $disk->{SERIAL} = getFirstMatch( command => "lscfg -p -v -s -l $disk->{NAME}", logger => $params{logger}, pattern => qr/Serial Number\.*(.*)/ ); $inventory->addEntry(section => 'STORAGES', entry => $disk); } foreach my $disk (_getDisks(logger => $logger, subclass => 'fcp', infos => $infos)) { $inventory->addEntry(section => 'STORAGES', entry => $disk); } foreach my $disk (_getDisks(logger => $logger, subclass => 'fdar', infos => $infos)) { $inventory->addEntry(section => 'STORAGES', entry => $disk); } foreach my $disk (_getDisks(logger => $logger, subclass => 'sas', infos => $infos)) { $inventory->addEntry(section => 'STORAGES', entry => $disk); } foreach my $disk (_getDisks(logger => $logger, subclass => 'vscsi', infos => $infos)) { $disk->{DISKSIZE} = _getVirtualCapacity( name => $disk->{NAME}, logger => $params{logger} ); $disk->{MANUFACTURER} = "VIO Disk"; $disk->{MODEL} = "Virtual Disk"; $inventory->addEntry(section => 'STORAGES', entry => $disk); } foreach my $cdrom (_getCdroms(logger => $logger, infos => $infos)) { $inventory->addEntry(section => 'STORAGES', entry => $cdrom); } foreach my $tape (_getTapes(logger => $logger, infos => $infos)) { $inventory->addEntry(section => 'STORAGES', entry => $tape); } foreach my $floppy (_getFloppies(logger => $logger, infos => $infos)) { $inventory->addEntry(section => 'STORAGES', entry => $floppy); } } sub _getIndexedLsvpdInfos { my %infos = map { $_->{AX} => $_ } grep { $_->{AX} } getLsvpdInfos(@_); return \%infos; } sub _getDisks { my (%params) = @_; my $command = $params{subclass} ? "lsdev -Cc disk -s $params{subclass} -F 'name:description'" : undef; my @disks = _parseLsdev( command => $command, pattern => qr/^(.+):(.+)/, @_ ); foreach my $disk (@disks) { $disk->{TYPE} = 'disk'; my $info = $params{infos}->{$disk->{NAME}}; next unless $info; $disk->{MANUFACTURER} = _getManufacturer($info); $disk->{MODEL} = _getModel($info); } return @disks; } sub _getCdroms { my (%params) = @_; my @cdroms = _parseLsdev( command => "lsdev -Cc cdrom -s scsi -F 'name:description:status'", pattern => qr/^(.+):(.+):.+Available.+/, @_ ); foreach my $cdrom (@cdroms) { $cdrom->{TYPE} = 'cd'; $cdrom->{DISKSIZE} = _getCapacity($cdrom->{NAME}, $params{logger}); my $info = $params{infos}->{$cdrom->{NAME}}; next unless $info; $cdrom->{MANUFACTURER} = _getManufacturer($info); $cdrom->{MODEL} = _getModel($info); } return @cdroms; } sub _getTapes { my (%params) = @_; my @tapes = _parseLsdev( command => "lsdev -Cc tape -s scsi -F 'name:description:status'", pattern => qr/^(.+):(.+):.+Available.+/, @_ ); foreach my $tape (@tapes) { $tape->{TYPE} = 'tape'; $tape->{DISKSIZE} = _getCapacity($tape->{NAME}, $params{logger}); my $info = $params{infos}->{$tape->{NAME}}; next unless $info; $tape->{MANUFACTURER} = _getManufacturer($info); $tape->{MODEL} = _getModel($info); } return @tapes; } sub _getFloppies { my (%params) = @_; my @floppies = _parseLsdev( command => "lsdev -Cc diskette -F 'name:description:status'", pattern => qr/^(.+):(.+):.+Available.+/, @_ ); foreach my $floppy (@floppies) { $floppy->{TYPE} = 'floppy'; } return @floppies; } sub _parseLsdev { my (%params) = @_; my $handle = getFileHandle(@_); return unless $handle; my @devices; while (my $line = <$handle>) { chomp $line; next unless $line =~ $params{pattern}; push @devices, { NAME => $1, DESCRIPTION => $2 }; } close $handle; return @devices; } sub _getCapacity { my ($device, $logger) = @_; return getLastLine( command => "lsattr -EOl $device -a 'size_in_mb'", logger => $logger ); } sub _getVirtualCapacity { my (%params) = @_; my $command = $params{name} ? "lspv $params{name}" : undef; my $capacity = getFirstMatch( command => $command, file => $params{file}, pattern => qr/TOTAL PPs: +\d+ \((\d+) megabytes\)/, logger => $params{logger} ); return $capacity; } sub _getManufacturer { my ($device) = @_; return unless $device; return $device->{FN} ? "$device->{MF},FRU number :$device->{FN}" : "$device->{MF}" ; } sub _getModel { my ($device) = @_; return unless $device; return $device->{TM}; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/LVM.pm0000644000175000017500000001203013712210012027226 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::LVM; use FusionInventory::Agent::Tools; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use English qw(-no_match_vars); sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{lvm}; return canRun('lspv'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $volume (_getPhysicalVolumes($logger)) { $inventory->addEntry(section => 'PHYSICAL_VOLUMES', entry => $volume); } foreach my $group (_getVolumeGroups($logger)) { $inventory->addEntry(section => 'VOLUME_GROUPS', entry => $group); foreach my $volume (_getLogicalVolumes($logger, $group->{VG_NAME})) { $inventory->addEntry(section => 'LOGICAL_VOLUMES', entry => $volume); } } } sub _getLogicalVolumes { my ($logger, $group) = @_; my $handle = getFileHandle( command => "lsvg -l $group", logger => $logger ); return unless $handle; # skip headers my $line; $line = <$handle>; $line = <$handle>; # no logical volume if there is only one line of output return unless $line; my @volumes; while (my $line = <$handle>) { chomp $line; my ($name) = split(/\s+/, $line); push @volumes, _getLogicalVolume(logger => $logger, name => $name); } close $handle; return @volumes; } sub _getLogicalVolume { my (%params) = @_; my $command = $params{name} ? "lslv $params{name}" : undef; my $handle = getFileHandle(command => $command, %params); return unless $handle; my $volume = { LV_NAME => $params{name} }; my $size; while (my $line = <$handle>) { if ($line =~ /PP SIZE:\s+(\d+)/) { $size = $1; } if ($line =~ /^LV IDENTIFIER:\s+(\S+)/) { $volume->{LV_UUID} = $1; } if ($line =~ /^LPs:\s+(\S+)/) { $volume->{SEG_COUNT} = $1; } if ($line =~ /^TYPE:\s+(\S+)/) { $volume->{ATTR} = "Type $1"; } } close $handle; $volume->{SIZE} = $volume->{SEG_COUNT} * $size; return $volume; } sub _getPhysicalVolumes { my ($logger) = @_; my $handle = getFileHandle( command => 'lspv', logger => $logger ); return unless $handle; my @volumes; while (my $line = <$handle>) { chomp $line; my ($name) = split(/\s+/, $line); push @volumes, _getPhysicalVolume(logger => $logger, name => $name); } close $handle; return @volumes; } sub _getPhysicalVolume { my (%params) = @_; my $command = $params{name} ? "lspv $params{name}" : undef; my $handle = getFileHandle(command => $command, %params); return unless $handle; my $volume = { DEVICE => "/dev/$params{name}" }; my ($free, $total); while (my $line = <$handle>) { chomp $line; if ($line =~ /PHYSICAL VOLUME:\s+(\S+)/) { $volume->{FORMAT} = "AIX PV"; } if ($line =~ /FREE PPs:\s+(\d+)/) { $free = $1; } if ($line =~ /TOTAL PPs:\s+(\d+)/) { $total = $1; } if ($line =~ /VOLUME GROUP:\s+(\S+)/) { $volume->{ATTR} = "VG $1"; } if ($line =~ /PP SIZE:\s+(\d+)/) { $volume->{PE_SIZE} = $1; } if ($line =~ /PV IDENTIFIER:\s+(\S+)/) { $volume->{PV_UUID} = $1; } } close $handle; if (defined $volume->{PE_SIZE}) { $volume->{SIZE} = $total * $volume->{PE_SIZE} if defined $total; $volume->{FREE} = $free * $volume->{PE_SIZE} if defined $free; } $volume->{PV_PE_COUNT} = $total if defined $total; return $volume; } sub _getVolumeGroups { my ($logger) = @_; my $handle = getFileHandle( command => 'lsvg', logger => $logger ); return unless $handle; my @groups; while (my $line = <$handle>) { chomp $line; push @groups, _getVolumeGroup(logger => $logger, name => $line); } close $handle; return @groups; } sub _getVolumeGroup { my (%params) = @_; my $command = $params{name} ? "lsvg $params{name}" : undef; my $handle = getFileHandle(command => $command, %params); return unless $handle; my $group = { VG_NAME => $params{name} }; while (my $line = <$handle>) { chomp $line; if ($line =~ /TOTAL PPs:\s+(\d+)/) { $group->{SIZE} = $1; } if ($line =~ /FREE PPs:\s+(\d+)/) { $group->{FREE} = $1; } if ($line =~ /VG IDENTIFIER:\s+(\S+)/) { $group->{VG_UUID} = $1; } if ($line =~ /PP SIZE:\s+(\d+)/) { $group->{VG_EXTENT_SIZE} = $1; } if ($line =~ /LVs:\s+(\d+)/) { $group->{LV_COUNT} = $1; } if ($line =~/ACTIVE PVs:\s+(\d+)/) { $group->{PV_COUNT} = $1; } } close $handle; return $group; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Memory.pm0000644000175000017500000000400213712210012030040 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Memory; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::AIX; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{memory}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $memory (_getMemories()) { $inventory->addEntry( section => 'MEMORIES', entry => $memory ); } #Memory informations #lsdev -Cc memory -F 'name' -t totmem #lsattr -EOlmem0 my $memorySize = 0; my @lsdev = getAllLines( command => 'lsdev -Cc memory -F "name" -t totmem', logger => $logger ); foreach (@lsdev){ my @lsattr = getAllLines( command => "lsattr -EOl $_", logger => $logger ); foreach (@lsattr) { if (! /^#/){ # See: http://forge.fusioninventory.org/issues/399 # TODO: the regex should be improved here /^(.+):(\d+)/; $memorySize += $2; } } } #Paging Space my $swapSize; my @grep = getAllLines(command => 'lsps -s', logger => $logger); foreach (@grep){ if ( ! /^Total/){ /^\s*(\d+)\w*\s+\d+.+/; $swapSize = $1; } } $inventory->setHardware({ MEMORY => $memorySize, SWAP => $swapSize }); } sub _getMemories { my @infos = getLsvpdInfos(@_); my @memories; my $numslots = 0; foreach my $info (@infos) { next unless $info->{DS} eq 'Memory DIMM'; push @memories, { DESCRIPTION => $info->{DS}, CAPACITY => $info->{SZ}, CAPTION => 'Slot ' . $info->{YL}, SERIALNUMBER=> $info->{SN}, NUMSLOTS => $numslots++ }; } return @memories; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Drives.pm0000644000175000017500000000244613712210012030036 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Drives; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{drive}; return canRun('df'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; # get filesystems my @filesystems = getFilesystemsFromDf(logger => $logger, command => 'df -P -k'); my $types = _getFilesystemTypes(logger => $logger); # add filesystems to the inventory foreach my $filesystem (@filesystems) { $filesystem->{FILESYSTEM} = $types->{$filesystem->{TYPE}}; $inventory->addEntry( section => 'DRIVES', entry => $filesystem ); } } sub _getFilesystemTypes { my (%params) = @_; my $handle = getFileHandle( command => 'lsfs -c', %params ); return unless $handle; my $types; # skip headers my $line = <$handle>; foreach my $line (<$handle>) { my ($mountpoint, undef, $type) = split(/:/, $line); $types->{$mountpoint} = $type; } close $handle; return $types; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Modems.pm0000644000175000017500000000173713712210012030030 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Modems; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::AIX; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{modem}; return canRun('lsdev'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $modem (_getModems( logger => $logger, )) { $inventory->addEntry( section => 'MODEMS', entry => $modem, ); } } sub _getModems { my @adapters = getAdaptersFromLsdev(@_); my @modems; foreach my $adapter (@adapters) { next unless $adapter->{DESCRIPTION} =~ /modem/i; push @modems, { NAME => $adapter->{NAME}, DESCRIPTION => $adapter->{DESCRIPTION}, }; } return @modems; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/CPU.pm0000644000175000017500000000627213712210012027232 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::CPU; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{cpu}; return 1; } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $cpu (_getCPUs( command => 'lsdev -Cc processor -F name', logger => $logger )) { $inventory->addEntry( section => 'CPUS', entry => $cpu ); } } sub _getCPUs { my $handle = getFileHandle(@_); return unless $handle; my $aixversion = getFirstLine(command => 'uname -v'); my @cpus; while (my $line = <$handle>) { chomp $line; my $device = $line; my $format = $aixversion >= 5 ? 'type:frequency:frequency' : 'type'; my @lsattr = getAllLines( command => "lsattr -EOl $device -a '$format'", ); my $cpu = { THREAD => 1 }; my $smt_threads = getFirstLine(command => "lsattr -EOl $device -a 'state:type:smt_threads'"); if ($smt_threads && $smt_threads =~ /:(\d+)$/) { $cpu->{THREAD} = $1; } # drop headers shift @lsattr; # use first line to compute name, frequency and number of threads my @infos = split(/:/, $lsattr[0]); $cpu->{NAME} = $infos[0]; $cpu->{NAME} =~ s/_/ /; if ($aixversion >= 5) { $cpu->{SPEED} = ($infos[1] % 1000000) >= 50000 ? int($infos[1] / 1000000) + 1 : int($infos[1] / 1000000); } else { # On older models, frequency is based on cpu model and uname SWITCH: { if ( $infos[0] eq "PowerPC" or $infos[0] eq "PowerPC_601" or $infos[0] eq "PowerPC_604" ) { my $uname = getFirstLine(command => 'uname -m'); $cpu->{SPEED} = $uname =~ /E1D|EAD|C1D|R04|C4D|R4D/ ? 12.2 : $uname =~ /34M/ ? 133 : $uname =~ /N4D/ ? 150 : $uname =~ /X4M|X4D/ ? 200 : $uname =~ /N4E|K04|K44/ ? 225 : $uname =~ /N4F/ ? 320 : $uname =~ /K45/ ? 360 : undef ; last SWITCH; } if ($infos[0] eq "PowerPC_RS64_III") { $cpu->{SPEED} = 400; last SWITCH; } if ($infos[0] eq "PowerPC_620") { $cpu->{SPEED} = 172; last SWITCH; } $cpu->{SPEED} = 225; } } # compute core number from lines number $cpu->{CORE} = scalar @lsattr; push @cpus, $cpu; } close $handle; return @cpus; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Networks.pm0000644000175000017500000000632713712210012030420 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Networks; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; use FusionInventory::Agent::Tools::Network; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{network}; return canRun('lscfg'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; my $routes = getRoutingTable(command => 'netstat -nr', logger => $logger); my $default = $routes->{'0.0.0.0'}; my @interfaces = _getInterfaces(logger => $logger); foreach my $interface (@interfaces) { # if the default gateway address and the interface address belongs to # the same network, that's the gateway for this network $interface->{IPGATEWAY} = $default if isSameNetwork( $default, $interface->{IPADDRESS}, $interface->{IPMASK} ); $inventory->addEntry( section => 'NETWORKS', entry => $interface ); } $inventory->setHardware({ DEFAULTGATEWAY => $default }); } sub _getInterfaces { my (%params) = @_; my $logger = $params{logger}; # get a list of interfaces from ifconfig my @interfaces = map { { DESCRIPTION => $_ } } split(/ /, getFirstLine(command => 'ifconfig -l')); # complete with hardware addresses, extracted from lscfg my %addresses = _parseLscfg( command => 'lscfg -v -l ent*', logger => $logger ); foreach my $interface (@interfaces) { next unless $addresses{$interface->{DESCRIPTION}}; $interface->{TYPE} = 'ethernet'; $interface->{MACADDR} = $addresses{$interface->{DESCRIPTION}}; } # complete with network information, extracted from lsattr foreach my $interface (@interfaces) { my $handle = getFileHandle( command => "lsattr -E -l $interface->{DESCRIPTION}", logger => $logger ); next unless $handle; while (my $line = <$handle>) { $interface->{IPADDRESS} = $1 if $line =~ /^netaddr \s+ ($ip_address_pattern)/x; $interface->{IPMASK} = $1 if $line =~ /^netmask \s+ ($ip_address_pattern)/x; $interface->{STATUS} = $1 if $line =~ /^state \s+ (\w+)/x; } close $handle; } foreach my $interface (@interfaces) { $interface->{IPSUBNET} = getSubnetAddress( $interface->{IPADDRESS}, $interface->{IPMASK}, ); $interface->{STATUS} = "Down" unless $interface->{IPADDRESS}; $interface->{IPDHCP} = "No"; } return @interfaces; } sub _parseLscfg { my $handle = getFileHandle(@_); return unless $handle; my %addresses; my $current_interface; while (my $line = <$handle>) { if ($line =~ /^\s+ ent(\d+) \s+ \S+ \s+/x) { $current_interface = "en$1"; } if ($line =~ /Network Address\.+($alt_mac_address_pattern)/) { $addresses{$current_interface} = alt2canonical($1); } } close $handle; return %addresses; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Videos.pm0000644000175000017500000000165713712210012030036 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Videos; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::AIX; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{video}; return canRun('lsdev'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $video (_getVideos( logger => $logger )) { $inventory->addEntry( section => 'VIDEOS', entry => $video ); } } sub _getVideos { my @adapters = getAdaptersFromLsdev(@_); my @videos; foreach my $adapter (@adapters) { next unless $adapter->{DESCRIPTION} =~ /graphics|vga|video/i; push @videos, { NAME => $adapter->{NAME}, }; } return @videos; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/AIX/Controllers.pm0000644000175000017500000000163413712210012031106 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::AIX::Controllers; use strict; use warnings; use parent 'FusionInventory::Agent::Task::Inventory::Module'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::AIX; sub isEnabled { my (%params) = @_; return 0 if $params{no_category}->{controller}; return canRun('lsdev'); } sub doInventory { my (%params) = @_; my $inventory = $params{inventory}; my $logger = $params{logger}; foreach my $controller (_getControllers( logger => $logger, )) { $inventory->addEntry( section => 'CONTROLLERS', entry => $controller ); } } sub _getControllers { my @adapters = getAdaptersFromLsdev(@_); my @controllers; foreach my $adapter (@adapters) { push @controllers, { NAME => $adapter->{NAME}, }; } return @controllers; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Inventory/Version.pm0000644000175000017500000000017213757237533027632 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Inventory::Version; use strict; use warnings; use constant VERSION => "1.10"; 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Maintenance.pm0000644000175000017500000000453313712210012026405 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Maintenance; use strict; use warnings; use parent 'FusionInventory::Agent::Task'; use English qw(-no_match_vars); use UNIVERSAL::require; use File::Basename; use FusionInventory::Agent::Task::Maintenance::Version; our $VERSION = FusionInventory::Agent::Task::Maintenance::Version::VERSION; sub isEnabled { my ($self) = @_; if (!$self->{target}->isType('scheduler')) { $self->{logger}->debug("Maintenance task only compatible with Scheduler target"); return; } my $found = 0; # Lookup for each target task if a Maintenance module exists foreach my $task ($self->{target}->otherTasks()) { my $taskdir = dirname(__FILE__) .'/'. ucfirst($task); next unless -d $taskdir; my $maintenance = $taskdir.'/Maintenance.pm'; next unless -e $maintenance; $found ++; last; } return $found; } sub run { my ($self) = @_; my $logger = $self->{logger}; my @taskclass = split('::', __PACKAGE__); pop @taskclass; # Lookup for each target task if a Maintenance module exists and run # the its doMaintenance() API foreach my $task ($self->{target}->otherTasks()) { my $taskdir = dirname(__FILE__) .'/'. ucfirst($task); next unless -d $taskdir; my $file = $taskdir.'/Maintenance.pm'; next unless -e $file; my $module = join('::', @taskclass, ucfirst($task), 'Maintenance'); $module->require(); if ($EVAL_ERROR) { $logger->debug("failed to load $task maintenance module: $EVAL_ERROR"); next; } $logger->debug2("Doing $task Maintenance"); my $maintenance = $module->new( target => $self->{target}, config => $self->{config}, logger => $logger, ); $maintenance->doMaintenance(); } } 1; __END__ =head1 NAME FusionInventory::Agent::Task::Maintenance - Maintenance for FusionInventory Agent environment =head1 DESCRIPTION With this module, F will maintain its environment clean and safe. =head1 FUNCTIONS =head2 isEnabled() Lookup for a Maintenance module for each target enabled tasks. Returns true if the task should be finally enabled. =head2 run() Run the Maintenance task by calling each doMaintenance() API from each task Maintenance found modules. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Collect.pm0000644000175000017500000003265513735362010025571 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Collect; use strict; use warnings; use parent 'FusionInventory::Agent::Task'; use Digest::SHA; use English qw(-no_match_vars); use File::Basename; use File::Find; use File::stat; use FusionInventory::Agent; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Tools; use FusionInventory::Agent::HTTP::Client::Fusion; use FusionInventory::Agent::Task::Collect::Version; our $VERSION = FusionInventory::Agent::Task::Collect::Version::VERSION; my %functions = ( getFromRegistry => \&_getFromRegistry, findFile => \&_findFile, # As decided by developers team, the runCommand function is disabled for the moment. # runCommand => \&_runCommand, getFromWMI => \&_getFromWMI ); # How to validate JSON for retreived jobs sub _OPTIONAL { 0 } sub _MANDATORY { 1 } sub _OPTIONAL_EXCLUSIVE { 2 } my %json_validation = ( getFromRegistry => { path => _MANDATORY }, findFile => { dir => _MANDATORY, limit => _MANDATORY, recursive => _MANDATORY, filter => { regex => _OPTIONAL, sizeEquals => _OPTIONAL, sizeGreater => _OPTIONAL, sizeLower => _OPTIONAL, checkSumSHA512 => _OPTIONAL, checkSumSHA2 => _OPTIONAL, name => _OPTIONAL, iname => _OPTIONAL, is_file => _MANDATORY, is_dir => _MANDATORY } }, getFromWMI => { class => _MANDATORY, properties => _MANDATORY } ); sub isEnabled { my ($self) = @_; if (!$self->{target}->isType('server')) { $self->{logger}->debug("Collect task not compatible with local target"); return; } return 1; } sub _validateSpec { my ($self, $base, $key, $spec) = @_; if (ref($spec) eq 'HASH') { if (!exists($base->{$key})) { $self->{logger}->debug("$key mandatory values are missing in job"); return 0; } $self->{logger}->debug2("$key mandatory values are present in job"); foreach my $attribute (keys(%{$spec})) { return 0 unless $self->_validateSpec($base->{$key}, $attribute, $spec->{$attribute}); } return 1; } if ($spec == _MANDATORY) { if (!exists($base->{$key})) { $self->{logger}->debug("$key mandatory value is missing in job"); return 0; } $self->{logger}->debug2("$key mandatory value is present in job"); return 1; } if ($spec == _OPTIONAL && exists($base->{$key})) { $self->{logger}->debug2("$key optional value is present in job"); } 1; } sub _validateAnswer { my ($self, $answer) = @_; if (!defined($answer)) { $self->{logger}->debug("Bad JSON: No answer from server."); return 0; } if (ref($answer) ne 'HASH') { $self->{logger}->debug("Bad JSON: Bad answer from server. Not a hash reference."); return 0; } if (!defined($answer->{jobs}) || ref($answer->{jobs}) ne 'ARRAY') { $self->{logger}->debug("Bad JSON: Missing jobs"); return 0; } foreach my $job (@{$answer->{jobs}}) { foreach (qw/uuid function/) { if (!defined($job->{$_})) { $self->{logger}->debug("Bad JSON: Missing key '$_' in job"); return 0; } } my $function = $job->{function}; if (!exists($functions{$function})) { $self->{logger}->debug("Bad JSON: not supported 'function' key value in job"); return 0; } if (!exists($json_validation{$function})) { $self->{logger}->debug("Bad JSON: Can't validate job"); return 0; } foreach my $attribute (keys(%{$json_validation{$function}})) { if (!$self->_validateSpec( $job, $attribute, $json_validation{$function}->{$attribute} )) { $self->{logger}->debug("Bad JSON: '$function' job JSON format is not valid"); return 0; } } } return 1; } sub run { my ($self, %params) = @_; $self->{client} = FusionInventory::Agent::HTTP::Client::Fusion->new( logger => $self->{logger}, user => $params{user}, password => $params{password}, proxy => $params{proxy}, ca_cert_file => $params{ca_cert_file}, ca_cert_dir => $params{ca_cert_dir}, no_ssl_check => $params{no_ssl_check}, debug => $self->{debug} ); my $globalRemoteConfig = $self->{client}->send( url => $self->{target}->getUrl(), args => { action => "getConfig", machineid => $self->{deviceid}, task => { Collect => $VERSION }, } ); if (!$globalRemoteConfig->{schedule}) { $self->{logger}->info("No job schedule returned from server at ".$self->{target}->{url}); return; } if (ref( $globalRemoteConfig->{schedule} ) ne 'ARRAY') { $self->{logger}->info("Malformed schedule from server at ".$self->{target}->{url}); return; } if ( !@{$globalRemoteConfig->{schedule}} ) { $self->{logger}->info("No Collect job enabled or Collect support disabled server side."); return; } my $run_jobs = 0; foreach my $job ( @{ $globalRemoteConfig->{schedule} } ) { next unless (ref($job) eq 'HASH' && exists($job->{task}) && $job->{task} eq "Collect"); $self->_processRemote($job->{remote}); $run_jobs ++; } if ( !$run_jobs ) { $self->{logger}->info("No Collect job found in server jobs list."); return; } return 1; } sub _processRemote { my ($self, $remoteUrl) = @_; if ( !$remoteUrl ) { return; } my $answer = $self->{client}->send( url => $remoteUrl, args => { action => "getJobs", machineid => $self->{deviceid}, } ); if (ref($answer) eq 'HASH' && !keys %$answer) { $self->{logger}->debug("Nothing to do"); return; } return unless $self->_validateAnswer($answer); my @jobs = @{$answer->{jobs}} or die "no jobs provided, aborting"; my $method = exists($answer->{postmethod}) && $answer->{postmethod} eq 'POST' ? 'POST' : 'GET' ; my $token = exists($answer->{token}) ? $answer->{token} : ''; my %jobsdone = (); foreach my $job (@jobs) { $self->{logger}->debug2("Starting a collect job..."); if ( !$job->{uuid} ) { $self->{logger}->error("UUID key missing"); next; } $self->{logger}->debug2("Collect job has uuid: ".$job->{uuid}); if ( !$job->{function} ) { $self->{logger}->error("function key missing"); next; } if ( !defined( $functions{ $job->{function} } ) ) { $self->{logger}->error("Bad function '$job->{function}'"); next; } my @results = &{ $functions{ $job->{function} } }(%$job); my $count = int(@results); # Add an empty hash ref so send an answer with _cpt=0 push @results, {} unless $count ; foreach my $result (@results) { next unless ref($result) eq 'HASH'; next unless ( !$count || keys %$result ); $result->{uuid} = $job->{uuid}; $result->{action} = "setAnswer"; $result->{_cpt} = $count; $result->{_glpi_csrf_token} = $token if $token ; $result->{_sid} = $job->{_sid} if (exists($job->{_sid})); $answer = $self->{client}->send( url => $remoteUrl, method => $method, filename => sprintf('collect_%s_%s.js', $job->{uuid}, $count), args => $result ); $token = exists($answer->{token}) ? $answer->{token} : ''; $count--; } # Set this job is done by uuid $jobsdone{$job->{uuid}} = 1; } # Finally send jobsDone for each seen jobs uuid foreach my $uuid (keys(%jobsdone)) { my $answer = $self->{client}->send( url => $remoteUrl, args => { action => "jobsDone", uuid => $uuid } ); $self->{logger}->debug2("Got no response on $uuid jobsDone action") unless $answer; } return $self; } sub _encodeRegistryValueForCollect { my ($value, $type) = @_ ; # Dump REG_BINARY/REG_RESOURCE_LIST/REG_FULL_RESOURCE_DESCRIPTOR as hex strings if (defined($type) && ($type == 3 || $type >= 8)) { $value = join(" ", map { sprintf "%02x", ord } split(//, $value)); } else { $value = FusionInventory::Agent::Tools::Win32::encodeFromRegistry($value); } return $value; } sub _getFromRegistry { my %params = @_; return unless FusionInventory::Agent::Tools::Win32->require(); # Here we need to retrieve values with their type, getRegistryValue API # has been modify to support withtype flag as param my $values = FusionInventory::Agent::Tools::Win32::getRegistryValue( path => $params{path}, withtype => 1 ); return unless $values; my $result = {}; if (ref($values) eq 'HASH') { foreach my $k (keys %$values) { # Skip sub keys next if ($k =~ m|/$|); my ($value,$type) = @{$values->{$k}}; $result->{$k} = _encodeRegistryValueForCollect($value,$type) ; } } else { my ($k) = $params{path} =~ m|([^/]+)$| ; my ($value,$type) = @{$values}; $result->{$k} = _encodeRegistryValueForCollect($value,$type); } return ($result); } sub _findFile { my %params = ( dir => '/', limit => 50 , @_); return unless -d $params{dir}; my @results; File::Find::find( { wanted => sub { if (!$params{recursive} && $File::Find::name ne $params{dir}) { $File::Find::prune = 1 # Don't recurse. } if ( $params{filter}{is_dir} && !$params{filter}{checkSumSHA512} && !$params{filter}{checkSumSHA2} ) { return unless -d $File::Find::name; } if ( $params{filter}{is_file} ) { return unless -f $File::Find::name; } my $filename = basename($File::Find::name); if ( $params{filter}{name} ) { return if $filename ne $params{filter}{name}; } if ( $params{filter}{iname} ) { return if lc($filename) ne lc( $params{filter}{iname} ); } if ( $params{filter}{regex} ) { my $re = qr($params{filter}{regex}); return unless $File::Find::name =~ $re; } my $st = stat($File::Find::name); my $size = $st->size; if ( $params{filter}{sizeEquals} ) { return unless $size == $params{filter}{sizeEquals}; } if ( $params{filter}{sizeGreater} ) { return if $size < $params{filter}{sizeGreater}; } if ( $params{filter}{sizeLower} ) { return if $size > $params{filter}{sizeLower}; } if ( $params{filter}{checkSumSHA512} ) { my $sha = Digest::SHA->new('512'); $sha->addfile( $File::Find::name, 'b' ); return if $sha->hexdigest ne $params{filter}{checkSumSHA512}; } if ( $params{filter}{checkSumSHA2} ) { my $sha = Digest::SHA->new('2'); $sha->addfile( $File::Find::name, 'b' ); return if $sha->hexdigest ne $params{filter}{checkSumSHA2}; } push @results, { size => $size, path => $File::Find::name }; goto DONE if @results >= $params{limit}; }, no_chdir => 1 }, $params{dir} ); DONE: return @results; } sub _runCommand { my %params = @_; my $line; if ( $params{filter}{firstMatch} ) { $line = getFirstMatch( command => $params{command}, pattern => $params{filter}{firstMatch} ); } elsif ( $params{filter}{firstLine} ) { $line = getFirstLine( command => $params{command} ); } elsif ( $params{filter}{lineCount} ) { $line = getLinesCount( command => $params{command} ); } else { $line = getAllLines( command => $params{command} ); } return ( { output => $line } ); } sub _getFromWMI { my %params = @_; return unless FusionInventory::Agent::Tools::Win32->require(); return unless $params{properties}; return unless $params{class}; # Split given properties if possible $params{properties} = [ split(/[, ]+/, $params{properties}[0]) ] if $params{properties}[0] =~ /[, ]/; my @results; my @objects = FusionInventory::Agent::Tools::Win32::getWMIObjects(%params); foreach my $object (@objects) { push @results, $object; } return @results; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/NetInventory.pm0000644000175000017500000003407513754727524026666 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::NetInventory; use strict; use warnings; use threads; use parent 'FusionInventory::Agent::Task'; use Encode qw(encode); use English qw(-no_match_vars); use Time::HiRes qw(usleep); use Thread::Queue v2.01; use UNIVERSAL::require; use FusionInventory::Agent::XML::Query; use FusionInventory::Agent::Version; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Hardware; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::Expiration; use FusionInventory::Agent::Task::NetInventory::Version; use FusionInventory::Agent::Task::NetInventory::Job; our $VERSION = FusionInventory::Agent::Task::NetInventory::Version::VERSION; sub isEnabled { my ($self, $response) = @_; if (!$self->{target}->isType('server')) { $self->{logger}->debug("NetInventory task not compatible with local target"); return; } my @options = $response->getOptionsInfoByName('SNMPQUERY'); if (!@options) { $self->{logger}->debug("NetInventory task execution not requested"); return; } my @jobs; foreach my $option (@options) { if (!$option->{DEVICE}) { $self->{logger}->error("invalid job: no device defined"); next; } my @devices; foreach my $device (@{$option->{DEVICE}}) { if (!$device->{IP}) { $self->{logger}->error("invalid device: no address defined"); next; } push @devices, $device; } if (!@devices) { $self->{logger}->error("invalid job: no valid device defined"); next; } my $params = $option->{PARAM}->[0]; push @jobs, FusionInventory::Agent::Task::NetInventory::Job->new( logger => $self->{logger}, params => $params, credentials => $option->{AUTHENTICATION}, devices => \@devices ); } if (!@jobs) { $self->{logger}->error("no valid job found, aborting"); return; } $self->{jobs} = \@jobs; return 1; } sub _inventory_thread { my ($self, $jobs, $done) = @_; my $id = threads->tid(); $self->{logger}->debug("[thread $id] creation"); # run as long as they are a job to process while (my $job = $jobs->dequeue()) { last unless ref($job) eq 'HASH'; last if $job->{leave}; my $device = $job->{device}; my $result; eval { $result = $self->_queryDevice($job); }; if ($EVAL_ERROR) { chomp $EVAL_ERROR; $result = { ERROR => { ID => $device->{ID}, MESSAGE => $EVAL_ERROR } }; $result->{ERROR}->{TYPE} = $device->{TYPE} if $device->{TYPE}; # Inserted back device PID in result if set by server $result->{PID} = $device->{PID} if defined($device->{PID}); $self->{logger}->error("[thread $id] $EVAL_ERROR"); } # Get result PID from result my $pid = delete $result->{PID}; # Directly send the result message from the thread, but use job pid if # it was not set in result $self->_sendResultMessage($result, $pid || $job->{pid}); $done->enqueue($job); } delete $self->{logger}->{prefix}; $self->{logger}->debug("[thread $id] termination"); } sub run { my ($self, %params) = @_; # Prepare client configuration in needed to send message to server $self->{_client_params} = { logger => $self->{logger}, user => $params{user}, password => $params{password}, proxy => $params{proxy}, ca_cert_file => $params{ca_cert_file}, ca_cert_dir => $params{ca_cert_dir}, no_ssl_check => $params{no_ssl_check}, no_compress => $params{no_compress}, } if !$self->{client}; # Extract greatest max_threads from jobs my ($max_threads) = sort { $b <=> $a } map { int($_->max_threads()) } @{$self->{jobs}}; my %running_threads = (); # initialize FIFOs my $jobs = Thread::Queue->new(); my $done = Thread::Queue->new(); # count devices and check skip_start_stop my $devices_count = 0; my $skip_start_stop = 0; foreach my $job (@{$self->{jobs}}) { $devices_count += $job->count(); # newer server won't need START message if PID is provided on $skip_start_stop = any { defined($_->{PID}) } $job->devices() unless $skip_start_stop; } # Define a job expiration: 15 minutes by device to scan is large enough setExpirationTime( timeout => $devices_count * 900 ); my $expiration = getExpirationTime(); # no need more threads than devices to scan my $threads_count = $max_threads > $devices_count ? $devices_count : $max_threads; $self->{logger}->debug("creating $threads_count worker threads"); for (my $i = 0; $i < $threads_count; $i++) { my $newthread = threads->create(sub { $self->_inventory_thread($jobs, $done); }); # Keep known created threads in a hash $running_threads{$newthread->tid()} = $newthread ; usleep(50000) until ($newthread->is_running() || $newthread->is_joinable()); } # Check really started threads number vs really running ones my @really_running = map { $_->tid() } threads->list(threads::running); my @started_threads = keys(%running_threads); unless (@really_running == $threads_count && keys(%running_threads) == $threads_count) { $self->{logger}->debug(scalar(@really_running)." really running: [@really_running]"); $self->{logger}->debug(scalar(@started_threads)." started: [@started_threads]"); } my %queues = (); my $pid_index = 1; # Start jobs by preparing queues foreach my $job (@{$self->{jobs}}) { # SNMP credentials my $credentials = $job->credentials(); # set pid my $pid = $job->pid() || $pid_index++; # send initial message to server unless it supports newer protocol $self->_sendStartMessage($pid) unless $skip_start_stop; # prepare queue my $queue = $queues{$pid} || { max_in_queue => $job->max_threads(), in_queue => 0, todo => [] }; foreach my $device ($job->devices()) { push @{$queue->{todo}}, { pid => $pid, device => $device, timeout => $job->timeout(), credentials => $credentials->{$device->{AUTHSNMP_ID}} }; } # Only keep queue if we have a device to scan $queues{$pid} = $queue if @{$queue->{todo}}; } my $queued_count = 0; my $job_count = 0; my $jid_len = length(sprintf("%i",$devices_count)); my $jid_pattern = "#%0".$jid_len."i"; # We need to guaranty we don't have more than max_in_queue device in shared # queue for each job while (my @pids = sort { $a <=> $b } keys(%queues)) { # Enqueue as device as possible foreach my $pid (@pids) { my $queue = $queues{$pid}; next unless @{$queue->{todo}}; next if $queue->{in_queue} >= $queue->{max_in_queue}; my $device = shift @{$queue->{todo}}; $queue->{in_queue} ++; $device->{jid} = sprintf($jid_pattern, ++$job_count); $jobs->enqueue($device); $queued_count++; } # as long as some of our threads are still running... if (keys(%running_threads)) { # send available results on the fly while (my $device = $done->dequeue_nb()) { my $pid = $device->{pid}; my $queue = $queues{$pid}; $queue->{in_queue} --; $queued_count--; unless ($queue->{in_queue} || @{$queue->{todo}}) { # send final message to the server before cleaning threads unless it supports newer protocol $self->_sendStopMessage($pid) unless $skip_start_stop; delete $queues{$pid}; # send final message to the server unless it supports newer protocol $self->_sendStopMessage($pid) unless $skip_start_stop; } # Check if it's time to abort a thread $devices_count--; if ($devices_count < $threads_count) { $jobs->enqueue({ leave => 1 }); $threads_count--; } } # wait for a little usleep(50000); if ($expiration && time > $expiration) { $self->{logger}->warning("Aborting netinventory job as it reached expiration time"); # detach all our running worker foreach my $tid (keys(%running_threads)) { $running_threads{$tid}->detach() if $running_threads{$tid}->is_running(); delete $running_threads{$tid}; } last; } # List our created and possibly running threads in a list to check my %running_threads_checklist = map { $_ => 0 } keys(%running_threads); foreach my $running (threads->list(threads::running)) { my $tid = $running->tid(); # Skip if this running thread tid is not is our started list next unless exists($running_threads{$tid}); # Check a thread is still running $running_threads_checklist{$tid} = 1 ; } # Clean our started list from thread tid that don't run anymore foreach my $tid (keys(%running_threads_checklist)) { delete $running_threads{$tid} unless $running_threads_checklist{$tid}; } last unless keys(%running_threads); } } if ($queued_count) { $self->{logger}->error("$queued_count devices inventory are missing"); } # Cleanup joinable threads $_->join() foreach threads->list(threads::joinable); $self->{logger}->debug("All netinventory threads terminated") unless threads->list(threads::running); # Reset expiration setExpirationTime(); } sub _sendMessage { my ($self, $content) = @_; my $message = FusionInventory::Agent::XML::Query->new( deviceid => $self->{deviceid} || 'foo', query => 'SNMPQUERY', content => $content ); # task-specific client, if needed $self->{client} = FusionInventory::Agent::HTTP::Client::OCS->new(%{$self->{_client_params}}) if !$self->{client}; $self->{client}->send( url => $self->{target}->getUrl(), message => $message ); } sub _sendStartMessage { my ($self, $pid) = @_; $self->_sendMessage({ AGENT => { START => 1, AGENTVERSION => $FusionInventory::Agent::Version::VERSION, }, MODULEVERSION => $VERSION, PROCESSNUMBER => $pid }); } sub _sendStopMessage { my ($self, $pid) = @_; $self->_sendMessage({ AGENT => { END => 1, }, MODULEVERSION => $VERSION, PROCESSNUMBER => $pid }); } sub _sendResultMessage { my ($self, $result, $pid) = @_; $self->_sendMessage({ DEVICE => $result, MODULEVERSION => $VERSION, PROCESSNUMBER => $pid || 0 }); } sub _queryDevice { my ($self, $params) = @_; my $credentials = $params->{credentials}; my $device = $params->{device}; my $logger = $self->{logger}; my $id = threads->tid(); $logger->{prefix} = "[thread $id] $params->{jid}, "; $logger->debug( "scanning $device->{ID}: $device->{IP}" . ( $device->{PORT} ? ' on port ' . $device->{PORT} : '' ) . ( $device->{PROTOCOL} ? ' via ' . $device->{PROTOCOL} : '' ) ); my $snmp; if ($device->{FILE}) { FusionInventory::Agent::SNMP::Mock->require(); eval { $snmp = FusionInventory::Agent::SNMP::Mock->new( ip => $device->{IP}, file => $device->{FILE} ); }; die "SNMP emulation error: $EVAL_ERROR" if $EVAL_ERROR; } else { eval { FusionInventory::Agent::SNMP::Live->require(); $snmp = FusionInventory::Agent::SNMP::Live->new( version => $credentials->{VERSION}, hostname => $device->{IP}, port => $device->{PORT}, domain => $device->{PROTOCOL}, timeout => $params->{timeout} || 15, community => $credentials->{COMMUNITY}, username => $credentials->{USERNAME}, authpassword => $credentials->{AUTHPASSPHRASE}, authprotocol => $credentials->{AUTHPROTOCOL}, privpassword => $credentials->{PRIVPASSPHRASE}, privprotocol => $credentials->{PRIVPROTOCOL}, ); }; die "SNMP communication error: $EVAL_ERROR" if $EVAL_ERROR; } my $result = getDeviceFullInfo( id => $device->{ID}, type => $device->{TYPE}, snmp => $snmp, model => $params->{model}, logger => $self->{logger}, datadir => $self->{datadir} ); # Inserted back device PID in result if set by server $result->{PID} = $device->{PID} if defined($device->{PID}); return $result; } 1; __END__ =head1 NAME FusionInventory::Agent::Task::NetInventory - Remote inventory support for FusionInventory Agent =head1 DESCRIPTION This task extracts various information from remote hosts through SNMP protocol: =over =item * printer cartridges and counters status =item * router/switch ports status =item * relations between devices and router/switch ports =back This task requires a GLPI server with FusionInventory plugin. =head1 AUTHORS Copyright (C) 2009 David Durieux Copyright (C) 2010-2012 FusionInventory Team FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task/Deploy.pm0000644000175000017500000003321713712210012025420 0ustar gbougardgbougardpackage FusionInventory::Agent::Task::Deploy; # Full protocol documentation available here: # http://fusioninventory.org/documentation/dev/spec/protocol/deploy.html use strict; use warnings; use parent 'FusionInventory::Agent::Task'; use FusionInventory::Agent::HTTP::Client::Fusion; use FusionInventory::Agent::Storage; use FusionInventory::Agent::Task::Deploy::ActionProcessor; use FusionInventory::Agent::Task::Deploy::Datastore; use FusionInventory::Agent::Task::Deploy::File; use FusionInventory::Agent::Task::Deploy::Job; use FusionInventory::Agent::Task::Deploy::Version; our $VERSION = FusionInventory::Agent::Task::Deploy::Version::VERSION; sub isEnabled { my ($self) = @_; if (!$self->{target}->isType('server')) { $self->{logger}->debug("Deploy task not compatible with local target"); return; } return 1; } sub _validateAnswer { my ($msgRef, $answer) = @_; $$msgRef = ""; if (!defined($answer)) { $$msgRef = "No answer from server."; return; } if (ref($answer) ne 'HASH') { $$msgRef = "Bad answer from server. Not a hash reference."; return; } if (!defined($answer->{associatedFiles})) { $$msgRef = "missing associatedFiles key"; return; } if (ref($answer->{associatedFiles}) ne 'HASH') { $$msgRef = "associatedFiles should be an hash"; return; } foreach my $k (keys %{$answer->{associatedFiles}}) { foreach (qw/mirrors multiparts name p2p-retention-duration p2p uncompress/) { if (!defined($answer->{associatedFiles}->{$k}->{$_})) { $$msgRef = "Missing key `$_' in associatedFiles"; return; } } } foreach my $job (@{$answer->{jobs}}) { foreach (qw/uuid associatedFiles actions checks/) { if (!defined($job->{$_})) { $$msgRef = "Missing key `$_' in jobs"; return; } if (ref($job->{actions}) ne 'ARRAY') { $$msgRef = "jobs/actions must be an array"; return; } } } return 1; } sub processRemote { my ($self, $remoteUrl) = @_; my $logger = $self->{logger}; unless ($remoteUrl) { $logger->debug("No remote URL provided for processing"); return 0; } my $folder = $self->{target}->getStorage()->getDirectory(); my $datastore = FusionInventory::Agent::Task::Deploy::Datastore->new( config => $self->{config}, path => $folder.'/deploy', logger => $logger ); $datastore->cleanUp( force => $datastore->diskIsFull() ); my $jobList = []; my $files; my $answer = $self->{client}->send( url => $remoteUrl, args => { action => "getJobs", machineid => $self->{deviceid}, version => $VERSION } ); if (ref($answer) eq 'HASH' && !keys %$answer) { $logger->debug("Nothing to do"); return 0; } my $msg; if (!_validateAnswer(\$msg, $answer)) { $logger->debug("bad JSON: ".$msg); return 0; } foreach my $sha512 ( keys %{ $answer->{associatedFiles} } ) { $files->{$sha512} = FusionInventory::Agent::Task::Deploy::File->new( client => $self->{client}, sha512 => $sha512, data => $answer->{associatedFiles}{$sha512}, datastore => $datastore, prolog => $self->{target}->getMaxDelay(), logger => $logger ); } foreach my $job ( @{ $answer->{jobs} } ) { my $associatedFiles = []; if ( $job->{associatedFiles} ) { foreach my $uuid ( @{ $job->{associatedFiles} } ) { if ( !$files->{$uuid} ) { $logger->error("unknown file: '$uuid'. Not found in JSON answer!"); next; } push @$associatedFiles, $files->{$uuid}; } if (@$associatedFiles != @{$job->{associatedFiles}}) { $logger->error("Bad job definition in JSON answer!"); next; } } push @$jobList, FusionInventory::Agent::Task::Deploy::Job->new( remoteUrl => $remoteUrl, client => $self->{client}, machineid => $self->{deviceid}, data => $job, associatedFiles => $associatedFiles, logger => $logger ); $logger->debug2("Deploy job $job->{uuid} in the list"); } JOB: foreach my $job (@$jobList) { $logger->debug2("Processing job $job->{uuid} from the list"); # RECEIVED $job->currentStep('checking'); $job->setStatus( msg => 'starting' ); $logger->debug2("Checking job $job->{uuid}..."); # CHECKING next if $job->skip_on_check_failure(); $job->setStatus( status => 'ok', msg => 'all checks are ok' ); # USER INTERACTION next if $job->next_on_usercheck(type => 'before'); $logger->debug2("Downloading for job $job->{uuid}..."); # DOWNLOADING $job->currentStep('downloading'); $job->setStatus( msg => 'downloading files' ); my $retry = 5; my $workdir = $datastore->createWorkDir( $job->{uuid} ); FETCHFILE: foreach my $file ( @{ $job->{associatedFiles} } ) { # File exists, no need to download if ( $file->filePartsExists() ) { $job->setStatus( file => $file, status => 'ok', msg => $file->{name}.' already downloaded' ); # Reset retention time for all still downloaded parts $file->resetPartFilePaths(); $workdir->addFile($file); next; } # File doesn't exist, lets try or retry a download $job->setStatus( file => $file, msg => 'fetching '.$file->{name} ); $file->download(); # Reset retention time for all downloaded parts $file->resetPartFilePaths(); # Are all the fileparts here? my $downloadIsOK = $file->filePartsExists(); if ( $downloadIsOK ) { $job->setStatus( file => $file, status => 'ok', msg => $file->{name}.' downloaded' ); $workdir->addFile($file); next; } # Retry the download 5 times in a row and then give up if ( !$downloadIsOK ) { if ($retry--) { # Retry # OK, retry! $job->setStatus( file => $file, msg => 'retrying '.$file->{name} ); redo FETCHFILE; } else { # Give up... # USER INTERACTION after download failure $job->next_on_usercheck(type => 'after_download_failure'); $job->setStatus( file => $file, status => 'ko', msg => $file->{name}.' download failed' ); next JOB; } } } $job->setStatus( status => 'ok', msg => 'success' ); # USER INTERACTION after download next if $job->next_on_usercheck(type => 'after_download'); $logger->debug2("Preparation for job $job->{uuid}..."); $job->currentStep('prepare'); if (!$workdir->prepare()) { # USER INTERACTION on preparation failure $job->next_on_usercheck(type => 'after_failure'); $job->setStatus( status => 'ko', msg => 'failed to prepare work dir' ); next JOB; } else { $job->setStatus( status => 'ok', msg => 'success' ); } $logger->debug2("Processing for job $job->{uuid}..."); # PROCESSING my $actionProcessor = FusionInventory::Agent::Task::Deploy::ActionProcessor->new( workdir => $workdir ); my $actionnum = 0; while ( my $action = $job->getNextToProcess() ) { my ($actionName, $params) = %$action; if ( $params && (ref( $params->{checks} ) eq 'ARRAY') ) { $logger->debug2("Processing action check for job $job->{uuid}..."); $job->currentStep('checking'); # CHECKING next if $job->skip_on_check_failure( checks => $params->{checks}, level => 'action' ); } $job->currentStep('processing'); my $ret; eval { $ret = $actionProcessor->process($actionName, $params, $logger); }; $ret->{msg} = [] unless $ret->{msg}; push @{$ret->{msg}}, $@ if $@; my $name = $params->{name} || "action #".($actionnum+1); # Log msg lines: can be heavy while running a command with high logLineLimit parameter my $logLineLimit = defined($params->{logLineLimit}) ? $params->{logLineLimit} : 10 ; # Really report nothing to server if logLineLimit=0 & status is ok $ret->{msg} = [] if (!$logLineLimit && $ret->{status}); # Add 7 to always output header & retCode analysis lines for cmd command, unless in nolimit (-1) $logLineLimit += 7 unless ($logLineLimit < 0); foreach my $line (@{$ret->{msg}}) { next unless ($line); $job->setStatus( msg => "$name: $line", actionnum => $actionnum, ); last unless --$logLineLimit; } if ( !$ret->{status} ) { # USER INTERACTION after action failure $job->next_on_usercheck(type => 'after_failure'); $job->setStatus( status => 'ko', actionnum => $actionnum, msg => "$name, processing failure" ); next JOB; } $job->setStatus( status => 'ok', actionnum => $actionnum, msg => "$name, processing success" ); $actionnum++; } # USER INTERACTION $job->next_on_usercheck(type => 'after'); $logger->debug2("Finished job $job->{uuid}..."); # When success and finished, we can still cleanup file in private # cache when retention duration is not set foreach my $file ( @{ $job->{associatedFiles} } ) { $file->cleanup_private(); } $job->currentStep('end'); $job->setStatus( status => 'ok', msg => "job successfully completed" ); } $logger->debug2("All deploy jobs processed"); $datastore->cleanUp(); return @$jobList ? 1 : 0 ; } sub run { my ($self, %params) = @_; # Turn off localised output for commands $ENV{LC_ALL} = 'C'; # Turn off localised output for commands $ENV{LANG} = 'C'; # Turn off localised output for commands $self->{client} = FusionInventory::Agent::HTTP::Client::Fusion->new( logger => $self->{logger}, user => $params{user}, password => $params{password}, proxy => $params{proxy}, ca_cert_file => $params{ca_cert_file}, ca_cert_dir => $params{ca_cert_dir}, no_ssl_check => $params{no_ssl_check}, debug => $self->{debug} ); my $url = $self->{target}->getUrl(); my $globalRemoteConfig = $self->{client}->send( url => $url, args => { action => "getConfig", machineid => $self->{deviceid}, task => { Deploy => $VERSION }, } ); if (!$globalRemoteConfig->{schedule}) { $self->{logger}->info("No job schedule returned from server at $url"); return; } if (ref( $globalRemoteConfig->{schedule} ) ne 'ARRAY') { $self->{logger}->info("Malformed schedule from server at $url"); return; } if ( !@{$globalRemoteConfig->{schedule}} ) { $self->{logger}->info("No Deploy job enabled or Deploy support disabled server side."); return; } my $run_jobs = 0; foreach my $job ( @{ $globalRemoteConfig->{schedule} } ) { next unless $job->{task} eq "Deploy"; $run_jobs += $self->processRemote($job->{remote}); } if ( !$run_jobs ) { $self->{logger}->info("No Deploy job found in server jobs list."); return; } return 1; } 1; __END__ =head1 NAME FusionInventory::Agent::Task::Deploy - Software deployment support for FusionInventory Agent =head1 DESCRIPTION With this module, F can accept software deployment request from an GLPI server with the FusionInventory plugin. This module uses SSL certificat to authentificat the server. You may have to point F<--ca-cert-file> or F<--ca-cert-dir> to your public certificat. If the P2P option is turned on, the agent will looks for peer in its network. The network size will be limited at 255 machines. =head1 FUNCTIONS =head2 isEnabled ( $self ) Returns true if the task is enabled. =head2 processRemote ( $self, $remoteUrl ) Process orders from a remote server. =head2 run ( $self, %params ) Run the task. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Daemon.pm0000644000175000017500000004011713753417640024507 0ustar gbougardgbougardpackage FusionInventory::Agent::Daemon; use strict; use warnings; use Cwd; use English qw(-no_match_vars); use UNIVERSAL::require; use POSIX ":sys_wait_h"; # WNOHANG # By convention, we just use 5 chars string as possible internal IPC messages. # As of this writing, only IPC_LEAVE from children is supported and is only # really useful while debugging. use constant IPC_LEAVE => 'LEAVE'; use parent 'FusionInventory::Agent'; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Version; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Generic; my $PROVIDER = $FusionInventory::Agent::Version::PROVIDER; sub init { my ($self, %params) = @_; $self->{lastConfigLoad} = time; $self->SUPER::init(%params); $self->createDaemon(); # create HTTP interface if required $self->loadHttpInterface(); $self->ApplyServiceOptimizations(); # install signal handler to handle reload signal $SIG{HUP} = sub { $self->reinit(); }; $SIG{USR1} = sub { $self->runNow(); } unless ($OSNAME eq 'MSWin32'); } sub reinit { my ($self) = @_; # Update PID file modification time so we can expire it utime undef,undef,$self->{pidfile} if $self->{pidfile}; $self->{logger}->debug('agent reinit'); $self->{lastConfigLoad} = time; $self->{config}->reload(); # Reload init from parent class $self->SUPER::init(); # Reload HTTP interface if required $self->loadHttpInterface(); $self->ApplyServiceOptimizations(); $self->{logger}->debug('agent reinit done.'); } sub run { my ($self) = @_; my $config = $self->{config}; my $logger = $self->{logger}; $self->setStatus('waiting'); my @targets = $self->getTargets(); if ($logger) { if ($config->{'no-fork'}) { $logger->debug2("Waiting in mainloop"); foreach my $target (@targets) { my $date = $target->getFormatedNextRunDate(); my $type = $target->getType(); my $name = $target->getName(); $logger->debug2("$type target next run: $date - $name"); } } else { $logger->debug("Running in background mode"); } } # background mode: work on a targets list copy, but loop while # the list really exists so we can stop quickly when asked for while ($self->getTargets()) { my $time = time(); @targets = $self->getTargets() unless @targets; my $target = shift @targets; $self->_reloadConfIfNeeded(); if ($target->paused()) { # Leave immediately if we passed in terminate method last unless $self->getTargets(); } elsif ($time >= $target->getNextRunDate()) { my $net_error = 0; eval { $net_error = $self->runTarget($target); }; $logger->error($EVAL_ERROR) if ($EVAL_ERROR && $logger); if ($net_error) { # Prefer to retry early on net error $target->setNextRunDateFromNow(60); } else { $target->resetNextRunDate(); } if ($logger && $config->{'no-fork'}) { my $date = $target->getFormatedNextRunDate(); my $type = $target->getType(); $logger->debug2("$type target scheduled: $date"); } # Leave immediately if we passed in terminate method last unless $self->getTargets(); # Call service optimization after each target run $self->RunningServiceOptimization(); } # This eventually check for http messages, default timeout is 1 second $self->sleep(1); } } sub runNow { my ($self) = @_; foreach my $target ($self->getTargets()) { $target->setNextRunDateFromNow(); } $self->{logger}->info("$PROVIDER Agent requested to run all targets now"); } sub _reloadConfIfNeeded { my ($self) = @_; my $reloadInterval = $self->{config}->{'conf-reload-interval'} || 0; return unless ($reloadInterval > 0); my $reload = time - $self->{lastConfigLoad} - $reloadInterval; $self->reinit() if ($reload > 0); } sub runTask { my ($self, $target, $name, $response) = @_; $self->setStatus("running task $name"); # server mode: run each task in a child process if (my $pid = fork()) { # parent $self->{current_runtask} = $pid; while (waitpid($pid, WNOHANG) == 0) { # Wait but eventually handle http server requests $self->sleep(1); # Leave earlier while requested last unless $self->getTargets(); } delete $self->{current_runtask}; } else { # child die "fork failed: $ERRNO\n" unless defined $pid; # Don't handle HTTPD interface in forked child delete $self->{server}; delete $self->{pidfile}; delete $self->{_fork}; # Mostly to update process name on unix platforms $self->setStatus("task $name"); $self->{logger}->debug("forking process $$ to handle task $name"); $self->runTaskReal($target, $name, $response); exit(0); } } sub createDaemon { my ($self) = @_; my $config = $self->{config}; my $logger = $self->{logger}; # Don't try to create a daemon if configured as a service return $logger->info("$PROVIDER Agent service starting") if $config->{service}; $logger->info("$PROVIDER Agent starting"); my $pidfile = $config->{pidfile}; if (defined($pidfile) && $pidfile eq "") { # Set to default pidfile only when needed $pidfile = $self->{vardir} . '/'. lc($PROVIDER). '-agent.pid'; $logger->debug("Using $pidfile as default PID file") if $logger; } elsif (!$pidfile) { $logger->debug("Skipping running daemon control based on PID file checking") if $logger; } # Expire PID file if daemon is not running while conf-reload-interval is # in use and PID file has not been update since, including a minute safety gap if ($pidfile && -e $pidfile && $self->{config}->{'conf-reload-interval'}) { my $mtime = (stat($pidfile))[9]; if ($mtime && $mtime < time - $self->{config}->{'conf-reload-interval'} - 60) { $logger->info("$pidfile PID file expired") if $logger; unlink $pidfile; } } my $daemon; Proc::Daemon->require(); if ($EVAL_ERROR) { $logger->debug("Failed to load recommended Proc::Daemon library: $EVAL_ERROR") if $logger; # Eventually check running process from pid found in pid file if ($pidfile) { my $pid = getFirstLine(file => $pidfile); if ($pid && int($pid)) { $logger->debug2("Last running daemon started with PID $pid") if $logger; if ($pid != $$ && kill(0, $pid)) { $logger->error("$PROVIDER Agent is already running, exiting...") if $logger; exit 1; } $logger->debug("$PROVIDER Agent with PID $pid is dead") if $logger; } } } else { # If we use relative path, we must stay in the current directory my $workdir = substr($self->{libdir}, 0, 1) eq '/' ? '/' : getcwd(); # Be sure to keep libdir in includes or we can fail to load need libraries unshift @INC, $self->{libdir} if ($workdir eq '/' && ! first { $_ eq $self->{libdir} } @INC); $daemon = Proc::Daemon->new( work_dir => $workdir, pid_file => $pidfile ); # Use Proc::Daemon API to check daemon status but it always return false # if pidfile is not used if ($daemon->Status()) { $logger->error("$PROVIDER Agent is already running, exiting...") if $logger; exit 1; } } if ($config->{'no-fork'} || !$daemon) { # Still keep current PID in PID file to permit Proc::Daemon to check status if ($pidfile) { if (open(my $pid, ">", $pidfile)) { print $pid "$$\n"; close($pid); } elsif ($logger) { $logger->debug("Can't write PID file: $!"); undef $pidfile; } } $logger->debug("$PROVIDER Agent started in foreground") if $logger; } elsif (my $pid = $daemon->Init()) { $logger->debug("$PROVIDER Agent daemonized with PID $pid") if $logger; exit 0; } else { # Reload the logger in forked process to avoid some related issues $logger->reload(); } # From here we can enable our pidfile deletion on terminate $self->{pidfile} = $pidfile; # From here we can also support process forking $self->{_fork} = {} unless $self->{_fork}; } sub handleChildren { my ($self) = @_; return unless $self->{_fork}; my @processes = keys(%{$self->{_fork}}); foreach my $pid (@processes) { my $child = $self->{_fork}->{$pid}; # Check if any forked process is communicating delete $child->{in} unless $child->{in} && $child->{in}->opened; if ($child->{in} && $child->{pollin} && $child->{pollin}->poll(0)) { my $msg = " " x 5; if ($child->{in}->sysread($msg, 5)) { $self->{logger}->debug2($child->{name} . "[$pid] message: ".($msg||"n/a")); if ($msg eq IPC_LEAVE) { $self->child_exit($pid); } } } # Check if any forked process has been finished waitpid($pid, WNOHANG) or next; $self->child_exit($pid); delete $self->{_fork}->{$pid}; $self->{logger}->debug2($child->{name} . "[$pid] finished"); } } sub sleep { my ($self, $delay) = @_; # Check if any forked process has been finished or is speaking $self->handleChildren(); eval { local $SIG{PIPE} = 'IGNORE'; # Check for http interface messages, default timeout is 1 second unless ($self->{server} && $self->{server}->handleRequests()) { delay($delay || 1); } }; $self->{logger}->error($EVAL_ERROR) if ($EVAL_ERROR && $self->{logger}); } sub fork { my ($self, %params) = @_; # Only fork if we are authorized return unless $self->{_fork}; my ($child_ipc, $parent_ipc, $ipc_poller); my $logger = $self->{logger}; my $name = $params{name} || "child"; my $info = $params{description} || "$name job"; # Try to setup an optimized internal IPC based on IO::Pipe & IO::Poll objects IO::Pipe->require(); if ($EVAL_ERROR) { $logger->debug("Can't use IO::Pipe for internal IPC support: $!"); } else { unless ($child_ipc = IO::Pipe->new()) { $logger->debug("forking $name process without IO::Pipe support: $!"); } if ($child_ipc && not $parent_ipc = IO::Pipe->new()) { $logger->debug("forking $name process without IO::Pipe support: $!"); } IO::Poll->require(); if ($EVAL_ERROR) { $logger->debug("Can't use IO::Poll to support internal IPC: $!"); } else { $ipc_poller = IO::Poll->new(); } } my $pid = fork(); unless (defined($pid)) { $logger->error("Can't fork a $name process: $!"); return; } if ($pid) { # In parent $self->{_fork}->{$pid} = { name => $name }; if ($child_ipc && $parent_ipc) { # Try to setup an optimized internal IPC based on IO::Pipe objects $child_ipc->reader(); $parent_ipc->writer(); if ($ipc_poller) { $ipc_poller->mask($child_ipc => IO::Poll::POLLIN); $self->{_fork}->{$pid}->{pollin} = $ipc_poller; } $self->{_fork}->{$pid}->{in} = $child_ipc; $self->{_fork}->{$pid}->{out} = $parent_ipc; } $logger->debug("forking process $pid to handle $info"); } else { # In child $self->setStatus("processing $info"); delete $self->{server}; delete $self->{pidfile}; delete $self->{current_runtask}; delete $self->{_fork}; if ($child_ipc && $parent_ipc) { # Try to setup an optimized internal IPC based on IO::Pipe objects $child_ipc->writer(); $parent_ipc->reader(); if ($ipc_poller) { $ipc_poller->mask($parent_ipc => IO::Poll::POLLIN); $self->{_ipc_pollin} = $ipc_poller; } $self->{_ipc_in} = $parent_ipc; $self->{_ipc_out} = $child_ipc; } $self->{_forked} = 1; $logger->debug2("$name\[$$]: forked"); } return $pid; } sub forked { my ($self, %params) = @_; return 1 if $self->{_forked}; return 0 unless $self->{_fork} && $params{name}; # Be sure finished children are forgotten before counting forked named children $self->handleChildren(); my @forked = grep { $self->{_fork}->{$_}->{name} eq $params{name} && kill 0, $_ } keys(%{$self->{_fork}}); return scalar(@forked); } sub fork_exit { my ($self) = @_; return unless $self->forked(); if ($self->{_ipc_out}) { $self->{_ipc_out}->syswrite(IPC_LEAVE); $self->{_ipc_out}->close(); delete $self->{_ipc_out}; } if ($self->{_ipc_in}) { $self->{_ipc_in}->close(); delete $self->{_ipc_in}; delete $self->{_ipc_pollin}; } exit(0); } sub child_exit { my ($self, $pid) = @_; if ($self->{_fork} && $self->{_fork}->{$pid}) { my $child = $self->{_fork}->{$pid}; if ($child->{out}) { $child->{out}->close(); delete $child->{out}; } if ($child->{in}) { $child->{in}->close(); delete $child->{in}; delete $child->{pollin}; } } } sub loadHttpInterface { my ($self) = @_; my $config = $self->{config}; if ($config->{'no-httpd'}) { # Handle re-init case if ($self->{server}) { $self->{server}->stop() ; delete $self->{server}; } return; } my $logger = $self->{logger}; my %server_config = ( logger => $logger, agent => $self, htmldir => $self->{datadir} . '/html', ip => $config->{'httpd-ip'}, port => $config->{'httpd-port'}, trust => $config->{'httpd-trust'} ); # Handle re-init, don't restart httpd interface unless config changed if ($self->{server}) { return unless $self->{server}->needToRestart(%server_config); $self->{server}->stop(); delete $self->{server}; } FusionInventory::Agent::HTTP::Server->require(); if ($EVAL_ERROR) { $logger->error("Failed to load HTTP server: $EVAL_ERROR"); } else { $self->{server} = FusionInventory::Agent::HTTP::Server->new(%server_config); $self->{server}->init(); } } sub ApplyServiceOptimizations { my ($self) = @_; # Preload all IDS databases to avoid reload them all the time during inventory my @planned = map { $_->plannedTasks() } $self->getTargets(); if (grep { /^inventory$/i } @planned) { my %datadir = ( datadir => $self->{datadir} ); getPCIDeviceVendor(%datadir); getUSBDeviceVendor(%datadir); getEDIDVendor(%datadir); } } sub RunningServiceOptimization { my ($self) = @_; } sub terminate { my ($self) = @_; # Handle forked processes $self->fork_exit(); my $children = delete $self->{_fork}; if ($children) { my @pids = keys(%{$children}); foreach my $pid (@pids) { $self->child_exit($pid); kill 'TERM', $pid; } } # Still stop HTTP interface $self->{server}->stop() if ($self->{server}); $self->{logger}->info("$PROVIDER Agent exiting ($$)") unless ($self->{current_task} || $self->forked()); $self->SUPER::terminate(); # Kill current forked task if ($self->{current_runtask}) { kill 'TERM', $self->{current_runtask}; delete $self->{current_runtask}; } # Remove pidfile unlink $self->{pidfile} if $self->{pidfile}; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools.pm0000644000175000017500000004506513753417600024407 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools; use strict; use warnings; use parent 'Exporter'; use Encode qw(encode); use English qw(-no_match_vars); use File::Basename; use File::Spec; use File::stat; use File::Which; use Memoize; use UNIVERSAL::require; use FusionInventory::Agent::Tools::Expiration; # Keep a copy of @ARGV, only for Provider inventory BEGIN { our $ARGV = [ @ARGV ]; } our $ARGV; our @EXPORT = qw( first getDirectoryHandle getFileHandle getFormatedLocalTime getFormatedGMTTime getFormatedDate getCanonicalManufacturer getCanonicalSpeed getCanonicalInterfaceSpeed getCanonicalSize getSanitizedString getUtf8String trimWhitespace getFirstLine getFirstMatch getLastLine getAllLines getLinesCount compareVersion canRun hex2char hex2dec dec2hex any all none uniq file2module module2file runFunction delay slurp ); # this trigger some errors under win32: # Anonymous function called in forbidden scalar context if ($OSNAME ne 'MSWin32') { memoize('canRun'); } # Avoid List::Util dependency re-using 'any' sub as template sub first (&@) { ## no critic (SubroutinePrototypes) my $f = shift; ## no critic (ExplicitReturnUndef) foreach ( @_ ) { return $_ if $f->(); } return undef; } sub getFormatedLocalTime { my ($time) = @_; return unless $time; my ($year, $month , $day, $hour, $min, $sec) = (localtime ($time))[5, 4, 3, 2, 1, 0]; return getFormatedDate( ($year + 1900), ($month + 1), $day, $hour, $min, $sec ); } sub getFormatedGMTTime { my ($time) = @_; my ($year, $month , $day, $hour, $min, $sec) = (gmtime ($time))[5, 4, 3, 2, 1, 0]; return getFormatedDate( ($year - 70), $month, ($day - 1), $hour, $min, $sec ); } sub getFormatedDate { my ($year, $month, $day, $hour, $min, $sec) = @_; return sprintf "%02d-%02d-%02d %02d:%02d:%02d", $year, $month, $day, $hour, $min, $sec; } sub getCanonicalManufacturer { my ($manufacturer) = @_; return unless $manufacturer; my %manufacturers = ( GenuineIntel => 'Intel', AuthenticAMD => 'AMD', TMx86 => 'Transmeta', TransmetaCPU => 'Transmeta', CyrixInstead => 'Cyrix', CentaurHauls => 'VIA', HygonGenuine => 'Hygon' ); my %regexp = ( "Apple" => qr/^APPLE/i, "Hewlett-Packard" => qr/^(hp|HPE?|(?i)hewlett[ -]packard)/, "Hitachi" => qr/^(HD|IC|HU|HGST)/, "Seagate" => qr/^(ST|(?i)seagate)/, "Sony" => qr/^OPTIARC/i, "Western Digital" => qr/^(WDC|(?i)western)/, ); if (exists $manufacturers{$manufacturer}) { $manufacturer = $manufacturers{$manufacturer}; } elsif ($manufacturer =~ /( \blg\b | broadcom | compaq | dell | fujitsu | hitachi | ibm | intel | matshita | maxtor | nvidia | \bnec\b | pioneer | samsung | sony | supermicro | toshiba | transcend )/xi) { $manufacturer = ucfirst(lc($1)); } else { my $match = first { $manufacturer =~ $regexp{$_} } keys %regexp; $manufacturer = $match if $match; } return $manufacturer; } sub getCanonicalSpeed { my ($speed) = @_; ## no critic (ExplicitReturnUndef) return undef unless $speed; return $speed if $speed =~ /^([,.\d]+)$/; return 400 if $speed =~ /^PC3200U/; return undef unless $speed =~ /^([,.\d]+) \s? (\S+)/x; my $value = $1; my $unit = lc($2); # Remark: we need to return speed in MHz. Even if MT/s is not accurately # equivalent to MHz, we nned to return the value so server can extract it return $unit eq 'ghz' ? $value * 1000 : $unit eq 'mhz' ? $value : $unit eq 'mt/s' ? $value : undef ; } sub getCanonicalInterfaceSpeed { # Expected unit is Mb/s as specified in inventory protocol my ($speed) = @_; ## no critic (ExplicitReturnUndef) return undef unless $speed; return undef unless $speed =~ /^([,.\d]+) \s? (\S\S)\S*$/x; my $value = $1; my $unit = lc($2); return $unit eq 'gb' ? $value * 1000 : $unit eq 'mb' ? $value : $unit eq 'kb' ? int($value / 1000) : undef ; } sub getCanonicalSize { my ($size, $base) = @_; $base ||= 1000; ## no critic (ExplicitReturnUndef) return undef unless $size; return $size if $size =~ /^\d+$/; $size =~ s/ //g; return undef unless $size =~ /^([,.\d]+) (\S+)$/x; my $value = $1; my $unit = lc($2); # check if the number has groups separated by commas or spaces if ($value =~ /^(0|[1-9](\d*|\d{0,2}([, ]\d{3})+))(\.\d+)?$/) { $value =~ s/,| //g; } else { $value =~ s/,/\./; } return $unit eq 'tb' ? $value * $base * $base : $unit eq 'gb' ? $value * $base : $unit eq 'mb' ? $value : $unit eq 'kb' ? int($value / ($base)) : $unit eq 'bytes' ? int($value / ($base * $base)) : undef ; } sub compareVersion { my ($major, $minor, $min_major, $min_minor) = @_; $major = 0 unless $major; $minor = 0 unless $minor; $min_major = 0 unless $min_major; $min_minor = 0 unless $min_minor; return $major > $min_major || ( $major == $min_major && $minor >= $min_minor ); } sub getUtf8String { my ($string) = @_; return unless defined $string; # encode to utf-8 if needed if (!Encode::is_utf8($string) && $string !~ m/\A( [\x09\x0A\x0D\x20-\x7E] # ASCII | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3 | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15 | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16 )*\z/x) { $string = encode("UTF-8", $string); }; return $string; } sub getSanitizedString { my ($string) = @_; return unless defined $string; # clean control caracters $string =~ s/[[:cntrl:]]//g; return getUtf8String($string); } sub trimWhitespace { my ($value) = @_; $value =~ s/^\s+//; $value =~ s/\s+$//; $value =~ s/\s+/ /g; return $value; } sub getDirectoryHandle { my (%params) = @_; die "no directory parameter given" unless $params{directory}; my $handle; if (!opendir $handle, $params{directory}) { $params{logger}->error("Can't open directory $params{directory}: $ERRNO") if $params{logger}; return; } return $handle; } my $cmdtemplate = $OSNAME eq 'MSWin32' ? "%s 2>nul" : "exec %s 2>/dev/null"; sub getFileHandle { my (%params) = @_; my $handle; SWITCH: { if ($params{file}) { if (!open $handle, '<', $params{file}) { $params{logger}->error( "Can't open file $params{file}: $ERRNO" ) if $params{logger}; return; } last SWITCH; } if ($params{command}) { # FIXME: 'Bad file descriptor' error message on Windows $params{logger}->debug2("executing $params{command}") if $params{logger}; # Turn off localised output for commands local $ENV{LC_ALL} = 'C'; local $ENV{LANG} = 'C'; # Ignore 'Broken Pipe' warnings on Solaris local $SIG{PIPE} = 'IGNORE' if $OSNAME eq 'solaris'; my $command = sprintf($cmdtemplate, $params{command}); my $cmdpid = open($handle, '-|', $command); if (!$cmdpid) { $params{logger}->error( "Can't run command $params{command}: $ERRNO" ) if $params{logger}; return; } # Kill command if a timeout was set $SIG{ALRM} = sub { kill 'KILL', $cmdpid ; die "alarm\n"; } if $SIG{ALRM}; last SWITCH; } if ($params{string}) { open $handle, "<", \$params{string} or die; last SWITCH; } die "neither command, file or string parameter given"; } return $handle; } sub getFirstLine { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my $result = <$handle>; close $handle; chomp $result if defined $result; return $result; } sub getLastLine { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my $result; while (my $line = <$handle>) { $result = $line; } close $handle; chomp $result if defined $result; return $result; } sub getFirstMatch { my (%params) = @_; return unless $params{pattern}; my $handle = getFileHandle(%params); return unless $handle; my @results; while (my $line = <$handle>) { @results = $line =~ $params{pattern}; last if @results; } close $handle; return wantarray ? @results : first { defined $_ } @results; } sub getAllLines { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; if (wantarray) { my @lines = map { chomp; $_ } <$handle>; close $handle; return @lines; } else { local $RS; my $lines = <$handle>; close $handle; return $lines; } } sub getLinesCount { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my $count = 0; while (my $line = <$handle>) { $count++; } close $handle; return $count; } sub canRun { my ($binary) = @_; return $binary =~ m{^/} ? -x $binary : # full path scalar(which($binary)); # executable name } sub hex2char { my ($value) = @_; ## no critic (ExplicitReturnUndef) return undef unless defined $value; return $value unless $value =~ /^0x/; $value =~ s/^0x//; # drop hex prefix return pack('H*', $value); } sub hex2dec { my ($value) = @_; ## no critic (ExplicitReturnUndef) return undef unless defined $value; return $value unless $value =~ /^0x/; return oct($value); } sub dec2hex { my ($value) = @_; ## no critic (ExplicitReturnUndef) return undef unless defined $value; return $value if $value =~ /^0x/; return sprintf("0x%x", $value); } # shamelessly imported from List::MoreUtils to avoid a dependency sub any (&@) { ## no critic (SubroutinePrototypes) my $f = shift; foreach ( @_ ) { return 1 if $f->(); } return 0; } sub all (&@) { ## no critic (SubroutinePrototypes) my $f = shift; foreach ( @_ ) { return 0 unless $f->(); } return 1; } sub none (&@) { ## no critic (SubroutinePrototypes) my $f = shift; foreach ( @_ ) { return 0 if $f->(); } return 1; } sub uniq (@) { ## no critic (SubroutinePrototypes) my %seen = (); grep { not $seen{$_}++ } @_; } sub file2module { my ($file) = @_; $file =~ s{.pm$}{}; $file =~ s{/}{::}g; return $file; } sub module2file { my ($module) = @_; $module .= '.pm'; $module =~ s{::}{/}g; return $module; } sub runFunction { my (%params) = @_; my $logger = $params{logger}; # ensure module is loaded if ($params{load}) { $params{module}->require(); if ($EVAL_ERROR) { $logger->debug("Failed to load $params{module}: $EVAL_ERROR") if $logger; return; } } my $result; eval { local $SIG{ALRM} = sub { die "alarm\n" }; # set a timeout if needed if ($params{timeout}) { alarm $params{timeout}; setExpirationTime(timeout => $params{timeout}); } no strict 'refs'; ## no critic (ProhibitNoStrict) $result = &{$params{module} . '::' . $params{function}}( ref $params{params} eq 'HASH' ? %{$params{params}} : ref $params{params} eq 'ARRAY' ? @{$params{params}} : $params{params} ); # Reset timeout alarm 0; setExpirationTime(); }; if ($EVAL_ERROR) { my $message = $EVAL_ERROR eq "alarm\n" ? "$params{module} killed by a timeout" : "unexpected error in $params{module}: $EVAL_ERROR"; $logger->debug($message) if $logger; } return $result; } sub delay { my ($delay) = @_; if ($OSNAME eq 'MSWin32') { Win32->require(); Win32::Sleep($delay*1000); } else { sleep($delay); } } sub slurp { my($file) = @_; my $handler; return unless open $handler, '<', $file; local $INPUT_RECORD_SEPARATOR; # Set input to "slurp" mode. my $content = <$handler>; close $handler; return $content; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools - OS-independent generic functions =head1 DESCRIPTION This module provides some OS-independent generic functions. =head1 FUNCTIONS =head2 getFormatedLocalTime($time) Returns a formated date from given Unix timestamp. =head2 getFormatedGMTTime($time) Returns a formated date from given Unix timestamp. =head2 getFormatedDate($year, $month, $day, $hour, $min, $sec) Returns a formated date from given date elements. =head2 getCanonicalManufacturer($manufacturer) Returns a normalized manufacturer value for given one. =head2 getCanonicalSpeed($speed) Returns a normalized speed value (in Mhz) for given one. =head2 getCanonicalInterfaceSpeed($speed) Returns a normalized network interface speed value (in Mb/s) for given one. =head2 getCanonicalSize($size, $base) Returns a normalized size value (in Mb) for given one. =head2 getSanitizedString($string) Returns the input stripped from any control character, properly encoded in UTF-8. =head2 getUtf8String($string) Returns the input properly encoded in UTF-8. =head2 trimWhitespace($string) Remove leading and trailing whitespace, and fold multiple whitespace characters into a single one. =head2 compareVersion($major, $minor, $min_major, $min_minor) Returns true if software with given major and minor version meet minimal version requirements. =head2 getDirectoryHandle(%params) Returns an open file handle on either a command output, or a file. =over =item logger a logger object =item directory the directory to use =back =head2 getFileHandle(%params) Returns an open file handle on either a command output, a file, or a string. =over =item logger a logger object =item command the command to use =item file the file to use, as an alternative to the command =item string the string to use, as an alternative to the command =back =head2 getFirstLine(%params) Returns the first line of given command output or given file content, with end of line removed. =over =item logger a logger object =item command the exact command to use =item file the file to use, as an alternative to the command =back =head2 getAllLines(%params) Returns all the lines of given command output or given file content, as a list of strings with end of line removed in list context, as a single string otherwise. =over =item logger a logger object =item command the exact command to use =item file the file to use, as an alternative to the command =back =head2 getFirstMatch(%params) Returns the result of applying given pattern on the first matching line of given command output or given file content. =over =item pattern a regexp =item logger a logger object =item command the exact command to use =item file the file to use, as an alternative to the command =back =head2 getLastLine(%params) Returns the last line of given command output or given file content. =over =item logger a logger object =item command the exact command to use =item file the file to use, as an alternative to the command =back =head2 getLinesCount(%params) Returns the number of lines of given command output or given file content. =over =item logger a logger object =item command the exact command to use =item file the file to use, as an alternative to the command =back =head2 canRun($binary) Returns true if given binary can be executed. =head2 canRead($file) Returns true if given file can be read. =head2 canLoad($module) Returns true if given perl module can be loaded (and actually loads it). =head2 hex2char($value) Returns the value converted to a character if it starts with hexadecimal prefix, the unconverted value otherwise. Eg. 0x41 -> A, 41 -> 41. =head2 hex2dec($value) Returns the value converted to a decimal if it starts with hexadecimal prefix, the unconverted value otherwise. Eg. 0x41 -> 65, 41 -> 41. =head2 dec2hex($value) Returns the value converted to an hexadecimal if it doesn't start with hexadecimal prefix, the unconverted value otherwise. Eg. 65 -> 0x41, 0x41 -> 0x41. =head2 any BLOCK LIST Returns a true value if any item in LIST meets the criterion given through BLOCK. =head2 first BLOCK LIST Returns the first value from LIST meeting the criterion given through BLOCK or undef. =head2 all BLOCK LIST Returns a true value if all items in LIST meet the criterion given through BLOCK. =head2 none BLOCK LIST Returns a true value if no item in LIST meets the criterion given through BLOCK. =head2 uniq BLOCK LIST Returns a new list by stripping duplicate values in LIST. =head2 file2module($string) Converts a perl file name to a perl module name (Foo/Bar.pm -> Foo::Bar) =head2 module2file($string) Converts a perl module name to a perl file name ( Foo::Bar -> Foo/Bar.pm) =head2 runFunction(%params) Run a function whose name is computed at runtime and return its result. =over =item logger a logger object =item module the function namespace =item function the function name =item timeout timeout for function execution =item load enforce module loading first =back =head2 delay($second) Wait for $second. It uses sleep() or Win32::Sleep() depending on the Operating System. =head2 slurp($file) Return the content of a given file. =head2 isParamArrayAndFilled($hash, $paramName) Return if $hash has a key $paramName which value is a ARRAY ref not empty. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Daemon/0000755000175000017500000000000013757703277024156 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Daemon/Win32.pm0000644000175000017500000002574013712210012025371 0ustar gbougardgbougardpackage FusionInventory::Agent::Daemon::Win32; use strict; use warnings; use threads; use threads 'exit' => 'threads_only'; use File::Spec; use Cwd qw(abs_path); use Time::HiRes qw(usleep); use constant SERVICE_USLEEP_TIME => 200_000; # in microseconds use Win32; use Win32::Daemon; use FusionInventory::Agent::Version; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Win32; use parent qw(FusionInventory::Agent::Daemon); my $PROVIDER = $FusionInventory::Agent::Version::PROVIDER; sub SERVICE_NAME { lc($PROVIDER) . "-agent"; } sub SERVICE_DISPLAYNAME { "$PROVIDER Agent"; } sub new { my ($class, %params) = @_; my $self = $class->SUPER::new(%params); $self->{last_state} = SERVICE_START_PENDING; bless $self, $class; return $self; } sub name { my ($self, $name) = @_; $self->{_name} = $name if $name; return $self->{_name} || SERVICE_NAME; } sub displayname { my ($self, $displayname) = @_; $self->{_displayname} = $displayname if $displayname; return $self->{_displayname} || SERVICE_DISPLAYNAME; } sub RegisterService { my ($self, %options) = @_; my $libdir = $options{libdir} || $self->{libdir} ; my $params = '"' . $options{program} . '"'; # Try to compute libdir from this module file if still not absolute $libdir = abs_path(File::Spec->rel2abs('../../../../..', __FILE__)) unless ($libdir && File::Spec->file_name_is_absolute($libdir) && -d $libdir); # Add path to lib if setup $params = '-I"' . $libdir . '" ' . $params if ($libdir && -d $libdir); my $service = { name => $self->name( $options{name} ), display => $self->displayname( $options{displayname} ), path => "$^X", parameters => $params }; if (!Win32::Daemon::CreateService($service)) { my $lasterr = Win32::Daemon::GetLastError(); if ($lasterr == 1073) { warn "Service still registered\n"; } elsif ($lasterr == 1072) { warn "Service marked for deletion.\n" . "Computer must be rebooted to register the same service name\n"; return 1; } else { my $error = Win32::FormatMessage($lasterr); warn "Service not registered: $lasterr: $error\n"; return 2; } } return 0; } sub DeleteService { my ($self, %options) = @_; if (!Win32::Daemon::DeleteService("",$self->name( $options{name} ))) { my $lasterr = Win32::Daemon::GetLastError(); if ($lasterr == 1060) { warn "Service not found\n"; } elsif ($lasterr == 1072) { warn "Service still marked for deletion. Computer must be rebooted\n"; return 1; } else { my $error = Win32::FormatMessage($lasterr); warn "Service not removed $lasterr: $error\n"; return 2; } } return 0; } sub StartService { my ($self) = @_; Win32::Daemon::StartService(); my $timer = time; my $lastQuery = 0; my $State = Win32::Daemon::State(); # Wait until service control manager is ready while ($State == SERVICE_NOT_READY) { usleep( SERVICE_USLEEP_TIME ); $State = Win32::Daemon::State(); } $State = Win32::Daemon::State( SERVICE_START_PENDING ); $self->{last_state} = $State; while ( SERVICE_STOPPED != $State) { if ( SERVICE_START_PENDING == $State ) { $self->_start_agent(); } elsif ( SERVICE_STOP_PENDING == $State ) { $self->_stop_agent(); last; } elsif ( SERVICE_PAUSE_PENDING == $State ) { if ($State != $self->{last_state} || time-$timer >= 10) { if ($self->{agent_thread} && $self->{agent_thread}->is_running()) { $self->{agent_thread}->kill('SIGSTOP'); } else { $self->{last_state} = SERVICE_STOP_PENDING; } $timer = time; } my @targets = $self->getTargets(); if ( scalar(grep { $_->paused() } @targets) == @targets ) { $self->{last_state} = SERVICE_PAUSED; $self->ApplyServiceOptimizations(); } else { $self->{last_state} = SERVICE_PAUSE_PENDING; } } elsif ( SERVICE_CONTINUE_PENDING == $State ) { if ($State != $self->{last_state} || time-$timer >= 10) { if ($self->{agent_thread} && $self->{agent_thread}->is_running()) { $self->{agent_thread}->kill('SIGCONT'); } else { $self->{last_state} = SERVICE_STOP_PENDING; } $timer = time; } my @targets = $self->getTargets(); if ( scalar(grep { $_->paused() } @targets) == 0 ) { $self->{last_state} = SERVICE_RUNNING; } else { $self->{last_state} = SERVICE_CONTINUE_PENDING; } } elsif ( SERVICE_PAUSED == $State ) { $self->{last_state} = $self->{agent_thread} && $self->{agent_thread}->is_running() ? SERVICE_PAUSED : SERVICE_STOP_PENDING ; } elsif ( SERVICE_RUNNING == $State ) { $self->{last_state} = $self->{agent_thread} && $self->{agent_thread}->is_running() ? SERVICE_RUNNING : SERVICE_STOP_PENDING ; } my $Query = Win32::Daemon::QueryLastMessage(); if ( $Query == SERVICE_CONTROL_INTERROGATE ) { Win32::Daemon::State( $self->{last_state} ); } elsif ($Query != $lastQuery && $Query != 0xFFFFFFFF) { $lastQuery = $Query; } if ( time-$timer >= 10 || $self->{last_state} != $State ) { Win32::Daemon::State( $self->{last_state}, 10000 ); $timer = time; } usleep( SERVICE_USLEEP_TIME ); $State = Win32::Daemon::State(); } Win32::Daemon::State(SERVICE_STOPPED); Win32::Daemon::StopService(); } sub AcceptedControls { my ($self, $controls) = @_; $controls = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN | SERVICE_ACCEPT_PAUSE_CONTINUE unless $controls; Win32::Daemon::AcceptedControls($controls); } sub _start_agent { my ($self) = @_; # Start service dedicated thread only if required unless (defined($self->{agent_thread})) { # Start agent in a dedicated thread $self->{agent_thread} = threads->create(sub { # First start a thread dedicated to Win32::OLE calls $self->{worker_thread} = FusionInventory::Agent::Tools::Win32::start_Win32_OLE_Worker(); $self->init(options => { service => 1 }); # install signal handler to handle pause/continue signals $SIG{STOP} = sub { $self->Pause(); }; $SIG{CONT} = sub { $self->Continue(); }; $self->run(); }); } Win32::Daemon::State(SERVICE_RUNNING); } sub _stop_agent { my ($self) = @_; my $timer = time-1; my $tries = 10; while ( $self->{agent_thread} ) { if ($self->{agent_thread}->is_running() && time-$timer >= 1) { $self->{agent_thread}->kill('SIGINT'); Win32::Daemon::State(SERVICE_STOP_PENDING, $tries * 1000); if (!$tries-- && !$self->{agent_thread}->is_detached()) { $self->{agent_thread}->detach(); last; } $timer = time; } elsif ($self->{agent_thread}->is_joinable()) { $self->{agent_thread}->join(); last; } usleep( SERVICE_USLEEP_TIME ); } delete $self->{agent_thread}; } sub Pause { my ($self) = @_; # Abort task thread if running if ($self->{task_thread} && $self->{task_thread}->is_running()) { $self->{task_thread}->kill('SIGINT')->detach(); delete $self->{task_thread}; } foreach my $target ($self->getTargets()) { $target->pause(); } $self->setStatus('paused'); $self->{logger}->info("$PROVIDER Agent paused") if $self->{logger}; } sub Continue { my ($self) = @_; $self->setStatus('waiting'); foreach my $target ($self->getTargets()) { $target->continue(); } $self->{logger}->info("$PROVIDER Agent resumed") if $self->{logger}; } sub ApplyServiceOptimizations { my ($self) = @_; # Setup worker Logger after service Logger FusionInventory::Agent::Tools::Win32::setupWorkerLogger(config => $self->{config}); $self->SUPER::ApplyServiceOptimizations(); # Win32 only service optimization # Preload is64bit result to avoid a lot of WMI calls is64bit(); # Also call running service optimization to free memory $self->RunningServiceOptimization(); } sub RunningServiceOptimization { my ($self) = @_; # win32 platform needs optimization if ($self->{logger} && $self->{logger}->debug_level()) { my ($WorkingSetSize, $PageFileUsage) = getAgentMemorySize(); # WSS=Working Set Size - PFU=Page File Usage $self->{logger}->debug("Agent memory usage before freeing memory: WSS=$WorkingSetSize PFU=$PageFileUsage") unless $WorkingSetSize < 0; } # Make working set memory available for the system FreeAgentMem(); if ($self->{logger}) { my ($WorkingSetSize, $PageFileUsage) = getAgentMemorySize(); $self->{logger}->info("$PROVIDER Agent memory usage: WSS=$WorkingSetSize PFU=$PageFileUsage") unless $WorkingSetSize < 0; } } sub terminate { my ($self) = @_; # Abort task thread if running if ($self->{task_thread} && $self->{task_thread}->is_running()) { $self->{task_thread}->kill('SIGINT')->detach(); delete $self->{task_thread}; } # Abort Win32::OLE worker thread if running if ($self->{worker_thread} && $self->{worker_thread}->is_running()) { $self->{worker_thread}->kill('SIGKILL')->detach(); delete $self->{worker_thread}; } $self->SUPER::terminate(); threads->exit(); } sub runTask { my ($self, $target, $name, $response) = @_; $self->setStatus("running task $name"); # service mode: run each task in a dedicated thread $self->{task_thread} = threads->create(sub { # We don't handle HTTPD interface in this thread delete $self->{server}; my $tid = threads->tid; # install signal handler to handle STOP/INT/TERM signals $SIG{STOP} = $SIG{INT} = $SIG{TERM} = sub { $self->{logger}->debug("aborting thread $tid which was handling task $name"); threads->exit(); }; $self->{logger}->debug("new thread $tid to handle task $name"); $self->runTaskReal($target, $name, $response); threads->exit(); }); while ( $self->{task_thread} ) { if ($self->{task_thread}->is_joinable()) { $self->{task_thread}->join(); my $thread = delete $self->{task_thread}; undef $thread; } $self->sleep(1); } } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/0000755000175000017500000000000013757703277023532 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Server/0000755000175000017500000000000013757703277025000 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Server/Plugin.pm0000644000175000017500000001711613712210012026545 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Server::Plugin; use strict; use warnings; use base "FusionInventory::Agent::Config"; use Cwd qw(abs_path); use FusionInventory::Agent::Tools; sub new { my ($class, %params) = @_; my ($name) = $class =~ /::(\w+)$/; my $self = { logger => $params{server}->{logger} || FusionInventory::Agent::Logger->new(), server => $params{server}, name => $name, }; bless $self, $class; # Import _confdir from agent configuration $self->{_confdir} = $self->{server}->{agent}->{config}->{_confdir} if $self->{server}; # Check _confdir imported from FusionInventory::Agent::Config unless ($self->{_confdir} && -d $self->{_confdir}) { # Set absolute confdir from default if replaced by Makefile otherwise search # from current path, mostly useful while running from source $self->{_confdir} = abs_path(File::Spec->rel2abs( $self->{_confdir} || first { -d $_ } qw{ ./etc ../etc } )); } return $self; } sub init { my ($self) = @_; $self->debug("Initializing ".$self->{name}." Server plugin..."); # Load defaults my $defaults = $self->defaults(); foreach my $param (keys(%{$defaults})) { $self->{$param} = $defaults->{$param}; } if ($self->confdir() && $self->config_file()) { my $config = $self->confdir().'/'.$self->config_file(); if (-f $config && -r $config) { $self->debug("Loading ".$self->{name}." Server plugin configuration from $config"); # Load configuration file $self->loadFromFile({file => $config, defaults => $defaults}); } else { $self->debug($self->{name}." Server plugin configuration missing: $config"); } } } # Plugins with greater priority values are used first sub priority { 10 } sub name { my ($self) = @_; return $self->{name}; } # Defaults must be a key-value pair list ref if and only if a config file # is to be read while config_file() method returns a config filename sub defaults { return {}; } sub supported_method { my ($self, $method) = @_; return 1 if $method eq 'GET'; $self->error("invalid request type: $method"); return 0; } sub port { my ($self) = @_; return $self->{port} if ($self->{port} && $self->{port} =~ /^\d+$/ && $self->{port} < 65536); return 0; } # A plugin can be disabled by configuration or by server sub disabled { my ($self) = @_; return ($self->{disabled} && $self->{disabled} !~ /^0|no$/i) ? 1 : 0 ; } sub disable { my ($self) = @_; $self->{disabled} = 1; $self->info("plugin disabled"); } sub log_prefix { return "[http server plugin] "; } sub error { my ($self, $message) = @_; return unless $self->{logger}; $self->{logger}->error( $self->log_prefix() . $message ); } sub info { my ($self, $message) = @_; return unless $self->{logger}; $self->{logger}->info( $self->log_prefix() . $message ); } sub debug { my ($self, $message) = @_; return unless $self->{logger}; $self->{logger}->debug( $self->log_prefix() . $message ); } sub debug2 { my ($self, $message) = @_; return unless $self->{logger}; $self->{logger}->debug2( $self->log_prefix() . $message ); } sub config { my ($self, $name) = @_; return $self->{$name}; } sub config_file {} sub urlMatch {} sub handle {} sub rate_limited { my ($self, $clientIp) = @_; my $maxrate = $self->config('maxrate'); my $maxrate_period = $self->config('maxrate_period') || 3600; return unless $clientIp && $maxrate; my $now = time; $self->{_rate_limitation}->{$clientIp} = [] unless ($self->{_rate_limitation} && $self->{_rate_limitation}->{$clientIp}); my $tries = $self->{_rate_limitation}->{$clientIp}; # First cleanup old tries while (@{$tries} && $tries->[0] < $now - $maxrate_period) { shift @{$tries}; } # Keep try timestamp unless still limited and in the same second push @{$tries}, $now unless (@{$tries} > $maxrate && $tries->[-1] == $now); if (@{$tries} > $maxrate) { my $limit_log = $self->{_rate_limitation_log} || 0; # Also limit logging on heavy load if ($limit_log < $now - 10) { $self->info("request rate limitation applied for remote $clientIp"); if ($self->{_rate_limitation_log_filter}) { $self->info("$self->{_rate_limitation_log_filter} limited requests not logged"); } $self->{_rate_limitation_log_filter} = 0; $self->{_rate_limitation_log} = $now; } else { $self->{_rate_limitation_log_filter} ++; } return 1; } return 0; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Server::Plugin - A class template for embedded HTTP server plugins =head1 DESCRIPTION This is a template class to base on FusionInventory::Agent::HTTP::Server plugins. Plugins purpose is to handle specific requests. =head1 CLASS METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the associated server =back =head1 INSTANCE METHODS =head2 $plugin->urlMatch($path) Returns true if the passed path match the plugin expected URL pattern. =head2 $plugin->handle($client, $request, $clientIp) Handles the matching incoming request. =head2 $plugin->priority() Returns plugin priority against any other plugin (default = 10). Greater priority makes the plugin be used befores lower priority plugins. =head2 $plugin->log_prefix() Should return a log prefix to be used in logging for a plugin. =head2 $plugin->config_file() Can return config filename to be loaded from the config dir, none by default. Config file can contain any key/value pair like the normal agent configuration file. Even include directive could be used. No validation is done during the configuration load. The plugin should carefully check loaded values when used. =head2 $plugin->init() Initializes a plugin, by default, this loads a configuration file if defined and found. =head2 $plugin->config($name) Returns the loaded configuration value for the given value name. =head2 $plugin->error($message) Log error level message using log_prefix =head2 $plugin->info($message) Log information level message using log_prefix =head2 $plugin->debug($message) Log debug level message using log_prefix =head2 $plugin->debug2($message) Log debug2 level message using log_prefix =head2 $plugin->name() Returns the plugin name =head2 $plugin->defaults() Returns a hash ref with default value to be used for not set parameters =head2 $plugin->port() Returns the configurated port or 0 to use the default =head2 $plugin->disable() Disable the plugin =head2 $plugin->disabled() Returns true is a plugin is disabled =head2 $plugin->rate_limited() Returns true if a request reach the rate limitation. The plugin must support the "maxrate" parameter setting it with a default in defaults() API. You can also set "maxrate_period" in defaults, but it could be not set and then 3600 seconds will be used by default. If "maxrate" request count is reach during the "maxrate_period" period in seconds, the API returns true. The API keeps the time access by request by IP and will only keep the access of requests in the "maxrate_period" last seconds. It is not advised to set a high "maxrate". Call this API from your handle() API as soon as possible to avoid any abuse. =head2 $plugin->supported_method($method) Returns true if $method is supported by this plugin. By default, only 'GET' is supported. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Server/SSL.pm0000644000175000017500000001251713712210012025750 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Server::SSL; use strict; use warnings; use English qw(-no_match_vars); use File::Spec; use base "FusionInventory::Agent::HTTP::Server::Plugin"; use FusionInventory::Agent::Tools; our $VERSION = "1.0"; sub log_prefix { return "[ssl server plugin] "; } sub config_file { return "ssl-server-plugin.cfg"; } sub defaults { return { disabled => "yes", ports => 0, # SSL support ssl_cert_file => undef, ssl_key_file => undef, }; } sub init { my ($self) = @_; $self->SUPER::init(@_); # Don't verify SSL configuration if disabled return if $self->disabled(); # Get absolute canonical path $self->{'cert_file'} = File::Spec->rel2abs($self->config('ssl_cert_file'),$self->confdir()) if $self->config('ssl_cert_file'); $self->{'key_file'} = File::Spec->rel2abs($self->config('ssl_key_file'),$self->confdir()) if $self->config('ssl_key_file'); # Check certificate file is set unless ($self->{'cert_file'}) { $self->error("Plugin enabled without certificate file set in configuration"); $self->disable(); $self->info("Plugin disabled on wrong configuration"); return; } # Check certificate file exists unless (-e $self->{'cert_file'}) { $self->error("Plugin enabled but $self->{'cert_file'} certificate file is missing"); $self->disable(); $self->info("Plugin disabled on wrong configuration"); return; } # Check key file exists if set if ($self->{'key_file'} && ! -e $self->{'key_file'}) { $self->error("Plugin enabled but $self->{'key_file'} key file is missing"); $self->disable(); $self->info("Plugin disabled on wrong configuration"); return; } # If key file is missing assume it is included in cert file $self->{'key_file'} = $self->{'cert_file'} unless $self->{'key_file'}; # Setup ports as an array ref $self->{ports} = [ grep { defined && $_ < 65536 } split(/,/, $self->config('ports') || 0) ]; # Load IO::Socket::SSL module IO::Socket::SSL->require(); if ($EVAL_ERROR) { $self->error("HTTPD can't load SSL support: $EVAL_ERROR"); $self->disable(); $self->info("Plugin disabled on wrong configuration"); return; } $self->debug2("Certificate file: $self->{'cert_file'}"); $self->debug2("Key file: $self->{'key_file'}"); # Activate SSL Debug if Stderr is in backends my $DEBUG_SSL = 0; $DEBUG_SSL = grep { ref($_) =~/Stderr$/ } @{$self->{logger}{backends}} if (ref($self->{logger}{backends}) eq 'ARRAY'); $IO::Socket::SSL::DEBUG = 2 if ( $DEBUG_SSL && $self->{logger}->debug_level() >= 2 ); } sub upgrade_SSL { my ($self, $client) = @_; # try to upgrade socket to SSL return HTTP::Daemon::ClientConn::SSL->new( client => $client, plugin => $self, ); } # We use a dedicated package to derivate from IO::Socket::SSL and HTTP::Daemon::ClientConn # We put the package name on a new line to avoid CPAN indexing ## no critic (ProhibitMultiplePackages,ProhibitExplicitISA) package HTTP::Daemon::ClientConn::SSL; use vars qw(@ISA); use English qw(-no_match_vars); @ISA = qw(IO::Socket::SSL HTTP::Daemon::ClientConn); sub new { my ($class, %params) = @_; my $client = $params{client} or return; my $plugin = $params{plugin} or return; eval { # SSL upgrade client IO::Socket::SSL->start_SSL($client, SSL_server => 1, SSL_cert_file => $plugin->{cert_file}, SSL_key_file => $plugin->{key_file}, ) or die "Failed to upgrade socket to SSL: $IO::Socket::SSL::SSL_ERROR\n"; }; if ($EVAL_ERROR) { $plugin->debug("HTTPD can't start SSL session: $EVAL_ERROR"); $client->close(); return; } # Disable Timeout to leave SSL session opened until we get data $client->timeout(0); $plugin->debug("HTTPD started new SSL session"); bless $client, $class; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Server::SSL - An embedded HTTP server plugin providing SSL support on configured port =head1 DESCRIPTION This is a server plugin to enable SSL support on listening ports. =head1 CONFIGURATION =over =item disabled C by default =item ports C<0> by default to use default one Can be a comma separated list of ports, even including 0 to enable it on default port: Example: ports = 443,0 =item ssl_cert_file No default The path to SSL certificate to use. It can be relative to the current configuration folder. =item ssl_key_file No default The path to SSL private key to use. It can be relative to the current configuration folder. =back Defaults can be overrided in C file or better in the C if included from C. OpenSSL can be used to generate private key/certificate files pair. The following command can be used: openssl req -x509 -newkey rsa:2048 -keyout etc/key.pem -out etc/cert.pem \ -days 3650 -sha256 -nodes -subj "/CN=$HOSTNAME" FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Server/SecondaryProxy.pm0000644000175000017500000000321013712210012030266 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Server::SecondaryProxy; use strict; use warnings; use English qw(-no_match_vars); use base "FusionInventory::Agent::HTTP::Server::Proxy"; use FusionInventory::Agent::Tools; use FusionInventory::Agent::HTTP::Client::OCS; our $VERSION = "1.1"; sub log_prefix { return "[proxy2 server plugin] "; } sub config_file { return "proxy2-server-plugin.cfg"; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Server::SecondaryProxy - An embedded HTTP server plugin providing a secondary proxy for agents not able to contact the server. Useful if you need to open a proxy on 2 different ports and even one with SSL support. =head1 DESCRIPTION This is a server plugin to pass inventory toward a server. It listens on port 62354 by default. The following default requests are accepted: =over =item /proxy/fusioninventory =item /proxy/apiversion =back =head1 CONFIGURATION =over =item disabled C by default =item url_path C by default =item port C<0> by default to use default one =item prolog_freq C<24> by default, this is the delay agents will finally recontact the proxy =item local_store empty by default,this is the folder where to store inventories =item only_local_store C by default, set it to C to not submit inventories to server. =item maxrate C<30> by default =item maxrate_period C<3600> (in seconds) by default. =back Defaults can be overrided in C file or better in the C if included from C. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Server/Proxy.pm0000644000175000017500000003016713712210012026431 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Server::Proxy; use strict; use warnings; use English qw(-no_match_vars); use XML::TreePP; use XML::XPath; use Compress::Zlib; use File::Temp; use base "FusionInventory::Agent::HTTP::Server::Plugin"; use FusionInventory::Agent::Tools; use FusionInventory::Agent::HTTP::Client::OCS; our $VERSION = "1.1"; sub urlMatch { my ($self, $path) = @_; # By default, re_path_match => qr{^/proxy/(version|fusioninventory)/?$} return 0 unless $path =~ $self->{re_path_match}; $self->{request} = $1; return 1; } sub log_prefix { return "[proxy server plugin] "; } sub config_file { return "proxy-server-plugin.cfg"; } sub defaults { return { disabled => "yes", url_path => "/proxy", port => 0, only_local_store => "no", local_store => '', prolog_freq => 24, max_proxy_threads => 10, # Supported by class FusionInventory::Agent::HTTP::Server::Plugin maxrate => 30, maxrate_period => 3600, }; } sub supported_method { my ($self, $method) = @_; return 1 if $method eq 'GET' || $method eq 'POST'; $self->error("invalid request type: $method"); return 0; } sub init { my ($self) = @_; $self->SUPER::init(@_); $self->{request} = 'none'; my $defaults = $self->defaults(); my $url_path = $self->config('url_path'); $self->debug("Using $url_path as base url matching") if ($url_path ne $defaults->{url_path}); $self->{re_path_match} = qr{^$url_path/(apiversion|fusioninventory)/?$}; # Normalize only_local_store $self->{only_local_store} = $self->config('only_local_store') !~ /^0|no$/i ? 1 : 0; } sub handle { my ($self, $client, $request, $clientIp) = @_; my $agent = $self->{server}->{agent}; # rate limit by ip to avoid abuse if ($self->rate_limited($clientIp)) { $client->send_error(429); # Too Many Requests return 429; } if ($self->{request} eq 'apiversion') { my $response = HTTP::Response->new( 200, 'OK', HTTP::Headers->new( 'Content-Type' => 'text/plain' ), $VERSION ); $client->send_response($response); return 200; } my $retcode = $self->_handle_proxy_request($client, $request, $clientIp); # In the case we run in a fork, just close the socket and quit if ($agent->forked()) { $self->debug("response status $retcode"); $client->close(); $agent->fork_exit(logger => $self, name => $self->name()); } return $retcode; } sub _handle_proxy_request { my ($self, $client, $request, $clientIp) = @_; return unless $client && $request && $clientIp; my $remoteid = $clientIp; # /proxy/fusioninventory request # From here we should fork and return my $agent = $self->{server}->{agent}; unless ($agent->forked()) { # check against max_proxy_threads my $current_requests = $agent->forked(name => $self->name()); if ($current_requests >= $self->config('max_proxy_threads')) { $client->send_error(429); # Too Many Requests return 429; } return 1 if $agent->fork(name => $self->name(), description => $self->name()." request"); } my $content_type = $request->header('Content-type'); my ($url, $params) = split(/[?]/, $request->uri()); if ($params && $params =~ /action=getConfig/) { $self->debug("$params request from $clientIp, sending nothing to do"); my $response = HTTP::Response->new( 200, 'OK', HTTP::Headers->new( 'Content-Type' => 'application/json' ), '{}' ); $client->send_response($response); return 200; } elsif ($params) { $self->info("Unsupported $params request from $clientIp"); $client->send_error(403, 'Unsupported request'); return 403; } unless ($content_type) { $self->info("No mandatory Content-type header provided in $self->{request} request from $clientIp"); $client->send_error(403, 'Content-type not set'); return 403; } my $content = $request->content(); # Uncompress if needed if ($content_type =~ m|^application/x-compress(-zlib)?$|i && $content =~ /(\x78\x9C.*)/s) { $content = Compress::Zlib::uncompress($content); } elsif ($content_type =~ m|^application/x-compress-gzip$|i) { my $in = File::Temp->new(SUFFIX => '.proxy'); print $in $content; close($in); my $out; eval { $out = getFileHandle( command => 'gzip -dc ' . $in->filename(), logger => $self->{logger} ); }; unless ($out) { $client->send_error(403, 'Unsupported $content_type Content-type'); $self->info("Can't uncompress $content_type Content-type in $self->{request} request from $clientIp"); return 403; } local $INPUT_RECORD_SEPARATOR; # Set input to "slurp" mode. $content = <$out>; close($out); } elsif ($content_type !~ m|^application/xml$|i) { $client->send_error(403, 'Unsupported Content-type'); $self->info("Unsupported '$content_type' Content-type header provided in $self->{request} request from $clientIp"); return 403; } unless ($content) { $self->info("No Content found in $self->{request} request from $clientIp"); $client->send_error(403, 'No content'); return 403; } my $deviceid; if ($content =~ m|^<\?xml|ms) { # Check if it's a PROLOG request my $parser = XML::XPath->new(xml => $content); # Don't validate XML against DTD, parsing may fail if a proxy is active $XML::XPath::ParseParamEnt = 0; my $query = $parser->getNodeText("/REQUEST/QUERY"); unless ($query && $query =~ /^PROLOG|INVENTORY$/) { $self->info("Not supported ".($query||"unknown")." query from $remoteid"); my ($sample) = $content =~ /^(.{1,80})/ms; if ($sample) { $sample =~ s/\n\s*//gs; $sample = getSanitizedString($sample); $self->debug("Not supported XML looking like: $sample") if $sample; } $client->send_error(403, 'Unsupported query'); return 403; } $deviceid = $parser->getNodeText("/REQUEST/DEVICEID"); unless ($deviceid) { $self->info("Not supported $query query from $remoteid"); $client->send_error(403, "$query query without deviceid"); return 403; } $remoteid = $deviceid . '@' . $clientIp; $self->info("$query query from $remoteid"); if ($query eq 'PROLOG') { $self->debug2("PROLOG request from $remoteid"); my $tpp = XML::TreePP->new(indent => 2); my $data = { REPLY => { RESPONSE => 'SEND', PROLOG_FREQ => $self->config("prolog_freq") } }; my $response = HTTP::Response->new( 200, 'OK', HTTP::Headers->new( 'Content-Type' => 'application/xml' ), $tpp->write($data) ); $client->send_response($response); return 200; } } else { $client->send_error(403, 'Unsupported content'); $self->info("Unsupported content in $self->{request} request from $clientIp"); $self->debug("Content from $clientIp was starting with '".(substr($content,0,40))."'"); return 403; } $self->debug("proxy request for $remoteid"); my @servers = (); my $serverconfig = $agent->{config}; unless ($serverconfig) { $client->send_error(500, 'Server configuration missing'); $self->info("Server configuration is missing"); return 500; } my $response = HTTP::Response->new( 200, 'OK', HTTP::Headers->new( 'Content-Type' => 'application/xml' ), "\n\n" ); if ($self->config('only_local_store')) { $response = HTTP::Response->new(500, 'No local storage for inventory') unless ($self->config('local_store') && -d $self->config('local_store')); } else { @servers = grep { $_->isType('server') } $agent->getTargets(); } if ($self->config('local_store') && -d $self->config('local_store')) { my $xmlfile = $self->config('local_store'); $xmlfile =~ s|/*$||; $xmlfile .= "/$deviceid.xml"; $self->debug("Saving inventory in $xmlfile"); my $XML; if (!open($XML, '>', $xmlfile)) { $client->send_error(500, 'Cannot store content'); $self->error("Can't store content from $clientIp $self->{request} request"); return 500; } print $XML $content; close($XML); if (-s $xmlfile != length($content)) { $client->send_error(500, 'Content store failure'); $self->error("Can't store content from $clientIp $self->{request} request"); return 500; } if ($self->config('only_local_store')) { $client->send_response($response); return 200; } } if (@servers) { my $proxyclient = FusionInventory::Agent::HTTP::Client::OCS->new( logger => $self->{logger}, user => $serverconfig->{user}, password => $serverconfig->{password}, proxy => $serverconfig->{proxy}, ca_cert_file => $serverconfig->{'ca-cert-file'}, ca_cert_dir => $serverconfig->{'ca-cert-dir'}, no_ssl_check => $serverconfig->{'no-ssl-check'}, no_compress => $serverconfig->{'no-compress'}, ); my $message = FusionInventory::Agent::HTTP::Server::Proxy::Message->new( content => $content, ); foreach my $target (@servers) { $self->debug("Submitting inventory from $remoteid to ".$target->getName()); my $sent = $proxyclient->send( url => $target->getUrl(), message => $message ); unless ($sent) { $response = HTTP::Response->new(500, 'Inventory not sent to server'); $self->error("Can't submit $remoteid inventory to ".$target->getName()." server"); last; } $self->info("Inventory from $remoteid submitted to ".$target->getName()); } } $client->send_response($response); return $response->code(); } ## no critic (ProhibitMultiplePackages) package FusionInventory::Agent::HTTP::Server::Proxy::Message; sub new { my ($class, %params) = @_; my $self = { content => $params{content}, }; bless $self, $class; } sub getContent { my ($self) = @_; return $self->{content}; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Server::Proxy - An embedded HTTP server plugin providing a proxy for agents not able to contact the server =head1 DESCRIPTION This is a server plugin to transmit inventory toward a server. It listens on port 62354 by default. The following default requests are accepted: =over =item /proxy/fusioninventory =item /proxy/apiversion =back =head1 CONFIGURATION =over =item disabled C by default =item url_path C by default =item port C<0> by default to use default one =item prolog_freq C<24> by default, this is the delay agents will finally recontact the proxy =item local_store empty by default, this is the folder where to store inventories =item only_local_store C by default, set it to C to not submit inventories to server. =item maxrate C<30> by default =item maxrate_period C<3600> (in seconds) by default. =back Defaults can be overrided in C file or better in the C if included from C. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Server/Inventory.pm0000644000175000017500000001777413712210012027316 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Server::Inventory; use strict; use warnings; use English qw(-no_match_vars); use base "FusionInventory::Agent::HTTP::Server::Plugin"; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Task::Inventory; use FusionInventory::Agent::Target::Listener; our $VERSION = "1.1"; sub urlMatch { my ($self, $path) = @_; # By default, re_path_match => qr{^/inventory/(session|get|apiversion)$} return 0 unless $path =~ $self->{re_path_match}; $self->{request} = $1; return 1; } sub log_prefix { return "[inventory server plugin] "; } sub config_file { return "inventory-server-plugin.cfg"; } sub defaults { return { disabled => "yes", url_path => "/inventory", port => 0, token => undef, session_timeout => 60, no_compress => "no", # Supported by class FusionInventory::Agent::HTTP::Server::Plugin maxrate => 30, maxrate_period => 3600, }; } sub init { my ($self) = @_; $self->SUPER::init(@_); $self->{request} = 'none'; my $defaults = $self->defaults(); my $url_path = $self->config('url_path'); $self->debug("Using $url_path as base url matching") if ($url_path ne $defaults->{url_path}); $self->{re_path_match} = qr{^$url_path/(session|get|apiversion)$}; # Always uses a dedicated Listener target for this plugin. It will give access # to stored sessions $self->{target} = FusionInventory::Agent::Target::Listener->new( logger => $self->{logger}, basevardir => $self->{server}->{agent}->{config}->{vardir}, ) unless $self->{target}; # Check secret is set if plugin is enabled if (!$self->disabled() && !$self->config('token')) { $self->error("Plugin enabled without token in configuration"); $self->disable(); $self->info("Plugin disabled on wrong configuration"); } # Normalize no_compress $self->{no_compress} = $self->config('no_compress') !~ /^0|no$/i ? 1 : 0; } sub handle { my ($self, $client, $request, $clientIp) = @_; my $logger = $self->{logger}; my $target = $self->{target}; # rate limit by ip to avoid abuse if ($self->rate_limited($clientIp)) { $client->send_error(429); # Too Many Requests return 429; } if ($self->{request} eq 'apiversion') { my $response = HTTP::Response->new( 200, 'OK', HTTP::Headers->new( 'Content-Type' => 'text/plain' ), $VERSION ); $client->send_response($response); return 200; } my $id = $request->header('X-Request-ID'); unless ($id) { $self->info("No mandatory X-Request-ID header provided in $self->{request} request from $clientIp"); $client->send_error(403, 'No session available'); return 403; } my $remoteid = "{$id}\@[$clientIp]"; my $session = $target->session( remoteid => $remoteid, timeout => $self->config('session_timeout'), ); unless ($session) { $self->info("No session available for $remoteid"); $client->send_error(403, 'No session available'); return 403; } if ($self->{request} eq 'session') { my $nonce = $session->nonce(); unless ($nonce) { $self->info("Session setup failure for $remoteid"); $client->send_error(500, 'Session failure'); return 500; } # Returned content is not useful but it should not be empty to support keep-alive # This is a LWP::UserAgent limitation my $response = HTTP::Response->new( 200, 'OK', HTTP::Headers->new( 'X-Auth-Nonce' => $nonce, 'Content-Type' => 'Plain/Text' ), "waiting inventory request..." ); $client->send_response($response); return 200; } my $authorization = $session->authorized( token => $self->config('token'), payload => $request->header('X-Auth-Payload') || '' ); # Still cleanup the session $target->clean_session($remoteid); unless ($authorization) { $self->info("unauthorized remote inventory request for $remoteid"); $client->send_error(403); return 403; } $self->debug("remote inventory request for $remoteid"); my $agent = $self->{server}->{agent}; my $task = FusionInventory::Agent::Task::Inventory->new( logger => $logger, target => $target, deviceid => $agent->{deviceid}, datadir => $agent->{datadir}, config => $agent->{config}, ); my $done; { local $SIG{CHLD} = sub {}; $done = $task->run(); } unless ($done) { $self->error("Failed to run inventory"); $client->send_error(500, "Inventory failure"); return 500; } my $data = $target->inventory_xml(); my $content_type = 'application/xml'; my @accept = split(/, */,$request->header('accept') || ''); # check compression mode if (!$self->{no_compress} && Compress::Zlib->require() && grep { m|application/x-compress-zlib| } @accept) { # RFC 1950 $content_type = 'application/x-compress-zlib'; $self->debug('Using Compress::Zlib for compression'); $data = Compress::Zlib::compress($data); } elsif (!$self->{no_compress} && canRun('gzip') && grep { m|application/x-compress-gzip| } @accept) { # RFC 1952 $content_type = 'application/x-compress-gzip'; $self->debug('Using gzip for compression'); File::Temp->require(); my $fd = File::Temp->new(); print $fd $data; close $fd; my $out = getFileHandle( command => 'gzip -c ' . $fd->filename(), logger => $self->{logger} ); next unless $out; local $INPUT_RECORD_SEPARATOR; # Set input to "slurp" mode. $data = <$out>; close $out; } my $response = HTTP::Response->new( 200, 'OK', HTTP::Headers->new( 'Content-Type' => $content_type ), $data ); $client->send_response($response); $self->info("Inventory returned to $remoteid"); return 200; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Server::Inventory - An embedded HTTP server plugin providing remote inventory =head1 DESCRIPTION This is a server plugin to listen for inventory requests. It listens on port 62354 by default and can answer with a full inventory XML if authorized. The following default requests are accepted: =over =item /inventory/session =item /inventory/get =item /inventory/apiversion =back Authentication is firstly based on connection source address: trusted requests can access the API. But a shared secret must be known to use the API. A client must request a session before being able to request an inventory. A 'X-Request-ID' header must be provided for a session creation: The session permits to control access with a shared secret or token so an inventory can only be provided if the returned payload matches the expected one. The server answers with a nonce set in the 'X-Auth-Nonce' header. For the /get call, the client must still provide a 'X-Request-ID' header but it also must provide a 'X-Auth-Payload' one computed from 'X-Auth-Nonce' provided value and the shared secret. =head1 CONFIGURATION =over =item disabled C by default =item url_path C by default =item port C<0> by default to use default one =item token not defined by default. /get API is disabled untill one is set =item session_timeout C<60> (in seconds) by default. =item maxrate C<30> by default =item maxrate_period C<3600> (in seconds) by default. =item no_compress C by default to keep XML compression possible. =back Defaults can be overrided in C file or better in the C if included from C. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Server/Test.pm0000644000175000017500000000233213712210012026220 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Server::Test; use strict; use warnings; use base "FusionInventory::Agent::HTTP::Server::Plugin"; sub urlMatch { my ($self, $path) = @_; $self->debug("Matching on $path ?"); if ($path =~ m{^/test/([\w\d/-]+)?$}) { $self->{test} = $1; $self->debug2("Found matching on $path"); return 1; } return 0; } sub handle { my ($self, $client, $request, $clientIp) = @_; $self->info("Test request from $clientIp: /test/".$self->{test}." (config: ".($self->{configtest}||"none").")"); delete $self->{test}; $client->send_response(200); return 200; } sub log_prefix { return "[server test plugin] "; } sub config_file { return "server-test-plugin.cfg"; } sub defaults { return { disabled => "yes", configtest => "test", port => 0, }; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Server::Test - An embedded HTTP server plugin as test and sample server plugin =head1 DESCRIPTION This is a server plugin to listen for test requests. It listens on port 62354 by default. Any requests matching the following is accepted and returns a 200 HTTP code: =over =item /test/* =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Client/0000755000175000017500000000000013757703277024750 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Client/Fusion.pm0000644000175000017500000001015113712210012026512 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Client::Fusion; use strict; use warnings; use parent 'FusionInventory::Agent::HTTP::Client'; use English qw(-no_match_vars); use JSON::PP; use HTTP::Request; use HTTP::Headers; use HTTP::Cookies; use URI::Escape; my $log_prefix = "[http client] "; sub new { my ($class, %params) = @_; my $self = $class->SUPER::new(%params); # Stack the messages sent in order to be able to check the # correctness of the behavior with the test-suite if ($params{debug}) { $self->{debug} = 1; $self->{msgStack} = [] } $self->{_cookies} = HTTP::Cookies->new ; return $self; } sub _prepareVal { my ($self, $val) = @_; return '' unless length($val); # forbid to long argument. while (length(URI::Escape::uri_escape_utf8($val)) > 1500) { $val =~ s/^.{5}/…/; } return URI::Escape::uri_escape_utf8($val); } sub send { ## no critic (ProhibitBuiltinHomonyms) my ($self, %params) = @_; push @{$self->{msgStack}}, $params{args} if $self->{debug}; my $url = ref $params{url} eq 'URI' ? $params{url} : URI->new($params{url}); my $method = (exists($params{method}) && $params{method} =~ /^GET|POST$/) ? $params{method} : 'GET' ; my $urlparams = 'action='.uri_escape($params{args}->{action}); my $referer = ''; if ($method eq 'POST') { $referer = $url; $url .= '?'.$urlparams ; $url .= '&uuid='.uri_escape($params{args}->{uuid}) if (exists($params{args}->{uuid})); $url .= '&method=POST' ; } foreach my $k (keys %{$params{args}}) { if (ref($params{args}->{$k}) eq 'ARRAY') { foreach (@{$params{args}->{$k}}) { $urlparams .= '&'.$k.'[]='.$self->_prepareVal($_ || ''); } } elsif (ref($params{args}->{$k}) eq 'HASH') { foreach (keys %{$params{args}->{$k}}) { $urlparams .= '&'.$k.'['.$_.']='.$self->_prepareVal($params{args}->{$k}{$_}); } } elsif ($k ne 'action' && length($params{args}->{$k})) { $urlparams .= '&'.$k.'='.$self->_prepareVal($params{args}->{$k}); } } $url .= '?'.$urlparams if ($method eq 'GET'); $self->{logger}->debug2($url) if $self->{logger}; my $request ; if ($method eq 'GET') { $request = HTTP::Request->new($method => $url); } else { $self->{logger}->debug2($log_prefix."POST: ".$urlparams) if $self->{logger}; my $headers = HTTP::Headers->new( 'Content-Type' => 'application/x-www-form-urlencoded', 'Referer' => $referer ); $request = HTTP::Request->new( $method => $url, $headers, $urlparams ); $self->{_cookies}->add_cookie_header( $request ); } my $response = $self->request($request); return unless $response->is_success(); $self->{_cookies}->extract_cookies($response); my $content = $response->content(); unless ($content) { $self->{logger}->error( $log_prefix . "Got empty response" ) if $self->{logger}; return; } my $answer; eval { my $decoder = JSON::PP->new or die "Can't use JSON::PP decoder: $!"; $answer = $decoder->decode($content); }; if ($EVAL_ERROR) { my @lines = split(/\n/, $content); $self->{logger}->error( $log_prefix . "Can't decode JSON content, starting with $lines[0]" ) if $self->{logger}; return; } return $answer; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Client::Fusion - An HTTP client using Fusion protocol =head1 DESCRIPTION This is the object used by the agent to send messages to GLPI servers, using new Fusion protocol (JSON messages sent through GET requests). =head1 METHODS =head2 send(%params) The following parameters are allowed, as keys of the %params hash: =over =item I the url to send the message to (mandatory) =item I A list of parameters to pass to the server. The action key is mandatory. Parameters can be hashref or arrayref. =back This method returns a perl data structure. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Client/OCS.pm0000644000175000017500000001300413712210012025673 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Client::OCS; use strict; use warnings; use parent 'FusionInventory::Agent::HTTP::Client'; use English qw(-no_match_vars); use HTTP::Request; use UNIVERSAL::require; use URI; use Encode; use FusionInventory::Agent::Tools; use FusionInventory::Agent::XML::Response; my $log_prefix = "[http client] "; sub new { my ($class, %params) = @_; my $self = $class->SUPER::new(%params); $self->{ua}->default_header('Pragma' => 'no-cache'); # check compression mode if (!$self->{no_compress} && Compress::Zlib->require()) { # RFC 1950 $self->{compression} = 'zlib'; $self->{ua}->default_header('Content-type' => 'application/x-compress-zlib'); $self->{logger}->debug( $log_prefix . 'Using Compress::Zlib for compression' ); } elsif (!$self->{no_compress} && canRun('gzip')) { # RFC 1952 $self->{compression} = 'gzip'; $self->{ua}->default_header('Content-type' => 'application/x-compress-gzip'); $self->{logger}->debug( $log_prefix . 'Using gzip for compression' ); } else { $self->{compression} = 'none'; $self->{ua}->default_header('Content-type' => 'application/xml'); $self->{logger}->debug( $log_prefix . 'Not using compression' ); } return $self; } sub send { ## no critic (ProhibitBuiltinHomonyms) my ($self, %params) = @_; my $url = ref $params{url} eq 'URI' ? $params{url} : URI->new($params{url}); my $message = $params{message}; my $logger = $self->{logger}; my $request_content = $message->getContent(); $logger->debug2($log_prefix . "sending message:\n $request_content"); $request_content = $self->_compress(encode('UTF-8', $request_content)); if (!$request_content) { $logger->error($log_prefix . 'inflating problem'); return; } my $request = HTTP::Request->new(POST => $url); $request->content($request_content); my $response = $self->request($request); # no need to log anything specific here, it has already been done # in parent class return if !$response->is_success(); my $response_content = $response->content(); if (!$response_content) { $logger->error($log_prefix . "unknown content format"); return; } my $uncompressed_response_content = $self->_uncompress($response_content); if (!$uncompressed_response_content) { $logger->error( $log_prefix . "uncompressed content, starting with: ".substr($response_content, 0, 500) ); return; } $logger->debug2($log_prefix . "receiving message:\n $uncompressed_response_content"); my $result; eval { $result = FusionInventory::Agent::XML::Response->new( content => $uncompressed_response_content ); }; if ($EVAL_ERROR) { my @lines = split(/\n/, $uncompressed_response_content); $logger->error( $log_prefix . "unexpected content, starting with $lines[0]" ); return; } return $result; } sub _compress { my ($self, $data) = @_; return $self->{compression} eq 'zlib' ? $self->_compressZlib($data) : $self->{compression} eq 'gzip' ? $self->_compressGzip($data) : $data; } sub _uncompress { my ($self, $data) = @_; if ($data =~ /(\x78\x9C.*)/s) { $self->{logger}->debug2("format: Zlib"); return $self->_uncompressZlib($1); } elsif ($data =~ /(\x1F\x8B\x08.*)/s) { $self->{logger}->debug2("format: Gzip"); return $self->_uncompressGzip($1); } elsif ($data =~ /(<\/html>|)[^<]*(<.*>)\s*$/s) { $self->{logger}->debug2("format: Plaintext"); return $2; } else { $self->{logger}->debug2("format: Unknown"); return; } } sub _compressZlib { my ($self, $data) = @_; return Compress::Zlib::compress($data); } sub _compressGzip { my ($self, $data) = @_; File::Temp->require(); my $in = File::Temp->new(); print $in $data; close $in; my $out = getFileHandle( command => 'gzip -c ' . $in->filename(), logger => $self->{logger} ); return unless $out; local $INPUT_RECORD_SEPARATOR; # Set input to "slurp" mode. my $result = <$out>; close $out; return $result; } sub _uncompressZlib { my ($self, $data) = @_; return Compress::Zlib::uncompress($data); } sub _uncompressGzip { my ($self, $data) = @_; my $in = File::Temp->new(); print $in $data; close $in; my $out = getFileHandle( command => 'gzip -dc ' . $in->filename(), logger => $self->{logger} ); return unless $out; local $INPUT_RECORD_SEPARATOR; # Set input to "slurp" mode. my $result = <$out>; close $out; return $result; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Client::OCS - An HTTP client using OCS protocol =head1 DESCRIPTION This is the object used by the agent to send messages to OCS or GLPI servers, using original OCS protocol (XML messages sent through POST requests). =head1 METHODS =head2 send(%params) Send an instance of C to the target (the server). The following parameters are allowed, as keys of the %params hash: =over =item I the url to send the message to (mandatory) =item I the message to send (mandatory) =back This method returns an C instance. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Server.pm0000644000175000017500000005031113753417600025322 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Server; use strict; use warnings; use UNIVERSAL::require; use English qw(-no_match_vars); use File::Basename; use HTTP::Daemon; use IO::Handle; use Net::IP; use Text::Template; use File::Glob; use URI; use Socket qw(IN6ADDR_ANY inet_ntop); use FusionInventory::Agent::Version; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; # Limit maximum requests number handled in a keep-alive connection use constant MaxKeepAlive => 8; my $log_prefix = "[http server] "; sub new { my ($class, %params) = @_; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), agent => $params{agent}, htmldir => $params{htmldir}, ip => $params{ip}, port => $params{port} || 62354, listeners => {}, }; bless $self, $class; $self->setTrustedAddresses(%params); # Load any Server sub-module as plugin my @plugins = (); my ($sub_modules_path) = $INC{module2file(__PACKAGE__)} =~ /(.*)\.pm/; foreach my $file (File::Glob::bsd_glob("$sub_modules_path/*.pm")) { if ($OSNAME eq 'MSWin32') { $file =~ s{\\}{/}g; $sub_modules_path =~ s{\\}{/}g; } my ($name) = $file =~ m{$sub_modules_path/(\S+)\.pm$}; next unless $name; # Don't load Plugin base class next if $name eq "Plugin"; $self->{logger}->debug($log_prefix . "Trying to load $name Server plugin"); my $module = __PACKAGE__ . "::" . $name; $module->require(); if ($EVAL_ERROR) { $self->{logger}->debug($log_prefix . "Failed to load $name Server plugin: $EVAL_ERROR"); next; } my $plugin = $module->new(server => $self) or next; $plugin->init(); if ($plugin->disabled()) { $self->{logger}->debug($log_prefix . "HTTPD $name Server plugin loaded but disabled"); } else { $self->{logger}->info($log_prefix . "HTTPD $name Server plugin loaded"); } push @plugins, $plugin; } # Sort and store loaded plugins @plugins = sort { $b->priority() <=> $a->priority() } @plugins if @plugins > 1; $self->{_plugins} = \@plugins; return $self; } sub setTrustedAddresses { my ($self, %params) = @_; # compute addresses allowed for push requests foreach my $target ($self->{agent}->getTargets()) { next unless $target->isType('server'); my $url = $target->getUrl(); my $host = URI->new($url)->host(); my @addresses = compile($host, $self->{logger}); $self->{trust}->{$url} = \@addresses; $self->{logger}->debug("Trusted target ip: ".join(", ",map { $_->print() } @addresses)); } if ($params{trust}) { foreach my $string (@{$params{trust}}) { my @addresses = compile($string, $self->{logger}) or next; $self->{trust}->{$string} = \@addresses; $self->{logger}->debug("Trusted client ip: ".join(", ",map { $_->print() } @addresses)); } } } sub _handle { my ($self, $client, $request, $clientIp, $maxKeepAlive) = @_; my $logger = $self->{logger}; if (!$request) { $client->close(); return; } my $path = $request->uri()->path(); my $method = $request->method(); $logger->debug($log_prefix . "$method request $path from client $clientIp"); my $keepalive = $request->header('connection') =~ /keep-alive/i; my $status = 400; my $error_400 = $log_prefix . "invalid request type: $method"; SWITCH: { # root request if ($path eq '/') { last SWITCH if $method ne 'GET'; $status = $self->_handle_root($client, $request, $clientIp); last SWITCH; } # deploy request if ($path =~ m{^/deploy/getFile/./../([\w\d/-]+)$}) { last SWITCH if $method ne 'GET'; $status = $self->_handle_deploy($client, $request, $clientIp, $1); last SWITCH; } # plugins request foreach my $plugin (@{$self->{_plugins}}) { next if $plugin->disabled(); if ($plugin->urlMatch($path)) { undef $error_400; last SWITCH unless $plugin->supported_method($method); $status = $plugin->handle($client, $request, $clientIp); last SWITCH if $status; } } # now request if ($path =~ m{^/now(?:/(\S*))?$}) { last SWITCH if $method ne 'GET'; $status = $self->_handle_now($client, $request, $clientIp, $1); last SWITCH; } # status request if ($path eq '/status') { last SWITCH if $method ne 'GET'; $status = $self->_handle_status($client, $request, $clientIp); last SWITCH; } # static content request if ($path =~ m{^/(logo.png|site.css|favicon.ico)$}) { my $file = $1; last SWITCH if $method ne 'GET'; $client->send_file_response("$self->{htmldir}/$file"); $status = 200; last SWITCH; } $error_400 = $log_prefix . "unknown path: $path"; } if ($status == 400) { $logger->error($error_400) if $error_400; $client->send_error(400) } $logger->debug($log_prefix . "response status $status") unless $status == 1; if ($status == 200 && $keepalive && --$maxKeepAlive) { # Looking for another request $request = $client->get_request(); $self->_handle($client, $request, $clientIp, $maxKeepAlive) if $request; } $client->close(); } sub _handle_plugins { my ($self, $client, $request, $clientIp, $plugins, $maxKeepAlive) = @_; my $logger = $self->{logger}; if (!$request) { $client->close(); return; } my $path = $request->uri()->path(); my $method = $request->method(); my $keepalive = $request->header('connection') =~ /keep-alive/i; $logger->debug($log_prefix . "$method request $path from client $clientIp via plugin"); my $status = 400; my $match = 0; foreach my $plugin (@{$plugins}) { next if $plugin->disabled(); if ($plugin->urlMatch($path)) { $match = 1; last unless ($plugin->supported_method($method)); $status = $plugin->handle($client, $request, $clientIp); last if $status; } } if ($status == 400) { $logger->error($log_prefix . "unknown path: $path") unless $match; $client->send_error(400); $status = 400; } # Don't log status if we forked $logger->debug($log_prefix . "response status $status") unless $status == 1; if ($status == 200 && $keepalive && --$maxKeepAlive) { # Looking for another request $request = $client->get_request(); $self->_handle_plugins($client, $request, $clientIp, $plugins, $maxKeepAlive) if $request; } $client->close(); } sub _handle_root { my ($self, $client, $request, $clientIp) = @_; my $logger = $self->{logger}; my $template = Text::Template->new( TYPE => 'FILE', SOURCE => "$self->{htmldir}/index.tpl" ); if (!$template) { $logger->error( $log_prefix . "Template access failed: $Text::Template::ERROR" ); my $response = HTTP::Response->new( 500, 'KO', HTTP::Headers->new('Content-Type' => 'text/html'), "No template" ); $client->send_response($response); return 500; } my @server_targets = map { { name => $_->getUrl(), date => $_->getFormatedNextRunDate() } } grep { $_->isType('server') } $self->{agent}->getTargets(); my @local_targets = map { { name => $_->getPath(), date => $_->getFormatedNextRunDate() } } grep { $_->isType('local') } $self->{agent}->getTargets(); my @httpd_plugins = map { @{$_->{plugins}} } values(%{$self->{listeners}}); push @httpd_plugins, @{$self->{_plugins}}; my @listening_plugins = map { { port => $_->config('port') || $self->{port}, name => $_->name() } } grep { ! $_->disabled() } @httpd_plugins; my $hash = { version => $FusionInventory::Agent::Version::VERSION, trust => $self->_isTrusted($clientIp), status => $self->{agent}->getStatus(), httpd_plugins => \@listening_plugins, server_targets => \@server_targets, local_targets => \@local_targets }; my $response = HTTP::Response->new( 200, 'OK', HTTP::Headers->new('Content-Type' => 'text/html'), $template->fill_in(HASH => $hash) ); $client->send_response($response); return 200; } sub _handle_deploy { my ($self, $client, $request, $clientIp, $sha512) = @_; return unless $sha512 =~ /^(.)(.)(.{6})/; my $subFilePath = $1.'/'.$2.'/'.$3; my $logger = $self->{logger}; Digest::SHA->require(); if ($EVAL_ERROR) { $logger->error("Failed to load Digest::SHA: $EVAL_ERROR"); # Return 501 (Not Implemented) to client with reason $client->send_error(501, 'Digest::SHA perl library is missing'); return 501; } my $path; my $count = 0; LOOP: foreach my $target ($self->{agent}->getTargets()) { foreach (File::Glob::bsd_glob($target->{storage}->getDirectory() . "/deploy/fileparts/shared/*")) { next unless -f $_.'/'.$subFilePath; $count ++; my $sha = Digest::SHA->new('512'); $sha->addfile($_.'/'.$subFilePath, 'b'); next unless $sha->hexdigest eq $sha512; $path = $_.'/'.$subFilePath; last LOOP; } } if ($path) { $client->send_file_response($path); return 200; } else { if ($count) { $client->send_error(404); } else { # Report this agent as nothing to share $client->send_error(404, 'Nothing found'); } return 404; } } sub _handle_now { my ($self, $client, $request, $clientIp) = @_; my $logger = $self->{logger}; my ($code, $message, $trace); BLOCK: { foreach my $target ($self->{agent}->getTargets()) { next unless $target->isType('server'); my $url = $target->getUrl(); my $addresses = $self->{trust}->{$url}; next unless isPartOf($clientIp, $addresses, $logger); $target->setNextRunDateFromNow(); $code = 200; $message = "OK"; $trace = "rescheduling next contact for target $url right now"; last BLOCK; } if ($self->_isTrusted($clientIp)) { foreach my $target ($self->{agent}->getTargets()) { $target->setNextRunDateFromNow(); } $code = 200; $message = "OK"; $trace = "rescheduling next contact for all targets right now"; last BLOCK; } $code = 403; $message = "Access denied"; $trace = "invalid request (untrusted address)"; } my $template = Text::Template->new( TYPE => 'FILE', SOURCE => "$self->{htmldir}/now.tpl" ); my $hash = { message => $message }; my $response = HTTP::Response->new( $code, 'OK', HTTP::Headers->new('Content-Type' => 'text/html'), $template->fill_in(HASH => $hash) ); $client->send_response($response); $logger->debug($log_prefix . $trace); return $code; } sub _handle_status { my ($self, $client, $request, $clientIp) = @_; my $status = $self->{agent}->getStatus(); my $response = HTTP::Response->new( 200, 'OK', HTTP::Headers->new('Content-Type' => 'text/plain'), "status: ".$status ); $client->send_response($response); return 200; } sub _isTrusted { my ($self, $address) = @_; foreach my $trusted_addresses (values %{$self->{trust}}) { return 1 if isPartOf( $address, $trusted_addresses, $self->{logger} ); } return 0; } sub init { my ($self) = @_; my $logger = $self->{logger}; $self->{listener} = HTTP::Daemon->new( LocalAddr => $self->{ip}, LocalPort => $self->{port}, ReuseAddr => 1, Timeout => 1, Blocking => 0 ); if (!$self->{listener}) { $logger->error($log_prefix . "failed to start the HTTPD service"); return; } $logger->info( $log_prefix . "HTTPD service started on port $self->{port}" ); # Load any plugin configuration and fix plugins list handled on main port my %plugins = map { $_->name() => $_ } @{$self->{_plugins}}; foreach my $plugin (@{$self->{_plugins}}) { next if $plugin->disabled(); # We handle SSL Plugin differently if ($plugin->name() eq 'SSL') { my $ports = $plugin->config('ports'); foreach my $port (@{$ports}) { # Handle SSL case on default port if (!$port || $port == $self->{port}) { $self->{_ssl} = $plugin; $logger->info($log_prefix . "HTTPD SSL Server plugin enabled on default port"); next; } if (!$self->{listeners}->{$port}) { my $listener = HTTP::Daemon->new( LocalAddr => $self->{ip}, LocalPort => $port, ReuseAddr => 1, Timeout => 1, Blocking => 0 ); unless ($listener) { $logger->error($log_prefix . "failed to start the HTTPD service on port $port for SSL plugin"); next; } $self->{listeners}->{$port} = { ssl => $plugin, listener => $listener, plugins => [], }; } else { $self->{listeners}->{$port}->{ssl} = $plugin; } $logger->info($log_prefix . "HTTPD SSL Server plugin enabled on port $port"); } delete $plugins{$plugin->name()}; next; } # Add a port listener if a plugin uses a dedicated port my $port = $plugin->port(); if ($port && $port != $self->{port}) { if ($self->{listeners}->{$port}) { push @{$self->{listeners}->{$port}->{plugins}}, $plugin; $logger->info($log_prefix . "HTTPD ".$plugin->name()." Server plugin also used on port $port"); } else { my $listener = HTTP::Daemon->new( LocalAddr => $self->{ip}, LocalPort => $port, ReuseAddr => 1, Timeout => 1, Blocking => 0 ); if (!$listener) { $logger->error($log_prefix . "failed to start the HTTPD service on port $port for ".$plugin->name()." plugin"); $plugin->disable(); } else { $self->{listeners}->{$port} = { listener => $listener, plugins => [ $plugin ], }; $logger->info($log_prefix . "HTTPD ".$plugin->name()." Server plugin also started on port $port"); } } delete $plugins{$plugin->name()}; } elsif ($port) { $logger->info($log_prefix . "HTTPD ".$plugin->name()." Server plugin also used on main port $self->{port}"); } } $self->{_plugins} = [ values(%plugins) ]; return 1; } sub needToRestart { my ($self, %params) = @_; # If no httpd daemon was started, we need to really start it return 1 unless $self->{listener}; # Restart httpd daemon if ip or port changed return 1 if ($params{ip} && (!$self->{ip} || $params{ip} ne $self->{ip})); return 1 if ($params{port} && (!$self->{port} || $params{port} ne $self->{port})); # Reload any plugin configuration and check if port or status has changed foreach my $plugin (@{$self->{_plugins}}) { my $port = $plugin->port(); my $disabled = $plugin->disabled(); $plugin->init(); return 1 if $port != $plugin->port(); return 1 if $disabled != $plugin->disabled(); } # Logger may have changed, but then resetting logger ref is sufficient $self->{logger} = $params{logger}; $self->{logger}->debug2( $log_prefix . "HTTPD service still listening on port $self->{port}" ); # Be sure to reset computed trusted addresses delete $self->{trust}; $self->setTrustedAddresses(%params); return 0; } sub stop { my ($self) = @_; return unless $self->{listener}; foreach my $port (keys(%{$self->{listeners}})) { $self->{listeners}->{$port}->{listener}->shutdown(2); delete $self->{listeners}->{$port}; } $self->{listener}->shutdown(2); $self->{logger}->debug($log_prefix . "HTTPD service stopped"); delete $self->{_plugins}; delete $self->{listener}; } sub handleRequests { my ($self) = @_; return unless $self->{listener}; # init() call failed # First try to handle plugin requests on dedicated ports foreach my $port (keys(%{$self->{listeners}})) { my ($client, $socket) = $self->{listeners}->{$port}->{listener}->accept(); next unless $socket; # Upgrade to SSL if required my $ssl = $self->{listeners}->{$port}->{ssl}; if ($ssl && !$ssl->upgrade_SSL($client)) { $self->{logger}->debug($log_prefix . "HTTPD can't start SSL session"); next; } my $family = sockaddr_family($socket); my $iaddr = $family == AF_INET ? unpack_sockaddr_in($socket) : $family == AF_INET6 ? unpack_sockaddr_in6($socket) : INADDR_ANY; my $clientIp = inet_ntop($family, $iaddr); my $request = $client->get_request(); $self->_handle_plugins($client, $request, $clientIp, $self->{listeners}->{$port}->{plugins}, MaxKeepAlive); } return unless $self->{listener}; # in case of config reload() my ($client, $socket) = $self->{listener}->accept(); return unless $socket; # Upgrade to SSL if required if ($self->{_ssl} && !$self->{_ssl}->upgrade_SSL($client)) { $self->{logger}->debug($log_prefix . "HTTPD can't start SSL session"); return; } my $family = sockaddr_family($socket); my $iaddr = $family == AF_INET ? unpack_sockaddr_in($socket) : $family == AF_INET6 ? unpack_sockaddr_in6($socket) : INADDR_ANY; my $clientIp = inet_ntop($family, $iaddr); my $request = $client->get_request(); $self->_handle($client, $request, $clientIp, MaxKeepAlive); return 1; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Server - An embedded HTTP server =head1 DESCRIPTION This is the server used by the agent to listen on the network for messages sent by OCS or GLPI servers. It is an HTTP server listening on port 62354 (by default). The following requests are accepted: =over =item /status =item /deploy =item /now =back Authentication is based on connection source address: trusted requests are accepted, other are rejected. =head1 CLASS METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use =item I the directory where HTML templates and static files are stored =item I the network address to listen to (default: all) =item I the network port to listen to =item I an IP address or an IP address range from which to trust incoming requests (default: none) =back =head1 INSTANCE METHODS =head2 $server->init() Start the server internal listener. =head2 $server->handleRequests() Check if there any incoming request, and honours it if needed. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Protocol/0000755000175000017500000000000013757703277025333 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Protocol/https.pm0000644000175000017500000000223013712210012026773 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Protocol::https; use strict; use warnings; use parent qw(LWP::Protocol::https); use IO::Socket::SSL qw(SSL_VERIFY_NONE SSL_VERIFY_PEER); sub import { my ($class, %params) = @_; # set default context IO::Socket::SSL::set_ctx_defaults(ca_file => $params{ca_cert_file}) if $params{ca_cert_file}; IO::Socket::SSL::set_ctx_defaults(ca_path => $params{ca_cert_dir}) if $params{ca_cert_dir}; } sub _extra_sock_opts { my ($self, $host) = @_; return ( SSL_verify_mode => $self->{ua}->{ssl_check} ? SSL_VERIFY_PEER : SSL_VERIFY_NONE, SSL_verifycn_scheme => 'http', SSL_verifycn_name => $host ); } ## no critic (ProhibitMultiplePackages) package FusionInventory::Agent::HTTP::Protocol::https::Socket; use parent qw(Net::HTTPS); use parent -norequire, qw(LWP::Protocol::http::SocketMethods); 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Protocol::https - HTTPS protocol handler for LWP =head1 DESCRIPTION This is an overrided HTTPS protocol handler for LWP, allowing to use subjectAltNames for checking server certificate. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Client.pm0000644000175000017500000002103513754755754025313 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Client; use strict; use warnings; use English qw(-no_match_vars); use URI; use HTTP::Status; use LWP::UserAgent; use UNIVERSAL::require; use FusionInventory::Agent; use FusionInventory::Agent::Logger; my $log_prefix = "[http client] "; sub new { my ($class, %params) = @_; die "non-existing certificate file $params{ca_cert_file}" if $params{ca_cert_file} && ! -f $params{ca_cert_file}; die "non-existing certificate directory $params{ca_cert_dir}" if $params{ca_cert_dir} && ! -d $params{ca_cert_dir}; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), user => $params{user}, password => $params{password}, ssl_set => 0, no_ssl_check => $params{no_ssl_check}, no_compress => $params{no_compress}, ca_cert_dir => $params{ca_cert_dir}, ca_cert_file => $params{ca_cert_file} }; bless $self, $class; # create user agent $self->{ua} = LWP::UserAgent->new( requests_redirectable => ['POST', 'GET', 'HEAD'], agent => $FusionInventory::Agent::AGENT_STRING, timeout => $params{timeout} || 180, parse_head => 0, # No need to parse HTML keep_alive => 1, ); if ($params{proxy}) { $self->{ua}->proxy(['http', 'https'], $params{proxy}); } else { $self->{ua}->env_proxy(); } return $self; } sub request { my ($self, $request, $file, $no_proxy_host, $timeout) = @_; my $logger = $self->{logger}; # Save current timeout to restore it before leaving my $current_timeout = $self->{ua}->timeout(); $self->{ua}->timeout($timeout) if defined($timeout); my $url = $request->uri(); my $scheme = $url->scheme(); $self->_setSSLOptions() if $scheme eq 'https' && !$self->{ssl_set}; # Avoid to use proxy if requested if ($no_proxy_host) { $self->{ua}->no_proxy($no_proxy_host); } elsif ($self->{ua}->proxy($scheme)) { # keep proxy trace if one may be used my $proxy_uri = URI->new($self->{ua}->proxy($scheme)); if ($proxy_uri->userinfo) { # Obfuscate proxy password if present my ($proxy_user, $proxy_pass) = split(':', $proxy_uri->userinfo); $proxy_uri->userinfo( $proxy_user.":".('X' x length($proxy_pass)) ) if ($proxy_pass); } $logger->debug( $log_prefix . "Using '".$proxy_uri->as_string()."' as proxy for $scheme protocol" ); } my $result = HTTP::Response->new( 500 ); eval { if ($OSNAME eq 'MSWin32' && $scheme eq 'https') { alarm $self->{ua}->timeout(); } $result = $self->{ua}->request($request, $file); alarm 0; }; # check result first if (!$result->is_success()) { # authentication required if ($result->code() == 401) { if ($self->{user} && $self->{password}) { $logger->debug( $log_prefix . "authentication required, submitting credentials" ); # compute authentication parameters my $header = $result->header('www-authenticate'); my ($realm) = $header =~ /^Basic realm="(.*)"/; my $host = $url->host(); my $port = $url->port() || ($scheme eq 'https' ? 443 : 80); $self->{ua}->credentials( "$host:$port", $realm, $self->{user}, $self->{password} ); # replay request eval { if ($OSNAME eq 'MSWin32' && $scheme eq 'https') { alarm $self->{ua}->{timeout}; } $result = $self->{ua}->request($request, $file); alarm 0; }; if (!$result->is_success()) { $logger->error( $log_prefix . "authentication required, wrong credentials" ); } } else { # abort $logger->error( $log_prefix . "authentication required, no credentials available" ); } } elsif ($result->code() == 407) { $logger->error( $log_prefix . "proxy authentication required, wrong or no proxy credentials" ); } else { # check we request through a proxy my $proxyreq = defined $result->request->{proxy}; $logger->error( $log_prefix . ($proxyreq ? "proxy" : "communication") . " error: " . $result->status_line() ); } } # Always restore timeout $self->{ua}->timeout($current_timeout); return $result; } sub _setSSLOptions { my ($self) = @_; # SSL handling if ($self->{no_ssl_check}) { # LWP 6 default behaviour is to check hostname # Fedora also backported this behaviour change in its LWP5 package, so # just checking on LWP version is not enough $self->{ua}->ssl_opts(verify_hostname => 0, SSL_verify_mode => 0) if $self->{ua}->can('ssl_opts'); } else { # only IO::Socket::SSL can perform full server certificate validation, # Net::SSL is only able to check certification authority, and not # certificate hostname IO::Socket::SSL->require(); die "IO::Socket::SSL Perl module not available, " . "unable to validate SSL certificates " . "(workaround: use 'no-ssl-check' configuration parameter)" if $EVAL_ERROR; # Activate SSL Debug if Stderr is in backends my $DEBUG_SSL = 0; $DEBUG_SSL = grep { ref($_) =~/Stderr$/ } @{$self->{logger}{backends}} if (ref($self->{logger}{backends}) eq 'ARRAY'); if ( $DEBUG_SSL && $self->{logger}->debug_level() >= 2 ) { $Net::SSLeay::trace = 3; } if ($LWP::VERSION >= 6) { $self->{ua}->ssl_opts(SSL_ca_file => $self->{ca_cert_file}) if $self->{ca_cert_file}; $self->{ua}->ssl_opts(SSL_ca_path => $self->{ca_cert_dir}) if $self->{ca_cert_dir}; } else { # SSL_verifycn_scheme and SSL_verifycn_name are required die "IO::Socket::SSL Perl module too old " . "(available: $IO::Socket::SSL::VERSION, required: 1.14), " . "unable to validate SSL certificates " . "(workaround: use 'no-ssl-check' configuration parameter)" if $IO::Socket::SSL::VERSION < 1.14; # use a custom HTTPS handler to workaround default LWP5 behaviour FusionInventory::Agent::HTTP::Protocol::https->use( ca_cert_file => $self->{ca_cert_file}, ca_cert_dir => $self->{ca_cert_dir}, ); LWP::Protocol::implementor( 'https', 'FusionInventory::Agent::HTTP::Protocol::https' ); # abuse user agent internal to pass values to the handler, so # as to have different behaviors in the same process $self->{ua}->{ssl_check} = $self->{no_ssl_check} ? 0 : 1; } } $self->{ssl_set} = 1; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Client - An abstract HTTP client =head1 DESCRIPTION This is an abstract class for HTTP clients. It can send messages through HTTP or HTTPS, directly or through a proxy, and validate SSL certificates. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use (default: a new stderr logger) =item I the URL of an HTTP proxy =item I the user for HTTP authentication =item I the password for HTTP authentication =item I a flag allowing to ignore untrusted server certificates (default: false) =item I the file containing trusted certificates =item I the directory containing trusted certificates =back =head2 request($request) Send given HTTP::Request object, handling SSL checking and user authentication automatically if needed. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/HTTP/Session.pm0000644000175000017500000000507213712210012025462 0ustar gbougardgbougardpackage FusionInventory::Agent::HTTP::Session; use strict; use warnings; use Digest::SHA; use FusionInventory::Agent::Logger; my $log_prefix = "[http session] "; sub new { my ($class, %params) = @_; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), timer => $params{timer} || [ time, $params{timeout} || 600 ], nonce => $params{nonce} || '', }; bless $self, $class; return $self; } sub expired { my ($self) = @_; return $self->{timer}[0] + $self->{timer}[1] < time if ref($self->{timer}) eq 'ARRAY'; } sub nonce { my ($self) = @_; unless ($self->{nonce}) { my $sha = Digest::SHA->new(1); my $nonce; eval { for (my $i = 0; $i < 32; $i ++) { $sha->add(ord(rand(256))); } $nonce = $sha->b64digest; }; $self->{logger}->debug($log_prefix . "Nonce failure: $@") if $@; $self->{nonce} = $nonce if $nonce; } return $self->{nonce}; } sub authorized { my ($self, %params) = @_; return unless $params{token} && $params{payload}; my $sha = Digest::SHA->new('256'); my $digest; eval { $sha->add($self->{nonce}.'++'.$params{token}); $digest = $sha->b64digest; }; $self->{logger}->debug($log_prefix . "Digest failure: $@") if $@; return ($digest && $digest eq $params{payload}); } sub dump { my ($self) = @_; my $dump = {}; $dump->{nonce} = $self->{nonce} if $self->{nonce}; $dump->{timer} = $self->{timer} if $self->{timer}; return $dump; } 1; __END__ =head1 NAME FusionInventory::Agent::HTTP::Session - An abstract HTTP session =head1 DESCRIPTION This is an abstract class for HTTP sessions. It can be used to store peer connection status. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use (default: a new stderr logger) =item I the initial timer used when restoring a session from storage =item I the nonce used to compute the final secret when restoring a session from storage =item I the session timeout for session expiration (default to 60, in seconds) =back =head2 authorized() Return true if provided secret matches the token. =head2 expired() Return true when a session expired. =head2 nonce() Return session nonce creating one if not available. =head2 dump() Return session hash to be stored for session persistence. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Logger/0000755000175000017500000000000013757703277024172 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Logger/Backend.pm0000644000175000017500000000133213712210012026021 0ustar gbougardgbougardpackage FusionInventory::Agent::Logger::Backend; use strict; use warnings; sub reload { } 1; __END__ =head1 NAME FusionInventory::Agent::Logger::Backend - An abstract logger backend =head1 DESCRIPTION This is an abstract base classe for logger backends. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the $params hashref: =over =item I the agent configuration object =back =head2 addMessage(%params) Add a log message, with a specific level. The following arguments are allowed: =over =item I Can be one of: =over =item debug =item info =item warning =item error =back =item I =back =head2 reload() Used to reload a logger FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Logger/File.pm0000644000175000017500000000330213712210012025350 0ustar gbougardgbougardpackage FusionInventory::Agent::Logger::File; use strict; use warnings; use parent 'FusionInventory::Agent::Logger::Backend'; use English qw(-no_match_vars); use Fcntl qw(:flock); sub new { my ($class, %params) = @_; my $self = { logfile => $params{'logfile'}, logfile_maxsize => $params{'logfile-maxsize'} ? $params{'logfile-maxsize'} * 1024 * 1024 : 0 }; bless $self, $class; return $self; } sub addMessage { my ($self, %params) = @_; my $level = $params{level}; my $message = $params{message}; my $handle; if ($self->{logfile_maxsize}) { if ( -e $self->{logfile} && -s $self->{logfile} > $self->{logfile_maxsize}) { if (!open $handle, '>', $self->{logfile}) { warn "Can't open $self->{logfile}: $ERRNO"; return; } } } if (!$handle && !open $handle, '>>', $self->{logfile}) { warn "can't open $self->{logfile}: $ERRNO"; return; } my $locked; my $retryTill = time + 60; while ($retryTill > time && !$locked) { ## no critic (ProhibitBitwise) # get an exclusive lock on log file $locked = 1 if flock($handle, LOCK_EX|LOCK_NB); } if (!$locked) { die "can't get an exclusive lock on $self->{logfile}: $ERRNO"; } print {$handle} "[". localtime() ."]" . "[$level]" . " $message\n"; # closing handle release the lock automatically close $handle; } 1; __END__ =head1 NAME FusionInventory::Agent::Logger::File - A file backend for the logger =head1 DESCRIPTION This is a file-based backend for the logger. It supports automatic filesize limitation. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Logger/Stderr.pm0000644000175000017500000000216013712210012025735 0ustar gbougardgbougardpackage FusionInventory::Agent::Logger::Stderr; use strict; use warnings; use parent 'FusionInventory::Agent::Logger::Backend'; use English qw(-no_match_vars); sub new { my ($class, %params) = @_; my $self = { _formats => $params{color} && { warning => "\033[1;35m[%s] %s\033[0m\n", error => "\033[1;31m[%s] %s\033[0m\n", info => "\033[1;34m[%s]\033[0m %s\n", debug => "\033[1;1m[%s]\033[0m %s\n", debug2 => "\033[1;36m[%s]\033[0m %s\n" } }; bless $self, $class; return $self; } sub addMessage { my ($self, %params) = @_; my $level = $params{level} || 'info'; my $message = $params{message} or return; my $format = $self->{_formats} && $self->{_formats}->{$level} ? $self->{_formats}->{$level} : "[%s] %s\n"; printf STDERR $format, $level, $message; } 1; __END__ =head1 NAME FusionInventory::Agent::Logger::Stderr - A stderr backend for the logger =head1 DESCRIPTION This is a stderr-based backend for the logger. It supports coloring based on message level on Unix platforms. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Logger/Syslog.pm0000644000175000017500000000251713712210012025760 0ustar gbougardgbougardpackage FusionInventory::Agent::Logger::Syslog; use strict; use warnings; use parent 'FusionInventory::Agent::Logger::Backend'; use Sys::Syslog qw(:standard :macros); use FusionInventory::Agent::Version; my %syslog_levels = ( error => LOG_ERR, warning => LOG_WARNING, info => LOG_INFO, debug => LOG_DEBUG, debug2 => LOG_DEBUG ); my $syslog_name = lc($FusionInventory::Agent::Version::PROVIDER)."-agent"; sub new { my ($class, %params) = @_; my $self = { facility => $params{logfacility} || 'LOG_USER', }; bless $self, $class; openlog($syslog_name, 'cons,pid', $self->{facility}); return $self; } sub addMessage { my ($self, %params) = @_; my $level = $params{level} || 'info'; my $message = $params{message}; syslog($syslog_levels{$level}, $message); } sub reload { my ($self) = @_; closelog(); openlog($syslog_name, 'cons,pid', $self->{facility}); } sub DESTROY { closelog(); } 1; __END__ =head1 NAME FusionInventory::Agent::Logger::Syslog - A syslog backend for the logger =head1 DESCRIPTION This is a syslog-based backend for the logger. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the syslog facility to use (default: LOG_USER) =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Inventory.pm0000644000175000017500000004655613750505610025306 0ustar gbougardgbougardpackage FusionInventory::Agent::Inventory; use strict; use warnings; use Config; use Data::Dumper; use Digest::MD5 qw(md5_base64); use English qw(-no_match_vars); use UNIVERSAL::require; use XML::TreePP; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Version; # Always sort keys in Dumper while computing checksum on HASH $Data::Dumper::Sortkeys = 1; my %fields = ( BIOS => [ qw/SMODEL SMANUFACTURER SSN BDATE BVERSION BMANUFACTURER MMANUFACTURER MSN MMODEL ASSETTAG ENCLOSURESERIAL BIOSSERIAL TYPE SKUNUMBER/ ], HARDWARE => [ qw/USERID OSVERSION PROCESSORN OSCOMMENTS CHECKSUM PROCESSORT NAME PROCESSORS SWAP ETIME TYPE OSNAME IPADDR WORKGROUP DESCRIPTION MEMORY UUID DNS LASTLOGGEDUSER USERDOMAIN DATELASTLOGGEDUSER DEFAULTGATEWAY VMSYSTEM WINOWNER WINPRODID WINPRODKEY WINCOMPANY WINLANG CHASSIS_TYPE VMNAME VMHOSTSERIAL/ ], OPERATINGSYSTEM => [ qw/KERNEL_NAME KERNEL_VERSION NAME VERSION FULL_NAME SERVICE_PACK INSTALL_DATE FQDN DNS_DOMAIN HOSTID SSH_KEY ARCH BOOT_TIME TIMEZONE/ ], ACCESSLOG => [ qw/USERID LOGDATE/ ], ANTIVIRUS => [ qw/COMPANY ENABLED GUID NAME UPTODATE VERSION EXPIRATION BASE_CREATION BASE_VERSION/ ], BATTERIES => [ qw/CAPACITY CHEMISTRY DATE NAME SERIAL MANUFACTURER VOLTAGE REAL_CAPACITY/ ], CONTROLLERS => [ qw/CAPTION DRIVER NAME MANUFACTURER PCICLASS VENDORID SERIAL MODEL PRODUCTID PCISUBSYSTEMID PCISLOT TYPE REV/ ], CPUS => [ qw/CACHE CORE DESCRIPTION MANUFACTURER NAME THREAD SERIAL STEPPING FAMILYNAME FAMILYNUMBER MODEL SPEED ID EXTERNAL_CLOCK ARCH CORECOUNT/ ], DRIVES => [ qw/CREATEDATE DESCRIPTION FREE FILESYSTEM LABEL LETTER SERIAL SYSTEMDRIVE TOTAL TYPE VOLUMN ENCRYPT_NAME ENCRYPT_ALGO ENCRYPT_STATUS ENCRYPT_TYPE/ ], ENVS => [ qw/KEY VAL/ ], INPUTS => [ qw/NAME MANUFACTURER CAPTION DESCRIPTION INTERFACE LAYOUT POINTINGTYPE TYPE/ ], FIREWALL => [ qw/PROFILE STATUS DESCRIPTION IPADDRESS IPADDRESS6/ ], LICENSEINFOS => [ qw/NAME FULLNAME KEY COMPONENTS TRIAL UPDATE OEM ACTIVATION_DATE PRODUCTID/ ], LOCAL_GROUPS => [ qw/ID MEMBER NAME/ ], LOCAL_USERS => [ qw/HOME ID LOGIN NAME SHELL/ ], LOGICAL_VOLUMES => [ qw/LV_NAME VG_NAME ATTR SIZE LV_UUID SEG_COUNT VG_UUID/ ], MEMORIES => [ qw/CAPACITY CAPTION FORMFACTOR REMOVABLE PURPOSE SPEED SERIALNUMBER TYPE DESCRIPTION NUMSLOTS MEMORYCORRECTION MANUFACTURER MODEL/ ], MODEMS => [ qw/DESCRIPTION NAME TYPE MODEL/ ], MONITORS => [ qw/BASE64 CAPTION DESCRIPTION MANUFACTURER SERIAL UUENCODE NAME TYPE ALTSERIAL PORT/ ], NETWORKS => [ qw/DESCRIPTION MANUFACTURER MODEL MANAGEMENT TYPE VIRTUALDEV MACADDR WWN DRIVER FIRMWARE PCIID PCISLOT PNPDEVICEID MTU SPEED STATUS SLAVES BASE IPADDRESS IPSUBNET IPMASK IPDHCP IPGATEWAY IPADDRESS6 IPSUBNET6 IPMASK6 WIFI_BSSID WIFI_SSID WIFI_MODE WIFI_VERSION/ ], PHYSICAL_VOLUMES => [ qw/DEVICE PV_PE_COUNT PV_UUID FORMAT ATTR SIZE FREE PE_SIZE VG_UUID/ ], PORTS => [ qw/CAPTION DESCRIPTION NAME TYPE/ ], POWERSUPPLIES => [ qw/PARTNUM SERIALNUMBER MANUFACTURER POWER_MAX NAME HOTREPLACEABLE PLUGGED STATUS LOCATION MODEL/ ], PRINTERS => [ qw/COMMENT DESCRIPTION DRIVER NAME NETWORK PORT RESOLUTION SHARED STATUS ERRSTATUS SERVERNAME SHARENAME PRINTPROCESSOR SERIAL/ ], PROCESSES => [ qw/USER PID CPUUSAGE MEM VIRTUALMEMORY TTY STARTED CMD/ ], REGISTRY => [ qw/NAME REGVALUE HIVE/ ], REMOTE_MGMT => [ qw/ID TYPE/ ], RUDDER => [ qw/AGENT UUID HOSTNAME SERVER_ROLES AGENT_CAPABILITIES/ ], SLOTS => [ qw/DESCRIPTION DESIGNATION NAME STATUS/ ], SOFTWARES => [ qw/COMMENTS FILESIZE FOLDER FROM HELPLINK INSTALLDATE NAME NO_REMOVE RELEASE_TYPE PUBLISHER UNINSTALL_STRING URL_INFO_ABOUT VERSION VERSION_MINOR VERSION_MAJOR GUID ARCH USERNAME USERID SYSTEM_CATEGORY/ ], SOUNDS => [ qw/CAPTION DESCRIPTION MANUFACTURER NAME/ ], STORAGES => [ qw/DESCRIPTION DISKSIZE INTERFACE MANUFACTURER MODEL NAME TYPE SERIAL SERIALNUMBER FIRMWARE SCSI_COID SCSI_CHID SCSI_UNID SCSI_LUN WWN ENCRYPT_NAME ENCRYPT_ALGO ENCRYPT_STATUS ENCRYPT_TYPE/ ], VIDEOS => [ qw/CHIPSET MEMORY NAME RESOLUTION PCISLOT PCIID/ ], USBDEVICES => [ qw/VENDORID PRODUCTID MANUFACTURER CAPTION SERIAL CLASS SUBCLASS NAME/ ], USERS => [ qw/LOGIN DOMAIN/ ], VIRTUALMACHINES => [ qw/MEMORY NAME UUID STATUS SUBSYSTEM VMTYPE VCPU MAC COMMENT OWNER SERIAL IMAGE/ ], VOLUME_GROUPS => [ qw/VG_NAME PV_COUNT LV_COUNT ATTR SIZE FREE VG_UUID VG_EXTENT_SIZE/ ], VERSIONPROVIDER => [ qw/NAME VERSION COMMENTS PERL_EXE PERL_VERSION PERL_ARGS PROGRAM PERL_CONFIG PERL_INC PERL_MODULE/ ] ); my %checks = ( STORAGES => { INTERFACE => qr/^(SCSI|HDC|IDE|USB|1394|Serial-ATA|SAS|SATA)$/ }, VIRTUALMACHINES => { STATUS => qr/^(running|blocked|idle|paused|shutdown|crashed|dying|off)$/ }, SLOTS => { STATUS => qr/^(free|used)$/ }, NETWORKS => { TYPE => qr/^(ethernet|wifi|infiniband|aggregate|alias|dialup|loopback|bridge|fibrechannel)$/ }, CPUS => { ARCH => qr/^(MIPS|MIPS64|Alpha|SPARC|SPARC64|m68k|i386|x86_64|PowerPC|PowerPC64|ARM|AArch64)$/ } ); # convert fields list into fields hashes, for fast lookup foreach my $section (keys %fields) { $fields{$section} = { map { $_ => 1 } @{$fields{$section}} }; } sub new { my ($class, %params) = @_; my $self = { deviceid => $params{deviceid}, logger => $params{logger} || FusionInventory::Agent::Logger->new(), fields => \%fields, content => { HARDWARE => { VMSYSTEM => "Physical" # Default value }, VERSIONCLIENT => $FusionInventory::Agent::AGENT_STRING || $FusionInventory::Agent::Version::PROVIDER."-Inventory_v".$FusionInventory::Agent::Version::VERSION } }; bless $self, $class; $self->setTag($params{tag}); $self->{last_state_file} = $params{statedir} . '/last_state' if $params{statedir}; return $self; } sub getRemote { my ($self) = @_; return $self->{_remote} || ''; } sub setRemote { my ($self, $task) = @_; $self->{_remote} = $task || ''; return $self->{_remote}; } sub getDeviceId { my ($self) = @_; return $self->{deviceid} if $self->{deviceid}; # compute an unique agent identifier based on current time and inventory # hostnale or provider name my $hostname = $self->getHardware('NAME'); if ($hostname) { my $workgroup = $self->getHardware('WORKGROUP'); $hostname .= "." . $workgroup if $workgroup; } else { FusionInventory::Agent::Tools::Hostname->require(); eval { $hostname = FusionInventory::Agent::Tools::Hostname::getHostname(); }; } # Fake hostname if no default found $hostname = 'device-by-' . lc($FusionInventory::Agent::Version::PROVIDER) . '-agent' unless $hostname; my ($year, $month , $day, $hour, $min, $sec) = (localtime (time))[5, 4, 3, 2, 1, 0]; return $self->{deviceid} = sprintf "%s-%02d-%02d-%02d-%02d-%02d-%02d", $hostname, $year + 1900, $month + 1, $day, $hour, $min, $sec; } sub getFields { my ($self) = @_; return $self->{fields}; } sub getContent { my ($self) = @_; return $self->{content}; } sub getSection { my ($self, $section) = @_; ## no critic (ExplicitReturnUndef) my $content = $self->getContent() or return undef; return exists($content->{$section}) ? $content->{$section} : undef ; } sub getField { my ($self, $section, $field) = @_; ## no critic (ExplicitReturnUndef) $section = $self->getSection($section) or return undef; return exists($section->{$field}) ? $section->{$field} : undef ; } sub mergeContent { my ($self, $content) = @_; die "no content" unless $content; foreach my $section (keys %$content) { if (ref $content->{$section} eq 'ARRAY') { # a list of entry foreach my $entry (@{$content->{$section}}) { $self->addEntry(section => $section, entry => $entry); } } else { # single entry SWITCH: { if ($section eq 'HARDWARE') { $self->setHardware($content->{$section}); last SWITCH; } if ($section eq 'OPERATINGSYSTEM') { $self->setOperatingSystem($content->{$section}); last SWITCH; } if ($section eq 'BIOS') { $self->setBios($content->{$section}); last SWITCH; } if ($section eq 'ACCESSLOG') { $self->setAccessLog($content->{$section}); last SWITCH; } $self->addEntry( section => $section, entry => $content->{$section} ); } } } } sub addEntry { my ($self, %params) = @_; my $entry = $params{entry}; die "no entry" unless $entry; my $section = $params{section}; my $fields = $fields{$section}; my $checks = $checks{$section}; die "unknown section $section" unless $fields; foreach my $field (keys %$entry) { if (!$fields->{$field}) { # unvalid field, log error and remove $self->{logger}->debug("unknown field $field for section $section"); delete $entry->{$field}; next; } if (!defined $entry->{$field}) { # undefined value, remove delete $entry->{$field}; next; } # sanitize value my $value = getSanitizedString($entry->{$field}); # check value if appliable if ($checks->{$field}) { $self->{logger}->debug( "invalid value $value for field $field for section $section" ) unless $value =~ $checks->{$field}; } $entry->{$field} = $value; } # avoid duplicate entries if ($params{noDuplicated}) { my $md5 = md5_base64(Dumper($entry)); return if $self->{seen}->{$section}->{$md5}; $self->{seen}->{$section}->{$md5} = 1; } if ($section eq 'STORAGES') { $entry->{SERIALNUMBER} = $entry->{SERIAL} if !$entry->{SERIALNUMBER} } push @{$self->{content}{$section}}, $entry; } sub computeLegacyValues { my ($self) = @_; # CPU-related values my $cpus = $self->{content}->{CPUS}; if ($cpus) { my $cpu = $cpus->[0]; $self->setHardware({ PROCESSORN => scalar @$cpus, PROCESSORS => $cpu->{SPEED}, PROCESSORT => $cpu->{NAME}, }); } # network related values my $interfaces = $self->{content}->{NETWORKS}; if ($interfaces) { my @ip_addresses = grep { ! /^127/ } grep { $_ } map { $_->{IPADDRESS} } @$interfaces; $self->setHardware({ IPADDR => join('/', @ip_addresses), }); } # user-related values my $users = $self->{content}->{USERS}; if ($users) { my $user = $users->[-1]; my ($domain, $id); if ($user->{LOGIN} =~ /(\S+)\\(\S+)/) { # Windows fully qualified username: domain\user $domain = $1; $id = $2; } else { # simple username: user $id = $user->{LOGIN}; } $self->setHardware({ USERID => $id, USERDOMAIN => $domain, }); } } sub getHardware { my ($self, $field) = @_; return $self->getField('HARDWARE', $field); } sub setHardware { my ($self, $args) = @_; foreach my $field (keys %$args) { if (!$fields{HARDWARE}->{$field}) { $self->{logger}->debug("unknown field $field for section HARDWARE"); next } # Do not overwrite existing value with undef next unless $args->{$field}; $self->{content}->{HARDWARE}->{$field} = getSanitizedString($args->{$field}); } } sub setOperatingSystem { my ($self, $args) = @_; foreach my $field (keys %$args) { if (!$fields{OPERATINGSYSTEM}->{$field}) { $self->{logger}->debug( "unknown field $field for section OPERATINGSYSTEM" ); next } $self->{content}->{OPERATINGSYSTEM}->{$field} = getSanitizedString($args->{$field}); } } sub getBios { my ($self, $field) = @_; return $self->getField('BIOS', $field); } sub setBios { my ($self, $args) = @_; foreach my $field (keys %$args) { if (!$fields{BIOS}->{$field}) { $self->{logger}->debug("unknown field $field for section BIOS"); next } $self->{content}->{BIOS}->{$field} = getSanitizedString($args->{$field}); } } sub setAccessLog { my ($self, $args) = @_; foreach my $field (keys %$args) { if (!$fields{ACCESSLOG}->{$field}) { $self->{logger}->debug( "unknown field $field for section ACCESSLOG" ); next } $self->{content}->{ACCESSLOG}->{$field} = getSanitizedString($args->{$field}); } } sub setTag { my ($self, $tag) = @_; return unless $tag; $self->{content}{ACCOUNTINFO} = [{ KEYNAME => "TAG", KEYVALUE => $tag }]; } sub computeChecksum { my ($self) = @_; my $logger = $self->{logger}; # to apply to $checksum with an OR my %mask = ( HARDWARE => 1, BIOS => 2, MEMORIES => 4, SLOTS => 8, REGISTRY => 16, CONTROLLERS => 32, MONITORS => 64, PORTS => 128, STORAGES => 256, DRIVES => 512, INPUT => 1024, MODEMS => 2048, NETWORKS => 4096, PRINTERS => 8192, SOUNDS => 16384, VIDEOS => 32768, SOFTWARES => 65536, ); # TODO CPUS is not in the list if ($self->{last_state_file}) { if (-f $self->{last_state_file}) { eval { $self->{last_state_content} = XML::TreePP->new()->parsefile( $self->{last_state_file} ); }; if (ref($self->{last_state_content}) ne 'HASH') { $self->{last_state_content} = {}; } } else { $logger->debug( "last state file '$self->{last_state_file}' doesn't exist" ); } } my $checksum = 0; foreach my $section (keys %mask) { my $hash = md5_base64(Dumper($self->{content}->{$section})); # check if the section did change since the last run next if $self->{last_state_content}->{$section} && $self->{last_state_content}->{$section} eq $hash; $logger->debug("Section $section has changed since last inventory"); # add the mask of the current section to the checksum $checksum |= $mask{$section}; ## no critic (ProhibitBitwise) # store the new value. $self->{last_state_content}->{$section} = $hash; } $self->setHardware({CHECKSUM => $checksum}); } sub saveLastState { my ($self) = @_; my $logger = $self->{logger}; if (!defined($self->{last_state_content})) { $self->computeChecksum(); } if ($self->{last_state_file}) { eval { XML::TreePP->new()->writefile( $self->{last_state_file}, $self->{last_state_content} ); } } else { $logger->debug( "last state file is not defined, last state not saved" ); } my $tpp = XML::TreePP->new(); } 1; __END__ =head1 NAME FusionInventory::Agent::Inventory - Inventory data structure =head1 DESCRIPTION This is a data structure corresponding to an hardware and software inventory. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I a logger object =item I a path to a writable directory containing the last serialized inventory =item I an arbitrary label, used for server-side filtering =back =head2 getContent() Get content attribute. =head2 getSection($section) Get full machine inventory section. =head2 getField($section,$field) Get a field from a full machine inventory section. =head2 mergeContent($content) Merge content to the inventory. =head2 addEntry(%params) Add a new entry to the inventory. The following parameters are allowed, as keys of the %params hash: =over =item I
the entry section (mandatory) =item I the entry (mandatory) =item I ignore entry if already present =back =head2 setTag($tag) Set inventory tag, an arbitrary label used for filtering on server side. =head2 getHardware($field) Get machine global information from known machine inventory. =head2 setHardware() Save global information regarding the machine. =head2 setOperatingSystem() Operating System information. =head2 getBios($field) Get BIOS information from known inventory. =head2 setBios() Set BIOS information. =head2 setAccessLog() What is that for? :) =head2 computeChecksum() Compute the inventory checksum. This information is used by the server to know which parts of the inventory have changed since the last one. =head2 computeLegacyValues() Compute the inventory global values, meaning values in hardware section such as CPU number, speed and model, computed from other values, but needed for OCS compatibility. =head2 saveLastState() At the end of the process IF the inventory was saved correctly, the last_state is saved. =head2 getRemote() Method to get the parent task remote status. Returns the string set by setRemote() API or an empty string. =head2 setRemote([$task]) Method to set or reset the parent task remote status. Without $task parameter, the API resets the parent remote status to an empty string. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/0000755000175000017500000000000013757703277024053 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Screen.pm0000644000175000017500000000751013712210012025576 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Screen; use strict; use warnings; use English qw(-no_match_vars); use FusionInventory::Agent::Logger; use FusionInventory::Agent::Tools::Generic; sub new { my ($class, %params) = @_; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), edid => $params{edid}, }; bless $self, $class; # There are two different serial numbers in EDID # - a mandatory 4 bytes numeric value # - an optional 13 bytes ASCII value # We use the ASCII value if present, the numeric value as an hex string # unless for a few list of known exceptions deserving specific handling # References: # http://forge.fusioninventory.org/issues/1607 # http://forge.fusioninventory.org/issues/1614 if ($self->{edid}->{serial_number2} && $self->{edid}->{serial_number2}->[0]) { $self->{_serial} = $self->{edid}->{serial_number2}->[0]; } else { $self->{_serial} = sprintf("%08x", $self->{edid}->{serial_number}); } # Setup manufacturer $self->manufacturer(getEDIDVendor( id => $self->{edid}->{manufacturer_name}, datadir => $params{datadir} ) || $self->{edid}->{manufacturer_name}); # Try to overload the class with manufacturer dedicated subclass return $self->_overloaded($class); } # Overload if screen manufacturer is a well-know case my %EDID_MANUFACTURER_TO_SUBCLASS = ( ACR => 'Acer', GSM => 'Goldstar', PHL => 'Philips', SAM => 'Samsung' ); sub _overloaded { my ($self, $class) = @_; my $edidname = $self->{edid}->{manufacturer_name}; return $self unless $edidname; my $manufacturer = $EDID_MANUFACTURER_TO_SUBCLASS{$edidname}; if ($manufacturer) { my $subclass = $class."::".$manufacturer; $subclass->require(); bless $self, $subclass unless ($EVAL_ERROR); } return $self; } sub eisa_id { my ($self) = @_; return $self->{edid}->{EISA_ID}; } sub serial { my ($self) = @_; return $self->{_serial}; } sub altserial { undef; } sub week_year_manufacture { my ($self) = @_; # We should skip week if set to 255 (see specs) return $self->{edid}->{week} == 255 ? $self->{edid}->{year} : $self->{edid}->{week} . "/" . $self->{edid}->{year}; } sub caption { my ($self) = @_; $self->{_caption} = $self->{edid}->{monitor_name}; unless ($self->{_caption}) { my $monitor_text = $self->{edid}->{monitor_text}; if ($monitor_text && @{$monitor_text}) { $self->{_caption} = join(' ', @{$monitor_text}); } } return unless $self->{_caption}; return if ($self->{_caption} =~ /^\s*$/); # Clean-up $self->{_caption} =~ s/[^ -~].*$// ; return $self->{_caption}; } sub manufacturer { my ($self, $manufacturer) = @_; $self->{_manufacturer} = $manufacturer if $manufacturer; return $self->{_manufacturer}; } 1; __END__ =head1 NAME FusionInventory::Agent::Screen - Base class for screen object =head1 DESCRIPTION This is an abstract class for screen objects =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use (default: a new stderr logger) =item I the reference to a hash returned by Parse::EDID::parse_edid() =back =head2 serial() This is a method to be implemented by each subclass. It returns the standard serial while not overloaded. =head2 altserial() This is a method to be implemented by each subclass. =head2 week_year_manufacture() The week of screen manufacture =head2 caption() Monitor name or computed monitor text as caption =head2 manufacturer() Screen manufacturer accessor =head2 eisa_id() EISA_ID accessor FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/PartNumber/0000755000175000017500000000000013757703277026132 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/PartNumber/Hynix.pm0000644000175000017500000000174013753417600027555 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::PartNumber::Hynix; use strict; use warnings; use parent 'FusionInventory::Agent::Tools::PartNumber'; # See https://www.skhynix.com/eng/support/technicalSupport.jsp use constant match_re => qr/^HY?[59M]([ADHPT])[123458ABCNQ]........?.?-(..).?$/; use constant category => "memory"; use constant manufacturer => "Hynix"; sub init { my ($self, $type_match, $speed_match ) = @_; my %speeds = qw( K2 266 K3 266 J3 333 E3 400 E4 400 F4 500 G7 1066 H9 1333 TE 2133 UL 2400 FA 500 FB 500 PB 1600 RD 1866 TF 2133 UH 2400 VK 2666 XN 3200 NL 3200 NM 3733 NE 4266 VN 2666 WM 2933 WR 2933 XS 3200 ); $self->{_speed} = $speeds{$speed_match}; my %types = qw( D DDR P DDR2 T DDR3 A DDR4 H LPDDR4 ); $self->{_type} = $types{$type_match}; return $self; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/PartNumber/Dell.pm0000644000175000017500000000067613753417600027345 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::PartNumber::Dell; use strict; use warnings; use parent 'FusionInventory::Agent::Tools::PartNumber'; use constant match_re => qr/^([0-9A-Z]{6})([A-B]\d{2})$/; use constant category => "controller"; use constant manufacturer => "Dell"; sub init { my ($self, $partnum, $revision) = @_; $self->{_partnumber} = $partnum; $self->{_revision} = $revision; return $self; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/PartNumber/Samsung.pm0000644000175000017500000000200713753417600030070 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::PartNumber::Samsung; use strict; use warnings; use parent 'FusionInventory::Agent::Tools::PartNumber'; # See https://www.samsung.com/semiconductor/global.semi/file/resource/2018/06/DDR4_Product_guide_May.18.pdf # https://www.samsung.com/semiconductor/global.semi/file/resource/2017/11/DDR3_Product_guide_Oct.16[2]-0.pdf use constant match_re => qr/^(?: M[34]..([AB]).......-.(..).? | K4([AB]).......-..(..)(?:...)? )$/x; use constant category => "memory"; use constant manufacturer => "Samsung"; sub init { my ($self, $type_match, $speed_match ) = @_; my %speeds = qw( F7 800 F8 1066 H9 1333 K0 1600 MA 1866 NB 2133 PB 2133 RC 2400 TD 2666 RB 2133 TC 2400 WD 2666 VF 2933 WE 3200 YF 2933 AE 3200 ); $self->{_speed} = $speeds{$speed_match}; my %types = qw( B DDR3 A DDR4 ); $self->{_type} = $types{$type_match}; return $self; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/PartNumber/Elpida.pm0000644000175000017500000000171513753417600027656 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::PartNumber::Elpida; use strict; use warnings; use parent 'FusionInventory::Agent::Tools::PartNumber'; # Based on specs from Elpida Memory, Inc 2002-2012 - ECT-TS-2039 June 2012 use constant match_re => qr/^E([BCD])(.).{8}.?-(..).?.?(?:-..)?$/; use constant category => "memory"; use constant manufacturer => "Elpida"; sub init { my ($self, $bcd_match, $type_match, $speed_match ) = @_; my %speeds = ( B => { qw( DJ 10660 GN 12800 ) }, C => { qw( 50 400 ) }, D => { qw( AE 1066 DJ 1333 MU 2133 GN 1600 JS 1866 1J 1066 8E 800 ) }, ); my $speeds = $speeds{$bcd_match} // {}; $self->{_speed} = $speeds->{$speed_match}; my %types = qw( M DDR E DDR2 J DDR3 B DDR2 ); $self->{_type} = $types{$type_match}; return $self; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/PartNumber/Micron.pm0000644000175000017500000000126713753417600027711 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::PartNumber::Micron; use strict; use warnings; use parent 'FusionInventory::Agent::Tools::PartNumber'; # https://www.micron.com/products/dram-modules/rdimm/part-catalog use constant match_re => qr/^ (?:MTA?)? \d+ ([AHJK]) [DST] [FQS] \d+G? # depth: 256MB, 1G, etc. 72 # width: x72 [AP](?:[DS])?Z \- /x; use constant category => 'memory'; use constant manufacturer => 'Micron'; sub init { my ($self, $type_match) = @_; my %types = qw( H DDR2 J DDR3 K DDR3 A DDR4 ); $self->{_type} = $types{$type_match}; return $self; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/PowerSupplies.pm0000644000175000017500000001026413750013366027217 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::PowerSupplies; use strict; use warnings; use parent 'Exporter'; use FusionInventory::Agent::Inventory; use FusionInventory::Agent::Tools; our @EXPORT = qw( powersupplyFields ); my @fields = (); sub powersupplyFields { unless (@fields) { # Initialize PowerSupplies expected fields from an Inventory object my $inventory = FusionInventory::Agent::Inventory->new(); @fields = keys(%{$inventory->getFields()->{'POWERSUPPLIES'}}); } return @fields; } # Also implement a powersupplies class, but split name on new line to not export it in CPAN ## no critic (ProhibitMultiplePackages) package Inventory::PowerSupplies; use FusionInventory::Agent::Logger; sub new { my ($class, %params) = @_; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), list => {}, }; bless $self, $class; return $self; } sub add { my ($self, $ref) = @_; my $powersupply = PowerSupply->new($ref); my $deviceid = $powersupply->deviceid; $self->{logger}->debug( "Replacing '$deviceid' powersupply" ) if $self->{list}->{$deviceid}; $self->{list}->{$deviceid} = $powersupply; } sub merge { my ($self, @powersupplies) = @_; # Handle the case where only one powersupply is found and deviceid may not # be complete in one case if (scalar(keys(%{$self->{list}})) == 1 && scalar(@powersupplies) == 1) { my $currentid = [ keys(%{$self->{list}}) ]->[0]; my $current = $self->{list}->{$currentid}; my $powersupply = PowerSupply->new($powersupplies[0]); if ($currentid ne $powersupply->deviceid && scalar($current->serial) eq scalar($powersupply->serial) ) { # Just rename key to permit the merge if serial match $self->{list}->{$powersupply->deviceid} = $current; delete $self->{list}->{$currentid}; } } foreach my $data (@powersupplies) { my $powersupply = PowerSupply->new($data); my $deviceid = $powersupply->deviceid; # Just add powersupply if it doesn't exist in list if ($self->{list}->{$deviceid}) { $self->{list}->{$deviceid}->merge($powersupply); } else { $self->{list}->{$deviceid} = $powersupply; } } } sub list { my ($self) = @_; return map { $_->dump() } values(%{$self->{list}}); } # Also implement a powersupply class, but split name on new line to not export it in CPAN package PowerSupply; use FusionInventory::Agent::Logger; sub new { my ($class, $powersupply) = @_; return $powersupply if (ref($powersupply) eq $class); return unless ref($powersupply) eq 'HASH'; $powersupply->{logger} = FusionInventory::Agent::Logger->new() unless $powersupply->{logger}; bless $powersupply, $class; return $powersupply; } sub deviceid { my ($self) = @_; return $self->vendor.$self->serial; } sub serial { my ($self) = @_; return $self->{SERIALNUMBER} || '0'; } sub vendor { my ($self) = @_; return $self->{MANUFACTURER} || ''; } sub merge { my ($self, $powersupply) = @_; foreach my $key (FusionInventory::Agent::Tools::PowerSupplies::powersupplyFields()) { next unless $powersupply->{$key}; # Don't replace value is they are the same, case insensitive check next if (defined($self->{$key}) && $powersupply->{$key} =~ /^$self->{$key}$/i); $self->{logger}->debug( "Replacing $key value '$self->{$key}' by '$powersupply->{$key}' on '". $self->deviceid."' powersupply" ) if $self->{$key}; $self->{$key} = $powersupply->{$key}; } } sub dump { my ($self) = @_; my $dump = {}; foreach my $key (FusionInventory::Agent::Tools::PowerSupplies::powersupplyFields()) { next unless exists($self->{$key}); $dump->{$key} = $self->{$key}; } return $dump; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::PowerSupplies =head1 DESCRIPTION This module provides functions to manage powersupplies information =head1 FUNCTIONS =head2 powersupplyFields() Returns the list of supported/expected powersupply fields FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Constants.pm0000644000175000017500000000033713712210012026333 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Constants; use strict; use warnings; use parent 'Exporter'; use constant STATUS_ON => 'on'; use constant STATUS_OFF => 'off'; our @EXPORT = qw( STATUS_OFF STATUS_ON ); 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Linux.pm0000644000175000017500000005414113757435716025515 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Linux; use strict; use warnings; use parent 'Exporter'; # Constant for ethtool system call use constant SIOCETHTOOL => 0x8946 ; # See linux/sockios.h use constant ETHTOOL_GSET => 0x00000001 ; # See linux/ethtool.h use constant SPEED_UNKNOWN => 65535 ; # See linux/ethtool.h, to be read as -1 use English qw(-no_match_vars); use File::Basename qw(basename dirname); use Memoize; use Socket qw(PF_INET SOCK_DGRAM); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Unix; use FusionInventory::Agent::Tools::Network; our @EXPORT = qw( getDevicesFromUdev getDevicesFromHal getDevicesFromProc getCPUsFromProc getInfoFromSmartctl getInterfacesFromIfconfig getInterfacesFromIp getInterfacesInfosFromIoctl ); memoize('getDevicesFromUdev'); sub getDevicesFromUdev { my (%params) = @_; my @devices; # We need to support dump params to permit full testing when root params is set my $root = $params{root} || ""; foreach my $file (glob "$root/dev/.udev/db/*") { if ($params{dump} && -e $file) { my $base = basename($file); my $content = getAllLines(file => $file); $params{dump}->{dev}->{'.udev'}->{db}->{$base} = $content; } my $device = getFirstMatch( file => $file, pattern => qr/^N:(\S+)/ ); next unless $device; next unless $device =~ /([hsv]d[a-z]+|sr\d+)$/; my $parsed = _parseUdevEntry( logger => $params{logger}, file => $file, device => $device ); push @devices, $parsed if $parsed; } foreach my $device (@devices) { next if $device->{TYPE} && $device->{TYPE} eq 'cd'; $device->{DISKSIZE} = getDeviceCapacity( device => '/dev/' . $device->{NAME}, %params ); } return @devices; } sub _parseUdevEntry { my (%params) = @_; my $handle = getFileHandle(%params); return unless $handle; my ($result, $serial); while (my $line = <$handle>) { if ($line =~ /^S:.*-scsi-(\d+):(\d+):(\d+):(\d+)/) { $result->{SCSI_COID} = $1; $result->{SCSI_CHID} = $2; $result->{SCSI_UNID} = $3; $result->{SCSI_LUN} = $4; } elsif ($line =~ /^E:ID_VENDOR=(.*)/) { $result->{MANUFACTURER} = $1; } elsif ($line =~ /^E:ID_MODEL=(.*)/) { $result->{MODEL} = $1; } elsif ($line =~ /^E:ID_REVISION=(.*)/) { $result->{FIRMWARE} = $1; } elsif ($line =~ /^E:ID_SERIAL=(.*)/) { $serial = $1; } elsif ($line =~ /^E:ID_SERIAL_SHORT=(.*)/) { $result->{SERIALNUMBER} = $1; } elsif ($line =~ /^E:ID_TYPE=(.*)/) { $result->{TYPE} = $1; } elsif ($line =~ /^E:ID_BUS=(.*)/) { $result->{DESCRIPTION} = $1; } } close $handle; if (!$result->{SERIALNUMBER}) { $result->{SERIALNUMBER} = $serial; } $result->{NAME} = $params{device}; return $result; } sub getCPUsFromProc { my (%params) = ( file => '/proc/cpuinfo', @_ ); my $handle = getFileHandle(%params); my (@cpus, $cpu); while (my $line = <$handle>) { if ($line =~ /^([^:]+\S) \s* : \s (.+)/x) { $cpu->{lc($1)} = trimWhitespace($2); } elsif ($line =~ /^$/) { # an empty line marks the end of a cpu section # push to the list, but only if it is a valid cpu push @cpus, $cpu if $cpu && _isValidCPU($cpu); undef $cpu; } } close $handle; # push remaining cpu to the list, if it is valid cpu push @cpus, $cpu if $cpu && _isValidCPU($cpu); return @cpus; } sub _isValidCPU { my ($cpu) = @_; return exists $cpu->{processor} || exists $cpu->{cpu}; } sub getDevicesFromHal { my (%params) = ( command => '/usr/bin/lshal', @_ ); # We need to support dump params to permit full testing when root params is set if ($params{root}) { $params{file} = "$params{root}/lshal"; } elsif ($params{dump}) { $params{dump}->{lshal} = getAllLines(%params); } my $handle = getFileHandle(%params); my (@devices, $device); while (my $line = <$handle>) { chomp $line; if ($line =~ m{^udi = '/org/freedesktop/Hal/devices/(storage|legacy_floppy|block)}) { $device = {}; next; } next unless defined $device; if ($line =~ /^$/) { push(@devices, $device); undef $device; } elsif ($line =~ /^\s+ storage.serial \s = \s '([^']+)'/x) { $device->{SERIALNUMBER} = $1; } elsif ($line =~ /^\s+ storage.firmware_version \s = \s '([^']+)'/x) { $device->{FIRMWARE} = $1; } elsif ($line =~ /^\s+ block.device \s = \s '([^']+)'/x) { my $value = $1; ($device->{NAME}) = $value =~ m{/dev/(\S+)}; } elsif ($line =~ /^\s+ info.vendor \s = \s '([^']+)'/x) { $device->{MANUFACTURER} = $1; } elsif ($line =~ /^\s+ storage.model \s = \s '([^']+)'/x) { $device->{MODEL} = $1; } elsif ($line =~ /^\s+ storage.drive_type \s = \s '([^']+)'/x) { $device->{TYPE} = $1; } elsif ($line =~ /^\s+ storage.size \s = \s (\S+)/x) { my $value = $1; $device->{DISKSIZE} = int($value/(1024*1024) + 0.5); } } close $handle; return @devices; } sub getDevicesFromProc { my (%params) = @_; # We need to support dump params to permit full testing when root params is set my $dump = $params{dump}; my $root = $params{root} || ""; my $logger = $params{logger}; # compute list of devices my @names; foreach my $file (glob "$root/sys/block/*") { if ($dump && -d $file) { my $basename = basename($file); $dump->{sys}->{block}->{$basename} = {}; } next unless $file =~ /([shv]d[a-z]+|fd\d)$/; push @names, $1; } # add any block device identified as device by the kernel like SSD disks or # removable disks (SD cards and others) foreach my $file (glob "$root/sys/block/*/device") { if ($dump && -d $file) { my $dirname = basename(dirname($file)); $dump->{sys}->{block}->{$dirname}->{device} = {}; } next unless $file =~ m|([^/]*)/device$|; push @names, $1; } foreach my $file (glob "$root/sys/class/scsi_generic/*") { # block devices should have been handled in the previous step next if -d "$file/device/block/"; my $basename = basename($file); if ($dump && -d "$file/device/type") { my $base = $dump->{sys}->{class}->{scsi_generic}->{$basename} = {}; if (-e "$file/device/type") { my $content = getAllLines(file => "$file/device/type"); $base->{device}->{type} = $content; } } my $type = getFirstLine( file => "$file/device/type", logger => $logger ); # if not disk next if (!defined($type) || $type != 0); push @names, $basename; } # filter duplicates my %seen; @names = grep { !$seen{$_}++ } @names; # filter multipath @names = _filterMultipath(names => \@names) if canRun('multipath'); my $udisksctl = canRun('udisksctl'); $dump->{udisksctl} = 1 if ($dump && $udisksctl); $udisksctl = 1 if $root && -e "$root/udisksctl"; # extract information my @devices; foreach my $name (@names) { my $device = { NAME => $name, MANUFACTURER => _getValueFromSysProc($logger, $name, 'vendor', $root, $dump), MODEL => _getValueFromSysProc($logger, $name, 'model', $root, $dump), FIRMWARE => _getValueFromSysProc($logger, $name, 'rev', $root, $dump) || _getValueFromSysProc($logger, $name, 'firmware_rev', $root, $dump), SERIALNUMBER => _getValueFromSysProc($logger, $name, 'serial', $root, $dump) || _getValueFromSysProc($logger, $name, 'vpd_pg80', $root, $dump), TYPE => _getValueFromSysProc($logger, $name, 'removable', $root, $dump) ? 'removable' : 'disk' }; # WWN my $wwn = _getValueFromSysProc($logger, $name, 'wwid', $root, $dump); $device->{WWN} = $wwn if $wwn && $wwn =~ s/^naa\./wwn-/; # Support PCI or other bus case as description foreach my $subsystem ("device/subsystem","device/device/subsystem") { my $link = _readLinkFromSysFs("/sys/block/$name/$subsystem", $root, $dump); next unless ($link && $link =~ m|^/sys/bus/(\w+)$|); $device->{DESCRIPTION} = uc($1); last; } # Support disk size from /sys/block my $size_by_sectors = _getValueFromSysProc($logger, $name, 'size', $root, $dump); if ($size_by_sectors) { $device->{DISKSIZE} = int($size_by_sectors * 512 / 1_000_000); } # Check removable capacity as HintAuto via udiskctl while available if ($udisksctl && $device->{TYPE} eq 'disk') { my %match = ( pattern => qr/^\s+HintAuto:\s+(true|false)$/, logger => $logger ); if ($root) { $match{file} = "$root/udisksctl-$name"; } else { $match{command} = "udisksctl info -b /dev/$name"; } $dump->{"udisksctl-$name"} = getAllLines(%match) if ($dump); my $hintauto = getFirstMatch(%match); $device->{TYPE} = 'removable' if ( $hintauto && $hintauto eq 'true' ); } push @devices, $device; } return @devices; } sub _getValueFromSysProc { my ($logger, $device, $key, $root, $dump) = @_; ## no critic (ExplicitReturnUndef) my $file = first { -f $root.$_ } "/sys/block/$device/$key", "/sys/block/$device/device/$key", "/proc/ide/$device/$key", "/sys/class/scsi_generic/$device/device/$key"; return undef unless $file; # We need to support dump params to permit full testing when root params is set if ($dump) { foreach my $sub (split('/',dirname($file))) { next unless $sub; $dump->{$sub} = {} unless $dump->{$sub}; $dump = $dump->{$sub}; } $dump->{basename($file)} = getAllLines(file => $file); } my $value = getFirstLine(file => $root.$file, logger => $logger); return undef unless defined $value; $value = $1 if $value =~ /([[:print:]]*[[:alnum:]]+)/; return trimWhitespace($value); } sub _filterMultipath { my (%params) = ( command => 'multipath -l', @_ ); my %hnames = map {$_ => 1} @{$params{names}}; # parse multipath my (@groups, @group); foreach my $line (getAllLines(%params)) { if ($line =~ /^\w+ \(\w+\) dm-\d+ \w+/) { push @groups, [@group] if scalar @group; @group = (); } elsif ($line =~ / (sd[a-z]+) /) { push @group, $1; } } push @groups, [@group] if scalar @group; # filter foreach my $group (@groups) { # delete all but first element from each group for (my $i = 1; $i < scalar @$group; $i++) { delete $hnames{ @$group[$i] } ; } } return keys %hnames; } sub _readLinkFromSysFs { my ($path, $root, $dump) = @_; ## no critic (ExplicitReturnUndef) my @path = split('/', $path); return undef unless (!shift(@path) && shift(@path) eq 'sys'); my @sys = (); # We need to support dump params to permit full testing when root params is set if ($dump) { foreach my $sub (split('/',dirname($path))) { next unless $sub; $dump->{$sub} = {} unless $dump->{$sub}; $dump = $dump->{$sub}; } $dump->{basename($path)} = [ link => readlink($path) ]; } while (@path) { push @sys, shift(@path); my $link = readlink($root.'/sys/'.join('/', @sys)); next unless $link; pop @sys; foreach my $sub (split('/',$link)) { if ($sub eq '..') { pop @sys; } else { push @sys, $sub; } } } return '/sys/'.join('/', @sys); } sub getInfoFromSmartctl { my (%params) = @_; # We need to support dump params to permit full testing when root params is set $params{file} = "$params{root}/smartctl-".basename($params{device}) if $params{root}; my @lines = getAllLines( %params, command => $params{device} ? "smartctl -i $params{device} " . ($params{extra} // "") : undef, ); # We need to support dump params to permit full testing when root params is set $params{dump}->{"smartctl-".basename($params{device})} = @lines ? join("\n", @lines)."\n" : "" if $params{dump}; return unless @lines; my $info = { TYPE => 'disk', DESCRIPTION => 'SATA', }; my $attrs = { DESCRIPTION => { src => ['transport protocol'] }, DISKSIZE => { src => ['user capacity'], func => \&getCanonicalSize, }, FIRMWARE => { src => ['revision', 'firmware version'] }, INTERFACE => { src => ['transport protocol', 'sata version is'] }, MANUFACTURER => { src => ['vendor', 'model family', 'add. product id', 'device model', 'product'], func => \&getCanonicalManufacturer, }, MODEL => { src => ['product', 'device model', 'model family'] }, SERIALNUMBER => { src => ['serial number'] }, TYPE => { src => ['device type'] }, WWN => { src => ['lu wwn device id'], # remove whitespaces func => sub { shift =~ s/\s+//gr }, } }; my $regexp = { __default => qr/^(\w+)/, __smartctl => qr/^([^:]+?)\s*:\s*(.+)\s*$/, 'user capacity' => qr/([\d\.\,\s]+(?:\w+)?)/, 'device model' => qr/([\w\s\-]+)/, 'firmware version' => qr/(\S+)/, 'lu wwn device id' => qr/((?:0x)?[[:xdigit:]\h]+)/, }; my %smartctl; for my $line (@lines) { next unless $line =~ $regexp->{__smartctl}; $smartctl{lc $1} = $2; } while (my ($attr, $val) = each %$attrs) { for my $s (@{$val->{src}}) { next unless defined $smartctl{$s}; my ($data) = ($smartctl{$s} =~ ($regexp->{$s} // $regexp->{__default})); $info->{$attr} = exists $val->{func} ? &{$val->{func}}($data) : $data; last; } } return $info; } sub getInterfacesFromIfconfig { my (%params) = ( command => '/sbin/ifconfig -a', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @interfaces; my $interface; my %types = ( Ethernet => 'ethernet', ); while (my $line = <$handle>) { if ($line =~ /^$/) { # end of interface section push @interfaces, $interface if $interface; next; } if ($line =~ /^([\w\d.]+)/) { # new interface $interface = { STATUS => 'Down', DESCRIPTION => $1 } } if ($line =~ / inet \s ($ip_address_pattern) \s+ netmask \s ($ip_address_pattern) \s+ broadcast \s $ip_address_pattern /x) { $interface->{IPADDRESS} = $1; $interface->{IPMASK} = $2; } if ($line =~ / ether \s ($mac_address_pattern) .+ \( Ethernet \) /x) { $interface->{MACADDR} = $1; $interface->{TYPE} = 'ethernet'; } if ($line =~ /inet6 \s (\S+)/x) { $interface->{IPADDRESS6} = $1; } if ($line =~ /inet addr:($ip_address_pattern)/i) { $interface->{IPADDRESS} = $1; } if ($line =~ /Mask:($ip_address_pattern)/) { $interface->{IPMASK} = $1; } if ($line =~ /inet6 addr: (\S+)/i) { $interface->{IPADDRESS6} = $1; } if ($line =~ /hwadd?r\s+($mac_address_pattern)/i) { $interface->{MACADDR} = $1; } if ($line =~ /^\s+UP\s/) { $interface->{STATUS} = 'Up'; } if ($line =~ /flags=.*[<,]UP[>,]/) { $interface->{STATUS} = 'Up'; } if ($line =~ /Link encap:(\S+)/) { $interface->{TYPE} = $types{$1}; } } close $handle; return @interfaces; } sub getInterfacesInfosFromIoctl { my (%params) = ( interface => 'eth0', @_ ); return unless $params{interface}; my $logger = $params{logger}; socket(my $socket, PF_INET, SOCK_DGRAM, 0) or return ; # Pack command in ethtool_cmd struct my $cmd = pack("L3SC6L2SC2L3", ETHTOOL_GSET); # Pack request for ioctl my $request = pack("a16p", $params{interface}, $cmd); my $retval = ioctl($socket, SIOCETHTOOL, $request) || -1; return if ($retval < 0); # Unpack returned datas my @datas = unpack("L3SC6L2SC2L3", $cmd); # Actually only speed value is requested and extracted my $datas = { SPEED => $datas[3]|$datas[12]<<16 }; # Forget speed value if got unknown speed special value if ($datas->{SPEED} == SPEED_UNKNOWN) { delete $datas->{SPEED}; $logger->debug2("Unknown speed found on $params{interface}") if $logger; } return $datas; } sub getInterfacesFromIp { my (%params) = ( command => '/sbin/ip addr show', @_ ); my $handle = getFileHandle(%params); return unless $handle; my (@interfaces, @addresses, $interface); while (my $line = <$handle>) { if ($line =~ /^\d+:\s+(\S+): <([^>]+)>/) { if (@addresses) { push @interfaces, @addresses; undef @addresses; } elsif ($interface) { push @interfaces, $interface; } my ($name, $flags) = ($1, $2); my $status = (any { $_ eq 'UP' } split(/,/, $flags)) ? 'Up' : 'Down'; $interface = { DESCRIPTION => $name, STATUS => $status }; } elsif ($line =~ /link\/\S+ ($any_mac_address_pattern)?/) { $interface->{MACADDR} = $1; } elsif ($line =~ /inet6 (\S+)\/(\d{1,2})/) { my $address = $1; my $mask = getNetworkMaskIPv6($2); my $subnet = getSubnetAddressIPv6($address, $mask); push @addresses, { IPADDRESS6 => $address, IPMASK6 => $mask, IPSUBNET6 => $subnet, STATUS => $interface->{STATUS}, DESCRIPTION => $interface->{DESCRIPTION}, MACADDR => $interface->{MACADDR} }; } elsif ($line =~ / inet \s ($ip_address_pattern)(?:\/(\d{1,3}))? \s .* \s (\S+)$ /x) { my $address = $1; my $mask = getNetworkMask($2); my $subnet = getSubnetAddress($address, $mask); my $name = $3; # the name associated with the address differs from the current # interface if the address is actually attached to an alias push @addresses, { IPADDRESS => $address, IPMASK => $mask, IPSUBNET => $subnet, STATUS => $interface->{STATUS}, DESCRIPTION => $name, MACADDR => $interface->{MACADDR} }; } } close $handle; if (@addresses) { push @interfaces, @addresses; undef @addresses; } elsif ($interface) { push @interfaces, $interface; } return @interfaces; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Linux - Linux generic functions =head1 DESCRIPTION This module provides some generic functions for Linux. =head1 FUNCTIONS =head2 getDevicesFromUdev(%params) Returns a list of devices, by parsing /dev/.udev directory. This directory is not exported anymore with recent udev. Availables parameters: =over =item logger a logger object =back =head2 getDevicesFromHal(%params) Returns a list of devices, by parsing lshal output. Availables parameters: =over =item logger a logger object =item command the exact command to use (default: /usr/sbin/lshal) =item file the file to use, as an alternative to the command =back =head2 getDevicesFromProc(%params) Returns a list of devices, by parsing /proc filesystem. Availables parameters: =over =item logger a logger object =back =head2 getCPUsFromProc(%params) Returns a list of cpus, by parsing /proc/cpuinfo file Availables parameters: =over =item logger a logger object =item file the file to use (default: /proc/cpuinfo) =back =head2 getInfoFromSmartctl(%params) Returns some information about a device, using smartctl. Availables parameters: =over =item logger a logger object =item device the device to use =item file the file to use =back =head2 getInterfacesFromIfconfig(%params) Returns the list of interfaces, by parsing ifconfig command output. Availables parameters: =over =item logger a logger object =item command the command to use (default: /sbin/ifconfig -a) =item file the file to use =back =head2 getInterfacesInfosFromIoctl(%params) Returns interface datas, by parsing results from ethtool system call request. Availables parameters: =over =item logger a logger object =item interface the interface name to use (default: eth0) =back =head2 getInterfacesFromIp(%params) Returns the list of interfaces, by parsing ip command output. Availables parameters: =over =item logger a logger object =item command the command to use (default: /sbin/ip addr show) =item file the file to use =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Hardware.pm0000644000175000017500000016425513734352274026153 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Hardware; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::Tools::SNMP; use FusionInventory::Agent::SNMP::Device; our @EXPORT = qw( getDeviceInfo getDeviceFullInfo ); my %types = ( 1 => 'COMPUTER', 2 => 'NETWORKING', 3 => 'PRINTER', 4 => 'STORAGE', 5 => 'POWER', 6 => 'PHONE', 7 => 'VIDEO', 8 => 'KVM', ); my %sysobjectid; my %sysdescr_first_word = ( '3com' => { manufacturer => '3Com', type => 'NETWORKING' }, 'alcatel-lucent' => { manufacturer => 'Alcatel-Lucent', type => 'NETWORKING' }, 'allied' => { manufacturer => 'Allied', type => 'NETWORKING' }, 'alteon' => { manufacturer => 'Alteon', type => 'NETWORKING' }, 'apc' => { manufacturer => 'APC', type => 'NETWORKING' }, 'apple' => { manufacturer => 'Apple', }, 'avaya' => { manufacturer => 'Avaya', }, 'axis' => { manufacturer => 'Axis', type => 'NETWORKING' }, 'baystack' => { manufacturer => 'Nortel', type => 'NETWORKING' }, 'broadband' => { manufacturer => 'Broadband', type => 'NETWORKING' }, 'brocade' => { manufacturer => 'Brocade', type => 'NETWORKING' }, 'brother' => { manufacturer => 'Brother', type => 'PRINTER' }, 'canon' => { manufacturer => 'Canon', type => 'PRINTER' }, 'cisco' => { manufacturer => 'Cisco', type => 'NETWORKING' }, 'dell' => { manufacturer => 'Dell', }, 'designjet' => { manufacturer => 'Hewlett-Packard', type => 'PRINTER' }, 'deskjet' => { manufacturer => 'Hewlett-Packard', type => 'PRINTER' }, 'd-link' => { manufacturer => 'D-Link', type => 'NETWORKING' }, 'eaton' => { manufacturer => 'Eaton', type => 'NETWORKING' }, 'emc' => { manufacturer => 'EMC', type => 'STORAGE' }, 'enterasys' => { manufacturer => 'Enterasys', type => 'NETWORKING' }, 'epson' => { manufacturer => 'Epson', type => 'PRINTER' }, 'extreme' => { manufacturer => 'Extreme', type => 'NETWORKING' }, 'extremexos' => { manufacturer => 'Extreme', type => 'NETWORKING' }, 'force10' => { manufacturer => 'Force10', type => 'NETWORKING' }, 'foundry' => { manufacturer => 'Foundry', type => 'NETWORKING' }, 'fuji' => { manufacturer => 'Fuji', type => 'NETWORKING' }, 'h3c' => { manufacturer => 'H3C', type => 'NETWORKING' }, 'hp' => { manufacturer => 'Hewlett-Packard', }, 'ibm' => { manufacturer => 'IBM', type => 'COMPUTER' }, 'juniper' => { manufacturer => 'Juniper', type => 'NETWORKING' }, 'konica' => { manufacturer => 'Konica', type => 'PRINTER' }, 'kyocera' => { manufacturer => 'Kyocera', type => 'PRINTER' }, 'lancom' => { manufacturer => 'Lancom', type => 'NETWORKING' }, 'lexmark' => { manufacturer => 'Lexmark', type => 'PRINTER' }, 'netapp' => { manufacturer => 'NetApp', type => 'STORAGE' }, 'netgear' => { manufacturer => 'NetGear', type => 'NETWORKING' }, 'nortel' => { manufacturer => 'Nortel', type => 'NETWORKING' }, 'nrg' => { manufacturer => 'NRG', type => 'PRINTER' }, 'officejet' => { manufacturer => 'Hewlett-Packard', type => 'PRINTER' }, 'oki' => { manufacturer => 'OKI', type => 'PRINTER' }, 'powerconnect' => { manufacturer => 'PowerConnect', type => 'NETWORKING' }, 'procurve' => { manufacturer => 'Hewlett-Packard', type => 'NETWORKING' }, 'ricoh' => { manufacturer => 'Ricoh', type => 'PRINTER' }, 'sagem' => { manufacturer => 'Sagem', type => 'NETWORKING' }, 'samsung' => { manufacturer => 'Samsung', type => 'PRINTER' }, 'sharp' => { manufacturer => 'Sharp', type => 'PRINTER' }, 'toshiba' => { manufacturer => 'Toshiba', type => 'PRINTER' }, 'wyse' => { manufacturer => 'Wyse', type => 'COMPUTER' }, 'xerox' => { manufacturer => 'Xerox', type => 'PRINTER' }, 'xirrus' => { manufacturer => 'Xirrus', type => 'NETWORKING' }, 'zebranet' => { manufacturer => 'Zebranet', type => 'PRINTER' }, 'ztc' => { manufacturer => 'ZTC', type => 'NETWORKING' }, 'zywall' => { manufacturer => 'ZyWall', type => 'NETWORKING' } ); my @sysdescr_rules = ( { match => qr/Switch/, type => 'NETWORKING', }, { match => qr/JETDIRECT/, type => 'PRINTER', }, { match => qr/Linux TS-\d+/, type => 'STORAGE', manufacturer => 'Qnap' }, ); # common interface variables my %interface_variables = ( IFNUMBER => { oid => '.1.3.6.1.2.1.2.2.1.1', type => 'constant' }, IFDESCR => { oid => '.1.3.6.1.2.1.2.2.1.2', type => 'string', }, IFNAME => { oid => [ '.1.3.6.1.2.1.31.1.1.1.1', '.1.3.6.1.2.1.2.2.1.2', ], type => 'string', }, IFTYPE => { oid => '.1.3.6.1.2.1.2.2.1.3', type => 'constant', }, IFMTU => { oid => '.1.3.6.1.2.1.2.2.1.4', type => 'count', }, IFSTATUS => { oid => '.1.3.6.1.2.1.2.2.1.8', type => 'constant', }, IFINTERNALSTATUS => { oid => '.1.3.6.1.2.1.2.2.1.7', type => 'constant', }, IFLASTCHANGE => { oid => '.1.3.6.1.2.1.2.2.1.9', type => 'string' }, IFINOCTETS => { oid => '.1.3.6.1.2.1.2.2.1.10', type => 'count', }, IFOUTOCTETS => { oid => '.1.3.6.1.2.1.2.2.1.16', type => 'count', }, IFINERRORS => { oid => '.1.3.6.1.2.1.2.2.1.14', type => 'count', }, IFOUTERRORS => { oid => '.1.3.6.1.2.1.2.2.1.20', type => 'count', }, MAC => { oid => '.1.3.6.1.2.1.2.2.1.6', type => 'mac', }, IFPORTDUPLEX => { oid => '.1.3.6.1.2.1.10.7.2.1.19', type => 'constant', }, IFALIAS => { oid => '.1.3.6.1.2.1.31.1.1.1.18', type => 'string', }, ); my %consumable_types = ( 3 => 'TONER', 4 => 'WASTETONER', 5 => 'CARTRIDGE', 6 => 'CARTRIDGE', 8 => 'WASTETONER', 9 => 'DRUM', 10 => 'DEVELOPER', 12 => 'CARTRIDGE', 15 => 'FUSERKIT', 18 => 'MAINTENANCEKIT', 20 => 'TRANSFERKIT', 21 => 'TONER', 32 => 'STAPLES', ); # printer-specific page counter variables my %printer_pagecounters_variables = ( TOTAL => { oid => [ '.1.3.6.1.4.1.1347.42.10.1.1.12.1.1', #Kyocera specific counter for printers and MF # If you were really keen you could calculate misfeed rates # based on the difference betwwen this and the default OID # value and use it to flag a call out of service techs. # Hint: Increasing rate = bald paper pickup roller tyres. '.1.3.6.1.2.1.43.10.2.1.4.1.1' #Default Value ] }, BLACK => { oid => '.1.3.6.1.4.1.1347.42.2.2.1.1.3.1.1' #Kyocera specific non-MFP counter }, COLOR => { oid => '.1.3.6.1.4.1.1347.42.2.1.1.1.8.1.1' #Kyocera specific non-MFP counter }, RECTOVERSO => { }, SCANNED => { oid => [ '.1.3.6.1.4.1.1347.46.10.1.1.5.3', #Kyocera MFP specific counter ( total scan counter) '.1.3.6.1.4.1.1602.1.11.1.3.1.4.501' #Canon specific counter ] }, PRINTTOTAL => { oid => [ '.1.3.6.1.4.1.1347.42.3.1.1.1.1.1', #Kyocera MFP specific counter '.1.3.6.1.4.1.1602.1.11.1.3.1.4.301' #Canon specific counter ] }, PRINTBLACK => { oid => '.1.3.6.1.4.1.1347.42.3.1.2.1.1.1.1' #Kyocera MFP specific counter }, PRINTCOLOR => { oid => '.1.3.6.1.4.1.1347.42.3.1.2.1.1.1.3' #Kyocera MFP specific counter }, COPYTOTAL => { oid => [ '.1.3.6.1.4.1.1347.42.3.1.1.1.1.2', #Kyocera MFP specific counter '.1.3.6.1.4.1.1602.1.11.1.3.1.4.101' #Canon specific counter ] }, COPYBLACK => { oid => [ '.1.3.6.1.4.1.1347.42.3.1.2.1.1.2.1', #Kyocera MFP specific counter '.1.3.6.1.4.1.1602.1.11.1.3.1.4.113' #Canon specific counter ] }, COPYBLACK_A3 => { oid => '.1.3.6.1.4.1.1602.1.11.1.3.1.4.112' #Canon specific counter }, COPYCOLOR => { oid => [ '.1.3.6.1.4.1.1347.42.3.1.2.1.1.2.3', #Kyocera MFP specific counter '.1.3.6.1.4.1.1602.1.11.1.3.1.4.123' #Canon specific counter ] }, COPYCOLOR_A3 => { oid => '.1.3.6.1.4.1.1602.1.11.1.3.1.4.122' #Canon specific counter }, FAXTOTAL => { oid => '.1.3.6.1.4.1.1347.42.3.1.1.1.1.4' #Kyocera MFP specific counter } ); sub _getDevice { my (%params) = @_; my $snmp = $params{snmp}; my $datadir = $params{datadir}; my $logger = $params{logger}; my $device = FusionInventory::Agent::SNMP::Device->new( snmp => $snmp, logger => $logger ); # manufacturer, type and model identification attempt, using sysObjectID my $sysobjectid = $snmp->get('.1.3.6.1.2.1.1.2.0'); if ($sysobjectid) { my $match = _getSysObjectIDInfo( id => $sysobjectid, datadir => $datadir, logger => $logger ); $device->{TYPE} = $match->{type} if $match->{type}; $device->{MODEL} = $match->{model} if $match->{model}; $device->{MANUFACTURER} = $match->{manufacturer} if $match->{manufacturer}; $device->{EXTMOD} = $match->{module} if $match->{module}; } # manufacturer and type identification attempt, using sysDescr, # if one of them is missing my $sysdescr = $snmp->get('.1.3.6.1.2.1.1.1.0'); if ($sysdescr) { $device->{DESCRIPTION} = getCanonicalString($sysdescr); if (!exists $device->{MANUFACTURER} || !exists $device->{TYPE}) { # first word my ($first_word) = $sysdescr =~ /(\S+)/; my $result = $sysdescr_first_word{lc($first_word)}; if ($result) { $device->{MANUFACTURER} = $result->{manufacturer} if $result->{manufacturer} && !exists $device->{MANUFACTURER}; $device->{TYPE} = $result->{type} if $result->{type} && !exists $device->{TYPE}; } # whole sysdescr value foreach my $rule (@sysdescr_rules) { next unless $sysdescr =~ $rule->{match}; $device->{MANUFACTURER} = $rule->{manufacturer} if $rule->{manufacturer} && !exists $device->{MANUFACTURER}; $device->{TYPE} = $rule->{type} if $rule->{type} && !exists $device->{TYPE}; last; } } } # load supported mibs regarding sysORID list as this list permits to # identify device supported MIBs. But mib supported can also be tested # regarding sysobjectid in some case, so we pass it as argument $device->loadMibSupport($sysobjectid); # Set type from MibSupport $device->setType(); # fallback type identification attempt, using type-specific OID presence if (!exists $device->{TYPE}) { if ( $snmp->get('.1.3.6.1.2.1.43.11.1.1.6.1.1') || $snmp->get('.1.3.6.1.2.1.25.3.2.1.3.1') ) { $device->{TYPE} = 'PRINTER' } } # Find and set model and manufacturer $device->setModel(); $device->setManufacturer(); # Get some common informations like SNMPHOSTNAME, LOCATION, UPTIME and CONTACT $device->setBaseInfos(); # Cleanup some strings from whitespaces foreach my $key (qw(MODEL SNMPHOSTNAME LOCATION CONTACT)) { next unless defined $device->{$key}; $device->{$key} = trimWhitespace($device->{$key}); # Don't keep empty strings delete $device->{$key} if $device->{$key} eq ''; } # Name may have to be fixed (as example, Kyocera & Ricoh printers are concerned) $device->setSnmpHostname(); # Find and set Mac address $device->setMacAddress(); # Find device serial number $device->setSerial(); # Find device firmware $device->setFirmware(); # Find ip $device->setIp(); return $device; } sub getDeviceInfo { my (%params) = @_; my $device = _getDevice(%params); return $device->getDiscoveryInfo(); } sub _getSysObjectIDInfo { my (%params) = @_; return unless $params{id}; _loadSysObjectIDDatabase(%params) if !%sysobjectid; my $logger = $params{logger}; my $prefix = qr/(?: SNMPv2-SMI::enterprises | iso\.3\.6\.1\.4\.1 | \.1\.3\.6\.1\.4\.1 )/x; my ($manufacturer_id, $device_id) = $params{id} =~ /^ $prefix \. (\d+) (?:\. ([\d.]+))? $/x; if (!$manufacturer_id) { $logger->debug("invalid sysobjectID $params{id}: no manufacturer ID") if $logger; return; } if (!$device_id) { $logger->debug("invalid sysobjectID $params{id}: no device ID") if $logger; } my $match; # attempt full match first if ($device_id) { $match = $sysobjectid{$manufacturer_id . '.' . $device_id}; if ($match) { $logger->debug( "full match for sysobjectID $params{id} in database" ) if $logger; return $match; } } # fallback to partial match $match = $sysobjectid{$manufacturer_id}; if ($match) { $logger->debug( "partial match for sysobjectID $params{id} in database: ". "unknown device ID" ) if $logger; return $match; } # no match $logger->debug( "no match for sysobjectID $params{id} in database: " . "unknown manufacturer ID" ) if $logger; return; } sub _loadSysObjectIDDatabase { my (%params) = @_; return unless $params{datadir}; my $handle = getFileHandle(file => "$params{datadir}/sysobject.ids"); return unless $handle; while (my $line = <$handle>) { next if $line =~ /^#/; next if $line =~ /^$/; chomp $line; my ($id, $manufacturer, $type, $model, $module) = split(/\t/, $line); $sysobjectid{$id} = { manufacturer => $manufacturer, type => $type, model => $model }; $sysobjectid{$id}->{module} = $module if $module; } close $handle; } sub getDeviceFullInfo { my (%params) = @_; my $snmp = $params{snmp}; my $logger = $params{logger}; # first, let's retrieve basic device informations my $device = _getDevice(%params); return unless $device; my $info = $device->getDiscoveryInfo(); # description is defined as DESCRIPTION for discovery # and COMMENTS for inventory if (exists $info->{DESCRIPTION}) { $info->{COMMENTS} = $info->{DESCRIPTION}; delete $info->{DESCRIPTION}; } # host name is defined as SNMPHOSTNAME for discovery # and NAME for inventory if (exists $info->{SNMPHOSTNAME}) { $info->{NAME} = $info->{SNMPHOSTNAME}; delete $info->{SNMPHOSTNAME}; } # device ID is set from the server request $info->{ID} = $params{id}; # device TYPE is set either: # - from the server request, # - from initial identification $info->{TYPE} = $params{type} || $info->{TYPE}; # second, use results to build the object $device->{INFO} = $info ; # Set other requested infos $device->setInventoryBaseInfos(); _setGenericProperties( device => $device, snmp => $snmp, logger => $logger ); _setPrinterProperties( device => $device, snmp => $snmp, logger => $logger, datadir => $params{datadir} ) if $info->{TYPE} && $info->{TYPE} eq 'PRINTER'; _setNetworkingProperties( device => $device, snmp => $snmp, logger => $logger, datadir => $params{datadir} ) if $info->{TYPE} && $info->{TYPE} eq 'NETWORKING'; # external processing for the $device if ($device->{EXTMOD}) { runFunction( module => __PACKAGE__ . "::" . $device->{EXTMOD}, function => "run", logger => $logger, params => { snmp => $snmp, device => $device, logger => $logger, }, load => 1 ); } # Run any detected mib support $device->runMibSupport(); # convert ports hashref to an arrayref, sorted by interface number my $ports = $device->{PORTS}->{PORT}; if ($ports && %$ports) { $device->{PORTS}->{PORT} = [ map { $ports->{$_} } sort { $a <=> $b } keys %{$ports} ]; } else { delete $device->{PORTS}; } return $device->getInventory(); } sub _setGenericProperties { my (%params) = @_; my $device = $params{device}; my $snmp = $params{snmp}; my $logger = $params{logger}; # ports is a sparse hash of network ports, indexed by interface identifier # (ifIndex, or IFNUMBER in agent output) my $ports; foreach my $key (keys %interface_variables) { my $variable = $interface_variables{$key}; next unless $variable->{oid}; my $results; if (ref $variable->{oid} eq 'ARRAY') { foreach my $oid (@{$variable->{oid}}) { $results = $snmp->walk($oid); last if $results; } } else { $results = $snmp->walk($variable->{oid}); } next unless $results; my $type = $variable->{type}; # each result matches the following scheme: # $prefix.$i = $value, with $i as port id while (my ($suffix, $raw_value) = each %{$results}) { my $value = $type eq 'mac' ? getCanonicalMacAddress($raw_value) : $type eq 'constant' ? getCanonicalConstant($raw_value) : $type eq 'string' ? getCanonicalString($raw_value) : $type eq 'count' ? getCanonicalCount($raw_value) : $raw_value; $ports->{$suffix}->{$key} = $value if defined $value && $value ne ''; } } my $highspeed_results = $snmp->walk('.1.3.6.1.2.1.31.1.1.1.15'); my $speed_results = $snmp->walk('.1.3.6.1.2.1.2.2.1.5'); # ifSpeed is expressed in b/s, and available for all interfaces # HighSpeed is expressed in Mb/s, available for fast interfaces only while (my ($suffix, $speed_value) = each %{$speed_results}) { my $highspeed_value = $highspeed_results->{$suffix}; $ports->{$suffix}->{IFSPEED} = $highspeed_value ? $highspeed_value * 1000 * 1000 : $speed_value; } my $results = $snmp->walk('.1.3.6.1.2.1.4.20.1.2'); # each result matches the following scheme: # $prefix.$i.$j.$k.$l = $value # with $i.$j.$k.$l as IP address, and $value as port id foreach my $suffix (sort keys %{$results}) { my $value = $results->{$suffix}; next unless $value; # safety checks if (! exists $ports->{$value}) { $logger->debug( "unknown interface $value for IP address $suffix, ignoring" ) if $logger; next; } if ($suffix !~ /^$ip_address_pattern$/) { $logger->debug("invalid IP address $suffix") if $logger; next; } $ports->{$value}->{IP} = $suffix; push @{$ports->{$value}->{IPS}->{IP}}, $suffix; } $device->{PORTS}->{PORT} = $ports; } sub _setPrinterProperties { my (%params) = @_; my $device = $params{device}; my $snmp = $params{snmp}; my $logger = $params{logger}; # colors my $colors = $snmp->walk('.1.3.6.1.2.1.43.12.1.1.4.1'); # consumable levels my $color_ids = $snmp->walk('.1.3.6.1.2.1.43.11.1.1.3.1'); my $type_ids = $snmp->walk('.1.3.6.1.2.1.43.11.1.1.5.1'); my $descriptions = $snmp->walk('.1.3.6.1.2.1.43.11.1.1.6.1'); my $unit_ids = $snmp->walk('.1.3.6.1.2.1.43.11.1.1.7.1'); my $max_levels = $snmp->walk('.1.3.6.1.2.1.43.11.1.1.8.1'); my $current_levels = $snmp->walk('.1.3.6.1.2.1.43.11.1.1.9.1'); foreach my $consumable_id (sort keys %$descriptions) { my $max = $max_levels->{$consumable_id}; my $current = $current_levels->{$consumable_id}; next unless defined $max and defined $current; # consumable identification my $type_id = $type_ids->{$consumable_id}; my $color_id = $color_ids->{$consumable_id}; my $type; if ($type_id != 1) { $type = $consumable_types{$type_id}; } else { # fallback on description my $description = getCanonicalString($descriptions->{$consumable_id}); $type = $description =~ /maintenance/i ? 'MAINTENANCEKIT' : $description =~ /fuser/i ? 'FUSERKIT' : $description =~ /transfer/i ? 'TRANSFERKIT' : undef ; } if (!$type) { $logger->debug("unknown consumable type $type_id: " . (getCanonicalString($descriptions->{$consumable_id}) || "no description") ) if $logger; next; } if ($type eq 'TONER' || $type eq 'DRUM' || $type eq 'CARTRIDGE' || $type eq 'DEVELOPER') { my $color; if ($colors && $color_id) { $color = getCanonicalString($colors->{$color_id}); if (!$color) { $logger->debug("invalid consumable color ID $color_id for : " . (getCanonicalString($descriptions->{$consumable_id}) || "no description") ) if $logger; next; } # remove space and following char, XML tag does not accept space $color =~ s/\s.*$//; } else { # fallback on description my $description = getCanonicalString($descriptions->{$consumable_id}); $color = $description =~ /cyan/i ? 'cyan' : $description =~ /magenta/i ? 'magenta' : $description =~ /(yellow|jaune)/i ? 'yellow' : $description =~ /(black|noir)/i ? 'black' : 'black' ; } $type .= uc($color); } my $value; if ($current == -2) { # A value of -2 means "unknown" according to the RFC - but this # is not NULL - it means "something undetermined between # OK and BAD". # Several makers seem to have grabbed it as a way of indicating # "almost out" for supplies and waste. (Like a vehicle low fuel warning) # # This was previously set to undef - but that was triggering a bug # that caused bad XML to be output and that in turn would block FI4G imports # which in turn would make page counters look strange for the days # when it was happening (zero pages, then a big spike) # # Using "WARNING" should allow print monitoring staff to ensure # replacement items are in stock before they go "BAD" $value = 'WARNING'; } elsif ($current == -3) { # A value of -3 means that the printer knows that there is some # supply/remaining space, respectively. $value = 'OK'; } else { if ($max != -2) { $value = _getPercentValue($max, $current); } else { # PrtMarkerSuppliesSupplyUnitTC in Printer MIB my $unit_id = $unit_ids->{$consumable_id}; $value = $unit_id == 19 ? $current : $unit_id == 18 ? $current . 'items' : $unit_id == 17 ? $current . 'm' : $unit_id == 16 ? $current . 'feet' : $unit_id == 15 ? ($current / 10) . 'ml' : $unit_id == 13 ? ($current / 10) . 'g' : $unit_id == 11 ? $current . 'hours' : $unit_id == 8 ? $current . 'sheets' : $unit_id == 7 ? $current . 'impressions' : $unit_id == 4 ? ($current / 1000) . 'mm' : $current . '?' ; } } next unless defined $value; $device->{CARTRIDGES}->{$type} = $value; } # page counters foreach my $key (keys %printer_pagecounters_variables) { my $variable = $printer_pagecounters_variables{$key}; my $value; if (ref $variable->{oid} eq 'ARRAY') { foreach my $oid (@{$variable->{oid}}) { $value = $snmp->get($oid); last if defined($value) && isInteger($value); } } else { my $oid = $variable->{oid}; $value = $snmp->get($oid); } next unless defined $value; if (!isInteger($value)) { $logger->debug("incorrect counter value $value, check $variable->{mapping} mapping") if $logger; next; } $device->{PAGECOUNTERS}->{$key} = $value; } } sub _setNetworkingProperties { my (%params) = @_; my $device = $params{device}; my $snmp = $params{snmp}; my $logger = $params{logger}; my $ports = $device->{PORTS}->{PORT}; _setVlans( snmp => $snmp, ports => $ports, logger => $logger ); _setTrunkPorts( snmp => $snmp, ports => $ports, logger => $logger ); _setConnectedDevices( snmp => $snmp, ports => $ports, logger => $logger, vendor => $device->{INFO}->{MANUFACTURER} ); _setKnownMacAddresses( snmp => $snmp, ports => $ports, logger => $logger, ); _setAggregatePorts( snmp => $snmp, ports => $ports, logger => $logger ); $device->setComponents(); } sub _getPercentValue { my ($value1, $value2) = @_; return unless defined $value1 && isInteger($value1); return unless defined $value2 && isInteger($value2); return if $value1 == 0; return int( ( 100 * $value2 ) / $value1 ); } sub _getElement { my ($oid, $index) = @_; my @array = split(/\./, $oid); return $array[$index]; } sub _getElements { my ($oid, $first, $last) = @_; my @array = split(/\./, $oid); return @array[$first .. $last]; } sub _setKnownMacAddresses { my (%params) = @_; my $snmp = $params{snmp}; my $ports = $params{ports}; my $logger = $params{logger}; # start with mac addresses seen on default VLAN my $addresses = _getKnownMacAddresses( snmp => $snmp, address2port => '.1.3.6.1.2.1.17.4.3.1.2', # dot1dTpFdbPort port2interface => '.1.3.6.1.2.1.17.1.4.1.2', # dot1dBasePortIfIndex ); if ($addresses) { _addKnownMacAddresses( ports => $ports, logger => $logger, addresses => $addresses, ); } # add additional mac addresses for other VLANs $addresses = _getKnownMacAddresses( snmp => $snmp, address2port => '.1.3.6.1.2.1.17.7.1.2.2.1.2', # dot1qTpFdbPort port2interface => '.1.3.6.1.2.1.17.1.4.1.2', # dot1dBasePortIfIndex ); if ($addresses) { _addKnownMacAddresses( ports => $ports, logger => $logger, addresses => $addresses, ); } else { # compute the list of vlans associated with at least one port # without CDP/LLDP information my @vlans; my %seen = ( 1 => 1 ); foreach my $port (values %$ports) { next if exists $port->{CONNECTIONS} && exists $port->{CONNECTIONS}->{CDP} && $port->{CONNECTIONS}->{CDP}; next unless exists $port->{VLANS}; push @vlans, grep { !$seen{$_}++ } map { $_->{NUMBER} } @{$port->{VLANS}->{VLAN}}; } # get additional associated mac addresses from those vlans my @mac_addresses = (); foreach my $vlan (@vlans) { $logger->debug("switching SNMP context to vlan $vlan") if $logger; $snmp->switch_vlan_context($vlan); my $mac_addresses = _getKnownMacAddresses( snmp => $snmp, address2port => '.1.3.6.1.2.1.17.4.3.1.2', # dot1dTpFdbPort port2interface => '.1.3.6.1.2.1.17.1.4.1.2', # dot1dBasePortIfIndex ); next unless $mac_addresses; push @mac_addresses, $mac_addresses; } $snmp->reset_original_context() if @vlans; # Try deprecated OIDs if no additional mac addresse was found on vlans unless (@mac_addresses) { my $addresses = _getKnownMacAddressesDeprecatedOids( snmp => $snmp, address2mac => '.1.3.6.1.2.1.4.22.1.2', # ipNetToMediaPhysAddress address2interface => '.1.3.6.1.2.1.4.22.1.1' # ipNetToMediaIfIndex ); push @mac_addresses, $addresses if ($addresses); } # Finally add found mac addresse foreach my $mac_addresses (@mac_addresses) { _addKnownMacAddresses( ports => $ports, logger => $logger, addresses => $mac_addresses, ); } } } sub _addKnownMacAddresses { my (%params) = @_; my $ports = $params{ports}; my $logger = $params{logger}; my $mac_addresses = $params{addresses}; foreach my $port_id (keys %$mac_addresses) { # safety check if (! exists $ports->{$port_id}) { $logger->debug( "invalid interface ID $port_id while setting known mac " . "addresses, aborting" ) if $logger; next; } my $port = $ports->{$port_id}; # connected device has already been identified through CDP/LLDP next if exists $port->{CONNECTIONS} && exists $port->{CONNECTIONS}->{CDP} && $port->{CONNECTIONS}->{CDP}; # get at list of already associated addresses, if any # as well as the port own mac address, if known my @known; push @known, $port->{MAC} if $port->{MAC}; push @known, @{$port->{CONNECTIONS}->{CONNECTION}->{MAC}} if exists $port->{CONNECTIONS} && exists $port->{CONNECTIONS}->{CONNECTION} && exists $port->{CONNECTIONS}->{CONNECTION}->{MAC}; # filter out those addresses from the additional ones my %known = map { $_ => 1 } @known; my @adresses = grep { !$known{$_} } @{$mac_addresses->{$port_id}}; next unless @adresses; # add remaining ones push @{$port->{CONNECTIONS}->{CONNECTION}->{MAC}}, @adresses; @{$port->{CONNECTIONS}->{CONNECTION}->{MAC}} = uniq(@{$port->{CONNECTIONS}->{CONNECTION}->{MAC}}); } } sub _getKnownMacAddresses { my (%params) = @_; my $snmp = $params{snmp}; my $results; my $address2port = $snmp->walk($params{address2port}); my $port2interface = $snmp->walk($params{port2interface}); # dot1dTpFdbPort values matches the following scheme: # $prefix.a.b.c.d.e.f = $port # dot1qTpFdbPort values matches the following scheme: # $prefix.$vlan.a.b.c.d.e.f = $port # in both case, the last 6 elements of the OID constitutes # the mac address in decimal format foreach my $suffix (sort keys %{$address2port}) { my $port_id = $address2port->{$suffix}; my $interface_id = $port2interface->{$port_id}; next unless defined $interface_id; my @bytes = split(/\./, $suffix); shift @bytes while @bytes > 6; push @{$results->{$interface_id}}, sprintf "%02x:%02x:%02x:%02x:%02x:%02x", @bytes; } return $results; } sub _getKnownMacAddressesDeprecatedOids { my (%params) = @_; my $snmp = $params{snmp}; my $results; my $address2mac = $snmp->walk($params{address2mac}); my $address2interface = $snmp->walk($params{address2interface}); foreach my $suffix (sort keys %{$address2mac}) { my $interface_id = $address2interface->{$suffix}; next unless defined $interface_id; push @{$results->{$interface_id}}, getCanonicalMacAddress($address2mac->{$suffix}); } return $results; } sub _setConnectedDevices { my (%params) = @_; my $logger = $params{logger}; my $ports = $params{ports}; my $lldp_info = _getLLDPInfo(%params); if ($lldp_info) { foreach my $interface_id (keys %$lldp_info) { # safety check if (! exists $ports->{$interface_id}) { $logger->debug( "LLDP support: unknown interface $interface_id in LLDP info, ignoring" ) if $logger; next; } my $port = $ports->{$interface_id}; my $lldp_connection = $lldp_info->{$interface_id}; $port->{CONNECTIONS} = { CDP => 1, CONNECTION => $lldp_connection }; } } my $cdp_info = _getCDPInfo(%params); if ($cdp_info) { foreach my $interface_id (keys %$cdp_info) { # safety check if (! exists $ports->{$interface_id}) { $logger->debug( "CDP support: unknown interface $interface_id in CDP info, ignoring" ) if $logger; next; } my $port = $ports->{$interface_id}; my $lldp_connection = $port->{CONNECTIONS}->{CONNECTION}; my $cdp_connection = $cdp_info->{$interface_id}; if ($lldp_connection) { my $match = 0; # Try different case to find LLDP/CDP connection match if ($lldp_connection->{SYSDESCR} && $cdp_connection->{SYSDESCR} eq $lldp_connection->{SYSDESCR}) { $match ++; } elsif ($lldp_connection->{SYSNAME} && $cdp_connection->{SYSNAME}) { my $cdp_test = getCanonicalMacAddress($cdp_connection->{SYSNAME}); if ($cdp_connection->{SYSNAME} eq $lldp_connection->{SYSNAME}) { $match ++; } elsif ($lldp_connection->{SYSMAC} && $cdp_test && $lldp_connection->{SYSMAC} eq $cdp_test) { $match ++; } } if ($match) { # same device, everything OK foreach my $key (qw/IP MODEL/) { $lldp_connection->{$key} = $cdp_connection->{$key}; } } else { # undecidable situation $logger->debug( "CDP support: multiple neighbors found by LLDP and CDP for " . "interface $interface_id, ignoring" ); delete $port->{CONNECTIONS}; } } else { $port->{CONNECTIONS} = { CDP => 1, CONNECTION => $cdp_connection }; } } } my $edp_info = _getEDPInfo(%params); if ($edp_info) { foreach my $interface_id (keys %$edp_info) { # safety check if (! exists $ports->{$interface_id}) { $logger->debug( "EDP support: unknown interface $interface_id in EDP info, ignoring" ) if $logger; next; } my $port = $ports->{$interface_id}; my $lldp_connection = $port->{CONNECTIONS}->{CONNECTION}; my $edp_connection = $edp_info->{$interface_id}; if ($lldp_connection) { if ($edp_connection->{SYSDESCR} eq $lldp_connection->{SYSDESCR}) { # same device, everything OK foreach my $key (qw/IP/) { $lldp_connection->{$key} = $edp_connection->{$key}; } } else { # undecidable situation $logger->debug( "EDP support: multiple neighbors found by LLDP and EDP for " . "interface $interface_id, ignoring" ); delete $port->{CONNECTIONS}; } } else { $port->{CONNECTIONS} = { CDP => 1, CONNECTION => $edp_connection }; } } } } sub _getLLDPInfo { my (%params) = @_; my $snmp = $params{snmp}; my $logger = $params{logger}; my $results; my $ChassisIdSubType = $snmp->walk('.1.0.8802.1.1.2.1.4.1.1.4'); my $lldpRemChassisId = $snmp->walk('.1.0.8802.1.1.2.1.4.1.1.5'); my $lldpRemPortId = $snmp->walk('.1.0.8802.1.1.2.1.4.1.1.7'); my $lldpRemPortDesc = $snmp->walk('.1.0.8802.1.1.2.1.4.1.1.8'); my $lldpRemSysName = $snmp->walk('.1.0.8802.1.1.2.1.4.1.1.9'); my $lldpRemSysDesc = $snmp->walk('.1.0.8802.1.1.2.1.4.1.1.10'); # port to interface mapping my $port2interface = $snmp->walk('.1.3.6.1.4.1.9.5.1.4.1.1.11.1') || # Cisco portIfIndex $snmp->walk('.1.3.6.1.2.1.17.1.4.1.2'); # dot1dBasePortIfIndex # each lldp variable matches the following scheme: # $prefix.x.y.z = $value # whereas y is either a port or an interface id # See LldpChassisIdSubtype textual convention in lldp.mib RFC # We only report macAddress='4' at the moment my %not_supported_subtype = ( '1' => "chassis component", '2' => "interface alias", '3' => "port component", '5' => "network address", '6' => "interface name", '7' => "local" ); while (my ($suffix, $mac) = each %{$lldpRemChassisId}) { my $sysdescr = getCanonicalString($lldpRemSysDesc->{$suffix}); my $sysname = getCanonicalString($lldpRemSysName->{$suffix}); next unless ($sysdescr || $sysname); # Skip unexpected suffix format (seen at least on mikrotik devices) if ($suffix =~ /^\d+$/) { $logger->debug2("LLDP support: skipping unsupported suffix interface $suffix") if ($logger); next; } # Skip unsupported LldpChassisIdSubtype my $subtype = $ChassisIdSubType->{$suffix} || "n/a"; unless ($subtype eq '4') { if ($logger) { my $info = ($sysname || "no name") . ", " . (getCanonicalString($mac) || "no chassis id") . ", " . ($sysdescr || "no description"); if ($not_supported_subtype{$subtype}) { $logger->debug("LLDP support: skipping $not_supported_subtype{$subtype}: $info"); } else { $logger->debug("LLDP support: ChassisId subtype $subtype not supported for <$info>, please report this issue"); } } next; } my $connection = { SYSMAC => lc(alt2canonical($mac)) }; $connection->{SYSDESCR} = $sysdescr if $sysdescr; $connection->{SYSNAME} = $sysname if $sysname; # portId is either a port number or a port mac address, # duplicating chassisId my $portId = $lldpRemPortId->{$suffix}; if ($portId !~ /^0x/ or length($portId) != 14) { $connection->{IFNUMBER} = getCanonicalString($portId); } my $ifdescr = getCanonicalString($lldpRemPortDesc->{$suffix}); $connection->{IFDESCR} = $ifdescr if $ifdescr; my $id = _getElement($suffix, -2); my $interface_id = ! exists $port2interface->{$id} ? $id : $params{vendor} eq 'Juniper' ? $id : $port2interface->{$id}; $results->{$interface_id} = $connection; } return $results; } sub _getCDPInfo { my (%params) = @_; my $snmp = $params{snmp}; my $logger = $params{logger}; my ($results, $blacklist); my $cdpCacheAddress = $snmp->walk('.1.3.6.1.4.1.9.9.23.1.2.1.1.4'); my $cdpCacheVersion = $snmp->walk('.1.3.6.1.4.1.9.9.23.1.2.1.1.5'); my $cdpCacheDeviceId = $snmp->walk('.1.3.6.1.4.1.9.9.23.1.2.1.1.6'); my $cdpCacheDevicePort = $snmp->walk('.1.3.6.1.4.1.9.9.23.1.2.1.1.7'); my $cdpCachePlatform = $snmp->walk('.1.3.6.1.4.1.9.9.23.1.2.1.1.8'); my $cdpCacheSysName = $snmp->walk('.1.3.6.1.4.1.9.9.23.1.2.1.1.17'); # each cdp variable matches the following scheme: # $prefix.x.y = $value # whereas x is the port number while (my ($suffix, $ip) = each %{$cdpCacheAddress}) { my $interface_id = _getElement($suffix, -2); $ip = hex2canonical($ip); next if (!defined($ip) || $ip eq '0.0.0.0'); my $sysdescr = getCanonicalString($cdpCacheVersion->{$suffix}); my $model = getCanonicalString($cdpCachePlatform->{$suffix}); next unless $sysdescr && $model; my $connection = { IP => $ip, SYSDESCR => $sysdescr, MODEL => $model, }; # cdpCacheDevicePort is either a port number or a port description my $devicePort = $cdpCacheDevicePort->{$suffix}; if ($devicePort =~ /^\d+$/) { $connection->{IFNUMBER} = $devicePort; } else { $connection->{IFDESCR} = getCanonicalString($devicePort); } my $sysname = getCanonicalString($cdpCacheSysName->{$suffix}); $connection->{SYSNAME} = $sysname if $sysname; # cdpCacheDeviceId is either remote host name, either remote mac address my $deviceId = $cdpCacheDeviceId->{$suffix}; if ($deviceId =~ /^0x/) { if (length($deviceId) == 14) { # let's assume it is a mac address if the length is 6 bytes $connection->{SYSMAC} = lc(alt2canonical($deviceId)); } else { # otherwise it's may be an hex-encode hostname $deviceId = getCanonicalString($deviceId); if ($deviceId =~ /^[0-9A-Fa-f]{12}$/) { # let's assume it is a mac address if the length is 12 chars $connection->{SYSMAC} = lc(alt2canonical($deviceId)); } elsif (!$connection->{SYSNAME}) { $connection->{SYSNAME} = $deviceId; } } } elsif (!$connection->{SYSNAME}) { $connection->{SYSNAME} = $deviceId; } if ($connection->{SYSNAME} && $connection->{SYSNAME} =~ /^SIP([A-F0-9a-f]*)$/) { $connection->{SYSMAC} = lc(alt2canonical("0x".$1)); } elsif ($connection->{SYSNAME} && $connection->{SYSNAME} =~ /^SIP-(.*)$/ && $deviceId =~ /^$1([0-9A-Fa-f]{12})$/) { $connection->{SYSMAC} = lc(alt2canonical("0x".$1)); } # warning: multiple neighbors announcement for the same interface # usually means a non-CDP aware intermediate equipement if ($results->{$interface_id}) { $logger->debug( "CDP support: multiple neighbors found by CDP for interface $interface_id," . " ignoring" ); $blacklist->{$interface_id} = 1; } else { $results->{$interface_id} = $connection; } } # remove blacklisted results delete $results->{$_} foreach keys %$blacklist; return $results; } sub _getEDPInfo { my (%params) = @_; my $snmp = $params{snmp}; my $logger = $params{logger}; my ($results, $blacklist); my $edpNeighborVlanIpAddress = $snmp->walk('.1.3.6.1.4.1.1916.1.13.3.1.3'); my $edpNeighborName = $snmp->walk('.1.3.6.1.4.1.1916.1.13.2.1.3'); my $edpNeighborPort = $snmp->walk('.1.3.6.1.4.1.1916.1.13.2.1.6'); # each entry from extremeEdpTable matches the following scheme: # $prefix.x.0.0.y1.y2.y3.y4.y5.y6 = $value # - x: the interface id # - y1.y2.y3.y4.y5.y6: the remote mac address # each entry from extremeEdpNeighborTable matches the following scheme: # $prefix.x.0.0.y1.y2.y3.y4.y5.y6.z1.z2...zz = $value # - x: the interface id, # - y1.y2.y3.y4.y5.y6: the remote mac address # - z1.z2...zz: the vlan name in ASCII while (my ($suffix, $ip) = each %{$edpNeighborVlanIpAddress}) { next if (!defined($ip) || $ip eq '0.0.0.0'); my $interface_id = _getElement($suffix, 0); my @mac_elements = _getElements($suffix, 3, 8); my $short_suffix = join('.', $interface_id, 0, 0, @mac_elements); my $connection = { IP => $ip, IFDESCR => getCanonicalString($edpNeighborPort->{$short_suffix}), SYSNAME => getCanonicalString($edpNeighborName->{$short_suffix}), SYSMAC => sprintf "%02x:%02x:%02x:%02x:%02x:%02x", @mac_elements }; # warning: multiple neighbors announcement for the same interface # usually means a non-EDP aware intermediate equipement if ($results->{$interface_id}) { $logger->debug( "EDP support: multiple neighbors found by EDP for interface $interface_id," . " ignoring" ); $blacklist->{$interface_id} = 1; } else { $results->{$interface_id} = $connection; } } # remove blacklisted results delete $results->{$_} foreach keys %$blacklist; return $results; } sub _setVlans { my (%params) = @_; my $vlans = _getVlans( snmp => $params{snmp}, ports => $params{ports} ); return unless $vlans; my $ports = $params{ports}; my $logger = $params{logger}; foreach my $port_id (keys %$vlans) { # safety check if (! exists $ports->{$port_id}) { $logger->debug( "invalid interface ID $port_id while setting vlans, skipping" ) if $logger; next; } $ports->{$port_id}->{VLANS}->{VLAN} = $vlans->{$port_id}; } } sub _getVlans { my (%params) = @_; my $snmp = $params{snmp}; my $ports = $params{ports}; my $results; my $vtpVlanName = $snmp->walk('.1.3.6.1.4.1.9.9.46.1.3.1.1.4.1'); my $vmPortStatus = $snmp->walk('.1.3.6.1.4.1.9.9.68.1.2.2.1.2'); # each result matches either of the following schemes: # $prefix.$i.$j = $value, with $j as port id, and $value as vlan id # $prefix.$i = $value, with $i as port id, and $value as vlan id # work with Cisco and Juniper switches if($vtpVlanName and $vmPortStatus){ foreach my $suffix (sort keys %{$vmPortStatus}) { my $port_id = _getElement($suffix, -1); my $vlan_id = $vmPortStatus->{$suffix}; my $name = getCanonicalString($vtpVlanName->{$vlan_id}); push @{$results->{$port_id}}, { NUMBER => $vlan_id, NAME => $name }; } } # For Switch with dot1qVlanStaticEntry and dot1qVlanCurrent Present my $dot1qVlanStaticName = $snmp->walk('.1.3.6.1.2.1.17.7.1.4.3.1.1'); my $dot1qVlanStaticEgressPorts = $snmp->walk('.1.3.6.1.2.1.17.7.1.4.3.1.2'); my $dot1qVlanStaticUntaggedPorts = $snmp->walk('.1.3.6.1.2.1.17.7.1.4.3.1.4'); my $dot1qVlanStaticRowStatus = $snmp->walk('.1.3.6.1.2.1.17.7.1.4.3.1.5'); # each result matches either of the following schemes : # $prefix.$i = $value with $i as vlan_id, and each bit of $value represent the Egress (or Untagged) is present (1st bit = ifnumber 1, 2nd bit => ifnumber 2, etc...) my $dot1qVlanCurrentEgressPorts = $snmp->walk('.1.3.6.1.2.1.17.7.1.4.2.1.4'); my $dot1qVlanCurrentUntaggedPorts = $snmp->walk('.1.3.6.1.2.1.17.7.1.4.2.1.5'); if ($dot1qVlanStaticName && $dot1qVlanStaticRowStatus) { foreach my $vlan_id (sort keys %{$dot1qVlanStaticRowStatus}) { if ($dot1qVlanStaticRowStatus->{$vlan_id} eq 1) { my $name = getCanonicalString($dot1qVlanStaticName->{$vlan_id}); my ($suffix, $EgressPorts); if ($dot1qVlanCurrentEgressPorts) { $suffix = defined($dot1qVlanCurrentEgressPorts->{$vlan_id}) ? $vlan_id : "0.".$vlan_id; # Suffix may not start by "0." for other vendors unless (defined($dot1qVlanCurrentEgressPorts->{$suffix})) { ($suffix) = grep { /\.$vlan_id$/ } keys(%{$dot1qVlanCurrentEgressPorts}); } if ($suffix && defined($dot1qVlanCurrentEgressPorts->{$suffix})) { $EgressPorts = $dot1qVlanCurrentEgressPorts->{$suffix}; } } if (!defined($EgressPorts)) { if ($dot1qVlanStaticEgressPorts && defined($dot1qVlanStaticEgressPorts->{$vlan_id})) { $EgressPorts = $dot1qVlanStaticEgressPorts->{$vlan_id}; } else { next; } } # Tagged & Untagged VLAN my $bEgress = unpack("B*", hex2char($EgressPorts)); my @bEgress = split(//,$bEgress); next unless @bEgress; my $UntaggedPorts; if ($suffix && $dot1qVlanCurrentUntaggedPorts && defined($dot1qVlanCurrentUntaggedPorts->{$suffix})) { $UntaggedPorts = $dot1qVlanCurrentUntaggedPorts->{$suffix}; } elsif ($dot1qVlanStaticUntaggedPorts && defined($dot1qVlanStaticUntaggedPorts->{$vlan_id})) { $UntaggedPorts = $dot1qVlanStaticUntaggedPorts->{$vlan_id}; } else { next; } # Untagged VLAN my $bUntagged = unpack("B*", hex2char($UntaggedPorts)); my @bUntagged = split(//,$bUntagged); next unless @bUntagged; foreach my $port_id (keys %{$ports}) { next if $port_id > @bEgress || $port_id > @bUntagged; my $port_index = $port_id - 1; my $isUntagged = $bUntagged[$port_index]; my $isTagged = $isUntagged eq '0' ? $bEgress[$port_index] : '0'; push @{$results->{$port_id}}, { NUMBER => $vlan_id, NAME => $name, TAGGED => $isTagged } if $isTagged || $isUntagged; } } } } unless ($results) { # For other switches, we use another methods # used for Alcatel-Lucent and ExtremNetworks (and perhaps others) my $vlanIdName = $snmp->walk('.1.0.8802.1.1.2.1.5.32962.1.2.3.1.2'); my $portLink = $snmp->walk('.1.0.8802.1.1.2.1.3.7.1.3'); if ($vlanIdName && $portLink) { foreach my $suffix (sort keys %{$vlanIdName}) { my ($port, $vlan) = split(/\./, $suffix); if ($portLink->{$port}) { # case generic where $portLink = port number my $portnumber = $portLink->{$port}; # case Cisco where $portLink = port name unless ($portLink->{$port} =~ /^[0-9]+$/) { $portnumber = $port; } push @{$results->{$portnumber}}, { NUMBER => $vlan, NAME => getCanonicalString($vlanIdName->{$suffix}) }; } } } else { # A last method my $vlanId = $snmp->walk('.1.0.8802.1.1.2.1.5.32962.1.2.1.1.1'); if ($vlanId) { foreach my $port (sort keys %{$vlanId}) { push @{$results->{$port}}, { NUMBER => $vlanId->{$port}, NAME => "VLAN " . $vlanId->{$port} }; } } } } return $results; } sub _setTrunkPorts { my (%params) = @_; my $trunk_ports = _getTrunkPorts( snmp => $params{snmp}, ); return unless $trunk_ports; my $ports = $params{ports}; my $logger = $params{logger}; foreach my $port_id (keys %$trunk_ports) { # safety check if (! exists $ports->{$port_id}) { $logger->debug( "invalid interface ID $port_id while setting trunk flag, " . "aborting" ) if $logger; last; } $ports->{$port_id}->{TRUNK} = $trunk_ports->{$port_id}; } } sub _getTrunkPorts { my (%params) = @_; my $snmp = $params{snmp}; my $results; # cisco use vlanTrunkPortDynamicStatus, using the following schema: # prefix.x = value # x is the interface id # value is 1 for trunk, 2 for access my $vlanStatus = $snmp->walk('.1.3.6.1.4.1.9.9.46.1.6.1.1.14'); if ($vlanStatus) { while (my ($interface_id, $value) = each %{$vlanStatus}) { $results->{$interface_id} = $value == 1 ? 1 : 0; } return $results; } # juniper use jnxExVlanPortAccessMode, using the following schema: # prefix.x.y = value # x is the vlan id # y is the port id # value is 1 for access, 2 for trunk my $accessMode = $snmp->walk('.1.3.6.1.4.1.2636.3.40.1.5.1.7.1.5'); if ($accessMode) { my $port2interface = $snmp->walk('.1.3.6.1.2.1.17.1.4.1.2'); while (my ($suffix, $value) = each %{$accessMode}) { my $port_id = _getElement($suffix, -1); next unless defined($port_id); my $interface_id = $port2interface->{$port_id}; next unless defined($interface_id); $results->{$interface_id} = $value == 2 ? 1 : 0; } return $results; } # others use lldpXdot1LocPortVlanId # prefix.x = value # x is either an interface or a port id # value is the vlan id, 0 for trunk my $vlanId = $snmp->walk('.1.0.8802.1.1.2.1.5.32962.1.2.1.1.1'); if ($vlanId) { my $port2interface = $snmp->walk('.1.3.6.1.2.1.17.1.4.1.2'); while (my ($id, $value) = each %{$vlanId}) { my $interface_id = ! exists $port2interface->{$id} ? $id : $port2interface->{$id}; $results->{$interface_id} = $value == 0 ? 1 : 0; } return $results; } return; } sub _setAggregatePorts { my (%params) = @_; my $ports = $params{ports}; my $logger = $params{logger}; my $lacp_info = _getLACPInfo(%params); if ($lacp_info) { foreach my $interface_id (keys %$lacp_info) { # safety check if (!$ports->{$interface_id}) { $logger->debug( "unknown interface $interface_id in LACP info, ignoring" ) if $logger; next; } $ports->{$interface_id}->{AGGREGATE}->{PORT} = $lacp_info->{$interface_id}; } } my $pagp_info = _getPAGPInfo(%params); if ($pagp_info) { foreach my $interface_id (keys %$pagp_info) { # safety check if (!$ports->{$interface_id}) { $logger->debug( "unknown interface $interface_id in PAGP info, ignoring" ) if $logger; next; } $ports->{$interface_id}->{AGGREGATE}->{PORT} = $pagp_info->{$interface_id}; } } } sub _getLACPInfo { my (%params) = @_; my $snmp = $params{snmp}; my $results; my $aggPortAttachedAggID = $snmp->walk('.1.2.840.10006.300.43.1.2.1.1.13'); foreach my $interface_id (sort keys %$aggPortAttachedAggID) { my $aggregator_id = $aggPortAttachedAggID->{$interface_id}; next if $aggregator_id == 0; next if $aggregator_id == $interface_id; push @{$results->{$aggregator_id}}, $interface_id; } return $results; } sub _getPAGPInfo { my (%params) = @_; my $snmp = $params{snmp}; my $results; my $pagpPorts = $snmp->walk('.1.3.6.1.4.1.9.9.98.1.1.1.1.5'); foreach my $port_id (sort keys %$pagpPorts) { my $portShortNum = $pagpPorts->{$port_id}; next unless $portShortNum > 0; my $aggregatePort_id = $portShortNum + 5000; push @{$results->{$aggregatePort_id}}, $port_id; } return $results; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Hardware - Hardware-related functions =head1 DESCRIPTION This module provides some hardware-related functions. =head1 FUNCTIONS =head2 getDeviceInfo(%params) return a limited set of information for a device through SNMP. =head2 getDeviceFullInfo(%params) return a full set of information for a device through SNMP. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Storages/0000755000175000017500000000000013757703277025642 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Storages/HP.pm0000644000175000017500000000571113750013366026475 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Storages::HP; use strict; use warnings; use parent 'Exporter'; use parent 'FusionInventory::Agent::Task::Inventory::Module'; our @EXPORT = qw( HpInventory ); use FusionInventory::Agent::Tools; # This speeds up hpacucli startup by skipping non-local (iSCSI, Fibre) storages. # See https://support.hpe.com/hpsc/doc/public/display?docId=emr_na-c03696601 $ENV{INFOMGR_BYPASS_NONSA} = "1"; sub HpInventory { my (%params) = @_; my $inventory = $params{inventory}; my $path = $params{path}; foreach my $slot (_getSlots(path => $path)) { foreach my $drive (_getDrives(path => $path, slot => $slot)) { $inventory->addEntry( section => 'STORAGES', entry => _getStorage( path => $path, slot => $slot, drive => $drive ) ); } } } sub _getSlots { my %params = @_; my $command = $params{path} ? "$params{path} ctrl all show" : undef; my $handle = getFileHandle(%params, command => $command); return unless $handle; my @slots; while (my $line = <$handle>) { next unless $line =~ /Slot (\d+)/; push @slots, $1; } close $handle; return @slots; } sub _getDrives { my %params = @_; my $command = $params{path} && defined $params{slot} ? "$params{path} ctrl slot=$params{slot} pd all show" : undef; my $handle = getFileHandle(%params, command => $command); next unless $handle; my @drives; while (my $line = <$handle>) { next unless $line =~ /physicaldrive (\S+)/; push @drives, $1; } close $handle; return @drives; } sub _getStorage { my %params = @_; my $command = $params{path} && defined $params{slot} && defined $params{drive} ? "$params{path} ctrl slot=$params{slot} pd $params{drive} show" : undef; my $handle = getFileHandle(%params, command => $command); next unless $handle; my %data; while (my $line = <$handle>) { next unless $line =~ /^\s*(\S[^:]+):\s+(.+)$/x; $data{$1} = $2; $data{$1} =~ s/\s+$//; } close $handle; my $storage = { DESCRIPTION => $data{'Interface Type'}, SERIALNUMBER => $data{'Serial Number'}, FIRMWARE => $data{'Firmware Revision'} }; # Possible models: # HP EG0300FBDBR # ATA WDC WD740ADFD-00 my $model = $data{'Model'}; $model =~ s/^ATA\s+//; $model =~ s/\s+/ /; $storage->{NAME} = $model; if ($model =~ /^(\S+)\s+(\S+)$/) { $storage->{MANUFACTURER} = getCanonicalManufacturer($1); $storage->{MODEL} = $2; } else { $storage->{MANUFACTURER} = getCanonicalManufacturer($model); $storage->{MODEL} = $model; } $storage->{DISKSIZE} = getCanonicalSize($data{'Size'}); $storage->{TYPE} = $data{'Drive Type'} eq 'Data Drive' ? 'disk' : $data{'Drive Type'}; return $storage; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Hostname.pm0000644000175000017500000000277513712210012026145 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Hostname; use strict; use warnings; use parent 'Exporter'; use UNIVERSAL::require(); use Encode; use English qw(-no_match_vars); our @EXPORT = qw( getHostname ); BEGIN { if ($OSNAME eq 'MSWin32') { no warnings 'redefine'; ## no critic (ProhibitNoWarnings) Win32::API->require(); # Kernel32.dll is used more or less everywhere. # Without this, Win32::API will release the DLL even # if it's a very bad idea *Win32::API::DESTROY = sub {}; } } sub getHostname { my (%params) = @_; my $hostname = $OSNAME eq 'MSWin32' ? _getHostnameWindows() : _getHostnameUnix() ; if ($params{short}) { $hostname =~ s/\..*$//; } return $hostname; } sub _getHostnameUnix { Sys::Hostname->require(); return Sys::Hostname::hostname(); } sub _getHostnameWindows { my $getComputerName = Win32::API->new( "kernel32", "GetComputerNameExW", ["I", "P", "P"], "N" ); my $buffer = "\x00" x 1024; my $n = 1024; #pack ("c4", 160,0,0,0); $getComputerName->Call(3, $buffer, $n); # convert from UTF16 to UTF8 my $hostname = substr(decode("UCS-2le", $buffer), 0, ord $n); return $hostname || $ENV{COMPUTERNAME}; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Hostname - OS-independent hostname computing =head1 DESCRIPTION This module provides a generic function to retrieve host name =head1 FUNCTIONS =head2 getHostname() Returns the host name. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Win32/0000755000175000017500000000000013757703277024755 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Win32/Constants.pm0000644000175000017500000000100513712210012027226 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Win32::Constants; use warnings; use strict; use parent 'Exporter'; use constant CATEGORY_SYSTEM_COMPONENT => 'system_component'; use constant CATEGORY_APPLICATION => 'application'; use constant CATEGORY_UPDATE => 'update'; use constant CATEGORY_SECURITY_UPDATE => 'security_update'; use constant CATEGORY_HOTFIX => 'hotfix'; our @EXPORT = qw( CATEGORY_SYSTEM_COMPONENT CATEGORY_APPLICATION CATEGORY_UPDATE CATEGORY_SECURITY_UPDATE CATEGORY_HOTFIX ); 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Win32/WideChar.pm0000644000175000017500000000365213712210012026752 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Win32::WideChar; use warnings; use strict; use parent 'Exporter'; use Encode qw(encode decode); use FusionInventory::Agent::Tools::Win32::API; # UTF-8 code page use constant CP_UTF8 => 65001; our @EXPORT = qw( MultiByteToWideChar WideCharToMultiByte ); my $apiMultiByteToWideChar; my $apiWideCharToMultiByte; sub MultiByteToWideChar { my ($string) = @_; return unless $string; unless ($apiMultiByteToWideChar) { $apiMultiByteToWideChar = FusionInventory::Agent::Tools::Win32::API->new( win32api => [ 'kernel32', 'MultiByteToWideChar', [ 'I', 'I', 'P', 'I', 'P', 'I' ], 'I' ] ); } return unless $apiMultiByteToWideChar; # Encode string as UTF-8 before conversion $string = encode('UTF-8', $string); my $len = length($string); my $lenbuf = 2 * $len; my $buffer = "\0" x $lenbuf; my $ret = $apiMultiByteToWideChar->Call( CP_UTF8, 0, $string, $len, $buffer, $lenbuf ); return unless $ret; return $buffer; } sub WideCharToMultiByte { my ($string) = @_; return unless $string; unless ($apiWideCharToMultiByte) { $apiWideCharToMultiByte = FusionInventory::Agent::Tools::Win32::API->new( win32api => [ 'kernel32', 'WideCharToMultiByte', [ 'I', 'I', 'P', 'I', 'P', 'I', 'P', 'P' ], 'I' ] ); } return unless $apiWideCharToMultiByte; my $lpDefaultChar = 0; my $lpUsedDefaultChar = 0; my $len = length($string); my $buffer = "\0" x $len; my $ret = $apiWideCharToMultiByte->Call( CP_UTF8, 0, $string, -1, $buffer, $len, $lpDefaultChar, $lpUsedDefaultChar ); return unless $ret; # Cleanup buffer $buffer =~ s/\0+$//; return decode('UTF-8', $buffer); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Win32/WTS.pm0000644000175000017500000002002313712210012025730 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Win32::WTS; use strict; use warnings; use parent 'Exporter'; use UNIVERSAL::require(); use English qw(-no_match_vars); use Encode; use FusionInventory::Agent::Tools::Win32; use constant WTS_CURRENT_SERVER_HANDLE => 0x00000000; # Constant values, see: winuser.h & wtsapi32.h # or https://msdn.microsoft.com/en-us/library/aa383842(v=vs.85).aspx use constant IDOK => 1; use constant IDCANCEL => 2; use constant IDABORT => 3; use constant IDRETRY => 4; use constant IDIGNORE => 5; use constant IDYES => 6; use constant IDNO => 7; use constant IDTRYAGAIN => 10; use constant IDCONTINUE => 11; use constant IDTIMEOUT => 32000; use constant IDASYNC => 32001; # Enum description, see: # https://msdn.microsoft.com/en-us/library/aa383861(v=vs.85).aspx use constant WTSUserName => 5; our @EXPORT = qw( WTSEnumerateSessions WTSSendMessage IDOK IDCANCEL IDABORT IDRETRY IDIGNORE IDYES IDNO IDTRYAGAIN IDCONTINUE IDTIMEOUT IDASYNC ); sub _newSessionInfo { # API description, see: # https://msdn.microsoft.com/en-us/library/aa383864(v=vs.85).aspx # Load Win32::API as late as possible Win32::API->require() or return; my $SessionInfo; eval { Win32::API::Type->typedef( 'WTS_CONNECTSTATE_CLASS', 'DWORD' ); Win32::API::Struct->typedef('WTS_SESSION_INFO', qw( DWORD SessionId; LPTSTR pWinStationName; WTS_CONNECTSTATE_CLASS State; )); # Initialize new WTS_SESSION_INFO struct $SessionInfo = Win32::API::Struct->new('WTS_SESSION_INFO'); $SessionInfo->{SessionId} = 0; $SessionInfo->{pWinStationName} = ""; $SessionInfo->{State} = 0; $SessionInfo->Pack(); }; #~ print STDERR "ERR: $@\n" if $@; return $SessionInfo; } sub WTSEnumerateSessions { # API description, see: # https://msdn.microsoft.com/en-us/library/aa383833(v=vs.85).aspx # Load Win32::API as late as possible Win32::API->require() or return; my @sessions = (); eval { my $apiWTSEnumerateSessions = Win32::API->new( 'wtsapi32', 'WTSEnumerateSessions', [ 'N', 'N', 'N', 'P', 'P' ], 'N' ); my ( $Count, $ppSessionInfo ) = ( 0, 0 ); Win32::API::Type->Pack('DWORD', $Count); Win32::API::Type->Pack('LPARAM', $ppSessionInfo); if ($apiWTSEnumerateSessions->Call(WTS_CURRENT_SERVER_HANDLE, 0, 1, $ppSessionInfo, $Count)) { Win32::API::Type->Unpack('DWORD', $Count); Win32::API::Type->Unpack('LPARAM', $ppSessionInfo); my $index = 0; while ( $Count-- > 0 ) { # Allocate a new SessionInfo struct and update it with # read memory indexed content my $SessionInfo = _newSessionInfo() or last; my $memaddr = $ppSessionInfo + ($index++)*$SessionInfo->sizeof; $SessionInfo->FromMemory($memaddr); push @sessions, { sid => $SessionInfo->{SessionId}, name => $SessionInfo->{pWinStationName}, state => $SessionInfo->{State}, user => _WTSSessionUser($SessionInfo->{SessionId}) }; } # Don't forget to free memory allocated by API _WTSFreeMemory($ppSessionInfo); } }; #~ print STDERR "ERR: $@\n" if $@; return @sessions; } sub WTSSendMessage { my ($sid, $message) = @_; # API description, see: # https://msdn.microsoft.com/en-us/library/aa383842(v=vs.85).aspx # Load Win32::API as late as possible Win32::API->require() or return; # Setup defaults for message $message = {} unless (ref($message) eq 'HASH'); my $title = $message->{title} || "Notification"; my $text = $message->{text} || "About to proceed..."; my $buttons = $message->{buttons} || "ok" ; my $icon = $message->{icon} || "info"; my $timeout = defined($message->{timeout}) ? $message->{timeout} : 60 ; my $wait = (!defined($message->{wait}) || $message->{wait} =~ /^0|no|false$/i) ? 0 : 1 ; # Buttons/icons definitions, see: # https://msdn.microsoft.com/en-us/library/ms645505(v=vs.85).aspx my %buttons = ( ok => 0x00000000, okcancel => 0x00000001, abortretryignore => 0x00000002, yesnocancel => 0x00000003, yesno => 0x00000004, retrycancel => 0x00000005, canceltrycontinue => 0x00000006 ); my %icons = ( none => 0x00000000, error => 0x00000010, question => 0x00000020, warn => 0x00000030, info => 0x00000040 ); # Prepare messagebox style my $style = defined($buttons{$buttons}) ? $buttons{$buttons} : $buttons{"ok"}; $style |= $icons{$icon} if ($icon && defined($icons{$icon})); # Finally text and title must be encoded in local codepage Encode::from_to( $title, 'unicode', getLocalCodepage() ); Encode::from_to( $text, 'unicode', getLocalCodepage() ); my $Response = IDOK; eval { my $apiWTSSendMessage = Win32::API->new( 'wtsapi32', 'WTSSendMessage', [ 'N', 'N', 'P', 'N', 'P', 'N', 'N', 'N', 'P', 'N' ], 'N' ); my $lenTitle = length($title); my $lenMesg = length($text); Win32::API::Type->Pack('LPTSTR', $title); Win32::API::Type->Pack('LPTSTR', $text); Win32::API::Type->Pack('DWORD', $Response); # Directly unpack the response while obtaining one Win32::API::Type->Unpack('DWORD', $Response) if ( $apiWTSSendMessage->Call( WTS_CURRENT_SERVER_HANDLE, $sid, $title, $lenTitle, $text, $lenMesg, $style, $timeout, $Response, $wait ) ); }; #~ print STDERR "ERR: $@\n" if $@; return $Response; } sub _WTSFreeMemory { my ($pMemory) = @_; # API description, see: # https://msdn.microsoft.com/en-us/library/aa383834(v=vs.85).aspx # Load Win32::API as late as possible Win32::API->require() or return; eval { my $apiWTSFreeMemory = Win32::API->new( 'wtsapi32', 'VOID WTSFreeMemory( PVOID pMemory )' ); $apiWTSFreeMemory->Call($pMemory); }; #~ print STDERR "ERR: $@\n" if $@; } sub _WTSSessionUser { my ($sid) = @_; return _WTSQuerySessionInformation( $sid, WTSUserName ); } sub _WTSQuerySessionInformation { my ($sid, $info_class) = @_; # API description, see: # https://msdn.microsoft.com/en-us/library/aa383838(v=vs.85).aspx # Load Win32::API as late as possible Win32::API->require() or return; my $buffer = ""; eval { my $apiWTSQuerySessionInformation = Win32::API->new( 'wtsapi32', 'WTSQuerySessionInformation', [ 'N', 'N', 'N', 'P', 'P' ], 'N' ); my ( $Buffer, $BytesReturned ) = ( 0, 0 ); Win32::API::Type->Pack('LPARAM', $Buffer); Win32::API::Type->Pack('DWORD', $BytesReturned); if ($apiWTSQuerySessionInformation->Call(WTS_CURRENT_SERVER_HANDLE, $sid, $info_class, $Buffer, $BytesReturned)) { Win32::API::Type->Unpack('LPARAM', $Buffer); Win32::API::Type->Unpack('DWORD', $BytesReturned); if ($BytesReturned > 0) { # While directly reading memory, we need to skip last NULL byte my $zero = Win32::API::ReadMemory($Buffer+$BytesReturned-1, 1) eq '\0' ? 0 : 1 ; if ($BytesReturned-$zero) { $buffer = Win32::API::ReadMemory($Buffer, $BytesReturned-$zero); } } # Don't forget to free memory allocated by API _WTSFreeMemory($Buffer); } }; #~ print STDERR "ERR: $@\n" if $@; return $buffer; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Win32/NetAdapter.pm0000644000175000017500000000762013712210012027312 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Win32::NetAdapter; use warnings; use strict; use English qw(-no_match_vars); use FusionInventory::Agent::Tools::Network; sub new { my ($class, %params) = @_; return unless defined $params{WMI} && defined $params{configurations}; my $self = { %{$params{WMI}} }; bless $self, $class; $self->{_config} = $params{configurations}[$self->_getObjectIndex()] or return; return unless $self->_getPNPDeviceID(); return $self; } sub getInterfaces { my ($self) = @_; return $self->getInterfacesWithAddresses() if $self->hasAddresses(); return unless $self->{_config}->{MACADDR}; return $self->getBaseInterface(); } sub getBaseInterface { my ($self) = @_; my $interface = { PNPDEVICEID => $self->_getPNPDeviceID(), MACADDR => $self->{_config}->{MACADDR}, DESCRIPTION => $self->_getDescription(), STATUS => $self->{_config}->{STATUS}, MTU => $self->{_config}->{MTU}, dns => $self->{_config}->{dns}, VIRTUALDEV => $self->_isVirtual() }; $interface->{PCIID} = $self->_getPciid() if $self->_getPciid(); $interface->{GUID} = $self->_getGUID() if $self->_getGUID(); $interface->{DNSDomain} = $self->{_config}->{DNSDomain} if $self->{_config}->{DNSDomain}; $interface->{SPEED} = int($self->{Speed} / 1_000_000) if $self->{Speed}; return $interface; } sub getInterfacesWithAddresses { my ($self) = @_; my @interfaces; foreach my $address (@{$self->{_config}->{addresses}}) { my $interface = $self->getBaseInterface(); if ($address->[0] =~ /$ip_address_pattern/) { $interface->{IPADDRESS} = $address->[0]; $interface->{IPMASK} = $address->[1]; $interface->{IPSUBNET} = getSubnetAddress( $interface->{IPADDRESS}, $interface->{IPMASK} ); $interface->{IPDHCP} = $self->{_config}->{IPDHCP}; $interface->{IPGATEWAY} = $self->{_config}->{IPGATEWAY}; } else { $interface->{IPADDRESS6} = $address->[0]; $interface->{IPMASK6} = getNetworkMaskIPv6($address->[1]); $interface->{IPSUBNET6} = getSubnetAddressIPv6( $interface->{IPADDRESS6}, $interface->{IPMASK6} ); } push @interfaces, $interface; } return @interfaces; } sub hasAddresses { my ($self) = @_; return $self->{_config}->{addresses} ? 1 : 0; } sub _isVirtual { my ($self) = @_; # Some virtual network adapters like VirtualBox or VPN ones could be set # as physical but with PNPDeviceID starting by ROOT return 1 if $self->_getPNPDeviceID() =~ /^ROOT/; # PhysicalAdapter only work on OS > XP return $self->_getPhysicalAdapter() ? 0 : 1 if defined $self->_getPhysicalAdapter(); # http://forge.fusioninventory.org/issues/1166 my $description = $self->_getDescription(); return 1 if $description && $description =~ /RAS/ && $description =~ /Adapter/i; return 0; } sub _getPciid { my ($self) = @_; return unless $self->_getPNPDeviceID() =~ /PCI\\VEN_(\w{4})&DEV_(\w{4})&SUBSYS_(\w{4})(\w{4})/; return join(':', $1, $2, $3, $4); } sub _getObjectIndex { my ($self) = @_; return defined($self->{InterfaceIndex}) ? $self->{InterfaceIndex} : $self->{Index}; } # Getters try get Information on MSFT_NetAdapter || Win32_NetworkAdapter sub _getGUID { my ($self) = @_; return $self->{InterfaceGuid} || $self->{GUID}; } sub _getPhysicalAdapter { my ($self) = @_; return $self->{HardwareInterface} || $self->{PhysicalAdapter}; } sub _getPNPDeviceID { my ($self) = @_; return $self->{PnPDeviceID} || $self->{PNPDeviceID}; } sub _getDescription { my ($self) = @_; return $self->{InterfaceDescription} || $self->{_config}->{DESCRIPTION}; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Win32/API.pm0000644000175000017500000000157413712210012025676 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Win32::API; use warnings; use strict; use English qw(-no_match_vars); use UNIVERSAL::require; use FusionInventory::Agent::Logger; sub new { my ($class, %params) = @_; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new() }; bless $self, $class; # Load Win32::API as late as possible Win32::API->require() or return; my $api; eval { $api = Win32::API->new(@{$params{win32api}}); }; $self->{logger}->debug2("win32 api load failure: $EVAL_ERROR") if $EVAL_ERROR; $self->{_api} = $api if $api; return $self; } sub Call { my $self = shift; return unless $self->{_api}; my $ret; eval { $ret = $self->{_api}->Call(@_); }; $self->{logger}->debug2("win32 api call failure: $EVAL_ERROR") if $EVAL_ERROR; return $ret; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Win32/LoadIndirectString.pm0000644000175000017500000000231313712210012031005 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Win32::LoadIndirectString; use warnings; use strict; use parent 'Exporter'; use FusionInventory::Agent::Tools::Win32::API; use FusionInventory::Agent::Tools::Win32::WideChar; our @EXPORT = qw( SHLoadIndirectString ); my $apiSHLoadIndirectString; sub SHLoadIndirectString { my ($string) = @_; return unless $string; my $wstring = MultiByteToWideChar($string) or return; unless ($apiSHLoadIndirectString) { $apiSHLoadIndirectString = FusionInventory::Agent::Tools::Win32::API->new( win32api => [ 'shlwapi', 'SHLoadIndirectString', [ 'P', 'P', 'I', 'I' ], 'N' ] ); } return unless $apiSHLoadIndirectString; # Buffer size should be sufficient for our purpose my $buffer = '\0' x 4096; my $ret = $apiSHLoadIndirectString->Call( $wstring, $buffer, 4096, 0 ); return if ($ret || !$buffer); $buffer = WideCharToMultiByte($buffer); # api returns the same string in buffer is no indirect string was found return unless ($buffer && $buffer ne $string); return $buffer ; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/HPUX.pm0000644000175000017500000000357013712210012025145 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::HPUX; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use Memoize; our @EXPORT = qw( getInfoFromMachinfo isHPVMGuest ); memoize('getInfoFromMachinfo'); memoize('isHPVMGuest'); sub getInfoFromMachinfo { my (%params) = ( command => '/usr/contrib/bin/machinfo', @_ ); my $handle = getFileHandle(%params); return unless $handle; my $info; my $current; while (my $line = <$handle>) { chomp $line; #key: value if ($line =~ /^ (\S [^:]+) : \s+ (.*\S)/x) { $info->{$1} = $2; next; } # key: value if ($line =~ /^ \s+ (\S [^:]+) : \s+ (.*\S)/x) { $info->{$current}->{lc($1)} = $2; next; } # key = value if ($line =~ /^ \s+ (\S [^=]+) \s+ = \s+ (.*\S)/x) { $info->{$current}->{lc($1)} = $2; next; } # value if ($line =~ /^ \s+ (.*\S)/x) { # hack for CPUinfo: # accumulate new lines if current node is not an hash if ($info->{$current}) { $info->{$current} .= " $1" if ! ref $info->{$current}; } else { $info->{$current} = $1; } next; } #key: if ($line =~ /^ (\S [^:]+) :$/x) { $current = $1; next; } } close $handle; return $info; } sub isHPVMGuest { return getFirstMatch( command => 'hpvminfo', pattern => qr/HPVM guest/ ); } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::HPUX - HPUX generic functions =head1 DESCRIPTION This module provides some generic functions for HPUX. =head1 FUNCTIONS =head2 getInfoFromMachinfo Returns a structured view of machinfo output. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/BSD.pm0000644000175000017500000000742413712210012024773 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::BSD; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; our @EXPORT = qw( getInterfacesFromIfconfig ); sub getInterfacesFromIfconfig { my (%params) = ( command => '/sbin/ifconfig -a', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @interfaces; # global list of interfaces my @addresses; # per-interface list of addresses my $interface; # current interface my %types = ( Ethernet => 'ethernet', IEEE => 'wifi' ); while (my $line = <$handle>) { if ($line =~ /^(\S+): flags=\d+<([^>]+)> (?:metric \d+ )?mtu (\d+)/) { if (@addresses) { push @interfaces, @addresses; undef @addresses; } else { push @interfaces, $interface if $interface; } my ($name, $flags, $mtu) = ($1, $2, $3); my $status = (any { $_ eq 'UP' } split(/,/, $flags)) ? 'Up' : 'Down'; $interface = { DESCRIPTION => $name, STATUS => $status, MTU => $mtu }; } elsif ($line =~ /(?:address:|ether|lladdr) ($mac_address_pattern)/) { $interface->{MACADDR} = $1; } elsif ($line =~ / ssid \s (\S+) \s channel \s \d+ \s \(\d+ \s MHz \s (\S+)[^)]*\) \s bssid \s ($mac_address_pattern) /x) { foreach my $address (@addresses) { $address->{WIFI_SSID} = $1; $address->{WIFI_VERSION} = '802.' . $2; $address->{WIFI_BSSID} = $3; } } elsif ($line =~ /inet ($ip_address_pattern) (?:--> $ip_address_pattern )?netmask 0x($hex_ip_address_pattern)/) { my $address = $1; my $mask = hex2canonical($2); my $subnet = getSubnetAddress($address, $mask); push @addresses, { IPADDRESS => $address, IPMASK => $mask, IPSUBNET => $subnet, STATUS => $interface->{STATUS}, DESCRIPTION => $interface->{DESCRIPTION}, MACADDR => $interface->{MACADDR}, MTU => $interface->{MTU} }; } elsif ($line =~ /inet6 ([\w:]+)\S* prefixlen (\d+)/) { my $address = $1; my $mask = getNetworkMaskIPv6($2); my $subnet = getSubnetAddressIPv6($address, $mask); push @addresses, { IPADDRESS6 => $address, IPMASK6 => $mask, IPSUBNET6 => $subnet, STATUS => $interface->{STATUS}, DESCRIPTION => $interface->{DESCRIPTION}, MACADDR => $interface->{MACADDR}, MTU => $interface->{MTU} }; } if ($line =~ /media: (\S+)/) { $interface->{TYPE} = $types{$1}; $_->{TYPE} = $types{$1} foreach @addresses; } } close $handle; # last interface if (@addresses) { push @interfaces, @addresses; } else { push @interfaces, $interface if $interface; } return @interfaces; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::BSD - BSD generic functions =head1 DESCRIPTION This module provides some generic functions for BSD. =head1 FUNCTIONS =head2 getInterfacesFromIfconfig(%params) Returns the list of interfaces, by parsing ifconfig command output. Availables parameters: =over =item logger a logger object =item command the command to use (default: /sbin/ifconfig -a) =item file the file to use =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/License.pm0000644000175000017500000001304313712210012025737 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::License; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; our @EXPORT = qw( getAdobeLicenses getAdobeLicensesWithoutSqlite decodeMicrosoftKey ); # Thanks to Brandon Mulcahy # http://www.a1vbcode.com/snippet-4796.asp sub _decodeAdobeKey { my ($encrypted_key) = @_; return unless $encrypted_key; my @cipher_key = qw/ 0000000001 5038647192 1456053789 2604371895 4753896210 8145962073 0319728564 7901235846 7901235846 0319728564 8145962073 4753896210 2604371895 1426053789 5038647192 3267408951 5038647192 2604371895 8145962073 7901235846 3267408951 1426053789 4753896210 0319728564/; my @decrypted_key_chars; foreach my $char (split(//, $encrypted_key)) { my $sub_cipher_key = shift @cipher_key; push @decrypted_key_chars, (split(//, $sub_cipher_key))[$char]; } return sprintf '%s%s%s%s-%s%s%s%s-%s%s%s%s-%s%s%s%s-%s%s%s%s-%s%s%s%s', @decrypted_key_chars; } sub getAdobeLicenses { my (%params) = @_; my $handle = getFileHandle(%params); my @licenses; my %data; while (my $line = <$handle>) { chomp($line); my @f = split(/ <> /, $line); next unless $f[3]; $f[1] =~ s/\{\|\}.*//; $f[2] =~ s/\{\|\}.*//; $f[3] =~ s/\{\|\}.*//; if ($f[2] eq 'FLMap') { push @{$data{$f[3]}{with}}, $f[1]; } elsif ($f[3] ne "unlicensed") { $data{$f[1]}{$f[2]} = $f[3]; } } close $handle; foreach my $key (keys %data) { next unless $data{$key}{SN} || $data{$key}{with}; push @licenses, { NAME => $key, FULLNAME => $data{$key}{ALM_LicInfo_EpicAppName}, KEY => _decodeAdobeKey($data{$key}{SN}) || 'n/a', COMPONENTS => join('/', sort @{$data{$key}{with}}) } } return @licenses; } sub getAdobeLicensesWithoutSqlite { my ($fileAdobe) = @_; my $contentFileAdobe = getAllLines(file => $fileAdobe) or return; my @licenses; $contentFileAdobe =~ s/\0//g; my $copyContent = $contentFileAdobe; my %products; while ($copyContent =~ s/1([a-zA-Z0-9\-\.]+)[\{\|\}[a-zA-Z0-9\-_]*]?FLMap([a-zA-Z0-9\-\.]{3,}).{2,3}//) { if (exists($products{$2})) { push @{$products{$2}}, $1 if !grep (/^$1$/, @{$products{$2}}); } else { $products{$2} = [$1]; } } while (my ($product, $component) = each %products) { $copyContent = $contentFileAdobe; my $regex = $product.'\{\|\}[a-zA-Z0-9\-_]+SN([0-9]{24})'; $copyContent =~ /$regex/; if ($1) { my $SN = _decodeAdobeKey($1); $copyContent = $contentFileAdobe; $regex = $product.'ALM_LicInfo_EpicAppName\{\|\}[0-9]+([a-zA-Z]+[a-zA-Z0-9\.\- ]+).{2}'; $copyContent =~ /$regex/; my $fullName = $product; $fullName = $1 if $1; push @licenses, { NAME => $product, FULLNAME => $fullName, KEY => $SN, COMPONENTS => join('/', sort @{$component}) } } } return @licenses; } # inspired by http://poshcode.org/4363 sub decodeMicrosoftKey { my ($raw) = @_; ## no critic (ProhibitBitwise) return unless $raw; my @key_bytes = unpack 'C*', $raw; # select correct bytes range: # - 808 to 822 for new style keys (Office 2010 and later) # - 52 to 66 for old style keys my $first_byte = defined $key_bytes[808] ? 808 : 52; my $last_byte = $first_byte + 14; # check for Windows 8/Office 2013 style key (can contains the letter "N") my $containsN = ($key_bytes[$last_byte] >> 3) & 1; $key_bytes[$last_byte] = $key_bytes[$last_byte] & 0xF7; # length of product key, in chars my $chars_length = 25; # length of product key, in bytes my $bytes_length = 15; # product key available characters my @letters = qw(B C D F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9); # extract relevant bytes my @bytes = @key_bytes[$first_byte .. $last_byte]; # return immediatly for null keys return if all { $_ == 00 } @bytes; # decoded product key my @chars; for (my $i = $chars_length - 1; $i >= 0; $i--) { my $index = 0; for (my $j = $bytes_length - 1; $j >= 0; $j--) { my $value = ($index << 8) | $bytes[$j]; $bytes[$j] = $value / scalar @letters; $index = $value % (scalar @letters); } $chars[$i] = $letters[$index]; } if ($containsN != 0) { my $first_char = shift @chars; my $first_char_index = 0; for (my $index = 0; $index < scalar @letters; $index++) { next if $first_char ne $letters[$index]; $first_char_index = $index; last; } splice @chars, $first_char_index, 0, 'N'; } return sprintf '%s%s%s%s%s-%s%s%s%s%s-%s%s%s%s%s-%s%s%s%s%s-%s%s%s%s%s', @chars; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::License - License-related functions =head1 DESCRIPTION This module provides some functions to access license information. =head1 FUNCTIONS =head2 getAdobeLicenses Returns a structured view of Adobe license. =head2 getAdobeLicensesWithoutSqlite Returns a structured view of Adobe license without Sqlite. =head2 decodeMicrosoftKey($string) Return a decoded string from a binary binary microsoft product key (XP, office, etc) FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Virtualization.pm0000644000175000017500000000147113712210012027403 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Virtualization; use strict; use warnings; use parent 'Exporter'; use UNIVERSAL::require; use constant STATUS_RUNNING => 'running'; use constant STATUS_BLOCKED => 'blocked'; use constant STATUS_IDLE => 'idle'; use constant STATUS_PAUSED => 'paused'; use constant STATUS_SHUTDOWN => 'shutdown'; use constant STATUS_CRASHED => 'crashed'; use constant STATUS_DYING => 'dying'; use constant STATUS_OFF => 'off'; our @EXPORT = qw( STATUS_RUNNING STATUS_BLOCKED STATUS_IDLE STATUS_PAUSED STATUS_SHUTDOWN STATUS_CRASHED STATUS_DYING STATUS_OFF getVirtualUUID ); sub getVirtualUUID { my $machineid = shift or return ''; my $name = shift or return ''; return '' unless Digest::SHA->use('sha1_hex'); return sha1_hex($machineid . $name); } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Generic.pm0000644000175000017500000003176713752244353025771 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Generic; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use Memoize; use File::stat; use File::Basename qw(basename); use FusionInventory::Agent::Tools; our @EXPORT = qw( getDmidecodeInfos getCpusFromDmidecode getHdparmInfo getPCIDevices getPCIDeviceVendor getPCIDeviceClass getUSBDeviceVendor getUSBDeviceClass getEDIDVendor ); my $PCIVendors; my $PCIClasses; my $USBVendors; my $USBClasses; my $EDIDVendors; # this trigger some errors under Win32: # Anonymous function called in forbidden scalar context if ($OSNAME ne 'MSWin32') { memoize('getDmidecodeInfos'); memoize('getPCIDevices'); } sub getDmidecodeInfos { my (%params) = ( command => 'dmidecode', @_ ); my $handle = getFileHandle(%params); return unless $handle; my ($info, $block, $type); while (my $line = <$handle>) { chomp $line; if ($line =~ /DMI type (\d+)/) { # start of block # push previous block in list if ($block) { push(@{$info->{$type}}, $block); undef $block; } # switch type $type = $1; next; } next unless defined $type; next unless $line =~ /^\s+ ([^:]+) : \s (.*\S)/x; next if $2 =~ m{ ^(?: N/A | None | Unknown | Not \s* Specified | Not \s* Present | Not \s* Available | | (?:){1,2} | \s* To \s* Be \s* Filled \s* By \s* O\.E\.M\. )$ }xi ; $block->{$1} = trimWhitespace($2); } close $handle; # push last block in list if still defined if ($block) { push(@{$info->{$type}}, $block); } # do not return anything if dmidecode output is obviously truncated, but that's # okay during tests return if keys %$info < 2 && !$params{file}; return $info; } sub getCpusFromDmidecode { my $infos = getDmidecodeInfos(@_); return unless $infos->{4}; my @cpus; foreach my $info (@{$infos->{4}}) { next if $info->{Status} && $info->{Status} =~ /Unpopulated|Disabled/i; my $manufacturer = $info->{'Manufacturer'} || $info->{'Processor Manufacturer'}; my $version = $info->{'Version'} || $info->{'Processor Version'}; # VMware next if ($manufacturer && $manufacturer eq '000000000000') && ($version && $version eq '00000000000000000000000000000000'); my $cpu = { SERIAL => $info->{'Serial Number'}, ID => $info->{ID}, CORE => $info->{'Core Enabled'} || $info->{'Core Count'}, THREAD => $info->{'Thread Count'}, FAMILYNAME => $info->{'Family'}, MANUFACTURER => $manufacturer }; $cpu->{NAME} = ($cpu->{MANUFACTURER} =~ /Intel/ ? $info->{'Family'} : undef) || $info->{'Version'} || $info->{'Processor Family'} || $info->{'Processor Version'}; if ($cpu->{ID}) { # Split CPUID to get access to its content my @id = split ("",$cpu->{ID}); # convert hexadecimal value $cpu->{STEPPING} = hex $id[1]; # family number is composed of 3 hexadecimal number $cpu->{FAMILYNUMBER} = hex $id[9] . $id[10] . $id[4]; $cpu->{MODEL} = hex $id[7] . $id[0]; } if ($info->{Version}) { if ($info->{Version} =~ /([\d\.]+)MHz$/) { $cpu->{SPEED} = $1; } elsif ($info->{Version} =~ /([\d\.]+)GHz$/) { $cpu->{SPEED} = $1 * 1000; } } if (!$cpu->{SPEED} && $info->{'Current Speed'}) { if ($info->{'Current Speed'} =~ /^\s*(\d{3,4})\s*Mhz/i) { $cpu->{SPEED} = $1; } elsif ($info->{'Current Speed'} =~ /^\s*(\d+)\s*Ghz/i) { $cpu->{SPEED} = $1 * 1000; } } if ($info->{'External Clock'}) { if ($info->{'External Clock'} =~ /^\s*(\d+)\s*Mhz/i) { $cpu->{EXTERNAL_CLOCK} = $1; } elsif ($info->{'External Clock'} =~ /^\s*(\d+)\s*Ghz/i) { $cpu->{EXTERNAL_CLOCK} = $1 * 1000; } } # Add CORECOUNT if we have less enabled cores than total count if ($info->{'Core Enabled'} && $info->{'Core Count'}) { $cpu->{CORECOUNT} = $info->{'Core Count'} unless ($info->{'Core Enabled'} == $info->{'Core Count'}); } push @cpus, $cpu; } return @cpus; } sub getHdparmInfo { my (%params) = @_; return unless $params{device} || $params{file}; $params{command} = "hdparm -I $params{device}" if $params{device}; # We need to support dump params to permit full testing when root params is set if ($params{root}) { $params{file} = "$params{root}/hdparm-".basename($params{device}); } elsif ($params{dump}) { $params{dump}->{"hdparm-".basename($params{device})} = getAllLines(%params); } my $handle = getFileHandle(%params) or return; my $info; while (my $line = <$handle>) { if ($line =~ /Integrity word not set/) { $info = {}; last; } $info->{DESCRIPTION} = $1 if $line =~ /Transport:.+(SATA|SAS|SCSI|USB)/; $info->{DISKSIZE} = $1 if $line =~ /1000:\s+(\d*)\sMBytes/; $info->{FIRMWARE} = $1 if $line =~ /Firmware Revision:\s+(\w+)/; $info->{INTERFACE} = $1 if $line =~ /Transport:.+(SATA|SAS|SCSI|USB)/; $info->{MODEL} = $1 if $line =~ /Model Number:\s+(\w.+\w)/; $info->{SERIALNUMBER} = $1 if $line =~ /Serial Number:\s+(\w*)/; $info->{WWN} = $1 if $line =~ /WWN Device Identifier:\s+(\w+)/; } close $handle; return $info; } sub getPCIDevices { my (%params) = ( command => 'lspci -v -nn', @_ ); my $handle = getFileHandle(%params); my (@controllers, $controller); while (my $line = <$handle>) { chomp $line; if ($line =~ /^ (\S+) \s # slot ([^[]+) \s # name \[([a-f\d]+)\]: \s # class (\S.+) \s # manufacturer \[([a-f\d]+:[a-f\d]+)\] # id (?:\s \(rev \s (\d+)\))? # optional version /x) { $controller = { PCISLOT => $1, NAME => $2, PCICLASS => $3, MANUFACTURER => $4, PCIID => $5, REV => $6 }; next; } next unless defined $controller; if ($line =~ /^$/) { push(@controllers, $controller); undef $controller; } elsif ($line =~ /^\tKernel driver in use: (\w+)/) { $controller->{DRIVER} = $1; } elsif ($line =~ /^\tSubsystem: ?.* \[?([a-f\d]{4}:[a-f\d]{4})\]?/) { $controller->{PCISUBSYSTEMID} = $1; } } close $handle; return @controllers; } sub getPCIDeviceVendor { my (%params) = @_; _loadPCIDatabase(%params) if !$PCIVendors; return unless $params{id}; return $PCIVendors->{$params{id}}; } sub getPCIDeviceClass { my (%params) = @_; _loadPCIDatabase(%params) if !$PCIClasses; return unless $params{id}; return $PCIClasses->{$params{id}}; } sub getUSBDeviceVendor { my (%params) = @_; _loadUSBDatabase(%params) if !$USBVendors; return unless $params{id}; return $USBVendors->{$params{id}}; } sub getUSBDeviceClass { my (%params) = @_; _loadUSBDatabase(%params) if !$USBClasses; return unless $params{id}; return $USBClasses->{$params{id}}; } sub getEDIDVendor { my (%params) = @_; _loadEDIDDatabase(%params) if !$EDIDVendors; return unless $params{id}; return $EDIDVendors->{$params{id}}; } my @datadirs = ($OSNAME ne 'linux') ? () : ( "/usr/share/misc", # debian system well-known path "/usr/share/hwdata", # hwdata system well-known path including fedora ); sub _getIdsFile { my (%params) = @_; # Initialize datadir to share if run from tests my $datadir = $params{datadir} || "share"; return "$datadir/$params{idsfile}" unless @datadirs; # Try to use the most recent ids file from well-known places my %files = map { $_ => stat($_)->ctime() } grep { -s $_ } map { "$_/$params{idsfile}" } @datadirs, $datadir ; # Sort by creation time my @sorted_files = sort { $files{$a} <=> $files{$b} } keys(%files); return pop @sorted_files; } sub _loadPCIDatabase { my (%params) = @_; my $file = _getIdsFile( %params, idsfile => "pci.ids" ); ($PCIVendors, $PCIClasses) = _loadDatabase( file => $file ); } sub _loadUSBDatabase { my (%params) = @_; my $file = _getIdsFile( %params, idsfile => "usb.ids" ); ($USBVendors, $USBClasses) = _loadDatabase( file => $file ); } sub _loadDatabase { my $handle = getFileHandle(@_); return unless $handle; my ($vendors, $classes); my ($vendor_id, $device_id, $class_id); while (my $line = <$handle>) { if ($line =~ /^\t (\S{4}) \s+ (.*)/x) { # Device ID $device_id = $1; $vendors->{$vendor_id}->{devices}->{$device_id}->{name} = $2; } elsif ($line =~ /^\t\t (\S{4}) \s+ (\S{4}) \s+ (.*)/x) { # Subdevice ID my $subdevice_id = "$1:$2"; $vendors->{$vendor_id}->{devices}->{$device_id}->{subdevices}->{$subdevice_id}->{name} = $3; } elsif ($line =~ /^(\S{4}) \s+ (.*)/x) { # Vendor ID $vendor_id = $1; $vendors->{$vendor_id}->{name} = $2; } elsif ($line =~ /^C \s+ (\S{2}) \s+ (.*)/x) { # Class ID $class_id = $1; $classes->{$class_id}->{name} = $2; } elsif ($line =~ /^\t (\S{2}) \s+ (.*)/x) { # SubClass ID my $subclass_id = $1; $classes->{$class_id}->{subclasses}->{$subclass_id}->{name} = $2; } } close $handle; return ($vendors, $classes); } sub _loadEDIDDatabase { my (%params) = @_; my $file = _getIdsFile( %params, idsfile => "edid.ids" ); my $handle = getFileHandle( file => $file ); return unless $handle; foreach my $line (<$handle>) { next unless $line =~ /^([A-Z]{3}) __ (.*)$/; $EDIDVendors->{$1} = $2; } close $handle; return; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Generic - OS-independent generic functions =head1 DESCRIPTION This module provides some OS-independent generic functions. =head1 FUNCTIONS =head2 getDmidecodeInfos Returns a structured view of dmidecode output. Each information block is turned into an hashref, block with same DMI type are grouped into a list, and each list is indexed by its DMI type into the resulting hashref. $info = { 0 => [ { block } ], 1 => [ { block }, { block }, ], ... } =head2 getCpusFromDmidecode() Returns a list of CPUs, from dmidecode output. =head2 getHdparmInfo(%params) Returns some information about a device, using hdparm. Availables parameters: =over =item logger a logger object =item device the device to use =item file the file to use =back =head2 getPCIDevices(%params) Returns a list of PCI devices as a list of hashref, by parsing lspci command output. =over =item logger a logger object =item command the exact command to use (default: lspci -vvv -nn) =item file the file to use, as an alternative to the command =back =head2 getPCIDeviceVendor(%params) Returns the PCI vendor matching this ID. =over =item id the vendor id =item logger a logger object =item datadir the directory holding the PCI database =back =head2 getPCIDeviceClass(%params) Returns the PCI class matching this ID. =over =item id the class id =item logger a logger object =item datadir the directory holding the PCI database =back =head2 getUSBDeviceVendor(%params) Returns the USB vendor matching this ID. =over =item id the vendor id =item logger a logger object =item datadir the directory holding the USB database =back =head2 getUSBDeviceClass(%params) Returns the USB class matching this ID. =over =item id the class id =item logger a logger object =item datadir the directory holding the USB database =back =head2 getEDIDVendor(%params) Returns the EDID vendor matching this ID. =over =item id the vendor id =item logger a logger object =item datadir the directory holding the edid vendors database =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Screen/0000755000175000017500000000000013757703276025271 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Screen/Acer.pm0000644000175000017500000000257613750013366026476 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Screen::Acer; use strict; use warnings; use parent 'FusionInventory::Agent::Tools::Screen'; # Well-known eisa_id for which we need to revert serial and altserial my $eisa_id_match_str = join('|', qw( 0018 0020 0024 00a3 00A8 00d2 00db 00f7 02d4 0319 032e 0330 0337 03de 0468 0503 0512 057d 0618 0783 7883 ad49 adaf )); my $eisa_id_match = qr/($eisa_id_match_str)$/ ; sub serial { my ($self) = @_; # Revert serial and altserial when eisa_id matches return $self->_altserial if ($self->eisa_id =~ $eisa_id_match); return $self->{_serial}; } sub altserial { my ($self) = @_; return $self->{_altserial} if $self->{_altserial}; # Revert serial and altserial when eisa_id matches return $self->{_altserial} = $self->eisa_id =~ $eisa_id_match ? $self->{_serial} : $self->_altserial; } sub _altserial { my ($self) = @_; my $serial1 = $self->{edid}->{serial_number}; my $serial2 = $self->{edid}->{serial_number2}->[0]; # Split serial2 my $part1 = substr($serial2, 0, 8); my $part2 = substr($serial2, 8, 4); # Assemble serial1 with serial2 parts return $part1 . sprintf("%08x", $serial1) . $part2; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Screen/Samsung.pm0000644000175000017500000000320013712210012027203 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Screen::Samsung; use strict; use warnings; use parent 'FusionInventory::Agent::Tools::Screen'; # Well-known eisa_id for which wee need to revert serial and altserial my $eisa_id_match = qr/0572|0694|06b9|0833|0835|0978|09c6|09c7|0b66|0bc9|0c7b|0ca3|0ca5|0d1a|0e0f|0e1e/ ; # For this model, prefix is in reverse order my $eisa_id_match_2 = qr/0e5a$/ ; sub serial { my ($self) = @_; # Revert serial and altserial when eisa_id matches return $self->_altserial if ($self->eisa_id =~ $eisa_id_match); return $self->_altserial_2 if ($self->eisa_id =~ $eisa_id_match_2); return $self->{_serial}; } sub altserial { my ($self) = @_; return $self->{_altserial} if $self->{_altserial}; # Revert serial and altserial when eisa_id matches return $self->{_altserial} = ($self->eisa_id =~ $eisa_id_match || $self->eisa_id =~ $eisa_id_match_2) ? $self->{_serial} : $self->_altserial; } sub _altserial { my ($self) = @_; my $serial1 = $self->{edid}->{serial_number}; my $serial2 = $self->{edid}->{serial_number2}->[0] or return ''; return chr(($serial1 >> 24)% 256) . chr(($serial1 >> 16)% 256) . chr(($serial1 >> 8 )% 256) . chr( $serial1 % 256) . $serial2 ; } sub _altserial_2 { my ($self) = @_; my $serial1 = $self->{edid}->{serial_number}; my $serial2 = $self->{edid}->{serial_number2}->[0] or return ''; return chr( $serial1 % 256) . chr(($serial1 >> 8 )% 256) . chr(($serial1 >> 16)% 256) . chr(($serial1 >> 24)% 256) . $serial2 ; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Screen/Philips.pm0000644000175000017500000000232413712210012027204 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Screen::Philips; use strict; use warnings; use parent 'FusionInventory::Agent::Tools::Screen'; # Handles case monitor doesn't report serial2 in edid while it is connected # throught HDMI port. In that case, we uses serial1 as an integer, not hex. sub _has_serial_number2 { my ($self) = @_; return exists($self->{edid}->{serial_number2}) && defined($self->{edid}->{serial_number2}) && $self->{edid}->{serial_number2} ; } sub serial { my ($self) = @_; # Revert serial and altserial when no serial2 found return $self->_altserial unless $self->_has_serial_number2(); return $self->{_serial}; } sub altserial { my ($self) = @_; return $self->{_altserial} if exists($self->{_altserial}); # Revert serial and altserial when no serial2 found return $self->{_altserial} = $self->_has_serial_number2() ? $self->_altserial : $self->{_serial} ; } sub _altserial { my ($self) = @_; my $serial1 = sprintf("%06d", $self->{edid}->{serial_number}); # Don't report altserial if current serial still includes it my $altserial = $self->{_serial} =~ m/$serial1$/ ? undef : $serial1 ; return $altserial; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Screen/Goldstar.pm0000644000175000017500000000227413712210012027357 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Screen::Goldstar; use strict; use warnings; use parent 'FusionInventory::Agent::Tools::Screen'; # Well-known eisa_id for which wee need to revert serial and altserial my $eisa_id_match = qr/4b21$/ ; sub serial { my ($self) = @_; # Revert serial and altserial when eisa_id matches return $self->_altserial if ($self->eisa_id =~ $eisa_id_match); return $self->{_serial}; } sub altserial { my ($self) = @_; return $self->{_altserial} if $self->{_altserial}; # Revert serial and altserial when eisa_id matches return $self->{_altserial} = $self->eisa_id =~ $eisa_id_match ? $self->{_serial} : $self->_altserial; } sub _altserial { my ($self) = @_; my $serial1 = $self->{edid}->{serial_number}; # split serial in two parts my ($high, $low) = $serial1 =~ /(\d+) (\d\d\d)$/x; return 0 unless defined($high) && defined($low); # translate the first part using a custom alphabet my @alphabet = split(//, "0123456789ABCDEFGHJKLMNPQRSTUVWXYZ"); my $base = scalar @alphabet; return 0 if $high/$base > $#alphabet; return $alphabet[$high / $base] . $alphabet[$high % $base] . $low; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Win32.pm0000644000175000017500000011424613712210012025266 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Win32; use strict; use warnings; use parent 'Exporter'; use utf8; use threads; use threads 'exit' => 'threads_only'; use threads::shared; use UNIVERSAL::require(); use constant KEY_WOW64_64 => 0x100; use constant KEY_WOW64_32 => 0x200; use Cwd; use Encode; use English qw(-no_match_vars); use File::Temp qw(:seekable tempfile); use File::Basename qw(basename); use Win32::Job; use Win32::TieRegistry ( Delimiter => '/', ArrayValues => 0, qw/KEY_READ/ ); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Expiration; use FusionInventory::Agent::Tools::Win32::NetAdapter; use FusionInventory::Agent::Version; my $localCodepage; our @EXPORT = qw( is64bit remoteIs64bits encodeFromRegistry KEY_WOW64_64 KEY_WOW64_32 getInterfaces getRegistryValue getRegistryKey getWMIObjects getLocalCodepage runCommand FileTimeToSystemTime getAgentMemorySize FreeAgentMem getWMIService getFormatedWMIDateTime ); my $_is64bits = undef; sub is64bit { # Cache is64bit() result in a private module variable to avoid a lot of wmi # calls and as this value won't change during the service/task lifetime return remoteIs64bits() if _remoteWmi(); return $_is64bits if $_is64bits; return $_is64bits = any { $_->{AddressWidth} eq 64 } getWMIObjects( class => 'Win32_Processor', properties => [ qw/AddressWidth/ ] ); } sub getLocalCodepage { if (!$localCodepage) { $localCodepage = "cp" . getRegistryValue( path => 'HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Nls/CodePage/ACP' ); } return $localCodepage; } sub encodeFromRegistry { my ($string) = @_; ## no critic (ExplicitReturnUndef) return undef unless $string; return $string if Encode::is_utf8($string); return decode(getLocalCodepage(), $string); } sub getWMIObjects { my $win32_ole_dependent_api = { array => 1, funct => '_getWMIObjects', args => \@_ }; return _call_win32_ole_dependent_api($win32_ole_dependent_api); } sub _getWMIObjects { my (%params) = ( moniker => 'winmgmts:{impersonationLevel=impersonate,(security)}!//./', @_ ); FusionInventory::Agent::Logger->require(); my $logthat = ""; my $logger = $params{logger} || FusionInventory::Agent::Logger->new(); my $expiration = getExpirationTime(); my $WMIService; if (_remoteWmi()) { $WMIService = getWMIService( root => $params{root} || "root\\cimv2", @_ ); # Support alternate moniker if provided and main failed to open if (!defined($WMIService) && $params{altmoniker}) { $WMIService = getWMIService( moniker => $params{altmoniker} ); } } else { $WMIService = Win32::OLE->GetObject($params{moniker}); # Support alternate moniker if provided and main failed to open if (!defined($WMIService) && $params{altmoniker}) { $WMIService = Win32::OLE->GetObject($params{altmoniker}); } } return unless (defined($WMIService)); my $Instances; if ($params{query}) { $logthat = "$params{query} WMI query"; $logger->debug2("Doing $logthat") if $logger; $Instances = $WMIService->ExecQuery($params{query}); } else { $logthat = "$params{class} class WMI objects"; $logger->debug2("Looking for $logthat") if $logger; $Instances = $WMIService->InstancesOf($params{class}); } return unless $Instances; my @objects; foreach my $instance ( in $Instances ) { my $object; if (time >= $expiration) { $logger->info("Timeout reached on $logthat") if $logger; last; } # Handle Win32::OLE object method, see _getLoggedUsers() method in # FusionInventory::Agent::Task::Inventory::Win32::Users as example to # use or enhance this feature if ($params{method}) { my @invokes = ( $params{method} ); my %results = (); # Prepare Invoke params for known requested types foreach my $name (@{$params{params}}) { my ($type, $default) = @{$params{$name}} or next; my $variant; if ($type eq 'string') { Win32::OLE::Variant->use(qw/VT_BYREF VT_BSTR/); eval { $variant = VT_BYREF()|VT_BSTR(); }; } eval { $results{$name} = Win32::OLE::Variant::Variant($variant, $default); }; push @invokes, $results{$name}; } # Invoke the method saving the result so we can also bind it eval { $results{$params{method}} = $instance->Invoke(@invokes); }; # Bind results to object to return foreach my $name (keys(%{$params{binds}})) { next unless (defined($results{$name})); my $bind = $params{binds}->{$name}; eval { $object->{$bind} = $results{$name}->Get(); }; if (defined $object->{$bind} && !ref($object->{$bind})) { utf8::upgrade($object->{$bind}); } } } foreach my $property (@{$params{properties}}) { if (defined $instance->{$property} && !ref($instance->{$property})) { # string value $object->{$property} = $instance->{$property}; # despite CP_UTF8 usage, Win32::OLE downgrades string to native # encoding, if possible, ie all characters have code <= 0x00FF: # http://code.activestate.com/lists/perl-win32-users/Win32::OLE::CP_UTF8/ utf8::upgrade($object->{$property}); } elsif (defined $instance->{$property}) { # list value $object->{$property} = $instance->{$property}; } else { $object->{$property} = undef; } } push @objects, $object; } return @objects; } sub getRegistryValue { my (%params) = @_; if (!$params{path}) { $params{logger}->error( "No registry value path provided" ) if $params{logger}; return; } my ($root, $keyName, $valueName); if ($params{path} =~ m{^(HKEY_\w+.*)/([^/]+)/([^/]+)} ) { $root = $1; $keyName = $2; $valueName = $3; } else { $params{logger}->error( "Failed to parse '$params{path}'. Does it start with HKEY_?" ) if $params{logger}; return; } # Shortcut call in remote wmi case if (_remoteWmi()) { my $win32_ole_dependent_api = { funct => '_getRegistryValueFromWMI', args => [ key => "$root/$keyName", value => $valueName ] }; return _call_win32_ole_dependent_api($win32_ole_dependent_api); } # Handle differently paths including /**/ pattern if ($root =~ m/\/\*\*(?:\/.*|)$/ || $keyName eq '**') { return _getRegistryDynamic( logger => $params{logger}, path => "$root/$keyName", valueName => $valueName, withtype => $params{withtype} ); } my $key = _getRegistryKey( logger => $params{logger}, root => $root, keyName => $keyName ); return unless (defined($key)); if ($valueName eq '*') { my %ret; foreach (grep { m|^/| } keys %$key) { s{^/}{}; $ret{$_} = $params{withtype} ? [$key->GetValue($_)] : $key->{"/$_"} ; } return \%ret; } else { return $params{withtype} ? [$key->GetValue($valueName)] : $key->{"/$valueName"} ; } } sub _getRegistryValueFromWMI { my (%params) = @_; my $value = $params{value} or return; my $registry = _getWMIRegistry() or return; my ($hKey, $subKey) = $params{key} =~ m{^(HKEY_[^/]+)/(.+)$}; return unless $hKey && $subKey; # subkey path must be win32 conform $subKey =~ s|/|\\|g; Win32::OLE->use('in'); Win32API::Registry->require(); Win32::OLE::Variant->require(); Win32::OLE::Variant->use(qw/VT_BYREF VT_ARRAY VT_VARIANT/); # Using a hashref here is just a convenient way for debugging and keep # computed values between evals my $ret = { path => $subKey }; eval { # Get expected hKey valeur from registry constants $ret->{hKey} = Win32API::Registry::regConstant($hKey); # Uses registry enumeration to list values and their type my $type = VT_BYREF()|VT_ARRAY()|VT_VARIANT(); my $vars = Win32::OLE::Variant->new($type,[1,1]); my $types = Win32::OLE::Variant->new($type,[1,1]); $ret->{err} = $registry->EnumValues($ret->{hKey}, $subKey, $vars, $types); # Find expected value in the list and keep its type but skip when # no values are found to avoid crashing if ($vars->Dim()){ my @types = in( $types->Copy->Value() ); foreach my $var ( in( $vars->Copy->Value() ) ) { my $type = shift @types; next unless $var && $var eq $value; $ret->{value} = $var; $ret->{type} = $type; last; } } }; return unless $ret->{err} == 0 && $ret->{value}; return _getRegistryKeyValueFromWMI(%{$ret}); } sub getRegistryKey { my (%params) = @_; my $logger = $params{logger}; if (!$params{path}) { $logger->error("No registry key path provided") if $logger; return; } my ($root, $keyName); if ($params{path} =~ m{^(HKEY_\w+.*)/([^/]+)} ) { $root = $1; $keyName = $2; } else { $logger->error("Failed to parse '$params{path}'. Does it start with HKEY_?") if $logger; return; } # Shortcut call in remote wmi case if (_remoteWmi()) { my $win32_ole_dependent_api = { funct => '_getRegistryKeyFromWMI', args => [ path => $root, keyName => $keyName, wmiopts => $params{wmiopts} ] }; return _call_win32_ole_dependent_api($win32_ole_dependent_api); } return _getRegistryKey( logger => $logger, root => $root, keyName => $keyName ); } sub _getRegistryRoot { my (%params) = @_; ## no critic (ProhibitBitwise) my $rootKey = is64bit() ? $Registry->Open($params{root}, { Access=> KEY_READ | KEY_WOW64_64 } ) : $Registry->Open($params{root}, { Access=> KEY_READ } ) ; if (!$rootKey) { $params{logger}->error( "Can't open $params{root} key: $EXTENDED_OS_ERROR" ) if $params{logger}; return; } return $rootKey; } sub _getRegistryKey { my (%params) = @_; my $rootKey = _getRegistryRoot(%params) or return; my $key = $rootKey->Open($params{keyName}); return $key; } sub _getRegistryDynamic { my (%params) = @_; my %ret; my $valueName = $params{valueName}; my @rootparts = split(/\/+\*\*\/+/, $params{path}.'/', 2); my $first = shift(@rootparts); my $second = shift(@rootparts) || ''; $first .= '/'; $second = '/'.$second; $second =~ s|/*$||; my $rootSub = _getRegistryRoot( root => $first, logger => $params{logger} ); return unless defined($rootSub); foreach my $sub ($rootSub->SubKeyNames) { if ($second =~ m/\/+\*\*(?:\/.*|)/) { my $subret = _getRegistryDynamic( logger => $params{logger}, path => $first.$sub.$second, valueName => $valueName, withtype => $params{withtype} ); next unless defined($subret); my ($subkey) = $second =~ /^([^*]+)\*\*(?:\/.*|)$/; foreach my $subretkey (keys %$subret) { $ret{$sub.$subkey.$subretkey} = $subret->{$subretkey}; } } else { my $key = _getRegistryRoot( root => $first.$sub.$second, logger => $params{logger} ); next unless defined($key); if ($valueName eq '*') { foreach (grep { m|^/| } keys %$key) { s{^/}{}; $ret{$sub.$second."/".$_} = $params{withtype} ? [$key->GetValue($_)] : $key->{"/$_"} ; } } elsif (exists($key->{"/$valueName"})) { $ret{$sub.$second."/".$valueName} = $params{withtype} ? [$key->GetValue($valueName)] : $key->{"/$valueName"} ; } } } return \%ret; } sub _getRegistryKeyFromWMI{ my (%params) = @_; my $keyName = defined $params{keyName} ? $params{keyName} : ''; my $registry = _getWMIRegistry() or return; my ($hKey, $subKey) = $params{path} =~ m{^(HKEY_[^/]+)/?(.*)$}; $subKey = "" unless defined $subKey; $subKey .= "/" .$keyName if length $keyName; return unless $hKey; my %wmiopts = $params{wmiopts} ? %{$params{wmiopts}} : (); # subkey path must be win32 conform $subKey =~ s|/|\\|g if $subKey; Win32::OLE->use('in'); Win32API::Registry->require(); Win32::OLE::Variant->require(); Win32::OLE::Variant->use(qw/VT_BYREF VT_ARRAY VT_VARIANT/); # Using a hashref here is just a convenient way for debugging and keep # computed values between evals my $ret = { path => $subKey, result => {} }; eval { # Get expected hKey value from registry constants $ret->{hKey} = Win32API::Registry::regConstant($hKey); }; return unless $ret->{hKey}; # We will try to get all the registry tree by default if (!exists($wmiopts{subkeys}) || $wmiopts{subkeys}) { eval { # Uses registry enumeration to list values and their type my $type = VT_BYREF()|VT_ARRAY()|VT_VARIANT(); my $subs = Win32::OLE::Variant->new($type,[1,1]); $ret->{err} = $registry->EnumKey($ret->{hKey}, $ret->{path}, $subs); # Find expected key in the list if some found $ret->{keys} = [ in( $subs->Copy->Value() ) ] if ($ret->{err} == 0 && $subs->Dim()); }; return unless $ret->{err} == 0; } eval { # Uses registry enumeration to list values and their type my $type = VT_BYREF()|VT_ARRAY()|VT_VARIANT(); my $vars = Win32::OLE::Variant->new($type,[1,1]); my $types = Win32::OLE::Variant->new($type,[1,1]); $ret->{err} = $registry->EnumValues($ret->{hKey}, $ret->{path}, $vars, $types); # Find expected value in the list and keep its type but skip when # no values are found to avoid crashing if ($vars->Dim()) { my @types = in( $types->Copy->Value() ); foreach my $value ( in( $vars->Copy->Value() ) ) { my $type = shift @types; next unless $value && $type; next if ($wmiopts{values} && ! first { $_ eq $value } @{$wmiopts{values}}); $ret->{result}{"/$value"} = _getRegistryKeyValueFromWMI( hKey => $ret->{hKey}, path => $ret->{path}, value => $value, type => $type ); } } # Populate leafs with recurse calling foreach my $subkey (@{$ret->{keys}}) { $ret->{result}{"$subkey/"} = _getRegistryKeyFromWMI( path => $params{path}."/".$keyName, wmiopts => \%wmiopts, keyName => $subkey ); } }; return $ret->{result}; } sub _getRegistryKeyValueFromWMI { my (%params) = @_; my $registry = _getWMIRegistry() or return; Win32API::Registry->require(); Win32API::Registry->use(qw/REG_SZ REG_EXPAND_SZ REG_BINARY REG_DWORD REG_MULTI_SZ/); Win32::OLE::Variant->require(); Win32::OLE::Variant->use(qw/VT_BYREF VT_BSTR VT_I4 VT_ARRAY VT_VARIANT/); my $err = 0; my $value; eval { # Retrieve the value for supported types if ($params{type} == REG_SZ()) { # REG_SZ my $type = VT_BYREF()|VT_BSTR(); my $var = Win32::OLE::Variant->new($type); $err = $registry->GetStringValue($params{hKey}, $params{path}, $params{value}, $var); $value = $var->Copy->Value(); } elsif ($params{type} == REG_EXPAND_SZ()) { # REG_EXPAND_SZ my $type = VT_BYREF()|VT_BSTR(); my $var = Win32::OLE::Variant->new($type); $err = $registry->GetExpandedStringValue($params{hKey}, $params{path}, $params{value}, $var); $value = $var->Copy->Value(); } elsif ($params{type} == REG_BINARY()) { # REG_BINARY my $type = VT_BYREF()|VT_ARRAY()|VT_VARIANT(); my $var = Win32::OLE::Variant->new($type,[1,1]); $err = $registry->GetBinaryValue($params{hKey}, $params{path}, $params{value}, $var); $value = join('', map { chr } @{$var->Copy->Value()}); } elsif ($params{type} == REG_DWORD()) { # REG_DWORD my $type = VT_BYREF()|VT_I4(); my $var = Win32::OLE::Variant->new($type,0); $err = $registry->GetDWORDValue($params{hKey}, $params{path}, $params{value}, $var); $value = $var->Copy->Value(); } elsif ($params{type} == REG_MULTI_SZ()) { # REG_MULTI_SZ my $type = VT_BYREF()|VT_ARRAY()|VT_VARIANT(); my $var = Win32::OLE::Variant->new($type,[1,1]); $err = $registry->GetMultiStringValue($params{hKey}, $params{path}, $params{value}, $var); $value = $var->Dim() ? $var->Copy->Value() : []; } }; return unless $err == 0; return $value; } sub runCommand { my (%params) = ( timeout => 3600 * 2, @_ ); my $job = Win32::Job->new(); my $buff = File::Temp->new(); my $winCwd = Cwd::getcwd(); $winCwd =~ s{/}{\\}g; my $provider = lc($FusionInventory::Agent::Version::PROVIDER); my $template = $ENV{TEMP}."\\".$provider."XXXXXXXXXXX"; my ($fh, $filename) = File::Temp::tempfile( $template, SUFFIX => '.bat'); print $fh "cd \"".$winCwd."\"\r\n"; print $fh $params{command}."\r\n"; print $fh "exit %ERRORLEVEL%\r\n"; close $fh; my $args = { stdout => $buff, stderr => $buff, no_window => 1 }; $job->spawn( "$ENV{SYSTEMROOT}\\system32\\cmd.exe", "start /wait cmd /c $filename", $args ); $job->run($params{timeout}); unlink($filename); $buff->seek(0, SEEK_SET); my $exitcode; my ($status) = $job->status(); foreach my $pid (%$status) { $exitcode = $status->{$pid}{exitcode}; last; } return ($exitcode, $buff); } sub getInterfaces { my (%params) = @_; my @configurations; foreach my $object (getWMIObjects( class => 'Win32_NetworkAdapterConfiguration', properties => [ qw/ Index InterfaceIndex Description IPEnabled DHCPServer MACAddress MTU DefaultIPGateway DNSServerSearchOrder IPAddress IPSubnet DNSDomain / ] )) { my $configuration = { DESCRIPTION => $object->{Description}, STATUS => $object->{IPEnabled} ? "Up" : "Down", IPDHCP => $object->{DHCPServer}, MACADDR => $object->{MACAddress}, MTU => $object->{MTU}, DNSDomain => $object->{DNSDomain} }; if ($object->{DefaultIPGateway}) { $configuration->{IPGATEWAY} = $object->{DefaultIPGateway}->[0]; } if ($object->{DNSServerSearchOrder}) { $configuration->{dns} = $object->{DNSServerSearchOrder}->[0]; } if ($object->{IPAddress}) { foreach my $address (@{$object->{IPAddress}}) { my $prefix = shift @{$object->{IPSubnet}}; push @{$configuration->{addresses}}, [ $address, $prefix ]; } } # XP compatibility my $indexKey = defined($object->{InterfaceIndex}) ? 'InterfaceIndex' : 'Index'; $configurations[$object->{$indexKey}] = $configuration; } # For Win8 or Above my @networkAdapter = getWMIObjects( moniker => 'winmgmts://./root/StandardCimv2', class => 'MSFT_NetAdapter', properties => [ qw/InterfaceIndex PnPDeviceID Speed HardwareInterface InterfaceGuid InterfaceDescription/ ] ); if (!@networkAdapter) { # Legacy for Win<8 @networkAdapter = getWMIObjects( class => 'Win32_NetworkAdapter', properties => [ qw/Index InterfaceIndex PNPDeviceID Speed PhysicalAdapter GUID/ ] ); } my @interfaces; foreach my $wmiNetAdapter (@networkAdapter) { my $netAdapter = FusionInventory::Agent::Tools::Win32::NetAdapter->new( WMI => $wmiNetAdapter, configurations => \@configurations ) or next; push @interfaces, $netAdapter->getInterfaces(); } return @interfaces; } sub FileTimeToSystemTime { # Inspired by Win32::FileTime module my $time = shift; return unless defined($time); my $SystemTime = pack( 'SSSSSSSS', 0, 0, 0, 0, 0, 0, 0, 0 ); # Load Win32::API as late as possible Win32::API->require() or return; my @times; eval { my $FileTimeToSystemTime = Win32::API->new( 'kernel32', 'FileTimeToSystemTime', [ 'P', 'P' ], 'I' ); $FileTimeToSystemTime->Call( $time, $SystemTime ); @times = unpack( 'SSSSSSSS', $SystemTime ); }; return @times; } sub getAgentMemorySize { # Load Win32::API as late as possible Win32::API->require() or return; # Get current thread handle my $thread; eval { my $apiGetCurrentThread = Win32::API->new( 'kernel32', 'GetCurrentThread', [], 'I' ); $thread = $apiGetCurrentThread->Call(); }; return -1 unless (defined($thread)); # Get system ProcessId for current thread my $thread_pid; eval { my $apiGetProcessIdOfThread = Win32::API->new( 'kernel32', 'GetProcessIdOfThread', [ 'I' ], 'I' ); $thread_pid = $apiGetProcessIdOfThread->Call($thread); }; return -1 unless (defined($thread_pid)); # Get Process Handle my $ph; eval { my $apiOpenProcess = Win32::API->new( 'kernel32', 'OpenProcess', [ 'I', 'I', 'I' ], 'I' ); $ph = $apiOpenProcess->Call(0x400, 0, $thread_pid); }; return -1 unless (defined($ph)); my ($size, $pages) = ( -1, 0 ); eval { # memory usage is bundled up in ProcessMemoryCounters structure # populated by GetProcessMemoryInfo() win32 call Win32::API::Struct->typedef('PROCESS_MEMORY_COUNTERS', qw( DWORD cb; DWORD PageFaultCount; SIZE_T PeakWorkingSetSize; SIZE_T WorkingSetSize; SIZE_T QuotaPeakPagedPoolUsage; SIZE_T QuotaPagedPoolUsage; SIZE_T QuotaPeakNonPagedPoolUsage; SIZE_T QuotaNonPagedPoolUsage; SIZE_T PagefileUsage; SIZE_T PeakPagefileUsage; )); # initialize PROCESS_MEMORY_COUNTERS structure my $mem_counters = Win32::API::Struct->new( 'PROCESS_MEMORY_COUNTERS' ); foreach my $key (qw/cb PageFaultCount PeakWorkingSetSize WorkingSetSize QuotaPeakPagedPoolUsage QuotaPagedPoolUsage QuotaPeakNonPagedPoolUsage QuotaNonPagedPoolUsage PagefileUsage PeakPagefileUsage/) { $mem_counters->{$key} = 0; } my $cb = $mem_counters->sizeof(); # Request GetProcessMemoryInfo API and call it to find current process memory my $apiGetProcessMemoryInfo = Win32::API->new( 'psapi', 'BOOL GetProcessMemoryInfo( HANDLE hProc, LPPROCESS_MEMORY_COUNTERS ppsmemCounters, DWORD cb )' ); if ($apiGetProcessMemoryInfo->Call($ph, $mem_counters, $cb)) { # Uses WorkingSetSize and PagefileUsage $size = $mem_counters->{WorkingSetSize}; $pages = $mem_counters->{PagefileUsage}; } }; # Don't forget to close Process Handle eval { my $apiCloseHandle = Win32::API->new( 'kernel32', 'CloseHandle', 'I', 'I' ); $ph = $apiCloseHandle->Call($ph); }; return $size, $pages; } sub FreeAgentMem { # Load Win32::API as late as possible Win32::API->require() or return; eval { # Get current process handle my $apiGetCurrentProcess = Win32::API->new( 'kernel32', 'HANDLE GetCurrentProcess()' ); my $proc = $apiGetCurrentProcess->Call(); # Call SetProcessWorkingSetSize with magic parameters for freeing our memory my $apiSetProcessWorkingSetSize = Win32::API->new( 'kernel32', 'SetProcessWorkingSetSize', [ 'I', 'I', 'I' ], 'I' ); $apiSetProcessWorkingSetSize->Call( $proc, -1, -1 ); }; } my $worker ; my $worker_semaphore; my $worker_lasterror = []; my $wmiService; my $wmiLocator; my $wmiRegistry; my $wmiParams = {}; my @win32_ole_calls : shared; sub start_Win32_OLE_Worker { unless (defined($worker)) { # Handle thread KILL signal $SIG{KILL} = sub { threads->exit(); }; # Request a semaphore on which worker blocks immediatly Thread::Semaphore->require(); $worker_semaphore = Thread::Semaphore->new(0); # Start a worker thread $worker = threads->create( \&_win32_ole_worker ); } return $worker; } sub setupWorkerLogger { my (%params) = @_; # Just create a new Logger object in worker to update default module configuration return defined(FusionInventory::Agent::Logger->new(%params)) unless (defined($worker)); return _call_win32_ole_dependent_api({ funct => 'setupWorkerLogger', args => [ %params ] }); } sub getLastError { return @{$worker_lasterror} unless (defined($worker)); return _call_win32_ole_dependent_api({ funct => 'getLastError', array => 1, args => [] }); } my %known_ole_errors = ( scalar(0x80041003) => "Access denied as the current or specified user name and password were not valid or authorized to make the connection.", scalar(0x8004100E) => "Invalid namespace", scalar(0x80041064) => "User credentials cannot be used for local connections", scalar(0x80070005) => "Access denied", scalar(0x800706BA) => "The RPC server is unavailable", ); sub _keepOleLastError { my $lasterror = Win32::OLE->LastError(); if ($lasterror) { my $error = 0x80000000 | ($lasterror & 0x7fffffff); # Don't report not accurate and not failure error if ($error != 0x80004005) { $worker_lasterror = [ $error, $known_ole_errors{$error} ]; my $logger = FusionInventory::Agent::Logger->new(); $logger->debug("Win32::OLE ERROR: ".($known_ole_errors{$error}||$lasterror)); } } else { $worker_lasterror = []; } } sub _win32_ole_worker { # Load Win32::OLE as late as possible in a dedicated worker Win32::OLE->require() or return; # We re-initialize Win32::OLE to later support Events (needed for remote WMI) Win32::OLE->Uninitialize(); Win32::OLE->Initialize(Win32::OLE::COINIT_OLEINITIALIZE()); Win32::OLE::Variant->require() or return; Win32::OLE->Option(CP => Win32::OLE::CP_UTF8()); while (1) { # Always block until semaphore is made available by main thread $worker_semaphore->down(); my ($call, $result); { lock(@win32_ole_calls); $call = shift @win32_ole_calls if (@win32_ole_calls); } if (defined($call)) { lock($call); # Handle call expiration setExpirationTime(%$call); # Found requested private function and call it as expected my $funct; eval { no strict 'refs'; ## no critic (ProhibitNoStrict) $funct = \&{$call->{'funct'}}; }; if (exists($call->{'array'}) && $call->{'array'}) { my @results = &{$funct}(@{$call->{'args'}}); $result = \@results; } else { $result = &{$funct}(@{$call->{'args'}}); } # Keep Win32::OLE error for later reporting _keepOleLastError() unless $funct == \&getLastError; # Share back the result $call->{'result'} = shared_clone($result); # Reset expiration setExpirationTime(); # Signal main thread result is available cond_signal($call); } } } sub _call_win32_ole_dependent_api { my ($call) = @_ or return; # Reset timeout as shared between threads my $now = time; my $expiration = getExpirationTime() || $now + 180; # Reduce expiration time by 10% of the remaining time to leave a chance to # the caller to compute any result. By default, the reducing should be 2 seconds. $expiration -= int(($expiration - $now) * 0.01) + 1; # Be sure expiration is kept in the future by 10 seconds $expiration = $now + 10 unless $expiration > $now; $call->{expiration} = $expiration; if (defined($worker)) { # Share the expect call my $call = shared_clone($call); my $result; if (defined($call)) { # Be sure the worker block $worker_semaphore->down_nb(); # Lock list calls before releasing semaphore so worker waits # on it until we start cond_timedwait for signal on $call lock(@win32_ole_calls); push @win32_ole_calls, $call; # Release semaphore so the worker can continue its job $worker_semaphore->up(); # Now, wait for worker result, leaving a 1 second grace delay to # give worker a chance to handle the timeout by itself $expiration ++ ; while (!exists($call->{'result'})) { last if (!cond_timedwait($call, $expiration, @win32_ole_calls)); } # Be sure to always block worker on semaphore from now $worker_semaphore->down_nb(); if (exists($call->{'result'})) { $result = $call->{'result'}; } elsif (time < $expiration) { # Worker is failing: get back to mono-thread and pray $worker->detach() if (defined($worker) && !$worker->is_detached()); $worker = undef; return _call_win32_ole_dependent_api(@_); } } return (exists($call->{'array'}) && $call->{'array'}) ? @{$result || []} : $result ; } else { # Load Win32::OLE as late as possible Win32::OLE->require() or return; Win32::OLE::Variant->require() or return; Win32::OLE->Option(CP => Win32::OLE::CP_UTF8()); # Handle call expiration setExpirationTime(%$call); # We come here from worker or if we failed to start worker my $funct; eval { no strict 'refs'; ## no critic (ProhibitNoStrict) $funct = \&{$call->{'funct'}}; }; if (exists($call->{'array'}) && $call->{'array'}) { my @results = &{$funct}(@{$call->{'args'}}); # Keep Win32::OLE error for later reporting _keepOleLastError() unless $funct == \&getLastError; # Reset expiration setExpirationTime(); return @results; } else { my $result = &{$funct}(@{$call->{'args'}}); # Keep Win32::OLE error for later reporting _keepOleLastError() unless $funct == \&getLastError; # Reset expiration setExpirationTime(); return $result; } } } sub _remoteWmi { return $wmiParams->{host} ? 1 : 0; } sub remoteIs64bits { return $wmiParams->{is64bits} if $wmiParams->{is64bits}; # Retrieve and save is64bit result return $wmiParams->{is64bits} = any { $_->{AddressWidth} eq 64 } getWMIObjects( class => 'Win32_Processor', properties => [ qw/AddressWidth/ ] ); } sub _connectToService { my (%params) = @_; # Be sure to reset known access params in threaded version so # getWMIService won't reset when called from right thread foreach my $param (qw( host user pass root)) { $wmiParams->{$param} = $params{$param}; } Win32::OLE->require() or return; $wmiLocator = Win32::OLE->CreateObject('WbemScripting.SWbemLocator') or return; # Always use en-US (MS_409) locale to avoid localized response $wmiService = $wmiLocator->ConnectServer( $params{host}, $params{root}, $params{user}, $params{pass}, 'MS_409' ); return defined $wmiService; } sub _getWMIRegistry { my (%params) = @_; unless ($wmiRegistry) { my $WMIService = getWMIService(root => 'root\\default') or return; # If missing on a computer, go in C:\Windows\System32\wbem and run "mofcomp regevent.mof" $wmiRegistry = $WMIService->Get("StdRegProv"); } return $wmiRegistry; } sub getWMIService { my (%params) = @_; my $host = $params{host} || $wmiParams->{host} || '127.0.0.1'; my $user = $params{user} || $wmiParams->{user} || ''; my $pass = $params{pass} || $wmiParams->{pass} || ''; my $root = $params{root} || $wmiParams->{root} || 'root\\cimv2'; # Reset root if found in moniker params if ($params{moniker}) { $params{moniker} =~ s{/}{\\}g; if ($params{moniker} =~ /\\root\\(.*)$/i) { $root = "root\\" . lc($1); } } # check if the connection is right otherwise reset it if (!$wmiService || $wmiParams && ( $wmiParams->{host} ne $host || $wmiParams->{user} ne $user || $wmiParams->{pass} ne $pass || $wmiParams->{root} ne $root)) { $wmiParams = { host => $host, user => $user, pass => $pass, root => $root }; my $win32_ole_dependent_api = { funct => '_connectToService', args => [ %{$wmiParams} ] }; my @connected = _call_win32_ole_dependent_api($win32_ole_dependent_api); # Only set $wmiService as connected status in main thread if worker is active # If no worker is active, $wmiService still decides if connected as it is # set directly in _connectToService() $wmiService = shift @connected if (defined($worker) && @connected); } return $wmiService; } sub getFormatedWMIDateTime { my ($datetime) = @_; return unless $datetime && $datetime =~ /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})\.\d{6}.(\d{3})$/; # Timezone in $7 is ignored return getFormatedDate($1, $2, $3, $4, $5, $6); } END { # Just detach worker $worker->detach() if (defined($worker) && !$worker->is_detached()); } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Win32 - Windows generic functions =head1 DESCRIPTION This module provides some Windows-specific generic functions. =head1 FUNCTIONS =head2 is64bit() Returns true if the OS is 64bit or false. =head2 getLocalCodepage() Returns the local codepage. =head2 getWMIObjects(%params) Returns the list of objects from given WMI class or from a query, with given properties, properly encoded. =over =item moniker a WMI moniker (default: winmgmts:{impersonationLevel=impersonate,(security)}!//./) =item altmoniker another WMI moniker to use if first failed (none by default) =item class a WMI class, not used if query parameter is also given =item properties a list of WMI properties =item query a WMI request to execute, if specified, class parameter is not used =item method an object method to call, in that case, you will also need the following parameters: =item params a list ref to the parameters to use fro the method. This list contains string as key to other parameters defining the call. The key names should not match any exiting parameter definition. Each parameter definition must be a list of the type and default value. =item binds a hash ref to the properties to bind to the returned object =back =head2 encodeFromRegistry($string) Ensure given registry content is properly encoded to utf-8. =head2 getRegistryValue(%params) Returns a value from the registry. =over =item path a string in hive/key/value format E.g: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/ProductName =item logger =back =head2 getRegistryKey(%params) Returns a key from the registry. If key name is '*', all the keys of the path are returned as a hash reference. =over =item path a string in hive/key format E.g: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion =item logger =back =head2 runCommand(%params) Returns a command in a Win32 Process =over =item command the command to run =item timeout a time in second, default is 3600*2 =back Return an array =over =item exitcode the error code, 293 means a timeout occurred =item fd a file descriptor on the output =back =head2 getInterfaces() Returns the list of network interfaces. =head2 FileTimeToSystemTime() Returns an array of a converted FILETIME datetime value with following order: ( year, month, wday, day, hour, minute, second, msecond ) =head2 start_Win32_OLE_Worker() Under win32, just start a worker thread handling Win32::OLE dependent APIs like is64bit() & getWMIObjects(). This is sometime needed to avoid perl crashes. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Hardware/0000755000175000017500000000000013757703277025610 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Hardware/Qlogic.pm0000644000175000017500000000620713712210012027334 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Hardware::Qlogic; use strict; use warnings; use FusionInventory::Agent::Tools::SNMP qw/getCanonicalMacAddress getCanonicalSerialNumber/; sub run { my (%params) = @_; my $snmp = $params{snmp}; my $device = $params{device}; my $ports = $device->{PORTS}->{PORT}; my $serial = getSerial(snmp => $snmp); $device->{INFO}->{SERIAL} = $serial if $serial; my $fc_ports = getFcPorts( snmp => $snmp, ); return unless $fc_ports; my $connected_wwns = getConnectedWWNs( snmp => $snmp, ); my $port_status = getFcPortStatus( snmp => $snmp, ); foreach my $idx (keys %$fc_ports) { # Generate ifNumber for FC ports to avoid confusion with # ethernet ports numbers my $port_id = sprintf("10%02d00", $idx); $ports->{$port_id} = { IFNUMBER => $port_id, IFTYPE => 56, # fibreChannel IFNAME => "FC port $idx", MAC => $fc_ports->{$idx}, IFSTATUS => $port_status->{$idx}, }; if (defined $connected_wwns->{$idx}) { $ports->{$port_id}->{CONNECTIONS}->{CONNECTION}->{MAC} = [ $connected_wwns->{$idx} ]; } } } sub getFcPorts { my (%params) = @_; my $snmp = $params{snmp}; my %fcPort; my $fcFxPortName = $snmp->walk(".1.3.6.1.2.1.75.1.1.5.1.2.1"); #FIBRE-CHANNEL-FE-MIB::fcFxPortName.1.1 = Hex-STRING: 20 00 00 C0 DD 0C C5 27 #FIBRE-CHANNEL-FE-MIB::fcFxPortName.1.2 = Hex-STRING: 20 01 00 C0 DD 0C C5 27 while (my ($idx, $wwn) = each %$fcFxPortName) { $wwn = getCanonicalMacAddress($wwn); next unless $wwn; $fcPort{$idx} = $wwn; } return \%fcPort; } sub getFcPortStatus { my (%params) = @_; my $snmp = $params{snmp}; my $fcFxPortPhysOperStatus = $snmp->walk(".1.3.6.1.2.1.75.1.2.2.1.2.1"); return $fcFxPortPhysOperStatus; } sub getConnectedWWNs { my (%params) = @_; my $snmp = $params{snmp}; my $results; my $fcFxPortNxPortName = $snmp->walk(".1.3.6.1.2.1.75.1.2.3.1.10.1"); # .1.3.6.1.2.1.75.1.2.3.1.10.1.1.1 = Hex-STRING: 21 00 00 24 FF 57 5D 9C # .1.3.6.1.2.1.75.1.2.3.1.10.1.2.1 = Hex-STRING: 21 00 00 24 FF 57 5F 18 while (my ($suffix, $wwn) = each %$fcFxPortNxPortName) { $wwn = getCanonicalMacAddress($wwn); next unless $wwn; my $idx = FusionInventory::Agent::Tools::Hardware::_getElement($suffix, 0); next unless $idx; push @{$results->{$idx}}, $wwn; } return $results; } sub getSerial { my (%params) = @_; my $snmp = $params{snmp}; my $walk = $snmp->walk(".1.3.6.1.3.94.1.6.1.8.16.0.0.192.221.12"); if ($walk) { while (my ($suffix, $serial) = each %$walk) { return getCanonicalSerialNumber($serial) if $serial; } } } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Hardware::Qlogic - Inventory module for Qlogic fibre channel switches =head1 DESCRIPTION Inventories fibre-channel ports. Qlogic switches are stackable but whichever switch you get SNMP data from it is always stack member #1. So just get the data for the 1st member and don't worry about the others. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Hardware/Brocade.pm0000644000175000017500000000373013712210012027453 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Hardware::Brocade; use strict; use warnings; use FusionInventory::Agent::Tools::SNMP qw/getCanonicalMacAddress/; sub run { my (%params) = @_; my $snmp = $params{snmp}; my $device = $params{device}; my $logger = $params{logger}; my $ports = $device->{PORTS}->{PORT}; my $wwns = getConnectedWWNs( snmp => $snmp, ); return unless $wwns; my $fc_ports = getFcPorts($ports); return unless $fc_ports; foreach my $idx (keys %$wwns) { if (!$ports->{$fc_ports->{$idx}}) { $logger->error("non-existing FC port $idx") if $logger; last; } my $port = $ports->{$fc_ports->{$idx}}; push @{$port->{CONNECTIONS}->{CONNECTION}->{MAC}}, $wwns->{$idx}; } } sub getFcPorts { my ($ports) = @_; my %fcPort; # map each IFMIB port to FIBRE-CHANNEL-FE-MIB port my $i = 1; # fc ports count from 1 foreach my $idx (sort keys %$ports) { if ($ports->{$idx}->{IFTYPE} == 56) { # fibreChannel $fcPort{$i} = $idx; $i++; } } return \%fcPort; } sub getConnectedWWNs { my (%params) = @_; my $snmp = $params{snmp}; my $results; my $fcFxPortNxPortName = $snmp->walk(".1.3.6.1.2.1.75.1.2.3.1.10"); # .1.3.6.1.2.1.75.1.2.3.1.10.1.1.1 = Hex-STRING: 21 00 00 24 FF 57 5D 9C # .1.3.6.1.2.1.75.1.2.3.1.10.1.2.1 = Hex-STRING: 21 00 00 24 FF 57 5F 18 # ^--- $idx while (my ($suffix, $wwn) = each %$fcFxPortNxPortName) { $wwn = getCanonicalMacAddress($wwn); next unless $wwn; my $idx = FusionInventory::Agent::Tools::Hardware::_getElement($suffix, 1); next unless $idx; push @{$results->{$idx}}, $wwn; } return $results; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Hardware::Brocade - Inventory module for Brocade fibre channel switches =head1 DESCRIPTION Inventories fibre-channel ports. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Solaris.pm0000644000175000017500000002673513712210012026005 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Solaris; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use Memoize; our @EXPORT = qw( getZone getPrtconfInfos getPrtdiagInfos getReleaseInfo ); memoize('getZone'); memoize('getPrtdiagInfos'); memoize('getReleaseInfo'); sub getZone { return canRun('zonename') ? getFirstLine(command => 'zonename') : # actual zone name 'global'; # outside zone name } sub getPrtconfInfos { my (%params) = ( command => '/usr/sbin/prtconf -vp', @_ ); my $handle = getFileHandle(%params); return unless $handle; my $info = {}; # a stack of nodes, as a list of couples [ node, level ] my @parents = ( [ $info, -1 ] ); while (my $line = <$handle>) { chomp $line; # new node if ($line =~ /^(\s*)Node \s 0x[a-f\d]+/x) { my $level = defined $1 ? length($1) : 0; my $parent_level = $parents[-1]->[1]; # compare level with parent if ($level > $parent_level) { # down the tree: no change } elsif ($level < $parent_level) { # up the tree: unstack nodes until a suitable parent is found while ($level <= $parents[-1]->[1]) { pop @parents; } } else { # same level: unstack last node pop @parents; } # push a new node on the stack push (@parents, [ {}, $level ]); next; } if ($line =~ /^\s* name: \s+ '(\S.*)'$/x) { my $node = $parents[-1]->[0]; my $parent = $parents[-2]->[0]; $parent->{$1} = $node; next; } # value if ($line =~ /^\s* (\S[^:]+): \s+ (\S.*)$/x) { my $key = $1; my $raw_value = $2; my $node = $parents[-1]->[0]; if ($raw_value =~ /^'[^']+'(?: \+ '[^']+')+$/) { # list of string values $node->{$key} = [ map { /^'([^']+)'$/; $1 } split (/ \+ /, $raw_value) ]; } elsif ($raw_value =~ /^'([^']+)'$/) { # single string value $node->{$key} = $1; } else { # other kind of value $node->{$key} = $raw_value; } next; } } close $handle; return $info; } sub getPrtdiagInfos { my (%params) = ( command => 'prtdiag', @_ ); my $handle = getFileHandle(%params); return unless $handle; my $info = {}; while (my $line = <$handle>) { next unless $line =~ /^=+ \s ([\w\s]+) \s =+$/x; my $section = $1; $info->{memories} = _parseMemorySection($section, $handle) if $section =~ /Memory/; $info->{slots} = _parseSlotsSection($section, $handle) if $section =~ /(IO|Slots)/; } close $handle; return $info; } sub _parseMemorySection { my ($section, $handle) = @_; my ($offset, $callback); SWITCH: { if ($section eq 'Physical Memory Configuration') { my $i = 0; $offset = 5; $callback = sub { my ($line) = @_; return unless $line =~ qr/ (\d+ \s [MG]B) \s+ \S+ $/x; return { TYPE => 'DIMM', NUMSLOTS => $i++, CAPACITY => getCanonicalSize($1, 1024) }; }; last SWITCH; } if ($section eq 'Memory Configuration') { # use next line to determine actual format my $next_line = <$handle>; # Skip next line if empty $next_line = <$handle> if ($next_line =~ /^\s*$/); if ($next_line =~ /^Segment Table/) { # multi-table format: reach bank table while ($next_line = <$handle>) { last if $next_line =~ /^Bank Table/; } # then parse using callback my $i = 0; $offset = 4; $callback = sub { my ($line) = @_; return unless $line =~ qr/ \d+ \s+ \S+ \s+ \S+ \s+ (\d+ [MG]B) /x; return { TYPE => 'DIMM', NUMSLOTS => $i++, CAPACITY => getCanonicalSize($1, 1024) }; }; } elsif ($next_line =~ /Memory\s+Available\s+Memory\s+DIMM\s+# of/) { # single-table format: start using callback directly my $i = 0; $offset = 2; $callback = sub { my ($line) = @_; return unless $line =~ qr/ \d+ [MG]B \s+ \S+ \s+ (\d+ [MG]B) \s+ (\d+) \s+ /x; return map { { TYPE => 'DIMM', NUMSLOTS => $i++, CAPACITY => getCanonicalSize($1, 1024) } } 1..$2; }; } else { # single-table format: start using callback directly my $i = 0; $offset = 3; $callback = sub { my ($line) = @_; return unless $line =~ qr/ (\d+ [MG]B) \s+ \S+ \s+ (\d+ [MG]B) \s+ \S+ \s+ /x; my $dimmsize = getCanonicalSize($2, 1024); my $logicalsize = getCanonicalSize($1, 1024); # Compute DIMM count from "Logical Bank Size" and "DIMM Size" my $dimmcount = ( $dimmsize && $dimmsize != $logicalsize ) ? int($logicalsize/$dimmsize) : 1 ; return map { { TYPE => 'DIMM', NUMSLOTS => $i++, CAPACITY => $dimmsize } } 1..$dimmcount; }; } last SWITCH; } if ($section eq 'Memory Device Sockets') { my $i = 0; $offset = 3; $callback = sub { my ($line) = @_; return unless $line =~ qr/^ (\w+) \s+ in \s use \s+ \d \s+ ([A-Za-z]+)\d* (?:\s \w+)* /x; return { DESCRIPTION => $2, NUMSLOTS => $i++, TYPE => $1 }; }; last SWITCH; } return; } return _parseAnySection($handle, $offset, $callback); } sub _parseSlotsSection { my ($section, $handle) = @_; my ($offset, $callback); SWITCH: { if ($section eq 'IO Devices') { $offset = 3; $callback = sub { my ($line) = @_; return unless $line =~ /^ (\S+) \s+ ([A-Z]+) \s+ (\S+) /x; return { NAME => $1, DESCRIPTION => $2, DESIGNATION => $3, }; }; last SWITCH; } if ($section eq 'IO Cards') { $offset = 7; $callback = sub { my ($line) = @_; return unless $line =~ /^ \S+ \s+ ([A-Z]+) \s+ \S+ \s+ \S+ \s+ (\d) \s+ \S+ \s+ \S+ \s+ \S+ \s+ \S+ \s+ (\S+) /x; return { NAME => $2, DESCRIPTION => $1, DESIGNATION => $3, }; }; last SWITCH; } if ($section eq 'Upgradeable Slots') { $offset = 3; # use a column-based strategy, as most values include spaces $callback = sub { my ($line) = @_; my $name = substr($line, 0, 1); my $status = substr($line, 4, 9); my $description = substr($line, 14, 16); my $designation = substr($line, 31, 28); $status =~ s/\s+$//; $description =~ s/\s+$//; $designation =~ s/\s+$//; $status = $status eq 'in use' ? 'used' : $status eq 'available' ? 'free' : undef; return { NAME => $name, STATUS => $status, DESCRIPTION => $description, DESIGNATION => $designation, }; }; last SWITCH; } return; }; return _parseAnySection($handle, $offset, $callback); } sub _parseAnySection { my ($handle, $offset, $callback) = @_; # skip headers foreach my $i (1 .. $offset) { <$handle>; } # parse content my @items; while (my $line = <$handle>) { last if $line =~ /^$/; chomp $line; my @item = $callback->($line); push @items, @item if @item; } return \@items; } sub getReleaseInfo { my (%params) = ( file => '/etc/release', @_ ); my $first_line = getFirstLine( file => $params{file}, logger => $params{logger}, ); my ($fullname) = $first_line =~ /^ \s+ (.+)/x; my ($version, $date, $id) = $fullname =~ /Solaris \s ([\d.]+) \s (?: (\d+\/\d+) \s)? (\S+)/x; my ($subversion) = $id =~ /_(u\d+)/; return { fullname => $fullname, version => $version, subversion => $subversion, date => $date, id => $id }; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Solaris - Solaris generic functions =head1 DESCRIPTION This module provides some generic functions for Solaris. =head1 FUNCTIONS =head2 getZone() Returns current zone name, or 'global' if there is no defined zone. =head2 getModel() Returns system model, as a string. =head2 getclass() Returns system class, as a symbolic constant. =head2 getPrtconfInfos(%params) Returns a structured view of prtconf output. Each information block is turned into a hashref, hierarchically organised. $info = { 'System Configuration' => 'Sun Microsystems sun4u', 'Memory size' => '32768 Megabytes', 'SUNW,Sun-Fire-V890' => { 'banner-name' => 'Sun Fire V890', 'model' => 'SUNW,501-7199', 'memory-controller' => { 'compatible' => [ 'SUNW,UltraSPARC-III,mc', 'SUNW,mc' ], } } } FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/MacOS.pm0000644000175000017500000003715213712210012025326 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::MacOS; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use Memoize; use POSIX 'strftime'; use Time::Local; use XML::TreePP; use UNIVERSAL::require; use Storable 'dclone'; use FusionInventory::Agent::Tools; our @EXPORT = qw( getSystemProfilerInfos getIODevices getBootTime ); memoize('getSystemProfilerInfos'); use constant { KEY_ELEMENT_NAME => 'key', VALUE_ELEMENT_NAME => 'string', DATE_ELEMENT_NAME => 'date', ARRAY_ELEMENT_NAME => 'array' }; my $xmlParser; sub _initXmlParser { my (%params) = @_; XML::XPath->require(); if ($EVAL_ERROR) { $params{logger}->debug( 'XML::XPath unavailable, unable launching _initXmlParser()' ) if $params{logger}; return 0; } if ($params{xmlString}) { $xmlParser = XML::XPath->new(xml => $params{xmlString}); } elsif ($params{file}) { $xmlParser = XML::XPath->new(filename => $params{file}); } # Don't validate XML against DTD, parsing may fail if a proxy is active $XML::XPath::ParseParamEnt = 0; return $xmlParser; } sub _getSystemProfilerInfosXML { my (%params) = @_; my $command = $params{type} ? "/usr/sbin/system_profiler -xml $params{type}" : "/usr/sbin/system_profiler -xml"; my $xmlStr = getAllLines(command => $command, %params); return unless $xmlStr; # As we don't want to use a module platform dependent, we use the XML::TreePP module # with an option to keep XML's elements order # my $xmlStr = join '', @xml; my $info = {}; if ($params{type} eq 'SPApplicationsDataType') { $info->{Applications} = _extractSoftwaresFromXml( %params, xmlString => $xmlStr ); } elsif ( $params{type} eq 'SPSerialATADataType' || $params{type} eq 'SPDiscBurningDataType' || $params{type} eq 'SPCardReaderDataType' || $params{type} eq 'SPUSBDataType' || $params{type} eq 'SPFireWireDataType' ) { $info->{storages} = _extractStoragesFromXml( %params, xmlString => $xmlStr ); } else { # not implemented for every data types } return $info; } sub _extractSoftwaresFromXml { my (%params) = @_; _initXmlParser(%params); return unless $xmlParser; my $softwaresHash = {}; my $xPathExpr = "/plist/array[1]/dict[1]/key[text()='_items']/following-sibling::array[1]/child::dict"; my $n = $xmlParser->findnodes($xPathExpr); my @nl = $n->get_nodelist(); for my $elem (@nl) { $softwaresHash = _mergeHashes($softwaresHash, _extractSoftwareDataFromXmlNode($elem, $params{logger}, $params{localTimeOffset})); } return $softwaresHash; } sub _extractSoftwareDataFromXmlNode { my ($xmlNode, $logger, $localTimeOffset) = @_; my $soft = _makeHashFromKeyValuesTextNodes($xmlNode); next unless $soft->{'_name'}; $soft = _applySpecialRulesOnApplicationData($soft); my $convertedDate = _convertDateFromApplicationDataXml($soft->{lastModified}, $localTimeOffset); if (defined $convertedDate) { $soft->{lastModified} = $convertedDate; } else { if (defined $logger) { $logger->error("can't parse retrieved dates in 'lastModified' field in XML file"); } } my $mappedHash = _mapApplicationDataKeys($soft); return $mappedHash; } sub _extractStoragesFromXml { my (%params) = @_; return unless $params{type}; _initXmlParser(%params); return unless $xmlParser; my $storagesHash = {}; my $xPathExpr; if ($params{type} eq 'SPSerialATADataType') { $xPathExpr = "/plist/array[1]/dict[1]/key[text()='_items']/following-sibling::array[1]/child::dict" . "/key[text()='_items']/following-sibling::array[1]/child::dict"; } elsif ($params{type} eq 'SPDiscBurningDataType' || $params{type} eq 'SPCardReaderDataType' || $params{type} eq 'SPUSBDataType') { $xPathExpr = "//key[text()='_items']/following-sibling::array[1]/child::dict"; } elsif ($params{type} eq 'SPFireWireDataType') { $xPathExpr = [ "//key[text()='_items']/following-sibling::array[1]" . "/child::dict[key[text()='_name' and following-sibling::string[1][not(contains(.,'bus'))]]]", "./key[text()='units']/following-sibling::array[1]/child::dict", "./key[text()='units']/following-sibling::array[1]/child::dict" ]; } if (ref($xPathExpr) eq 'ARRAY') { # next function call does not return anything # it directly appends data to the hashref $storagesHash _recursiveParsing({}, $storagesHash, undef, $xPathExpr); } else { my $n = $xmlParser->findnodes($xPathExpr); my @nl = $n->get_nodelist(); for my $elem (@nl) { my $storage = _makeHashFromKeyValuesTextNodes($elem); next unless $storage->{_name}; $storagesHash->{$storage->{_name}} = $storage; } } return $storagesHash; } # This function is used to parse ugly XML documents # It is used to aggregate data from a node and from its descendants sub _recursiveParsing { my ( # data extracted from ancestors $hashFields, # hashref to merge data in $hashElems, # XML context node $elemRoot, # XPath expressions list to be processed $xPathExpr ) = @_; # we use here dclone because each recursive call must have its own copy of these structure my $xPathExprClone = dclone $xPathExpr; # next XPath expression is eaten up my $expr = shift @$xPathExprClone; # XPath expression is processed at context $elemRoot my $n = $xmlParser->findnodes($expr, $elemRoot); my @nl = $n->get_nodelist(); if (scalar @nl > 0) { for my $elem (@nl) { # because of XML document specific format, we must do next call to create the hash # in order to have a key-value structure my $newHash = _makeHashFromKeyValuesTextNodes($elem); next unless $newHash->{_name}; # we use here dclone because each recursive call must have its own copy of these structure my $hashFieldsClone = dclone $hashFields; # hashes are merged, existing values are overwritten (that is expected behaviour) @$hashFieldsClone{keys %$newHash} = values %$newHash; my $extractedElementName = $hashFieldsClone->{_name}; # if other XPath expressions have to be processed if (scalar @$xPathExprClone) { # recursive call _recursiveParsing($hashFieldsClone, $hashElems, $elem, $xPathExprClone); } else { # no more XPath expression to process # it's time to merge data in main hashref $hashElems->{$extractedElementName} = { } unless $hashElems->{$extractedElementName}; @{$hashElems->{$extractedElementName}}{keys %$hashFieldsClone} = values %$hashFieldsClone; } } } else { # no more XML nodes found # it's time to merge data in main hashref if ($hashFields->{_name}) { my $extractedElementName = $hashFields->{_name}; $hashElems->{$extractedElementName} = { } unless $hashElems->{$extractedElementName}; @{$hashElems->{$extractedElementName}}{keys %$hashFields} = values %$hashFields; } } } sub _makeHashFromKeyValuesTextNodes { my ($node) = @_; next unless $xmlParser; my $hash; my $currentKey; my $n = $xmlParser->findnodes('*', $node); my @nl = $n->get_nodelist(); for my $elem (@nl) { if ($elem->getName() eq KEY_ELEMENT_NAME) { $currentKey = Encode::encode_utf8($elem->string_value()); } elsif ($currentKey && $elem->getName() ne ARRAY_ELEMENT_NAME) { $hash->{$currentKey} = Encode::encode_utf8($elem->string_value()); $currentKey = undef; } } return $hash; } sub cmpVersionNumbers { my ($str1, $str2) = @_; my @list1 = reverse split(/\./, $str1); my @list2 = reverse split(/\./, $str2); my $cmp = 0; my $int1; while ( $cmp == 0 && ($int1 = pop @list1) ) { $int1 = int($int1); my $int2 = pop @list2; if (defined $int2) { $int2 = int($int2); $cmp = $int1 <=> $int2; } else { $cmp = 1; } } # if $cmp is still 0 and list2 still contains values, # so $str2 is greater if ($cmp == 0 && (@list2) > 0) { $cmp = -1; } return $cmp; } sub _convertDateFromApplicationDataXml { my ($dateStrFromDataXml, $localtimeOffset) = @_; my $date; if ($dateStrFromDataXml =~ /^(\d{4})[^0-9](\d{2})[^0-9](\d{2})[^0-9](\d{2}):(\d{2}):(\d{2})[^0-9]$/) { $date = _convertDateToLocalDate($6, $5, $4, $3, $2 - 1, $1, $localtimeOffset); } return $date; } sub _convertDateToLocalDate { my ($sec,$min,$hour,$mday,$mon,$year, $localtimeOffset) = @_; my $epoch = timegm ($sec, $min, $hour, $mday, $mon, $year); my $newEpoch = $epoch + $localtimeOffset; return strftime("%d/%m/%Y", gmtime($newEpoch)); } sub detectLocalTimeOffset { my @gmTime = localtime; return -(timelocal(@gmTime) - timegm(@gmTime)); } sub _applySpecialRulesOnApplicationData { my ($hash) = @_; if (defined($hash->{has64BitIntelCode})) { $hash->{has64BitIntelCode} = ucfirst $hash->{has64BitIntelCode}; } if (defined($hash->{runtime_environment})) { if ($hash->{runtime_environment} eq 'arch_x86') { $hash->{runtime_environment} = 'Intel'; } $hash->{runtime_environment} = ucfirst $hash->{runtime_environment}; } return $hash; } sub _mergeHashes { my ($hash1, $hash2) = @_; for my $key (keys %$hash2) { my $newKey = $key; if (defined($hash1->{$key})) { my $i = 0; $newKey = $key . '_' . $i; while (defined($hash1->{$newKey})) { $newKey = $key . '_' . $i++; } } $hash1->{$newKey} = $hash2->{$key}; } return $hash1; } sub _mapApplicationDataKeys { my ($hash) = @_; my $mapping = { 'version' => 'Version', 'has64BitIntelCode' => '64-Bit (Intel)', 'lastModified' => 'Last Modified', 'path' => 'Location', 'runtime_environment' => 'Kind', 'info' => 'Get Info String' }; my %hashMapped = map { ($mapping->{$_} || 'unMapped') => $hash->{$_} } keys %$hash; delete $hashMapped{unMapped}; # to merge two hashes # @hash1{keys %hash2} = values %hash2 return { $hash->{'_name'} => \%hashMapped }; } sub getSystemProfilerInfos { my (%params) = @_; my $info; if ($params{format} && $params{format} eq 'xml') { $info = _getSystemProfilerInfosXML(%params); } else { $info = _getSystemProfilerInfosText(%params); } return $info; } sub _getSystemProfilerInfosText { my (%params) = @_; my $command = $params{type} ? "/usr/sbin/system_profiler $params{type}" : "/usr/sbin/system_profiler"; my $handle = getFileHandle(command => $command, %params); my $info = {}; my @parents = ( [ $info, -1 ] ); while (my $line = <$handle>) { chomp $line; next unless $line =~ /^(\s*)(\S[^:]*):(?: (.*\S))?/; my $level = defined $1 ? length($1) : 0; my $key = $2; my $value = $3; my $parent = $parents[-1]; my $parent_level = $parent->[1]; my $parent_node = $parent->[0]; if (defined $value) { # check indentation level against parent node if ($level <= $parent_level) { if (keys %$parent_node == 0) { # discard just created node, and fix its parent my $parent_key = $parent->[2]; $parents[-2]->[0]->{$parent_key} = undef; } # unstack nodes until a suitable parent is found while ($level <= $parents[-1]->[1]) { pop @parents; } $parent_node = $parents[-1]->[0]; } # add the value to the current node $parent_node->{$key} = $value; } else { # compare level with parent if ($level > $parent_level) { # down the tree: no change } elsif ($level < $parent_level) { # up the tree: unstack nodes until a suitable parent is found while ($level <= $parents[-1]->[1]) { pop @parents; } } else { # same level: unstack last node pop @parents; } # create a new node, and push it to the stack my $parent_node = $parents[-1]->[0]; my $i; my $keyL = $key; while (defined($parent_node->{$key})) { $key = $keyL . '_' . $i++; } $parent_node->{$key} = {}; push (@parents, [ $parent_node->{$key}, $level, $key ]); } } close $handle; return $info; } sub getIODevices { my (%params) = @_; # passing expected class to the command ensure only instance of this class # are present in the output, reducing the size of the content to be parsed, # but still requires some manual filtering to avoid subclasses instances my $command = $params{class} ? "ioreg -c $params{class}" : "ioreg -l"; my $filter = $params{class} || '[^,]+'; $command .= " $params{options}" if $params{options}; my $handle = getFileHandle(command => $command, %params); return unless $handle; my @devices; my $device; while (my $line = <$handle>) { if ($line =~ /?/ix) { # string or numeric property $device->{$1} = $2 || $3; next; } } close $handle; # Always include last device push @devices, $device if $device; return @devices; } sub getBootTime { my (%params) = @_; if (!$params{string} && !$params{command}) { $params{command} = 'sysctl -n kern.boottime'; } my $boottime = getFirstMatch( pattern => qr/(?: sec = (\d+)|(\d+)$)/, %params ); return $boottime; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::MacOS - MacOS generic functions =head1 DESCRIPTION This module provides some generic functions for MacOS. =head1 FUNCTIONS =head2 getSystemProfilerInfos(%params) Returns a structured view of system_profiler output. Each information block is turned into a hashref, hierarchically organised. $info = { 'Hardware' => { 'Hardware Overview' => { 'SMC Version (system)' => '1.21f4', 'Model Identifier' => 'iMac7,1', ... } } } =over =item logger a logger object =item command the exact command to use (default: /usr/sbin/system_profiler) =item file the file to use, as an alternative to the command =back =head2 getIODevices(%params) Returns a flat list of devices as a list of hashref, by parsing ioreg output. Relationships are not extracted. =over =item logger a logger object =item class the class of devices wanted =item file the file to use, as an alternative to the command =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Expiration.pm0000644000175000017500000000204213712210012026474 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Expiration; use strict; use warnings; use parent 'Exporter'; our @EXPORT = qw( setExpirationTime getExpirationTime ); my $_expirationTime; sub setExpirationTime { my (%params) = @_; if ($params{timeout}) { $_expirationTime = time + $params{timeout}; return 1; } elsif ($params{expiration}) { $_expirationTime = $params{expiration}; return 1; } else { undef $_expirationTime; return 0; } } sub getExpirationTime { return $_expirationTime || 0; } 1; __END__ =head1 NAME FusionInventory::Agent::Expiration - Expiration functions =head1 DESCRIPTION This module provides some time-out related functions. =head1 FUNCTIONS =head2 setExpiration(%params) Set current expiration time from now if a timeout param is found in provided hash or from expiration param and then return true, otherwise, undefine current expiration and return false. =head2 getExpiration() Get current expiration time, to be compared to time returned value. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/SNMP.pm0000644000175000017500000000742313712210012025137 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::SNMP; use strict; use warnings; use base 'Exporter'; use FusionInventory::Agent::Tools; our @EXPORT = qw( getCanonicalSerialNumber getCanonicalString getCanonicalMacAddress getCanonicalConstant getCanonicalMemory getCanonicalCount isInteger getRegexpOidMatch isStringHexadecimal ); sub getCanonicalSerialNumber { my ($value) = @_; $value = hex2char($value); return unless $value; $value =~ s/[[:^print:]]//g; $value =~ s/^\s+//; $value =~ s/\s+$//; $value =~ s/\.{2,}//g; return unless $value; return $value; } sub getCanonicalString { my ($value) = @_; $value = hex2char($value); return unless defined $value; # unquote string $value =~ s/^\\?["']//; $value =~ s/\\?["']$//; # Be sure to work on utf-8 string $value = getUtf8String($value); return unless defined $value; # reduce linefeeds which can be found in descriptions or comments $value =~ s/\p{Control}+\n/\n/g; # truncate after first invalid character but keep newline as valid $value =~ s/[^\p{Print}\n].*$//; # Finally cleanup EOL if some is remaining at the end chomp($value); return $value; } sub getCanonicalMacAddress { my ($value) = @_; return unless $value; my $result; my @bytes; # packed value, convert from binary to hexadecimal if ($value =~ m/\A [[:ascii:]] \Z/xms || length($value) == 6) { $value = unpack 'H*', $value; } # Check if it's a hex value if ($value =~ /^(?:0x)?([0-9A-F]+)$/i) { @bytes = unpack("(A2)*", $1); } else { @bytes = split(':', $value); # return if bytes are not hex return if grep(!/^[0-9A-F]{1,2}$/i, @bytes); } if (scalar(@bytes) == 6) { # it's a MAC } elsif (scalar(@bytes) == 8 && (($bytes[0] eq '10' && $bytes[1] =~ /^0+/) # WWN 10:00:... || $bytes[0] =~ /^2/)) { # WWN 2X:XX:... } elsif (scalar(@bytes) < 6) { # make a WWN. prepend "10" and zeroes as necessary while (scalar(@bytes) < 7) { unshift @bytes, '00' } unshift @bytes, '10'; } elsif (scalar(@bytes) > 6) { # make a MAC. take 6 bytes from the right @bytes = @bytes[-6 .. -1]; } $result = join ":", map { sprintf("%02x", hex($_)) } @bytes; return if $result eq '00:00:00:00:00:00'; return lc($result); } sub isInteger { my ($value) = @_; return $value =~ /^[+-]?\d+$/; } sub getCanonicalMemory { my ($value) = @_; # Don't try to analyse negative values return if $value =~ /^-/; if ($value =~ /^(\d+) (KBytes|kB)$/) { return int($1 / 1024); } else { return int($value / 1024 / 1024); } } sub getCanonicalCount { my ($value) = @_; return isInteger($value) ? $value : undef; } sub getCanonicalConstant { my ($value) = @_; return $value if isInteger($value); return $1 if $value =~ /\((\d+)\)$/; } sub getRegexpOidMatch { my ($match) = @_; return $match unless $match && $match =~ /^[0-9.]+$/; # Protect dots for regexp compilation $match =~ s/\./\\./g; return qr/^$match/; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::SNMP - SNMP Hardware-related functions =head1 DESCRIPTION This module provides some hardware-related functions for SNMP devices. =head1 FUNCTIONS =head2 getCanonicalSerialNumber($serial) return a clean serial number string. =head2 getCanonicalString($string) return a clean generic string. =head2 getCanonicalMacAddress($mac) return a clean mac string. =head2 getCanonicalConstant($value) return a clean integer value. =head2 isInteger($value) return true if value is an integer. =head2 getRegexpOidMatch($oid) return compiled regexp to match given oid. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/AIX.pm0000644000175000017500000000414313712210012024777 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::AIX; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use Memoize; our @EXPORT = qw( getLsvpdInfos getAdaptersFromLsdev ); memoize('getLsvpdInfos'); memoize('getAdaptersFromLsdev'); sub getLsvpdInfos { my (%params) = ( command => 'lsvpd', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @devices; my $device; # skip first lines while (my $line = <$handle>) { last if $line =~ /^\*FC \?+/; } while (my $line = <$handle>) { if ($line =~ /^\*FC \?+/) { # block delimiter push @devices, $device; undef $device; next; } chomp $line; next unless $line =~ /^\* ([A-Z]{2}) \s+ (.*\S)/x; $device->{$1} = $2; } close $handle; # last device push @devices, $device; return @devices; } sub getAdaptersFromLsdev { my (%params) = ( command => 'lsdev -Cc adapter -F "name:type:description"', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @adapters; while (my $line = <$handle>) { chomp $line; my @info = split(/:/, $line); push @adapters, { NAME => $info[0], TYPE => $info[1], DESCRIPTION => $info[2] }; } close $handle; return @adapters; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::AIX - AIX generic functions =head1 DESCRIPTION This module provides some generic functions for AIX. =head1 FUNCTIONS =head2 getLsvpdInfos Returns a list of vital product data infos, extracted from lsvpd output. @infos = ( { DS => 'System VPD', YL => 'U9111.520.65DEDAB', RT => 'VSYS', FG => 'XXSV', BR => 'O0', SE => '65DEDAB', TM => '9111-520', SU => '0004AC0BA763', VK => 'ipzSeries' }, ... ) =head2 getAdaptersFromLsdev Returns a list of adapters, extracted from lsdev -Cc adapter output FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/PartNumber.pm0000644000175000017500000001011113753417600026446 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::PartNumber; use strict; use warnings; use File::Glob; use English qw(-no_match_vars); use FusionInventory::Agent::Tools; use FusionInventory::Agent::Logger; use constant category => ""; use constant manufacturer => ""; # Lower priorities will be checked first use constant priority => 50; my @subclasses; sub new { my ($class, %params) = @_; my $logger = $params{logger} || FusionInventory::Agent::Logger->new(); unless (@subclasses) { my %priority = (); my ($_classpath) = $INC{module2file(__PACKAGE__)} =~ /^(.*)\.pm$/; $_classpath =~ s{\\}{/}g if $OSNAME eq 'MSWin32'; my $subclass_path_re = qr/$_classpath\/(\S+)\.pm$/; foreach my $file (File::Glob::bsd_glob("$_classpath/*.pm")) { $file =~ s{\\}{/}g if $OSNAME eq 'MSWin32'; my ($class) = $file =~ $subclass_path_re or next; my $module = "FusionInventory::Agent::Tools::PartNumber::" . $class; $module->require(); if ($EVAL_ERROR) { $logger->debug("Failed to load PartNumber::$class"); $logger->debug2("$module require error: $EVAL_ERROR"); next; } $priority{$module} = $module->priority(); } @subclasses = sort { $priority{$a} <=> $priority{$b} } sort keys(%priority); } my $self = { logger => $logger, }; return bless $self, $class; } sub match { my ($self, %params) = @_; return unless defined($params{partnumber}); foreach my $subclass (@subclasses) { # Filter out by category and eventually by manufacturer next if $params{category} && $subclass->category ne $params{category}; next if $params{manufacturer} && $subclass->manufacturer ne $params{manufacturer}; # Then match on regexp my @matches = $params{partnumber} =~ $subclass->match_re or next; bless $self, $subclass; $self->init(@matches); last; } # Only validate Partnumber object if it has a manufacturer return unless $self->manufacturer; return $self; } sub init {} sub speed { my ($self) = @_; return $self->{_speed}; } sub type { my ($self) = @_; return $self->{_type}; } sub revision { my ($self) = @_; return $self->{_revision}; } sub get { my ($self) = @_; return $self->{_partnumber}; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::PartNumber - PartNumber class =head1 DESCRIPTION This module provides a base class to handle PartNumber specific cases =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use (default: a new stderr logger) =back =head2 match(%params) This is the method checking for supported PartNumber sub-class handling the set PartNumber. The following parameters are allowed, as keys of the %params hash: =over =item I the partnumber string (mandatory) =item I the category to filter out subclasses =item I the manufacturer to select subclass by manufacturer =back =head2 init() This is a method to be implemented by each subclass and to initialize the object. It can take partnumber matches as arguments when a subclass regexp match. =head2 match_re() This is a method to be implemented by each subclass. It could simply return a regexp which could applied on partnumber string permitting to select the subclass in case of matches. =head2 manufacturer() This is a method to be implemented by each subclass. It should simply return a constant string. =head2 category() This is a method to be implemented by each subclass. It should simply return a constant string. =head2 speed() This is a method to return memory speed. =head2 type() This is a method to return memory type. =head2 revision() This is a method to return revision part from the partnumber. =head2 get() This is a method to return the partnumber itself in the case it has been fixed during init() method call. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Batteries.pm0000644000175000017500000001375013757226446026337 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Batteries; use strict; use warnings; use parent 'Exporter'; use FusionInventory::Agent::Inventory; use FusionInventory::Agent::Tools; our @EXPORT = qw( batteryFields sanitizeBatterySerial getCanonicalVoltage getCanonicalCapacity ); my @fields = (); sub batteryFields { unless (@fields) { # Initialize Batteries expected fields from an Inventory object my $inventory = FusionInventory::Agent::Inventory->new(); @fields = keys(%{$inventory->getFields()->{'BATTERIES'}}); } return @fields; } sub sanitizeBatterySerial { my ($serial) = @_; # Simply return a '0' serial if not defined return '0' unless defined($serial); # Simplify zeros-only serial return '0' if ($serial =~ /^0+$/); # Prepare to keep serial as decimal if we can recognize it as hexadecimal $serial = '0x'.$serial if ($serial =~ /^[0-9a-fA-F]+$/ && ($serial =~ /[a-fA-F]/ || $serial =~ /^0/)); # Convert as decimal return hex2dec($serial); } sub getCanonicalVoltage { my ($value) = @_; return unless $value; my ($voltage, $unit) = $value =~ /^([,.\d]+) \s* (m?V)$/xi or return; $voltage =~ s/,/./; return lc($unit) eq 'mv' ? int($voltage) : int($voltage * 1000) ; } sub getCanonicalCapacity { my ($value, $voltage) = @_; return unless $value; my ($capacity, $unit) = $value =~ /^([,.\d]+) \s* (m?[WA]?h)$/xi or return; $capacity =~ s/,/./; # We expect to return capacity in mWh, $voltage is expected to be in mV if ($unit =~ /^mWh$/i) { $capacity = int($capacity); } elsif ($unit =~ /^Wh$/i) { $capacity = int($capacity * 1000); } elsif ($unit =~ /^mAh$/i) { return unless $voltage; $capacity = int($capacity * $voltage / 1000); } elsif ($unit =~ /^Ah$/i) { return unless $voltage; $capacity = int($capacity * $voltage); } return $capacity; } # Also implement a batteries class, but split name on new line to not export it in CPAN ## no critic (ProhibitMultiplePackages) package Inventory::Batteries; use FusionInventory::Agent::Logger; sub new { my ($class, %params) = @_; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), list => {}, }; bless $self, $class; return $self; } sub add { my ($self, $ref) = @_; my $battery = Battery->new($ref); my $deviceid = $battery->deviceid; $self->{logger}->debug( "Replacing '$deviceid' battery" ) if $self->{list}->{$deviceid}; $self->{list}->{$deviceid} = $battery; } sub merge { my ($self, @batteries) = @_; # Handle the case where only one battery is found and deviceid may not # be complete in one case if (scalar(keys(%{$self->{list}})) == 1 && scalar(@batteries) == 1) { my $currentid = [ keys(%{$self->{list}}) ]->[0]; my $current = $self->{list}->{$currentid}; my $battery = Battery->new($batteries[0]); if ($currentid ne $battery->deviceid && scalar($current->serial) eq scalar($battery->serial) && $current->model eq $battery->model ) { # Just rename key to permit the merge if serial and model match $self->{list}->{$battery->deviceid} = $current; delete $self->{list}->{$currentid}; } } foreach my $data (@batteries) { my $battery = Battery->new($data); my $deviceid = $battery->deviceid; # Just add battery if it doesn't exist in list if ($self->{list}->{$deviceid}) { $self->{list}->{$deviceid}->merge($battery); } else { $self->{list}->{$deviceid} = $battery; } } } sub list { my ($self) = @_; return map { $_->dump() } values(%{$self->{list}}); } # Also implement a battery class, but split name on new line to not export it in CPAN package Battery; use FusionInventory::Agent::Logger; sub new { my ($class, $battery) = @_; return $battery if (ref($battery) eq $class); return unless ref($battery) eq 'HASH'; $battery->{logger} = FusionInventory::Agent::Logger->new() unless $battery->{logger}; bless $battery, $class; return $battery; } sub deviceid { my ($self) = @_; # DeviceID inspired by the WMI used one on Win32 systems return $self->serial.$self->manufacturer.$self->model; } sub serial { my ($self) = @_; return $self->{SERIAL} || '0'; } sub manufacturer { my ($self) = @_; return $self->{MANUFACTURER} || ''; } sub model { my ($self) = @_; return $self->{MODEL} || ''; } sub merge { my ($self, $battery) = @_; foreach my $key (FusionInventory::Agent::Tools::Batteries::batteryFields()) { next unless $battery->{$key}; # Don't replace value is they are the same, case insensitive check next if (defined($self->{$key}) && $battery->{$key} =~ /^$self->{$key}$/i); $self->{logger}->debug( "Replacing $key value '$self->{$key}' by '$battery->{$key}' on '". $self->deviceid."' battery" ) if $self->{$key}; $self->{$key} = $battery->{$key}; } } sub dump { my ($self) = @_; my $dump = {}; foreach my $key (FusionInventory::Agent::Tools::Batteries::batteryFields()) { next unless exists($self->{$key}); $dump->{$key} = $self->{$key}; } return $dump; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Batteries =head1 DESCRIPTION This module provides functions to manage batteries information =head1 FUNCTIONS =head2 sanitizeBatterySerial($serial) Returns clean battery serial. =head2 batteryFields() Returns the list of supported/expected battery fields =head2 getCanonicalVoltage($value) Returns the canonical voltage in mV =head2 getCanonicalCapacity($value,$voltage) Returns the canonical capacity in mWh Voltage should be provide in the case capacity is given in mAh or Ah and must be an number in mV as returned by getCanonicalVoltage(). FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/IpmiFru.pm0000644000175000017500000000711613753417600025755 0ustar gbougardgbougard package FusionInventory::Agent::Tools::IpmiFru; use strict; use warnings; use parent 'Exporter'; use FusionInventory::Agent::Inventory; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::PartNumber; our @EXPORT = qw( getIpmiFru parseFru ); my %MAPPING = ( CAPACITY => { src => ['Memory size'], sub => \&getCanonicalSize, }, NAME => { src => ['Board Product', 'Product Name'] }, MODEL => { src => ['Board Part Number', 'Product Part Number', 'Part Number'] }, PARTNUM => { src => ['Board Part Number', 'Product Part Number', 'Part Number'] }, SERIAL => { src => ['Board Serial', 'Product Serial', 'Serial Number'] }, SERIALNUMBER => { src => ['Board Serial', 'Product Serial', 'Serial Number'] }, MANUFACTURER => { src => ['Board Mfg', 'Product Manufacturer', 'Manufacturer'], sub => \&getCanonicalManufacturer }, REV => { src => ['Product Version'] }, POWER_MAX => { src => ['Max Power Capacity'] }, ); my $__fru; sub getIpmiFru { my (%params) = ( command => 'ipmitool fru print', @_ ); if ($params{file}) { # clear cache if testing $__fru = undef; } elsif ($__fru) { # return if cached return $__fru; } my $handle = getFileHandle(%params); return unless $handle; my ($block, $descr); while (my $line = <$handle>) { chomp $line; if ($line =~ /^FRU Device Description : (.*)(?: \(ID (\d+)\))?/) { # start of block # push previous block in list if ($block) { $__fru->{$descr} = $block; undef $block; } $descr = $1; next; } next unless defined $descr; next unless $line =~ /^\s+([^:]+\w)\s+:\s([[:print:]]+)/; $block->{$1} = trimWhitespace($2); } close $handle; # push last block in list if still defined if ($block) { $__fru->{$descr} = $block; } return $__fru; } sub parseFru { my ($fru, $fields, $device) = (@_, {}); for my $attr (keys(%{$fields})) { my $val = $MAPPING{$attr} or next; for my $src (@{$val->{src}}) { next unless defined $fru->{$src}; $device->{$attr} = defined $val->{sub} ? &{$val->{sub}}( $fru->{$src} ) : $fru->{$src}; last; } } # Fix manufacturer $device->{MANUFACTURER} = getCanonicalManufacturer($device->{MANUFACTURER}) if $device->{MANUFACTURER}; # Validate PartNumber, as example, this fixes Dell PartNumbers my $partnum = $device->{PARTNUM} // $device->{MODEL}; if ($partnum) { my $partnumber_factory = FusionInventory::Agent::Tools::PartNumber->new(); my $partnumber = $partnumber_factory->match( partnumber => $partnum, manufacturer => $device->{MANUFACTURER}, category => "controller", ); if (defined($partnumber)) { $device->{PARTNUM} = $partnumber->get if $fields->{PARTNUM}; $device->{MODEL} = $partnumber->get if $fields->{MODEL}; $device->{REV} = $partnumber->revision if $fields->{REV} && defined($partnumber->revision); } } return $device; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::ImpiFru =head1 DESCRIPTION IPMI FRU functions =head1 FUNCTIONS =head2 getIpmiFru() Returns list of FRU entries =head2 parseFru() Returns a formatted FRU section FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Standards/0000755000175000017500000000000013757703277025776 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Standards/MobileCountryCode.pm0000644000175000017500000001427513712210012031676 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Standards::MobileCountryCode; use strict; use warnings; use parent 'Exporter'; # Extracted from ITU List of terrestrial trunk radio mobile country codes # See: http://www.itu.int/dms_pub/itu-t/opb/sp/T-SP-E.218-2017-MSW-E.docx # Source date: June 2017 our @EXPORT = qw( getCountryMCC ); my %MobileCountryCodes = ( 202 => "Greece", 204 => "Netherlands", 206 => "Belgium", 208 => "France", 212 => "Monaco", 213 => "Andorra", 214 => "Spain", 216 => "Hungary", 218 => "Bosnia and Herzegovina", 219 => "Croatia", 220 => "Serbia", 221 => "Kosovo", 222 => "Italy", 225 => "Vatican", 226 => "Romania", 228 => "Switzerland", 230 => "Czechia", 231 => "Slovakia", 232 => "Austria", 234 => "Great Britain", 235 => "Great Britain", 238 => "Denmark", 240 => "Sweden", 242 => "Norway", 244 => "Finland", 246 => "Lithuania", 247 => "Latvia", 248 => "Estonia", 250 => "Russia", 255 => "Ukraine", 257 => "Belarus", 259 => "Moldova", 260 => "Poland", 262 => "Germany", 266 => "Gibraltar", 268 => "Portugal", 270 => "Luxembourg", 272 => "Ireland", 274 => "Iceland", 276 => "Albania", 278 => "Malta", 280 => "Cyprus", 282 => "Georgia", 283 => "Armenia", 284 => "Bulgaria", 286 => "Turkey", 288 => "Faroe Islands", 290 => "Greenland", 292 => "San Marino", 293 => "Slovenia", 294 => "Macedonia", 295 => "Liechtenstein", 297 => "Montenegro", 302 => "Canada", 308 => "Saint Pierre and Miquelon", 310 => "USA", 311 => "USA", 312 => "USA", 313 => "USA", 314 => "USA", 315 => "USA", 316 => "USA", 330 => "Puerto Rico", 332 => "Virgin Islands", 334 => "Mexico", 338 => "Jamaica", 340 => "Guadeloupe", 340 => "Martinique", 342 => "Barbados", 344 => "Antigua and Barbuda", 346 => "Cayman Islands", 348 => "British Virgin Islands", 350 => "Bermuda", 352 => "Grenada", 354 => "Montserrat", 356 => "Saint Kitts and Nevis", 358 => "Saint Lucia", 360 => "Saint Vincent and the Grenadines", 362 => "Curaçao", 362 => "Sint Maarten", 362 => "Bonaire, Sint Eustatius and Saba", 363 => "Aruba", 364 => "Bahamas", 365 => "Anguilla", 366 => "Dominica", 368 => "Cuba", 370 => "Dominican Republic", 372 => "Haiti", 374 => "Trinidad and Tobago", 376 => "Turks and Caicos Islands", 400 => "Azerbaijan", 401 => "Kazakhstan", 402 => "Bhutan", 404 => "India", 405 => "India", 406 => "India", 410 => "Pakistan", 412 => "Afghanistan", 413 => "Sri Lanka", 414 => "Myanmar", 415 => "Lebanon", 416 => "Jordan", 417 => "Syria", 418 => "Iraq", 419 => "Kuwait", 420 => "Saudi Arabia", 421 => "Yemen", 422 => "Oman", 424 => "Emirates", 425 => "Israel", 426 => "Bahrain", 427 => "Qatar", 428 => "Mongolia", 429 => "Nepal", 430 => "Emirates", 431 => "Emirates", 432 => "Iran", 434 => "Uzbekistan", 436 => "Tajikistan", 437 => "Kyrgyz Republic", 438 => "Turkmenistan", 440 => "Japan", 441 => "Japan", 450 => "Korea", 452 => "Viet Nam", 454 => "Hong Kong", 455 => "Macao", 456 => "Cambodia", 457 => "Lao", 460 => "China", 461 => "China", 466 => "Taiwan", 467 => "North Korea", 470 => "Bangladesh", 472 => "Maldives", 502 => "Malaysia", 505 => "Australia", 510 => "Indonesia", 514 => "Timor-Leste", 515 => "Philippines", 520 => "Thailand", 525 => "Singapore", 528 => "Brunei", 530 => "New Zealand", 536 => "Nauru", 537 => "Papua New Guinea", 539 => "Tonga", 540 => "Solomon Islands", 541 => "Vanuatu", 542 => "Fiji", 543 => "Wallis and Futuna", 544 => "American Samoa", 545 => "Kiribati", 546 => "New Caledonia", 547 => "French Polynesia", 548 => "Cook Islands", 549 => "Samoa", 550 => "Micronesia", 551 => "Marshall Islands", 552 => "Palau", 553 => "Tuvalu", 554 => "Tokelau", 555 => "Niue", 602 => "Egypt", 603 => "Algeria", 604 => "Morocco", 605 => "Tunisia", 606 => "Libya", 607 => "Gambia", 608 => "Senegal", 609 => "Mauritania", 610 => "Mali", 611 => "Guinea", 612 => "Ivory Coast", 613 => "Burkina Faso", 614 => "Niger", 615 => "Togo", 616 => "Benin", 617 => "Mauritius", 618 => "Liberia", 619 => "Sierra Leone", 620 => "Ghana", 621 => "Nigeria", 622 => "Chad", 623 => "Central African Republic", 624 => "Cameroon", 625 => "Cabo Verde", 626 => "Sao Tome and Principe", 627 => "Equatorial Guinea", 628 => "Gabon", 629 => "Congo", 630 => "Democratic Republic of the Congo", 631 => "Angola", 632 => "Guinea-Bissau", 633 => "Seychelles", 634 => "Sudan", 635 => "Rwanda", 636 => "Ethiopia", 637 => "Somalia", 638 => "Djibouti", 639 => "Kenya", 640 => "Tanzania", 641 => "Uganda", 642 => "Burundi", 643 => "Mozambique", 645 => "Zambia", 646 => "Madagascar", 647 => "French Departments and Territories in the Indian Ocean", 648 => "Zimbabwe", 649 => "Namibia", 650 => "Malawi", 651 => "Lesotho", 652 => "Botswana", 653 => "Swaziland", 654 => "Comoros", 655 => "South Africa", 657 => "Eritrea", 658 => "Saint Helena", 659 => "South Sudan", 702 => "Belize", 704 => "Guatemala", 706 => "El Salvador", 708 => "Honduras", 710 => "Nicaragua", 712 => "Costa Rica", 714 => "Panama", 716 => "Peru", 722 => "Argentine", 724 => "Brazil", 730 => "Chile", 732 => "Colombia", 734 => "Venezuela", 736 => "Bolivia", 738 => "Guyana", 740 => "Ecuador", 742 => "French Guiana", 744 => "Paraguay", 746 => "Suriname", 748 => "Uruguay", 750 => "Falkland Islands", 901 => "International Mobile", ); sub getCountryMCC { my ($mcc) = @_; return unless $mcc; return $MobileCountryCodes{$mcc} if $MobileCountryCodes{$mcc}; return unless ($mcc =~ /^[128]\d\d$/); return 'Reserved'; } 1; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Network.pm0000644000175000017500000002243613712210012026014 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Network; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use Net::IP qw(:PROC); use Net::hostent; use Socket; use FusionInventory::Agent::Tools; our @EXPORT = qw( $mac_address_pattern $ib_mac_address_pattern $any_mac_address_pattern $ip_address_pattern $alt_mac_address_pattern $hex_ip_address_pattern $network_pattern getSubnetAddress getSubnetAddressIPv6 getNetworkMask getNetworkMaskIPv6 isSameNetwork isSameNetworkIPv6 hex2canonical alt2canonical resolve compile isPartOf ); my $dec_byte = qr/[0-9]{1,3}/; my $hex_byte = qr/[0-9A-F]{1,2}/i; my $padded_hex_byte = qr/[0-9A-F]{2}/i; our $mac_address_pattern = qr/ $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte /x; our $ib_mac_address_pattern = qr/ $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte : $hex_byte /x; our $any_mac_address_pattern = qr/ (?:$ib_mac_address_pattern|$mac_address_pattern) /x; our $ip_address_pattern = qr/ $dec_byte \. $dec_byte \. $dec_byte \. $dec_byte /x; our $alt_mac_address_pattern = qr/ $padded_hex_byte $padded_hex_byte $padded_hex_byte $padded_hex_byte $padded_hex_byte $padded_hex_byte /x; our $hex_ip_address_pattern = qr/ $padded_hex_byte $padded_hex_byte $padded_hex_byte $padded_hex_byte /x; our $network_pattern = qr/ $dec_byte (?:\. $dec_byte (?:\. $dec_byte (?:\. $dec_byte)?)?)? \/ \d{1,2} /x; sub getSubnetAddress { my ($address, $mask) = @_; return undef unless $address && $mask; ## no critic (ExplicitReturnUndef) my $binaddress = ip_iptobin($address, 4); my $binmask = ip_iptobin($mask, 4); my $binsubnet = $binaddress & $binmask; ## no critic (ProhibitBitwise) return ip_bintoip($binsubnet, 4); } sub getSubnetAddressIPv6 { my ($address, $mask) = @_; return undef unless $address && $mask; ## no critic (ExplicitReturnUndef) my $binaddress = ip_iptobin(ip_expand_address($address, 6), 6); my $binmask = ip_iptobin(ip_expand_address($mask, 6), 6); my $binsubnet = $binaddress & $binmask; ## no critic (ProhibitBitwise) return ip_compress_address(ip_bintoip($binsubnet, 6), 6); } sub isSameNetwork { my ($address1, $address2, $mask) = @_; ## no critic (ExplicitReturnUndef) return undef unless $address1 && $address2 && $mask; my $binaddress1 = ip_iptobin($address1, 4); my $binaddress2 = ip_iptobin($address2, 4); my $binmask = ip_iptobin($mask, 4); ## no critic (ProhibitBitwise) return ($binaddress1 & $binmask) eq ($binaddress2 & $binmask); } sub isSameNetworkIPv6 { my ($address1, $address2, $mask) = @_; ## no critic (ExplicitReturnUndef) return undef unless $address1 && $address2 && $mask; my $binaddress1 = ip_iptobin(ip_expand_address($address1, 6), 6); my $binaddress2 = ip_iptobin(ip_expand_address($address2, 6), 6); my $binmask = ip_iptobin(ip_expand_address($mask, 6), 6); ## no critic (ProhibitBitwise) return ($binaddress1 & $binmask) eq ($binaddress2 & $binmask); } sub hex2canonical { my ($address) = @_; return unless $address; my @bytes = $address =~ /^(?:0x)?(..)(..)(..)(..)$/; return join('.', map { hex($_) } @bytes); } sub alt2canonical { my ($address) = @_; return unless $address; my @bytes = $address =~ /^(?:0x)?([[:xdigit:]]{2})[ :-]?([[:xdigit:]]{2})[ :-]?([[:xdigit:]]{2})[ :-]?([[:xdigit:]]{2})[ :-]?([[:xdigit:]]{2})[ :-]?([[:xdigit:]]{2})$/; return join(':', @bytes); } sub getNetworkMask { my ($prefix) = @_; return undef unless $prefix; ## no critic (ExplicitReturnUndef) return ip_bintoip(ip_get_mask($prefix, 4), 4); } sub getNetworkMaskIPv6 { my ($prefix) = @_; return undef unless $prefix; ## no critic (ExplicitReturnUndef) return ip_compress_address(ip_bintoip(ip_get_mask($prefix, 6), 6), 6); } sub resolve { my ($name, $logger) = @_; my @addresses; my @errors; # Avoid an error as Socket::VERSION may contain underscore my ($SocketVersion) = split('_',$Socket::VERSION); if ($SocketVersion >= 1.94) { # IPv6 compatible version my ($error, @results) = Socket::getaddrinfo( $name, undef, { family => Socket::AF_UNSPEC(), protocol => Socket::IPPROTO_TCP() } ); if ($error) { push @errors, "unable to get address for '$name': $error"; @results = (); } # and push all of their addresses in the list foreach my $result (@results) { my ($error, $address) = Socket::getnameinfo( $result->{addr}, Socket::NI_NUMERICHOST() ); if ($error) { push @errors, "unable to translate binary address for '$name': $error"; next; } # Drop the zone index, as Net::IP does not support it $address =~ s/%.*$//; push @addresses, $address; } } # If needed, try also legacy resolving and only report previous errors from here unless (@addresses) { # IPv4-only version my $result = gethostbyname($name); if (!$result) { push @errors, "unable to get address for '$name': $ERRNO"; map { $logger->error($_) } @errors if $logger; return; } foreach my $packed_address (@{$result->addr_list()}) { push @addresses, inet_ntoa($packed_address); } } return map { Net::IP->new($_) } @addresses; } sub _expand_ipv4_to_ipv6 { my @expanded; foreach my $netip (@_) { my $version = ip_get_version($netip->ip()); next unless $version == 4; my $prefix = 128 - 32 + $netip->prefixlen(); my $ipv6_string = "::ffff:".$netip->ip()."/".$prefix; push @expanded, Net::IP->new($ipv6_string); # Also include shorten ipv6 loopback address if needed push @expanded, Net::IP->new("::1") if $netip->print() eq "127.0.0.1/32"; } return @_, @expanded; } sub compile { my ($string, $logger) = @_; return unless $string; # that's already an IP address, just convert it return _expand_ipv4_to_ipv6(Net::IP->new($string)) if $string =~ /^$ip_address_pattern/; # otherwise resolve the name return _expand_ipv4_to_ipv6(resolve($string, $logger)); } sub isPartOf { my ($string, $ranges, $logger) = @_; return unless $string; return unless $ranges; my $address = Net::IP->new($string); if (!$address) { $logger->error("Not well formatted source IP: $string"); return; } my $version = ip_get_version($string); if (!$version) { $logger->error("Source IP error '$string': ".Net::IP::Error()); return; } # We only want to compare on same kind of ips my @ranges = grep { ip_get_version($_->ip()) == $version } @{$ranges}; foreach my $range (@ranges) { my $result = $address->overlaps($range); if (!$result && Net::IP::Error()) { $logger->debug("Server: ".Net::IP::Error()); next; } # included in trusted range return 1 if $result == $IP_A_IN_B_OVERLAP; # equals trusted address return 1 if $result == $IP_IDENTICAL; } return 0; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Network - Network-related patterns and functions =head1 DESCRIPTION This module provides some network-related patterns and functions. =head1 PATTERNS =head2 mac_address_pattern This pattern matches a MAC address in canonical form (aa:bb:cc:dd:ee:ff). =head2 ip_address_pattern This pattern matches an IP address in canonical form (xyz.xyz.xyz.xyz). =head2 alt_mac_address_pattern This pattern matches a MAC address in alternative form (aabbccddeeff). =head2 hex_ip_address_pattern This pattern matches an IP address in hexadecimal form (aabbccdd). =head1 FUNCTIONS =head2 hex2canonical($address) Convert an ip address from hexadecimal to canonical form. =head2 alt2canonical($address) Convert a mac address from alternative to canonical form. =head2 getSubnetAddress($address, $mask) Returns the subnet address for IPv4. =head2 getSubnetAddressIPv6($address, $mask) Returns the subnet address for IPv6. =head2 getNetworkMask($prefix) Returns the network mask for IPv4. =head2 getNetworkMaskIPv6($prefix) Returns the network mask for IPv6. =head2 isSameNetwork($address1, $address2, $mask) Returns true if both addresses belongs to the same network, for IPv4. =head2 isSameNetworkIPv6($address1, $address2, $mask) Returns true if both addresses belongs to the same network, for IPv6. =head2 resolve($host, $logger) Returns a list of addresses, as Net::IP objects, for the given host name, as a string. =head2 compile($spec, $logger) Returns a list of addresses, as Net::IP objects, for the given IP address or host name, as a string. =head2 isPartOf($address, $addresses, $logger) Returns true if the given address, as a string, is part of any address from the given list, as Net::IP objects. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Tools/Unix.pm0000644000175000017500000003026713712210012025307 0ustar gbougardgbougardpackage FusionInventory::Agent::Tools::Unix; use strict; use warnings; use parent 'Exporter'; use English qw(-no_match_vars); use File::stat; use File::Which; use File::Basename qw(basename); use Memoize; use Time::Local; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Network; our @EXPORT = qw( getDeviceCapacity getIpDhcp getFilesystemsFromDf getFilesystemsTypesFromMount getProcesses getRoutingTable ); memoize('getProcesses'); sub getDeviceCapacity { my (%params) = @_; return unless $params{device}; my $logger = delete $params{logger}; # We need to support dump params to permit full testing when root params is set my $name = basename($params{device}); my $root = $params{root} || ""; $params{command} = "/sbin/fdisk -v"; if ($params{dump}) { $params{dump}->{"fdisk-v"} = getAllLines(%params); } if ($root) { $params{file} = "$root/fdisk-v"; } # GNU version requires -p flag $params{command} = getFirstLine(%params) =~ '^GNU' ? "/sbin/fdisk -p -s $params{device}" : "/sbin/fdisk -s $params{device}" ; # Always override with a file if testing under $root $params{file} = "$root/fdisk-$name" if $root; if ($params{dump}) { $params{dump}->{"fdisk-$name"} = getAllLines( logger => $logger, %params ); } my $capacity = getFirstLine( logger => $logger, %params ); $capacity = int($capacity / 1000) if $capacity; return $capacity; } sub getIpDhcp { my ($logger, $if) = @_; my $dhcpLeaseFile = _findDhcpLeaseFile($if); return unless $dhcpLeaseFile; _parseDhcpLeaseFile($logger, $if, $dhcpLeaseFile); } sub _findDhcpLeaseFile { my ($if) = @_; my @directories = qw( /var/db /var/lib/dhcp3 /var/lib/dhcp /var/lib/dhclient ); my @patterns = ("*$if*.lease", "*.lease", "dhclient.leases.$if"); my @files; foreach my $directory (@directories) { next unless -d $directory; foreach my $pattern (@patterns) { push @files, grep { -s $_ } glob("$directory/$pattern"); } } return unless @files; # sort by creation time @files = map { $_->[0] } sort { $a->[1]->ctime() <=> $b->[1]->ctime() } map { [ $_, stat($_) ] } @files; # take the last one return $files[-1]; } sub _parseDhcpLeaseFile { my ($logger, $if, $lease_file) = @_; my $handle = getFileHandle(file => $lease_file, logger => $logger); return unless $handle; my ($lease, $dhcp, $server_ip, $expiration_time); # find the last lease for the interface with its expire date while (my $line = <$handle>) { if ($line=~ /^lease/i) { $lease = 1; next; } if ($line=~ /^}/) { $lease = 0; next; } next unless $lease; # inside a lease section if ($line =~ /interface\s+"([^"]+)"/){ $dhcp = ($1 eq $if); next; } next unless $dhcp; if ( $line =~ /option \s+ dhcp-server-identifier \s+ (\d{1,3}(?:\.\d{1,3}){3})/x ) { # server IP $server_ip = $1; } elsif ( $line =~ /expire \s+ \d \s+ (\d+)\/(\d+)\/(\d+) \s+ (\d+):(\d+):(\d+)/x ) { my ($year, $mon, $day, $hour, $min, $sec) = ($1, $2, $3, $4, $5, $6); # warning, expected ranges is 0-11, not 1-12 $mon = $mon - 1; $expiration_time = timelocal($sec, $min, $hour, $day, $mon, $year); } } close $handle; return unless $expiration_time; my $current_time = time(); return $current_time <= $expiration_time ? $server_ip : undef; } sub getFilesystemsFromDf { my (%params) = @_; my $handle = getFileHandle(%params); my @filesystems; # get headers line first my $line = <$handle>; return unless $line; chomp $line; my @headers = split(/\s+/, $line); while (my $line = <$handle>) { chomp $line; my @infos = split(/\s+/, $line); # depending on the df implementation, and how it is called # the filesystem type may appear as second colum, or be missing # in the second case, it has to be given by caller my ($filesystem, $total, $used, $free, $type); if ($headers[1] eq 'Type') { $filesystem = $infos[1]; $total = $infos[2]; $used = $infos[3]; $free = $infos[4]; $type = $infos[6]; } else { $filesystem = $params{type}; $total = $infos[1]; $used = $infos[2]; $free = $infos[3]; $type = $infos[5]; } # Fix total for zfs under Solaris $total = $used + $free if (!$total && ($used || $free)); # skip some virtual filesystems next if $total !~ /^\d+$/ || $total == 0; next if $free !~ /^\d+$/ || $free == 0; push @filesystems, { VOLUMN => $infos[0], FILESYSTEM => $filesystem, TOTAL => int($total / 1024), FREE => int($free / 1024), TYPE => $type }; } close $handle; return wantarray ? @filesystems : \@filesystems ; } sub getFilesystemsTypesFromMount { my (%params) = ( command => 'mount', @_ ); my $handle = getFileHandle(%params); return unless $handle; my @types; while (my $line = <$handle>) { # BSD-style: # /dev/mirror/gm0s1d on / (ufs, local, soft-updates) if ($line =~ /^\S+ on \S+ \((\w+)/) { push @types, $1; next; } # Linux style: # /dev/sda2 on / type ext4 (rw,noatime,errors=remount-ro) if ($line =~ /^\S+ on \S+ type (\w+)/) { push @types, $1; next; } } close $handle; ### raw result: @types return uniq @types; } sub getProcesses { my $ps = which('ps'); return -l $ps && readlink($ps) eq 'busybox' ? _getProcessesBusybox(@_) : _getProcessesOther(@_) ; } sub _getProcessesBusybox { my (%params) = ( command => 'ps', @_ ); my $handle = getFileHandle(%params); # skip headers my $line = <$handle>; my @processes; while ($line = <$handle>) { next unless $line =~ /^ \s* (\S+) \s+ (\S+) \s+ (\S+) \s+ ... \s+ (\S.+) /x; my $pid = $1; my $user = $2; my $vsz = $3; my $cmd = $4; push @processes, { USER => $user, PID => $pid, VIRTUALMEMORY => $vsz, CMD => $cmd }; } close $handle; return @processes; } sub _getProcessesOther { my (%params) = ( command => 'ps -A -o user,pid,pcpu,pmem,vsz,tty,etime' . ',' . ($OSNAME eq 'solaris' ? 'comm' : 'command'), @_ ); my $handle = getFileHandle(%params); # skip headers my $line = <$handle>; # get the current timestamp my $localtime = time(); my @processes; while ($line = <$handle>) { next unless $line =~ /^ \s* (\S+) \s+ (\S+) \s+ (\S+) \s+ (\S+) \s+ (\S+) \s+ (\S+) \s+ (\S+) \s+ (\S.*\S) /x; my $user = $1; my $pid = $2; my $cpu = $3; my $mem = $4; my $vsz = $5; my $tty = $6; my $etime = $7; my $cmd = $8; push @processes, { USER => $user, PID => $pid, CPUUSAGE => $cpu, MEM => $mem, VIRTUALMEMORY => $vsz, TTY => $tty, STARTED => _getProcessStartTime($localtime, $etime), CMD => $cmd }; } close $handle; return @processes; } my %month = ( Jan => '01', Feb => '02', Mar => '03', Apr => '04', May => '05', Jun => '06', Jul => '07', Aug => '08', Sep => '09', Oct => '10', Nov => '11', Dec => '12', ); my %day = ( Mon => '01', Tue => '02', Wed => '03', Thu => '04', Fry => '05', Sat => '06', Sun => '07', ); my $monthPattern = join ('|', keys %month); # Computes a consistent process starting time from the process etime value. sub _getProcessStartTime { my ($localtime, $elapsedtime_string) = @_; # POSIX specifies that ps etime entry looks like [[dd-]hh:]mm:ss # if either day and hour are not present then they will eat # up the minutes and seconds so split on a non digit and reverse it: my ($psec, $pmin, $phour, $pday) = reverse(split(/\D/, $elapsedtime_string)); ## no critic (ExplicitReturnUndef) return undef unless defined $psec && defined $pmin; # Compute a timestamp from the process etime value my $elapsedtime = $psec + $pmin * 60 + ($phour ? $phour * 60 * 60 : 0) + ($pday ? $pday * 24 * 60 * 60 : 0) ; # Substract this timestamp from the current time, creating the date at which # the process was launched my (undef, $min, $hour, $day, $month, $year) = localtime($localtime - $elapsedtime); # Output the final date, after completing it (time + UNIX epoch) $year = $year + 1900; $month = $month + 1; return sprintf("%04d-%02d-%02d %02d:%02d", $year, $month, $day, $hour, $min); } sub getRoutingTable { my (%params) = ( command => 'netstat -nr -f inet', @_ ); my $handle = getFileHandle(%params); return unless $handle; my $routes; # first, skip all header lines while (my $line = <$handle>) { last if $line =~ /^Destination/; } # second, collect routes while (my $line = <$handle>) { next unless $line =~ /^ ( $ip_address_pattern | $network_pattern | default ) \s+ ( $ip_address_pattern | $mac_address_pattern | link\#\d+ ) /x; $routes->{$1} = $2; } close $handle; return $routes; } 1; __END__ =head1 NAME FusionInventory::Agent::Tools::Unix - Unix-specific generic functions =head1 DESCRIPTION This module provides some Unix-specific generic functions. =head1 FUNCTIONS =head2 getDeviceCapacity(%params) Returns storage capacity of given device, using fdisk. Availables parameters: =over =item logger a logger object =item device the device to use =back =head2 getIpDhcp Returns an hashref of information for current DHCP lease. =head2 getFilesystemsFromDf(%params) Returns a list of filesystems as a list of hashref, by parsing given df command output. =over =item logger a logger object =item command the exact command to use =item file the file to use, as an alternative to the command =back =head2 getFilesystemsTypesFromMount(%params) Returns a list of used filesystems types, by parsing given mount command output. =over =item logger a logger object =item command the exact command to use =item file the file to use, as an alternative to the command =back =head2 getProcessesFromPs(%params) Returns a list of processes as a list of hashref, by parsing given ps command output. =over =item logger a logger object =item command the exact command to use =item file the file to use, as an alternative to the command =back =head2 getRoutingTable Returns the routing table as an hashref, by parsing netstat command output. =over =item logger a logger object =item command the exact command to use (default: netstat -nr -f inet) =item file the file to use, as an alternative to the command =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Task.pm0000644000175000017500000000536513712210012024167 0ustar gbougardgbougardpackage FusionInventory::Agent::Task; use strict; use warnings; use English qw(-no_match_vars); use File::Find; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Logger; sub new { my ($class, %params) = @_; die 'no target parameter' unless $params{target}; my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), config => $params{config}, datadir => $params{datadir}, target => $params{target}, deviceid => $params{deviceid}, }; bless $self, $class; return $self; } sub abort { my ($self) = @_; $self->{logger}->info("aborting task"); } sub getModules { my ($self, $task) = @_; $task = 'Inventory' unless $task; # use %INC to retrieve the root directory for this task my $file = module2file(__PACKAGE__."::".ucfirst($task)); my $rootdir = $INC{$file}; $rootdir =~ s/.pm$//; return unless -d $rootdir; # find a list of modules from files in this directory my $root = $file; $root =~ s/.pm$//; my @modules; my $wanted = sub { return unless -f $_; return unless $File::Find::name =~ m{($root/\S+\.pm)$}; my $module = file2module($1); push(@modules, $module); }; File::Find::find($wanted, $rootdir); return @modules } sub getRemote { my ($self) = @_; return $self->{_remote} || ''; } sub setRemote { my ($self, $task) = @_; $self->{_remote} = $task || ''; return $self->{_remote}; } 1; __END__ =head1 NAME FusionInventory::Agent::Task - Base class for agent task =head1 DESCRIPTION This is an abstract class for all task performed by the agent. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use (default: a new stderr logger) =item I =item I =item I =item I =item I =item I =back =head2 isEnabled() This is a method to be implemented by each subclass. =head2 run() This is a method to be implemented by each subclass. =head2 abort() Abort running task immediatly. =head2 getModules($task) Return a list of modules for the task. All modules installed at the same location than this package, belonging to __PACKAGE__::$task namespace, will be returned. If not optional $task is given, base search namespace will be __PACKAGE__::Inventory instead. =head2 getRemote() Method to get the task remote status. Returns the string set by setRemote() API or an empty string. =head2 setRemote([$task]) Method to set or reset the task remote status. Without $task parameter, the API resets the remote status to an empty string. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP.pm0000644000175000017500000000236513712210012024037 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP; use strict; use warnings; use Encode qw(encode); use English qw(-no_match_vars); use FusionInventory::Agent::Tools; our $VERSION = '1.1'; sub get_first { my ($self, $oid) = @_; my $values = $self->walk($oid); return unless $values; my $value = first { $_ } map { $values->{$_} } sort { $a <=> $b } keys %$values; return $value; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP - Base class for SNMP client =head1 DESCRIPTION This is the object used by the agent to perform SNMP queries. =head1 METHODS =head2 switch_vlan_context($vlan_id) Switch to a new vlan-specific context. With SNMPv1 and SNMPv2, this creates a new SNMP connection, using a community derived from original one, with vlan ID appended as a suffix. With SNMPv3, ensure all subsequent requests use relevant context. =head2 reset_original_context() Reset to original context. =head2 get($oid) This method returns the value from the SNMP object with given OID. =head2 get_first($oid) This method returns the first first non-null value from the SNMP table with given OID. =head2 walk($oid) This method returns all values from the SNMP table with given OID, indexed by their index. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Config.pm0000644000175000017500000003673313755740252024522 0ustar gbougardgbougardpackage FusionInventory::Agent::Config; use strict; use warnings; use English qw(-no_match_vars); use File::Spec; use Cwd qw(abs_path); use Getopt::Long; use UNIVERSAL::require; use FusionInventory::Agent::Version; use FusionInventory::Agent::Tools; my $default = { 'additional-content' => undef, 'backend-collect-timeout' => 180, 'ca-cert-dir' => undef, 'ca-cert-file' => undef, 'color' => undef, 'conf-reload-interval' => 0, 'debug' => undef, 'delaytime' => 3600, 'force' => undef, 'html' => undef, 'lazy' => undef, 'local' => undef, 'logger' => 'Stderr', 'logfile' => undef, 'logfacility' => 'LOG_USER', 'logfile-maxsize' => undef, 'no-category' => [], 'no-httpd' => undef, 'no-ssl-check' => undef, 'no-compression' => undef, 'no-task' => [], 'no-p2p' => undef, 'password' => undef, 'proxy' => undef, 'httpd-ip' => undef, 'httpd-port' => 62354, 'httpd-trust' => [], 'listen' => undef, 'scan-homedirs' => undef, 'scan-profiles' => undef, 'server' => undef, 'tag' => undef, 'tasks' => undef, 'timeout' => 180, 'user' => undef, 'vardir' => undef, # deprecated options 'stdout' => undef, }; my $deprecated = { 'stdout' => { message => 'use --local - option instead', new => { 'local' => '-' } }, }; my $confReloadIntervalMinValue = 60; sub new { my ($class, %params) = @_; my $self = { '_confdir' => undef, # SYSCONFDIR replaced here from Makefile '_options' => $params{options} // {}, }; bless $self, $class; $self->_loadDefaults(); $self->_loadFromBackend($params{options}->{'conf-file'}, $params{options}->{config}); $self->_loadUserParams($params{options}); $self->{vardir} = $params{vardir}; # To also keep vardir during reload $self->{_options}->{vardir} = $params{vardir}; $self->_checkContent(); return $self; } sub reload { my ($self) = @_; $self->_loadDefaults; $self->_loadFromBackend($self->{'conf-file'}, $self->{config}); # Reload script options and vardir $self->_loadUserParams($self->{_options}); $self->_checkContent(); # delaytime must not be used after a reload $self->{delaytime} = 0; } sub _loadFromBackend { my ($self, $confFile, $config) = @_; my $backend = $confFile ? 'file' : $config ? $config : $OSNAME eq 'MSWin32' ? 'registry' : 'file'; SWITCH: { if ($backend eq 'registry') { die "Config: Unavailable configuration backend\n" unless $OSNAME eq 'MSWin32'; $self->_loadFromRegistry(); last SWITCH; } if ($backend eq 'file') { # Handle loadedConfs to avoid loops $self->{loadedConfs} = {}; $self->loadFromFile({ file => $confFile }); delete $self->{loadedConfs}; last SWITCH; } if ($backend eq 'none') { last SWITCH; } die "Config: Unknown configuration backend '$backend'\n"; } } sub _loadDefaults { my ($self) = @_; foreach my $key (keys %$default) { $self->{$key} = $default->{$key}; } # No need to reset confdir at each call return if $self->{_confdir} && -d $self->{_confdir}; # Set absolute confdir from default if replaced by Makefile otherwise search # from current path, mostly useful while running from source $self->{_confdir} = abs_path(File::Spec->rel2abs( $self->{_confdir} || first { -d $_ } qw{ ./etc ../etc } )); } sub _loadFromRegistry { my ($self) = @_; my $Registry; Win32::TieRegistry->require(); Win32::TieRegistry->import( Delimiter => '/', ArrayValues => 0, TiedRef => \$Registry ); my $machKey = $Registry->Open('LMachine', { Access => Win32::TieRegistry::KEY_READ() }) or die "Config: Can't open HKEY_LOCAL_MACHINE key: $EXTENDED_OS_ERROR\n"; my $provider = $FusionInventory::Agent::Version::PROVIDER; my $settings = $machKey->{"SOFTWARE/$provider-Agent"}; foreach my $rawKey (keys %$settings) { next unless $rawKey =~ /^\/(\S+)/; my $key = lc($1); my $val = $settings->{$rawKey}; # Remove the quotes $val =~ s/\s+$//; $val =~ s/^'(.*)'$/$1/; $val =~ s/^"(.*)"$/$1/; if (exists $default->{$key}) { $self->{$key} = $val; } else { warn "Config: unknown configuration directive $key\n"; } } } sub confdir { my ($self) = @_; return $self->{_confdir}; } sub loadFromFile { my ($self, $params) = @_; my $file = $params->{file} ? $params->{file} : $self->{_confdir} . '/agent.cfg'; if ($file) { die "Config: non-existing file $file\n" unless -f $file; die "Config: non-readable file $file\n" unless -r $file; } else { die "Config: no configuration file\n"; } # Don't reload conf if still loaded avoiding loops due to include directive if ($self->{loadedConfs}->{$file}) { warn "Config: $file configuration file still loaded\n" if $self->{logger} && ucfirst($self->{logger}) eq 'Stderr'; return; } $self->{loadedConfs}->{$file} = 1; my $handle; if (!open $handle, '<', $file) { warn "Config: Failed to open $file: $ERRNO\n"; return; } while (my $line = <$handle>) { if ($line =~ /^\s*([\w-]+)\s*=\s*(.*)$/) { my $key = $1; my $val = $2; # Cleanup value from ending spaces $val =~ s/\s+$//; # Extract value from quotes or clean any comment including preceding spaces if ($val =~ /^(['"])([^\1]*)\1/) { my ($quote, $extract) = ( $1, $2 ); $val =~ s/\s*#.+$//; warn "Config: We may have been confused for $key quoted value, our extracted value: '$extract'\n" if ($val ne "$quote$extract$quote"); $val = $extract ; } else { $val =~ s/\s*#.+$//; } if ($params->{defaults} && exists $params->{defaults}->{$key}) { $self->{$key} = $val; } elsif (!$params->{defaults} && exists $default->{$key}) { $self->{$key} = $val; } elsif (lc($key) eq 'include') { $self->_includeDirective($val, $file); } else { warn "Config: unknown configuration directive $key\n"; } } elsif ($line =~ /^\s*include\s+(.+)$/i) { my $include = $1; if ($include =~ /^(['"])([^\1]*)\1/) { my ($quote, $extract) = ( $1, $2 ); $include =~ s/\s*#.+$//; warn "Config: We may have been confused for include quoted path, our extracted path: '$extract'\n" if ($include ne "$quote$extract$quote"); $include = $extract ; } else { $include =~ s/\s*#.+$//; } $self->_includeDirective($include, $file, $params->{defaults}); } } close $handle; } sub _includeDirective { my ($self, $include, $currentconfig, $defaults) = @_; # Make include path absolute, relatively to current file basedir unless (File::Spec->file_name_is_absolute($include)) { my @path = File::Spec->splitpath($currentconfig); $path[2] = $include; $include = File::Spec->catpath(@path); } # abs_path makes call die under windows if file doen't exist, so we need to eval it eval { $include = abs_path($include); }; return unless $include; if (-d $include) { foreach my $cfg ( sort glob("$include/*.cfg") ) { # Skip missing or non-readable file next unless -f $cfg && -r $cfg; $self->loadFromFile({ file => $cfg, defaults => $defaults }); } } elsif ( -f $include && -r $include ) { $self->loadFromFile({ file => $include, defaults => $defaults }); } } sub _loadUserParams { my ($self, $params) = @_; foreach my $key (keys %$params) { $self->{$key} = $params->{$key}; } } sub _checkContent { my ($self) = @_; # check for deprecated options foreach my $old (keys %$deprecated) { next unless defined $self->{$old}; next if $old =~ /^no-/ and !$self->{$old}; my $handler = $deprecated->{$old}; # notify user of deprecation warn "Config: the '$old' option is deprecated, $handler->{message}\n"; # transfer the value to the new option, if possible if ($handler->{new}) { if (ref $handler->{new} eq 'HASH') { # old boolean option replaced by new non-boolean options foreach my $key (keys %{$handler->{new}}) { my $value = $handler->{new}->{$key}; if ($value =~ /^\+(\S+)/) { # multiple values: add it to exiting one $self->{$key} = $self->{$key} ? $self->{$key} . ',' . $1 : $1; } else { # unique value: replace exiting value $self->{$key} = $value; } } } elsif (ref $handler->{new} eq 'ARRAY') { # old boolean option replaced by new boolean options foreach my $new (@{$handler->{new}}) { $self->{$new} = $self->{$old}; } } else { # old non-boolean option replaced by new option $self->{$handler->{new}} = $self->{$old}; } } # avoid cluttering configuration delete $self->{$old}; } # a logfile options implies a file logger backend if ($self->{logfile}) { $self->{logger} .= ',File'; } # ca-cert-file and ca-cert-dir are antagonists if ($self->{'ca-cert-file'} && $self->{'ca-cert-dir'}) { die "Config: use either 'ca-cert-file' or 'ca-cert-dir' option, not both\n"; } # logger backend without a logfile isn't enoguh if ($self->{'logger'} =~ /file/i && ! $self->{'logfile'}) { die "Config: usage of 'file' logger backend makes 'logfile' option mandatory\n"; } # multi-values options, the default separator is a ',' foreach my $option (qw/ logger local server httpd-trust no-task no-category tasks /) { # Check if defined AND SCALAR # to avoid split a ARRAY ref or HASH ref... if ($self->{$option} && ref($self->{$option}) eq '') { $self->{$option} = [split(/,/, $self->{$option})]; } else { $self->{$option} = []; } } # files location $self->{'ca-cert-file'} = File::Spec->rel2abs($self->{'ca-cert-file'}) if $self->{'ca-cert-file'}; $self->{'ca-cert-dir'} = File::Spec->rel2abs($self->{'ca-cert-dir'}) if $self->{'ca-cert-dir'}; $self->{'logfile'} = File::Spec->rel2abs($self->{'logfile'}) if $self->{'logfile'}; $self->{'vardir'} = File::Spec->rel2abs($self->{'vardir'}) if $self->{'vardir'}; # conf-reload-interval option # If value is less than the required minimum, we force it to that # minimum because it's useless to reload the config so often and, # furthermore, it can cause a loss of performance if ($self->{'conf-reload-interval'} != 0) { if ($self->{'conf-reload-interval'} < 0) { $self->{'conf-reload-interval'} = 0; } elsif ($self->{'conf-reload-interval'} < $confReloadIntervalMinValue) { $self->{'conf-reload-interval'} = $confReloadIntervalMinValue; } } } sub isParamArrayAndFilled { my ($self, $paramName) = @_; return unless defined($self->{$paramName}); return unless ref($self->{$paramName}) eq 'ARRAY'; return scalar(@{$self->{$paramName}}) > 0; } sub logger { my ($self) = @_; return { map { $_ => $self->{$_} } qw/debug logger logfacility logfile logfile-maxsize color/ }; } sub getTargets { my ($self, %params) = @_; my @targets = (); # create target list if ($self->{local}) { FusionInventory::Agent::Target::Local->require(); FusionInventory::Agent::Target::Local->reset(); foreach my $path (@{$self->{local}}) { push @targets, FusionInventory::Agent::Target::Local->new( logger => $params{logger}, delaytime => $self->{delaytime}, basevardir => $params{vardir}, path => $path, html => $self->{html}, ); } } if ($self->{server}) { FusionInventory::Agent::Target::Server->require(); FusionInventory::Agent::Target::Scheduler->require(); FusionInventory::Agent::Target::Server->reset(); FusionInventory::Agent::Target::Scheduler->reset(); foreach my $url (@{$self->{server}}) { my $server = FusionInventory::Agent::Target::Server->new( logger => $params{logger}, delaytime => $self->{delaytime}, basevardir => $params{vardir}, url => $url, tag => $self->{tag}, ); # Also setup one Scheduler target for each target, actually # it only used by Maintenance task to cleanup storage from # expired files # Schedule it to run every 2 minutes max by default my $scheduler = FusionInventory::Agent::Target::Scheduler->new( logger => $params{logger}, delaytime => $self->{delaytime} ? 60 : 0, maxDelay => 120, basevardir => $params{vardir}, storage => $server->getStorage(), ); push @targets, $server, $scheduler; } } # Only add listener target if no other target has been defined and # httpd daemon is enabled. And anyway only one listener should be enabled if ($self->{listen} && !@targets && !$self->{'no-httpd'}) { FusionInventory::Agent::Target::Listener->require(); push @targets, FusionInventory::Agent::Target::Listener->new( logger => $params{logger}, delaytime => $self->{delaytime}, basevardir => $params{vardir}, ); } return \@targets; } 1; __END__ =head1 NAME FusionInventory::Agent::Config - Agent configuration =head1 DESCRIPTION This is the object used by the agent to store its configuration. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I additional options override. =back =head2 logger() Get logger only configuration. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Version.pm0000644000175000017500000000242313757237426024735 0ustar gbougardgbougardpackage FusionInventory::Agent::Version; use strict; use warnings; # For CPAN releases right versions ordering, as 2.6 is evaluated to v2.600 by # version module for versions comparaison, 2.6 following versions should be: # - kept as major.minor (2.7, 2.8, ...) # - or use the "alpha" notation to set revision: 2.6_01 is evaluated to v2.601 our $VERSION = "2.6"; our $PROVIDER = "FusionInventory"; our $COMMENTS = []; 1; __END__ =head1 NAME FusionInventory::Agent::Version - FusionInventory agent version =head1 DESCRIPTION This module has the only purpose to simplify the way the FusionInventory agent is released. This file could be automatically generated and overridden during packaging. It permits to re-define agent VERSION and agent PROVIDER during packaging so any distributor can simplify his distribution process and permit to identify clearly the origin of the agent. It also permits to put build comments in $COMMENTS. Each array ref element will be reported in putput while using on --version for commands. This will be seen in logs. The idea is to authorize the provider to put useful information needed while agent issue is reported. One very useful information should be first defined like in that example: our $COMMENTS = [ "Based on FusionInventory Agent v2.5.1" ]; FusionInventory-Agent-2.6/lib/FusionInventory/Agent/Target.pm0000644000175000017500000001435213712210012024507 0ustar gbougardgbougardpackage FusionInventory::Agent::Target; use strict; use warnings; use English qw(-no_match_vars); use FusionInventory::Agent::Logger; use FusionInventory::Agent::Storage; my $errMaxDelay = 0; sub new { my ($class, %params) = @_; die "no basevardir parameter for target\n" unless $params{basevardir}; # errMaxDelay is the maximum delay on network error. Delay on network error starts # from 60, is doubled at each new failed attempt until reaching delaytime. # Take the first provided delaytime for the agent lifetime unless ($errMaxDelay) { $errMaxDelay = $params{delaytime} || 3600; } my $self = { logger => $params{logger} || FusionInventory::Agent::Logger->new(), maxDelay => $params{maxDelay} || 3600, errMaxDelay => $errMaxDelay, initialDelay => $params{delaytime}, }; bless $self, $class; return $self; } sub _init { my ($self, %params) = @_; my $logger = $self->{logger}; # target identity $self->{id} = $params{id}; $self->{storage} = FusionInventory::Agent::Storage->new( logger => $self->{logger}, directory => $params{vardir} ); # handle persistent state $self->_loadState(); $self->{nextRunDate} = $self->_computeNextRunDate() if (!$self->{nextRunDate} || $self->{nextRunDate} < time-$self->getMaxDelay()); $self->_saveState(); $logger->debug( "[target $self->{id}] Next server contact planned for " . localtime($self->{nextRunDate}) ); } sub getStorage { my ($self) = @_; return $self->{storage}; } sub setNextRunDateFromNow { my ($self, $nextRunDelay) = @_; if ($nextRunDelay) { # While using nextRunDelay, we double it on each consecutive call until # delay reach target defined maxDelay. This is only used on network failure. $nextRunDelay = 2 * $self->{_nextrundelay} if ($self->{_nextrundelay}); $nextRunDelay = $self->getMaxDelay() if ($nextRunDelay > $self->getMaxDelay()); # Also limit toward the initial delaytime as it is also used to # define the maximum delay on network error $nextRunDelay = $self->{errMaxDelay} if ($nextRunDelay > $self->{errMaxDelay}); $self->{_nextrundelay} = $nextRunDelay; } $self->{nextRunDate} = time + ($nextRunDelay || 0); $self->_saveState(); # Remove initialDelay to support case we are still forced to run at start $self->{initialDelay} = undef; } sub resetNextRunDate { my ($self) = @_; $self->{_nextrundelay} = 0; $self->{nextRunDate} = $self->_computeNextRunDate(); $self->_saveState(); } sub getNextRunDate { my ($self) = @_; # Check if state file has been updated by a third party, like a script run $self->_loadState() if $self->_needToReloadState(); return $self->{nextRunDate}; } sub paused { my ($self) = @_; return $self->{_paused} || 0; } sub pause { my ($self) = @_; $self->{_paused} = 1; } sub continue { my ($self) = @_; delete $self->{_paused}; } sub getFormatedNextRunDate { my ($self) = @_; return $self->{nextRunDate} > 1 ? scalar localtime($self->{nextRunDate}) : "now"; } sub getMaxDelay { my ($self) = @_; return $self->{maxDelay}; } sub setMaxDelay { my ($self, $maxDelay) = @_; $self->{maxDelay} = $maxDelay; $self->_saveState(); } sub isType { my ($self, $testtype) = @_; return unless $testtype; my $type = $self->getType() or return; return "$type" eq "$testtype"; } # compute a run date, as current date and a random delay # between maxDelay / 2 and maxDelay sub _computeNextRunDate { my ($self) = @_; my $ret; if ($self->{initialDelay}) { $ret = time + ($self->{initialDelay} / 2) + int rand($self->{initialDelay} / 2); $self->{initialDelay} = undef; } else { # By default, reduce randomly the delay by 0 to 3600 seconds (1 hour max) my $max_random_delay_reduc = 3600; # For delays until 6 hours, reduce randomly the delay by 10 minutes for each hour: 600*(T/3600) = T/6 if ($self->{maxDelay} < 21600) { $max_random_delay_reduc = $self->{maxDelay} / 6; } elsif ($self->{maxDelay} > 86400) { # Finally reduce randomly the delay by 1 hour for each 24 hours, for delay other than a day $max_random_delay_reduc = $self->{maxDelay} / 24; } $ret = time + $self->{maxDelay} - int(rand($max_random_delay_reduc)); } return $ret; } sub _loadState { my ($self) = @_; my $data = $self->{storage}->restore(name => 'target'); $self->{maxDelay} = $data->{maxDelay} if $data->{maxDelay}; $self->{nextRunDate} = $data->{nextRunDate} if $data->{nextRunDate}; } sub _saveState { my ($self) = @_; $self->{storage}->save( name => 'target', data => { maxDelay => $self->{maxDelay}, nextRunDate => $self->{nextRunDate}, } ); } sub _needToReloadState { my ($self) = @_; # Only re-check if it's time to reload after 30 seconds return if $self->{_next_reload_check} && time < $self->{_next_reload_check}; $self->{_next_reload_check} = time+30; return $self->{storage}->modified(name => 'target'); } 1; __END__ =head1 NAME FusionInventory::Agent::Target - Abstract target =head1 DESCRIPTION This is an abstract class for execution targets. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the logger object to use =item I the maximum delay before contacting the target, in seconds (default: 3600) =item I the base directory of the storage area (mandatory) =back =head2 getNextRunDate() Get nextRunDate attribute. =head2 getFormatedNextRunDate() Get nextRunDate attribute as a formated string. =head2 setNextRunDateFromNow($nextRunDelay) Set next execution date from now and after $nextRunDelay seconds (0 by default). =head2 resetNextRunDate() Set next execution date to a random value. =head2 getMaxDelay($maxDelay) Get maxDelay attribute. =head2 setMaxDelay($maxDelay) Set maxDelay attribute. =head2 getStorage() Return the storage object for this target. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SOAP/0000755000175000017500000000000013757703277023515 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/SOAP/VMware/0000755000175000017500000000000013757703277024716 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/SOAP/VMware/Host.pm0000644000175000017500000002772413712210012026150 0ustar gbougardgbougardpackage FusionInventory::Agent::SOAP::VMware::Host; use strict; use warnings; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Virtualization; sub new { my ($class, %params) = @_; my $self = { hash => $params{hash}, vms => $params{vms} }; bless $self, $class; return $self; } sub _asArray { my $h = shift; return ref $h eq 'ARRAY' ? @$h : $h ? ($h) : () ; } sub getBootTime { my ($self) = @_; return $self->{hash}[0]{summary}{runtime}{bootTime}; } sub getHostname { my ($self) = @_; return $self->{hash}[0]{name} } sub getBiosInfo { my ($self) = @_; my $hardware = $self->{hash}[0]{hardware}; my $biosInfo = $hardware->{biosInfo}; my $systemInfo = $hardware->{systemInfo}; return unless ref($biosInfo) eq 'HASH'; my $bios = { BDATE => $biosInfo->{releaseDate}, BVERSION => $biosInfo->{biosVersion}, SMODEL => $systemInfo->{model}, SMANUFACTURER => $systemInfo->{vendor} }; if (ref($systemInfo->{otherIdentifyingInfo}) eq 'HASH') { $bios->{ASSETTAG} = $systemInfo->{otherIdentifyingInfo}->{identifierValue}; } elsif (ref($systemInfo->{otherIdentifyingInfo}) eq 'ARRAY') { foreach (@{$systemInfo->{otherIdentifyingInfo}}) { if ($_->{identifierType}->{key} eq 'ServiceTag') { # In the case we found more than one ServiceTag, assume there will be # only two, the first being the chassis S/N, the second the system S/N # This cover the case where the second is the lame board S/N # This works for ESXi 6.0 but no more for ESXi 6.5. In ESXi 6.5 # before build-10884925, ServiceTag contains chassis/enclosure S/N # for at least Dell PowerEdge M6XX series. Since build-10884925, # ServiceTag contains system S/N and appears before EnclosureSerialNumberTag # and SerialNumberTag values. if ($bios->{SSN}) { $bios->{MSN} = $bios->{SSN}; } $bios->{SSN} = $_->{identifierValue}; } elsif ($_->{identifierType}->{key} eq 'AssetTag') { $bios->{ASSETTAG} = $_->{identifierValue}; # Since VMware ESXi 6.5, Patch Release ESXi650-201811002 (build-10884925), # enclosure and system serial numbers are availables } elsif ($_->{identifierType}->{key} eq 'EnclosureSerialNumberTag') { $bios->{MSN} = $_->{identifierValue}; } elsif ($_->{identifierType}->{key} eq 'SerialNumberTag') { $bios->{SSN} = $_->{identifierValue}; } } } return $bios; } sub getHardwareInfo { my ($self) = @_; my $dnsConfig = $self->{hash}[0]{config}{network}{dnsConfig}; my $hardware = $self->{hash}[0]{hardware}; my $summary = $self->{hash}[0]{summary}; my $product = $summary->{config}->{product}; my $systemInfo = $hardware->{systemInfo}; return { NAME => $dnsConfig->{hostName}, DNS => join('/', _asArray($dnsConfig->{address})), WORKGROUP => $dnsConfig->{domainName}, MEMORY => int($hardware->{memorySize} / (1024 * 1024)), UUID => $summary->{hardware}->{uuid} || $systemInfo->{uuid}, OSVERSION => $product->{version}, OSNAME => $product->{name}, OSCOMMENTS => $product->{fullName} }; } sub getCPUs { my ($self) = @_; my %cpuManufacturor = ( amd => 'AMD', intel => 'Intel', ); my $hardware = $self->{hash}[0]{hardware}; my $totalCore = $hardware->{cpuInfo}{numCpuCores}; my $totalThread = $hardware->{cpuInfo}{numCpuThreads}; my $cpuEntries = $hardware->{cpuPkg}; my $cpuPackages = $hardware->{cpuInfo}{numCpuPackages} || scalar(_asArray($cpuEntries)); my @cpus; foreach (_asArray($cpuEntries)) { push @cpus, { CORE => eval { $totalCore / $cpuPackages }, MANUFACTURER => $cpuManufacturor{ $_->{vendor} } || $_->{vendor}, NAME => $_->{description}, SPEED => int( $_->{hz} / ( 1000 * 1000 ) ), THREAD => eval { $totalThread / $totalCore } }; } return @cpus; } sub getControllers { my ($self) = @_; my @controllers; foreach ( @{ $self->{hash}[0]{hardware}{pciDevice} } ) { my $pciid = sprintf( "%x:%x", $_->{vendorId}, $_->{deviceId} ); my $pcisubsystemid = sprintf( "%x:%x", $_->{subVendorId}, $_->{subDeviceId} ); my $pciclass = sprintf( "%x", $_->{classId} ); $pcisubsystemid = '' if $pcisubsystemid =~ /^[0:]+$/; # Workaround: sometime the pciid are odd negative number. # e.g: 111d:ffff8018, ffff8086:244e, ffff8086:ffffa02c foreach ( $pciid, $pcisubsystemid, $pciclass ) { s/(\w+:)/000$1:/; s/:(\w+)/:000$1/; s/.*(\w{4}:).*(\w{4}).*/$1$2/g; } push @controllers, { NAME => $_->{deviceName}, MANUFACTURER => $_->{vendorName}, PCICLASS => $pciclass, PCIID => $pciid, PCISUBSYSTEMID => $pcisubsystemid, PCISLOT => $_->{id}, }; } return @controllers; } sub _getNic { my ($ref, $isVirtual) = @_; return { DESCRIPTION => $ref->{device}, DRIVER => $ref->{driver}, IPADDRESS => $ref->{spec}{ip}{ipAddress}, IPMASK => $ref->{spec}{ip}{subnetMask}, MACADDR => $ref->{mac} || $ref->{spec}{mac}, MTU => $ref->{spec}{mtu}, PCISLOT => $ref->{pci}, STATUS => $ref->{spec}{ip}{ipAddress} ? 'Up' : 'Down', VIRTUALDEV => $isVirtual, SPEED => $ref->{spec}{linkSpeed}{speedMb}, } } sub getNetworks { my ($self) = @_; my @networks; my $seen = {}; foreach my $nicType (qw/vnic pnic consoleVnic/) { foreach (_asArray($self->{hash}[0]{config}{network}{$nicType})) { next if $seen->{$_->{device}}++; my $isVirtual = $nicType eq 'vnic'?1:0; push @networks, _getNic($_, $isVirtual); } } my @vnic; push @vnic, $self->{hash}[0]{config}{network}{consoleVnic} if $self->{hash}[0]{config}{network}{consoleVnic}; push @vnic, $self->{hash}[0]{config}{vmotion}{netConfig}{candidateVnic} if $self->{hash}[0]{config}{vmotion}{netConfig}{candidateVnic}; foreach my $entry (@vnic) { foreach (_asArray($entry)) { next if $seen->{$_->{device}}++; push @networks, _getNic($_, 1); } } return @networks; } sub getStorages { my ($self) = @_; my @storages; foreach my $entry ( _asArray($self->{hash}[0]{config}{storageDevice}{scsiLun})) { my $serialnumber; my $size; # TODO #$volumnMapping{$entry->{canonicalName}} = $entry->{deviceName}; foreach my $altName (_asArray($entry->{alternateName})) { next unless ref($altName) eq 'HASH'; next unless $altName->{namespace}; next unless $altName->{data}; if ( $altName->{namespace} eq 'SERIALNUM' ) { $serialnumber .= $_ foreach ( @{ $altName->{data} } ); } } if ( $entry->{capacity}{blockSize} && $entry->{capacity}{block} ) { $size = int(($entry->{capacity}{blockSize} *$entry->{capacity}{block})/1024/1024); } my $manufacturer; if ( $entry->{vendor} && ( $entry->{vendor} !~ /^\s*ATA\s*$/ ) ) { $manufacturer = $entry->{vendor}; } else { $manufacturer = getCanonicalManufacturer( $entry->{model} ); } $manufacturer =~ s/\s*(\S.*\S)\s*/$1/; my $model = $entry->{model}; $model =~ s/\s*(\S.*\S)\s*/$1/; push @storages, { DESCRIPTION => $entry->{displayName}, DISKSIZE => $size, # INTERFACE MANUFACTURER => $manufacturer, MODEL => $model, NAME => $entry->{deviceName}, TYPE => $entry->{deviceType}, SERIAL => $serialnumber, FIRMWARE => $entry->{revision}, # SCSI_COID # SCSI_CHID # SCSI_UNID # SCSI_LUN }; } return @storages; } sub getDrives { my ($self) = @_; my @drives; foreach ( _asArray($self->{hash}[0]{config}{fileSystemVolume}{mountInfo})) { my $volumn; if ( $_->{volume}{type} && ( $_->{volume}{type} =~ /NFS/i ) ) { $volumn = $_->{volume}{remoteHost} . ':' . $_->{volume}{remotePath}; # TODO # } else { # $volumn = $volumnMapping{$_->{volume}{extent}{diskName}}." ".$_->{volume}{extent}{partition}; } push @drives, { SERIAL => $_->{volume}{uuid}, TOTAL => int( ( $_->{volume}{capacity} || 0 ) / ( 1000 * 1000 ) ), TYPE => $_->{mountInfo}{path}, VOLUMN => $volumn, NAME => $_->{volume}{name}, FILESYSTEM => lc( $_->{volume}{type} ) }; } return @drives; } sub getVirtualMachines { my ($self) = @_; my @virtualMachines; foreach my $vm (@{$self->{vms}}) { my $machine = $vm->[0]; my $status = $machine->{summary}{runtime}{powerState} eq 'poweredOn' ? STATUS_RUNNING : $machine->{summary}{runtime}{powerState} eq 'poweredOff' ? STATUS_OFF : $machine->{summary}{runtime}{powerState} eq 'suspended' ? STATUS_PAUSED : undef ; print "Unknown status (".$machine->{summary}{runtime}{powerState}.")\n" if !$status; my @mac; foreach my $device (_asArray($machine->{config}{hardware}{device})) { push @mac, $device->{macAddress} if $device->{macAddress}; } my $comment = $machine->{config}{annotation}; # hack to preserve annotation / comment formating $comment =~ s/\n/ /gm if $comment; if ( defined($_->[0]{summary}{config}{template}) && $_->[0]{summary}{config}{template} eq 'true' ) { next; } push @virtualMachines, { NAME => $machine->{name}, STATUS => $status, UUID => $machine->{summary}{config}{uuid}, MEMORY => $machine->{summary}{config}{memorySizeMB}, VMTYPE => 'VMware', VCPU => $machine->{summary}{config}{numCpu}, MAC => join( '/', @mac ), COMMENT => $comment }; } return @virtualMachines; } 1; __END__ =head1 NAME FusionInventory::Agent::SOAP::VMware::Host - VMware Host abstraction layer =head1 DESCRIPTION The module is an abstraction layer to access the VMware host. =head1 FUNCTIONS =head2 new($class, %params) Returns an object. =head2 getBootTime( $self ) Returns the date in the following format: 2012-12-31T12:59:59 =head2 getHostname( $self ) Returns the host name. =head2 getBiosInfo( $self ) Returns the BIOS (BDATE, BVERSION, SMODEL, SMANUFACTURER, ASSETTAG, SSN) information in an HASH reference. =head2 getHardwareInfo( $self ) Returns hardware information in a hash reference. =head2 getCPUs( $self ) Returns CPU information (hash ref) in an array. =head2 getControllers( $self ) Returns PCI controller information (hash ref) in an array. =head2 getNetworks( $self ) Returns the networks configuration in an array. =head2 getStorages( $self ) Returns the storage devices in an array. =head2 getDrives( $self ) Returns the hard drive partitions in an array. =head2 getVirtualMachines( $self ) Retuns the Virtual Machines in an array. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SOAP/VMware.pm0000644000175000017500000003635313755502346025256 0ustar gbougardgbougardpackage FusionInventory::Agent::SOAP::VMware; use strict; use warnings; use English qw(-no_match_vars); use XML::TreePP; use LWP::UserAgent; use HTTP::Cookies; use FusionInventory::Agent; use FusionInventory::Agent::SOAP::VMware::Host; sub new { my ($class, %params) = @_; my $self = { url => $params{url}, tpp => XML::TreePP->new(force_array => [qw(returnval propSet)]), }; bless $self, $class; # create user agent $self->{ua} = LWP::UserAgent->new( requests_redirectable => ['POST', 'GET', 'HEAD'], agent => $FusionInventory::Agent::AGENT_STRING, timeout => $params{timeout} || 180, ssl_opts => { verify_hostname => 0, SSL_verify_mode => 0 }, cookie_jar => HTTP::Cookies->new(ignore_discard => 1), ); return $self; } sub _send { my ( $self, $action, $xmlToSend ) = @_; my $req = HTTP::Request->new( POST => $self->{url} ); $req->content($xmlToSend); $req->{_headers}->{soapaction} = "\"urn:vim25#" . $action . "\""; $req->{_headers}->{accept} = [ 'text/xml', 'application/soap' ]; $req->{_headers}->{'content-length'} = length($xmlToSend); $req->{_protocol} = 'HTTP/1.1'; $req->content_type('text/xml; charset=utf-8'); my $res = $self->{ua}->request($req); if ( $res->is_success ) { return $res->content; } else { my $err = $res->content; my $tmpRef = {}; eval { $err =~ s/.*(.*<\/faultstring>).*/$1/sg; $tmpRef = $self->{tpp}->parse($err); }; my $errorString = $res->status_line; if ( $tmpRef && $tmpRef->{faultstring} ) { $errorString .= ": " . $tmpRef->{faultstring}; } $self->{lastError} = $errorString; return; } return 1; } sub _parseAnswer { my ( $self, $answer ) = @_; return unless $answer; local $INPUT_RECORD_SEPARATOR; # Set input to "slurp" mode. # We simplify the XML structure my $pattern = '.*<\w+Response xmlns="urn:vim25">(.+).*$'; $answer =~ s/$pattern/$1/sg; $answer =~ s/ (xsi:|)type="[:\w]+"//sg; $answer =~ s/[[:cntrl:]]//g; my $tmpRef = $self->{tpp}->parse($answer); my $ref = []; foreach ( @{ $tmpRef->{returnval} } ) { if ( $_->{propSet} ) { my %tmp; foreach my $p ( @{ $_->{propSet} } ) { next unless $p->{val}; $tmp{ $p->{name} } = $p->{val}; } push @$ref, \%tmp; } else { push @$ref, $_; } } return $ref; } sub connect { my ( $self, $user, $password ) = @_; unless ($user) { $self->{lastError} = "No user".($self->{lastError} ? "" : " and password"). " provided for ESX connection"; return; } unless ($password) { $self->{lastError} = "No password provided for ESX connection"; return; } my $req = ' <_this type="ServiceInstance">ServiceInstance '; my $answer = $self->_send( 'ServiceInstance', $req ); return unless $answer; my $serviceInstance = $self->_parseAnswer($answer); return unless $serviceInstance; if ( $serviceInstance->[0]{about}{apiType} eq 'VirtualCenter' ) { $self->{vcenter} = 1; # TODO $self->{sessionManager} = "SessionManager"; $self->{propertyCollector} = "propertyCollector"; } else { $self->{vcenter} = 0; $self->{sessionManager} = "ha-sessionmgr"; $self->{propertyCollector} = "ha-property-collector"; } $req = ' <_this type="SessionManager">%s %s%s'; $answer = $self->_send( 'Login', sprintf( $req, $self->{sessionManager}, $user, $password ) ); return unless $answer; return if $answer =~ /ServerFaultCode/m; return $self->_parseAnswer($answer); } #sub getHostInfo { # my ($self) = @_; # # # my $req = # '<_this type="ServiceInstance">ServiceInstance'; # # # my $answer = $self->_send('RetrieveServiceContent', 'RetrieveServiceContent', $req); # my $ref = $self->_parseAnswer($answer); # # return $host; #} sub _getVirtualMachineList { my ($self) = @_; my $req = ' <_this type="PropertyCollector">ha-property-collector VirtualMachine0ha-folder-root 0folderTraversalSpecFolderchildEntity0folderTraversalSpecdatacenterHostTraversalSpecdatacenterVmTraversalSpecdatacenterDatastoreTraversalSpecdatacenterNetworkTraversalSpeccomputeResourceRpTraversalSpeccomputeResourceHostTraversalSpechostVmTraversalSpecresourcePoolVmTraversalSpecdatacenterDatastoreTraversalSpecDatacenterdatastoreFolder0folderTraversalSpecdatacenterNetworkTraversalSpecDatacenternetworkFolder0folderTraversalSpecdatacenterVmTraversalSpecDatacentervmFolder0folderTraversalSpecdatacenterHostTraversalSpecDatacenterhostFolder0folderTraversalSpeccomputeResourceHostTraversalSpecComputeResourcehost0computeResourceRpTraversalSpecComputeResourceresourcePool0resourcePoolTraversalSpecresourcePoolVmTraversalSpecresourcePoolTraversalSpecResourcePoolresourcePool0resourcePoolTraversalSpecresourcePoolVmTraversalSpechostVmTraversalSpecHostSystemvm0folderTraversalSpecresourcePoolVmTraversalSpecResourcePoolvm0 '; my $answer = $self->_send( 'RetrievePropertiesVMList', $req ); my $ref = $self->_parseAnswer($answer); my @list; if ( ref($ref) eq 'HASH' ) { push @list, $ref; } elsif ($ref) { @list = @{$ref}; } my @ids; foreach (@list) { push @ids, $_->{obj}; } return \@ids; } sub _getVirtualMachineById { my ( $self, $id ) = @_; my $req = ' <_this type="PropertyCollector">%s VirtualMachine1%s '; my $answer = $self->_send( 'RetrieveProperties', sprintf( $req, $self->{propertyCollector}, $id ) ); return [] unless $answer; # hack to preserve annotation / comment formating $answer =~ s/\n/ /gm; my $ref = $self->_parseAnswer($answer); return $ref; } sub getHostFullInfo { my ( $self, $id ) = @_; $id = 'ha-host' unless $id; my $req = ' <_this type="PropertyCollector">%s HostSystem1%s '; my $answer = $self->_send( 'RetrieveProperties', sprintf( $req, $self->{propertyCollector}, $id ) ); my $ref = $self->_parseAnswer($answer); my $vms = []; my $machineIdList; if ( exists( $ref->[0]{vm}{ManagedObjectReference} ) ) { # ESX 3.5 if ( ref( $ref->[0]{vm}{ManagedObjectReference} ) eq 'ARRAY' ) { $machineIdList = $ref->[0]{vm}{ManagedObjectReference}; } else { push @$machineIdList, $ref->[0]{vm}{ManagedObjectReference}; } } else { $machineIdList = $self->_getVirtualMachineList(); } #$vm = $ref->[0]{vm}; foreach my $id (@$machineIdList) { push @$vms, $self->_getVirtualMachineById($id); } my $host = FusionInventory::Agent::SOAP::VMware::Host->new( hash => $ref, vms => $vms ); return $host; } sub getHostIds { my ($self) = @_; if ( !$self->{vcenter} ) { return ['ha-host']; } my $req = ' <_this type="PropertyCollector">propertyCollector HostSystem0group-d1 0folderTraversalSpecFolderchildEntity0folderTraversalSpecdatacenterHostTraversalSpecdatacenterVmTraversalSpecdatacenterDatastoreTraversalSpecdatacenterNetworkTraversalSpeccomputeResourceRpTraversalSpeccomputeResourceHostTraversalSpechostVmTraversalSpecresourcePoolVmTraversalSpecdatacenterDatastoreTraversalSpecDatacenterdatastoreFolder0folderTraversalSpecdatacenterNetworkTraversalSpecDatacenternetworkFolder0folderTraversalSpecdatacenterVmTraversalSpecDatacentervmFolder0folderTraversalSpecdatacenterHostTraversalSpecDatacenterhostFolder0folderTraversalSpeccomputeResourceHostTraversalSpecComputeResourcehost0computeResourceRpTraversalSpecComputeResourceresourcePool0resourcePoolTraversalSpecresourcePoolVmTraversalSpecresourcePoolTraversalSpecResourcePoolresourcePool0resourcePoolTraversalSpecresourcePoolVmTraversalSpechostVmTraversalSpecHostSystemvm0folderTraversalSpecresourcePoolVmTraversalSpecResourcePoolvm0'; my $answer = $self->_send('RetrieveProperties', sprintf($req) ); my $ref = $self->_parseAnswer($answer); my @ids; foreach (@$ref) { push @ids, $_->{obj}; } return \@ids; } 1; __END__ =head1 NAME FusionInventory::Agent::SOAP::VMware - Access to VMware hypervisor =head1 DESCRIPTION This module allow access to VMware hypervisor using VMware SOAP API and _WITHOUT_ their Perl library. =head1 METHODS =head2 new(%params) Returns a VMware object. =head2 connect($user, $password) Connect the VMware object with the given credentials. =head2 getHostFullInfo($id) Returns a large hash structure with the host information. =head2 getHostIds() Returns the list of the virtual machine ID in an array reference. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/0000755000175000017500000000000013757703277023530 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/Mock.pm0000644000175000017500000002421413712210012024725 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::Mock; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP'; use FusionInventory::Agent::Tools; my %prefixes = ( 'iso' => '.1', 'SNMPv2-MIB::sysDescr' => '.1.3.6.1.2.1.1.1', 'SNMPv2-MIB::sysObjectID' => '.1.3.6.1.2.1.1.2', 'SNMPv2-MIB::sysUpTime' => '.1.3.6.1.2.1.1.3', 'SNMPv2-MIB::sysContact' => '.1.3.6.1.2.1.1.4', 'SNMPv2-MIB::sysName' => '.1.3.6.1.2.1.1.5', 'SNMPv2-MIB::sysLocation' => '.1.3.6.1.2.1.1.6', 'SNMPv2-MIB::sysORID' => '.1.3.6.1.2.1.1.9.1.2', 'SNMPv2-SMI::mib-2' => '.1.3.6.1.2.1', 'SNMPv2-SMI::enterprises' => '.1.3.6.1.4.1', 'IF-MIB::ifIndex' => '.1.3.6.1.2.1.2.2.1.1', 'IF-MIB::ifDescr' => '.1.3.6.1.2.1.2.2.1.2', 'IF-MIB::ifType' => '.1.3.6.1.2.1.2.2.1.3', 'IF-MIB::ifMtu' => '.1.3.6.1.2.1.2.2.1.4', 'IF-MIB::ifSpeed' => '.1.3.6.1.2.1.2.2.1.5', 'IF-MIB::ifPhysAddress' => '.1.3.6.1.2.1.2.2.1.6', 'IF-MIB::ifLastChange' => '.1.3.6.1.2.1.2.2.1.9', 'IF-MIB::ifInOctets' => '.1.3.6.1.2.1.2.2.1.10', 'IF-MIB::ifInErrors' => '.1.3.6.1.2.1.2.2.1.14', 'IF-MIB::ifOutOctets' => '.1.3.6.1.2.1.2.2.1.16', 'IF-MIB::ifOutErrors' => '.1.3.6.1.2.1.2.2.1.20', 'IF-MIB::ifName' => '.1.3.6.1.2.1.31.1.1.1.1', 'HOST-RESOURCES-MIB::hrDeviceDescr' => '.1.3.6.1.2.1.25.3.2.1.3', 'NET-SNMP-MIB::netSnmpAgentOIDs' => '.1.3.6.1.4.1.8072.3.2', 'ENTITY-MIB::entPhysicalIndex' => '.1.3.6.1.2.1.47.1.1.1.1.1', 'ENTITY-MIB::entPhysicalDescr' => '.1.3.6.1.2.1.47.1.1.1.1.2', 'ENTITY-MIB::entPhysicalContainedIn' => '.1.3.6.1.2.1.47.1.1.1.1.4', 'ENTITY-MIB::entPhysicalClass' => '.1.3.6.1.2.1.47.1.1.1.1.5', 'ENTITY-MIB::entPhysicalName' => '.1.3.6.1.2.1.47.1.1.1.1.7', 'ENTITY-MIB::entPhysicalHardwareRev' => '.1.3.6.1.2.1.47.1.1.1.1.8', 'ENTITY-MIB::entPhysicalFirmwareRev' => '.1.3.6.1.2.1.47.1.1.1.1.9', 'ENTITY-MIB::entPhysicalSoftwareRev' => '.1.3.6.1.2.1.47.1.1.1.1.10', 'ENTITY-MIB::entPhysicalSerialNum' => '.1.3.6.1.2.1.47.1.1.1.1.11', 'ENTITY-MIB::entPhysicalMfgName' => '.1.3.6.1.2.1.47.1.1.1.1.12', 'ENTITY-MIB::entPhysicalModelName' => '.1.3.6.1.2.1.47.1.1.1.1.13', 'ENTITY-MIB::entPhysicalIsFRU' => '.1.3.6.1.2.1.47.1.1.1.1.16', ); sub new { my ($class, %params) = @_; my $self = { _ip => $params{ip} }; bless $self, $class; SWITCH: { if ($params{file}) { die "non-existing file '$params{file}'\n" unless -f $params{file}; die "unreadable file '$params{file}'\n" unless -r $params{file}; $self->{_file} = $params{file}; $self->_setIndexedValues(); last SWITCH; } if ($params{hash}) { $self->{_walk} = {}; foreach my $oid (keys(%{$params{hash}})) { $self->_setValue($oid, $params{hash}->{$oid}); } last SWITCH; } } return $self; } sub switch_vlan_context { my ($self, $vlan_id) = @_; $self->{_oldwalk} = $self->{_walk} unless $self->{_oldwalk}; my $file = $self->{_file} . '@' . $vlan_id; if (-r $file && -f $file) { $self->_setIndexedValues($file); } else { delete $self->{_walk}; } } sub reset_original_context { my ($self) = @_; $self->{_walk} = $self->{_oldwalk} if $self->{_oldwalk}; delete $self->{_oldwalk}; } sub _setIndexedValues { my ($self, $file) = @_; my $handle = getFileHandle(file => $file || $self->{_file}); # check first line my $first_line = <$handle>; seek($handle, 0, 0); # check first line for safety die "invalid file format\n" unless $first_line =~ /^(\S+) = .*/; my $numerical = substr($first_line, 0, 1) eq '.' ? 1 : 0 ; my $last_value; $self->{_walk} = {}; while (my $line = <$handle>) { # Use different regex if walk contains numerical or symbolic oids if ($numerical) { if ($line =~ /^ (\S+) \s = \s (?:Wrong \s Type \s \(should \s be \s [^:]+\): \s)? ([^:]+): \s (.*) /x ) { my ($oid, $type, $value) = ($1, $2, $3); $last_value = [ $type, $value ]; $self->_setValue($oid, $last_value); next; } } else { if ($line =~ /^ ([^.]+) \. ([\d.]+) \s = \s (?:Wrong \s Type \s \(should \s be \s [^:]+\): \s)? ([^:]+): \s (.*) /x ) { my ($mib, $suffix, $type, $value) = ($1, $2, $3, $4); if ($prefixes{$mib}) { my $oid = $prefixes{$mib} . '.' . $suffix; $last_value = [ $type, $value ]; $self->_setValue($oid, $last_value); } else { # irrelevant OID $last_value = undef; } next; } } # Don't merge end of walk delimiter in last value last if $line =~ /No more variables left in this MIB View/; last if $line =~ /^End of MIB$/; # potential continuation if ($line !~ /^$/ && $line !~ /= ""$/ && $last_value) { if ($last_value->[0] eq 'STRING' && $last_value->[1] !~ /"$/ ) { chomp $line; $last_value->[1] .= "\n" . $line; next; } elsif ($last_value->[0] eq 'Hex-STRING') { chomp $line; $last_value->[1] .= $line; next; } } $last_value = undef; } close ($handle); } sub _setValue { my ($self, $oid, $value) = @_; # Optimization: use 6 first oid digits as tree root key as they don't often change my ($root, $nextoidpart) = $oid =~ /^(\.\d+\.\d+\.\d+\.\d+\.\d+\.\d+)(.*)$/ or return; # Prepare walk tree roots with empty node while not exist # 1st value node will contain sub-nodes # 2nd value will be the numder index # 3rd value will be a hash of sub-index -> sub-node ref in 1st values # 4th value will be a SNMP value array ref like [ TYPE, VALUE ] when # a value should be stored $self->{_walk}->{$root} = [ [], undef, {}, undef ] unless exists($self->{_walk}->{$root}); $oid = $nextoidpart; my $base = $self->{_walk}->{$root}; foreach my $num (split(/\./, substr($oid,1))) { # Get subnode ref if indexed if ($base->[2] && $base->[2]->{$num}) { $base = $base->[2]->{$num}; # Otherwise initialize a new subnode } else { my $ref = [undef, $num, {}]; # Initialize an array ref as subnode if necessary $base->[0] = [] unless $base->[0]; # Push new sub-node in list push @{$base->[0]}, $ref; # Index sub-node $base->[2]->{$num} = $ref; # New subnode becomes the base node $base = $ref; } } # Keep value in leaf $base->[2] = undef; $base->[3] = $value; } sub _getValue { my ($self, $oid, $walk) = @_; my ($root, $nextoidpart) = $oid =~ /^(\.\d+\.\d+\.\d+\.\d+\.\d+\.\d+)(.*)$/ or return; return unless exists($self->{_walk}->{$root}); $oid = $nextoidpart; my $base = $self->{_walk}->{$root}; foreach my $num (split(/\./, substr($oid,1))) { # No value if no subnode indexed # Also no value if requested subnode is not indexed return unless $base->[2] && $base->[2]->{$num}; $base = $base->[2]->{$num}; } return $walk ? $base : $base->[3]; } sub get { my ($self, $oid) = @_; return unless $oid; my $value = $self->_getValue($oid) or return; return _getSanitizedValue( $value->[0], $value->[1], ); } sub _deepwalk { my ($base) = @_; my $hash = {}; # Lookup all current base subnodes foreach my $ref (@{$base->[0]}) { # We need the subnode key as hash key my $key = $ref->[1]; # Keep the value is one is available if (defined($ref->[3])) { $hash->{$key} = _getSanitizedValue(@{$ref->[3]}); } # walk subnodes subnode if ($ref->[0]) { my $subkeys = _deepwalk($ref); foreach my $subkey (keys(%{$subkeys})) { # Keep subkey values $hash->{$key.".".$subkey} = $subkeys->{$subkey}; } } } return $hash; } sub walk { my ($self, $oid) = @_; return unless $oid; my $base = $self->_getValue($oid, 1) or return; # Don't walk unless subnodes exist return unless $base->[0]; return _deepwalk($base); } sub _getSanitizedValue { my ($format, $value) = @_; if ($format eq 'Hex-STRING') { $value =~ s/\s//g; $value = "0x".$value; } elsif ($format eq 'STRING') { $value =~ s/^(?{_ip}; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::Mock - Mock SNMP client =head1 DESCRIPTION This is the object used by the agent to replay SNMP queries on snmpwalk files. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item file (mandatory) =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/Device.pm0000644000175000017500000004063313712225065025254 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::Device; use strict; use warnings; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use FusionInventory::Agent::Tools::Network; use FusionInventory::Agent::SNMP::MibSupport; use FusionInventory::Agent::SNMP::Device::Components; # Supported infos are specified here: # http://fusioninventory.org/documentation/dev/spec/protocol/netdiscovery.html use constant discovery => [ qw( DESCRIPTION FIRMWARE ID IPS LOCATION MAC MEMORY MODEL SNMPHOSTNAME TYPE SERIAL UPTIME MANUFACTURER CONTACT AUTHSNMP )]; # http://fusioninventory.org/documentation/dev/spec/protocol/netinventory.html use constant inventory => [ qw( INFO PORTS MODEMS FIRMWARES SIMCARDS PAGECOUNTERS CARTRIDGES COMPONENTS )]; # common base variables my $base_variables = { SNMPHOSTNAME => { oid => [ '.1.3.6.1.2.1.1.5.0', '.1.3.6.1.4.1.2699.1.2.1.2.1.1.2.1', # PRINTER-PORT-MONITOR-MIB, ppmPrinterName ], type => 'string', }, LOCATION => { oid => '.1.3.6.1.2.1.1.6.0', type => 'string', }, CONTACT => { oid => '.1.3.6.1.2.1.1.4.0', type => 'string', }, UPTIME => { oid => '.1.3.6.1.2.1.1.3.0', type => 'string', }, }; # common base variables for inventory only my $inventory_only_base_variables = { CPU => { oid => [ '.1.3.6.1.4.1.9.9.109.1.1.1.1.6.1', '.1.3.6.1.4.1.9.9.109.1.1.1.1.3.1', ], type => 'count', }, MEMORY => { oid => '.1.3.6.1.2.1.25.2.3.1.5.1', type => 'memory', }, RAM => { oid => { '.1.3.6.1.4.1.2021.4.5' => 'kb', '.1.3.6.1.4.1.9.3.6.6.0' => 'bytes', '.1.3.6.1.2.1.25.2.2.0' => 'kb', }, type => 'memory', }, }; sub new { my ($class, %params) = @_; my $snmp = $params{snmp}; my $logger = $params{logger}; return unless $snmp; my $self = { snmp => $snmp, logger => $logger }; bless $self, $class; return $self; } sub get { my ($self, $oid) = @_; return unless $self->{snmp} && $oid; return $self->{snmp}->get($oid); } sub walk { my ($self, $oid) = @_; return unless $self->{snmp} && $oid; return $self->{snmp}->walk($oid); } sub loadMibSupport { my ($self, $sysobjectid) = @_; # list supported mibs regarding sysORID list as this list permits to # identify device supported MIBs $self->{MIBSUPPORT} = FusionInventory::Agent::SNMP::MibSupport->new( sysobjectid => $sysobjectid, device => $self, logger => $self->{logger} ); } sub runMibSupport { my ($self) = @_; return unless $self->{MIBSUPPORT}; $self->{MIBSUPPORT}->run(); } sub getSerialByMibSupport { my ($self) = @_; return unless $self->{MIBSUPPORT}; return $self->{MIBSUPPORT}->getMethod('getSerial'); } sub getFirmwareByMibSupport { my ($self) = @_; return unless $self->{MIBSUPPORT}; return $self->{MIBSUPPORT}->getMethod('getFirmware'); } sub getFirmwareDateByMibSupport { my ($self) = @_; return unless $self->{MIBSUPPORT}; return $self->{MIBSUPPORT}->getMethod('getFirmwareDate'); } sub getMacAddressByMibSupport { my ($self) = @_; return unless $self->{MIBSUPPORT}; return $self->{MIBSUPPORT}->getMethod('getMacAddress'); } sub getIpByMibSupport { my ($self) = @_; return unless $self->{MIBSUPPORT}; return $self->{MIBSUPPORT}->getMethod('getIp'); } sub getDiscoveryInfo { my ($self) = @_; my $info = {}; # Filter out to only keep discovery infos my $infos = discovery; foreach my $infokey (@{$infos}) { $info->{$infokey} = $self->{$infokey} if exists($self->{$infokey}); } return $info; } sub getInventory { my ($self) = @_; my $inventory = {}; # Filter out to only keep inventory infos my $infos = inventory; foreach my $infokey (@{$infos}) { $inventory->{$infokey} = $self->{$infokey} if exists($self->{$infokey}); } return $inventory; } sub addComponent { my ($self, $component) = @_; return unless _cleanHash($component); push @{$self->{COMPONENTS}->{COMPONENT}}, $component; } sub addModem { my ($self, $modem) = @_; return unless _cleanHash($modem); push @{$self->{MODEMS}}, $modem; } sub addFirmware { my ($self, $firmware) = @_; return unless _cleanHash($firmware); push @{$self->{FIRMWARES}}, $firmware; } sub addSimcard { my ($self, $simcard) = @_; return unless _cleanHash($simcard); push @{$self->{SIMCARDS}}, $simcard; } sub addPort { my ($self, %ports) = @_; foreach my $port (keys(%ports)) { next unless _cleanHash($ports{$port}); $self->{PORTS}->{PORT}->{$port} = $ports{$port}; } } sub _cleanHash { my ($hashref) = @_; return unless ref($hashref) eq 'HASH'; my $keys = 0 ; foreach my $key (keys(%{$hashref})) { $keys++; next if defined($hashref->{$key}); delete $hashref->{$key}; $keys--; } return $keys; } sub setSerial { my ($self) = @_; my $serial = # First try MIB Support mechanism $self->getSerialByMibSupport() || # Entity-MIB::entPhysicalSerialNum $self->{snmp}->get_first('.1.3.6.1.2.1.47.1.1.1.1.11') || # Printer-MIB::prtGeneralSerialNumber $self->{snmp}->get_first('.1.3.6.1.2.1.43.5.1.1.17'); if ( not defined $serial ) { # vendor specific OIDs my @oids = ( '.1.3.6.1.4.1.2636.3.1.3.0', # Juniper-MIB '.1.3.6.1.4.1.248.14.1.1.9.1.10.1', # Hirschman MIB '.1.3.6.1.4.1.253.8.53.3.2.1.3.1', # Xerox-MIB '.1.3.6.1.4.1.367.3.2.1.2.1.4.0', # Ricoh-MIB '.1.3.6.1.4.1.641.2.1.2.1.6.1', # Lexmark-MIB '.1.3.6.1.4.1.1602.1.2.1.4.0', # Canon-MIB '.1.3.6.1.4.1.2435.2.3.9.4.2.1.5.5.1.0', # Brother-MIB '.1.3.6.1.4.1.318.1.1.4.1.5.0', # MasterSwitch-MIB '.1.3.6.1.4.1.6027.3.8.1.1.5.0', # F10-C-SERIES-CHASSIS-MIB '.1.3.6.1.4.1.6027.3.10.1.2.2.1.12.1', # FORCE10-SMI '.1.3.6.1.4.1.3417.2.11.1.4.0', # BLUECOAT-SG-PROXY-MIB '.1.3.6.1.4.1.232.2.2.2.1.0', # CPQSINFO-MIB '.1.3.6.1.4.1.232.11.2.10.3.0', # CPQHOST-MIB '.1.3.6.1.4.1.14823.2.3.3.1.2.1.1.4.144.76.129.206.143.6', # ARUBA-MIB ); foreach my $oid (@oids) { $serial = $self->get($oid); last if $serial; } } $serial = getCanonicalSerialNumber($serial); return unless $serial; # Skip well-known invalid serial number return if $serial =~ /^X+$/; $self->{SERIAL} = $serial; } sub setFirmware { my ($self) = @_; my $firmware = # First try to get firmware from MIB Support mechanism $self->getFirmwareByMibSupport() || # entPhysicalSoftwareRev $self->{snmp}->get_first('.1.3.6.1.2.1.47.1.1.1.1.10') || # entPhysicalFirmwareRev $self->{snmp}->get_first('.1.3.6.1.2.1.47.1.1.1.1.9'); if ( not defined $firmware ) { # vendor specific OIDs my @oids = ( '.1.3.6.1.4.1.9.9.25.1.1.1.2.5', # Cisco / IOS '.1.3.6.1.4.1.248.14.1.1.2.0', # Hirschman MIB '.1.3.6.1.4.1.2636.3.40.1.4.1.1.1.5.0', # Juniper-MIB ); foreach my $oid (@oids) { $firmware = $self->get($oid); last if defined $firmware; } return unless defined $firmware; } $firmware = getCanonicalString($firmware); return unless $firmware; # Set device firmware $self->{FIRMWARE} = $firmware; # Also add firmware as device FIRMWARES $self->addFirmware({ NAME => $self->{MODEL} || 'device', DESCRIPTION => 'device firmware', TYPE => 'device', DATE => $self->getFirmwareDateByMibSupport(), VERSION => $self->{FIRMWARE}, MANUFACTURER => $self->{MANUFACTURER} }); } sub setMacAddress { my ($self) = @_; my $address_oid = ".1.3.6.1.2.1.17.1.1.0"; my $address = getCanonicalMacAddress( # use BRIDGE-MIB::dot1dBaseBridgeAddress if available $self->get($address_oid) || # Try MIB Support mechanism $self->getMacAddressByMibSupport() ); return $self->{MAC} = $address if $address && $address =~ /^$mac_address_pattern$/; # fallback on ports addresses (IF-MIB::ifPhysAddress) if unique my $addresses_oid = ".1.3.6.1.2.1.2.2.1.6"; my $addresses = $self->walk($addresses_oid); # interfaces list with defined ip to use as filter to select shorter mac address list my $ips = $self->walk('.1.3.6.1.2.1.4.20.1.2'); # If peer adress is known, get mac from it my $peer = $self->{snmp}->peer_address(); if ($peer && $ips->{$peer} && $addresses->{$ips->{$peer}}) { $address = getCanonicalMacAddress($addresses->{$ips->{$peer}}); return $self->{MAC} = $address if $address && $address =~ /^$mac_address_pattern$/; } my @all_mac_addresses = (); # Try first to obtain shorter mac address list using ip interface list filter @all_mac_addresses = grep { defined } map { $addresses->{$_} } values %{$ips} if (keys(%{$ips})); # Finally get all defined mac adresses if ip filtered related list remains empty @all_mac_addresses = grep { defined } values %{$addresses} unless @all_mac_addresses; my @valid_mac_addresses = uniq grep { /^$mac_address_pattern$/ } grep { $_ ne '00:00:00:00:00:00' } grep { $_ } map { getCanonicalMacAddress($_) } @all_mac_addresses; if (@valid_mac_addresses) { return $self->{MAC} = $valid_mac_addresses[0] if @valid_mac_addresses == 1; # Compute mac addresses as number and sort them my %macs = map { $_ => _numericMac($_) } @valid_mac_addresses; my @sortedMac = sort { $macs{$a} <=> $macs{$b} } @valid_mac_addresses; # Then find first couple of consecutive mac and return first one as this # seems to be the first manufacturer defined mac address while (@sortedMac > 1) { my $currentMac = shift @sortedMac; return $self->{MAC} = $currentMac if ($macs{$currentMac} == $macs{$sortedMac[0]} - 1); } } } # rules on model name to reset manufacturer to real vendor my %sysmodel_first_word = ( 'dell' => { manufacturer => 'Dell', }, ); sub setModel { my ($self) = @_; # fallback model identification attempt, using type-specific OID value if (!exists $self->{MODEL}) { my $model = exists $self->{TYPE} && $self->{TYPE} eq 'PRINTER' ? $self->get('.1.3.6.1.2.1.25.3.2.1.3.1') : exists $self->{TYPE} && $self->{TYPE} eq 'POWER' ? $self->get('.1.3.6.1.2.1.33.1.1.5.0') : # UPS-MIB $self->get('.1.3.6.1.2.1.47.1.1.1.1.13.1') ; $self->{MODEL} = getCanonicalString($model) if $model; } # fallback manufacturer identification attempt, using type-agnostic OID if (!exists $self->{MANUFACTURER}) { my $manufacturer = $self->get('.1.3.6.1.2.1.43.8.2.1.14.1.1'); $self->{MANUFACTURER} = $manufacturer if $manufacturer; } # reset manufacturer by rule as real vendor based on first model word if (exists $self->{MODEL}) { my ($first_word) = $self->{MODEL} =~ /(\S+)/; my $result = $sysmodel_first_word{lc($first_word)}; if ($result && $result->{manufacturer}) { $self->{MANUFACTURER} = $result->{manufacturer}; } } # Permit mib support to reset model if ($self->{MIBSUPPORT}) { my $model = $self->{MIBSUPPORT}->getMethod('getModel'); $self->{MODEL} = getCanonicalString($model) if $model; } } sub setType { my ($self) = @_; # Permit mib support to reset type if ($self->{MIBSUPPORT}) { my $type = $self->{MIBSUPPORT}->getMethod('getType'); $self->{TYPE} = $type if $type; } } sub setManufacturer { my ($self) = @_; # Permit mib support to reset manufacturer if ($self->{MIBSUPPORT}) { my $manufacturer = $self->{MIBSUPPORT}->getMethod('getManufacturer'); $self->{MANUFACTURER} = $manufacturer if $manufacturer; } } sub setBaseInfos { my ($self) = @_; $self->_set_from_oid_list($base_variables, $self); # Filter out LOCATION & CONTACT from unwanted values if ($self->{LOCATION} && $self->{LOCATION} =~ /edit \/etc.*snmp.*\.conf/) { delete $self->{LOCATION}; } if ($self->{CONTACT} && $self->{CONTACT} =~ /configure \/etc.*snmp.*\.conf/) { delete $self->{CONTACT}; } } sub setSnmpHostname { my ($self) = @_; # Permit mib support to reset snmphostname if ($self->{MIBSUPPORT}) { my $name = $self->{MIBSUPPORT}->getMethod('getSnmpHostname'); $self->{SNMPHOSTNAME} = $name if $name; } } sub setInventoryBaseInfos { my ($self) = @_; $self->_set_from_oid_list($inventory_only_base_variables, $self->{INFO}); } sub _set_from_oid_list { my ($self, $list, $where) = @_; foreach my $key (keys %{$list}) { my $variable = $list->{$key}; my $type = $variable->{type}; my $raw_value; if (ref $variable->{oid} eq 'ARRAY') { foreach my $oid (@{$variable->{oid}}) { $raw_value = $self->get($oid); if (defined($raw_value) && $type =~ /^memory|count$/) { # Skip value if it seems not to include a number for memory & count undef $raw_value unless $raw_value =~ /\d+/; } last if defined $raw_value; } } elsif (ref $variable->{oid} eq 'HASH') { foreach my $oid (keys %{$variable->{oid}}) { $raw_value = $self->get($oid); if (defined($raw_value) && $type =~ /^memory|count$/) { # Skip value if it seems not to include a number for memory & count undef $raw_value unless $raw_value =~ /\d+/; $raw_value .= ' kB' if $variable->{oid}->{$oid} eq 'kb' && isInteger($raw_value); } last if defined $raw_value; } } else { $raw_value = $self->get($variable->{oid}); } next unless defined $raw_value; my $value = $type eq 'memory' ? getCanonicalMemory($raw_value) : $type eq 'string' ? getCanonicalString($raw_value) : $type eq 'count' ? getCanonicalCount($raw_value) : $raw_value; $where->{$key} = $value if defined $value; } } sub _numericMac { my ($mac) = @_; my $number = 0; my $multiplicator = 1; my @parts = split(':', $mac); while (@parts) { $number += hex(pop(@parts))*$multiplicator; $multiplicator <<= 8 ; } return $number; } sub setIp { my ($self) = @_; my $results = $self->walk('.1.3.6.1.2.1.4.20.1.1'); return $self->{IPS}->{IP} = [ sort values %{$results} ] if $results; my $ip = $self->getIpByMibSupport(); $self->{IPS}->{IP} = [ $ip ] if $ip; } sub setComponents { my ($self) = @_; # First try to get components from standard ENTITY-MIB support my $components = FusionInventory::Agent::SNMP::Device::Components->new( device => $self ); if ($components) { foreach my $component (@{$components->getPhysicalComponents()}) { $self->addComponent($component); } } # Then look for any plugin providing getComponents API if ($self->{MIBSUPPORT}) { $components = $self->{MIBSUPPORT}->getMethod('getComponents') || []; foreach my $component (@{$components}) { $self->addComponent($component); } } } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::Device - FusionInventory agent SNMP device =head1 DESCRIPTION Class to help handle general method to apply on snmp device discovery/inventory =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item logger =item snmp (mandatory) SNMP session object =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/0000755000175000017500000000000013757703277025634 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/iLO.pm0000644000175000017500000000575713712210012026636 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::iLO; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # Constants extracted from Compaq cpqsm2.mib, as said in mib: # Implementation of the cpqSm2Cntrl group is mandatory for all agents # supporting the Remote Insight/Integrated Lights-Out MIB. # All Compaq iLO sysobjectid starts with .1.3.6.1.4.1.232.9.4 use constant compaq => '.1.3.6.1.4.1.232' ; use constant cpqSm2Cntrl => compaq . '.9.2.2' ; use constant cpqSm2Nic => compaq . '.9.2.5' ; our $mibSupport = [ { name => "cpqsm2", sysobjectid => qr/^\.1\.3\.6\.1\.4\.1\.232\.9\.4/ } ]; sub getFirmware { my ($self) = @_; return $self->get(cpqSm2Cntrl . '.2.0'); } sub getFirmwareDate { my ($self) = @_; return $self->get(cpqSm2Cntrl . '.1.0'); } sub getSerial { my ($self) = @_; return $self->get(cpqSm2Cntrl . '.15.0'); } sub getMacAddress { my ($self) = @_; my $cpqSm2NicConfigEntry = $self->_cpqSm2NicConfigEntry(); return unless ref($cpqSm2NicConfigEntry) eq 'ARRAY' && @{$cpqSm2NicConfigEntry}; return $cpqSm2NicConfigEntry->[3]; } sub getIp { my ($self) = @_; my $cpqSm2NicConfigEntry = $self->_cpqSm2NicConfigEntry(); return unless ref($cpqSm2NicConfigEntry) eq 'ARRAY' && @{$cpqSm2NicConfigEntry}; return $cpqSm2NicConfigEntry->[4]; } # TODO: Report server GUID so it is possible to link iLO to related host #sub _getServerGUID { # my ($self) = @_; # # return $self->get(cpqSm2Cntrl . '.26.0'); #} my $sm2seq; # Handle cached cpqSm2NicConfigEntry sequence to limit walk during netinventory sub _cpqSm2NicConfigEntry { my ($self) = @_; return $sm2seq ? $sm2seq : $sm2seq = $self->getSequence(cpqSm2Nic . '.1.1'); } sub run { my ($self) = @_; my $device = $self->device or return; my $cpqSm2NicConfigEntry = $self->_cpqSm2NicConfigEntry(); return unless ref($cpqSm2NicConfigEntry) eq 'ARRAY' && @{$cpqSm2NicConfigEntry}; my @status = qw(- 2 1 2); my $port = { IFNUMBER => 1, IFDESCR => getCanonicalString($cpqSm2NicConfigEntry->[1]), MAC => getCanonicalMacAddress($cpqSm2NicConfigEntry->[3]), IFSTATUS => $status[getCanonicalConstant($cpqSm2NicConfigEntry->[6])] || '2', IFPORTDUPLEX => getCanonicalConstant($cpqSm2NicConfigEntry->[7]), IFSPEED => getCanonicalConstant($cpqSm2NicConfigEntry->[8]) * 1000, IFMTU => getCanonicalConstant($cpqSm2NicConfigEntry->[11]), IPS => { IP => [ $cpqSm2NicConfigEntry->[4] ] } }; $device->addPort( 1 => $port ); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::iLO - Inventory module for Digi modems and associated sim cards & firmwares =head1 DESCRIPTION The module adds SIMCARDS, MODEMS & FIRMWARES support for Digi devices FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/LinuxAppliance.pm0000644000175000017500000001566413752244342031106 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::LinuxAppliance; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use constant iso => '.1.3.6.1.2.1'; use constant enterprises => '.1.3.6.1.4.1' ; use constant linux => enterprises . '.8072.3.2.10' ; use constant ucddavis => enterprises . '.2021' ; use constant checkpoint => enterprises . '.2620' ; use constant synology => enterprises . '.6574' ; use constant ubnt => enterprises . '.41112' ; use constant ucdExperimental => ucddavis . '.13' ; # UCD-DLMOD-MIB DEFINITIONS use constant ucdDlmodMIB => ucdExperimental . '.14' ; use constant dlmodEntry => ucdDlmodMIB . '.2.1' ; use constant dlmodName => dlmodEntry . '.2.1' ; # SYNOLOGY-SYSTEM-MIB use constant dsmInfo => synology . '.1.5'; use constant dsmInfo_modelName => dsmInfo . '.1.0'; use constant dsmInfo_serialNumber => dsmInfo . '.2.0'; use constant dsmInfo_version => dsmInfo . '.3.0'; # CHECKPOINT-MIB use constant svnProdName => checkpoint . '.1.6.1.0'; use constant svnVersion => checkpoint . '.1.6.4.1.0'; use constant svnApplianceSerialNumber => checkpoint . '.1.6.16.3.0'; use constant svnApplianceModel => checkpoint . '.1.6.16.7.0'; use constant svnApplianceManufacturer => checkpoint . '.1.6.16.9.0'; # SNMP-FRAMEWORK-MIB use constant snmpModules => '.1.3.6.1.6.3'; use constant snmpEngine => snmpModules . '.10.2.1'; use constant snmpEngineID => snmpEngine . '.1.0'; # HOST-RESOURCES-MIB use constant hrStorageEntry => iso . '.25.2.3.1.3'; use constant hrSWRunName => iso . '.25.4.2.1.2'; # UBNT-UniFi-MIB use constant ubntUniFi => ubnt . '.1.6' ; use constant unifiApSystemModel => ubntUniFi . '.3.3.0' ; use constant unifiApSystemVersion => ubntUniFi . '.3.6.0' ; our $mibSupport = [ { name => "linux", sysobjectid => getRegexpOidMatch(linux) } ]; sub getType { my ($self) = @_; my $device = $self->device or return; # Seagate NAS detection my $hrStorageEntry = $self->walk(hrStorageEntry); if ($hrStorageEntry && grep { m|^/lacie|i } values(%{$hrStorageEntry})) { $device->{_Appliance} = { MODEL => 'Seagate NAS', MANUFACTURER => 'Seagate' }; return 'STORAGE'; } # Quescom detection my $dlmodName = $self->get(dlmodName); if ($dlmodName && $dlmodName eq 'QuesComSnmpObject') { $device->{_Appliance} = { MODEL => 'QuesCom', MANUFACTURER => 'QuesCom' }; return 'NETWORKING'; } # Synology detection my $dsmInfo_modelName = $self->get(dsmInfo_modelName); if ($dsmInfo_modelName) { $device->{_Appliance} = { MODEL => $dsmInfo_modelName, MANUFACTURER => 'Synology' }; return 'STORAGE'; } # CheckPoint detection my $svnApplianceManufacturer = $self->get(svnApplianceManufacturer); if ($svnApplianceManufacturer) { $device->{_Appliance} = { MODEL => $self->get(svnApplianceModel), MANUFACTURER => 'CheckPoint' }; return 'NETWORKING'; } # Sophos detection, just lookup for an existing process if ($self->_hasProcess('mdw.plx')) { $device->{_Appliance} = { MODEL => 'Sophos UTM', MANUFACTURER => 'Sophos' }; return 'NETWORKING'; } # UniFi AP detection my $unifiModel = $self->get(unifiApSystemModel); if ($unifiModel) { $device->{_Appliance} = { MODEL => $unifiModel, MANUFACTURER => 'Ubiquiti' }; return 'NETWORKING'; } } sub _hasProcess { my ($self, $name) = @_; return unless $name; # Cache the walk result in the case we have to answer many _hasProcess() calls $self->{hrSWRunName} ||= $self->walk(hrSWRunName); return unless $self->{hrSWRunName}; return any { getCanonicalString($_) eq $name } values(%{$self->{hrSWRunName}}); } sub getModel { my ($self) = @_; my $device = $self->device or return; return unless $device->{_Appliance} && $device->{_Appliance}->{MODEL}; return $device->{_Appliance}->{MODEL}; } sub getManufacturer { my ($self) = @_; my $device = $self->device or return; return unless $device->{_Appliance} && $device->{_Appliance}->{MANUFACTURER}; return $device->{_Appliance}->{MANUFACTURER}; } sub getSerial { my ($self) = @_; my $device = $self->device or return; my $manufacturer = $self->getManufacturer() or return; my $serial; if ($manufacturer eq 'Synology') { $serial = $self->get(dsmInfo_serialNumber); } elsif ($manufacturer eq 'CheckPoint') { $serial = $self->get(svnApplianceSerialNumber); } elsif ($manufacturer eq 'Seagate') { my $snmpEngineID = $self->get(snmpEngineID); if ($snmpEngineID) { # Use stripped snmpEngineID as serial when found $snmpEngineID =~ s/^0x//; $serial = $snmpEngineID; } } elsif ($manufacturer eq 'Ubiquiti' && $device->{MAC}) { $serial = $device->{MAC}; $serial =~ s/://g; } return $serial; } sub run { my ($self) = @_; my $device = $self->device or return; my $manufacturer = $self->getManufacturer() or return; my $firmware; if ($manufacturer eq 'Synology') { $firmware = { NAME => "$manufacturer DSM", DESCRIPTION => "$manufacturer DSM firmware", TYPE => "system", VERSION => getCanonicalString($self->get(dsmInfo_version)), MANUFACTURER => $manufacturer }; } elsif ($manufacturer eq 'CheckPoint') { $firmware = { NAME => getCanonicalString($self->get(svnProdName)), DESCRIPTION => "$manufacturer SVN version", TYPE => "system", VERSION => getCanonicalString($self->get(svnVersion)), MANUFACTURER => $manufacturer }; } elsif ($manufacturer eq 'Ubiquiti') { $firmware = { NAME => $self->getModel(), DESCRIPTION => "Unifi AP System version", TYPE => "system", VERSION => getCanonicalString($self->get(unifiApSystemVersion)), MANUFACTURER => $manufacturer }; } $device->addFirmware($firmware) if $firmware; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::LinuxAppliance - Inventory module for Linux Appliances =head1 DESCRIPTION The module tries to enhance the Linux Appliances support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Zebra.pm0000644000175000017500000000265413712210012027207 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Zebra; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # See ESI-MIB use constant esi => '.1.3.6.1.4.1.683' ; use constant model2 => esi . '.6.2.3.2.1.15.1' ; use constant serial => esi . '.1.5.0' ; use constant fw2 => esi . '.1.9.0' ; # See ZEBRA-QL-MIB use constant zebra => '.1.3.6.1.4.1.10642' ; use constant model1 => zebra . '.1.1.0' ; use constant fw1 => zebra . '.1.2.0' ; use constant zql_zebra_ql => zebra . '.200' ; use constant model3 => zql_zebra_ql . '.19.7.0' ; use constant serial3 => zql_zebra_ql . '.19.5.0' ; our $mibSupport = [ { name => "zebra-printer", sysobjectid => getRegexpOidMatch(esi) } ]; sub getSerial { my ($self) = @_; # serial3 is more accurate than serial on GK420 & ZE500 return hex2char($self->get(serial3) || $self->get(serial)); } sub getModel { my ($self) = @_; return hex2char($self->get(model1) || $self->get(model2) || $self->get(model3)); } sub getFirmware { my ($self) = @_; return hex2char($self->get(fw1) || $self->get(fw2)); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Zebra - Inventory module for Zebra Printers =head1 DESCRIPTION The module enhances Zebra printers devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Digi.pm0000644000175000017500000000654213712210012027020 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Digi; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; # Constants extracted from Digi Sarian-Monitor.mib use constant sarianMonitor => ".1.3.6.1.4.1.16378.10000" ; use constant sarianGPRS => sarianMonitor . ".2" ; use constant sarianSystem => sarianMonitor . ".3" ; use English qw(-no_match_vars); use UNIVERSAL::require; our $mibSupport = [ { name => "sarianMonitor", oid => sarianMonitor } ]; # Supported values start from index 1 my @gprsNetworkTechnology = qw(- unknown gprs edge umts hsdpa hsupa hspa lte); sub getFirmware { my ($self) = @_; return $self->get(sarianSystem . '.16.0'); } sub getSerial { my ($self) = @_; return $self->get(sarianSystem . '.15.0'); } sub run { my ($self) = @_; my $device = $self->device or return; my $sarianSystem = $device->walk(sarianSystem); # Handle modem Digi private OIDs if found if ($sarianSystem) { my $modem = { NAME => "Digi modem", DESCRIPTION => $sarianSystem->{'14.0'}, MODEL => $sarianSystem->{'19.0'}, MANUFACTURER => "Digi", }; # Handle SIM card looking for GRPS status my $sarianGPRS = $device->walk(sarianGPRS); if ($sarianGPRS) { my $simcard = { IMSI => $sarianGPRS->{'21.0'}, # gprsIMSI ICCID => $sarianGPRS->{'20.0'}, # gprsICCID }; my $operator = $sarianGPRS->{'22.0'}; # gprsNetwork if ($operator) { my ($name, $mcc, $mnc) = $operator =~ /^(.*),\s*(\d{3})(\d+)$/ ; $simcard->{OPERATOR_NAME} = $name; if ($mcc) { $simcard->{OPERATOR_CODE} = "$mcc.$mnc" if $mnc; $simcard->{COUNTRY} = getCountryMCC($mcc) if FusionInventory::Agent::Tools::Standards::MobileCountryCode->use(); } } # Include used SIM in STATE my $sim_status = $sarianGPRS->{'26.0'}; # gprsSIMStatus my $sim_number = $sarianGPRS->{'30.0'}; # gprsCurrentSIM $simcard->{STATE} = ($sim_number ? "SIM$sim_number - " : "") . ( $sim_status || "" ); $device->addSimcard($simcard); # use IMEI as modem serial $modem->{SERIAL} = $sarianGPRS->{'19.0'}; # gprsIMEI # set modem type my $techno = $sarianGPRS->{'7.0'}; # gprsNetworkTechnology if ($techno && $techno <= @gprsNetworkTechnology) { $modem->{TYPE} = $gprsNetworkTechnology[$techno]; } } $device->addModem($modem); # Add modem firmware my $modemFirmware = { NAME => "Digi modem", DESCRIPTION => "Digi $sarianSystem->{'19.0'} modem", TYPE => "modem", VERSION => $sarianSystem->{'20.0'}, MANUFACTURER => "Digi" }; $device->addFirmware($modemFirmware); } } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Digi - Inventory module for Digi modems and associated sim cards & firmwares =head1 DESCRIPTION The module adds SIMCARDS, MODEMS & FIRMWARES support for Digi devices FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Kyocera.pm0000644000175000017500000000142713723400156027552 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Kyocera; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use constant kyocera => '.1.3.6.1.4.1.1347'; use constant sysName => kyocera . '.40.10.1.1.5.1'; use constant kyoceraPrinter => kyocera . '.41'; our $mibSupport = [ { name => "kyocera", sysobjectid => getRegexpOidMatch(kyoceraPrinter) } ]; sub getSnmpHostname { my ($self) = @_; return getCanonicalString($self->get(sysName)); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Kyocera - Inventory module for Kyocera printers =head1 DESCRIPTION This module enhances Kyocera printers support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Panasas.pm0000644000175000017500000000351013712210012027522 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Panasas; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # See PANASAS-ROOT-MIB use constant panasas => '.1.3.6.1.4.1.10159' ; use constant panHw => panasas . '.1.2' ; use constant panFs => panasas . '.1.3' ; # See PANASAS-SYSTEM-MIB-V1 use constant panClusterName => panFs . '.2.1.1.0' ; use constant panClusterManagementAddress => panFs . '.2.1.2.0' ; use constant panClusterRepsetEntryIpAddr => panFs . '.2.1.3.1.2' ; use constant panClusterRepsetEntryBladeHwSN => panFs . '.2.1.3.1.3' ; our $mibSupport = [ { name => "panasas-panfs", sysobjectid => getRegexpOidMatch(panFs.'.0') } ]; sub getSerial { my ($self) = @_; my $device = $self->device or return; # Get the ip from session hostname or default to cluster management address my $ip = $device->{snmp}->peer_address() || $self->get(panClusterManagementAddress); return unless $ip; # Find member ip index to select the related S/N my $cloudips = $self->walk(panClusterRepsetEntryIpAddr); foreach my $index (keys(%{$cloudips})) { if ($cloudips->{$index} eq $ip) { my $serial = $self->get(panClusterRepsetEntryBladeHwSN.'.'.$index); return hex2char($serial); } } } sub run { my ($self) = @_; my $device = $self->device or return; my $name = $self->get(panClusterName) or return; $device->{INFO}->{NAME} = getCanonicalString($name); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Panasas - Inventory module for Panasas PanFS =head1 DESCRIPTION The module enhances Panasas PanFS device support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/HPNetPeripheral.pm0000644000175000017500000000667013712210012031140 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::HPNetPeripheral; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # See HP-LASERJET-COMMON-MIB / JETDIRECT3-MIB use constant hpPeripheral => '.1.3.6.1.4.1.11.2.3.9' ; # hp.nm.system.net-peripheral use constant hpOfficePrinter => '.1.3.6.1.4.1.29999' ; use constant hpSystem => '.1.3.6.1.4.1.11.1' ; use constant hpNetPrinter => hpPeripheral . '.1' ; use constant hpDevice => hpPeripheral . '.4.2.1' ; # + netPML.netPMLmgmt.device use constant gdStatusId => hpNetPrinter . '.1.7.0' ; # System id use constant systemId => hpDevice . '.1.3' ; # + system.id use constant model_name => systemId . '.2.0' ; use constant serial_number => systemId . '.3.0' ; use constant fw_rom_datecode => systemId . '.5.0' ; use constant fw_rom => systemId . '.6.0' ; # Status print engine: status-prt-eng use constant statusPrtEngine => hpDevice . '.4.1.2' ; use constant totalEnginePageCount => statusPrtEngine . '.5.0' ; use constant totalColorPageCount => statusPrtEngine . '.7.0' ; use constant duplexPageCount => statusPrtEngine . '.22.0' ; my %counters = ( TOTAL => totalEnginePageCount, COLOR => totalColorPageCount, DUPLEX => duplexPageCount ); our $mibSupport = [ { name => "hp-peripheral", sysobjectid => getRegexpOidMatch(hpPeripheral) }, { name => "hp-office", sysobjectid => getRegexpOidMatch(hpOfficePrinter) }, { name => "hp-system", sysobjectid => getRegexpOidMatch(hpSystem) } ]; sub getFirmware { my ($self) = @_; my $device = $self->device or return; my $firmware = $self->_getClean(fw_rom); # Eventually extract EEPROM revision from device description if (!$firmware && $device->{DESCRIPTION}) { foreach (split(/,+/, $device->{DESCRIPTION})) { return $1 if /EEPROM\s+(\S+)/; } } return $firmware; } sub getFirmwareDate { my ($self) = @_; return $self->_getClean(fw_rom_datecode); } sub getSerial { my ($self) = @_; return $self->get(serial_number); } sub getModel { my ($self) = @_; # Try first to get model if set in StatusId string my $statusId = getCanonicalString($self->get(gdStatusId)); if ($statusId) { foreach (split(/\s*;\s*/, $statusId)) { return $1 if /^MODEL:\s*(.*)$/; } } # Else try to get model from model-name string return $self->_getClean(model_name); } sub run { my ($self) = @_; my $device = $self->device or return; # Update counters if still not found foreach my $counter (keys %counters) { next if $device->{PAGECOUNTERS} && $device->{PAGECOUNTERS}->{$counter}; my $count = $self->get($counters{$counter}) or next; $device->{PAGECOUNTERS}->{$counter} = getCanonicalConstant($count); } } sub _getClean { my ($self, $oid) = @_; my $clean_string = hex2char($self->get($oid)); return unless defined $clean_string; $clean_string =~ s/[[:^print:]]//g; return $clean_string; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::HPNetPeripheral - Inventory module for HP Printers =head1 DESCRIPTION The module enhances HP printers devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Oki.pm0000644000175000017500000000146713754515153026713 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Oki; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use constant oki => '.1.3.6.1.4.1.2001'; use constant model => oki . '.1.1.1.1.11.1.10.25.0'; use constant serial => oki . '.1.1.1.1.11.1.10.45.0'; our $mibSupport = [ { name => "oki", sysobjectid => getRegexpOidMatch(oki) } ]; sub getSerial { my ($self) = @_; return $self->get(serial); } sub getModel { my ($self) = @_; return getCanonicalString($self->get(model)); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Oki - Inventory module for Oki printers =head1 DESCRIPTION This module enhances Oki printers support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Multitech.pm0000644000175000017500000000323513734372405030121 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Multitech; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use constant multiTech => '.1.3.6.1.4.1.995'; use constant mtsRouterSystemObjects => multiTech . '.15.1.1'; use constant mtsRouterSystemModelId => mtsRouterSystemObjects . '.1.0'; use constant mtsRouterSystemSerialNumber => mtsRouterSystemObjects . '.2.0'; use constant mtsRouterSystemFirmware => mtsRouterSystemObjects . '.3.0'; # Multitech modules do not support standard MIBs and then won't provide sysObjectID # and no hostname. # Detection is based on a private OID availability. # Hostname is then computed from model and serial number. our $mibSupport = [ { name => "multitech", privateoid => mtsRouterSystemModelId, } ]; sub getSerial { my ($self) = @_; return getCanonicalString($self->get(mtsRouterSystemSerialNumber)); } sub getSnmpHostname { my ($self) = @_; my $serial = $self->getSerial() or return; my $device = $self->device or return; return $device->{MODEL}.'_'.$serial; } sub getModel { my ($self) = @_; return getCanonicalString($self->get(mtsRouterSystemModelId)); } sub getFirmware { my ($self) = @_; return $self->get(mtsRouterSystemFirmware); } sub getType { return 'NETWORKING'; } sub getManufacturer { return 'Multitech'; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Multitech - Inventory module for MultiTech =head1 DESCRIPTION This module provides MultiTech products support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Siemens.pm0000644000175000017500000000663113734372405027571 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Siemens; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use constant sysdescr => '.1.3.6.1.2.1.1.1.0'; use constant ad => '.1.3.6.1.4.1.4196'; use constant siemens => '.1.3.6.1.4.1.4329'; use constant iAsiLinkMib => ad . '.1.1.8.3.100'; use constant snGen => iAsiLinkMib . '.1.8'; use constant snTcpIp => iAsiLinkMib . '.1.10'; use constant snSwVersion => snGen . '.4.0'; use constant snInfoSerialNr => snGen . '.6.0'; use constant snInfoMLFBNr => snGen . '.26.0'; use constant snMacAddressBase => snTcpIp . '.10.0'; use constant snAsiLinkPnioDeviceName => iAsiLinkMib . '.2.21.2.0'; use constant moduleMLFB => siemens . '.6.3.2.1.1.2.0'; use constant moduleSerial => siemens . '.6.3.2.1.1.3.0'; use constant moduleFirmware => siemens . '.6.3.2.1.1.5.0'; # Standard MIB support for Siemens modules is sometime bad so it reports a # sysObjectID of ".0.0" our $mibSupport = [ { name => "siemens", sysobjectid => qr/^\.1\.3\.6\.1\.4\.1\.4196.*|\.0\.0$/, } ]; sub getType { return 'NETWORKING'; } sub getManufacturer { return 'Siemens'; } sub getModel { my ($self) = @_; my %MLFB = ( '6GK1 411-2AB10' => "IE/AS-i LINK PN IO", '6GK7 343-1CX10-0XE0' => "CP 343-1 Lean", '6ES7 318-3EL01-0AB0' => "CPU319-3 PN/DP", ); my $mlfb = getCanonicalString($self->get(snInfoMLFBNr) || $self->get(moduleMLFB)); unless ($mlfb) { my @sysdescr = $self->_getInfosFromDescr(); $mlfb = $sysdescr[3] if $sysdescr[3]; } return unless $mlfb; return $MLFB{$mlfb} if $MLFB{$mlfb}; return "Siemens module (PartNumber: $mlfb)"; } sub _getInfosFromDescr { my ($self, $info_re) = @_; my $sysdescr = getCanonicalString($self->get(sysdescr)); my @sysdescr = split(/\s*,\s*/, $sysdescr); if ($info_re) { my ($match) = grep { $_ =~ $info_re } @sysdescr; ($match) = $match =~ $info_re if $match; return $match // ''; } return @sysdescr; } sub getSnmpHostname { my ($self) = @_; my $name = getCanonicalString($self->get(snAsiLinkPnioDeviceName)); return $name if $name; my $serial = $self->getSerial() or return; return $serial; } sub getSerial { my ($self) = @_; my $device = $self->device or return; my $serial = getCanonicalString($self->get(snInfoSerialNr) || $self->get(moduleSerial)); unless ($serial) { my @sysdescr = $self->_getInfosFromDescr(); $serial = $sysdescr[6] if $sysdescr[6]; } return $serial if $serial && $serial !~ /not set/; $serial = $self->getMacAddress() or return; $serial =~ s/[:]//g; return $serial if $serial; } sub getMacAddress { my ($self) = @_; return getCanonicalMacAddress($self->get(snMacAddressBase)); } sub getFirmware { my ($self) = @_; my $version = getCanonicalString($self->get(snSwVersion) || $self->get(moduleFirmware)); unless ($version) { $version = $self->_getInfosFromDescr(qr/^FW: (.*)$/); } return $version; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Siemens - Inventory module for Siemens =head1 DESCRIPTION This provides Siemens industrial modules support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/UPS.pm0000644000175000017500000000337013712210012026607 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::UPS; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use constant apc => '.1.3.6.1.4.1.318' ; use constant riello => '.1.3.6.1.4.1.5491' ; # See PowerNet-MIB use constant upsAdvIdentSerialNumber => apc . '.1.1.1.1.2.3.0'; use constant sPDUIdentFirmwareRev => apc . '.1.1.4.1.2.0'; use constant sPDUIdentModelNumber => apc . '.1.1.4.1.4.0'; use constant sPDUIdentSerialNumber => apc . '.1.1.4.1.5.0'; # See UPS-MIB use constant upsMIB => '.1.3.6.1.2.1.33' ; use constant upsIdentManufacturer => upsMIB .'.1.1.1.0' ; use constant upsIdentModel => upsMIB .'.1.1.2.0' ; use constant upsIdentUPSSoftwareVersion => upsMIB .'.1.1.3.0' ; my $match = apc.'|'.upsMIB.'|'.riello; our $mibSupport = [ { name => "apc", sysobjectid => qr/^$match/ } ]; sub getModel { my ($self) = @_; return $self->get(upsIdentModel) || $self->get(sPDUIdentModelNumber); } sub getSerial { my ($self) = @_; return $self->get(upsAdvIdentSerialNumber) || $self->get(sPDUIdentSerialNumber); } sub getFirmware { my ($self) = @_; return $self->get(upsIdentUPSSoftwareVersion) || $self->get(sPDUIdentFirmwareRev); } sub getManufacturer { my ($self) = @_; return getCanonicalString($self->get(upsIdentManufacturer)); } sub getType { # TODO remove when POWER is supported on server-side and replace by 'POWER' return 'NETWORKING'; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::UPS - Inventory module for APC modules =head1 DESCRIPTION The module enhances APC devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/EatonEpdu.pm0000644000175000017500000000172213712210012030023 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::EatonEpdu; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # See EATON-EPDU-MIB use constant epdu => '.1.3.6.1.4.1.534.6.6.7' ; use constant model => epdu . '.1.2.1.3.0' ; use constant serial => epdu . '.1.2.1.4.0' ; use constant firmware => epdu . '.1.2.1.5.0' ; our $mibSupport = [ { name => 'eaton-epdu', sysobjectid => getRegexpOidMatch(epdu) } ]; sub getSerial { my ($self) = @_; return $self->get(serial); } sub getModel { my ($self) = @_; return $self->get(model); } sub getFirmware { my ($self) = @_; return $self->get(firmware); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::EatonEpdu - Inventory module for Eaton ePDUs =head1 DESCRIPTION The module enhances Eaton ePDU devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Hwg.pm0000644000175000017500000000227713752244353026715 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Hwg; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # See Hwg-MIB use constant hwg => '.1.3.6.1.4.1.21796'; use constant hwgModel => '.1.3.6.1.2.1.1.1.0'; use constant hwgWldMac => hwg . '.4.5.70.1.0'; use constant hwgSteMac => hwg . '.4.1.70.1.0'; our $mibSupport = [ { name => "hwg", sysobjectid => getRegexpOidMatch(hwg) } ]; sub getType { return 'NETWORKING'; } sub getManufacturer { return 'HW group s.r.o'; } sub getSerial { my ($self) = @_; my $serial = getCanonicalMacAddress(getCanonicalString($self->get(hwgWldMac) || $self->get(hwgSteMac))); $serial =~ s/://g; return $serial; } sub getMacAddress { my ($self) = @_; return getCanonicalMacAddress(getCanonicalString($self->get(hwgWldMac) || $self->get(hwgSteMac))); } sub getModel { my ($self) = @_; return $self->get(hwgModel); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Hwg - Inventory module for Hwg =head1 DESCRIPTION This module enhances Hwg devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Ubnt.pm0000644000175000017500000000152113712210012027044 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Ubnt; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # See UBNT-MIB use constant ubnt => '.1.3.6.1.4.1.41112'; use constant ubntWlStatApMac => ubnt . '.1.4.5.1.4.1'; our $mibSupport = [ { name => "ubnt", oid => ubnt } ]; sub getSerial { my ($self) = @_; my $serial = getCanonicalMacAddress($self->get(ubntWlStatApMac)); $serial =~ s/://g; return $serial; } sub getMacAddress { my ($self) = @_; return $self->get(ubntWlStatApMac); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Ubnt - Inventory module for Ubnt =head1 DESCRIPTION This module enhances Ubnt devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Ricoh.pm0000644000175000017500000000243213734375155027232 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Ricoh; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use constant mib2 => '.1.3.6.1.2.1' ; use constant enterprises => '.1.3.6.1.4.1' ; use constant ricoh => enterprises . '.367.1.1' ; use constant hostname => enterprises . '.367.3.2.1.6.1.1.7.1'; # Printer-MIB use constant printmib => mib2 . '.43' ; use constant prtGeneralPrinterName => printmib . '.5.1.1.16.1' ; our $mibSupport = [ { name => "ricoh-printer", sysobjectid => getRegexpOidMatch(ricoh) } ]; sub getModel { my ($self) = @_; return $self->get(prtGeneralPrinterName); } sub getSnmpHostname { my ($self) = @_; my $device = $self->device or return; my $hostname = getCanonicalString($self->get(hostname)) or return; # Don't override if found hostname is manufacturer+model return if $hostname eq 'RICOH '.$device->{MODEL}; return $hostname; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Ricoh - Inventory module for Ricoh Printers =head1 DESCRIPTION The module enhances Ricoh printers devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/FreeBSD.pm0000644000175000017500000000367613712210012027363 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::FreeBSD; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # https://documentation.stormshield.eu/SNS/v3/fr/Content/User_Configuration_Manual_SNS_v3/SNMP_Agent/MIBS_and_traps_SNMP.htm use constant freebsd => '.1.3.6.1.4.1.8072.3.2.8'; use constant stormshield => '.1.3.6.1.4.1.11256' ; use constant stormshield_model => stormshield.'.1.0.1.0' ; use constant stormshield_fw_pri => stormshield.'.1.0.2.0' ; use constant stormshield_serial => stormshield.'.1.0.3.0' ; use constant stormshield_name => stormshield.'.1.0.4.0' ; our $mibSupport = [ { name => "FreeBSD", sysobjectid => getRegexpOidMatch(freebsd) } ]; sub _is_stormshield { my ($self) = @_; if (!defined $self->{STORMSHIELD}) { $self->{STORMSHIELD} = $self->get(stormshield_model) ? 1 : 0; } return $self->{STORMSHIELD}; } sub getSerial { my ($self) = @_; return $self->get(stormshield_serial) if $self->_is_stormshield(); } sub getFirmware { my ($self) = @_; return $self->get(stormshield_fw_pri) if $self->_is_stormshield(); } sub getType { my ($self) = @_; return 'NETWORKING' if $self->_is_stormshield(); } sub getModel { my ($self) = @_; return $self->get(stormshield_model) if $self->_is_stormshield(); } sub getManufacturer { my ($self) = @_; return 'StormShield' if $self->_is_stormshield(); } sub run { my ($self) = @_; if ($self->_is_stormshield()) { my $device = $self->device or return; my $name = $self->get(stormshield_name); $device->{INFO}->{NAME} = $name if $name; } } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::FreeBSD - Inventory module for FreeBSD =head1 DESCRIPTION The module enhances FreeBSD devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/HPHttpManagement.pm0000644000175000017500000000320713750013366031322 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::HPHttpManagement; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # See HP-ICF-OID use constant hpEtherSwitch => '.1.3.6.1.4.1.11.2.3.7.11' ; # See HP-HTTP-MG/SEMI use constant hpWebMgmt => '.1.3.6.1.4.1.11.2.36' ; use constant hpHttpMgNetCitizen => hpWebMgmt . '.1.1.2' ; use constant hpHttpMgVersion => hpHttpMgNetCitizen . '.6.0' ; use constant hpHttpMgROMVersion => hpHttpMgNetCitizen . '.8.0' ; use constant hpHttpMgSerialNumber => hpHttpMgNetCitizen . '.9.0' ; our $mibSupport = [ { name => "hp-etherswitch", sysobjectid => getRegexpOidMatch(hpEtherSwitch) } ]; sub getFirmware { my ($self) = @_; return getCanonicalString($self->get(hpHttpMgROMVersion)); } sub getSerial { my ($self) = @_; return $self->get(hpHttpMgSerialNumber); } sub run { my ($self) = @_; my $device = $self->device or return; my $hpHttpMgVersion = $self->get(hpHttpMgVersion) or return; $device->addFirmware({ NAME => 'HP-HttpMg-Version', DESCRIPTION => "HP Web Management Software version", TYPE => "system", VERSION => getCanonicalString($hpHttpMgVersion), MANUFACTURER => "HP" }); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::HPHttpManagement - Inventory module for HP switchs with HTTP management =head1 DESCRIPTION The module enhances HP switchs devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Mikrotik.pm0000644000175000017500000000245213712210012027731 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Mikrotik; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # See MIKROTIK-MIB use constant mikrotikExperimentalModule => '.1.3.6.1.4.1.14988.1' ; use constant mtxrSystem => mikrotikExperimentalModule .'.1.7' ; use constant mtxrSerialNumber => mtxrSystem . '.3.0' ; use constant mtxrFirmwareVersion => mtxrSystem . '.4.0' ; our $mibSupport = [ { name => "mikrotik", sysobjectid => getRegexpOidMatch(mikrotikExperimentalModule) } ]; sub getFirmware { my ($self) = @_; return $self->get(mtxrFirmwareVersion); } sub getSerial { my ($self) = @_; return $self->get(mtxrSerialNumber); } sub getModel { my ($self) = @_; my $device = $self->device or return; my $model; # Extract model from device description for RouterOS based systems ( $model ) = $device->{DESCRIPTION} =~ /^RouterOS\s+(.*)$/ if $device->{DESCRIPTION}; return $model; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Mikrotik - Inventory module for Mikrotik devices =head1 DESCRIPTION The module fixes Mikrotik SerialNumber & Firmware version support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Brocade.pm0000644000175000017500000000152513712210012027477 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Brocade; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use constant brocade => '.1.3.6.1.4.1.1991' ; use constant serial => brocade .'.1.1.1.1.2.0' ; use constant fw_pri => brocade . '.1.1.2.1.11.0' ; our $mibSupport = [ { name => "brocade-switch", sysobjectid => getRegexpOidMatch(brocade) } ]; sub getSerial { my ($self) = @_; return $self->get(serial); } sub getFirmware { my ($self) = @_; return $self->get(fw_pri); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Brocade - Inventory module for Brocade Switches =head1 DESCRIPTION The module enhances Brocade Switches devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport/Epson.pm0000644000175000017500000000324413712210012027224 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport::Epson; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; use constant epson => '.1.3.6.1.4.1.1248' ; use constant model => epson . '.1.2.2.1.1.1.2.1' ; use constant serial => epson . '.1.2.2.1.1.1.5.1' ; use constant fw_base => epson . '.1.2.2.2.1.1' ; our $mibSupport = [ { name => "epson-printer", sysobjectid => getRegexpOidMatch(epson) } ]; sub getSerial { my ($self) = @_; return $self->get(serial); } sub getModel { my ($self) = @_; return $self->get(model); } sub run { my ($self) = @_; my $device = $self->device or return; my $versions = $self->walk(fw_base.'.2') || {}; my $names = $self->walk(fw_base.'.3') || {}; my $firmwares = $self->walk(fw_base.'.4') || $names; if ($firmwares) { foreach my $index (keys(%{$firmwares})) { next unless $versions->{$index}; my $firmware = { NAME => "Epson ".(hex2char($names->{$index}) || "printer"), DESCRIPTION => "Epson printer ".(hex2char($names->{$index}) || "firmware"), TYPE => "printer", VERSION => hex2char($versions->{$index}), MANUFACTURER => "Epson" }; $device->addFirmware($firmware); } } } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport::Epson - Inventory module for Epson Printers =head1 DESCRIPTION The module enhances Epson printers devices support. FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupportTemplate.pm0000644000175000017500000000613113712225223027644 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupportTemplate; use strict; use warnings; #use parent 'FusionInventory::Agent::SNMP::MibSupportTemplate'; #use FusionInventory::Agent::Tools::SNMP; # define here constants as defined in related mib use constant enterprises => '.1.3.6.1.4.1' ; #use constant sectionOID => enterprises . '.XYZ'; #use constant valueOID => oidSection . '.xyz.abc'; #use constant mibOID => oidSection . '.x.y.z'; our $mibSupport = [ # Examples of mib support by sysobjectid matching #{ # name => "mibName", # sysobjectid => qr/^\.1\.3\.6\.1\.4\.1\.ENTREPRISE\.X\.Y/ #}, #{ # name => "mibName", # sysobjectid => getRegexpOidMatch(enterprises . '.ENTREPRISE.X.Y') #}, # Example of mib support by checking snmp agent exposed mib support # via sysORID entries #{ # name => "mibName", # oid => mibOID #} ]; sub new { my ($class, %params) = @_; return unless $params{device}; my $self = { _device => $params{device} }; bless $self, $class; return $self; } sub device { my ($self) = @_; return $self->{_device}; } sub get { my ($self, $oid) = @_; return $self->{_device} && $self->{_device}->get($oid); } sub walk { my ($self, $oid) = @_; return $self->{_device} && $self->{_device}->walk($oid); } sub getSequence { my ($self, $oid) = @_; return unless $self->{_device}; my $walk = $self->{_device}->walk($oid); return unless $walk; return [ map { $walk->{$_} } sort { $a <=> $b } keys %$walk ]; } sub getFirmware { #my ($self) = @_; #return $self->get(sectionOID . '.X.A'); } sub getFirmwareDate { #my ($self) = @_; #return $self->get(sectionOID . '.X.B'); } sub getSerial { #my ($self) = @_; #return $self->get(sectionOID . '.X.C'); } sub getMacAddress { #my ($self) = @_; #return $self->get(sectionOID . '.X.D'); } sub getIp { #my ($self) = @_; #return $self->get(sectionOID . '.X.E'); } sub getModel { #my ($self) = @_; #return $self->get(sectionOID . '.X.F'); } sub getType { #my ($self) = @_; #return 'NETWORKING' if $self->get(sectionOID . '.X.G') eq 'XYZ'; } sub getSnmpHostname { #my ($self) = @_; #return $self->get(sectionOID . '.X.H'); } sub getManufacturer { #my ($self) = @_; #return $self->get(sectionOID . '.X.H'); } sub getComponents { #my ($self) = @_; #return []; } sub run { #my ($self) = @_; #my $device = $self->device # or return; #my $other_firmware = { # NAME => 'XXX Device', # DESCRIPTION => 'XXX ' . $self->get(sectionOID . '.X.D') .' device', # TYPE => 'Device type', # VERSION => $self->get(sectionOID . '.X.D'), # MANUFACTURER => 'XXX' #}; #$device->addFirmware($other_firmware); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupportTemplate - Parent/Template class for inventory module =head1 DESCRIPTION Base class used for Mib support FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/Device/0000755000175000017500000000000013757703277024727 5ustar gbougardgbougardFusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/Device/Components.pm0000644000175000017500000001560713712210012027366 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::Device::Components; use strict; use warnings; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::SNMP; # See ENTITY-MIB use constant entPhysicalEntry => '.1.3.6.1.2.1.47.1.1.1.1'; # components interface variables my %physical_components_variables = ( INDEX => { # entPhysicalIndex suffix => '1', type => 'constant' }, NAME => { # entPhysicalName suffix => '7', type => 'string' }, DESCRIPTION => { # entPhysicalDescr suffix => '2', type => 'string' }, SERIAL => { # entPhysicalSerialNum suffix => '11', type => 'string' }, MODEL => { # entPhysicalModelName suffix => '13', type => 'string' }, TYPE => { # entPhysicalClass suffix => '5', type => 'type', types => { 'other(1)' => 'other', 1 => 'other', 'unknown(2)' => 'unknown', 2 => 'unknown', 'chassis(3)' => 'chassis', 3 => 'chassis', 'backplane(4)' => 'backplane', 4 => 'backplane', 'container(5)' => 'container', 5 => 'container', 'powerSupply(6)' => 'powerSupply', 6 => 'powerSupply', 'fan(7)' => 'fan', 7 => 'fan', 'sensor(8)' => 'sensor', 8 => 'sensor', 'module(9)' => 'module', 9 => 'module', 'port(10)' => 'port', 10 => 'port', 'stack(11)' => 'stack', 11 => 'stack', 'cpu(12)' => 'cpu', 12 => 'cpu' } }, FRU => { # entPhysicalIsFRU suffix => '16', type => 'constant' }, MANUFACTURER => { # entPhysicalMfgName suffix => '12', type => 'string' }, FIRMWARE => { # entPhysicalFirmwareRev suffix => '9', type => 'string' }, REVISION => { # entPhysicalHardwareRev suffix => '8', type => 'string' }, VERSION => { # entPhysicalSoftwareRev suffix => '10', type => 'string' }, CONTAINEDININDEX => { # entPhysicalContainedIn suffix => '4', type => 'constant' }, MAC => { type => 'mac' }, IP => { type => 'string' }, ); sub new { my ($class, %params) = @_; my $device = $params{device}; return unless $device; my $self = { device => $device, _components => [], }; # First walk all entPhysicalEntry entries my $walk = $device->walk(entPhysicalEntry) or return; return unless keys(%{$walk}); # Parse suffixes to only keep what we really need from the walk my %supported = (); foreach my $key (keys(%physical_components_variables)) { next unless $physical_components_variables{$key}->{suffix}; $supported{$physical_components_variables{$key}->{suffix}} = $key; } my $supported = join('|',sort { $a <=> $b } keys(%supported)); my $supported_re = qr/^($supported)\.(.*)$/; my %walks = (); foreach my $oidleaf (keys(%{$walk})) { my ( $node, $suffix ) = $oidleaf =~ $supported_re; next unless defined $node && defined $suffix; $walks{$supported{$node}}->{$suffix} = $walk->{$oidleaf}; } # No instanciation if no indexed component found by INDEX or based on NAME my @indexes; if ($walks{INDEX}) { # Trust INDEX table when present @indexes = values(%{$walks{INDEX}}); } else { # Found the most populated info and use related suffixes as index table my %counts = map { $_ => scalar(keys(%{$walks{$_}})) } keys(%walks); my @larger = sort { $counts{$a} <=> $counts{$b} } keys(%walks); my $larger = pop @larger; @indexes = keys(%{$walks{$larger}}); } return unless @indexes; @indexes = sort { $a <=> $b } @indexes; # Checking MAC & IP are for now only supported for Cisco based devices my $mac_indexes = $device->walk('.1.3.6.1.4.1.9.9.513.1.1.1.1.4'); if ($mac_indexes) { # Get MAC addresses my $macaddresses = $device->walk('.1.3.6.1.4.1.9.9.513.1.1.1.1.2') || {}; # Get IP addresses my $ipaddresses = $device->walk('.1.3.6.1.4.1.14179.2.2.1.1.19') || {}; # Populate MAC & IP addresses while (my ($suffix, $index) = each %{$mac_indexes}) { $walks{MAC}->{$index} = $macaddresses->{$suffix} if $macaddresses->{$suffix}; $walks{IP}->{$index} = $ipaddresses->{$suffix} if $ipaddresses->{$suffix}; } } # Initialize _components array foreach my $index (@indexes) { push @{$self->{_components}}, { INDEX => getCanonicalConstant($walks{INDEX}->{$index} || $index) }; }; $self->{_indexes} = \@indexes; $self->{_walks} = \%walks; bless $self, $class; return $self; } sub getPhysicalComponents { my ($self) = @_; # INDEX was still computed during object creation my @keys = sort grep { $_ ne 'INDEX' } keys(%physical_components_variables); my $i = 0; my $count = @{$self->{_indexes}}; # Populate all components while ($i < $count) { my $component = $self->{_components}->[$i]; my $index = $self->{_indexes}->[$i++]; foreach my $key (@keys) { my $variable = $physical_components_variables{$key}; my $type = $variable->{type} || ''; my $raw_value = $self->{_walks}->{$key}->{$index}; next unless defined $raw_value; my $value = $type eq 'type' ? $variable->{types}->{$raw_value} : $type eq 'mac' ? getCanonicalMacAddress($raw_value) : $type eq 'constant' ? getCanonicalConstant($raw_value) : $type eq 'string' ? getCanonicalString(trimWhitespace($raw_value)) : $type eq 'count' ? getCanonicalCount($raw_value) : $raw_value; $component->{$key} = $value if defined($value) && length($value); } } return $self->{_components}; } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::Device::Components - FusionInventory agent SNMP device components =head1 DESCRIPTION Class to help handle components method for snmp device inventory =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item device (mandatory) Device related object =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/MibSupport.pm0000644000175000017500000001041313726447040026156 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::MibSupport; use strict; use warnings; # Extracted from SNMPv2-MIB standard use constant sysORID => '.1.3.6.1.2.1.1.9.1.2'; use English qw(-no_match_vars); use File::Glob; use UNIVERSAL::require; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Logger; sub new { my ($class, %params) = @_; my $device = $params{device}; return unless $device; my $logger = $params{logger} || $device->{logger} || FusionInventory::Agent::Logger->new(); my $sysobjectid = $params{sysobjectid}; my $sysorid = $device->walk(sysORID); my $self = { _SUPPORT => {}, logger => $logger }; # Load any related sub-module dedicated to MIB support my ($sub_modules_path) = $INC{module2file(__PACKAGE__)} =~ /(.*)\.pm/; my %available_mib_support = (); foreach my $file (File::Glob::bsd_glob("$sub_modules_path/*.pm")) { if ($OSNAME eq 'MSWin32') { $file =~ s{\\}{/}g; $sub_modules_path =~ s{\\}{/}g; } next unless $file =~ m{$sub_modules_path/(\S+)\.pm$}; my $module = __PACKAGE__ . "::" . $1; $module->require(); if ($EVAL_ERROR) { $logger->debug2("$module require error: $EVAL_ERROR"); next; } my $supported_mibs; { no strict 'refs'; ## no critic (ProhibitNoStrict) $supported_mibs = ${$module . "::mibSupport"}; } if ($supported_mibs && @{$supported_mibs}) { foreach my $mib_support (@{$supported_mibs}) { # checking first if sysobjectid test is present, this is another # advanced way to replace sysobject.ids file EXTMOD feature support if ($mib_support->{sysobjectid} && $sysobjectid) { my $mibname = $mib_support->{name} or next; if ($sysobjectid =~ $mib_support->{sysobjectid}) { $logger->debug("sysobjectID match: $mibname mib support enabled") if $logger; $self->{_SUPPORT}->{$module} = $module->new( device => $device ); next; } } elsif ($mib_support->{privateoid}) { my $mibname = $mib_support->{name} or next; my $private = $device->get($mib_support->{privateoid}) or next; $logger->debug("PrivateOID match: $mibname mib support enabled") if $logger; $self->{_SUPPORT}->{$module} = $module->new( device => $device ); next; } my $miboid = $mib_support->{oid} or next; $mib_support->{module} = $module; # Include support for related OID $available_mib_support{$miboid} = $mib_support; } } } # Keep in _SUPPORT only needed mib support foreach my $mibindex (sort keys %{$sysorid}) { my $miboid = $sysorid->{$mibindex}; my $supported = $available_mib_support{$miboid} or next; my $mibname = $supported->{name} or next; my $module = $supported->{module}; $logger->debug2("sysorid: $mibname mib support enabled") if $logger; $self->{_SUPPORT}->{$module} = $module->new( device => $device ); } bless $self, $class; return $self; } sub getMethod { my ($self, $method) = @_; return unless $method; my $value; foreach my $mibsupport (values(%{$self->{_SUPPORT}})) { next unless $mibsupport; $value = $mibsupport->$method(); last if defined $value; } return $value; } sub run { my ($self, %params) = @_; foreach my $mibsupport (values(%{$self->{_SUPPORT}})) { next unless $mibsupport; $mibsupport->run(); } } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::MibSupport - FusionInventory agent SNMP mib support =head1 DESCRIPTION Class to help handle vendor-specific mibs support modules =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item logger =item sysorid_list (mandatory) =item device (mandatory) =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent/SNMP/Live.pm0000644000175000017500000001346613712210012024742 0ustar gbougardgbougardpackage FusionInventory::Agent::SNMP::Live; use strict; use warnings; use parent 'FusionInventory::Agent::SNMP'; use Encode qw(encode); use English qw(-no_match_vars); use Net::SNMP; use Net::SNMP qw/SNMP_PORT/; sub new { my ($class, %params) = @_; die "no hostname parameters\n" unless $params{hostname}; my $version = ! $params{version} ? 'snmpv1' : $params{version} eq '1' ? 'snmpv1' : $params{version} eq '2c' ? 'snmpv2c' : $params{version} eq '3' ? 'snmpv3' : undef ; die "invalid SNMP version $params{version} parameter\n" unless $version; my $self; # shared options my %options = ( -retries => 0, -version => $version, -hostname => $params{hostname}, -port => $params{port} || SNMP_PORT, -domain => $params{domain} || 'udp/ipv4', ); $options{'-timeout'} = $params{timeout} if $params{timeout}; # version-specific options if ($version eq 'snmpv3') { # only username is mandatory $options{'-username'} = $params{username}; $options{'-authprotocol'} = $params{authprotocol} if $params{authprotocol}; $options{'-authpassword'} = $params{authpassword} if $params{authpassword}; $options{'-privprotocol'} = $params{privprotocol} if $params{privprotocol}; $options{'-privpassword'} = $params{privpassword} if $params{privpassword}; } else { # snmpv2c && snmpv1 # $options{'-community'} = $params{community}; $self->{community} = $params{community}; } ($self->{session}, my $error) = Net::SNMP->session(%options); if (!$self->{session}) { die "no response from host $params{hostname}\n" if $error =~ /^No response from remote host/; die "authentication error on host $params{hostname}\n" if $error =~ /^Received usmStats(WrongDigests|UnknownUserNames)/; die $error . "\n"; } if ($version ne 'snmpv3') { my $oid = '.1.3.6.1.2.1.1.1.0'; my $response = $self->{session}->get_request( -varbindlist => [$oid] ); die "no response from host $params{hostname}\n" if !$response; die "missing response from host $params{hostname}\n" unless defined $response->{$oid}; die "no response from host $params{hostname}\n" if $response->{$oid} =~ /No response from remote host/; } bless $self, $class; return $self; } sub switch_vlan_context { my ($self, $vlan_id) = @_; my $version_id = $self->{session}->version(); my $version = $version_id == 0 ? 'snmpv1' : $version_id == 1 ? 'snmpv2c' : $version_id == 3 ? 'snmpv3' : undef ; my $error; if ($version eq 'snmpv3') { $self->{context} = 'vlan-' . $vlan_id; } else { # save original session $self->{oldsession} = $self->{session} unless $self->{oldsession}; ($self->{session}, $error) = Net::SNMP->session( -timeout => $self->{session}->timeout(), -retries => 0, -version => $version, -hostname => $self->{session}->hostname(), -community => $self->{community} . '@' . $vlan_id ); } die $error."\n" unless $self->{session}; } sub reset_original_context { my ($self) = @_; my $version_id = $self->{session}->version(); my $version = $version_id == 0 ? 'snmpv1' : $version_id == 1 ? 'snmpv2c' : $version_id == 3 ? 'snmpv3' : undef ; if ($version eq 'snmpv3') { delete $self->{context}; } else { $self->{session} = $self->{oldsession}; delete $self->{oldsession}; } } sub get { my ($self, $oid) = @_; return unless $oid; my $session = $self->{session}; my %options = (-varbindlist => [$oid]); $options{'-contextname'} = $self->{context} if $self->{context}; my $response = $session->get_request(%options); return unless $response; return if $response->{$oid} =~ /noSuchInstance/; return if $response->{$oid} =~ /noSuchObject/; return if $response->{$oid} =~ /No response from remote host/; my $value = $response->{$oid}; return $value; } sub walk { my ($self, $oid) = @_; return unless $oid; my $session = $self->{session}; my %options = (-baseoid => $oid); $options{'-contextname'} = $self->{context} if $self->{context}; $options{'-maxrepetitions'} = 1 if $session->version() != 0; my $response = $session->get_table(%options); return unless $response; my $values; my $offset = length($oid) + 1; foreach my $oid (keys %{$response}) { my $value = $response->{$oid}; $values->{substr($oid, $offset)} = $value; } return $values; } sub peer_address { my ($self) = @_; # transport() API is not documented in Net::SNMP my $transport = $self->{session}->transport() or return; return $transport->peer_address(); } 1; __END__ =head1 NAME FusionInventory::Agent::SNMP::Live - Live SNMP client =head1 DESCRIPTION This is the object used by the agent to perform SNMP queries on live host. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item version (mandatory) Can be one of: =over =item '1' =item '2c' =item '3' =back =item timeout The transport layer timeout =item hostname (mandatory) =item port =item domain Can be one of: =over =item 'udp/ipv4' (default) =item 'udp/ipv6' =item 'tcp/ipv4' =item 'tcp/ipv6' =back =item community =item username =item authpassword =item authprotocol =item privpassword =item privprotocol =back FusionInventory-Agent-2.6/lib/FusionInventory/Agent.pm0000644000175000017500000004037413712210012023264 0ustar gbougardgbougardpackage FusionInventory::Agent; use strict; use warnings; use English qw(-no_match_vars); use UNIVERSAL::require; use File::Glob; use IO::Handle; use Storable 'dclone'; use FusionInventory::Agent::Version; use FusionInventory::Agent::Config; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Storage; use FusionInventory::Agent::Target::Local; use FusionInventory::Agent::Target::Server; use FusionInventory::Agent::Tools; use FusionInventory::Agent::Tools::Hostname; our $VERSION = $FusionInventory::Agent::Version::VERSION; my $PROVIDER = $FusionInventory::Agent::Version::PROVIDER; our $COMMENTS = $FusionInventory::Agent::Version::COMMENTS || []; our $VERSION_STRING = _versionString($VERSION); our $AGENT_STRING = "$PROVIDER-Agent_v$VERSION"; our $CONTINUE_WORD = "..."; sub _versionString { my ($VERSION) = @_; my $string = "$PROVIDER Agent ($VERSION)"; if ($VERSION =~ /^\d+\.\d+\.(99\d\d|\d+-dev|.*-build-?\d+)$/) { unshift @{$COMMENTS}, "** THIS IS A DEVELOPMENT RELEASE **"; } return $string; } sub new { my ($class, %params) = @_; my $self = { status => 'unknown', datadir => $params{datadir}, libdir => $params{libdir}, vardir => $params{vardir}, targets => [], }; bless $self, $class; return $self; } sub init { my ($self, %params) = @_; # Skip create object if still defined (re-init case) my $config = $self->{config} || FusionInventory::Agent::Config->new( options => $params{options}, vardir => $self->{vardir}, ); $self->{config} = $config; my $logger = FusionInventory::Agent::Logger->new(config => $config); $self->{logger} = $logger; $logger->debug("Configuration directory: ".$config->confdir()); $logger->debug("Data directory: $self->{datadir}"); $logger->debug("Storage directory: $self->{vardir}"); $logger->debug("Lib directory: $self->{libdir}"); $self->_handlePersistentState(); # Persistent data can store a set "forcerun" value to be handled during start # Mainly used by win32 service installer my $forced_run = delete $self->{_forced_run}; # Always reset targets to handle re-init case $self->{targets} = $config->getTargets( logger => $self->{logger}, deviceid => $self->{deviceid}, vardir => $self->{vardir} ); if (!$self->getTargets()) { $logger->error("No target defined, aborting"); exit 1; } # Keep program name for Provider inventory as it will be reset in setStatus() FusionInventory::Agent::Task::Inventory::Provider->require(); $FusionInventory::Agent::Task::Inventory::Provider::PROGRAM = "$PROGRAM_NAME"; # compute list of allowed tasks my %available = $self->getAvailableTasks(disabledTasks => $config->{'no-task'}); my @tasks = keys %available; my @plannedTasks = $self->computeTaskExecutionPlan(\@tasks); my %available_lc = map { (lc $_) => $_ } keys %available; if (!@tasks) { $logger->error("No tasks available, aborting"); exit 1; } $logger->debug("Available tasks:"); foreach my $task (keys %available) { $logger->debug("- $task: $available{$task}"); } foreach my $target ($self->getTargets()) { if ($target->isType('local') || $target->isType('server')) { $logger->debug("target $target->{id}: " . $target->getType() . " " . $target->getName()); # Handle forced run request $target->setNextRunDateFromNow() if $forced_run; } else { $logger->debug("target $target->{id}: " . $target->getType()); } # Register planned tasks by target my @planned = $target->plannedTasks(@plannedTasks); if (@planned) { $logger->debug("Planned tasks for $target->{id}:"); foreach my $task (@planned) { my $task_lc = lc $task; $logger->debug("- $task: " . $available{$available_lc{$task_lc}}); } } else { $logger->debug("No planned task"); } } $logger->info("Options 'no-task' and 'tasks' are both used. Be careful that 'no-task' always excludes tasks.") if ($self->{config}->isParamArrayAndFilled('no-task') && $self->{config}->isParamArrayAndFilled('tasks')); # install signal handler to handle graceful exit $SIG{INT} = sub { $self->terminate(); exit 0; }; $SIG{TERM} = sub { $self->terminate(); exit 0; }; if ($params{options}) { foreach my $comment (@{$COMMENTS}) { $self->{logger}->debug($comment); } } } sub run { my ($self) = @_; # API overrided in daemon or service mode $self->setStatus('waiting'); my @targets = $self->getTargets(); $self->{logger}->debug("Running in foreground mode"); # foreground mode: check each targets once my $time = time(); while ($self->getTargets() && @targets) { my $target = shift @targets; if ($self->{config}->{lazy} && $time < $target->getNextRunDate()) { $self->{logger}->info( "$target->{id} is not ready yet, next server contact " . "planned for " . localtime($target->getNextRunDate()) ); next; } eval { $self->runTarget($target); }; $self->{logger}->error($EVAL_ERROR) if $EVAL_ERROR; # Reset next run date to support --lazy option with foreground mode $target->resetNextRunDate(); } } sub terminate { my ($self) = @_; # Forget our targets $self->{targets} = []; # Abort realtask running in that forked process or thread $self->{current_task}->abort() if ($self->{current_task}); } sub runTarget { my ($self, $target) = @_; if ($target->isType('local') || $target->isType('server')) { $self->{logger}->info("target $target->{id}: " . $target->getType() . " " . $target->getName()); } # the prolog dialog must be done once for all tasks, # but only for server targets my $response; if ($target->isType('server')) { return unless FusionInventory::Agent::HTTP::Client::OCS->require(); my $client = FusionInventory::Agent::HTTP::Client::OCS->new( logger => $self->{logger}, timeout => $self->{config}->{timeout}, user => $self->{config}->{user}, password => $self->{config}->{password}, proxy => $self->{config}->{proxy}, ca_cert_file => $self->{config}->{'ca-cert-file'}, ca_cert_dir => $self->{config}->{'ca-cert-dir'}, no_ssl_check => $self->{config}->{'no-ssl-check'}, no_compress => $self->{config}->{'no-compression'}, ); return unless FusionInventory::Agent::XML::Query::Prolog->require(); my $prolog = FusionInventory::Agent::XML::Query::Prolog->new( deviceid => $self->{deviceid}, ); $self->{logger}->info("sending prolog request to $target->{id}"); $response = $client->send( url => $target->getUrl(), message => $prolog ); unless ($response) { $self->{logger}->error("No answer from server at ".$target->getUrl()); # Return true on net error return 1; } # update target my $content = $response->getContent(); if (defined($content->{PROLOG_FREQ})) { $target->setMaxDelay($content->{PROLOG_FREQ} * 3600); } } foreach my $name ($target->plannedTasks()) { eval { $self->runTask($target, $name, $response); }; $self->{logger}->error($EVAL_ERROR) if $EVAL_ERROR; $self->setStatus($target->paused() ? 'paused' : 'waiting'); # Leave earlier while requested last unless $self->getTargets(); last if $target->paused(); } return 0; } sub runTask { my ($self, $target, $name, $response) = @_; # API overrided in daemon or service mode $self->setStatus("running task $name"); # standalone mode: run each task directly $self->runTaskReal($target, $name, $response); } sub runTaskReal { my ($self, $target, $name, $response) = @_; my $class = "FusionInventory::Agent::Task::$name"; if (!$class->require()) { $self->{logger}->debug2("$name task module does not compile: $@") if $self->{logger}; return; } my $task = $class->new( config => $self->{config}, datadir => $self->{datadir}, logger => $self->{logger}, target => $target, deviceid => $self->{deviceid}, ); return if !$task->isEnabled($response); $self->{logger}->info("running task $name"); $self->{current_task} = $task; $task->run( user => $self->{config}->{user}, password => $self->{config}->{password}, proxy => $self->{config}->{proxy}, ca_cert_file => $self->{config}->{'ca-cert-file'}, ca_cert_dir => $self->{config}->{'ca-cert-dir'}, no_ssl_check => $self->{config}->{'no-ssl-check'}, no_compress => $self->{config}->{'no-compression'}, ); delete $self->{current_task}; } sub getStatus { my ($self) = @_; return $self->{status}; } sub setStatus { my ($self, $status) = @_; my $config = $self->{config}; # Rename process including status, for unix platforms $0 = lc($PROVIDER) . "-agent"; $0 .= " (tag $config->{tag})" if $config->{tag}; if ($status) { $self->{status} = $status; # Show set status in process name on unix platforms $0 .= ": $status"; } } sub getTargets { my ($self) = @_; return @{$self->{targets}}; } sub getAvailableTasks { my ($self, %params) = @_; my $logger = $self->{logger}; my %tasks; my %disabled = map { lc($_) => 1 } @{$params{disabledTasks}}; # tasks may be located only in agent libdir my $directory = $self->{libdir}; $directory =~ s,\\,/,g; my $subdirectory = "FusionInventory/Agent/Task"; # look for all Version perl modules around here foreach my $file (File::Glob::bsd_glob("$directory/$subdirectory/*/Version.pm")) { next unless $file =~ m{($subdirectory/(\S+)/Version\.pm)$}; my $module = file2module($1); my $name = file2module($2); next if $disabled{lc($name)}; my $version; if (!$module->require()) { $logger->debug2("module $module does not compile: $@") if $logger; # Don't keep trace of module, only really needed to fix perl 5.8 issue delete $INC{module2file($module)}; next; } { no strict 'refs'; ## no critic $version = &{$module . '::VERSION'}; } # no version means non-functionning task next unless $version; $tasks{$name} = $version; $logger->debug2("getAvailableTasks() : add of task $name version $version") if $logger; } return %tasks; } sub _handlePersistentState { my ($self) = @_; # Only create storage at first call unless ($self->{storage}) { $self->{storage} = FusionInventory::Agent::Storage->new( logger => $self->{logger}, directory => $self->{vardir} ); } # Load current agent state my $data = $self->{storage}->restore(name => "$PROVIDER-Agent"); if (!$self->{deviceid} && !$data->{deviceid}) { # compute an unique agent identifier, based on host name and current time my $hostname = getHostname(); my ($year, $month , $day, $hour, $min, $sec) = (localtime (time))[5, 4, 3, 2, 1, 0]; $data->{deviceid} = sprintf "%s-%02d-%02d-%02d-%02d-%02d-%02d", $hostname, $year + 1900, $month + 1, $day, $hour, $min, $sec; } elsif (!$data->{deviceid}) { $data->{deviceid} = $self->{deviceid}; } $self->{deviceid} = $data->{deviceid}; # Handle the option to force a run during start/init/reinit if "forcerun" has # been set in storage datas $self->{_forced_run} = delete $data->{forcerun} || 0; # Always save agent state $self->{storage}->save( name => "$PROVIDER-Agent", data => $data ); } sub setForceRun { my ($self, $forcerun) = @_; my $storage = FusionInventory::Agent::Storage->new( logger => $self->{logger}, directory => $self->{vardir} ); my $data = $storage->restore(name => "$PROVIDER-Agent"); $data->{forcerun} = defined($forcerun) ? $forcerun : 1; $storage->save( name => "$PROVIDER-Agent", data => $data ); } sub _appendElementsNotAlreadyInList { my ($list, $elements, $logger) = @_; if (! UNIVERSAL::isa($list, 'ARRAY')) { $logger->error('_appendElementsNotAlreadyInList(): first argument is not an ARRAY ref') if defined $logger; return $list; } if (UNIVERSAL::isa($elements, 'HASH')) { @$elements = keys %$elements; } elsif (! UNIVERSAL::isa($elements, 'ARRAY')) { $logger->error('_appendElementsNotAlreadyInList(): second argument is neither an ARRAY ref nor a HASH ref') if defined $logger; return $list; } my %list = map { $_ => $_ } @$list; # we want to add elements only once, so we ensure that there are no duplicates my %elements = map { $_ => 1 } @$elements; @$elements = keys %elements; # union of list AND elements which are NOT in list my @newList = (@$list, grep( !defined($list{$_}), @$elements)); return @newList; } sub computeTaskExecutionPlan { my ($self, $availableTasksNames) = @_; if (! defined($self->{config}) || !(UNIVERSAL::isa($self->{config}, 'FusionInventory::Agent::Config'))) { $self->{logger}->error( "no config found in agent. Can't compute tasks execution plan" ) if (defined $self->{logger}); return; } my @executionPlan = (); if ($self->{config}->isParamArrayAndFilled('tasks')) { $self->{logger}->debug2('isParamArrayAndFilled(\'tasks\') : true') if (defined $self->{logger}); @executionPlan = _makeExecutionPlan($self->{config}->{'tasks'}, $availableTasksNames, $self->{logger}); } else { $self->{logger}->debug2('isParamArrayAndFilled(\'tasks\') : false') if (defined $self->{logger}); @executionPlan = @$availableTasksNames; } return @executionPlan; } sub _makeExecutionPlan { my ($sortedTasks, $availableTasksNames, $logger) = @_; my $sortedTasksCloned = dclone $sortedTasks; my @executionPlan = (); my %available = map { (lc $_) => $_ } @$availableTasksNames; my $task = shift @$sortedTasksCloned; while (defined $task) { if ($task eq $CONTINUE_WORD) { last; } $task = lc $task; if ( defined($available{$task})) { push @executionPlan, $available{$task}; } $task = shift @$sortedTasksCloned; } if ( defined($task) && $task eq $CONTINUE_WORD) { # we append all other available tasks @executionPlan = _appendElementsNotAlreadyInList(\@executionPlan, $availableTasksNames, $logger); } return @executionPlan; } 1; __END__ =head1 NAME FusionInventory::Agent - FusionInventory agent =head1 DESCRIPTION This is the agent object. =head1 METHODS =head2 new(%params) The constructor. The following parameters are allowed, as keys of the %params hash: =over =item I the read-only data directory. =item I the read-write data directory. =item I the options to use. =back =head2 init() Initialize the agent. =head2 run() Run the agent. =head2 terminate() Terminate the agent. =head2 getStatus() Get the current agent status. =head2 setStatus() Set new agent status, also updates process name on unix platforms. =head2 getTargets() Get all targets. =head2 getAvailableTasks() Get all available tasks found on the system, as a list of module / version pairs: %tasks = ( 'Foo' => x, 'Bar' => y, ); =head2 setForceRun($forcerun) Set "forcerun" option to 1 (by default) in persistent state storage. This option is only read during start, init or reinit. If set to true, the next run is planned to be started as soon as possible. =head1 LICENSE This is free software, licensed under: The GNU General Public License, Version 2, June 1991 See LICENSE file for details. FusionInventory-Agent-2.6/share/0000755000175000017500000000000013757703277017070 5ustar gbougardgbougardFusionInventory-Agent-2.6/share/sysobject.ids0000644000175000017500000142076613757240257021610 0ustar gbougardgbougard# list of SysObject ID's # # sources: # http://www.iana.org/assignments/enterprise-numbers/enterprise-numbers # # Syntax: # (where module is Foo in FusionInventory::Agent::Tools::Hardware::Foo) # id vendor type model module 1 Proteon NETWORKING 1.1.1.55 Proteon NETWORKING GT 60 1.1.1.66 Proteon NETWORKING GTX 1000 1.2.826.0.1.4616240.1.1.4500 Cisco STORAGE ciscoMCU4500 1.2.826.0.1.4616240.1.1.4501 Cisco STORAGE ciscoMCU4501 1.2.826.0.1.4616240.1.1.4505 Cisco STORAGE ciscoMCU4505 1.2.826.0.1.4616240.1.1.4510 Cisco STORAGE ciscoMCU4510 1.2.826.0.1.4616240.1.1.4515 Cisco STORAGE ciscoMCU4515 1.2.826.0.1.4616240.1.1.4520 Cisco STORAGE ciscoMCU4520 1.2.826.0.1.4616240.1.1.7010 Cisco STORAGE ciscoTPServer7010 1.2.826.0.1.4616240.1.1.8420 Cisco STORAGE ciscoMSE8420 1.2.826.0.1.4616240.1.1.8510 Cisco STORAGE ciscoMSE8510 1.2.826.0.1.4616240.1.1.8710 Cisco STORAGE ciscoTPServerMSE8710 1.2.826.0.1.4616240.1.7.8050 Cisco STORAGE ciscoMSE8050 2 IBM COMPUTER 2.3.1.2.1.1.2 IBM COMPUTER RISC/6000 2.3.1.2.1.1.3 IBM COMPUTER IBM PowerPC Personal Computer 2.3.10 IBM NETWORKING 8271-216 2.3.42 IBM NETWORKING 8271F12 2.3.43 IBM NETWORKING 8271F24 2.3.46 IBM NETWORKING 8275-324 2.3.47 IBM NETWORKING 8275-326 2.3.1942 IBM NETWORKING 8271 Nways F12 2.3.1943 IBM NETWORKING 8271 Nways F24 2.3.2010 IBM NETWORKING 8271 Nways 216 2.6.3 IBM NETWORKING Dlink Blade Center 2.6.15 IBM NETWORKING 13 2.6.33.2.1 IBM NETWORKING 8260 2.6.33.2.2 IBM NETWORKING 8285 2.6.33.2.3 IBM NETWORKING 8265 2.6.66 IBM NETWORKING 8272-108 2.6.66.1.1.108 IBM NETWORKING 8270 Nways Token-Ring LAN Switch Model 108 2.6.66.1.1.216 Cisco NETWORKING Catalyst 2600 Switch 2.6.66.1.1.800 IBM NETWORKING 8270-800 2.6.72 IBM NETWORKING 2210 2.6.98.1.1.1 IBM NETWORKING 8271-108 2.6.98.1.1.524 IBM NETWORKING 8271-524 2.6.98.1.1.612 IBM NETWORKING 8271-612 2.6.98.1.1.624 IBM NETWORKING 8271-624 2.6.98.1.1.712 IBM NETWORKING 8271-712 2.6.118.2 IBM STORAGE NA 2.6.118.3 IBM NETWORKING 8210 2.6.131 IBM NETWORKING 2.6.148 IBM NETWORKING 8275-113 2.6.157 IBM NETWORKING 8275-416 2.6.158.3 IBM STORAGE BladeCenter Management Mo 2.6.182.1.0.414.1 IBM STORAGE 3584 Tape Library 2.6.2003 IBM NETWORKING BladeCenter Gigabit Ethernet Switch Module 4 UNIX COMPUTER 4.1.2.5 UNIX COMPUTER 5 Ericsson NETWORKING 5.1.1.1.1 Ericsson NETWORKING 4140 5.1.1.1.1.1.15.5.4.7.4 Ericsson NETWORKING 5.1.1.1.1.1.15.5.8.11.5 Ericsson NETWORKING 5.1.1.1.1.1.16.4.4.8 Ericsson NETWORKING 5.1.1.1.1.1.17.6.3.9.7 Ericsson NETWORKING 5.1.1.1.1.1.17.6.4.11.5 Ericsson NETWORKING 5.1.1.1.1.1.17.15.6.9.8 Ericsson NETWORKING 5.1.1.1.1.1.19.16.3.10 Ericsson NETWORKING 5.1.1.1.1.1.19.16.4.11.4 Ericsson NETWORKING 5.1.1.1.1.1.20.20.4.11.5 Ericsson NETWORKING 5.1.1.1.1.1.20.21.4.12.3 Ericsson NETWORKING 5.1.1.1.1.1.20.24.4.12.1 Ericsson NETWORKING 7 CAYMAN NETWORKING 7.2.1 CAYMAN NETWORKING Gator 7.3 CAYMAN NETWORKING Gator # ftp://ftp.cisco.com/pub/mibs/v2/CISCO-PRODUCTS-MIB.my 9 Cisco NETWORKING 9.1.3 Cisco NETWORKING Router xGS 9.1.5 Cisco NETWORKING IGS 9.1.6 Cisco NETWORKING 3000 9.1.7 Cisco NETWORKING 4000 9.1.8 Cisco NETWORKING 7000 9.1.9 Cisco NETWORKING AS500 9.1.10 Cisco NETWORKING 2000 9.1.11 Cisco NETWORKING AGSplus Lightstream ATM Switch 9.1.12 Cisco NETWORKING 7010 9.1.13 Cisco NETWORKING 2500 9.1.14 Cisco NETWORKING 4500 9.1.15 Cisco NETWORKING 2102 9.1.16 Cisco NETWORKING 2202 9.1.17 Cisco NETWORKING 2501 9.1.18 Cisco NETWORKING 2502 9.1.19 Cisco NETWORKING 2503 9.1.20 Cisco NETWORKING 2504 9.1.21 Cisco NETWORKING 2505 9.1.22 Cisco NETWORKING 2506 9.1.23 Cisco NETWORKING 2507 9.1.24 Cisco NETWORKING 2508 9.1.25 Cisco NETWORKING 2509 9.1.26 Cisco NETWORKING 2510 9.1.27 Cisco NETWORKING 2511 9.1.28 Cisco NETWORKING 2512 9.1.29 Cisco NETWORKING 2513 9.1.30 Cisco NETWORKING 2514 9.1.31 Cisco NETWORKING 2515 9.1.32 Cisco NETWORKING 3101 9.1.33 Cisco NETWORKING 3102 9.1.34 Cisco NETWORKING 3103 9.1.35 Cisco NETWORKING 3104 9.1.36 Cisco NETWORKING 3202 9.1.37 Cisco NETWORKING 3204 9.1.38 Cisco NETWORKING Access Pro RC Router 9.1.39 Cisco NETWORKING Access Pro EC Router 9.1.40 Cisco NETWORKING 1000 9.1.41 Cisco NETWORKING 1003 9.1.42 Cisco NETWORKING 2516 9.1.43 Cisco NETWORKING 1020 9.1.44 Cisco NETWORKING 1004 9.1.45 Cisco NETWORKING 7507 9.1.46 Cisco NETWORKING 7513 9.1.47 Cisco NETWORKING 7506 9.1.48 Cisco NETWORKING 7505 9.1.49 Cisco NETWORKING 1005 9.1.50 Cisco NETWORKING 4700 9.1.51 Cisco NETWORKING Pro 1003 9.1.52 Cisco NETWORKING Pro 1004 9.1.53 Cisco NETWORKING Pro 1005 9.1.54 Cisco NETWORKING Pro 1020 Serial Router 9.1.55 Cisco NETWORKING Pro 2500PCE 9.1.56 Cisco NETWORKING Pro 2501 9.1.57 Cisco NETWORKING Pro 2503 9.1.58 Cisco NETWORKING Pro 2505 9.1.59 Cisco NETWORKING Pro 2507 9.1.60 Cisco NETWORKING Pro 2509 9.1.61 Cisco NETWORKING Pro 2511 9.1.62 Cisco NETWORKING Pro 2514 9.1.63 Cisco NETWORKING Pro 2516 9.1.64 Cisco NETWORKING Pro 2519 9.1.65 Cisco NETWORKING Pro 2521 9.1.66 Cisco NETWORKING Pro 4500 9.1.67 Cisco NETWORKING 2517 9.1.68 Cisco NETWORKING 2518 9.1.69 Cisco NETWORKING 2519 9.1.70 Cisco NETWORKING 2520 9.1.71 Cisco NETWORKING 2521 9.1.72 Cisco NETWORKING 2522 9.1.73 Cisco NETWORKING 2523 9.1.74 Cisco NETWORKING 2524 9.1.75 Cisco NETWORKING 2525 9.1.76 Cisco NETWORKING Pro 751 ISDN Access Router 9.1.77 Cisco NETWORKING Pro 752 ISDN Access Router 9.1.78 Cisco NETWORKING Pro 753 ISDN Access Router 9.1.79 Cisco NETWORKING ProCPA901 9.1.80 Cisco NETWORKING ProCPA901/2 9.1.81 Cisco NETWORKING 751 ISDN Access Router 9.1.82 Cisco NETWORKING 752 ISDN Access Router 9.1.83 Cisco NETWORKING 753 ISDN Access Router 9.1.84 Cisco NETWORKING Pro 741 ISDN Access Router 9.1.85 Cisco NETWORKING Pro 742 ISDN Access Router 9.1.86 Cisco NETWORKING Pro 743 ISDN Access Router 9.1.87 Cisco NETWORKING Pro 744 ISDN Access Router 9.1.88 Cisco NETWORKING Pro 761 ISDN Access Router 9.1.89 Cisco NETWORKING Pro 762 ISDN Access Router 9.1.90 Cisco NETWORKING Pro763 9.1.91 Cisco NETWORKING Pro764 9.1.92 Cisco NETWORKING Pro 765 ISDN Access Router 9.1.93 Cisco NETWORKING Pro 766 ISDN Access Router 9.1.94 Cisco NETWORKING 741 ISDN Access Router 9.1.95 Cisco NETWORKING 742 ISDN Access Router 9.1.96 Cisco NETWORKING 743 ISDN Access Router 9.1.97 Cisco NETWORKING 744 ISDN Access Router 9.1.98 Cisco NETWORKING 761 ISDN Access Router 9.1.99 Cisco NETWORKING 762 ISDN Access Router 9.1.100 Cisco NETWORKING 763 9.1.101 Cisco NETWORKING 764 9.1.102 Cisco NETWORKING 765 ISDN Access Router 9.1.103 Cisco NETWORKING 766 ISDN Access Router 9.1.104 Cisco NETWORKING Pro 2520 9.1.105 Cisco NETWORKING Pro 2522 9.1.106 Cisco NETWORKING Pro 2524 9.1.107 Cisco NETWORKING LS1010 9.1.108 Cisco NETWORKING 7206 9.1.109 Cisco NETWORKING AS5200 9.1.110 Cisco NETWORKING 3640 9.1.111 Cisco NETWORKING Catalyst 3500 9.1.113 Cisco NETWORKING 1601 9.1.114 Cisco NETWORKING 1602 9.1.115 Cisco NETWORKING 1603 9.1.116 Cisco NETWORKING 1604 9.1.117 Cisco NETWORKING Pro 1601 9.1.118 Cisco NETWORKING Pro 1602 9.1.119 Cisco NETWORKING Pro 1603 9.1.120 Cisco NETWORKING Pro 1604 9.1.122 Cisco NETWORKING 3620 9.1.123 Cisco NETWORKING Pro 3620 Multiservice Branch Office Router 9.1.124 Cisco NETWORKING Pro 3640 Multiservice Branch Office Router 9.1.125 Cisco NETWORKING 7204 9.1.126 Cisco NETWORKING 771 ISDN Access Router 9.1.127 Cisco NETWORKING 772 ISDN Access Router 9.1.128 Cisco NETWORKING 775 ISDN Access Router 9.1.129 Cisco NETWORKING 776 ISDN Access Router 9.1.130 Cisco NETWORKING Pro 2502 9.1.131 Cisco NETWORKING Pro 2504 9.1.132 Cisco NETWORKING Pro 2506 9.1.133 Cisco NETWORKING Pro 2508 9.1.134 Cisco NETWORKING Pro 2510 9.1.135 Cisco NETWORKING Pro 2512 9.1.136 Cisco NETWORKING Pro 2513 9.1.137 Cisco NETWORKING Pro 2515 9.1.138 Cisco NETWORKING Pro 2517 9.1.139 Cisco NETWORKING Pro 2518 9.1.140 Cisco NETWORKING Pro 2523 9.1.141 Cisco NETWORKING Pro 2525 9.1.142 Cisco NETWORKING Pro 4700 9.1.143 Cisco NETWORKING ProCPA771 9.1.144 Cisco NETWORKING ProCPA772 9.1.145 Cisco NETWORKING ProCPA775 9.1.147 Cisco NETWORKING Pro316T 9.1.148 Cisco NETWORKING Pro316C 9.1.149 Cisco NETWORKING Pro3116 9.1.150 Cisco NETWORKING Catalyst 116T 9.1.151 Cisco NETWORKING Catalyst 116C 9.1.152 Cisco NETWORKING Catalyst 1116 9.1.153 Cisco NETWORKING AS2509 9.1.154 Cisco NETWORKING AS2511 9.1.157 Cisco NETWORKING MC3810-V 9.1.160 Cisco NETWORKING 1503 9.1.161 Cisco NETWORKING 1502 9.1.162 Cisco NETWORKING AS5300 9.1.164 Cisco NETWORKING LS1015 9.1.165 Cisco NETWORKING 2501 FRADFX 9.1.166 Cisco NETWORKING 2501 LANFRADFX 9.1.167 Cisco NETWORKING 2502 LANFRADFX 9.1.168 Cisco NETWORKING WSX5302 9.1.170 Cisco NETWORKING Catalyst 2908 XL 9.1.171 Cisco NETWORKING Catalyst 2916 XL 9.1.172 Cisco NETWORKING 1605 9.1.173 Cisco NETWORKING 12012 9.1.175 Cisco NETWORKING Catalyst 1912C 9.1.179 Cisco NETWORKING uBR 7246 9.1.180 Cisco NETWORKING 6400 9.1.181 Cisco NETWORKING 12004 9.1.182 Cisco NETWORKING 12008 9.1.183 Cisco NETWORKING Catalyst 2924 XL 9.1.184 Cisco NETWORKING Catalyst 2924 CXL 9.1.185 Cisco NETWORKING 2610 9.1.186 Cisco NETWORKING 2611 9.1.187 Cisco NETWORKING 2612 9.1.188 Cisco NETWORKING AS5800 9.1.189 Cisco NETWORKING SC3640 9.1.190 Cisco NETWORKING Catalyst 8510 9.1.192 Cisco NETWORKING 6200 9.1.194 Cisco NETWORKING 7202 9.1.195 Cisco NETWORKING 2613 9.1.196 Cisco NETWORKING Catalyst 8515CSR (Campus Switching Router) 9.1.197 Cisco NETWORKING Catalyst 9006 9.1.198 Cisco NETWORKING Catalyst 9009 9.1.199 Cisco NETWORKING RPM 9.1.200 Cisco NETWORKING 1710 9.1.201 Cisco NETWORKING 1720 9.1.202 Cisco NETWORKING Catalyst 8540msr 9.1.203 Cisco NETWORKING Catalyst 8540csr 9.1.204 Cisco NETWORKING 7576 9.1.205 Cisco NETWORKING 3660 9.1.206 Cisco NETWORKING 1401 9.1.208 Cisco NETWORKING 2620 9.1.209 Cisco NETWORKING 2621 9.1.210 Cisco NETWORKING uBR 7223 9.1.211 Cisco NETWORKING 6400 NRP 9.1.212 Cisco NETWORKING 801 9.1.213 Cisco NETWORKING 802 9.1.214 Cisco NETWORKING 803 9.1.215 Cisco NETWORKING 804 9.1.216 Cisco NETWORKING 1750 9.1.217 Cisco NETWORKING Catalyst 2924 XLv 9.1.218 Cisco NETWORKING Catalyst 2924 CXLv 9.1.219 Cisco NETWORKING Catalyst 2912 XL 9.1.220 Cisco NETWORKING Catalyst 2924 MXL 9.1.221 Cisco NETWORKING Catalyst 2912 MfXL 9.1.222 Cisco NETWORKING 7206 VXR 9.1.223 Cisco NETWORKING 7204 VXR 9.1.224 Cisco NETWORKING 1538M 9.1.225 Cisco NETWORKING 1548M Micro Switch 10/100 9.1.227 Cisco NETWORKING PIX 9.1.228 Cisco NETWORKING MGX8850 9.1.229 Cisco NETWORKING MGX8830 9.1.230 Cisco NETWORKING Catalyst 8510msr 9.1.231 Cisco NETWORKING Catalyst 8515msr 9.1.232 Cisco NETWORKING IGX8410 9.1.233 Cisco NETWORKING IGX8420 9.1.234 Cisco NETWORKING IGX8430 9.1.235 Cisco NETWORKING IGX8450 9.1.237 Cisco NETWORKING BPX8620 9.1.238 Cisco NETWORKING BPX8650 9.1.239 Cisco NETWORKING BPX8680 9.1.241 Cisco NETWORKING Catalyst 6000 9.1.245 Cisco NETWORKING 805 9.1.246 Cisco NETWORKING Catalyst 3508 XL 9.1.247 Cisco NETWORKING Catalyst 3512 XL 9.1.248 Cisco NETWORKING Catalyst 3524 XL 9.1.249 Cisco NETWORKING 1407 9.1.250 Cisco NETWORKING 1417 9.1.253 Cisco NETWORKING 6260 9.1.255 Cisco NETWORKING uBR 924 9.1.256 Cisco NETWORKING Catalyst WSX6302Msm 9.1.257 Cisco NETWORKING Catalyst 5000 Series Router Switch Feature Card 9.1.258 Cisco NETWORKING Catalyst 6000 Series Module Switch Feature Card 9.1.259 Cisco NETWORKING 7120 Quadt1 9.1.260 Cisco NETWORKING 7120 T3 9.1.261 Cisco NETWORKING 7120 E3 9.1.262 Cisco NETWORKING 7120 At3 9.1.263 Cisco NETWORKING 7120 Ae3 9.1.264 Cisco NETWORKING 7120 Smi3 9.1.265 Cisco NETWORKING 7140 Dual T3 9.1.266 Cisco NETWORKING 7140 Dual E3 9.1.267 Cisco NETWORKING 7140 Dual ATM T3 9.1.268 Cisco NETWORKING 7140 Dual AE3 9.1.269 Cisco NETWORKING 7140 Dual MM3 9.1.270 Cisco NETWORKING 827 9.1.271 Cisco NETWORKING uBR 7246 VXR 9.1.272 Cisco NETWORKING 10400 9.1.273 Cisco NETWORKING 12016 9.1.274 Cisco NETWORKING AS5400 9.1.275 Cisco NETWORKING Catalyst 2948G-L3 9.1.276 Cisco NETWORKING 7140 Octo T1 9.1.277 Cisco NETWORKING 7140 Dual FE 9.1.278 Cisco NETWORKING Catalyst 3548 XL 9.1.280 Cisco NETWORKING Catalyst 6006 9.1.281 Cisco NETWORKING Catalyst 6009 9.1.282 Cisco NETWORKING Catalyst 6506 9.1.283 Cisco NETWORKING Catalyst 6509 9.1.284 Cisco NETWORKING 827 9.1.286 Cisco NETWORKING MC3810-V3 9.1.287 Cisco NETWORKING Catalyst 3524 tXLEn 9.1.288 Cisco NETWORKING 7507z 9.1.289 Cisco NETWORKING 7513z 9.1.290 Cisco NETWORKING 7507mx 9.1.291 Cisco NETWORKING 7513mx 9.1.295 Cisco NETWORKING 802J 9.1.296 Cisco NETWORKING 804J 9.1.297 Cisco NETWORKING 6160 9.1.298 Cisco NETWORKING Catalyst 4908G-L3 9.1.299 Cisco NETWORKING 6015 9.1.300 Cisco NETWORKING Catalyst WSX4232-L3 9.1.301 Cisco NETWORKING Catalyst 6000 Series Module Switch Feature Card 9.1.304 Cisco NETWORKING MGX8230 9.1.305 Cisco NETWORKING MGX8250 9.1.308 Cisco NETWORKING AS5850 9.1.309 Cisco NETWORKING uBR700 9.1.310 Cisco NETWORKING Catalyst 6509Sp 9.1.311 Cisco NETWORKING MGX8240 9.1.312 Cisco NETWORKING Catalyst 4840G-L3 9.1.313 Cisco NETWORKING AS5350 9.1.315 Cisco NETWORKING MGX8950 9.1.317 Cisco NETWORKING uBR10012 9.1.318 Cisco NETWORKING Catalyst 4000 Gateway 9.1.319 Cisco NETWORKING 2650 9.1.320 Cisco NETWORKING 2651 9.1.321 Cisco NETWORKING 826 QuadV 9.1.322 Cisco NETWORKING 826 9.1.323 Cisco NETWORKING Catalyst 2950-12 9.1.324 Cisco NETWORKING Catalyst 2950-24 9.1.325 Cisco NETWORKING Catalyst 2950C-24 9.1.326 Cisco NETWORKING 1751 9.1.327 Cisco NETWORKING 1730Iad8Fxs 9.1.328 Cisco NETWORKING 1730Iad16Fxs 9.1.329 Cisco NETWORKING 626 9.1.330 Cisco NETWORKING 627 9.1.331 Cisco NETWORKING 633 9.1.332 Cisco NETWORKING 673 9.1.333 Cisco NETWORKING 675 9.1.334 Cisco NETWORKING 675E 9.1.335 Cisco NETWORKING 676 9.1.336 Cisco NETWORKING 677 9.1.337 Cisco NETWORKING 678 9.1.338 Cisco NETWORKING 3661Ac 9.1.339 Cisco NETWORKING 3661Dc 9.1.340 Cisco NETWORKING 3662Ac 9.1.341 Cisco NETWORKING 3662Dc 9.1.342 Cisco NETWORKING 3662AcCo 9.1.343 Cisco NETWORKING 3662DcCo 9.1.344 Cisco NETWORKING uBR 7111 9.1.346 Cisco NETWORKING uBR 7114 9.1.348 Cisco NETWORKING 12010 9.1.349 Cisco NETWORKING 8110 9.1.353 Cisco NETWORKING SOHO 77 9.1.354 Cisco NETWORKING SOHO 76 9.1.355 Cisco NETWORKING 7150 Dual FE 9.1.356 Cisco NETWORKING 7150 Octo T1 9.1.357 Cisco NETWORKING 7150 Dual T3 9.1.359 Cisco NETWORKING Catalyst 2950T-24 9.1.362 Cisco NETWORKING IAD2420 9.1.363 Cisco NETWORKING 677I 9.1.364 Cisco NETWORKING 674 9.1.366 Cisco NETWORKING Catalyst 3550-12T 9.1.367 Cisco NETWORKING Catalyst 3550-48 9.1.368 Cisco NETWORKING Catalyst 3550-24 9.1.369 Cisco NETWORKING Catalyst 2924XL 9.1.370 Cisco NETWORKING Catalyst 2912XL 9.1.376 Cisco NETWORKING 7401VXR 9.1.379 Cisco NETWORKING CAP340 9.1.380 Cisco NETWORKING CAP350 9.1.381 Cisco NETWORKING DPA7610 9.1.382 Cisco NETWORKING 828 9.1.383 Cisco NETWORKING SOHO78 9.1.384 Cisco NETWORKING 806 9.1.385 Cisco NETWORKING 12416 9.1.386 Cisco NETWORKING Catalyst 2948G-L3Dc 9.1.387 Cisco NETWORKING Catalyst 4908G-L3Dc 9.1.388 Cisco NETWORKING 12406 9.1.389 Cisco NETWORKING PIX 506 9.1.390 Cisco NETWORKING PIX 515 9.1.391 Cisco NETWORKING PIX 520 9.1.392 Cisco NETWORKING PIX 525 9.1.393 Cisco NETWORKING PIX 535 9.1.394 Cisco NETWORKING 12410 9.1.395 Cisco NETWORKING 811 9.1.396 Cisco NETWORKING 813 9.1.397 Cisco NETWORKING 10720 9.1.398 Cisco NETWORKING MWR1900 9.1.399 Cisco NETWORKING 4224 9.1.400 Cisco NETWORKING Catalyst 6513 9.1.401 Cisco NETWORKING 7603 9.1.402 Cisco NETWORKING 7606 9.1.403 Cisco NETWORKING 7401ASR 9.1.404 Cisco NETWORKING VG248 9.1.406 Cisco NETWORKING ONS 15540 9.1.407 Cisco NETWORKING SN5420 9.1.409 Cisco NETWORKING CE-507 9.1.410 Cisco NETWORKING CE-560 9.1.411 Cisco NETWORKING CE-590 9.1.412 Cisco NETWORKING CE-7320 9.1.413 Cisco NETWORKING 2691 9.1.414 Cisco NETWORKING 3725 9.1.415 Cisco NETWORKING 3640A 9.1.416 Cisco NETWORKING 1760 9.1.417 Cisco NETWORKING PIX 501 9.1.418 Cisco NETWORKING 2610M 9.1.419 Cisco NETWORKING 2611M 9.1.423 Cisco NETWORKING 12404 9.1.424 Cisco NETWORKING 9004 9.1.425 Cisco NETWORKING 3631-CO 9.1.427 Cisco NETWORKING Catalyst 2950G-12 9.1.428 Cisco NETWORKING Catalyst 2950G-24 9.1.429 Cisco NETWORKING Catalyst 2950G-48 9.1.430 Cisco NETWORKING Catalyst 2950S-24 9.1.431 Cisco NETWORKING Catalyst 3550-12G 9.1.432 Cisco NETWORKING CE-507AV 9.1.433 Cisco NETWORKING CE-560AV 9.1.436 Cisco NETWORKING 3745 9.1.437 Cisco NETWORKING 10005 9.1.438 Cisco NETWORKING 10008 9.1.439 Cisco NETWORKING 7304 9.1.440 Cisco NETWORKING RPM-XF 9.1.444 Cisco NETWORKING 1721 9.1.446 Cisco NETWORKING 827H 9.1.447 Cisco NETWORKING SOHO 77H 9.1.448 Cisco NETWORKING Catalyst 4006-L3 9.1.449 Cisco NETWORKING Catalyst 6503 9.1.450 Cisco NETWORKING PIX 506E 9.1.451 Cisco NETWORKING PIX 515E 9.1.452 Cisco NETWORKING Catalyst 3550-24-DC 9.1.453 Cisco NETWORKING Catalyst 3550-24FX 9.1.456 Cisco NETWORKING ICS7750-MRP300 9.1.457 Cisco NETWORKING RPM-PR 9.1.459 Cisco NETWORKING Wlse 9.1.460 Cisco NETWORKING ONS 15530 9.1.461 Cisco NETWORKING ONS 15530-NEBS 9.1.462 Cisco NETWORKING ONS 15530-ETSI 9.1.463 Cisco NETWORKING SOHO 71 9.1.466 Cisco NETWORKING 2610XM 9.1.467 Cisco NETWORKING 2611XM 9.1.468 Cisco NETWORKING 2620XM 9.1.469 Cisco NETWORKING 2621XM 9.1.470 Cisco NETWORKING 2650XM 9.1.471 Cisco NETWORKING 2651XM 9.1.472 Cisco NETWORKING Catalyst 2950G-24-DC 9.1.474 Cisco NETWORKING Aironet AP 1200AIR 9.1.475 Cisco NETWORKING SN5428 9.1.476 Cisco NETWORKING 7301 9.1.477 Cisco NETWORKING 12816 9.1.478 Cisco NETWORKING 12810 9.1.479 Cisco NETWORKING 3250 9.1.480 Cisco NETWORKING Catalyst 2950-24SX 9.1.481 Cisco NETWORKING ONS 15540 9.1.482 Cisco NETWORKING Catalyst 2950-ST-24-LRE 9.1.483 Cisco NETWORKING Catalyst 2950-8-LRE 9.1.484 Cisco NETWORKING Catalyst 2950-24-LRE 9.1.485 Cisco NETWORKING Catalyst 3550-24PWR 9.1.488 Cisco NETWORKING Catalyst 2955T-12 9.1.489 Cisco NETWORKING Catalyst 2955C-12 9.1.490 Cisco NETWORKING CE-508 9.1.491 Cisco NETWORKING CE-565 9.1.492 Cisco NETWORKING CE-7325 9.1.493 Cisco NETWORKING ONS 15454 9.1.494 Cisco NETWORKING ONS 15327 9.1.495 Cisco NETWORKING 837 9.1.496 Cisco NETWORKING SOHO 97 9.1.497 Cisco NETWORKING 830 9.1.498 Cisco NETWORKING SOHO 91 9.1.499 Cisco NETWORKING 836 9.1.500 Cisco NETWORKING SOHO 96 9.1.501 Cisco NETWORKING Catalyst 4507-L3 9.1.502 Cisco NETWORKING Catalyst 4506-L3 9.1.503 Cisco NETWORKING Catalyst 4503-L3 9.1.504 Cisco NETWORKING CD7305 9.1.505 Cisco NETWORKING CE-510 9.1.507 Cisco NETWORKING Aironet 1240AG 9.1.508 Cisco NETWORKING Catalyst 2955S-12 9.1.509 Cisco NETWORKING 7609 9.1.510 Cisco NETWORKING Catalyst 6509 9.1.511 Cisco NETWORKING Catalyst 3750-24 9.1.512 Cisco NETWORKING Catalyst 3750-48 9.1.513 Cisco NETWORKING Catalyst 3750-24TS 9.1.514 Cisco NETWORKING Catalyst 3750-24T 9.1.515 Cisco NETWORKING Cat3524PWRXLEn 9.1.516 Cisco NETWORKING Catalyst 3750-24/48 9.1.517 Cisco NETWORKING ACE GSS 4492R 9.1.520 Cisco NETWORKING MWR1941-DC 9.1.522 Cisco NETWORKING FWSM Firewall 9.1.525 Cisco NETWORKING Aironet AP 1231G 9.1.527 Cisco NETWORKING Catalyst 2970 9.1.528 Cisco NETWORKING 7613 9.1.530 Cisco NETWORKING Catalyst 3750 with 12 SFP Gigabit Ethernet Ports 9.1.531 Cisco NETWORKING CR4430 9.1.532 Cisco NETWORKING CR4450 9.1.533 Cisco NETWORKING AIRBR 1410 9.1.534 Cisco NETWORKING Catalyst 6509 NEBA 9.1.535 Cisco NETWORKING Catalyst 3750-48PS 9.1.536 Cisco NETWORKING Catalyst 3750-24PS 9.1.537 Cisco NETWORKING Catalyst 4510-L3 9.1.538 Cisco NETWORKING 1711 9.1.539 Cisco NETWORKING 1712 9.1.540 Cisco NETWORKING Catalyst 2940-8TT 9.1.542 Cisco NETWORKING Catalyst 2940-8TF 9.1.543 Cisco NETWORKING 3825 9.1.544 Cisco NETWORKING 3845 9.1.548 Cisco NETWORKING 2431 9.1.550 Cisco NETWORKING 1700 9.1.551 Cisco NETWORKING Catalyst 2950ST-24-LRE-997 9.1.552 Cisco NETWORKING AIRAP 350IOS 9.1.553 Cisco NETWORKING 3220 9.1.554 Cisco NETWORKING Catalyst 6500SSLSM 9.1.557 Cisco NETWORKING Catalyst 6000 Series Module Switch Feature Card 9.1.558 Cisco NETWORKING VG224 9.1.559 Cisco NETWORKING Catalyst 2950-48T 9.1.560 Cisco NETWORKING Catalyst 2950-48SX 9.1.561 Cisco NETWORKING Catalyst 2970-24TS 9.1.562 Cisco NETWORKING NmNam 9.1.563 Cisco NETWORKING Catalyst 3560-24PS 9.1.564 Cisco NETWORKING Catalyst 3560-48PS 9.1.565 Cisco NETWORKING Aironet AP 1310 9.1.566 Cisco NETWORKING 851 9.1.567 Cisco NETWORKING 857 ISR 9.1.568 Cisco NETWORKING 876 9.1.569 Cisco NETWORKING 877 9.1.570 Cisco NETWORKING 878 9.1.571 Cisco NETWORKING 871 9.1.573 Cisco NETWORKING Cat6kGateway 9.1.574 Cisco NETWORKING Catalyst 3750ME 9.1.575 Cisco NETWORKING Catalyst 4000NAM 9.1.576 Cisco NETWORKING 2811 9.1.577 Cisco NETWORKING 2821 9.1.578 Cisco NETWORKING 2851 9.1.581 Cisco NETWORKING 3201 9.1.584 Cisco NETWORKING MCS7835H 9.1.586 Cisco NETWORKING MCS7845H 9.1.590 Cisco NETWORKING 12006 9.1.591 Cisco NETWORKING Catalyst 3750G-16TD 9.1.592 Cisco NETWORKING Gigabit Ethernet Module 9.1.594 Cisco NETWORKING 1718 9.1.595 Cisco NETWORKING CE-511 9.1.596 Cisco NETWORKING CE-566 9.1.597 Cisco NETWORKING MGX8830Pxm45 9.1.598 Cisco NETWORKING MGX8880 9.1.599 Cisco NETWORKING WsSvcWLAN1K9 9.1.600 Cisco NETWORKING CE-7306 9.1.601 Cisco NETWORKING WAE-7326-K9 9.1.602 Cisco NETWORKING Catalyst 3750G-24PS 9.1.603 Cisco NETWORKING Catalyst 3750G-48PS 9.1.604 Cisco NETWORKING Catalyst 3750G-48TS 9.1.606 Cisco NETWORKING BMGX8830Pxm45 9.1.607 Cisco NETWORKING BMGX8830Pxm1E 9.1.608 Cisco NETWORKING BMGX8850Pxm45 9.1.609 Cisco NETWORKING BMGX8850Pxm1E 9.1.612 Cisco NETWORKING CE-501 9.1.613 Cisco NETWORKING CRS16S 9.1.614 Cisco NETWORKING Catalyst 3560G-24PS 9.1.615 Cisco NETWORKING Catalyst 3560G-24TS 9.1.616 Cisco NETWORKING Catalyst 3560G-48PS 9.1.617 Cisco NETWORKING Catalyst 3560G-48TS 9.1.618 Cisco NETWORKING Aironet 1130 series 9.1.619 Cisco NETWORKING 2801 9.1.620 Cisco NETWORKING 1841 9.1.621 Cisco NETWORKING WsSvcMWAM1 9.1.624 Cisco NETWORKING Catalyst 3750G-24TS1U 9.1.625 Cisco NETWORKING Cat3710-98HP001 9.1.626 Cisco NETWORKING Catalyst WS-C4948 9.1.627 Cisco NETWORKING Catalyst WS-C4948-10GE 9.1.628 Cisco NETWORKING SB106 9.1.629 Cisco NETWORKING SB107 9.1.630 Cisco NETWORKING WLSE1130 9.1.631 Cisco NETWORKING WLSE1030 9.1.633 Cisco NETWORKING Catalyst 3560-24TS 9.1.634 Cisco NETWORKING Catalyst 3560-48TS 9.1.637 Cisco NETWORKING ONS 15310 9.1.638 Cisco NETWORKING 1801 9.1.639 Cisco NETWORKING 1802 9.1.640 Cisco NETWORKING 1803 9.1.641 Cisco NETWORKING 1811 9.1.642 Cisco NETWORKING 1812/1812J 9.1.643 Cisco NETWORKING CRS8S 9.1.648 Cisco NETWORKING Intrusion Prevention System 4240 9.1.652 Cisco NETWORKING Intrusion Prevention System 4255 9.1.653 Cisco NETWORKING Intrusion Prevention System 6.0 9.1.655 Cisco NETWORKING ASA AIP SSM-20 9.1.656 Cisco NETWORKING Catalyst 3750-24FS 9.1.657 Cisco NETWORKING Catalyst 6504 9.1.658 Cisco NETWORKING 7604 9.1.659 Cisco NETWORKING Catalyst 4500 9.1.660 Cisco NETWORKING Gigabit Ethernet Module 9.1.662 Cisco NETWORKING Intrusion Prevention System SSM-10 9.1.663 Cisco NETWORKING NME-16ES-1G-P 9.1.664 Cisco NETWORKING EtherSwitch Module NME-X-23ES-1G-P 9.1.665 Cisco NETWORKING NmeXd24Es2St 9.1.666 Cisco NETWORKING EtherSwitch Module NME-XD-48ES-2S-P 9.1.667 Cisco NETWORKING 3202WMIC 9.1.668 Cisco NETWORKING AS5400XM 9.1.669 Cisco NETWORKING ASA 5510 9.1.670 Cisco NETWORKING ASA 5520 9.1.671 Cisco NETWORKING ASA 5520 9.1.672 Cisco NETWORKING ASA 5540 9.1.673 Cisco NETWORKING ASA 5540 Security Context 9.1.674 Cisco NETWORKING FWSM Firewall 9.1.675 Cisco NETWORKING PIX 535 9.1.676 Cisco NETWORKING PIX 525 Security Context 9.1.677 Cisco NETWORKING PIX 515E 9.1.678 Cisco NETWORKING PIX 525 9.1.679 Cisco NETWORKING AS5350XM 9.1.684 Cisco NETWORKING SCE2000 9.1.685 Cisco NETWORKING Aironet 1240 series 9.1.686 Cisco NETWORKING DSC9120CLK9 9.1.688 Cisco NETWORKING Catalyst 3750G-12SFP 9.1.694 Cisco NETWORKING Catalyst 2960-24TC 9.1.695 Cisco NETWORKING Catalyst 2960-48TC 9.1.696 Cisco NETWORKING Catalyst 2960G-24TC 9.1.697 Cisco NETWORKING Catalyst 2960G-48TC 9.1.702 Cisco NETWORKING NME-X-23ES-1G-P 9.1.703 Cisco NETWORKING NME-XD-48ES-2S-P 9.1.704 Cisco NETWORKING NmeXd24Es2StNoPwr 9.1.705 Cisco NETWORKING NmeXd48Es2GeNoPwr 9.1.706 Cisco NETWORKING Cat6kMsfc2a 9.1.708 Cisco NETWORKING CE-611 9.1.709 Cisco NETWORKING WLSEs20 9.1.712 Cisco NETWORKING WLSE1132 9.1.713 Cisco NETWORKING ME6340ACA 9.1.714 Cisco NETWORKING ME6340DCA 9.1.715 Cisco NETWORKING ME6340DCB 9.1.716 Cisco NETWORKING Catalyst 2960-24TT 9.1.717 Cisco NETWORKING Catalyst 2960-48TT 9.1.718 Cisco NETWORKING Gigabit Ethernet Module 9.1.719 Cisco NETWORKING ME6524-GS-8S 9.1.720 Cisco NETWORKING 6524ME Ethernet Switch 9.1.721 Cisco NETWORKING ME 6724 9.1.722 Cisco NETWORKING ME 6724 9.1.724 Cisco NETWORKING Catalyst Express 500-24TT 9.1.725 Cisco NETWORKING Catalyst Express 500 24LC 9.1.726 Cisco NETWORKING Catalyst Express 500-24PC 9.1.727 Cisco NETWORKING Catalyst Express 500G 12TC 9.1.728 Cisco NETWORKING Gigabit Ethernet Module 9.1.730 Cisco NETWORKING ACE 10-K9 9.1.731 Cisco NETWORKING 5750 9.1.732 Cisco NETWORKING MWR1941DCA 9.1.733 Cisco NETWORKING 815 9.1.734 Cisco NETWORKING 240024TSA 9.1.735 Cisco NETWORKING 240024TSD 9.1.736 Cisco NETWORKING 340024TSA 9.1.737 Cisco NETWORKING 340024TSD 9.1.738 Cisco NETWORKING Crs18Linecard 9.1.739 Cisco NETWORKING Crs1Fabric 9.1.743 Cisco NETWORKING Intrusion Prevention System 4260 9.1.744 Cisco NETWORKING 6500WS-SVC-SAMI-BB 9.1.745 Cisco NETWORKING ASA 5505 9.1.747 Cisco NETWORKING Catalyst 3750G-24PS 9.1.748 Cisco NETWORKING Catalyst Blade Switch 3020 9.1.749 Cisco NETWORKING Catalyst Blade Switch 3030 9.1.750 Cisco NETWORKING SpaOc48posSfp 9.1.752 Cisco NETWORKING WLSE1133 9.1.753 Cisco NETWORKING ASA 5550 9.1.758 Cisco NETWORKING C1250 9.1.759 Cisco NETWORKING CE-512 9.1.761 Cisco NETWORKING CE-612 9.1.763 Cisco NETWORKING ASA 5550 Security Context 9.1.764 Cisco NETWORKING ASA 5520 9.1.765 Cisco NETWORKING ASA 5540 9.1.766 Cisco NETWORKING ASA 5550 9.1.768 Cisco NETWORKING PIX 515sy 9.1.769 Cisco NETWORKING PIX 515Esy 9.1.770 Cisco NETWORKING PIX 525sy 9.1.771 Cisco NETWORKING PIX 535sy 9.1.772 Cisco NETWORKING ONS 15400 9.1.773 Cisco NETWORKING ASA 5510 Security Context 9.1.774 Cisco NETWORKING ASA 5510 9.1.776 Cisco NETWORKING WAE-512 9.1.777 Cisco NETWORKING WAE-612 9.1.778 Cisco NETWORKING Catalyst 3750 G24WS25 9.1.779 Cisco NETWORKING Catalyst 3750 G24WS50 9.1.780 Cisco NETWORKING ME-3400G-12CS-A 9.1.781 Cisco NETWORKING ME-3400G-12CS-D 9.1.782 Cisco NETWORKING 877M 9.1.783 Cisco NETWORKING 1801M 9.1.784 Cisco NETWORKING Catalyst Blade Switch 3040 9.1.785 Cisco NETWORKING WAE-511 9.1.786 Cisco NETWORKING WAE-611 9.1.787 Cisco NETWORKING WAE-726 9.1.788 Cisco NETWORKING Me492410GE 9.1.789 Cisco NETWORKING Catalyst 3750 E24TD 9.1.790 Cisco NETWORKING Catalyst 3750 E48TD 9.1.791 Cisco NETWORKING Catalyst 3750 E48PD 9.1.792 Cisco NETWORKING Catalyst 3750 E24PD 9.1.793 Cisco NETWORKING Catalyst 3560E-24TD-S 9.1.794 Cisco NETWORKING Catalyst 3560E-48TD 9.1.795 Cisco NETWORKING Catalyst 3560E-24PD-S 9.1.796 Cisco NETWORKING Catalyst 3560E-48PD-E/S/EF/SF 9.1.797 Cisco NETWORKING Catalyst 3560-8PC-S 9.1.798 Cisco NETWORKING Catalyst 2960-8TC 9.1.799 Cisco NETWORKING Catalyst 2960G-8TC-L 9.1.818 Cisco NETWORKING NMWLCE 9.1.819 Cisco NETWORKING 3205WirelessMic 9.1.820 Cisco NETWORKING 5720 9.1.821 Cisco NETWORKING 7201 9.1.822 Cisco NETWORKING Crs14S 9.1.824 Cisco NETWORKING ACE 4710 9.1.825 Cisco NETWORKING Me3400g2CsA 9.1.826 Cisco NETWORKING NmeNam 9.1.827 Cisco NETWORKING Ubr7225Vxr 9.1.828 Cisco NETWORKING Wireless LAN Controller 2106 9.1.832 Cisco NETWORKING Catalyst 6509VE 9.1.833 Cisco NETWORKING 5740 9.1.834 Cisco NETWORKING 861 9.1.835 Cisco NETWORKING 866 9.1.836 Cisco NETWORKING 867 9.1.837 Cisco NETWORKING 881 9.1.838 Cisco NETWORKING 881G 9.1.839 Cisco NETWORKING 881F 9.1.840 Cisco NETWORKING 881SRST 9.1.841 Cisco NETWORKING 881BRST 9.1.842 Cisco NETWORKING 886 9.1.843 Cisco NETWORKING 886G 9.1.844 Cisco NETWORKING 886F 9.1.845 Cisco NETWORKING 886B 9.1.846 Cisco NETWORKING 886SRST 9.1.847 Cisco NETWORKING 887 9.1.848 Cisco NETWORKING 887G 9.1.849 Cisco NETWORKING 887F 9.1.850 Cisco NETWORKING 887B 9.1.851 Cisco NETWORKING 887SRST 9.1.852 Cisco NETWORKING 888 9.1.853 Cisco NETWORKING 888G 9.1.854 Cisco NETWORKING 888F 9.1.855 Cisco NETWORKING 888B 9.1.856 Cisco NETWORKING 888 SRST 9.1.857 Cisco NETWORKING 891 9.1.858 Cisco NETWORKING 892 9.1.859 Cisco NETWORKING 885D3 9.1.860 Cisco NETWORKING 885FD3 9.1.861 Cisco NETWORKING 885EJ3 9.1.862 Cisco NETWORKING 7603s 9.1.863 Cisco NETWORKING 7606-S 9.1.864 Cisco NETWORKING 7609-S 9.1.868 Cisco NETWORKING Catalyst 6509VE 9.1.869 Cisco NETWORKING 860Ap 9.1.870 Cisco NETWORKING 880Ap 9.1.871 Cisco NETWORKING 890Ap 9.1.872 Cisco NETWORKING 1900Ap 9.1.873 Cisco NETWORKING ME 3400-24FS-A 9.1.874 Cisco NETWORKING Catalyst 4503-E 9.1.875 Cisco NETWORKING Catalyst 4506-E 9.1.876 Cisco NETWORKING Catalyst 4507R-E 9.1.877 Cisco NETWORKING Catalyst 4510R-E 9.1.878 Cisco NETWORKING Catalyst Express 520 9.1.879 Cisco NETWORKING Catalyst Express 520 9.1.880 Cisco NETWORKING Catalyst Express 520 9.1.881 Cisco NETWORKING Catalyst Express 520 9.1.882 Cisco NETWORKING Catalyst Express 520 9.1.883 Cisco NETWORKING Catalyst Express 520 9.1.884 Cisco NETWORKING Catalyst Express 520 9.1.885 Cisco NETWORKING Catalyst Express 520 9.1.886 Cisco NETWORKING Catalyst Express 520 9.1.887 Cisco NETWORKING Catalyst Express 520 9.1.888 Cisco NETWORKING Catalyst Express 520 9.1.889 Cisco NETWORKING Catalyst Express 520 9.1.890 Cisco NETWORKING Catalyst Express 520 9.1.891 Cisco NETWORKING Catalyst Express 520 9.1.892 Cisco NETWORKING Catalyst Express 520 9.1.893 Cisco NETWORKING Catalyst Express 520 9.1.894 Cisco NETWORKING Catalyst Express 520 9.1.895 Cisco NETWORKING Catalyst Express 520 9.1.896 Cisco NETWORKING Catalyst 6509VSS 9.1.897 Cisco NETWORKING Catalyst Express 520 9.1.902 Cisco NETWORKING 1861 9.1.903 Cisco NETWORKING 1861 9.1.904 Cisco NETWORKING 1861 9.1.905 Cisco NETWORKING 1861 9.1.907 Cisco NETWORKING WAE-7341 9.1.908 Cisco NETWORKING WAE-7371-K9 9.1.909 Cisco NETWORKING Catalyst Switch Module 3110G for IBM BladeCenter 9.1.910 Cisco NETWORKING Catalyst Switch Module 3110G for IBM BladeCenter 9.1.911 Cisco NETWORKING Catalyst Switch Module 3110X for IBM BladeCenter 9.1.912 Cisco NETWORKING Catalyst Switch Module 3110X for IBM BladeCenter 9.1.913 Cisco NETWORKING SCE8000 9.1.914 Cisco NETWORKING ASA 5580 9.1.915 Cisco NETWORKING ASA 5580 Security Context 9.1.916 Cisco NETWORKING ASA 5580 9.1.917 Cisco NETWORKING Catalyst 4900M 9.1.918 Cisco NETWORKING Catalyst Blade Switch 3120G 9.1.919 Cisco NETWORKING Catalyst Blade Switch 3120X 9.1.920 Cisco NETWORKING Catalyst Blade Switch 3032 9.1.921 Cisco NETWORKING Catalyst Blade Switch 3130G 9.1.922 Cisco NETWORKING Catalyst Blade Switch 3130X 9.1.923 Cisco NETWORKING ASR 1002 9.1.924 Cisco NETWORKING ASR 1004 9.1.925 Cisco NETWORKING ASR 1006 9.1.927 Cisco NETWORKING Catalyst 2960-48TC-S 9.1.928 Cisco NETWORKING Catalyst 2960-24TC-S 9.1.929 Cisco NETWORKING Catalyst 2960-24-S 9.1.930 Cisco NETWORKING Cat3560e12d 9.1.931 Cisco NETWORKING CiscoCatRfgw 9.1.932 Cisco NETWORKING Catalyst Express 520 9.1.933 Cisco NETWORKING Catalyst Express 520 24LC 9.1.934 Cisco NETWORKING Catalyst Express 520-24PC 9.1.935 Cisco NETWORKING Catalyst Express 520 9.1.936 Cisco NETWORKING CDE100 9.1.937 Cisco NETWORKING CDE200 9.1.938 Cisco NETWORKING CDE300 9.1.939 Cisco NETWORKING 1861SrstCue2BK9 9.1.940 Cisco NETWORKING 1861SrstCue4FK9 9.1.944 Cisco NETWORKING ASA-SSM-40 9.1.946 Cisco NETWORKING CBS3100 9.1.947 Cisco NETWORKING Catalyst Switch Module 3110X 9.1.948 Cisco NETWORKING Catalyst Blade Switch 3120X 9.1.949 Cisco NETWORKING Catalyst Blade Switch 3130X 9.1.950 Cisco NETWORKING Catalyst 2960 Software 9.1.951 Cisco NETWORKING Catalyst 2960-24LT-L 9.1.952 Cisco NETWORKING Catalyst 2960PD-8TT-L 9.1.954 Cisco NETWORKING Nexus 5020 (AC PSU) 9.1.955 Cisco NETWORKING Nexus 5020 (DC PSU) 9.1.956 Cisco NETWORKING Catalyst 3560E-12SD 9.1.957 Cisco NETWORKING WAE-674 9.1.958 Cisco NETWORKING IE 3000-4TC 9.1.959 Cisco NETWORKING IE 3000-8TC 9.1.960 Cisco NETWORKING RAIE1783MS06T 9.1.961 Cisco NETWORKING RAIE1783MS10T 9.1.962 Cisco NETWORKING 2435Iad8fxs 9.1.965 Cisco NETWORKING catalyst291824TT 9.1.966 Cisco NETWORKING catalyst291824TC 9.1.967 Cisco NETWORKING catalyst291848TT 9.1.968 Cisco NETWORKING catalyst291848TC 9.1.970 Cisco NETWORKING Catalyst Express 520 9.1.971 Cisco NETWORKING Catalyst Express 520 9.1.972 Cisco NETWORKING Catalyst Express 520 9.1.973 Cisco NETWORKING Catalyst Express 520 9.1.981 Cisco NETWORKING 1805 9.1.982 Cisco NETWORKING WAE-7341 9.1.983 Cisco NETWORKING CE-7371 9.1.984 Cisco NETWORKING 7613S 9.1.985 Cisco NETWORKING WAVE-574-K9 9.1.986 Cisco NETWORKING WAE-474-k9 9.1.987 Cisco NETWORKING WAE-274-K9 9.1.988 Cisco NETWORKING Ap801agn 9.1.989 Cisco NETWORKING Ap801gn 9.1.990 Cisco NETWORKING 1861WSrstCue4FK9 9.1.991 Cisco NETWORKING 1861WSrstCue2BK9 9.1.992 Cisco NETWORKING 1861WSrst4FK9 9.1.993 Cisco NETWORKING 1861WSrst2BK9 9.1.994 Cisco NETWORKING 1861WUc4FK9 9.1.995 Cisco NETWORKING 1861WUc2BK9 9.1.996 Cisco NETWORKING CE-674 9.1.998 Cisco NETWORKING AIRAP1160 9.1.999 Cisco NETWORKING WsCbs3012Ibm 9.1.1000 Cisco NETWORKING Catalyst Switch Module 3012 9.1.1001 Cisco NETWORKING WsCbs3125gS 9.1.1002 Cisco NETWORKING WsCbs3125xS 9.1.1004 Cisco NETWORKING catalyst492810GE 9.1.1005 Cisco NETWORKING Catalyst 2960 48-TT-S 9.1.1006 Cisco NETWORKING Catalyst 2960-8TC-S 9.1.1007 Cisco NETWORKING ME 3400EG-2CS-A 9.1.1008 Cisco NETWORKING ME 3400EG-12CS-M 9.1.1009 Cisco NETWORKING ME 3400E-24TS-M 9.1.1011 Cisco NETWORKING SR520FE 9.1.1012 Cisco NETWORKING SR520ADSL 9.1.1013 Cisco NETWORKING SR520ADSLi 9.1.1014 Cisco NETWORKING MWR2941-DC 9.1.1015 Cisco NETWORKING Catalyst 3560-12PC-S 9.1.1016 Cisco NETWORKING Catalyst 2960-48PST-L 9.1.1017 Cisco NETWORKING ASR9010 9.1.1018 Cisco NETWORKING ASR9006 9.1.1019 Cisco NETWORKING Catalyst 3560V2-24TSD 9.1.1020 Cisco NETWORKING Catalyst 3560V2-24TS 9.1.1021 Cisco NETWORKING Catalyst 3560V2-24PS 9.1.1022 Cisco NETWORKING Catalyst 3750V2-24TS 9.1.1023 Cisco NETWORKING Catalyst 3750V2-24PS 9.1.1024 Cisco NETWORKING Catalyst 3560V2 48TS 9.1.1025 Cisco NETWORKING Catalyst 3560V2-48PS 9.1.1026 Cisco NETWORKING Catalyst 3750V2-48TS 9.1.1027 Cisco NETWORKING Catalyst 3750V2-48PS 9.1.1028 Cisco NETWORKING HwicCableD2 9.1.1029 Cisco NETWORKING HwicCableEJ2 9.1.1030 Cisco NETWORKING 1400 series 9.1.1031 Cisco NETWORKING 1430 series 9.1.1032 Cisco NETWORKING NAM Appliance 2204 9.1.1033 Cisco NETWORKING NAM Appliance 2220 9.1.1034 Cisco NETWORKING Aironet 1140 series 9.1.1035 Cisco NETWORKING Aironet AP 1142 9.1.1036 Cisco NETWORKING ASR1400 4S 9.1.1037 Cisco NETWORKING ASR1400 8S 9.1.1040 Cisco NETWORKING 887V 9.1.1041 Cisco NETWORKING 3945 9.1.1042 Cisco NETWORKING 3925 9.1.1043 Cisco NETWORKING 2951 9.1.1044 Cisco NETWORKING 2921 9.1.1045 Cisco NETWORKING 2911 9.1.1046 Cisco NETWORKING 2901 9.1.1047 Cisco NETWORKING 1941 9.1.1051 Cisco NETWORKING SM-ES2-24 9.1.1052 Cisco NETWORKING SM-ES2-24-P 9.1.1057 Cisco NETWORKING SM-D-ES3G-48-P 9.1.1058 Cisco NETWORKING Esw52024pK9 9.1.1059 Cisco NETWORKING Esw54024pK9 9.1.1060 Cisco NETWORKING Esw52048pK9 9.1.1061 Cisco NETWORKING Esw52024K9 9.1.1062 Cisco NETWORKING Esw54024K9 9.1.1063 Cisco NETWORKING Esw52048K9 9.1.1064 Cisco NETWORKING Esw54048K9 9.1.1065 Cisco NETWORKING 1861 9.1.1067 Cisco NETWORKING WS-C2975GS-48PS-L 9.1.1068 Cisco NETWORKING C2975 Stack 9.1.1069 Cisco NETWORKING WLC 5500 9.1.1070 Cisco NETWORKING SR520-T1 9.1.1087 Cisco NETWORKING WS-CBS3140XS 9.1.1088 Cisco NETWORKING WS-CBS3140GS 9.1.1089 Cisco NETWORKING WS-CBS3042FSC 9.1.1090 Cisco NETWORKING WS-CBS3150XS 9.1.1091 Cisco NETWORKING WS-CBS3150GS 9.1.1092 Cisco NETWORKING WS-CBS3052NEC 9.1.1093 Cisco NETWORKING CBS3140Stack 9.1.1094 Cisco NETWORKING CBS3150Stack 9.1.1095 Cisco NETWORKING 1941W-A/K9 9.1.1096 Cisco NETWORKING 888E 9.1.1097 Cisco NETWORKING 888EG 9.1.1098 Cisco NETWORKING 888EB 9.1.1099 Cisco NETWORKING 888EF 9.1.1100 Cisco NETWORKING 888SRST 9.1.1102 Cisco NETWORKING 3845nv 9.1.1103 Cisco NETWORKING 3825nv 9.1.1104 Cisco NETWORKING 2350-48TD 9.1.1105 Cisco NETWORKING 887 9.1.1106 Cisco NETWORKING VG250 9.1.1107 Cisco NETWORKING VG226E 9.1.1108 Cisco NETWORKING DsIbm8GfcK9 9.1.1109 Cisco NETWORKING DsHp8GfcK9 9.1.1110 Cisco NETWORKING DsDell8GfcK9 9.1.1111 Cisco NETWORKING Ds-C9148-K9 9.1.1116 Cisco NETWORKING ASR 1002 9.1.1117 Cisco NETWORKING Secure Access Control System 9.1.1118 Cisco NETWORKING 861NPE 9.1.1119 Cisco NETWORKING 881NPE 9.1.1120 Cisco NETWORKING 881GPE 9.1.1121 Cisco NETWORKING 887NPE 9.1.1122 Cisco NETWORKING 888GNPE 9.1.1123 Cisco NETWORKING 891NPE 9.1.1124 Cisco NETWORKING AIRAP3501 9.1.1125 Cisco NETWORKING AIRAP3502 9.1.1130 Cisco NETWORKING Sps2004B 9.1.1131 Cisco NETWORKING Sps204B 9.1.1135 Cisco NETWORKING Ap541nAK9 9.1.1136 Cisco NETWORKING Ap541nEK9 9.1.1137 Cisco NETWORKING Ap541nNK9 9.1.1138 Cisco NETWORKING 887GV 9.1.1139 Cisco NETWORKING 887SRST 9.1.1144 Cisco NETWORKING 3925E ISR 9.1.1145 Cisco NETWORKING 3945E ISR 9.1.1146 Cisco NETWORKING Catalyst 2960-24LC-S 9.1.1147 Cisco NETWORKING Catalyst 2960-24PC-S 9.1.1148 Cisco NETWORKING Catalyst 2960-48PST-S 9.1.1154 Cisco NETWORKING SRP521 9.1.1155 Cisco NETWORKING SRP526 9.1.1156 Cisco NETWORKING SRP527 9.1.1157 Cisco NETWORKING SRP541 9.1.1158 Cisco NETWORKING SRP546 9.1.1159 Cisco NETWORKING SRP547 9.1.1165 Cisco NETWORKING ASR 1001 9.1.1166 Cisco NETWORKING ASR 1013 9.1.1170 Cisco NETWORKING Raie1783Rms06t 9.1.1171 Cisco NETWORKING Raie1783Rms10t 9.1.1172 Cisco NETWORKING 1941WE-K9 9.1.1173 Cisco NETWORKING 1941WP-K9 9.1.1174 Cisco NETWORKING 1941WN-K9 9.1.1175 Cisco NETWORKING MXE5600 9.1.1176 Cisco NETWORKING Esw540 8pK9 9.1.1177 Cisco NETWORKING Esw520 8pK9 9.1.1178 Cisco NETWORKING Catalyst 4948E 9.1.1179 Cisco NETWORKING Catalyst 2960-X 48TSS 9.1.1180 Cisco NETWORKING Catalyst 2960-X 24TSS 9.1.1181 Cisco NETWORKING Catalyst 2960-XS 48 FPDL 9.1.1182 Cisco NETWORKING Catalyst 2960-XS 48 LPDL 9.1.1183 Cisco NETWORKING Catalyst 2960-XS 48 LTDL 9.1.1184 Cisco NETWORKING Catalyst 2960-XS 24 PDL 9.1.1185 Cisco NETWORKING Catalyst 2960-XS 24 TDL 9.1.1186 Cisco NETWORKING Catalyst 2960-XS 48 FPSL 9.1.1187 Cisco NETWORKING Catalyst 2960-XS 48 LPSL 9.1.1188 Cisco NETWORKING Catalyst 2960-XS 24 PSL 9.1.1189 Cisco NETWORKING Catalyst 2960-XS 48 TSL 9.1.1190 Cisco NETWORKING Catalyst 2960-XS 24 TSL 9.1.1191 Cisco NETWORKING 1921 9.1.1192 Cisco NETWORKING 1905k9 9.1.1194 Cisco NETWORKING ASA 5585-SSP-10 9.1.1195 Cisco NETWORKING ASA 5585-SSP-20 9.1.1196 Cisco NETWORKING ASA 5585-X 40 9.1.1197 Cisco NETWORKING ASA 5585-X 60 9.1.1198 Cisco NETWORKING ASA 5585-X 10 9.1.1199 Cisco NETWORKING ASA5585-S20X-K9 9.1.1200 Cisco NETWORKING ASA 5585-SSP-40-SC 9.1.1201 Cisco NETWORKING ASA 5585-SSP-60-SC 9.1.1206 Cisco NETWORKING 3925SPE250 9.1.1207 Cisco NETWORKING 3945SPE200 9.1.1208 Cisco NETWORKING Catalyst 2960S Software 9.1.1210 Cisco NETWORKING NME-WAE-502-K9 9.1.1215 Cisco NETWORKING Mwr2941DCA 9.1.1216 Cisco NETWORKING Nexus C7018 9.1.1217 Cisco NETWORKING Nexus C7010 9.1.1218 Cisco NETWORKING N4KDellEth 9.1.1219 Cisco NETWORKING N4KDellCiscoEth 9.1.1220 Cisco NETWORKING 1941W-C/K9 9.1.1222 Cisco NETWORKING Catalyst 3750 24 port 9.1.1223 Cisco NETWORKING Catalyst 3750 48 port 9.1.1224 Cisco NETWORKING Catalyst 3750 24 port 9.1.1225 Cisco NETWORKING Catalyst 3750 48 port 9.1.1226 Cisco NETWORKING Catalyst 3560X-24 9.1.1227 Cisco NETWORKING Catalyst 3560X-48T-L-S 9.1.1228 Cisco NETWORKING Catalyst 3560x-24P 9.1.1229 Cisco NETWORKING Catalyst 3560E-48PF-E/S/EF/SF 9.1.1231 Cisco NETWORKING ACE 30-K9 9.1.1232 Cisco NETWORKING ASA 5585 IPS 9.1.1236 Cisco NETWORKING 1841CK9 9.1.1237 Cisco NETWORKING 2801CK9 9.1.1238 Cisco NETWORKING 2811CK9 9.1.1239 Cisco NETWORKING 2821CK9 9.1.1240 Cisco NETWORKING 2851CK9 9.1.1241 Cisco NETWORKING 3825CK9 9.1.1242 Cisco NETWORKING 3845CK9 9.1.1243 Cisco NETWORKING 3825CnvK9 9.1.1244 Cisco NETWORKING 3845CnvK9 9.1.1245 Cisco NETWORKING CGS2520-24TC 9.1.1246 Cisco NETWORKING CGS2520-16S8PC 9.1.1247 Cisco NETWORKING Aironet AP 1262 9.1.1248 Cisco NETWORKING Aironet AP 1261 9.1.1249 Cisco NETWORKING 892F 9.1.1250 Cisco NETWORKING ME 3600-24FS-M 9.1.1251 Cisco NETWORKING ME 3600X-24TS-M 9.1.1252 Cisco NETWORKING ME 3800-24FS-M 9.1.1253 Cisco NETWORKING CGR2010 9.1.1256 Cisco NETWORKING Catalyst 2960S-48TS-S 9.1.1257 Cisco NETWORKING Catalyst 2960S-24TS-S 9.1.1258 Cisco NETWORKING Catalyst 2960-S 48 port FPDL 9.1.1259 Cisco NETWORKING Catalyst 2960-S 48 port LDPL 9.1.1260 Cisco NETWORKING Catalyst 2960-S 48 port TDL 9.1.1261 Cisco NETWORKING Catalyst 2960-S 24 port PDL 9.1.1262 Cisco NETWORKING Catalyst 2960-S 24 port TDL 9.1.1263 Cisco NETWORKING Catalyst 2960-S 48 port FPSL 9.1.1264 Cisco NETWORKING Catalyst 2960-S 48 port LPSL 9.1.1265 Cisco NETWORKING Catalyst 2960-S 24 port PSL 9.1.1266 Cisco NETWORKING Catalyst 2960-S 48 port TSL 9.1.1267 Cisco NETWORKING Catalyst 2960-S 24 port TSL 9.1.1268 Cisco NETWORKING 1906C/K9 router 9.1.1269 Cisco NETWORKING Aironet 1040 series 9.1.1270 Cisco NETWORKING Aironet 1040 series 9.1.1271 Cisco NETWORKING 887VA 9.1.1272 Cisco NETWORKING 867VA 9.1.1273 Cisco NETWORKING 886VA 9.1.1274 Cisco NETWORKING 887VA 9.1.1275 Cisco NETWORKING WS-SVC-ASA-SM1-K9 9.1.1278 Cisco NETWORKING Catalyst 2960C PD-8TT 9.1.1279 Cisco NETWORKING AirCt2504K9 9.1.1286 Cisco NETWORKING Catalyst 4507R+E 9.1.1287 Cisco NETWORKING Catalyst 4510R+E 9.1.1291 Cisco NETWORKING ACE 20-K9 9.1.1292 Cisco NETWORKING Catalyst 2360-48TD-S 9.1.1299 Cisco NETWORKING 881G2 9.1.1300 Cisco NETWORKING Catalyst 3750-V 24 9.1.1301 Cisco NETWORKING OE-VWAAS 9.1.1302 Cisco NETWORKING ASA 5585-X 10007 9.1.1303 Cisco NETWORKING ASA 5585-X 20007 9.1.1304 Cisco NETWORKING ASA 5585-X 40007 9.1.1305 Cisco NETWORKING ASA 5585-X 80007 9.1.1306 Cisco NETWORKING ASA 5585-X 10007 9.1.1307 Cisco NETWORKING ASA 5585-X 20007 9.1.1308 Cisco NETWORKING ASA 5585-X 40007 9.1.1309 Cisco NETWORKING ASA 5585-X 60007 9.1.1310 Cisco NETWORKING ASA 5585-X 10007 9.1.1311 Cisco NETWORKING ASA 5585-X 20007 9.1.1312 Cisco NETWORKING ASA 5585-X 40007 9.1.1313 Cisco NETWORKING ASA 5585-X 60007 9.1.1315 Cisco NETWORKING Catalyst 2960C 8TC 9.1.1316 Cisco NETWORKING Catalyst 2960C 8PC 9.1.1317 Cisco NETWORKING Catalyst 3560C 8PC 9.1.1318 Cisco NETWORKING Catalyst 3560C 8TC 9.1.1319 Cisco NETWORKING IE 3010 9.1.1320 Cisco NETWORKING IE 3010 9.1.1321 Cisco NETWORKING RAIE1783RMSB10T 9.1.1322 Cisco NETWORKING RAIE1783RMSB06T 9.1.1323 Cisco NETWORKING ASA 5585-X IPS Security Services Processor 10007 9.1.1324 Cisco NETWORKING ASA 5585-X IPS Security Services Processor-20007 9.1.1325 Cisco NETWORKING ASA 5585-X IPS Security Services Processor-40007 9.1.1326 Cisco NETWORKING ASA 5585-X IPS Security Services Processor-60007 9.1.1327 Cisco NETWORKING Catalyst 4948E-F 9.1.1328 Cisco NETWORKING 2928-24TCC 9.1.1329 Cisco NETWORKING 2928-48TCC 9.1.1330 Cisco NETWORKING 2928-24LTC 9.1.1331 Cisco NETWORKING CRS-16SB 9.1.1339 Cisco NETWORKING 1861E Integrated Services 9.1.1340 Cisco NETWORKING 1861E Integrated Services 9.1.1341 Cisco NETWORKING 1861E Integrated Services 9.1.1342 Cisco NETWORKING 1861E Integrated Services 9.1.1343 Cisco NETWORKING 1861E Integrated Services 9.1.1344 Cisco NETWORKING 1861E Integrated Services 9.1.1349 Cisco NETWORKING WAVE 8541 9.1.1350 Cisco NETWORKING WAE-7571-K9 9.1.1351 Cisco NETWORKING WAVE-7541 9.1.1352 Cisco NETWORKING WAVE-694-K9 9.1.1353 Cisco NETWORKING WAVE-594-K9 9.1.1354 Cisco NETWORKING WAVE-294-K9 9.1.1355 Cisco NETWORKING 5915 Embedded Service 9.1.1356 Cisco NETWORKING 5915 Embedded Service 9.1.1358 Cisco NETWORKING 867VAE Integrated Services 9.1.1359 Cisco NETWORKING 866VAE Integrated Services 9.1.1360 Cisco NETWORKING 867VAE Integrated Services 9.1.1361 Cisco NETWORKING 866VAE Integrated Services 9.1.1364 Cisco NETWORKING Catalyst 2960C-8TC-S 9.1.1365 Cisco NETWORKING Catalyst 2960C-8TC-L 9.1.1366 Cisco NETWORKING Catalyst 2960C-8PC-L 9.1.1367 Cisco NETWORKING Catalyst 2960C-12PC-L 9.1.1368 Cisco NETWORKING Catalyst 3560CPD-8PT-S Compact 9.1.1369 Cisco NETWORKING 18411841VE Integrated Services 9.1.1370 Cisco NETWORKING 2811VE Integrated Services 9.1.1371 Cisco NETWORKING 881WAK9 Integrated Services Router (C881WAK9) 9.1.1372 Cisco NETWORKING 881 Integrated Services 9.1.1373 Cisco NETWORKING 881W Integrated Services 9.1.1374 Cisco NETWORKING 886VA-W Integrated Services Router G2 9.1.1375 Cisco NETWORKING 887VA-W Integrated Services Router G2 9.1.1376 Cisco NETWORKING 887VA-W Integrated Services Router G2 9.1.1377 Cisco NETWORKING 887VA-W Integrated Services Router G2 9.1.1378 Cisco NETWORKING 819 Non-Hardened Integrated Services 9.1.1379 Cisco NETWORKING 819 Non-Hardened Integrated Services 9.1.1380 Cisco NETWORKING 819 Non-Hardened Integrated Services 9.1.1381 Cisco NETWORKING 819 Non-Hardened Integrated Services 9.1.1382 Cisco NETWORKING 819 Non-Hardened Integrated Services 9.1.1383 Cisco NETWORKING 819 Non-Hardened Integrated Services 9.1.1384 Cisco NETWORKING 819 Hardened Integrated Services 9.1.1385 Cisco NETWORKING 819 Hardened Integrated Services 9.1.1386 Cisco NETWORKING 819 Hardened Integrated Services 9.1.1387 Cisco NETWORKING 819 Hardened Integrated Services 9.1.1388 Cisco NETWORKING 819 Hardened Integrated Services 9.1.1389 Cisco NETWORKING 819 Hardened Integrated Services 9.1.1390 Cisco NETWORKING 886VAG7K9 Integrated Services Router(C886VAG7K9) 9.1.1391 Cisco NETWORKING 887VA Integrated Services Router G2 9.1.1392 Cisco NETWORKING 887VA Integrated Services Router G2 9.1.1393 Cisco NETWORKING 887VA Integrated Services Router G2 9.1.1394 Cisco NETWORKING 888EG7K9 Integrated Services Router (C888EG7K9) 9.1.1395 Cisco NETWORKING 880 3G Integrated Services Router G2 9.1.1396 Cisco NETWORKING 880 3G Integrated Services Router G2 9.1.1397 Cisco NETWORKING 880 3G Integrated Services Router G2 9.1.1398 Cisco NETWORKING 880 3G Integrated Services Router G2 9.1.1399 Cisco NETWORKING 880 3G Integrated Services Router G2 9.1.1400 Cisco NETWORKING 880 3G Integrated Services Router G2 9.1.1407 Cisco NETWORKING ASA 5512-X 9.1.1408 Cisco NETWORKING ASA 5525-X 9.1.1409 Cisco NETWORKING ASA 5545 9.1.1410 Cisco NETWORKING ASA 5555-X 9.1.1412 Cisco NETWORKING ASA 5525-X 9.1.1413 Cisco NETWORKING ASA 5512-X 9.1.1414 Cisco NETWORKING ASA 5555-X 9.1.1420 Cisco NETWORKING ASA 5515-X 9.1.1421 Cisco NETWORKING ASA 5515 9.1.1441 Cisco NETWORKING ASR903 9.1.1445 Cisco NETWORKING ASA 5545 9.1.1450 Cisco NETWORKING ASA 5545 9.1.1465 Cisco NETWORKING Catalyst C3560-12PC-S 9.1.1466 Cisco NETWORKING Catalyst C3560-8PC-S 9.1.1468 Cisco NETWORKING IE 2000-4TS Industrial Ethernet 9.1.1469 Cisco NETWORKING IE 2000-4T Industrial Ethernet 9.1.1470 Cisco NETWORKING IE 2000-4TS-G Industrial Ethernet 9.1.1471 Cisco NETWORKING IE 2000-4T-G Industrial Ethernet 9.1.1472 Cisco NETWORKING IE 2000-8TC Industrial Ethernet 9.1.1473 Cisco NETWORKING IE 2000-8TC-G Industrial Ethernet 9.1.1474 Cisco NETWORKING IE 2000-16TC Industrial Ethernet 9.1.1475 Cisco NETWORKING IE 2000-16TC-G Industrial Ethernet 9.1.1476 Rockwell NETWORKING Stratix MS06S 9.1.1477 Rockwell NETWORKING Stratix BMS06T 9.1.1478 Rockwell NETWORKING Stratix BMS06T 9.1.1479 Rockwell NETWORKING Stratix BMS06SG 9.1.1480 Rockwell NETWORKING Stratix BMS06SG 9.1.1481 Rockwell NETWORKING Stratix BMS06TG 9.1.1482 Rockwell NETWORKING Stratix BMS06TG 9.1.1483 Rockwell NETWORKING Stratix BMS10C 9.1.1484 Rockwell NETWORKING Stratix BMS10C 9.1.1485 Rockwell NETWORKING Stratix BMS10CG 9.1.1486 Rockwell NETWORKING Stratix BMS10CG 9.1.1487 Rockwell NETWORKING Stratix BMS10CGP 9.1.1488 Rockwell NETWORKING Stratix BMS10CGN 9.1.1489 Rockwell NETWORKING Stratix BMS20C 9.1.1490 Rockwell NETWORKING Stratix BMS20C 9.1.1491 Rockwell NETWORKING Stratix BMS20CGL 9.1.1492 Rockwell NETWORKING Stratix BMS20CGP 9.1.1493 Rockwell NETWORKING Stratix BMS20CGPK 9.1.1519 Rockwell NETWORKING Stratix MS06SA 9.1.1520 Cisco NETWORKING IE 2000-16TC-G-X Industrial Ethernet 9.1.1521 Cisco NETWORKING ASR 901 9.1.1522 Cisco NETWORKING ASR 901 9.1.1525 Cisco NETWORKING ASR 1002-X 9.1.1526 Cisco NETWORKING 2010 Connected Grid 9.1.1537 Cisco NETWORKING CSR 1000V 9.1.1542 Cisco NETWORKING C888EA-K9 9.1.1566 Cisco NETWORKING 881W881WD Integrated Services 9.1.1567 Cisco NETWORKING 881W881WD Integrated Services 9.1.1570 Cisco NETWORKING 819 Hardened 3G with Dual Radio 802.11n WiFi Integrated Services 9.1.1571 Cisco NETWORKING 819 Hardened 3G with Dual Radio 802.11n WiFi Integrated Services 9.1.1572 Cisco NETWORKING 819 Hardened 3G with Dual Radio 802.11n WiFi Integrated Services 9.1.1573 Cisco NETWORKING 819 Hardened 3G with Dual Radio 802.11n WiFi Integrated Services 9.1.1574 Cisco NETWORKING 819 Hardened 3G with Dual Radio 802.11n WiFi Integrated Services 9.1.1575 Cisco NETWORKING 819 Hardened Integrated Services 9.1.1578 Cisco NETWORKING 812 3G Integrated Services 9.1.1579 Cisco NETWORKING 812 CiFi Integrated Services 9.1.1580 Cisco NETWORKING 812 CiFi Integrated Services 9.1.1581 Cisco NETWORKING 812 CiFi Integrated Services 9.1.1582 Cisco NETWORKING 812 CiFi Integrated Services 9.1.1600 Cisco NETWORKING 881W Integrated Services 9.1.1601 Cisco NETWORKING 887VA Integrated Services Router G2 9.1.1602 Cisco NETWORKING 887VA Integrated Services Router G2 9.1.1605 Cisco NETWORKING Catalyst 4500X-16 SFP+ 9.1.1606 Cisco NETWORKING Catalyst 4500X-32 SFP+ 9.1.1615 Cisco NETWORKING Flex 8500 Wireless LAN Controller 9.1.1620 Cisco NETWORKING C892FSP-K9 9.1.1621 Cisco NETWORKING C898EA Integrated Services 9.1.1622 Cisco NETWORKING C897VA Integrated Services 9.1.1623 Cisco NETWORKING C897VA Integrated Services 9.1.1624 Cisco NETWORKING C897VAW Integrated Services 9.1.1625 Cisco NETWORKING C897VAW Integrated Services 9.1.1626 Cisco NETWORKING C897VAW Integrated Services 9.1.1627 Cisco NETWORKING C896VA Integrated Services 9.1.1631 Cisco NETWORKING Virtual Wireless LAN Controller 9.1.1639 Cisco NETWORKING ASR 9001 9.1.1640 Cisco NETWORKING ASR 9922 9.1.1641 Cisco NETWORKING Catalyst 3850-48P 9.1.1642 Cisco NETWORKING Catalyst 3850-24P-E 9.1.1643 Cisco NETWORKING Catalyst 3850-48T 9.1.1644 Cisco NETWORKING Catalyst 3850-24T 9.1.1645 Cisco NETWORKING 5760 Wireless LAN Controller 9.1.1649 Cisco NETWORKING Catalyst 2960S-F48FPS-L 9.1.1650 Cisco NETWORKING Catalyst 2960S-F48LPS-L 9.1.1651 Cisco NETWORKING Catalyst 2960S-F48TS-L 9.1.1652 Cisco NETWORKING Catalyst 2960S-F24PS-L 9.1.1653 Cisco NETWORKING Catalyst 2960S-F24TS-L 9.1.1654 Cisco NETWORKING Catalyst 2960S-F48TS-S 9.1.1655 Cisco NETWORKING Catalyst 2960S-F24TS-S 9.1.1660 Cisco NETWORKING AIR-SAP1602E-C-K9 9.1.1707 Cisco NETWORKING 4451-X ISR 9.1.1709 Cisco NETWORKING ASR 9912 9.1.1711 Cisco NETWORKING Catalyst 3560X-24U 9.1.1724 Cisco NETWORKING ASR 901-10G-DCE 9.1.1732 Cisco NETWORKING Catalyst 4500X 9.1.1745 Cisco NETWORKING Catalyst 3850 Stack 9.1.1748 Cisco NETWORKING Catalyst 2960-Plus 48PST-L 9.1.1749 Cisco NETWORKING Catalyst 2960-Plus 24PC-L 9.1.1750 Cisco NETWORKING Catalyst 2960-Plus 24LC-L 9.1.1751 Cisco NETWORKING Catalyst 2960-Plus 48TC-L 9.1.1752 Cisco NETWORKING Catalyst 2960-Plus 24TC-L 9.1.1753 Cisco NETWORKING Catalyst 2960-Plus 48PST-S 9.1.1754 Cisco NETWORKING Catalyst 2960-Plus 24PC-S 9.1.1757 Cisco NETWORKING Catalyst 2960-24-S 9.1.1765 Cisco NETWORKING Catalyst 6807-XL 9.1.1768 Cisco NETWORKING WS-C3850-48U 9.1.1824 Cisco NETWORKING Catalyst 3650-48TS-E 9.1.1825 Cisco NETWORKING Catalyst 3650-24PS 9.1.1826 Cisco NETWORKING Catalyst WS-C3650-48PS-E 9.1.1830 Cisco NETWORKING WS-C3650-48PD-E 9.1.1851 Cisco NETWORKING NCS 6008 9.1.1852 Cisco NETWORKING C881 9.1.1854 Cisco NETWORKING C886VAJ 9.1.1855 Cisco NETWORKING 887VA 9.1.1858 Cisco NETWORKING 891F ISR 9.1.1861 Cisco NETWORKING ASR1001-X 9.1.1880 Cisco NETWORKING WS-C3850-12S-S 9.1.1930 Cisco NETWORKING 2514 9.1.1931 Cisco NETWORKING 2515 9.1.1932 Cisco NETWORKING 3101 9.1.1933 Cisco NETWORKING 3102 9.1.1934 Cisco NETWORKING 3103 9.1.1935 Cisco NETWORKING 3104 9.1.1936 Cisco NETWORKING 3202 9.1.1937 Cisco NETWORKING 3204 9.1.1938 Cisco NETWORKING Access Pro RC Router 9.1.1939 Cisco NETWORKING Access Pro EC Router 9.1.1940 Cisco NETWORKING 1000 9.1.1941 Cisco NETWORKING 1003 9.1.1942 Cisco NETWORKING 2516 9.1.1943 Cisco NETWORKING 1020 9.1.1944 Cisco NETWORKING 1004 9.1.1945 Cisco NETWORKING 7507 9.1.1946 Cisco NETWORKING 7513 9.1.1947 Cisco NETWORKING 7506 9.1.1948 Cisco NETWORKING 7505 9.1.1949 Cisco NETWORKING 1005 9.1.1950 Cisco NETWORKING 4700 9.1.1951 Cisco NETWORKING Pro 1003 9.1.1952 Cisco NETWORKING Pro 1004 9.1.1953 Cisco NETWORKING Pro 1005 9.1.1954 Cisco NETWORKING Pro 1020 Serial Router 9.1.1955 Cisco NETWORKING Pro 2500PCE 9.1.1956 Cisco NETWORKING Pro 2501 9.1.1957 Cisco NETWORKING Pro 2503 9.1.1958 Cisco NETWORKING Pro 2505 9.1.1959 Cisco NETWORKING Pro 2507 9.1.1960 Cisco NETWORKING Pro 2509 9.1.1961 Cisco NETWORKING Pro 2511 9.1.1962 Cisco NETWORKING Pro 2514 9.1.1963 Cisco NETWORKING Pro 2516 9.1.1964 Cisco NETWORKING Pro 2519 9.1.1965 Cisco NETWORKING Pro 2521 9.1.1966 Cisco NETWORKING Pro 4500 9.1.1967 Cisco NETWORKING 2517 9.1.1968 Cisco NETWORKING 2518 9.1.1969 Cisco NETWORKING 2519 9.1.1970 Cisco NETWORKING 2520 9.1.1971 Cisco NETWORKING 2521 9.1.1972 Cisco NETWORKING 2522 9.1.1973 Cisco NETWORKING 2523 9.1.1974 Cisco NETWORKING 2524 9.1.1975 Cisco NETWORKING 2525 9.1.1976 Cisco NETWORKING Pro 751 ISDN Access Router 9.1.1977 Cisco NETWORKING Pro 752 ISDN Access Router 9.1.1978 Cisco NETWORKING Pro 753 ISDN Access Router 9.1.1981 Cisco NETWORKING 751 ISDN Access Router 9.1.1982 Cisco NETWORKING 752 ISDN Access Router 9.1.1983 Cisco NETWORKING 753 ISDN Access Router 9.1.1984 Cisco NETWORKING Pro 741 ISDN Access Router 9.1.1985 Cisco NETWORKING Pro 742 ISDN Access Router 9.1.1986 Cisco NETWORKING Pro 743 ISDN Access Router 9.1.1987 Cisco NETWORKING Pro 744 ISDN Access Router 9.1.1988 Cisco NETWORKING Pro 761 ISDN Access Router 9.1.1989 Cisco NETWORKING Pro 762 ISDN Access Router 9.1.1992 Cisco NETWORKING Pro 765 ISDN Access Router 9.1.1993 Cisco NETWORKING Pro 766 ISDN Access Router 9.1.1994 Cisco NETWORKING 741 ISDN Access Router 9.1.1995 Cisco NETWORKING 742 ISDN Access Router 9.1.1996 Cisco NETWORKING 743 ISDN Access Router 9.1.1997 Cisco NETWORKING 744 ISDN Access Router 9.1.1998 Cisco NETWORKING 761 ISDN Access Router 9.1.1999 Cisco NETWORKING 4351 ISR 9.1.2003 Cisco NETWORKING Router xGS 9.1.2005 Cisco NETWORKING IGS 9.1.2006 Cisco NETWORKING 3000 9.1.2007 Cisco NETWORKING 4000 9.1.2008 Cisco NETWORKING 7000 9.1.2010 Cisco NETWORKING 2000 9.1.2011 Cisco NETWORKING AGSplus Lightstream ATM Switch 9.1.2012 Cisco NETWORKING 7010 9.1.2013 Cisco NETWORKING 2500 9.1.2014 Cisco NETWORKING 4500 9.1.2015 Cisco NETWORKING 2102 9.1.2016 Cisco NETWORKING 2202 9.1.2017 Cisco NETWORKING 2501 9.1.2018 Cisco NETWORKING 2502 9.1.2019 Cisco NETWORKING 2503 9.1.2020 Cisco NETWORKING 2504 9.1.2021 Cisco NETWORKING 2505 9.1.2022 Cisco NETWORKING 2506 9.1.2023 Cisco NETWORKING 2507 9.1.2024 Cisco NETWORKING 2508 9.1.2025 Cisco NETWORKING 2509 9.1.2026 Cisco NETWORKING 2510 9.1.2027 Cisco NETWORKING 2511 9.1.2028 Cisco NETWORKING 2512 9.1.2029 Cisco NETWORKING 2513 9.1.2055 Cisco NETWORKING C896VAG 9.1.2066 Cisco NETWORKING Catalyst 3650-48PD 9.1.2068 Cisco NETWORKING ISR 4331/K9 9.1.2093 Cisco NETWORKING 4321 ISR 9.1.2102 Cisco NETWORKING ASR 920 9.1.2114 Cisco NETWORKING ASA 5506-X 9.1.2170 Cisco NETWORKING CT5520 9.1.2230 Cisco NETWORKING C841M-8X 9.1.2489 Cisco NETWORKING AIR-AP1815I-E-K9 # ftp://ftp.cisco.com/pub/mibs/v2/CISCO-STACK-MIB.my 9.5.1 Cisco NETWORKING Cat1100 9.5.1.3.1.1.2.223 Cisco NETWORKING Network Analysis Module 9.5.1.3.1.1.2.291 Cisco NETWORKING Network Analysis Module NAM-2 9.5.1.3.1.1.2.914 Cisco NETWORKING Network Analysis Module NAM-1 9.5.2 Cisco NETWORKING AdapterCard 9.5.3 Cisco NETWORKING 1000 9.5.4 Cisco NETWORKING Cat1100 9.5.5 Cisco NETWORKING 1200 9.5.6 Cisco NETWORKING Cat1400 9.5.7 Cisco NETWORKING Catalyst 5000 9.5.8 Cisco NETWORKING 1600 9.5.9 Cisco NETWORKING cpw1600 9.5.10 Cisco NETWORKING 3000 9.5.11 Cisco NETWORKING 1010 9.5.12 Cisco NETWORKING Catalyst 2900 9.5.13 Cisco NETWORKING cpw2200 9.5.14 Cisco NETWORKING esStack 9.5.15 Cisco NETWORKING 3200 9.5.16 Cisco NETWORKING cpw1900 9.5.17 Cisco NETWORKING Catalyst 5500 9.5.18 Cisco NETWORKING Catalyst 1924 9.5.19 Cisco NETWORKING cpw1220 9.5.20 Cisco NETWORKING Catalyst 2828 9.5.21 Cisco NETWORKING cpw1420 9.5.22 Cisco NETWORKING dcd 9.5.23 Cisco NETWORKING 3100 9.5.24 Cisco NETWORKING cpw1800 9.5.25 Cisco NETWORKING cpw1601 9.5.26 Cisco NETWORKING 3001 9.5.27 Cisco NETWORKING cpw1220C 9.5.28 Cisco NETWORKING Catalyst 1900c 9.5.29 Cisco NETWORKING Catalyst 5002 9.5.30 Cisco NETWORKING cpw1220i 9.5.31 Cisco NETWORKING Catalyst 1900i 9.5.32 Cisco NETWORKING tsStack 9.5.33 Cisco NETWORKING 3900 9.5.34 Cisco NETWORKING Catalyst 5505 9.5.35 Cisco NETWORKING Catalyst 2926 9.5.36 Cisco NETWORKING Catalyst 5509 9.5.37 Cisco NETWORKING 3920 9.5.38 Cisco NETWORKING Catalyst 6006 9.5.39 Cisco NETWORKING Catalyst 6009 9.5.40 Cisco NETWORKING Catalyst 4003 9.5.41 Cisco NETWORKING Catalyst 4912G 9.5.42 Cisco NETWORKING Catalyst 2948 9.5.44 Cisco NETWORKING Catalyst 6509 9.5.45 Cisco NETWORKING Catalyst 6506 9.5.46 Cisco NETWORKING Catalyst 4006 9.5.47 Cisco NETWORKING Catalyst 6509NEB 9.5.49 Cisco NETWORKING Catalyst 2980G 9.5.50 Cisco NETWORKING Catalyst 6513 9.5.51 Cisco NETWORKING Catalyst 2980G-A 9.5.53 Cisco NETWORKING 7603 9.5.54 Cisco NETWORKING 7606 9.5.55 Cisco NETWORKING 7609 9.5.56 Cisco NETWORKING Catalyst 6503 9.5.58 Cisco NETWORKING WS-C4503 9.5.59 Cisco NETWORKING Catalyst 4506 9.5.60 Cisco NETWORKING 7613 9.5.61 Cisco NETWORKING Catalyst 6509 NEB 9.5.62 Cisco NETWORKING Catalyst 2948G-GE-TX 9.5.63 Cisco NETWORKING 7604 9.5.64 Cisco NETWORKING Catalyst 6504 9.5.99 Cisco NETWORKING 762 9.5.175 Cisco NETWORKING Catalyst 1900 Lite Fx 9.5.247 Cisco NETWORKING Catalyst 3500 XL 9.5.1931 Cisco NETWORKING Catalyst 1900i 9.5.1934 Cisco NETWORKING Catalyst 5505 9.5.1935 Cisco NETWORKING Catalyst 2926 9.5.1936 Cisco NETWORKING Catalyst 5509 9.5.1938 Cisco NETWORKING Catalyst 6006 9.5.1939 Cisco NETWORKING Catalyst 6009 9.5.1940 Cisco NETWORKING Catalyst 4003 9.5.1941 Cisco NETWORKING Catalyst 4912 9.5.1942 Cisco NETWORKING Catalyst 2948 9.5.1944 Cisco NETWORKING Catalyst 6509 9.5.1945 Cisco NETWORKING Catalyst 6506 9.5.1946 Cisco NETWORKING Catalyst 4006 9.5.1947 Cisco NETWORKING Catalyst 6509NEB 9.5.1949 Cisco NETWORKING Catalyst 2980G 9.5.1950 Cisco NETWORKING Catalyst 6513 9.5.1951 Cisco NETWORKING Catalyst 2980G-A 9.5.1956 Cisco NETWORKING Catalyst 6503 9.5.1958 Cisco NETWORKING WS-C4503 9.5.1959 Cisco NETWORKING Catalyst 4506 9.5.1961 Cisco NETWORKING Catalyst 6509 NEB 9.5.1962 Cisco NETWORKING Catalyst 2948G-GE-TX 9.5.1964 Cisco NETWORKING Catalyst 6504 9.5.2007 Cisco NETWORKING Catalyst 5000 9.5.2012 Cisco NETWORKING Catalyst 2900 9.5.2017 Cisco NETWORKING Catalyst 5500 9.5.2018 Cisco NETWORKING Catalyst 1900 9.5.2020 Cisco NETWORKING Catalyst 2820 9.5.2028 Cisco NETWORKING Catalyst 1900c 9.5.2029 Cisco NETWORKING Catalyst 5502 9.6.1.32.561.1 Cisco NETWORKING WAP561 9.6.1.72.2000.2 Cisco NETWORKING SGE 2000 9.6.1.72.2010.2 Cisco NETWORKING SGE 2010 9.6.1.73.2000.3 Cisco NETWORKING SGE 2000P 9.6.1.80.24.1 Cisco NETWORKING SF500-24 9.6.1.80.24.2 Cisco NETWORKING SF500-24P 9.6.1.80.48.1 Cisco NETWORKING SF500-48 9.6.1.80.48.2 Cisco NETWORKING SF500-48P 9.6.1.81.5.3.0 Cisco NETWORKING SG500-52MP 9.6.1.81.28.1 Cisco NETWORKING SG500-28 9.6.1.81.28.2 Cisco NETWORKING SG500-28P 9.6.1.81.52.1 Cisco NETWORKING SG500-52 9.6.1.81.52.2 Cisco NETWORKING SG500-52P 9.6.1.82.8.1 Cisco NETWORKING SF302-08 9.6.1.82.8.2 Cisco NETWORKING SF302-08P 9.6.1.82.8.3 Cisco NETWORKING SF302-08MP 9.6.1.82.8.4 Cisco NETWORKING SF300-08 9.6.1.82.24.1 Cisco NETWORKING SF300-24 9.6.1.82.24.2 Cisco NETWORKING SF300-24P 9.6.1.82.24.3 Cisco NETWORKING SF300-24MP 9.6.1.82.48.1 Cisco NETWORKING SF300-48 9.6.1.82.48.2 Cisco NETWORKING SF300-48P 9.6.1.83.10.1 Cisco NETWORKING SG300-10 9.6.1.83.10.2 Cisco NETWORKING SG300-10P 9.6.1.83.10.3 Cisco NETWORKING SG300-10MP 9.6.1.83.10.5 Cisco NETWORKING SG300-10SFP 9.6.1.83.20.1 Cisco NETWORKING SG300-20 9.6.1.83.28.1 Cisco NETWORKING SG300-28 9.6.1.83.28.2 Cisco NETWORKING SG300-28P 9.6.1.83.28.3 Cisco NETWORKING SG300-28MP 9.6.1.83.28.5 Cisco NETWORKING SG300-28SFP 9.6.1.83.52.1 Cisco NETWORKING SG300-52 9.6.1.83.52.2 Cisco NETWORKING SG300-52P 9.6.1.83.52.3 Cisco NETWORKING SG300-52MP 9.6.1.84.24.1 Cisco NETWORKING SF220-24 9.6.1.84.24.2 Cisco NETWORKING SF220-24P 9.6.1.84.26.1 Cisco NETWORKING SG220-26 9.6.1.84.26.2 Cisco NETWORKING SG220-26P 9.6.1.84.28.3 Cisco NETWORKING SG220-28MP 9.6.1.84.28.5 Cisco NETWORKING SG220-28 9.6.1.84.48.1 Cisco NETWORKING SF220-48 9.6.1.84.48.2 Cisco NETWORKING SF220-48P 9.6.1.84.50.1 Cisco NETWORKING SG220-50 9.6.1.84.50.2 Cisco NETWORKING SG220-50P 9.6.1.84.52.5 Cisco NETWORKING SG220-52 9.6.1.85.24.1 Cisco NETWORKING SG500X-24 9.6.1.85.24.2 Cisco NETWORKING SG500X-24P 9.6.1.85.48.1 Cisco NETWORKING SG500X-48 9.6.1.85.48.2 Cisco NETWORKING SG500X-48P 9.6.1.86.48.1 Cisco NETWORKING ESW2-550X-48 9.6.1.86.48.6 Cisco NETWORKING ESW2-550X-48DC 9.6.1.86.52.1 Cisco NETWORKING ESW2-350G-52 9.6.1.86.52.6 Cisco NETWORKING ESW2-350G-52DC 9.6.1.87.24.1 Cisco NETWORKING SF200-24 9.6.1.87.24.2 Cisco NETWORKING SF200-24P 9.6.1.87.48.1 Cisco NETWORKING SF200-48 9.6.1.87.48.2 Cisco NETWORKING SF200-48P 9.6.1.88.10.3 Cisco NETWORKING SG200-10FP 9.6.1.88.18.1 Cisco NETWORKING SG200-18 9.6.1.88.24.3 Cisco NETWORKING SF200-24FP 9.6.1.88.26.1 Cisco NETWORKING SG200-26 9.6.1.88.26.2 Cisco NETWORKING SG200-26P 9.6.1.88.26.3 Cisco NETWORKING SG200-26FP 9.6.1.88.50.1 Cisco NETWORKING SG200-50 9.6.1.88.50.2 Cisco NETWORKING SG200-50P 9.6.1.88.50.3 Cisco NETWORKING SG200-50FP 9.6.1.90.16.9 Cisco NETWORKING SG550XG-8F8T 9.6.1.90.24.8 Cisco NETWORKING SG550XG-24F 9.6.1.90.24.9 Cisco NETWORKING SG550XG-24T 9.6.1.90.48.9 Cisco NETWORKING SG550XG-48T 9.6.1.91.12.9 Cisco NETWORKING SG350XG-2F10 9.6.1.91.24.8 Cisco NETWORKING SG350XG-24F 9.6.1.91.24.9 Cisco NETWORKING SG350XG-24T 9.6.1.91.48.9 Cisco NETWORKING SG350XG-48T 9.6.1.92.24.1 Cisco NETWORKING SF550X-24 9.6.1.92.24.5 Cisco NETWORKING SF550X-24P 9.6.1.92.24.6 Cisco NETWORKING SF550X-24MP 9.6.1.92.48.1 Cisco NETWORKING SF550X-48 9.6.1.92.48.5 Cisco NETWORKING SF550X-48P 9.6.1.92.48.6 Cisco NETWORKING SF550X-48MP 9.6.1.94.24.1 Cisco NETWORKING SG350X-24 9.6.1.94.24.5 Cisco NETWORKING SG350X-24P 9.6.1.94.24.6 Cisco NETWORKING SG350X-24MP 9.6.1.94.48.1 Cisco NETWORKING SG350X-48 9.6.1.94.48.5 Cisco NETWORKING SG350X-48P 9.6.1.94.48.6 Cisco NETWORKING SG350X-48MP 9.6.1.95.10.3 Cisco NETWORKING SG350-10 9.6.1.95.10.5 Cisco NETWORKING SG350-10P 9.6.1.95.10.6 Cisco NETWORKING SG350-10MP 9.6.1.95.10.10 Cisco NETWORKING SG355-10P 9.6.1.95.28.1 Cisco NETWORKING SG350-28 9.6.1.95.28.5 Cisco NETWORKING SG350-28P 9.6.1.95.28.6 Cisco NETWORKING SG350-28MP 9.6.1.95.52.1 Cisco NETWORKING SG350-52 9.6.1.96.48.1 Cisco NETWORKING SF350-48 9.6.1.96.48.5 Cisco NETWORKING SF350-48P 9.6.1.96.48.6 Cisco NETWORKING SF350-48MP 9.6.1.97.10.5 Cisco NETWORKING SG250-10P 9.6.1.97.26.1 Cisco NETWORKING SG250-26 9.6.1.97.26.4 Cisco NETWORKING SG250-26HP 9.6.1.97.26.5 Cisco NETWORKING SG250-26P 9.6.1.98.24.1 Cisco NETWORKING SF250-48 9.6.1.98.24.4 Cisco NETWORKING SF250-48HP 9.9.368.4.2 Cisco NETWORKING CSS 11800 9.9.368.4.3 Cisco NETWORKING CSS 11500 9.9.368.4.4 Cisco NETWORKING CSS 11050 9.9.368.4.5 Cisco NETWORKING CSS 11503 9.9.368.4.6 Cisco NETWORKING CSS 11506 9.9.368.4.7 Cisco NETWORKING CSS 11501 9.10.56 Cisco NETWORKING Secure Access Control System # cevChassis from ftp://ftp.cisco.com/pub/mibs/v2/CISCO-ENTITY-VENDORTYPE-OID-MIB.my 9.12.3.1.3.272 Cisco NETWORKING ONS 15540 ESP 9.12.3.1.3.325 Cisco NETWORKING ONS 15530 NEBS 9.12.3.1.3.326 Cisco NETWORKING ONS 15530 ETSI 9.12.3.1.3.337 Cisco NETWORKING ONS 15540 ESPx 9.12.3.1.3.375 Cisco NETWORKING MDS 9506 9.12.3.1.3.376 Cisco NETWORKING MDS 9509 9.12.3.1.3.377 Cisco NETWORKING MDS 9513 9.12.3.1.3.378 Cisco NETWORKING ONS 15201 9.12.3.1.3.379 Cisco NETWORKING ONS 15252 9.12.3.1.3.411 Cisco NETWORKING MDS 9140 9.12.3.1.3.414 Cisco NETWORKING MDS 9120 9.12.3.1.3.442 Cisco NETWORKING MDS 9216A Multilayer Fabric 9.12.3.1.3.462 Cisco NETWORKING MDS 9132 Multilayer Fabric 9.12.3.1.3.463 Cisco NETWORKING MDS 9116 Multilayer Fabric 9.12.3.1.3.472 Cisco NETWORKING MDS 9216 9.12.3.1.3.486 Cisco NETWORKING ONS 15310 9.12.3.1.3.514 Cisco NETWORKING MDS 9020 9.12.3.1.3.587 Cisco NETWORKING MDS 9124 9.12.3.1.3.601 Cisco NETWORKING MDS IBM Blade 9.12.3.1.3.606 Cisco NETWORKING MDS 9124e 9.12.3.1.3.612 Cisco NETWORKING Nexus 7010 9.12.3.1.3.616 Cisco NETWORKING MDS 9134 Multilayer Fabric 9.12.3.1.3.651 Cisco NETWORKING MDS 9222i 9.12.3.1.3.719 Cisco NETWORKING Nexus 5020 9.12.3.1.3.720 Cisco NETWORKING Nexus C5020P-BD 9.12.3.1.3.777 Cisco NETWORKING Nexus 7018 9.12.3.1.3.798 Cisco NETWORKING Nexus 5010 9.12.3.1.3.820 Cisco NETWORKING Nexus 2148T-1GE 9.12.3.1.3.840 Cisco NETWORKING Nexus 1000v-mz 9.12.3.1.3.841 Cisco NETWORKING MDS 9148 Multilayer Fabric 9.12.3.1.3.847 Cisco NETWORKING UCS 6120XP 9.12.3.1.3.899 Cisco NETWORKING UCS 6140XP 40-Port Fabric Interconnect 9.12.3.1.3.903 Cisco NETWORKING Nexus 4000 9.12.3.1.3.907 Cisco NETWORKING Nexus 1010 Virtual Services Appliance 9.12.3.1.3.913 Cisco NETWORKING Nexus 2232PP 10G Fabric Extender 9.12.3.1.3.914 Cisco NETWORKING Nexus 2248TP GE Fabric Extender 9.12.3.1.3.930 Cisco NETWORKING Nexus 4005I Switch Module for IBM BladeCenter 9.12.3.1.3.932 Cisco NETWORKING Nexus 7009 9.12.3.1.3.936 Cisco NETWORKING Nexus 5020T 9.12.3.1.3.1003 Cisco NETWORKING Nexus 2232TT 10G Fabric Extender 9.12.3.1.3.1004 Cisco NETWORKING Nexus 2232TP 10GE Fabric Extender 9.12.3.1.3.1005 Cisco NETWORKING Nexus 2248TT GE Fabric Extender 9.12.3.1.3.1006 Cisco NETWORKING Nexus 2224TP GE Fabric Extender 9.12.3.1.3.1008 Cisco NETWORKING Nexus 5548P 9.12.3.1.3.1038 Cisco NETWORKING Nexus 5596 9.12.3.1.3.1060 Cisco NETWORKING Nexus 3064 9.12.3.1.3.1062 Cisco NETWORKING UCS 6248UP 48-Port 9.12.3.1.3.1063 Cisco NETWORKING UCS 6296UP 96-Port Fabric Interconnect 9.12.3.1.3.1454 Cisco NETWORKING UCS 6324 9.12.3.1.3.1084 Cisco NETWORKING Nexus 5548UP 9.12.3.1.3.1105 Cisco NETWORKING Nexus 3064 9.12.3.1.3.1106 Cisco NETWORKING Nexus 3048 9.12.3.1.3.1107 Cisco NETWORKING Nexus 3016 9.12.3.1.3.1147 Cisco NETWORKING Nexus 7004 9.12.3.1.3.1163 Cisco NETWORKING Nexus 3064 9.12.3.1.3.1175 Cisco NETWORKING Nexus 5596T 9.12.3.1.3.1205 Cisco NETWORKING Nexus 2248PQ 10GE Fabric Extender 9.12.3.1.3.1237 Cisco NETWORKING Nexus 6004 9.12.3.1.3.1238 Cisco NETWORKING Nexus 3548 9.12.3.1.3.1308 Cisco NETWORKING Nexus 6001 9.12.3.1.3.1326 Cisco NETWORKING MDS 9250 9.12.3.1.3.1353 Cisco NETWORKING Nexus 7710 9.12.3.1.3.1354 Cisco NETWORKING Nexus 7706 9.12.3.1.3.1389 Cisco NETWORKING Nexus 3172T 9.12.3.1.3.1409 Cisco NETWORKING Nexus 56128P 9.12.3.1.3.1410 Cisco NETWORKING Nexus 5672UP 9.12.3.1.3.1467 Cisco NETWORKING N9K-C9508 9.12.3.1.3.1507 Cisco NETWORKING Nexus 9504 9.12.3.1.3.1508 Cisco NETWORKING Nexus 9396PX 9.12.3.1.3.1539 Cisco NETWORKING Nexus 5696Q 9.12.3.1.3.1609 Cisco NETWORKING Nexus 3164Q 9.12.3.1.3.1620 Cisco NETWORKING Nexus 5648Q 9.12.3.1.3.1625 Cisco NETWORKING Nexus 9332PQ 9.12.3.1.3.1626 Cisco NETWORKING Nexus 9372PX 9.12.3.1.3.1627 Cisco NETWORKING Nexus 9372TX 9.12.3.1.3.1646 Cisco NETWORKING Nexus 1000VSG 9.12.3.1.3.1824 Cisco NETWORKING Nexus 93108TC-EX 9.12.3.1.3.1850 Cisco NETWORKING Nexus 93180YC-FX 9.12.3.1.3.1893 Cisco NETWORKING Nexus 93108TC-FX 9.12.3.1.3.1894 Cisco NETWORKING MDS 9132U 9.12.3.1.3.1895 Cisco NETWORKING MDS 9232U 9.12.3.1.3.7771 Cisco NETWORKING Nexus 7018 9.12.3.1.3.1758 Cisco NETWORKING Nexus 31108PCV 9.12.3.1.9.17.39 Cisco NETWORKING MWAM 9.115 Cisco NETWORKING 2102 11 Hewlett-Packard 11.1 Hewlett-Packard PRINTER 11.2.3.2 Hewlett-Packard COMPUTER 11.2.3.2.2 Hewlett-Packard COMPUTER 11.2.3.2.3 Hewlett-Packard COMPUTER HP800 11.2.3.2.5 Hewlett-Packard COMPUTER 11.2.3.2.6 Hewlett-Packard COMPUTER Itanium 11.2.3.7.1.1 Hewlett-Packard NETWORKING AdvanceStack 10 10 11.2.3.7.1.2 Hewlett-Packard NETWORKING AdvanceStack Remote Bridge 11.2.3.7.1.3 Hewlett-Packard NETWORKING AdvanceStack EtherTwist LAN 11.2.3.7.1.8 Hewlett-Packard NETWORKING AdvanceStack LAN Switch-16 11.2.3.7.1.9 Hewlett-Packard NETWORKING AdvanceStack Switch 100 11.2.3.7.1.10 Hewlett-Packard NETWORKING AdvanceStack Switch 200 11.2.3.7.2.1 Hewlett-Packard NETWORKING AdvanceStack Router ER 440 11.2.3.7.2.2 Hewlett-Packard NETWORKING AdvanceStack Router TR 445 11.2.3.7.2.3 Hewlett-Packard NETWORKING AdvanceStack Router SR 430 11.2.3.7.2.4 Hewlett-Packard NETWORKING AdvanceStack Router 240 (Router FR A version) 11.2.3.7.2.5 Hewlett-Packard NETWORKING AdvanceStack Router 470 (Router LR) 11.2.3.7.2.6 Hewlett-Packard NETWORKING AdvanceStack Router BR 480 11.2.3.7.2.7 Hewlett-Packard NETWORKING AdvanceStack Router PR 11.2.3.7.2.8 Hewlett-Packard NETWORKING AdvanceStack Router 650 11.2.3.7.2.8.2 Hewlett-Packard NETWORKING AdvanceStack Router 650 Engine 11.2.3.7.2.8.3 Hewlett-Packard NETWORKING AdvanceStack Router 650 Port 4E 11.2.3.7.2.8.4 Hewlett-Packard NETWORKING AdvanceStack Router 650 Port 4S 11.2.3.7.2.8.5 Hewlett-Packard NETWORKING AdvanceStack Router 650 Port 4T 11.2.3.7.2.8.6 Hewlett-Packard NETWORKING AdvanceStack Router 650 Port 4FDDI 11.2.3.7.2.8.7 Hewlett-Packard NETWORKING AdvanceStack Router 650 Port 4100VG 11.2.3.7.2.9 Hewlett-Packard NETWORKING AdvanceStack Router 230 11.2.3.7.2.10 Hewlett-Packard NETWORKING AdvanceStack Router 250 11.2.3.7.2.11 Hewlett-Packard NETWORKING AdvanceStack Router 255 11.2.3.7.2.12 Hewlett-Packard NETWORKING AdvanceStack Router 210 11.2.3.7.3.9 Hewlett-Packard NETWORKING DTC22 11.2.3.7.5.1 Hewlett-Packard NETWORKING AdvanceStack EtherTwist Hub-12 11.2.3.7.5.2 Hewlett-Packard NETWORKING AdvanceStack Hub 11.2.3.7.5.3 Hewlett-Packard NETWORKING AdvanceStack Fiber-Optic Hub 11.2.3.7.5.4 Hewlett-Packard NETWORKING AdvanceStack EtherTwist Hub PLUS/48 11.2.3.7.5.5 Hewlett-Packard NETWORKING AdvanceStack ThinLAN Hub 11.2.3.7.5.6 Hewlett-Packard NETWORKING AdvanceStack EtherTwist Secure Hub 11.2.3.7.5.7 Hewlett-Packard NETWORKING AdvanceStack 10Base-T Hub-12 11.2.3.7.5.8 Hewlett-Packard NETWORKING AdvanceStack 10Base-T Hub-24 11.2.3.7.5.9 Hewlett-Packard NETWORKING AdvanceStack 10Base-T Hub-48 11.2.3.7.5.10 Hewlett-Packard NETWORKING AdvanceStack 100VB Hub-15 11.2.3.7.5.11 Hewlett-Packard NETWORKING AdvanceStack 10Base-T Hub-8U 11.2.3.7.5.12 Hewlett-Packard NETWORKING AdvanceStack 10Base-T Hub-16U 11.2.3.7.5.13 Hewlett-Packard NETWORKING AdvanceStack 100VG Hub-7M 11.2.3.7.5.14 Hewlett-Packard NETWORKING AdvanceStack 100VG Hub-14 11.2.3.7.5.15 Hewlett-Packard NETWORKING AdvanceStack 10BT Switching Hub-12R 11.2.3.7.5.16 Hewlett-Packard NETWORKING AdvanceStack 10BT Switching Hub-24R 11.2.3.7.5.17 Hewlett-Packard NETWORKING AdvanceStack 10BT Switching Hub-24T 11.2.3.7.5.18 Hewlett-Packard NETWORKING AdvanceStack 100B-TX Hub-12TM 11.2.3.7.5.19 Hewlett-Packard NETWORKING 10Base-T Hub-16M 11.2.3.7.5.20 Hewlett-Packard NETWORKING 10Base-T Hub-12M 11.2.3.7.5.21 Hewlett-Packard NETWORKING 10Base-T Hub-24M 11.2.3.7.5.22 Hewlett-Packard NETWORKING 100Base-T Hub-12M 11.2.3.7.5.23 Hewlett-Packard NETWORKING 100Base-T Hub-24M 11.2.3.7.8.2.5 Hewlett-Packard NETWORKING AdvanceStack 10BT Switching 11.2.3.7.8.5.1 Hewlett-Packard NETWORKING AdvanceStack 10BT Stack 11.2.3.7.8.5.2 Hewlett-Packard NETWORKING 3800 Stack 11.2.3.7.8.5.3 Hewlett-Packard NETWORKING 2920-24G-PoE+ Switch 11.2.3.7.8.5.4 Hewlett-Packard NETWORKING Aruba 3810 Stack 11.2.3.7.8.5.5 Hewlett-Packard NETWORKING Aruba 2930 Stack 11.2.3.7.8.5.6 Hewlett-Packard NETWORKING 5400R VSF Stack 11.2.3.7.8.5.7 Hewlett-Packard NETWORKING Aruba 2930M BPS Stack 11.2.3.7.11 Hewlett-Packard NETWORKING Unknown Switches 11.2.3.7.11.1 Hewlett-Packard NETWORKING AdvanceStack Switch 2000 (J3100A) 11.2.3.7.11.2 Hewlett-Packard NETWORKING AdvanceStack Switch 2000B (J3100B) 11.2.3.7.11.3 Hewlett-Packard NETWORKING AdvanceStack Switch 800T (J3245A 11.2.3.7.11.4 Hewlett-Packard NETWORKING AdvanceStack Switch 208T (J3175A) 11.2.3.7.11.4.1 Hewlett-Packard NETWORKING ProCurve 208T 11.2.3.7.11.4.2 Hewlett-Packard NETWORKING ProCurve 208T 11.2.3.7.11.4.3 Hewlett-Packard NETWORKING ProCurve 224T 11.2.3.7.11.4.4 Hewlett-Packard NETWORKING ProCurve 224VG 11.2.3.7.11.5 Hewlett-Packard NETWORKING ProCurve 212 (J3298A) 11.2.3.7.11.6 Hewlett-Packard NETWORKING ProCurve 224M (J3299A) 11.2.3.7.11.7 Hewlett-Packard NETWORKING ProCurve 8000M (J4110) 11.2.3.7.11.8 Hewlett-Packard NETWORKING ProCurve 1600M (J4120A) 11.2.3.7.11.9 Hewlett-Packard NETWORKING ProCurve 4000M (J4121A) 11.2.3.7.11.10 Hewlett-Packard NETWORKING ProCurve 2400M (J4122A) 11.2.3.7.11.11 Hewlett-Packard NETWORKING ProCurve 2424M (J4122B) 11.2.3.7.11.13 Hewlett-Packard NETWORKING ProCurve 9308M (J4138A) 11.2.3.7.11.14 Hewlett-Packard NETWORKING ProCurve 9304M (J4139A) 11.2.3.7.11.15 Hewlett-Packard NETWORKING ProCurve 6308M (J4840A) 11.2.3.7.11.16 Hewlett-Packard NETWORKING ProCurve 6208M (J4841A) 11.2.3.7.11.17 Hewlett-Packard NETWORKING ProCurve 5308XL (J4819A) 11.2.3.7.11.17.7 Hewlett-Packard NETWORKING AC Module 11.2.3.7.11.17.11 Hewlett-Packard NETWORKING Wireless Edge Services xl Module 11.2.3.7.11.17.12 Hewlett-Packard NETWORKING Redundant Wireless Services xl Module 11.2.3.7.11.18 Hewlett-Packard NETWORKING ProCurve 2512 (J4812A) 11.2.3.7.11.19 Hewlett-Packard NETWORKING ProCurve 2524 (J4813A) 11.2.3.7.11.20 Hewlett-Packard NETWORKING ProCurve 5304XL (J4850A) 11.2.3.7.11.21 Hewlett-Packard NETWORKING ProCurve 3324XL (J4815A) 11.2.3.7.11.22 Hewlett-Packard NETWORKING ProCurve 3124 (J4851A) 11.2.3.7.11.23 Hewlett-Packard NETWORKING ProCurve 4108GL (J4865A) 11.2.3.7.11.24 Hewlett-Packard NETWORKING ProCurve Copper GE Blade for BH7800 BladeServer (A6713A) 11.2.3.7.11.24.11 Hewlett-Packard NETWORKING A6713A 16+8-port 10/100T + Gig TX module 11.2.3.7.11.25 Hewlett-Packard NETWORKING ProCurve SX Fiber Blade for BH7800 BladeServer (A6716A) 11.2.3.7.11.25.12 Hewlett-Packard NETWORKING A6716A 16+8-port 10/100T + Gig SX module 11.2.3.7.11.26 Hewlett-Packard NETWORKING ProCurve LX Fiber Blade for BH7800 BladeServer (A6717A) 11.2.3.7.11.26.13 Hewlett-Packard NETWORKING A6717A 16+8-port 10/100T + Gig LX module 11.2.3.7.11.27 Hewlett-Packard NETWORKING ProCurve 4104GL (J4887A) 11.2.3.7.11.28 Hewlett-Packard NETWORKING ProCurve 9315M (J4874A) 11.2.3.7.11.29 Hewlett-Packard NETWORKING ProCurve 2650 (J4899A) 11.2.3.7.11.29.1 Hewlett-Packard NETWORKING 2650 48-port 10/100-T + 2-port Gig module 11.2.3.7.11.30 Hewlett-Packard NETWORKING ProCurve 6108 (J4902A) 11.2.3.7.11.30.1 Hewlett-Packard NETWORKING 6108 6-port 10/100/1000-TX + 2-port Gig module 11.2.3.7.11.31 Hewlett-Packard NETWORKING ProCurve 2824 (J4903A) 11.2.3.7.11.32 Hewlett-Packard NETWORKING ProCurve 2848 (J4904A) 11.2.3.7.11.33 Hewlett-Packard NETWORKING Proliant Switch 11.2.3.7.11.33.1.1.1 Hewlett-Packard NETWORKING ProLiant BL p-Class C-GbE2 Interconnect Switch 11.2.3.7.11.33.3.1.1 Hewlett-Packard NETWORKING Proliant Switch CGESM-LANBASE-M 11.2.3.7.11.33.4.1.1 Hewlett-Packard NETWORKING ProLiant C-Class BladeSystem GbE2c Ethernet Blade Switch 11.2.3.7.11.33.5.1.1 Hewlett-Packard NETWORKING ProLiant BL p-Class C-GbE2C Ethernet Blade Switch 11.2.3.7.11.34 Hewlett-Packard NETWORKING ProCurve 2626 (J4900A) 11.2.3.7.11.34.1 Hewlett-Packard NETWORKING 2626 24-port 10/100-T + 2-port Gig module 11.2.3.7.11.35 Hewlett-Packard NETWORKING ProCurve 2650-PoE (J8165A) 11.2.3.7.11.35.1 Hewlett-Packard NETWORKING 2650-PWR 48-port 10/100-T + 2-port Gig module 11.2.3.7.11.36 Hewlett-Packard NETWORKING ProCurve 2626-PoE (J8164A) 11.2.3.7.11.36.1 Hewlett-Packard NETWORKING 2626-PWR 24-port 10/100-T + 2-port Gig module 11.2.3.7.11.37 Hewlett-Packard NETWORKING Wireless Access Point AP420WL (J8130A) 11.2.3.7.11.38 Hewlett-Packard NETWORKING Wireless Access Point AP520WL (J8133A) 11.2.3.7.11.39 Hewlett-Packard NETWORKING Access Controller 720WL (J8153A) 11.2.3.7.11.40 Hewlett-Packard NETWORKING Access Controller Server 740WL (J8154A) 11.2.3.7.11.41 Hewlett-Packard NETWORKING Integrated Access Manager 760WL (J8155A) 11.2.3.7.11.42 Hewlett-Packard NETWORKING ProCurve Switch 3400cl-24G (J4905A) 11.2.3.7.11.42.1 Hewlett-Packard NETWORKING 3400cl-24-port 10/100/1000-T + 4-port Gigabit module 11.2.3.7.11.43 Hewlett-Packard NETWORKING ProCurve Switch 3400cl-48G (J4906A) 11.2.3.7.11.43.1 Hewlett-Packard NETWORKING 3400cl-48-port 10/100/1000-T + 4-port Gigabit module 11.2.3.7.11.44 Hewlett-Packard NETWORKING ProCurve 2650 (J4899B) 11.2.3.7.11.44.1 Hewlett-Packard NETWORKING 2650 48-port 10/100-T + 2-port Gig module 11.2.3.7.11.45 Hewlett-Packard NETWORKING ProCurve 2626B (J4900B) 11.2.3.7.11.45.1 Hewlett-Packard NETWORKING 2626 24-port 10/100-T + 2-port Gig module 11.2.3.7.11.46 Hewlett-Packard NETWORKING ProCurve 5404yl (J8718A) 11.2.3.7.11.47 Hewlett-Packard NETWORKING ProCurve 5408yl (J8719A) 11.2.3.7.11.48 Hewlett-Packard NETWORKING ProCurve 6400 (J8433A) 11.2.3.7.11.49 Hewlett-Packard NETWORKING ProCurve 6410 (J8474A) 11.2.3.7.11.50 Hewlett-Packard NETWORKING ProCurve 5406zl (J8697A) 11.2.3.7.11.50.1 Hewlett-Packard NETWORKING 5400-24 port Gig-T 11.2.3.7.11.50.2 Hewlett-Packard NETWORKING 5400-24 port Gig-T zl Module 11.2.3.7.11.50.3 Hewlett-Packard NETWORKING 5400-Gig-T/SFP zl Module 11.2.3.7.11.50.4 Hewlett-Packard NETWORKING 5400-24 port SFP zl Module 11.2.3.7.11.50.5 Hewlett-Packard NETWORKING 5400-4 port 10-GbE zl Module 11.2.3.7.11.50.6 Hewlett-Packard NETWORKING 5400-4 port 10G CX4 zl Module 11.2.3.7.11.50.7 Hewlett-Packard NETWORKING 5400-yl Fixed Gig-T/SFP 11.2.3.7.11.50.8 Hewlett-Packard NETWORKING 5400-yl Fixed 24p Gig-T 11.2.3.7.11.50.9 Hewlett-Packard NETWORKING 5400-yl X2/CX4 10-GbE Module 11.2.3.7.11.50.10 Hewlett-Packard NETWORKING 5400-zl Switch Management Module 11.2.3.7.11.50.14 Hewlett-Packard NETWORKING 5400-Wireless Service zl Module 11.2.3.7.11.50.15 Hewlett-Packard NETWORKING 5400-Redundant Wireless Service zl Module 11.2.3.7.11.50.16 Hewlett-Packard NETWORKING 5400-Services zl Module 11.2.3.7.11.50.17 Hewlett-Packard NETWORKING 5400-TMS zl Module 11.2.3.7.11.50.18 Hewlett-Packard NETWORKING 5400-zl Data Center Connection Manager ONE Module 11.2.3.7.11.50.19 Hewlett-Packard NETWORKING 5400-24-Port 10/100/1000 PoE+ zl Module 11.2.3.7.11.50.20 Hewlett-Packard NETWORKING 5400-20-Port 10/100/1000 PoE+ with 4-Port SFP zl Module 11.2.3.7.11.50.21 Hewlett-Packard NETWORKING 5400-24-Port 10/100 PoE+ zl Module 11.2.3.7.11.50.22 Hewlett-Packard NETWORKING 5400-4-Port 10-GbE SFP+ zl Module 11.2.3.7.11.50.23 Hewlett-Packard NETWORKING 5400-yl SFP+/CX4 10G Module 11.2.3.7.11.50.24 Hewlett-Packard NETWORKING 5400-24 port Gig-T PoE+ v2 zl Module 11.2.3.7.11.50.25 Hewlett-Packard NETWORKING 5400-20-Port Gig-T PoE+ / 4-Port SFP v2 zl Module 11.2.3.7.11.50.26 Hewlett-Packard NETWORKING 5400-20-Port Gig-T PoE+ / 2-Port SFP+ zl Module 11.2.3.7.11.50.27 Hewlett-Packard NETWORKING 5400-24-Port SFP v2 zl Module 11.2.3.7.11.50.28 Hewlett-Packard NETWORKING 5400-8-Port 10GbE SFP+ v2 zl Module 11.2.3.7.11.50.29 Hewlett-Packard NETWORKING 5400-8-Port 10Gig-T LH zl Module 11.2.3.7.11.50.30 Hewlett-Packard NETWORKING 5400-24-Port 10/100 PoE+ zl Module 11.2.3.7.11.50.31 Hewlett-Packard NETWORKING 5400-20-Port Gig-T / 2-Port 10GbE SFP+ v2 zl Module 11.2.3.7.11.50.32 Hewlett-Packard NETWORKING 5400-20-Port Gig-T / 4-Port SFP v2 zl Module 11.2.3.7.11.50.33 Hewlett-Packard NETWORKING 5400-24-Port Gig-T v2 zl Module 11.2.3.7.11.50.34 Hewlett-Packard NETWORKING 5400-Advanced Services zl Module 11.2.3.7.11.50.35 Hewlett-Packard NETWORKING 5400-Extended Services zl Module 11.2.3.7.11.50.36 Hewlett-Packard NETWORKING 5400-AllianceONE zl Module 11.2.3.7.11.50.37 Hewlett-Packard NETWORKING 5400-12-Port Gig-T PoE+ / 12-Port SFP v2 zl Module 11.2.3.7.11.50.41 Hewlett-Packard NETWORKING 5400-MSM775 zl Premium Controller Module/Advanced Services v2 zl Module w/ HDD&SSD 11.2.3.7.11.51 Hewlett-Packard NETWORKING ProCurve 5412zl (J8698A) 11.2.3.7.11.52 Hewlett-Packard NETWORKING ProCurve 4204vl (J8770A) 11.2.3.7.11.52.1 Hewlett-Packard NETWORKING 4200-10/100 module 11.2.3.7.11.52.2 Hewlett-Packard NETWORKING 4200-10/100/1000 module 11.2.3.7.11.52.3 Hewlett-Packard NETWORKING 4200-miniGBIC module 11.2.3.7.11.52.4 Hewlett-Packard NETWORKING 4200-100FX module 11.2.3.7.11.52.5 Hewlett-Packard NETWORKING 4200-Gig-T vl module 11.2.3.7.11.52.6 Hewlett-Packard NETWORKING 4200-Gig-T/SFP vl module 11.2.3.7.11.52.10 Hewlett-Packard NETWORKING 4200-10-GbE X2 vl module 11.2.3.7.11.53 Hewlett-Packard NETWORKING ProCurve 4208vl (J8773A) 11.2.3.7.11.54 Hewlett-Packard NETWORKING ProCurve 9400 (J8453A) 11.2.3.7.11.55 Hewlett-Packard NETWORKING ProCurve 2600-8-PoE (J8762A) 11.2.3.7.11.55.1 Hewlett-Packard NETWORKING 2600-8-PWR 8-port 10/100-T + 1-port Gig module 11.2.3.7.11.56 Hewlett-Packard NETWORKING ProCurve 4202vl-48G (J8771A) 11.2.3.7.11.57 Hewlett-Packard NETWORKING ProCurve 4202vl-72 (J8772A) 11.2.3.7.11.58 Hewlett-Packard NETWORKING ProCurve Switch 3500yl-24G-PoE (J8692A) 11.2.3.7.11.59 Hewlett-Packard NETWORKING ProCurve Switch 3500yl-48G-PoE (J8693A) 11.2.3.7.11.60 Hewlett-Packard NETWORKING ProCurve 6200yl-24G (J8992A) 11.2.3.7.11.61 Hewlett-Packard NETWORKING ProCurve 2510-24 (J9019A) 11.2.3.7.11.61.1 Hewlett-Packard NETWORKING 2510-Fixed 24-port 10/100-T module 11.2.3.7.11.62 Hewlett-Packard NETWORKING ProCurve 2510-48 (J9020A) 11.2.3.7.11.62.1 Hewlett-Packard NETWORKING 2510-Fixed 48-port 10/100-T module 11.2.3.7.11.63 Hewlett-Packard NETWORKING ProCurve 2810-24G (J9021A) 11.2.3.7.11.63.1 Hewlett-Packard NETWORKING 2810-Fixed 24-port 10/100/1000-T module 11.2.3.7.11.64 Hewlett-Packard NETWORKING ProCurve 2810-48G (J9022A) 11.2.3.7.11.64.1 Hewlett-Packard NETWORKING 2810-Fixed 48-port 10/100/1000-T module 11.2.3.7.11.65 Hewlett-Packard NETWORKING ProCurve 1800-24G (J9028A) 11.2.3.7.11.66 Hewlett-Packard NETWORKING ProCurve 1800-8G (J9029A) 11.2.3.7.11.67 Hewlett-Packard NETWORKING ProCurve (J9038A) 11.2.3.7.11.68 Hewlett-Packard NETWORKING ProCurve 2900-48G (J9050A) 11.2.3.7.11.68.11 Hewlett-Packard NETWORKING 2900-yl Fixed Gig-T/SFP 11.2.3.7.11.68.12 Hewlett-Packard NETWORKING 2900-yl Fixed 24p Gig-T 11.2.3.7.11.68.13 Hewlett-Packard NETWORKING 2900-yl X2/CX4 10-GbE Module 11.2.3.7.11.69 Hewlett-Packard NETWORKING ProCurve 2900-24G (J9049A) 11.2.3.7.11.70 Hewlett-Packard NETWORKING ProCurve 4202vl-68G (J9032A) 11.2.3.7.11.71 Hewlett-Packard NETWORKING 4202vl-68 11.2.3.7.11.72 Hewlett-Packard NETWORKING ProCurve 8212zl (J8715A) 11.2.3.7.11.72.1 Hewlett-Packard NETWORKING 8200zl Switch Management Module 11.2.3.7.11.72.2 Hewlett-Packard NETWORKING 8200zl Switch Fabric Module 11.2.3.7.11.72.3 Hewlett-Packard NETWORKING 8212zl Switch System Support Module 11.2.3.7.11.73 Hewlett-Packard NETWORKING Access Controller 800 11.2.3.7.11.74 Hewlett-Packard NETWORKING ProCurve 1700-8 (J9079A) 11.2.3.7.11.75 Hewlett-Packard NETWORKING ProCurve 1700-24 (J9080A) 11.2.3.7.11.76 Hewlett-Packard NETWORKING ProCurve 2610-24 11.2.3.7.11.76.1 Hewlett-Packard NETWORKING 2610-Fixed 24-port 10/100-T + 4-port Gigabit module 11.2.3.7.11.77 Hewlett-Packard NETWORKING ProCurve 2610-48 11.2.3.7.11.77.1 Hewlett-Packard NETWORKING 2610-Fixed 48-port 10/100-T + 4-port Gigabit module 11.2.3.7.11.78 Hewlett-Packard NETWORKING ProCurve 2610-24-PoE 11.2.3.7.11.78.1 Hewlett-Packard NETWORKING 2610-Fixed 24-port 10/100-T + 4-port Gigabit module 11.2.3.7.11.79 Hewlett-Packard NETWORKING ProCurve 2610-48-PoE 11.2.3.7.11.79.1 Hewlett-Packard NETWORKING 2610-Fixed 48-port 10/100-T + 4-port Gigabit module 11.2.3.7.11.80 Hewlett-Packard NETWORKING ProCurve 2610-24/12-PoE (J9086A) 11.2.3.7.11.80.1 Hewlett-Packard NETWORKING 2610-Fixed 24-port 10/100-T + 4-port Gigabit module 11.2.3.7.11.81 Hewlett-Packard NETWORKING ProCurve 1800-24G-B (J9028B) 11.2.3.7.11.82 Hewlett-Packard NETWORKING ProCurve 2626C 11.2.3.7.11.82.1 Hewlett-Packard NETWORKING 2626 24-port 10/100-T + 2-port Gig module 11.2.3.7.11.83 Hewlett-Packard NETWORKING ProCurve 2650 (J4899C) 11.2.3.7.11.83.1 Hewlett-Packard NETWORKING 2650 48-port 10/100-T + 2-port Gig module 11.2.3.7.11.84 Hewlett-Packard NETWORKING ProCurve 2910al-24G-PoE (J9146A) 11.2.3.7.11.84.1 Hewlett-Packard NETWORKING 2910al-Fixed 24p Gig-T/SFP module 11.2.3.7.11.84.2 Hewlett-Packard NETWORKING 2910al-10-GbE 2-port CX4 11.2.3.7.11.84.3 Hewlett-Packard NETWORKING 2910al-10-GbE 2-port SFP+ 11.2.3.7.11.84.4 Hewlett-Packard NETWORKING 2910al-10-GbE 1-port passive CX4 11.2.3.7.11.85 Hewlett-Packard NETWORKING ProCurve 2910al-48G-PoE 11.2.3.7.11.85.1 Hewlett-Packard NETWORKING 2910al-Fixed 48p Gig-T/SFP module 11.2.3.7.11.86 Hewlett-Packard NETWORKING ProCurve 2910al-24G 11.2.3.7.11.86.1 Hewlett-Packard NETWORKING 2910al-Fixed 24p Gig-T/SFP module 11.2.3.7.11.87 Hewlett-Packard NETWORKING ProCurve 2910al-48G (J9147A) 11.2.3.7.11.87.1 Hewlett-Packard NETWORKING 2910al-Fixed 48p Gig-T/SFP module 11.2.3.7.11.88 Hewlett-Packard NETWORKING ProCurve 2510G-24 11.2.3.7.11.89 Hewlett-Packard NETWORKING ProCurve 2510G-48 (J9280A) 11.2.3.7.11.90 Hewlett-Packard NETWORKING ProCurve 2510B-24 11.2.3.7.11.94 Hewlett-Packard NETWORKING ProCurve 2520-8-PoE (J9137A) 11.2.3.7.11.95 Hewlett-Packard NETWORKING ProCurve 2520-24-PoE (J9138A) 11.2.3.7.11.96 Hewlett-Packard NETWORKING ProCurve 2520G-8-PoE (J9298A) 11.2.3.7.11.97 Hewlett-Packard NETWORKING ProCurve 2520G-24-PoE (J9299A) 11.2.3.7.11.98 Hewlett-Packard NETWORKING ProCurve 6600ml-24XG (J9265A) 11.2.3.7.11.98.1 Hewlett-Packard NETWORKING 6600ml Fixed 4p SFP+ Module 11.2.3.7.11.98.2 Hewlett-Packard NETWORKING 6600ml Fixed Gig-T/SFP Module 11.2.3.7.11.98.3 Hewlett-Packard NETWORKING 6600ml Fixed 24 Gig Module 11.2.3.7.11.98.4 Hewlett-Packard NETWORKING 6600ml Fixed 24 Gig DP Module 11.2.3.7.11.98.5 Hewlett-Packard NETWORKING 6600ml Fixed 24 Gig Non DP Module 11.2.3.7.11.98.6 Hewlett-Packard NETWORKING 6600ml Fixed 2 10Gig Module 11.2.3.7.11.100 Hewlett-Packard NETWORKING ProCurve 6600ml-24G (J9263A) 11.2.3.7.11.101 Hewlett-Packard NETWORKING ProCurve 6600ml-24G-4XG (J9264A) 11.2.3.7.11.102 Hewlett-Packard NETWORKING DCM Controller (J9445A) 11.2.3.7.11.103 Hewlett-Packard NETWORKING ProCurve 1810G-8 (J9449A) 11.2.3.7.11.104 Hewlett-Packard NETWORKING ProCurve 1810G-24 (J9450A) 11.2.3.7.11.105 Hewlett-Packard NETWORKING ProCurve Switch 6600-48G-4XG (J9452A) 11.2.3.7.11.106 Hewlett-Packard NETWORKING ProCurve 6600-48G (J9451A) 11.2.3.7.11.107 Hewlett-Packard NETWORKING ProCurve 6120XG (516733-B21) 11.2.3.7.11.108 Hewlett-Packard NETWORKING ProCurve 6120G/XG (498358-B21) 11.2.3.7.11.109 Hewlett-Packard NETWORKING ProCurve 3500-24-PoE (J9471A) 11.2.3.7.11.110 Hewlett-Packard NETWORKING ProCurve 3500-48-PoE (J9473A) 11.2.3.7.11.110.1 Hewlett-Packard NETWORKING 3500-Fixed 10/100Base-TX/SFP PoE Module 11.2.3.7.11.110.2 Hewlett-Packard NETWORKING 3500-Fixed 24p 10/100Base-TX PoE Module 11.2.3.7.11.111 Hewlett-Packard NETWORKING ProCurve 3500-24 (J9470A) 11.2.3.7.11.112 Hewlett-Packard NETWORKING ProCurve 3500-48 (J9472A) 11.2.3.7.11.112.1 Hewlett-Packard NETWORKING 3500-Fixed 10/100Base-TX/SFP Module 11.2.3.7.11.112.2 Hewlett-Packard NETWORKING 3500-Fixed 24p 10/100Base-TX Module 11.2.3.7.11.113 Hewlett-Packard NETWORKING ProCurve 8206zl (J9477A) 11.2.3.7.11.114 Hewlett-Packard NETWORKING ProCurve 3500yl-24G-PoE+ (J9310A) 11.2.3.7.11.115 Hewlett-Packard NETWORKING 3500-48G-PoE+ yl 11.2.3.7.11.115.1 Hewlett-Packard NETWORKING 3500-Fixed Gig-T/SFP PoE+ Module 11.2.3.7.11.115.2 Hewlett-Packard NETWORKING 3500-Fixed 24p Gig-T PoE+ Module 11.2.3.7.11.117 Hewlett-Packard NETWORKING ProCurve 2615-8-PoE (J9565A) 11.2.3.7.11.117.1 Hewlett-Packard NETWORKING 2615-Fixed 8-port 10/100-T + 2-port Gigabit module 11.2.3.7.11.118 Hewlett-Packard NETWORKING 2915-8G-PoE 11.2.3.7.11.118.1 Hewlett-Packard NETWORKING 2915-8-port 10/100/1000-T + 2-port Gigabit module 11.2.3.7.11.119 Hewlett-Packard NETWORKING 3800-24G-PoE+-2SFP+ 11.2.3.7.11.120 Hewlett-Packard NETWORKING 3800-48G-PoE+-4SFP+ 11.2.3.7.11.121 Hewlett-Packard NETWORKING 3800-24G-2SFP+ 11.2.3.7.11.122 Hewlett-Packard NETWORKING E3800-48G-4SFP (J9576A) 11.2.3.7.11.123 Hewlett-Packard NETWORKING 3800-24SFP-2SFP+ 11.2.3.7.11.124 Hewlett-Packard NETWORKING 3800-24G-2XG 11.2.3.7.11.125 Hewlett-Packard NETWORKING 3800-48G-4XG 11.2.3.7.11.126 Hewlett-Packard NETWORKING 3800-24G-PoE+-2XG 11.2.3.7.11.127 Hewlett-Packard NETWORKING 3800-48G-PoE+-4XG 11.2.3.7.11.128 Hewlett-Packard NETWORKING E3800-4-port Stacking Module 11.2.3.7.11.129 Hewlett-Packard NETWORKING 2620-24 11.2.3.7.11.129.1 Hewlett-Packard NETWORKING 2620-Fixed 24p 10/100 module 11.2.3.7.11.130 Hewlett-Packard NETWORKING 2620-24-PPoE+ 11.2.3.7.11.130.1 Hewlett-Packard NETWORKING 2620-Fixed 24p PPoEP 10/100 module 11.2.3.7.11.131 Hewlett-Packard NETWORKING 2620-24-PoE+ 11.2.3.7.11.131.1 Hewlett-Packard NETWORKING 2620-Fixed 24p PoEP 10/100 module 11.2.3.7.11.132 Hewlett-Packard NETWORKING 2620-48 11.2.3.7.11.132.1 Hewlett-Packard NETWORKING 2620-Fixed 48p 10/100 module 11.2.3.7.11.133 Hewlett-Packard NETWORKING 2620-48-PoE+ 11.2.3.7.11.133.1 Hewlett-Packard NETWORKING 2620-Fixed 48p PoEP 10/100 module 11.2.3.7.11.134 Hewlett-Packard NETWORKING Procurve 1810-48G 11.2.3.7.11.136 Hewlett-Packard NETWORKING 2530-48G-PoE+ 11.2.3.7.11.136.1 Hewlett-Packard NETWORKING 2530-Fixed 48p PoEP 10/100/1000-T module 11.2.3.7.11.137 Hewlett-Packard NETWORKING 2530-24G-PoE+ 11.2.3.7.11.137.1 Hewlett-Packard NETWORKING 2530-Fixed 24p PoEP 10/100/1000-T module 11.2.3.7.11.138 Hewlett-Packard NETWORKING 2530-8G-PoE+ 11.2.3.7.11.138.1 Hewlett-Packard NETWORKING 2530-Fixed 8p PoEP 10/100/1000-T module 11.2.3.7.11.139 Hewlett-Packard NETWORKING 2530-48G 11.2.3.7.11.139.1 Hewlett-Packard NETWORKING 2530-Fixed 48p 10/100/1000-T module 11.2.3.7.11.140 Hewlett-Packard NETWORKING 2530-24G 11.2.3.7.11.140.1 Hewlett-Packard NETWORKING 2530-Fixed 24p 10/100/1000-T module 11.2.3.7.11.141 Hewlett-Packard NETWORKING 2530-8G 11.2.3.7.11.141.1 Hewlett-Packard NETWORKING 2530-Fixed 8p 10/100/1000-T module 11.2.3.7.11.142 Hewlett-Packard NETWORKING 2530-48-PoE+ 11.2.3.7.11.142.1 Hewlett-Packard NETWORKING 2530-Fixed 48p PoEP 10/100 module 11.2.3.7.11.143 Hewlett-Packard NETWORKING 2530-24-PoE+ 11.2.3.7.11.143.1 Hewlett-Packard NETWORKING 2530-Fixed 24p PoEP 10/100 module 11.2.3.7.11.144 Hewlett-Packard NETWORKING 2530-8-PoE+ 11.2.3.7.11.144.1 Hewlett-Packard NETWORKING 2530-Fixed 8p PoEP 10/100 module 11.2.3.7.11.145 Hewlett-Packard NETWORKING 2530-48 11.2.3.7.11.145.1 Hewlett-Packard NETWORKING 2530-Fixed 48p 10/100 module 11.2.3.7.11.146 Hewlett-Packard NETWORKING 2530-24 11.2.3.7.11.146.1 Hewlett-Packard NETWORKING 2530-Fixed 24p 10/100 module 11.2.3.7.11.147 Hewlett-Packard NETWORKING 2530-8 11.2.3.7.11.147.1 Hewlett-Packard NETWORKING 2530-Fixed 8p 10/100 module 11.2.3.7.11.148 Hewlett-Packard NETWORKING Procurve 1810-8 V2 (J9800A) 11.2.3.7.11.149 Hewlett-Packard NETWORKING 1810-24 11.2.3.7.11.150 Hewlett-Packard NETWORKING 1810-8G 11.2.3.7.11.151 Hewlett-Packard NETWORKING 1810-24G 11.2.3.7.11.152 Hewlett-Packard NETWORKING 2920-24G 11.2.3.7.11.152.1 Hewlett-Packard NETWORKING 2920-Fixed 24G module 11.2.3.7.11.153 Hewlett-Packard NETWORKING 2920-24G-PoE+ 11.2.3.7.11.153.1 Hewlett-Packard NETWORKING 2920-Fixed 24G PoE+ module 11.2.3.7.11.154 Hewlett-Packard NETWORKING 2920-48G 11.2.3.7.11.154.1 Hewlett-Packard NETWORKING 2920-Fixed 48G module 11.2.3.7.11.155 Hewlett-Packard NETWORKING 2920-48G-PoE+ 11.2.3.7.11.155.1 Hewlett-Packard NETWORKING 2920-Fixed 8p PoEP Internal PS 10/100 module 11.2.3.7.11.155.2 Hewlett-Packard NETWORKING 2920-10-GbE 2-port CX4 11.2.3.7.11.155.3 Hewlett-Packard NETWORKING 2920-10-GbE 2-port SFP+ 11.2.3.7.11.155.4 Hewlett-Packard NETWORKING 2920-10GBASE-T 11.2.3.7.11.155.5 Hewlett-Packard NETWORKING 2920-2 Port Stacking 11.2.3.7.11.156 Hewlett-Packard NETWORKING 3800-4G-6SFP+-ONE 11.2.3.7.11.157 Hewlett-Packard NETWORKING 3800-4G-8SFP+-ONE 11.2.3.7.11.158 Hewlett-Packard NETWORKING PS1810-8G 11.2.3.7.11.159 Hewlett-Packard NETWORKING PS1810-24G 11.2.3.7.11.160 Hewlett-Packard NETWORKING 5406R zl2 11.2.3.7.11.160.1 Hewlett-Packard NETWORKING 5400R zl2 Switch Management Module 11.2.3.7.11.160.2 Hewlett-Packard NETWORKING 5400R 24-port 10/100/1000BASE-T PoE+ MACsec v3 zl2 Module 11.2.3.7.11.160.3 Hewlett-Packard NETWORKING 5400R 24-port 10/100/1000BASE-T MACsec v3 zl2 Module 11.2.3.7.11.160.4 Hewlett-Packard NETWORKING 5400R 24-port 1GbE SFP MACsec v3 zl2 Module 11.2.3.7.11.160.5 Hewlett-Packard NETWORKING 5400R 12-port 10/100/1000BASE-T PoE+ / 12-port 1GbE SFP MACsec v3 zl2 Module 11.2.3.7.11.160.6 Hewlett-Packard NETWORKING 5400R 20-port 10/100/1000BASE-T PoE+ / 4-port 1G/10GbE SFP+ MACsec v3 zl2 Module 11.2.3.7.11.160.7 Hewlett-Packard NETWORKING 5400R 20-port 10/100/1000BASE-T PoE+ / 4-port 1/2.5/5/10GBASE-T PoE+ MACsec v3 zl2 Module 11.2.3.7.11.160.8 Hewlett-Packard NETWORKING 5400R 20-port 10/100/1000BASE-T PoE+ MACsec / 1-port 40GbE QSFP+ v3 zl2 Module 11.2.3.7.11.160.9 Hewlett-Packard NETWORKING 5400R 8-port 1G/10GbE SFP+ MACsec v3 zl2 Module 11.2.3.7.11.160.10 Hewlett-Packard NETWORKING 5400R 8-port 1/2.5/5/10GBASE-T PoE+ MACsec v3 zl2 Module 11.2.3.7.11.160.11 Hewlett-Packard NETWORKING 5400R 2-port 40GbE QSFP+ v3 zl2 Module 11.2.3.7.11.161 Hewlett-Packard NETWORKING 5412R zl2 11.2.3.7.11.162.1 Hewlett-Packard NETWORKING 501 Wireless Client Bridge 11.2.3.7.11.162.2 Hewlett-Packard NETWORKING R110 Wireless 11n VPN AM 11.2.3.7.11.162.3 Hewlett-Packard NETWORKING R110 Wireless 11n VPN WW 11.2.3.7.11.162.4 Hewlett-Packard NETWORKING R120 Wireless 11ac VPN AM 11.2.3.7.11.162.5 Hewlett-Packard NETWORKING R120 Wireless 11ac VPN WW 11.2.3.7.11.162.8 Hewlett-Packard NETWORKING M330 Dual Radio 802.11ac (AM) Access Point 11.2.3.7.11.162.9 Hewlett-Packard NETWORKING M330 Dual Radio 802.11ac (WW) Access Point 11.2.3.7.11.162.10 Hewlett-Packard NETWORKING M330 Dual Radio 802.11ac (JP) Access Point 11.2.3.7.11.162.11 Hewlett-Packard NETWORKING PS110 Wireless 11n VPN AM 11.2.3.7.11.162.12 Hewlett-Packard NETWORKING PS110 Wireless 11n VPN WW 11.2.3.7.11.163 Hewlett-Packard NETWORKING 2530-48G-PoE+-2SFP+ 11.2.3.7.11.163.1 Hewlett-Packard NETWORKING 2530-Fixed 48p PoEP 10/100/1000-T 2SFP+ module 11.2.3.7.11.164 Hewlett-Packard NETWORKING 2530-24G-PoE+-2SFP+ 11.2.3.7.11.164.1 Hewlett-Packard NETWORKING 2530-Fixed 24p PoEP 10/100/1000-T 2SFP+ module 11.2.3.7.11.165 Hewlett-Packard NETWORKING 2530-48G-2SFP+ (J9855A) 11.2.3.7.11.165.1 Hewlett-Packard NETWORKING 2530-Fixed 48p 10/100/1000-T 2SFP+ module 11.2.3.7.11.166 Hewlett-Packard NETWORKING 2530-24G-2SFP+ 11.2.3.7.11.166.1 Hewlett-Packard NETWORKING 2530-Fixed 24p 10/100/1000-T 2SFP+ module 11.2.3.7.11.167 Hewlett-Packard NETWORKING 1820-8G 11.2.3.7.11.168 Hewlett-Packard NETWORKING 1820-24G 11.2.3.7.11.169 Hewlett-Packard NETWORKING 1820-48G 11.2.3.7.11.170 Hewlett-Packard NETWORKING 1820-8G-PoE+ (65W) 11.2.3.7.11.171 Hewlett-Packard NETWORKING 1820-24G-PoE+ (185W) 11.2.3.7.11.172 Hewlett-Packard NETWORKING 1820-48G-PoE+ (370W) 11.2.3.7.11.173 Hewlett-Packard NETWORKING 2530-8-PoE+ Internal PS 11.2.3.7.11.173.1 Hewlett-Packard NETWORKING 2530-Fixed 8p PoEP Internal PS 10/100 module 11.2.3.7.11.174.1 Hewlett-Packard NETWORKING Aruba 3810M 24G 1-slot 11.2.3.7.11.174.1.1 Hewlett-Packard NETWORKING Aruba 3810M 24G 1-slot Module 11.2.3.7.11.174.2 Hewlett-Packard NETWORKING Aruba 3810M 48G 1-slot 11.2.3.7.11.174.2.1 Hewlett-Packard NETWORKING Aruba 3810M 48G 1-slot Module 11.2.3.7.11.174.3 Hewlett-Packard NETWORKING Aruba 3810M 24G PoE+ 1-slot 11.2.3.7.11.174.3.1 Hewlett-Packard NETWORKING Aruba 3810M 24G PoE+ 1-slot Module 11.2.3.7.11.174.4 Hewlett-Packard NETWORKING Aruba 3810M 48G PoE+ 1-slot 11.2.3.7.11.174.4.1 Hewlett-Packard NETWORKING Aruba 3810M 48G PoE+ 1-slot Module 11.2.3.7.11.174.5 Hewlett-Packard NETWORKING Aruba 3810M 16SFP+ 2-slot 11.2.3.7.11.174.5.1 Hewlett-Packard NETWORKING Aruba 3810M 16SFP+ 2-slot Module 11.2.3.7.11.174.6 Hewlett-Packard NETWORKING Aruba 3810M 40G 8 HPE Smart Rate PoE+ 1-slot 11.2.3.7.11.174.6.1 Hewlett-Packard NETWORKING Aruba 3810M 20G 8 HPE Smart Rate PoE+ 1-slot Module 11.2.3.7.11.174.7 Hewlett-Packard NETWORKING Aruba 3810M 16 HPE Smart Rate PoE+ 2-slot 11.2.3.7.11.174.7.1 Hewlett-Packard NETWORKING Aruba 3810M 16 HPE Smart Rate PoE+ 2-slot Module 11.2.3.7.11.174.8 Hewlett-Packard NETWORKING Aruba 3810M 4-port Stacking Module 11.2.3.7.11.174.9 Hewlett-Packard NETWORKING Aruba 3810 Switch Fan Tray 11.2.3.7.11.180.1 Hewlett-Packard NETWORKING Aruba 1QSFP+ 40GbE Module 11.2.3.7.11.180.2 Hewlett-Packard NETWORKING Aruba 2QSFP+ 40GbE Module 11.2.3.7.11.180.3 Hewlett-Packard NETWORKING Aruba 2 HPE Smart Rate PoE+ Module 11.2.3.7.11.180.4 Hewlett-Packard NETWORKING Aruba 4 HPE Smart Rate PoE+ Module 11.2.3.7.11.180.5 Hewlett-Packard NETWORKING Aruba 2SFP+ Module 11.2.3.7.11.180.6 Hewlett-Packard NETWORKING Aruba 4SFP+ Module 11.2.3.7.11.181.1 Hewlett-Packard NETWORKING Aruba 2930M 2 port Stacking Module 11.2.3.7.11.181.2 Hewlett-Packard NETWORKING Aruba 2930M-24G 11.2.3.7.11.181.2.1 Hewlett-Packard NETWORKING Aruba 2930M-24G Module 11.2.3.7.11.181.3 Hewlett-Packard NETWORKING Aruba 2930M-48G 11.2.3.7.11.181.3.1 Hewlett-Packard NETWORKING Aruba 2930M-48G Module 11.2.3.7.11.181.4 Hewlett-Packard NETWORKING Aruba 2930M-24G-PoE+ 11.2.3.7.11.181.4.1 Hewlett-Packard NETWORKING Aruba 2930M-24G-PoE+ Module 11.2.3.7.11.181.5 Hewlett-Packard NETWORKING Aruba 2930M-48G-PoE+ 11.2.3.7.11.181.5.1 Hewlett-Packard NETWORKING Aruba 2930M-48G-PoE+ Module 11.2.3.7.11.181.6 Hewlett-Packard NETWORKING Aruba 2930M-24SR-PoE+ 11.2.3.7.11.181.6.1 Hewlett-Packard NETWORKING Aruba 2930M-24SR-PoE+ Module 11.2.3.7.11.181.9 Hewlett-Packard NETWORKING Aruba 2930M-40G-8SR-PoE+ 11.2.3.7.11.181.9.1 Hewlett-Packard NETWORKING Aruba 2930M-40G-8SR-PoE+ Module 11.2.3.7.11.181.16 Hewlett-Packard NETWORKING Aruba 2930F-8G-PoE+-2SFP+ 11.2.3.7.11.181.16.1 Hewlett-Packard NETWORKING Aruba 2930F-8G-PoE+-2SFP+ Module 11.2.3.7.11.181.18 Hewlett-Packard NETWORKING Aruba 2930F-24G-4SFP+ 11.2.3.7.11.181.18.1 Hewlett-Packard NETWORKING Aruba 2930F-24G-4SFP+ Module 11.2.3.7.11.181.19 Hewlett-Packard NETWORKING Aruba 2930F-48G-4SFP+ 11.2.3.7.11.181.19.1 Hewlett-Packard NETWORKING Aruba 2930F-48G-4SFP+ Module 11.2.3.7.11.181.20 Hewlett-Packard NETWORKING Aruba 2930F-24G-PoE+-4SFP+ 11.2.3.7.11.181.20.1 Hewlett-Packard NETWORKING Aruba 2930F-24G-PoE+-4SFP+ Module 11.2.3.7.11.181.21 Hewlett-Packard NETWORKING Aruba 2930F-48G-PoE+-4SFP+ 11.2.3.7.11.181.21.1 Hewlett-Packard NETWORKING Aruba 2930F-48G-PoE+-4SFP+ Module 11.2.3.7.11.181.22 Hewlett-Packard NETWORKING Aruba 2930F-24G-4SFP 11.2.3.7.11.181.22.1 Hewlett-Packard NETWORKING Aruba 2930F-24G-4SFP Module 11.2.3.7.11.181.23 Hewlett-Packard NETWORKING Aruba 2930F-48G-4SFP 11.2.3.7.11.181.23.1 Hewlett-Packard NETWORKING Aruba 2930F-48G-4SFP Module 11.2.3.7.11.181.24 Hewlett-Packard NETWORKING Aruba 2930F-24G-PoE+-4SFP 11.2.3.7.11.181.24.1 Hewlett-Packard NETWORKING Aruba 2930F-24G-PoE+-4SFP Module 11.2.3.7.11.181.25 Hewlett-Packard NETWORKING Aruba 2930F-48G-PoE+-4SFP 11.2.3.7.11.181.25.1 Hewlett-Packard NETWORKING Aruba 2930F-48G-PoE+-4SFP Module 11.2.3.7.11.181.276 Hewlett-Packard NETWORKING Aruba 2930F-24G-PoE+-4SFP+-TAA 11.2.3.7.11.181.276.1 Hewlett-Packard NETWORKING Aruba 2930F-24G-PoE+-4SFP+-TAA Module 11.2.3.7.11.181.277 Hewlett-Packard NETWORKING Aruba 2930F-48G-PoE+-4SFP+-TAA 11.2.3.7.11.181.277.1 Hewlett-Packard NETWORKING Aruba 2930F-48G-PoE+-4SFP+-TAA Module 11.2.3.7.11.182.18 Hewlett-Packard NETWORKING Aruba 2540-24G-4SFP+ 11.2.3.7.11.182.18.1 Hewlett-Packard NETWORKING Aruba 2540-24G-4SFP+ Module 11.2.3.7.11.182.19 Hewlett-Packard NETWORKING Aruba 2540-48G-4SFP+ 11.2.3.7.11.182.19.1 Hewlett-Packard NETWORKING Aruba 2540-48G-4SFP+ Module 11.2.3.7.11.182.20 Hewlett-Packard NETWORKING Aruba 2540-24G-PoE+-4SFP+ 11.2.3.7.11.182.20.1 Hewlett-Packard NETWORKING Aruba 2540-24G-PoE+-4SFP+ Module 11.2.3.7.11.182.21 Hewlett-Packard NETWORKING Aruba 2540-48G-PoE+-4SFP+ 11.2.3.7.11.182.21.1 Hewlett-Packard NETWORKING Aruba 2540-48G-PoE+-4SFP+ Module 11.2.3.7.11.183 Hewlett-Packard NETWORKING JL380A HPE 1920S 8G Switch 11.2.3.7.11.184 Hewlett-Packard NETWORKING JL381A HPE 1920S 24G Switch 11.2.3.7.11.185 Hewlett-Packard NETWORKING JL382A HPE 1920S 48G Switch 11.2.3.7.11.186 Hewlett-Packard NETWORKING JL383A HPE 1920S 8G PPoE+ (65W) Switch 11.2.3.7.11.187 Hewlett-Packard NETWORKING JL384A HPE 1920S 24G PPoE+ (185W) Switch 11.2.3.7.11.188 Hewlett-Packard NETWORKING JL385A HPE 1920S 24G PPoE+ (370W) Switch 11.2.3.7.11.198 Hewlett-Packard NETWORKING JL386A HPE 1920S 48G PPoE+ (370W) Switch 11.2.3.7.15.1.3.1 Hewlett-Packard NETWORKING 10500/7500 20G Wired-WLAN module 11.2.3.7.15.1.3.2 Hewlett-Packard NETWORKING 830-24P 11.2.3.7.15.1.3.3 Hewlett-Packard NETWORKING 830-24P-LSW 11.2.3.7.15.1.3.4 Hewlett-Packard NETWORKING 830-8P 11.2.3.7.15.1.3.5 Hewlett-Packard NETWORKING 830-8P-LSW 11.2.3.7.15.1.3.6 Hewlett-Packard NETWORKING 10500/7500 20G Wired-WLAN module TAA 11.2.3.7.15.1.3.7 Hewlett-Packard NETWORKING 830-24P-TAA 11.2.3.7.15.1.3.8 Hewlett-Packard NETWORKING 830-24P-TAA-LSW 11.2.3.7.15.1.3.9 Hewlett-Packard NETWORKING 830-8P-TAA 11.2.3.7.15.1.3.10 Hewlett-Packard NETWORKING 830-8P-TAA-LSW 11.2.3.7.15.1.3.11 Hewlett-Packard NETWORKING 870-WCM 11.2.3.7.15.1.3.12 Hewlett-Packard NETWORKING 870-LSW 11.2.3.7.15.1.3.13 Hewlett-Packard NETWORKING 850 11.2.3.7.15.1.3.14 Hewlett-Packard NETWORKING 870-TAA-WCM 11.2.3.7.15.1.3.15 Hewlett-Packard NETWORKING 870-TAA-LSW 11.2.3.7.15.1.3.16 Hewlett-Packard NETWORKING 850-TAA 11.2.3.7.15.1.3.17 Hewlett-Packard NETWORKING UWWM20 11.2.3.7.15.1.3.18 Hewlett-Packard NETWORKING UWWM20TAA 11.2.3.7.15.1.3.19 Hewlett-Packard NETWORKING 870 11.2.3.7.15.1.3.20 Hewlett-Packard NETWORKING 850 11.2.3.7.15.1.3.21 Hewlett-Packard NETWORKING 870-TAA 11.2.3.7.15.1.3.22 Hewlett-Packard NETWORKING 850-TAA 11.2.3.7.15.1.3.23 Hewlett-Packard NETWORKING VAP 11.2.3.7.15.1.3.24 Hewlett-Packard NETWORKING 830-8P-V7 11.2.3.7.15.1.3.25 Hewlett-Packard NETWORKING 830-24P-V7 11.2.3.7.15.1.3.26 Hewlett-Packard NETWORKING 830-8P-TAA-V7 11.2.3.7.15.1.3.27 Hewlett-Packard NETWORKING 830-24P-TAA-V7 11.2.3.9 Hewlett-Packard PRINTER # specifying a model value prevent fallback on hrDeviceDescr value for better identification 11.2.3.9.1 Hewlett-Packard PRINTER 11.2.3.9.2 Hewlett-Packard PRINTER 11.2.3.10 Hewlett-Packard COMPUTER 11.2.14.11.6.4.1.1 Hewlett-Packard NETWORKING AP420 11.2.14.11.6.4.1.2 Hewlett-Packard NETWORKING AP530 11.2.14.11.6.4.1.3 Hewlett-Packard NETWORKING AP10ag 11.2.14.11.7.1 Hewlett-Packard NETWORKING WAN 11.2.14.11.7.1.1 Hewlett-Packard NETWORKING WAN Secure Router 7001dl 11.2.14.11.7.1.2 Hewlett-Packard NETWORKING WAN Secure Router 7102dl 11.2.14.11.7.1.3 Hewlett-Packard NETWORKING WAN Secure Router 7203dl 11.2.14.11.7.1.4 Hewlett-Packard NETWORKING WAN Secure Router 7306dl 11.2.14.11.8.1.1 Hewlett-Packard NETWORKING 8116fl 11.2.14.11.8.1.2 Hewlett-Packard NETWORKING 8108fl 11.2.51 Hewlett-Packard STORAGE Modular Smart Array 11.5.7.1.1 Hewlett-Packard NETWORKING Blade Management Card 11.5.7.1.2 Hewlett-Packard NETWORKING Onboard Administrator 11.5.7.5.1 Hewlett-Packard NETWORKING 1/10Gb-F Virtual Connect Ethernet Module 11.5.7.5.4 Hewlett-Packard NETWORKING VC Flex-10/10D Module 11.5.7.5.6 Hewlett-Packard NETWORKING VC FlexFabric-20/40 11.10.2.1.3.25 Hewlett-Packard STORAGE 1x8 G2 AUTOLDR 18 Nortel NETWORKING 18.1 Nortel NETWORKING WellfleetIP 18.3 Nortel NETWORKING Bay 22 Fibronics NETWORKING 22.1.1.1 Fibronics NETWORKING FDDI 23 Novell COMPUTER 26 Hughes NETWORKING 26.2.1 Hughes NETWORKING LAN 33 Xyplex NETWORKING 33.1.3 Xyplex NETWORKING Bridge 33.8.4.2.4 Xyplex NETWORKING Hub 33.8.4.2.5 Xyplex NETWORKING Hub 33.8.4.2.6 Xyplex NETWORKING Hub 33.8.4.2.7 Xyplex NETWORKING Hub 33.8.5.2.7 Xyplex NETWORKING ITouch9000 33.8.5.2.8 Xyplex NETWORKING ITouch9000 33.8.5.2.9 Xyplex NETWORKING ITouch9000 33.8.5.2.10 Xyplex NETWORKING ITouch9000 33.8.5.2.11 Xyplex NETWORKING ITouch9000 33.8.5.3.7 Xyplex NETWORKING Network3000 33.8.5.3.8 Xyplex NETWORKING Network3000 33.8.5.3.9 Xyplex NETWORKING Network3000 33.8.5.3.10 Xyplex NETWORKING Network3000 33.8.7.1.2 Xyplex NETWORKING Network9000 33.8.7.1.3 Xyplex NETWORKING Network9000 33.8.7.1.4 Xyplex NETWORKING Network9000 33.8.7.1.5 Xyplex NETWORKING Network9000 33.8.7.1.6 Xyplex NETWORKING Network9000 36 DEC COMPUTER 36.2.15.3.3 DEC NETWORKING Gigaswitch 36.2.15.3.6.10 Enterasys NETWORKING Bridge620 36.2.15.3.7.1 DEC NETWORKING 900EF 36.2.15.3.11.1 DEC NETWORKING 900EF 36.2.15.5.1 DEC NETWORKING 500 36.2.15.5.4.1 DEC NETWORKING 900MX 36.2.15.6.4.1 DEC NETWORKING 90M 36.2.15.9.8.1 DEC NETWORKING 90TS 36.2.15.9.14.1 DEC NETWORKING 900TP 36.2.15.10.3.1 DEC NETWORKING 900 36.2.15.11.5.1 DEC NETWORKING RouteAbout 36.2.15.11.13.1 DEC NETWORKING 900EF-MM 36.2.15.11.14.1 DEC NETWORKING 900EX 36.2.15.11.15.1 DEC NETWORKING 900EE 36.2.15.11.30.1 DEC NETWORKING VNswitch900GV 36.2.15.14 DEC NETWORKING AtmSwitch 36.2.18.10 DEC NETWORKING Hub90 36.2.18.11 DEC NETWORKING Hub900 42 Sun COMPUTER 42.2.1.1 Sun COMPUTER PCNFS 42.2.14 Sun NETWORKING JavaStationIIep 42.2.24.1 Sun NETWORKING Blade1600 42.2.28.3.4.1.1.5 Sun NETWORKING SANbox2-64 43 3Com NETWORKING 43.1.4.1 3Com NETWORKING netbuilder1 43.1.4.2 3Com NETWORKING netbuilder2 43.1.4.3 3Com NETWORKING IBridgeECS 43.1.4.4 3Com NETWORKING netbuilder TrRA 43.1.4.5 3Com NETWORKING netbuilder Platform 43.1.4.6 3Com NETWORKING netbuilder Rem 43.1.4.7 3Com NETWORKING netbuilder RA 43.1.4.8 3Com NETWORKING netbuilder RC 43.1.4.9 3Com NETWORKING netbuilder TrREM 43.1.4.10 3Com NETWORKING netbuilder TrRC 43.1.4.11 3Com NETWORKING SW/NBDPE 43.1.4.12 3Com NETWORKING SW/NBDPE-EW 43.1.4.12.16 3Com NETWORKING SW/NBII 43.1.4.13 3Com NETWORKING netbuilder Remote Office 43.1.4.14 3Com NETWORKING nbrouterBoards 43.1.4.15 3Com NETWORKING netbuilderLocal 43.1.4.16 3Com NETWORKING netbuilderTrLocal 43.1.4.17 3Com NETWORKING netbuilderRC1x2 43.1.4.18 3Com NETWORKING netbuilderTrRC1x2 43.1.4.19 3Com NETWORKING Spectre Large 43.1.4.20 3Com NETWORKING Spectre Huge 43.1.4.21 3Com NETWORKING Spectre ISDN 43.1.4.22 3Com NETWORKING nb2_8_4fddi 43.1.4.23 3Com NETWORKING nb2_8_dualwide 43.1.4.24 3Com NETWORKING NetBuilder II fw versions 43.1.4.25 3Com NETWORKING NetBuilder II sw versions 43.1.4.26 3Com NETWORKING Spectre ISDN Huge 43.1.4.27 3Com NETWORKING Spectre Token Ring 4x8 43.1.4.28 3Com NETWORKING Spectre Token Ring ISDN 4x8 43.1.4.29 3Com NETWORKING Spectre Token Ring xxx 43.1.4.32 3Com NETWORKING Office Connect 43.1.4.33 3Com NETWORKING SW/NBSI 43.1.4.34 3Com NETWORKING SuperStack2-L3MOD 43.1.4.35 3Com NETWORKING SW/NBPB500 43.1.4.36 3Com NETWORKING SW/PBS400 43.1.8.1 3Com NETWORKING LinkBuilder 3GH 43.1.8.2 3Com NETWORKING LinkBuilder 10BTi 43.1.8.3 3Com NETWORKING LinkBuilder ECS 43.1.8.4 3Com NETWORKING LinkBuilder MSH 43.1.8.5 3Com NETWORKING SuperStack II Hub 10 43.1.8.6 3Com NETWORKING LinkBuilder FDDI Workgroup Hub 43.1.8.7 3Com NETWORKING LinkBuilderFDDIHub 43.1.8.8 3Com NETWORKING LinkBuilder FMS 43.1.8.9 3Com NETWORKING LinkBuilder MSH 43.1.8.10 3Com NETWORKING LinkBuilder FMS Local Bridge 43.1.8.11 3Com NETWORKING LinkBuilderTP/8i 43.1.8.12 3Com NETWORKING LinkBuilder TP/8i 43.1.8.13 3Com NETWORKING LinkSwitch 1000 43.1.8.14 3Com NETWORKING LinkSwitch 500 43.1.8.15 3Com NETWORKING LinkSwitch 2700AU 43.1.8.16 3Com NETWORKING LinkSwitch 2700 43.1.8.17 3Com NETWORKING LinkBuilderFMS100LBridge 43.1.8.18 3Com NETWORKING LinkSwitch 2700TLiAU 43.1.8.19 3Com NETWORKING LinkSwitch 2700TLi 43.1.8.20 3Com NETWORKING LinkBuilder FMS 100 Hub 43.1.8.21 3Com NETWORKING OfficeStack 8M Hub 43.1.8.22 3Com NETWORKING LinkSwitch 3000 43.1.8.24 3Com NETWORKING SuperStack2 43.1.8.29 3Com NETWORKING SuperStack2Desktop 43.1.8.31 3Com NETWORKING OfficeConnect140M 43.1.8.32 3Com NETWORKING Superstack 9000 SX 43.1.8.34 3Com NETWORKING SuperStack II S3800 43.1.8.38 3Com NETWORKING SuperStack3 4300 43.1.8.39 3Com NETWORKING S3824 43.1.8.40 3Com NETWORKING S3812 43.1.8.41 3Com NETWORKING S3226 43.1.8.42 3Com NETWORKING S3250 43.1.8.43 3Com NETWORKING Switch 3870 43.1.8.44 3Com NETWORKING Switch 3870 43.1.8.45 3Com NETWORKING S3848 43.1.8.46 3Com NETWORKING S3228 43.1.8.47 3Com NETWORKING S3252 43.1.8.52 3Com NETWORKING OfficeConnect Managed Switch 9 43.1.8.53 3Com NETWORKING OfficeConnect Managed Switch 9 FX 43.1.8.57 3Com NETWORKING Baseline S2226 Plus 43.1.8.58 3Com NETWORKING Baseline S2250 Plus 43.1.8.59 3Com NETWORKING Baseline 2426 PWR Plus 43.1.8.60 3Com NETWORKING Baseline S2916-SFP Plus 43.1.8.61 3Com NETWORKING Baseline S2924-SFP Plus 43.1.8.62 3Com NETWORKING Baseline S2948-SFP Plus 43.1.8.63 3Com NETWORKING Baseline S2924-PWR Plus 43.1.8.64 3Com NETWORKING Office Connect Managed Gigabit PWR 10 43.1.8.65 3Com NETWORKING Baseline S3524-PoE 43.1.8.66 3Com NETWORKING Baseline S2226-SFP Plus 43.1.8.67 3Com NETWORKING Baseline S2426 PWR Plus 43.1.8.68 3Com NETWORKING Baseline S2250-SFP Plus 43.1.8.69 3Com NETWORKING OfficeConnect8 43.1.8.70 3Com NETWORKING OfficeConnectPoE 43.1.8.71 3Com NETWORKING Baseline 2920-SFP Plus 43.1.8.72 3Com NETWORKING Baseline 2928-SFP Plus 43.1.8.73 3Com NETWORKING Baseline 2952-SFP Plus 43.1.8.74 3Com NETWORKING Baseline 2928-PWR Plus 43.1.8.75 3Com NETWORKING Baseline 2928-HPWR Plus 43.1.8.76 3Com NETWORKING Baseline S2226 43.1.8.77 3Com NETWORKING Baseline 2250-SFP Plus 43.1.8.78 3Com NETWORKING Baseline S2426 43.1.9.13.1.2.1 3Com NETWORKING Corebuilder 9000 43.1.9.13.1.2.5 3Com NETWORKING Corebuilder 9000-4P 43.1.9.13.3.1 3Com NETWORKING Corebuilder 9000 43.1.9.13.3.1.1 3Com NETWORKING S4007 43.1.9.13.3.1.2 3Com NETWORKING S4007R 43.1.9.15.2 3Com NETWORKING ATMExpansion 43.1.12.1 3Com NETWORKING CoreBuilder7000 43.1.12.3.2 3Com NETWORKING PathBuilderS600 43.1.12.4 3Com NETWORKING CoreBuilder7000 43.1.12.5 3Com NETWORKING CoreBuilder7000ATM 43.1.13.1 3Com NETWORKING SuperStack2RPS 43.1.16.1.1 3Com NETWORKING CoreBuilder7900 43.1.16.1.1.1.1 3Com NETWORKING Corebuilder 3500 43.1.16.1.2.1.1 3Com NETWORKING CoreBuilder9400 43.1.16.2.2.1 3Com NETWORKING Superstack 3900 43.1.16.2.2.1.1 3Com NETWORKING SuperStack II Switch 3900-24 43.1.16.2.2.1.2 3Com NETWORKING SuperStack II Switch 3900-36 43.1.16.2.2.2 3Com NETWORKING Superstack 9300 43.1.16.2.2.2.1 3Com NETWORKING SuperStack 9300 43.1.16.3.1 3Com NETWORKING 4005 43.1.16.4.1 3Com NETWORKING SW7707 43.1.16.4.2.1 3Com NETWORKING R5009 43.1.16.4.2.2 3Com NETWORKING R5231 43.1.16.4.2.3 3Com NETWORKING R5640 43.1.16.4.2.4 3Com NETWORKING R5680 43.1.16.4.2.5 3Com NETWORKING R3012 43.1.16.4.2.6 3Com NETWORKING R3013 43.1.16.4.2.8 3Com NETWORKING R3015 43.1.16.4.2.9 3Com NETWORKING R3016 43.1.16.4.2.10 3Com NETWORKING R3018 43.1.16.4.2.11 3Com NETWORKING R6040 43.1.16.4.2.12 3Com NETWORKING R6080 43.1.16.4.2.13 3Com NETWORKING R3030 43.1.16.4.2.14 3Com NETWORKING R3031 43.1.16.4.2.15 3Com NETWORKING R3032 43.1.16.4.2.16 3Com NETWORKING R3033 43.1.16.4.2.17 3Com NETWORKING R3034 43.1.16.4.2.18 3Com NETWORKING R3035 43.1.16.4.2.21 3Com NETWORKING R5012 43.1.16.4.2.22 3Com NETWORKING R5232 43.1.16.4.2.23 3Com NETWORKING R5642 43.1.16.4.2.24 3Com NETWORKING R5682 43.1.16.4.2.25 3Com NETWORKING R6040(ERPU) 43.1.16.4.2.26 3Com NETWORKING 6080 43.1.16.4.2.27 3Com NETWORKING R3040 43.1.16.4.2.28 3Com NETWORKING R3041 43.1.16.4.2.33 3Com NETWORKING R3036 43.1.16.4.2.34 3Com NETWORKING OSR3720 43.1.16.4.2.35 3Com NETWORKING OSR3740 43.1.16.4.2.36 3Com NETWORKING OSR5701 43.1.16.4.2.37 3Com NETWORKING OSR5720 43.1.16.4.2.38 3Com NETWORKING OSR5740 43.1.16.4.2.39 3Com NETWORKING OSR5760 43.1.16.4.2.40 3Com NETWORKING OSR6740 43.1.16.4.2.41 3Com NETWORKING OSR6760 43.1.16.4.2.42 3Com NETWORKING OSR5720-POE 43.1.16.4.2.43 3Com NETWORKING OSR5740-POE 43.1.16.4.2.44 3Com NETWORKING OSR5760-POE 43.1.16.4.3.1 3Com NETWORKING SW7708 43.1.16.4.3.2 3Com NETWORKING SW7704 43.1.16.4.3.4 3Com NETWORKING Switch 8807 43.1.16.4.3.5 3Com NETWORKING Switch 8810 43.1.16.4.3.6 3Com NETWORKING Switch 8814 43.1.16.4.3.7 3Com NETWORKING Switch 5500G-EI 43.1.16.4.3.8 3Com NETWORKING Switch 5500G 48-Port 43.1.16.4.3.11 3Com NETWORKING Switch 5500-SI 28-Port 43.1.16.4.3.12 3Com NETWORKING Switch 5500-52-SI 43.1.16.4.3.13 3Com NETWORKING Switch 5500-28-EI 43.1.16.4.3.14 3Com NETWORKING Switch 5500-EI 52-Port 43.1.16.4.3.15 3Com NETWORKING Switch 5500-28-PWR-EI 43.1.16.4.3.16 3Com NETWORKING Switch 5500-52-PWR-EI 43.1.16.4.3.17 3Com NETWORKING Switch 5500-28-FX-EI 43.1.16.4.3.18 3Com NETWORKING Switch 5500G-EI 24-Port-SFP 43.1.16.4.3.19 3Com NETWORKING Switch 7754 43.1.16.4.3.20 3Com NETWORKING Switch 7757 43.1.16.4.3.21 3Com NETWORKING 4500 26-Port 43.1.16.4.3.22 3Com NETWORKING Switch 4500 50-Port 43.1.16.4.3.23 3Com NETWORKING Switch 4500-26-PWR 43.1.16.4.3.24 3Com NETWORKING Switch 4500-50-PWR 43.1.16.4.3.25 3Com NETWORKING Switch witch 7758 43.1.16.4.3.27 3Com NETWORKING 4200G 12-Port 43.1.16.4.3.28 3Com NETWORKING 4200G 24-Port 43.1.16.4.3.29 3Com NETWORKING Switch 4200G-48 43.1.16.4.3.30 3Com NETWORKING Switch 4500G 24-Port 43.1.16.4.3.31 3Com NETWORKING Switch 4500G-48 43.1.16.4.3.32 3Com NETWORKING Switch 4500G-24-PWR 43.1.16.4.3.33 3Com NETWORKING Switch 4500G-48-PWR 43.1.16.4.3.34 3Com NETWORKING Switch 4800G 24-Port 43.1.16.4.3.35 3Com NETWORKING Switch 4800G 48-Port 43.1.16.4.3.36 3Com NETWORKING Switch 4800G PWR 24-Port 43.1.16.4.3.37 3Com NETWORKING Switch 4800G PWR 48-Port 43.1.16.4.3.38 3Com NETWORKING Switch 4800G 24-Port-SFP 43.1.16.4.3.39 3Com NETWORKING Switch 8807-V5 43.1.16.4.3.40 3Com NETWORKING Switch 8810-V5 43.1.16.4.3.41 3Com NETWORKING Switch 8814-V5 43.1.16.4.3.42 3Com NETWORKING Switch 4210 9-Port 43.1.16.4.3.43 3Com NETWORKING Switch 4210 18-Port 43.1.16.4.3.44 3Com NETWORKING Switch 4210 26-Port 43.1.16.4.3.45 3Com NETWORKING Switch 4210 52-Port 43.1.16.4.3.46 3Com NETWORKING Switch 4210 9-Port 43.1.16.4.3.47 3Com NETWORKING Switch 4210 18-Port 43.1.16.4.3.48 3Com NETWORKING Switch 4210 26-Port 43.1.16.4.3.49 3Com NETWORKING Switch 4200G-24-PWR 43.1.16.4.3.50 3Com NETWORKING Switch 7902E 43.1.16.4.3.51 3Com NETWORKING Switch 7903E 43.1.16.4.3.52 3Com NETWORKING Switch 7906E 43.1.16.4.3.53 3Com NETWORKING Switch 7906EV 43.1.16.4.3.54 3Com NETWORKING Switch 7910E 43.1.16.4.3.74 3Com NETWORKING Switch 7903E-S 43.1.16.4.3.75 3Com NETWORKING S4210 9-Port 43.1.16.4.3.76 3Com NETWORKING S4210 18-Port 43.1.16.4.3.77 3Com NETWORKING Switch 4210 26-Port 43.1.16.4.3.78 3Com NETWORKING S4210 PWR 9-Port 43.1.16.4.3.79 3Com NETWORKING S4210 PWR 18-Port 43.1.16.4.3.80 3Com NETWORKING Switch 4210 PWR 26-Port 43.1.16.4.3.81 3Com NETWORKING Switch 4200G-24-NTG 43.1.16.4.3.82 3Com NETWORKING Switch 4200G-48-NTG 43.1.16.4.3.83 3Com NETWORKING Switch 4510G-24 43.1.16.4.3.84 3Com NETWORKING Switch 4510G-48 43.1.16.4.3.85 3Com NETWORKING S4210G-24 43.1.16.4.3.86 3Com NETWORKING S4210G-48 43.1.16.4.3.87 3Com NETWORKING S4210G-24-PWR 43.1.16.4.3.88 3Com NETWORKING S4210G-48-PWR 43.1.16.4.3.89 3Com NETWORKING S4210G-24-NT 43.1.16.4.3.90 3Com NETWORKING S4210G-48-NT 43.1.20.1 3Com NETWORKING Access Point 8000 43.1.20.5 3Com NETWORKING Wireless Building to Building Bridge 43.1.20.6 3Com NETWORKING Access Point 8500 43.1.20.8 3Com NETWORKING Access Point 8200 43.1.20.10 3Com NETWORKING Access Point 8700 43.1.20.11 3Com NETWORKING Access Point 8250 43.1.20.12 3Com NETWORKING Access Point 8750 43.1.20.13 3Com NETWORKING Access Point 7250 43.1.20.14 3Com NETWORKING Wireless LAN SWXR100 43.1.20.15 3Com NETWORKING Wireless LAN SWX1200 43.1.20.16 3Com NETWORKING Wireless LAN Controller WX4400 43.1.20.20 3Com NETWORKING OfficeConnect 11g PoE Access Point 43.1.20.21 3Com NETWORKING Access Point 8850 43.1.20.22 3Com NETWORKING Wireless LAN Controller WX2200 43.1.20.23 3Com NETWORKING Access Point 8760 43.1.20.24 3Com NETWORKING Unified Gigabit Wireless PoE Switch 24 43.1.20.25 3Com NETWORKING Access Point 7760 43.1.20.26 3Com NETWORKING 802.11ag Wireless Building to Building Bridge 43.1.20.35 3Com NETWORKING WX3024 43.1.20.36 3Com NETWORKING WX3024-LSW 43.1.20.38 3Com NETWORKING WX3010 43.1.20.39 3Com NETWORKING WX3010-LSW 43.1.20.45 3Com NETWORKING WX3008 43.1.20.46 3Com NETWORKING WX3008-LSW 43.1.20.47 3Com NETWORKING wlanAP9552 43.1.20.48 3Com NETWORKING wlanAP9152 43.1.20.49 3Com NETWORKING WX5002 43.1.20.50 3Com NETWORKING WX5004 43.1.21.2 3Com NETWORKING NJ205 43.1.21.3 3Com NETWORKING NJ220 43.1.21.4 3Com NETWORKING NJ225 43.1.21.6 3Com NETWORKING NJ225FX-SC 43.1.21.7 3Com NETWORKING NJ240 43.10.27.4.1 3Com NETWORKING SuperStack2-PS40 43.10.27.4.1.1.1 3Com NETWORKING SuperStack2 43.10.27.4.1.2.1 3Com NETWORKING SuperStack Switch 1100-12P 43.10.27.4.1.2.2 3Com NETWORKING SuperStack 3300 43.10.27.4.1.2.4 3Com NETWORKING SuperStack 4400 43.10.27.4.1.2.5 3Com NETWORKING SuperStack 4900 43.10.27.4.1.2.10 3Com NETWORKING SuperStack Switch 1100-24P 43.10.27.4.1.2.11 3Com NETWORKING SuperStack 4200 43.48.1.1.5 3Com NETWORKING VCX-7005 45 Nortel NETWORKING 45.1.3.2 Nortel NETWORKING SynopticsHub 45.1.3.6.1.4.1.1872.1.13.2.2 Nortel NETWORKING 3416 45.1.3.8 Nortel NETWORKING S3000Trb 45.1.8.13 Nortel NETWORKING LinkSwitch 1000 45.1.8.14 Nortel NETWORKING LinkSwitch 500 45.1.8.15 Nortel NETWORKING LinkSwitch 2700AU 45.1.8.16 Nortel NETWORKING LinkSwitch 2700 45.1.8.18 Nortel NETWORKING LinkSwitch 2700TLiAU 45.1.8.19 Nortel NETWORKING LinkSwitch 2700TLi 45.1.8.22 Nortel NETWORKING LinkSwitch 3000 45.1.8.32 Nortel NETWORKING Superstack 9000 SX 45.1.8.38 Nortel NETWORKING SuperStack3 4300 45.1.8.43 Nortel NETWORKING Switch 3870 45.1.8.44 Nortel NETWORKING Switch 3870 45.1.8.57 Nortel NETWORKING Baseline S2226 Plus 45.1.8.58 Nortel NETWORKING Baseline S2250 Plus 45.1.8.59 Nortel NETWORKING Baseline 2426 PWR Plus 45.1.8.60 Nortel NETWORKING Baseline S2916-SFP Plus 45.1.8.61 Nortel NETWORKING Baseline S2924-SFP Plus 45.1.8.62 Nortel NETWORKING Baseline S2948-SFP Plus 45.1.8.63 Nortel NETWORKING Baseline S2924-PWR Plus 45.1.8.71 Nortel NETWORKING Baseline 2920-SFP Plus 45.1.8.72 Nortel NETWORKING Baseline 2928-SFP Plus 45.1.8.73 Nortel NETWORKING Baseline 2952-SFP Plus 45.1.8.74 Nortel NETWORKING Baseline 2928-PWR Plus 45.1.8.75 Nortel NETWORKING Baseline 2928-HPWR Plus 45.1.8.76 Nortel NETWORKING Baseline S2226 45.1.8.77 Nortel NETWORKING Baseline 2250-SFP Plus 45.1.8.78 Nortel NETWORKING Baseline S2426 45.1.9.13.1.2.1 Nortel NETWORKING Corebuilder 9000 45.1.9.13.3.1 Nortel NETWORKING Corebuilder 9000 45.1.16.1.1.1.1 Nortel NETWORKING Corebuilder 3500 45.1.16.2.2.1 Nortel NETWORKING Superstack 3900 45.1.16.2.2.1.1 Nortel NETWORKING SuperStack II Switch 3900-24 45.1.16.2.2.1.2 Nortel NETWORKING SuperStack II Switch 3900-36 45.1.16.2.2.2 Nortel NETWORKING Superstack 9300 45.1.16.2.2.2.1 Nortel NETWORKING SuperStack 9300 45.1.16.4.2.26 Nortel NETWORKING 6080 45.1.16.4.3.4 Nortel NETWORKING Switch 8807 45.1.16.4.3.5 Nortel NETWORKING Switch 8810 45.1.16.4.3.6 Nortel NETWORKING Switch 8814 45.1.16.4.3.7 Nortel NETWORKING Switch 5500G-EI 45.1.16.4.3.8 Nortel NETWORKING Switch 5500G 48-Port 45.1.16.4.3.11 Nortel NETWORKING Switch 5500-SI 28-Port 45.1.16.4.3.12 Nortel NETWORKING Switch 5500-52-SI 45.1.16.4.3.13 Nortel NETWORKING Switch 5500-28-EI 45.1.16.4.3.14 Nortel NETWORKING Switch 5500-EI 52-Port 45.1.16.4.3.15 Nortel NETWORKING Switch 5500-28-PWR-EI 45.1.16.4.3.16 Nortel NETWORKING Switch 5500-52-PWR-EI 45.1.16.4.3.17 Nortel NETWORKING Switch 5500-28-FX-EI 45.1.16.4.3.18 Nortel NETWORKING Switch 5500G-EI 24-Port-SFP 45.1.16.4.3.19 Nortel NETWORKING Switch 7754 45.1.16.4.3.20 Nortel NETWORKING Switch 7757 45.1.16.4.3.21 Nortel NETWORKING 4500 26-Port 45.1.16.4.3.22 Nortel NETWORKING Switch 4500 50-Port 45.1.16.4.3.23 Nortel NETWORKING Switch 4500-26-PWR 45.1.16.4.3.24 Nortel NETWORKING Switch 4500-50-PWR 45.1.16.4.3.25 Nortel NETWORKING Switch witch 7758 45.1.16.4.3.27 Nortel NETWORKING 4200G 12-Port 45.1.16.4.3.28 Nortel NETWORKING 4200G 24-Port 45.1.16.4.3.29 Nortel NETWORKING Switch 4200G-48 45.1.16.4.3.30 Nortel NETWORKING Switch 4500G 24-Port 45.1.16.4.3.31 Nortel NETWORKING Switch 4500G-48 45.1.16.4.3.32 Nortel NETWORKING Switch 4500G-24-PWR 45.1.16.4.3.33 Nortel NETWORKING Switch 4500G-48-PWR 45.1.16.4.3.34 Nortel NETWORKING Switch 4800G 24-Port 45.1.16.4.3.35 Nortel NETWORKING Switch 4800G 48-Port 45.1.16.4.3.36 Nortel NETWORKING Switch 4800G PWR 24-Port 45.1.16.4.3.37 Nortel NETWORKING Switch 4800G PWR 48-Port 45.1.16.4.3.38 Nortel NETWORKING Switch 4800G 24-Port-SFP 45.1.16.4.3.39 Nortel NETWORKING Switch 8807-V5 45.1.16.4.3.40 Nortel NETWORKING Switch 8810-V5 45.1.16.4.3.41 Nortel NETWORKING Switch 8814-V5 45.1.16.4.3.42 Nortel NETWORKING Switch 4210 9-Port 45.1.16.4.3.43 Nortel NETWORKING Switch 4210 18-Port 45.1.16.4.3.44 Nortel NETWORKING Switch 4210 26-Port 45.1.16.4.3.45 Nortel NETWORKING Switch 4210 52-Port 45.1.16.4.3.46 Nortel NETWORKING Switch 4210 9-Port 45.1.16.4.3.47 Nortel NETWORKING Switch 4210 18-Port 45.1.16.4.3.48 Nortel NETWORKING Switch 4210 26-Port 45.1.16.4.3.49 Nortel NETWORKING Switch 4200G-24-PWR 45.1.16.4.3.50 Nortel NETWORKING Switch 7902E 45.1.16.4.3.51 Nortel NETWORKING Switch 7903E 45.1.16.4.3.52 Nortel NETWORKING Switch 7906E 45.1.16.4.3.53 Nortel NETWORKING Switch 7906EV 45.1.16.4.3.54 Nortel NETWORKING Switch 7910E 45.1.16.4.3.74 Nortel NETWORKING Switch 7903E-S 45.1.16.4.3.77 Nortel NETWORKING Switch 4210 26-Port 45.1.16.4.3.80 Nortel NETWORKING Switch 4210 PWR 26-Port 45.1.16.4.3.83 Nortel NETWORKING Switch 4510G-24 45.1.16.4.3.84 Nortel NETWORKING Switch 4510G-48 45.3.1 Nortel NETWORKING NMM281XSA 45.3.2.1 Nortel NETWORKING NMM331XS 45.3.2.2 Nortel NETWORKING 351XTr 45.3.2.3 Nortel NETWORKING 3000-FDDI-NMM 45.3.3.1 Nortel NETWORKING NMM331XA 45.3.3.2 Nortel NETWORKING 3030-trNMM 45.3.9.1 Nortel NETWORKING SynopticsHub 45.3.10.1 Nortel NETWORKING 291X-FDDI-NMM 45.3.12.1 Nortel NETWORKING 281X-enetNMM 45.3.13.1 Nortel NETWORKING 5000 45.3.13.2 Nortel NETWORKING 5000-tokNMM 45.3.13.3 Nortel NETWORKING 5910S 45.3.13.5 Nortel NETWORKING 58000 45.3.13.6 Nortel NETWORKING 5616A/SA 45.3.14.1 Nortel NETWORKING 281XSA-enetNMM 45.3.15.1 Nortel NETWORKING Baystack 28115 45.3.16.1 Nortel NETWORKING SynopticsNMM810M 45.3.17.1 Nortel NETWORKING 5310A/SA 45.3.17.2 Nortel NETWORKING 5510Tr 45.3.17.3 Nortel NETWORKING 58000 45.3.19.1 Nortel NETWORKING 2715SATr 45.3.21.1 Nortel NETWORKING 5000 45.3.22 Nortel NETWORKING BaystackEthernet 45.3.22.1 Nortel NETWORKING BaystackethNMM 45.3.26 Nortel NETWORKING Baystack100 45.3.26.1 Nortel NETWORKING Baystack100-12 45.3.27 Nortel NETWORKING BaystackTr 45.3.27.1 Nortel NETWORKING BaystackTrNMM 45.3.28.1 Nortel NETWORKING Baystack 28200 45.3.29 Nortel NETWORKING BayStack 302T/F 45.3.29.1 Nortel NETWORKING BayStack 302T/F 45.3.30 Nortel NETWORKING Baystack 350 45.3.30.1 Nortel NETWORKING Baystack350-ethSwitchNMM 45.3.30.2 Nortel NETWORKING Baystack350-24T-ethSwitchNMM 45.3.31 Nortel NETWORKING Baystack150eth 45.3.31.1 Nortel NETWORKING Baystack150ethNMM 45.3.32 Nortel NETWORKING Baystack303-304 45.3.32.1 Nortel NETWORKING Baystack303-304sw 45.3.32.2 Nortel NETWORKING Baystack 310-24 45.3.33 Nortel NETWORKING Baystack200eth 45.3.33.1 Nortel NETWORKING Baystack200ethNMM 45.3.34 Nortel NETWORKING Baystack250eth 45.3.34.1 Nortel NETWORKING Baystack250ethNMM 45.3.35 Nortel NETWORKING Baystack 450 45.3.35.1 Nortel NETWORKING Baystack 450 45.3.36 Nortel NETWORKING Baystack 410 45.3.36.1 Nortel NETWORKING Baystack 410 45.3.37 Nortel NETWORKING BaystackICS 45.3.37.1 Nortel NETWORKING BaystackICSNMM 45.3.38.1 Nortel NETWORKING Passport 8100 45.3.38.2 Nortel NETWORKING Passport 8010 45.3.39 Nortel NETWORKING Baystack670 45.3.39.1 Nortel NETWORKING Baystack670WLAN 45.3.40.1 Nortel NETWORKING BPS 2000 45.3.41 Nortel NETWORKING Baystack3580 45.3.41.1 Nortel NETWORKING Baystack3580-16F 45.3.42 Nortel NETWORKING Baystack10 45.3.43 Nortel NETWORKING Baystack 420 45.3.43.1 Nortel NETWORKING Baystack 420 45.3.45 Nortel NETWORKING Baystack 380 45.3.45.1 Nortel NETWORKING Baystack 380 45.3.46 Nortel NETWORKING Baystack 470 45.3.46.1 Nortel NETWORKING Baystack 470 48T 45.3.49 Nortel NETWORKING Baystack 460-24T 45.3.49.1 Nortel NETWORKING Baystack 460-24T-PWR 45.3.51 Nortel NETWORKING Baystack 380-24F 45.3.51.1 Nortel NETWORKING Baystack 380 45.3.52 Nortel NETWORKING Baystack 5510-24T 45.3.52.1 Nortel NETWORKING Baystack 5510 24T 45.3.53 Nortel NETWORKING Baystack 5510-28T 45.3.53.1 Nortel NETWORKING Baystack 5510 48T 45.3.54 Nortel NETWORKING Baystack 470-24T 45.3.54.1 Nortel NETWORKING Baystack 470 24T 45.3.57 Nortel NETWORKING Baystack 425 45.3.57.1 Nortel NETWORKING Baystack 425-48T 45.3.57.2 Nortel NETWORKING Baystack 425 45.3.59.1 Nortel NETWORKING Ethernet Routing Switch 5520-24T 45.3.59.2 Nortel NETWORKING Ethernet Routing Switch 5520-48T 45.3.61.2 Nortel NETWORKING Baystack 325-24G 45.3.63.1 Nortel NETWORKING Ethernet Routing Switch 470-24T-PWR 45.3.64.1 Nortel NETWORKING Baystack 470-28T-PWR 45.3.65 Nortel NETWORKING Baystack 5530 24TFD 45.3.66 Nortel NETWORKING Baystack3510 45.3.71 Nortel NETWORKING 4500 Ethernet Routing Switch 45.3.71.1 Nortel NETWORKING Ethernet Routing Switch 4548GT 45.3.71.2 Nortel NETWORKING Ethernet Routing Switch 4548GT-PWR 45.3.71.3 Nortel NETWORKING Ethernet Routing Switch 4550T 45.3.71.4 Nortel NETWORKING Ethernet Routing Switch 4550T-PWR 45.3.71.5 Nortel NETWORKING 4526FX Ethernet Routing Switch 45.3.71.6 Nortel NETWORKING 4526GTX-PWR Ethernet Routing Switch 45.3.71.7 Nortel NETWORKING 4526GTX Ethernet Routing Switch 45.3.71.8 Nortel NETWORKING 4524GT Ethernet Routing Switch 45.3.71.9 Nortel NETWORKING 4526T-PWR Ethernet Routing Switch 45.3.71.10 Nortel NETWORKING 4526T Ethernet Routing Switch 45.3.71.11 Avaya NETWORKING ERS 4524GT-PWR 45.3.72 Nortel NETWORKING 2500 Series Ethernet Routing Switch 45.3.72.1 Nortel NETWORKING Ethernet Routing Switch 2526T 45.3.72.2 Nortel NETWORKING 2526T-PWR Ethernet Routing Switch 45.3.72.3 Nortel NETWORKING 2550T Ethernet Routing Switch 45.3.72.4 Nortel NETWORKING 2550T-PWR Ethernet Routing Switch 45.3.74.1 Nortel NETWORKING Ethernet Routing Switch 5698TFD-PWR 45.3.74.2 Nortel NETWORKING Ethernet Routing Switch 5698TFD 45.3.74.4 Nortel NETWORKING Ethernet Routing Switch 5650TD 45.3.74.5 Avaya NETWORKING ERS 5632FD 45.3.78.1 Avaya NETWORKING ERS 4826GTS-PWR+ 45.3.78.2 Avaya NETWORKING Ethernet Routing Switch 4850GTS-PWR 45.3.78.4 Avaya NETWORKING ERS 4850GTS 45.3.79.1 Avaya NETWORKING VSP-7024XLS 45.3.83.2 Avaya NETWORKING Ethernet Routing Switch 3626GTS-PWR+ 45.3.83.4 Avaya NETWORKING Ethernet Routing Switch 3650GTS-PWR+ 45.6.1.3.1 Nortel NETWORKING WLAN 45.6.1.3.1.3 Nortel NETWORKING WLAN2380 45.6.1.3.1.6 Nortel NETWORKING WLAN2382 45.10.27.4.1.2.1 Nortel NETWORKING SuperStack 1100 45.10.27.4.1.2.2 Nortel NETWORKING SuperStack 3300 45.10.27.4.1.2.4 Nortel NETWORKING SuperStack 4400 45.10.27.4.1.2.5 Nortel NETWORKING SuperStack 4900 45.10.27.4.1.2.10 Nortel NETWORKING Switch 40x0 45.10.27.4.1.2.11 Nortel NETWORKING SuperStack 4200 49 3Com NETWORKING 49.2.3.24 3Com NETWORKING CoreBuilder5000 50 Cisco NETWORKING 50.7 Cisco NETWORKING ODSFDDI 52 Cabletron NETWORKING MRXi-MINIMMAC 52.3.1.2 Enterasys NETWORKING MMAC-8 52.3.1.3 Enterasys NETWORKING MMAC-5 52.3.1.4 Enterasys NETWORKING MMAC-3 52.3.1.5 Enterasys NETWORKING MiniMMAC 52.3.1.6 Enterasys NETWORKING MRXI 52.3.1.7 Enterasys NETWORKING MMAC-M3FNB 52.3.1.8 Enterasys NETWORKING MMAC-M5FNB 52.3.1.9 Enterasys NETWORKING MMAC-M8FNB 52.3.1.11 Enterasys NETWORKING MMAC-3FNB 52.3.1.12 Enterasys NETWORKING MMAC-5FNB 52.3.1.13 Enterasys NETWORKING MMAC-8FNB 52.3.1.14 Enterasys NETWORKING MMAC-M8FNB 52.3.1.15 Enterasys NETWORKING TRXI 52.3.1.17 Enterasys NETWORKING MMACP14 52.3.1.18 Enterasys NETWORKING MMACP6 52.3.2.16 Enterasys NETWORKING THNMIM 52.3.2.32 Enterasys NETWORKING FDMMIM-24e 52.3.2.33 Enterasys NETWORKING FDMMIM-14 52.3.2.34 Cabletron NETWORKING FDDI-Enet 52.3.2.35 Enterasys NETWORKING FDMMIM 52.3.2.39 Enterasys NETWORKING FDMMIM-30 52.3.2.40 Enterasys NETWORKING FDCMIM-28 52.3.2.41 Enterasys NETWORKING FDCMIM-18 52.3.2.42 Enterasys NETWORKING FDCMIM-08 52.3.2.43 Enterasys NETWORKING FDCMIM-04 52.3.2.44 Enterasys NETWORKING FDCMIM-24 52.3.2.45 Enterasys NETWORKING FDCMIM-14 52.3.2.46 Enterasys NETWORKING FDCMIM-38 52.3.2.47 Enterasys NETWORKING FDCMIM-34 52.3.2.48 Enterasys NETWORKING TRMIM-12 52.3.2.49 Enterasys NETWORKING TRMIM-10R 52.3.2.50 Enterasys NETWORKING TRMIM-22 52.3.2.51 Enterasys NETWORKING TRMIM-20R 52.3.2.52 Enterasys NETWORKING TRMIM-62A 52.3.2.54 Enterasys NETWORKING TRMIM-24A 52.3.2.55 Enterasys NETWORKING TRMIM-22A 52.3.2.56 Enterasys NETWORKING TRFMIM-28 52.3.2.57 Enterasys NETWORKING TRFMIM-22 52.3.2.58 Enterasys NETWORKING TRRMIM-A 52.3.2.59 Enterasys NETWORKING TRFMIM-26 52.3.2.60 Enterasys NETWORKING TRMIM-34A 52.3.2.61 Enterasys NETWORKING TRMIM-32A 52.3.2.62 Enterasys NETWORKING TRMIM-44A 52.3.2.63 Enterasys NETWORKING TRMIM-42A 52.3.2.65 Enterasys NETWORKING TPMIM-T1 52.3.2.66 Enterasys NETWORKING TPMIM-T 52.3.2.67 Enterasys NETWORKING TPMIM-T3 52.3.2.80 Enterasys NETWORKING THNMIM-2 52.3.2.96 Enterasys NETWORKING TPMIM-24 52.3.2.97 Enterasys NETWORKING TPMIM-22 52.3.2.98 Enterasys NETWORKING TPMIM-34 52.3.2.99 Enterasys NETWORKING TPMIM-32 52.3.2.179 Enterasys NETWORKING TRMM-1 52.3.2.180 Cabletron NETWORKING TRMM-2 52.3.2.183 Cabletron NETWORKING TRMM-4 52.3.2.185 Cabletron NETWORKING EMME 52.3.2.186 Cabletron NETWORKING ESXMIM 52.3.2.187 Cabletron NETWORKING TRMM 52.3.2.190 Enterasys NETWORKING TRMMIM 52.3.2.191 Cabletron NETWORKING ESXMIM 52.3.2.65568 Enterasys NETWORKING MRXI-E93 52.3.2.65569 Cabletron NETWORKING MRXi 52.3.2.65570 Enterasys NETWORKING MRXI-22 52.3.2.65571 Enterasys NETWORKING MRXI-34 52.3.2.65572 Enterasys NETWORKING MRXI-38 52.3.2.65584 Enterasys NETWORKING MRXI-2E93 52.3.2.196674 Enterasys NETWORKING MRXI 52.3.2.196675 Enterasys NETWORKING MRXI-2 52.3.9.1.10.1 Enterasys NETWORKING ELS100-24TX 52.3.9.1.10.1.2 Enterasys NETWORKING ELS-100-24TXM 52.3.9.1.10.2 Enterasys NETWORKING ELS100-24TXM 52.3.9.1.10.3 Enterasys NETWORKING ELS100-24TXG 52.3.9.1.10.5 Cabletron NETWORKING ELH100 52.3.9.1.10.7 Cabletron NETWORKING ELS100 52.3.9.3.4.1 Cabletron NETWORKING MicroMMAC 52.3.9.3.4.2 Enterasys NETWORKING MicroMMAC-32E 52.3.9.3.4.3 Cabletron NETWORKING MicroMMAC 52.3.9.3.4.4 Enterasys NETWORKING MicroMMAC-34E 52.3.9.3.4.5 Enterasys NETWORKING SEH-22 52.3.9.3.4.6 Enterasys NETWORKING SEH-32 52.3.9.3.4.7 Enterasys NETWORKING SEH-24 52.3.9.3.4.8 Enterasys NETWORKING SEH-34 52.3.9.3.4.9 Enterasys NETWORKING NBR-620 52.3.9.3.4.10 Cabletron NETWORKING SEHI 52.3.9.3.4.11 Cabletron NETWORKING SEHI 52.3.9.3.4.12 Enterasys NETWORKING SEHI-26FB 52.3.9.3.4.13 Enterasys NETWORKING SEHI-22FB 52.3.9.3.4.14 Enterasys NETWORKING SEHI-32 52.3.9.3.4.15 Enterasys NETWORKING SEHI-34 52.3.9.3.4.16 Enterasys NETWORKING SEH-26C 52.3.9.3.4.17 Enterasys NETWORKING SEH-22C 52.3.9.3.4.18 Enterasys NETWORKING SEH-26FL 52.3.9.3.4.19 Enterasys NETWORKING SEH-22FL 52.3.9.3.4.20 Enterasys NETWORKING MicroMMAC-26FL 52.3.9.3.4.21 Enterasys NETWORKING MicroMMAC-22FL 52.3.9.3.4.22 Enterasys NETWORKING NBR-220 52.3.9.3.4.23 Enterasys NETWORKING NBR-420 52.3.9.3.4.24 Enterasys NETWORKING SEH-22S 52.3.9.3.4.25 Enterasys NETWORKING SEH-32S 52.3.9.3.4.26 Enterasys NETWORKING SEH-24S 52.3.9.3.4.27 Enterasys NETWORKING SEH-34S 52.3.9.3.4.28 Enterasys NETWORKING SEH-26FBS 52.3.9.3.4.29 Enterasys NETWORKING SEH-22FBS 52.3.9.3.4.30 Enterasys NETWORKING SEH-26CS 52.3.9.3.4.31 Enterasys NETWORKING SEH-22CS 52.3.9.3.4.32 Enterasys NETWORKING SEH-26FLS 52.3.9.3.4.33 Enterasys NETWORKING SEH-22FLS 52.3.9.3.4.34 Cabletron NETWORKING SEHI 52.3.9.3.4.35 Cabletron NETWORKING SEHI 52.3.9.3.4.36 Enterasys NETWORKING SEHI-32S 52.3.9.3.4.37 Enterasys NETWORKING SEHI-34S 52.3.9.3.4.38 Enterasys NETWORKING MicroMMAC-22ES 52.3.9.3.4.39 Enterasys NETWORKING MicroMMAC-32ES 52.3.9.3.4.40 Enterasys NETWORKING MicroMMAC-24ES 52.3.9.3.4.41 Enterasys NETWORKING MicroMMAC-34ES 52.3.9.3.4.42 Cabletron NETWORKING NA 52.3.9.3.4.43 Enterasys NETWORKING MicroMMAC-22EUCS 52.3.9.3.4.44 Enterasys NETWORKING MicroMMAC-22UCSsSnac 52.3.9.3.4.45 Enterasys NETWORKING MicroMMAC-22EUCSSnac 52.3.9.3.4.46 Enterasys NETWORKING MicroMMAC-22EBrics 52.3.9.3.4.47 Enterasys NETWORKING MicroMMAC-22ESBrics 52.3.9.3.4.48 Cabletron NETWORKING ESX-1320 52.3.9.3.4.49 Enterasys NETWORKING ESX-1380 52.3.9.3.4.50 Enterasys NETWORKING SEHI-22FLS 52.3.9.3.4.51 Enterasys NETWORKING SEHI-26FLS 52.3.9.3.4.52 Enterasys NETWORKING SEHI-22FL 52.3.9.3.4.53 Enterasys NETWORKING SEHI-26FL 52.3.9.3.4.54 Enterasys NETWORKING SEH100TX-22 52.3.9.3.4.55 Enterasys NETWORKING SEHI100TX-22 52.3.9.3.4.57 Enterasys NETWORKING 2E42P-27 52.3.9.3.4.58 Cabletron NETWORKING 2E42-27R 52.3.9.3.4.65 Cabletron NETWORKING 2E42-27RDC 52.3.9.3.4.68 Cabletron NETWORKING 2E48-27R 52.3.9.3.4.80 Cabletron NETWORKING mt2H252p25R 52.3.9.3.4.82 Cabletron NETWORKING 2E253-49R 52.3.9.3.4.84 Enterasys NETWORKING 2H252-25R 52.3.9.3.5.1 Cabletron NETWORKING EMM-E6 52.3.9.5.9.68 Cabletron NETWORKING NA 52.3.9.5.9.136 Cabletron NETWORKING NA 52.3.9.5.9.244 Enterasys NETWORKING STHI-42A 52.3.9.5.9.248 Enterasys NETWORKING STHI-22A 52.3.9.5.10.68 Cabletron NETWORKING MMAC-44T 52.3.9.5.10.136 Enterasys NETWORKING MicroMMAC-24T/44T 52.3.9.9.2.3 Enterasys NETWORKING CSX400 52.3.9.9.2.7 Enterasys NETWORKING CSX7000 52.3.9.9.4.1 Enterasys NETWORKING WanHsimW6 52.3.9.13.8 Cabletron NETWORKING 9H532-24 52.3.9.20.1.1 Cabletron NETWORKING Smart Chassis 6000 52.3.9.20.1.3 Cabletron NETWORKING SSR 8000 52.3.9.20.1.4 Cabletron NETWORKING SSR 52.3.9.20.2.2 Cabletron NETWORKING 6E122-26 52.3.9.20.2.3 Cabletron NETWORKING 6E132-25 52.3.9.20.2.4 Cabletron NETWORKING 6H122-08 52.3.9.20.2.5 Enterasys NETWORKING 6E123-50 52.3.9.20.2.7 Cabletron NETWORKING 6E123-26 52.3.9.20.2.8 Cabletron NETWORKING 6E133-25 52.3.9.20.2.10 Enterasys NETWORKING Matrix 6H123-50 module 52.3.9.20.2.12 Cabletron NETWORKING 6E128-26 52.3.9.20.2.13 Cabletron NETWORKING 6E138-25 52.3.9.20.2.16 Cabletron NETWORKING 6H128_08 52.3.9.20.2.18 Cabletron NETWORKING 6H122-16 52.3.9.20.2.19 Cabletron NETWORKING 6H133_37 52.3.9.20.2.20 Cabletron NETWORKING 6H202-24 52.3.9.20.2.21 Cabletron NETWORKING 6H252-17 52.3.9.20.2.23 Cabletron NETWORKING 6E233-49 52.3.9.20.2.24 Enterasys NETWORKING 6H258-17 52.3.9.20.2.25 Enterasys NETWORKING 6H203-24 52.3.9.20.2.26 Enterasys NETWORKING mt6H253p13 52.3.9.20.2.28 Cabletron NETWORKING 6H262-18 52.3.9.20.2.33 Enterasys NETWORKING Matrix 6H302-48 52.3.9.32.5.1 Cabletron NETWORKING ELM 52.3.9.32.5.3 Cabletron NETWORKING ELM 52.3.9.32.5.4 Enterasys NETWORKING 9F116-01 52.3.9.32.5.8 Cabletron NETWORKING 9E132-15 52.3.9.32.5.10 Cabletron NETWORKING 9E128-01 52.3.9.32.5.11 Cabletron NETWORKING 9E106-6 52.3.9.32.5.12 Cabletron NETWORKING 9E138-12 52.3.9.32.6.2 Cabletron NETWORKING 9F120-08 52.3.9.32.6.4 Cabletron NETWORKING 9F241-12 52.3.9.32.9.7 Cabletron NETWORKING 9F426-02 52.3.9.32.9.8 Cabletron NETWORKING NA 52.3.9.32.9.9 Cabletron NETWORKING 9H422-12 52.3.9.32.9.11 Cabletron NETWORKING 9E428-36 52.3.9.32.9.14 Cabletron NETWORKING 9F426-03 52.3.9.32.9.15 Cabletron NETWORKING 9H421p12 52.3.9.32.9.16 Cabletron NETWORKING 9E423-36 52.3.9.32.9.23 Cabletron NETWORKING 9H423-26 52.3.9.32.13.1 Cabletron NETWORKING 9H532-18 52.3.9.32.13.7 Cabletron NETWORKING 9G536-04 52.3.9.32.13.8 Cabletron NETWORKING 9H532-24 52.3.9.33.1.1 Cabletron NETWORKING SSR-2000 52.3.9.33.1.2 Enterasys NETWORKING SSR2000 52.3.9.33.1.3 Enterasys NETWORKING X-Pedition 2001 52.3.9.33.1.7 Enterasys NETWORKING SSR600 52.3.9.33.4.1 Enterasys NETWORKING 6SSRM-02 52.4.15.1.3.1.2 Enterasys NETWORKING RBT8200 52.4.15.1.3.1.3 Enterasys NETWORKING RBT8400 63 Apple 75 Ungermann-Bass NETWORKING 75.1.1 Ungermann-Bass NETWORKING Access1 81 Avaya NETWORKING 81.1.17 Avaya NETWORKING P333T 81.17.1.4 Avaya NETWORKING M440-01 81.17.1.7 Avaya NETWORKING M410 81.17.1.9 Avaya NETWORKING STACK 81.17.1.10 Avaya NETWORKING M420 81.17.1.11 Avaya NETWORKING M440-01 81.17.1.12 Avaya NETWORKING VisageStackableSwitch 81.17.1.15 Avaya NETWORKING M770 81.17.1.16 Avaya NETWORKING M770ATM 81.17.1.17 Avaya NETWORKING P330 81.17.1.18 Avaya NETWORKING P130 81.17.1.19 Avaya NETWORKING C360 81.17.2.3 Avaya NETWORKING P333R 81.17.2.8 Avaya NETWORKING Visage 81.17.2.9 Avaya NETWORKING Visage26Plus 81.17.2.11 Avaya NETWORKING P120 81.17.2.13 Avaya NETWORKING P330R 81.17.2.16 Avaya NETWORKING P330-LB 81.17.2.17 Avaya NETWORKING C363 89 Radware NETWORKING 89.1.1.62.2 Radware NETWORKING Web Server Director 89.1.1.62.6 Radware NETWORKING FireProof 89.1.1.62.8 Radware NETWORKING LinkProof 89.1.1.62.18 Radware NETWORKING CID 89.1.1.62.20 Radware NETWORKING AppDirector 1000 AS2 89.1.1.62.21 Radware NETWORKING AppDirector Global 89.1.1.62.22 Radware NETWORKING AppDirector 100 94 Nokia NETWORKING 94.1.21.2.1.1 Nokia NETWORKING IP300 94.1.21.2.1.2 Nokia NETWORKING IP4xx 94.1.21.2.1.3 Nokia NETWORKING IP400 94.1.21.2.1.4 Nokia NETWORKING IP410 94.1.21.2.1.5 Nokia NETWORKING IP440 94.1.21.2.1.6 Nokia NETWORKING IP6xx 94.1.21.2.1.7 Nokia NETWORKING IP600 94.1.21.2.1.8 Nokia NETWORKING IP300/IP385/IP650 94.1.21.2.1.9 Nokia NETWORKING IP3xx 94.1.21.2.1.10 Nokia NETWORKING IP110 94.1.21.2.1.11 Nokia NETWORKING IP530 94.1.21.2.1.12 Nokia NETWORKING IP740 94.1.21.2.1.13 Nokia NETWORKING IP3400 94.1.21.2.1.15 Nokia NETWORKING IP710 94.1.21.2.1.129 Nokia NETWORKING VPN1RL50 94.1.21.2.1.130 Nokia NETWORKING VPN1RL250 94.1.21.2.1.131 Nokia NETWORKING VPN1RL500 94.1.21.2.1.132 Nokia NETWORKING VPN1RLU 94.1.21.2.1.133 Nokia NETWORKING VPN210 94.1.21.2.1.134 Nokia NETWORKING VPN220 94.1.21.2.1.135 Nokia NETWORKING VPN230 94.1.21.2.1.136 Nokia NETWORKING VPN240 94.1.21.2.1.137 Nokia NETWORKING IP380 94.1.21.2.1.138 Nokia NETWORKING IP350 94.1.21.2.1.139 Nokia NETWORKING IP1220 94.1.21.2.1.140 Nokia NETWORKING IP1260 94.1.21.2.1.141 Nokia NETWORKING IP260 94.1.21.2.1.142 Nokia NETWORKING IP265 94.1.21.2.1.143 Nokia NETWORKING IP2255 94.1.21.2.1.144 Nokia NETWORKING IP390 94.1.21.2.1.145 Nokia NETWORKING IP560 94.1.21.2.1.146 Nokia NETWORKING IP290 94.1.21.2.1.147 Nokia NETWORKING IP690 94.1.21.2.1.148 Nokia NETWORKING IP2450 94.1.21.2.1.149 Nokia NETWORKING IP1280 94.1.21.2.1.150 Nokia NETWORKING SC6600 94.1.21.2.1.151 Nokia NETWORKING IP150 94.49 Nokia NETWORKING M1122 97 Cabletron NETWORKING 97.2.1 Cabletron NETWORKING SXHW 97.5.7 Cabletron NETWORKING ELS10-26TX 97.5.8 Cabletron NETWORKING ELS100-16TX 97.5.9 Cabletron NETWORKING ELS10-27TX 114 3Com NETWORKING 114.1.2.1.1.1.1.9 3Com NETWORKING CoreBuilder3500 114.1.3.2 3Com NETWORKING Corebuilder 6000 114.1.3.2.1 3Com NETWORKING Corebuilder 6012 114.1.3.2.1.1 3Com NETWORKING CoreBuilder6012 114.1.3.2.1.1.8 3Com NETWORKING CoreBuilder6012 114.1.3.2.1.2 3Com NETWORKING CoreBuilder6012Chassis 114.1.3.2.1.3 3Com NETWORKING CoreBuilder6012ESM 114.1.3.2.1.4 3Com NETWORKING CoreBuilder6012EFSM 114.1.3.2.1.5 3Com NETWORKING CoreBuilder6012TRSM 114.1.3.2.1.6 3Com NETWORKING CoreBuilder6012TMM 114.1.3.2.1.7 3Com NETWORKING CoreBuilder6012FSM 114.1.3.2.1.8 3Com NETWORKING CoreBuilder6012FESM 114.1.3.2.2 3Com NETWORKING Corebuilder 6004 114.1.3.2.2.1 3Com NETWORKING CoreBuilder6004 114.1.3.2.2.2 3Com NETWORKING CoreBuilder6004Chassis 114.1.3.2.2.3 3Com NETWORKING CoreBuilder6004ESM 114.1.3.2.2.4 3Com NETWORKING CoreBuilder6004EFSM 114.1.3.2.2.5 3Com NETWORKING CoreBuilder6004TRSM 114.1.3.2.2.6 3Com NETWORKING CoreBuilder6004TMM 114.1.3.2.2.7 3Com NETWORKING CoreBuilder6004FSM 114.1.3.2.2.8 3Com NETWORKING CoreBuilder6004FESM 114.1.3.2.3.1 3Com NETWORKING CoreBuilder6012Ba 114.1.3.2.3.2 3Com NETWORKING CoreBuilder6012BaChassis 114.1.3.2.3.3 3Com NETWORKING CoreBuilder6012BaESM 114.1.3.2.3.4 3Com NETWORKING CoreBuilder6012BaEFSM 114.1.3.2.3.5 3Com NETWORKING CoreBuilder6012BaTRSM 114.1.3.2.3.6 3Com NETWORKING CoreBuilder6012BaTMM 114.1.3.2.3.7 3Com NETWORKING CoreBuilder6012BaFSM 114.1.3.2.3.8 3Com NETWORKING CoreBuilder6012BaFESM 114.1.3.3 3Com NETWORKING LANplex 2000 114.1.3.3.1 3Com NETWORKING CoreBuilder2500 114.1.3.3.1.7 3Com NETWORKING CoreBuilder2500 114.1.3.3.2 3Com NETWORKING CoreBuilderls2200 114.1.3.3.3 3Com NETWORKING CoreBuilderlp2016 114.1.3.3.4 3Com NETWORKING CoreBuilderss2200 114.1.3.3.4.7 3Com NETWORKING LinkSwitch 2200 114.1.4.8.2.1.7 3Com NETWORKING CoreBuilder2500 114.2.1.1.1.1.9 3Com NETWORKING CoreBuilder3500 116 Hitachi NETWORKING 116.4.1.11.2 Hitachi NETWORKING GR2000 116.4.1.11.3 Hitachi NETWORKING GR4000 116.4.25.1.3 Hitachi NETWORKING GS4000 116.4.25.1.4 Hitachi NETWORKING GS3000 119 NEC NETWORKING 119.1.3.13.1 NEC NETWORKING 5010 119.1.3.13.4 NEC NETWORKING 5003 119.1.14.8 NEC NETWORKING 80002.5G 119.1.14.9 NEC NETWORKING ATOMIS7E 119.1.14.12 NEC NETWORKING 800010G 119.1.64.112.1.201 NEC NETWORKING CX-uH3024 119.1.64.112.2.4 NEC NETWORKING CX-FH5248-PE 119.1.64.112.2.105 NEC NETWORKING CX-FH5610E 119.1.76.5.2 NEC NETWORKING 210/24 119.1.84.1.5 NEC NETWORKING IX1035 119.1.84.2.1 NEC NETWORKING IX2010 119.1.84.7.1 NEC NETWORKING IX3010 119.1.86.1 NEC NETWORKING 710 119.1.86.2 NEC NETWORKING 720 119.1.86.3 NEC NETWORKING 730 119.1.86.4 NEC NETWORKING 750 119.1.86.5 NEC NETWORKING 740 119.1.126.2.84 NEC NETWORKING PF5453-24GT-2X/QX-S5327P 119.1.126.2.85 NEC NETWORKING PF5453-48GT-2X/QX-S5351P 119.1.126.2.91 NEC NETWORKING PF5457-24GT-4G2X/QX-S5732P 119.1.126.2.92 NEC NETWORKING PF5457-48GT-4G2X/QX-S5756P 119.1.126.2.95 NEC NETWORKING PF5459-48XP-4Q/QX-S5948XP-4Q 119.1.126.2.96 NEC NETWORKING PF5459-48GT-4X2Q/QX-S5948GT-4X2Q 119.1.126.2.97 NEC NETWORKING PF5459-48XT-4Q/QX-S5948XT-4Q 119.1.126.2.100 NEC NETWORKING PF5468-32QP/QX-S6832QP 119.1.126.2.104 NEC NETWORKING QX-S5224GT-4X 119.1.126.2.105 NEC NETWORKING QX-S5248GT-4X 119.1.126.2.106 NEC NETWORKING QX-S5224GP-4X 119.1.126.2.107 NEC NETWORKING QX-S5524GT-4X2Q 119.1.126.2.108 NEC NETWORKING QX-S5548GT-4X2Q 119.1.126.2.109 NEC NETWORKING QX-S5524GT-4X1C 119.1.126.2.110 NEC NETWORKING QX-S5548GT-4X1C 119.1.126.2.111 NEC NETWORKING QX-S5224GT-4X-PW 119.1.126.2.112 NEC NETWORKING QX-S5248GT-4X-PW 135 3Com NETWORKING 135.28 3Com NETWORKING AccessBuilder6218-JX 144 Case NETWORKING 144.9.23 Case NETWORKING 144.9.24 Case NETWORKING 151 DeveIcon NETWORKING 151.1.25 DeveIcon NETWORKING 530 151.1.28 DeveIcon NETWORKING 5200 164 RadData NETWORKING 164.6.1.3.82 radDataIP-mux1 NETWORKING 164.6.1.3.83 radDataIP-mux16 NETWORKING 168 China NETWORKING 168.2.1.1 China NETWORKING QuickEther8 168.2.1.2 China NETWORKING QuickEther16 168.2.2.1 China NETWORKING QuickFDDI 168.2.2.2 China NETWORKING QuickFDDI8 171 D-Link NETWORKING 171.10.6.1 D-Link NETWORKING DES-2212 171.10.7.1 D-Link NETWORKING DES-2218 171.10.8.1 D-Link NETWORKING DFE-2624IX 171.10.9 D-Link NETWORKING Hub 171.10.9.1 D-Link NETWORKING DES-5016 171.10.9.2 D-Link NETWORKING DES-5016SwHub 171.10.9.3 D-Link NETWORKING DES-3216 171.10.9.4 D-Link NETWORKING DES-3224 171.10.9.5 D-Link NETWORKING DES-5200 171.10.10.1 D-Link NETWORKING DP-303 171.10.20.3.1 D-Link NETWORKING DSR500 171.10.20.3.2 D-Link NETWORKING DSR500N 171.10.20.3.3 D-Link NETWORKING DSR1000 171.10.20.3.4 D-Link NETWORKING DSR1000N 171.10.24.1.1 D-Link NETWORKING DES-3225G 171.10.25.1.1 D-Link NETWORKING DES-3624 171.10.28.1.1 D-Link NETWORKING DES-6000 171.10.30.1 D-Link NETWORKING DSL500 171.10.32.1.1 D-Link NETWORKING DES-3326 171.10.35.1 D-Link NETWORKING DES-3308 171.10.36.1.11 D-Link NETWORKING DES-3226 171.10.37 D-Link NETWORKING DWL-AP 171.10.37.15 D-Link NETWORKING DWL-2100AP 171.10.37.27 D-Link NETWORKING DWL-3500AP 171.10.37.28 D-Link NETWORKING DWL-8500AP 171.10.37.29 D-Link NETWORKING DWL-8600AP 171.10.43.1 D-Link NETWORKING DGS 3224TG 171.10.43.2 D-Link NETWORKING DGS-3224TGR 171.10.48.1 D-Link NETWORKING DES-3226S 171.10.52.1.1 D-Link NETWORKING DES-3250TG 171.10.59.4 D-Link NETWORKING DGS-3324Sri 171.10.59.5 D-Link NETWORKING DGS-3324Sri 171.10.60.1 D-Link NETWORKING DES-1526 171.10.60.3 D-Link NETWORKING DES-2108v1 171.10.61 D-Link NETWORKING DES-2108 series 171.10.61.1 D-Link NETWORKING DES-2110 171.10.61.2 D-Link NETWORKING DES-2108 171.10.61.3 D-Link NETWORKING DES-2108-B1 171.10.63.1.1 D-Link NETWORKING DES-3010F 171.10.63.1.2 D-Link NETWORKING DES-3010G 171.10.63.2 D-Link NETWORKING DES-3018 171.10.63.3 D-Link NETWORKING DES-3026 171.10.63.4 D-Link NETWORKING DES-3010FL 171.10.63.6 D-Link NETWORKING DES-3028 171.10.63.7 D-Link NETWORKING DES-3028P 171.10.63.8 D-Link NETWORKING DES-3052 171.10.63.9 D-Link NETWORKING DES-3052P 171.10.63.10 D-Link NETWORKING DES-3016 171.10.63.11 D-Link NETWORKING DES-3028G 171.10.64.1 D-Link NETWORKING DES-3526 171.10.64.2 D-Link NETWORKING DES-3550 171.10.69.1 D-Link NETWORKING DES-3828 171.10.69.2 D-Link NETWORKING DES-3828DC 171.10.69.3 D-Link NETWORKING DES-3828P 171.10.69.4 D-Link NETWORKING DES-3852 171.10.69.5 D-Link NETWORKING DES-3852P 171.10.70.5 D-Link NETWORKING DGS-3650 171.10.70.6 D-Link NETWORKING DGS-3627 171.10.70.8 D-Link NETWORKING DGS-3627G 171.10.70.9 D-Link NETWORKING DGS-3612G 171.10.70.10 D-Link NETWORKING DGS-3612 171.10.73 D-Link NETWORKING DWS series 171.10.73.2 D-Link NETWORKING DWS-3024 171.10.73.3 D-Link NETWORKING DWS-3024L 171.10.73.4 D-Link NETWORKING DWS-3026 171.10.73.5 D-Link NETWORKING DWS-4000 171.10.73.5.1 D-Link NETWORKING DWS-4024 171.10.73.5.2 D-Link NETWORKING DWS-4026 171.10.75 D-Link NETWORKING DES-1210-xx 171.10.75.1 D-Link NETWORKING DES-1226G 171.10.75.2 D-Link NETWORKING DES-1228 171.10.75.3 D-Link NETWORKING DES-1228P 171.10.75.4 D-Link NETWORKING DES-1252 171.10.75.5 D-Link NETWORKING DES-1210-28 171.10.75.6 D-Link NETWORKING DES-1210-28P 171.10.75.7 D-Link NETWORKING DES-1210-52 171.10.75.13 D-Link NETWORKING DES-1210-08P 171.10.75.15 D-Link NETWORKING DES-1210-28/ME 171.10.76.4 D-Link NETWORKING DGS-1216T 171.10.76.5 D-Link NETWORKING DGS-1224T 171.10.94.1 D-Link NETWORKING DGS-3124 171.10.94.2 D-Link NETWORKING DGS-3124P 171.10.94.3 D-Link NETWORKING DGS-3148 171.10.94.4 D-Link NETWORKING DGS-3148P 171.10.94.5 D-Link NETWORKING DGS-3124TG 171.10.102.1 D-Link NETWORKING DGS-3700 171.10.102.2 D-Link NETWORKING DGS-3700P 171.10.105.1 D-Link NETWORKING DES-3528 171.10.105.2 D-Link NETWORKING DES-3528P 171.10.105.3 D-Link NETWORKING DES-3552 171.10.105.4 D-Link NETWORKING DES-3552P 171.10.105.5 D-Link NETWORKING DES-3528DC 171.10.113 D-Link NETWORKING DES-3200 series 171.10.113.1.1 D-Link NETWORKING DES-3200-10 171.10.113.1.2 D-Link NETWORKING DES-3200-18 171.10.113.2.1 D-Link NETWORKING DES-3200-10 171.10.113.3.1 D-Link NETWORKING DES-3200-18 171.10.114.1.1 D-Link NETWORKING DES-3810-28 171.10.117.1.2 D-Link NETWORKING DGS-3120-24PC 171.10.117.1.4 D-Link NETWORKING DGS-3120-48TC 171.10.118.1 D-Link NETWORKING DGS-3620-28TC 171.10.118.2 D-Link NETWORKING DGS-3620-28SC 171.10.118.3 D-Link NETWORKING DGS-3620-28PC 171.10.118.4 D-Link NETWORKING DGS-3620-52T 171.10.118.5 D-Link NETWORKING DGS-3620-52P 171.10.118.8 D-Link NETWORKING DGS-3620-28TC-DC 171.10.118.9 D-Link NETWORKING DGS-3620-28SC-DC 171.10.119.4 D-Link NETWORKING DGS-3420-52T 171.10.127.1 D-Link NETWORKING DXS-3600-32S 171.10.134.7 D-Link NETWORKING DGS-1100-24 171.11.124.1 D-Link NETWORKING DWS-3160-24TC 171.30.4.1.2.2 D-Link NETWORKING DVG-5008S 175 Sumitomo NETWORKING 175.1.1.1.1.1 Sumitomo NETWORKING SUMINET-3500 175.1.1.1.1.7 Sumitomo NETWORKING SUMINET-3500ME 175.1.1.1.1.9 Sumitomo NETWORKING SUMINET-3500MT 175.1.1.1.1.15 Sumitomo NETWORKING SUMINET-3500MX 175.1.1.12.1 Sumitomo NETWORKING 800 175.1.1.13 Sumitomo NETWORKING 1200 177 Net NETWORKING 177.11.5.1 Net NETWORKING VX400 177.11.5.2 Net NETWORKING VX900T 177.11.5.3 Net NETWORKING VX900 177.11.5.4 Net NETWORKING VX2500 177.11.5.5 Net NETWORKING VX1200 177.11.5.6 Net NETWORKING VX1800 177.15.1.1.1 Net NETWORKING UX2000 186 Toshiba PRINTER 197 Cisco NETWORKING 197.2.2 Cisco NETWORKING kalpanaEPS2015RS 197.2.5 Cisco NETWORKING Cat3000 202 SMC NETWORKING 202.20.11 SMC NETWORKING MC-6724L2 202.20.14 SMC Networks NETWORKING SMC 6624M TigerSwitch 202.20.16 SMC Networks NETWORKING TigerSwitch 6724L2 202.20.24 SMC NETWORKING 6750L2 202.20.27 SMC NETWORKING 6724L2 202.20.31 SMC NETWORKING 6724AL2 202.20.32 SMC NETWORKING TigerSwitch SMC8624T 202.20.37 SMC NETWORKING 8648T 202.20.46 SMC Networks NETWORKING TigerSwitch 6726AL2 202.20.66 SMC NETWORKING TigerSwitch SMC6152L2 203 Cisco NETWORKING 203.1.1 Cisco NETWORKING Cat1100 207 Allied Telesyn NETWORKING 207.1.1.17 Allied Telesyn NETWORKING AR330 207.1.1.19 Allied Telesyn NETWORKING AR350 207.1.2.1 Allied Telesyn NETWORKING AT-3624TR 207.1.4 Allied Telesyn NETWORKING AT 9000-24 207.1.4.37 Allied Telesyn NETWORKING AT-8324 207.1.4.39 Allied Telesyn NETWORKING AT-8224XL 207.1.4.42 Allied Telesyn NETWORKING AT 8324SX 207.1.4.52 Allied Telesyn NETWORKING AT-8124XL-V2 207.1.4.66 Allied Telesyn NETWORKING AT 8024 207.1.4.67 Allied Telesyn NETWORKING AT 8024GB 207.1.4.72 Allied Telesyn NETWORKING AT-8326GB 207.1.4.73 Allied Telesyn NETWORKING AT-9410GB 207.1.4.74 Allied Telesyn NETWORKING 8350GB 207.1.4.77 Allied Telesyn NETWORKING AT-8316F 207.1.4.78 Allied Telesyn NETWORKING AT 8O24M 207.1.4.79 Allied Telesyn NETWORKING AT8016FSC 207.1.4.80 Allied Telesyn NETWORKING AT 8O26FC 207.1.4.86 Allied Telesyn NETWORKING AT-8012M 207.1.4.89 Allied Telesyn NETWORKING AT 8O26T 207.1.4.98 Allied Telesyn NETWORKING AT 8524M 207.1.4.99 Allied Telesyn NETWORKING AT 8550GB 207.1.4.105 Allied Telesyn NETWORKING AT 9424T/SP 207.1.4.112 Allied Telesyn NETWORKING AT 9424T/GB 207.1.4.113 Allied Telesyn NETWORKING AT 8524POE 207.1.4.126 Allied Telesyn NETWORKING AT-8000S 207.1.4.127 Allied Telesyn NETWORKING AT-8000S-24POE 207.1.4.128 Allied Telesyn NETWORKING AT-8000S 207.1.4.129 Allied Telesyn NETWORKING AT-8000S-48POE 207.1.4.131 Allied Telesyn NETWORKING AT-9448T/SP 207.1.4.143 Allied Telesyn NETWORKING AT 8000GS 207.1.4.145 Allied Telesyn NETWORKING AT-8000-GS/48-50 207.1.4.163 Allied Telesyn NETWORKING AT FS750/48 207.1.4.165 Allied Telesyn NETWORKING AT-GS950/8 207.1.4.177 Allied Telesyn NETWORKING AT-8100 207.1.4.199 Allied Telesyn NETWORKING AT-GS950/10PS 207.1.14.20 Allied Telesyn NETWORKING AT-RP24i 207.1.14.30 Allied Telesyn NETWORKING AT-8724XL 207.1.14.47 Allied Telesyn NETWORKING Rapier 24i DC/NE 207.1.14.48 Allied Telesyn NETWORKING AT-8724XL-DC NEBS 207.1.14.50 Allied Telesyn NETWORKING AT-9924SP 207.1.14.57 Allied Telesyn NETWORKING AT-9924Ts 207.1.14.65 Allied Telesyn NETWORKING AT-RP48 207.1.14.70 Allied Telesyn NETWORKING AT-x900-12XT/S 207.1.14.76 Allied Telesyn NETWORKING AT-x900-24XS 208 Cray NETWORKING 208.1.88.25 Cray NETWORKING ER9100 208.1.88.26 Cray NETWORKING ER9200 211 Fujitsu NETWORKING 211.1.127.4 Fujitsu NETWORKING Repeater HUB Series 211.1.127.11.0 Fujitsu NETWORKING Switching HUB Series 211.1.127.11.1 Fujitsu NETWORKING Switching HUB Series 211.1.127.14 Fujitsu NETWORKING Remote LinkRelay Series 211.1.127.15 Fujitsu NETWORKING LinkRelay Series 211.1.127.28 Fujitsu NETWORKING SB6400 211.1.127.31 Fujitsu NETWORKING SR5400 211.1.127.35 Fujitsu NETWORKING LR-X2030 211.1.127.110.1.1.5 Fujitsu NETWORKING SH2500 211.1.127.110.11.2.1 Fujitsu NETWORKING SH2300 211.1.127.111.1 Fujitsu NETWORKING SH3300 211.1.127.111.9 Fujitsu NETWORKING SH3000 Stack 211.1.127.114.1.3.35.1 Fujitsu NETWORKING SHS3540 211.1.127.114.1.3.35.2 Fujitsu NETWORKING SH3440 211.1.127.115.1.1 Fujitsu NETWORKING SH1631 211.1.127.118.10.1 Fujitsu NETWORKING SH1816 211.1.127.118.16 Fujitsu NETWORKING GeoStream SH1816B 211.1.127.118.41 Fujitsu NETWORKING GeoStream SH4124T 211.1.127.118.42.10.43.1 Fujitsu NETWORKING GeoStream SH4322G 231 Siemens NETWORKING 231.7.1.5.2.1 Siemens NETWORKING I210 232 Compaq NETWORKING 232.9.4 Compaq NETWORKING iLO 232.9.4.10 Compaq NETWORKING iLO-P89 232.111.1.1 Compaq NETWORKING SW5422 232.111.1.5 Compaq NETWORKING SW5450 232.134.2.20.2.20 Compaq NETWORKING 3XDCE02 232.160.5.1 Compaq NETWORKING HP 0x1x8 G3 KVM 236 Samsung PRINTER 236.11.5.1 Samsung PRINTER ML-371x 244 Lantronix 244.1.10 Lantronix NETWORKING SecureLinx SLM 244.20 Lantronix NETWORKING EPS2 # https://github.com/librenms/librenms/blob/master/mibs/hirschmann/hmpriv.mib 248 Hirschmann 248.14.10.2 Hirschmann NETWORKING Railswitch 2 248.14.10.3 Hirschmann NETWORKING MACH3000 248.14.10.4 Hirschmann NETWORKING MS2108-2 248.14.10.5 Hirschmann NETWORKING MS3124-4 248.14.10.6 Hirschmann NETWORKING RS2-16 248.14.10.7 Hirschmann NETWORKING RS2-4r 248.14.10.10 Hirschmann NETWORKING MS4128-5 248.14.10.20 Hirschmann NETWORKING Eagle 248.14.10.21 Hirschmann NETWORKING RR-EPL TX/TX 248.14.10.22 Hirschmann NETWORKING Eagle mGuard 248.14.10.23 Hirschmann NETWORKING Eagle 20 248.14.10.30 Hirschmann NETWORKING MS20 248.14.10.31 Hirschmann NETWORKING MS30 248.14.10.40 Hirschmann NETWORKING Railswitch 20 248.14.10.41 Hirschmann NETWORKING Railswitch 30/40 248.14.10.44 Hirschmann NETWORKING Railswitch Basic 20 248.14.10.45 Hirschmann NETWORKING Octopus Basic 20 248.14.10.50 Hirschmann NETWORKING MACH4002-48-4G 248.14.10.60 Hirschmann NETWORKING Octopus24M 248.14.10.70 Hirschmann NETWORKING MACH4002-24G 248.14.10.71 Hirschmann NETWORKING MACH4002-24G-3X 248.14.10.75 Hirschmann NETWORKING MACH4002-48G 248.14.10.76 Hirschmann NETWORKING MACH4002-48G-3X 248.14.10.90 Hirschmann NETWORKING MSR 248.14.10.100 Hirschmann NETWORKING RSR 248.14.10.120 Hirschmann NETWORKING OctopusOS 248.14.10.110 Hirschmann NETWORKING MACH100 248.14.10.130 Hirschmann NETWORKING MACH100GE 248.14.10.131 Hirschmann NETWORKING MACH1000GE 248.14.10.200 Hirschmann NETWORKING EEM1 253 Xerox PRINTER 253.8.62.1.1.3.1.1 Xerox PRINTER Document Centre 230ST 253.8.62.1.1.3.1.2 Xerox PRINTER Document Centre 220/230ST 253.8.62.1.1.3.1.3 Xerox PRINTER Document Center 230ST 253.8.62.1.1.3.1.4 Xerox PRINTER Document Center 230ST 253.8.62.1.1.3.1.5 Xerox PRINTER Document Center 230ST 253.8.62.1.1.3.2.1 Xerox PRINTER Document Center 230LP 253.8.62.1.1.3.2.2 Xerox PRINTER Document Center 230LP 253.8.62.1.1.3.2.3 Xerox PRINTER Document Center 230LP 253.8.62.1.1.3.2.4 Xerox PRINTER Document Center 230LP 253.8.62.1.1.3.2.5 Xerox PRINTER Document Center 230LP 253.8.62.1.1.4.1.1 Xerox PRINTER Document Center 265ST 253.8.62.1.1.4.1.2 Xerox PRINTER Document Center 265ST 253.8.62.1.1.4.1.3 Xerox PRINTER Document Center 265St 253.8.62.1.1.4.2.1 Xerox PRINTER Document Center 265LP 253.8.62.1.1.4.2.2 Xerox PRINTER Document Center 265LP 253.8.62.1.1.4.2.3 Xerox PRINTER Document Center 265LP 253.8.62.1.1.5.1.1 Xerox PRINTER Document Center 240ST 253.8.62.1.1.5.1.2 Xerox PRINTER Document Center 240ST 253.8.62.1.1.5.1.3 Xerox PRINTER Document Center 240ST 253.8.62.1.1.6.1.1 Xerox PRINTER Document Centre 332/340 ST 253.8.62.1.1.6.1.2 Xerox PRINTER Document Centre 340ST 253.8.62.1.1.6.1.3 Xerox PRINTER Document Centre 340ST 253.8.62.1.1.6.2.1 Xerox PRINTER Document Centre 340LP 253.8.62.1.1.6.2.2 Xerox PRINTER Document Centre 340LP 253.8.62.1.1.6.2.3 Xerox PRINTER Document Centre 340LP 253.8.62.1.1.7.1.1 Xerox PRINTER Document Centre 255ST 253.8.62.1.1.7.1.2 Xerox PRINTER Document Centre 255ST 253.8.62.1.1.7.1.3 Xerox PRINTER Document Centre 255ST 253.8.62.1.1.7.2.1 Xerox PRINTER Document Centre 255LP 253.8.62.1.1.7.2.2 Xerox PRINTER Document Centre 255LP 253.8.62.1.1.7.2.3 Xerox PRINTER Document Centre 255LP 253.8.62.1.1.8.1.3 Xerox PRINTER Document Centre 220/230ST 253.8.62.1.1.8.1.4 Xerox PRINTER Document Centre 253.8.62.1.1.9.1.1 Xerox PRINTER Document Centre 332/340ST 253.8.62.1.1.9.1.2 Xerox PRINTER Document Centre 332ST 253.8.62.1.1.9.1.3 Xerox PRINTER Document Centre 332ST 253.8.62.1.1.9.2.1 Xerox PRINTER Document Centre 332LP 253.8.62.1.1.9.2.2 Xerox PRINTER Document Centre 332LP 253.8.62.1.1.9.2.3 Xerox PRINTER Document Centre 332LP 253.8.62.1.1.17.1.1 Xerox PRINTER Document Centre 450 253.8.62.1.1.17.1.2 Xerox PRINTER Document Centre 450 253.8.62.1.1.17.2.1 Xerox PRINTER Document Centre 460 253.8.62.1.1.17.2.2 Xerox PRINTER Document Centre 460 253.8.62.1.1.17.2.3 Xerox PRINTER Document Centre 253.8.62.1.1.17.3.1 Xerox PRINTER Document Centre 465 253.8.62.1.1.17.3.2 Xerox PRINTER Document Centre 465 253.8.62.1.1.17.4.1 Xerox PRINTER Document Centre 470 253.8.62.1.1.17.4.2 Xerox PRINTER Document Centre 470 253.8.62.1.1.17.4.3 Xerox PRINTER Document Centre 253.8.62.1.1.17.5.1 Xerox PRINTER Document Centre 475 253.8.62.1.1.17.5.2 Xerox PRINTER Document Centre 475 253.8.62.1.1.18.1.1 Xerox PRINTER Document Centre 495 253.8.62.1.1.18.2.1 Xerox PRINTER Document Centre Centre 4110 253.8.62.1.1.19.1.1 Xerox PRINTER Document Centre 420ST 253.8.62.1.1.19.1.2 Xerox PRINTER Document Centre 420ST 253.8.62.1.1.19.1.3 Xerox PRINTER Document Centre 420ST 253.8.62.1.1.19.2.1 Xerox PRINTER Document Centre 253.8.62.1.1.19.2.2 Xerox PRINTER Document Centre 253.8.62.1.1.20.1.1 Xerox PRINTER Document Centre 432ST 253.8.62.1.1.20.1.2 Xerox PRINTER Document Centre 432ST 253.8.62.1.1.20.1.3 Xerox PRINTER Document Centre 432ST 253.8.62.1.1.20.1.4 Xerox PRINTER Document Centre 253.8.62.1.1.20.1.5 Xerox PRINTER Document Centre 253.8.62.1.1.20.2.1 Xerox PRINTER Document Centre 253.8.62.1.1.21.1.1 Xerox PRINTER Document Centre 440ST 253.8.62.1.1.21.1.2 Xerox PRINTER Document Centre 440ST 253.8.62.1.1.21.1.3 Xerox PRINTER Document Centre 440ST 253.8.62.1.1.22.1.1 Xerox PRINTER Document Centre 230ST 253.8.62.1.1.22.1.2 Xerox PRINTER Document Centre 230ST 253.8.62.1.1.22.1.3 Xerox PRINTER Document Centre 230ST 253.8.62.1.1.23.1.1 Xerox PRINTER Document Centre 480 253.8.62.1.1.23.1.2 Xerox PRINTER Document Centre 480 253.8.62.1.1.23.1.3 Xerox PRINTER Document Centre 480 253.8.62.1.1.23.2.1 Xerox PRINTER Document Centre 485 253.8.62.1.1.23.2.2 Xerox PRINTER Document Centre 485 253.8.62.1.1.24.1.1 Xerox PRINTER Document Centre 425ST 253.8.62.1.1.27.1 Xerox PRINTER Document Centre 253.8.62.1.1.27.1.2 Xerox PRINTER Document Centre Multi-Function System 253.8.62.1.2.1.1.1 Xerox PRINTER Docuprint 4512 253.8.62.1.2.2.1.1 Xerox PRINTER DocuPrint 253.8.62.1.2.2.2.1 Xerox PRINTER DocuPrint N17 253.8.62.1.2.3.1.1 Xerox PRINTER DocuPrint NC60 253.8.62.1.2.3.1.2 Xerox PRINTER DocuPrint NC60 253.8.62.1.2.3.2.1 Xerox PRINTER DocuPrint NC60 253.8.62.1.2.4.1.1 Xerox PRINTER DocuPrint 253.8.62.1.2.5.1.1 Xerox PRINTER Phaser 3400 253.8.62.1.3.2.1.1 Xerox PRINTER DocuPrint N24/N32 253.8.62.1.3.2.1.2 Xerox PRINTER DocuPrint N24/N32 253.8.62.1.3.2.2.1 Xerox PRINTER DocuPrint N24 253.8.62.1.3.2.2.2 Xerox PRINTER DocuPrint 253.8.62.1.3.2.3.1 Xerox PRINTER DocuPrint N40 253.8.62.1.3.2.3.2 Xerox PRINTER DocuPrint 253.8.62.1.3.2.17.1 Xerox PRINTER DocuPrint N2025 253.8.62.1.3.2.17.2 Xerox PRINTER DocuPrint N2025 253.8.62.1.3.2.18.1 Xerox PRINTER DocuPrint N2125 253.8.62.1.3.2.18.2 Xerox PRINTER DocuPrint N2125 253.8.62.1.3.2.19.1 Xerox PRINTER DocuPrint 253.8.62.1.3.2.20.1 Xerox PRINTER DocuPrint N2825 253.8.62.1.3.2.20.2 Xerox PRINTER DocuPrint N2825 253.8.62.1.3.2.21.1 Xerox PRINTER DocuPrint N3225 253.8.62.1.3.2.21.2 Xerox PRINTER DocuPrint N3225 253.8.62.1.3.2.22.1 Xerox PRINTER DocuPrint N4025 253.8.62.1.3.2.22.2 Xerox PRINTER DocuPrint N4025 253.8.62.1.3.2.36.1 Xerox PRINTER DocuPrint N4525 253.8.62.1.3.3.1.1 Xerox PRINTER DocuPrint NC1235 253.8.62.1.3.3.2.1 Xerox PRINTER Phaser 2135 253.8.62.1.4.2.1.1 Xerox PRINTER Document Centre 253.8.62.1.4.2.1.2 Xerox PRINTER Document Centre ColorSeries 50 253.8.62.1.5.1.1.1 Xerox PRINTER DocuTech 6180 253.8.62.1.5.20.3.1 Xerox PRINTER 4110 EPS 253.8.62.1.5.21.5.1.1 Xerox PRINTER Color 550 253.8.62.1.5.22.2.1 Xerox PRINTER 4112 EPS 253.8.62.1.5.22.4.1 Xerox PRINTER 4127 Enterprise Printing System 253.8.62.1.17.17.1.1.1 Xerox PRINTER Color 800 Press 253.8.62.1.19.1.4.1 Xerox PRINTER Phaser 3428 253.8.62.1.19.1.9.1 Xerox PRINTER Phaser 3600 253.8.62.1.19.1.24.1.1 Xerox PRINTER Phaser 4600 253.8.62.1.19.1.25.1.1 Xerox PRINTER Phaser 4620 253.8.62.1.19.2.1.3 Xerox PRINTER Phaser 4400DT 253.8.62.1.19.2.2.1 Xerox PRINTER Phaser 4500N 253.8.62.1.19.2.3.2 Xerox PRINTER Phaser 4510N 253.8.62.1.19.2.3.3 Xerox PRINTER Phaser 4510DT 253.8.62.1.19.3.2.3 Xerox PRINTER Phaser 5550DN 253.8.62.1.19.3.2.4 Xerox PRINTER Phaser 5550DT 253.8.62.1.19.4.1.3 Xerox PRINTER Phaser 6200 DP 253.8.62.1.19.4.1.4 Xerox PRINTER Phaser 6200 DX 253.8.62.1.19.4.4.3 Xerox PRINTER Phaser 6300DN 253.8.62.1.19.4.8.1 Xerox PRINTER Phaser 6360N 253.8.62.1.19.4.8.2 Xerox PRINTER Phaser 6360DN 253.8.62.1.19.4.8.3 Xerox PRINTER Phaser 6360DT 253.8.62.1.19.4.20.1 Xerox PRINTER Phaser 6110MFP 253.8.62.1.19.4.21.2 Xerox PRINTER Phaser 6180 MFP 253.8.62.1.19.4.23.1 Xerox PRINTER Phaser 6130N 253.8.62.1.19.4.33.2.1 Xerox PRINTER Phaser 6500DN 253.8.62.1.19.5.1.1 Xerox PRINTER Phaser 7300 DN 253.8.62.1.19.5.3.2 Xerox PRINTER Phaser 7750DN 253.8.62.1.19.5.5.3 Xerox PRINTER Phaser 7500DT 253.8.62.1.19.6.3.1 Xerox PRINTER Phaser 8560DP 253.8.62.1.19.6.3.2 Xerox PRINTER Phaser 8850DT 253.8.62.1.19.6.9.2 Xerox PRINTER Phaser 8560DN 253.8.62.1.19.6.9.3 Xerox PRINTER Phaser 8560DT 253.8.62.1.19.6.17.1 Xerox PRINTER Phaser 8860 253.8.62.1.19.6.18.1 Xerox PRINTER Phaser 8860 MFP 253.8.62.1.19.6.29.1.2 Xerox PRINTER Phaser 3320 253.8.62.1.20.1.2 Xerox PRINTER WorkCentre Pro 253.8.62.1.20.1.2.2 Xerox PRINTER WorkCentre Pro Multifunction System 253.8.62.1.20.1.3.1 Xerox PRINTER WorkCentre Pro Multifunction System 253.8.62.1.20.1.4.2 Xerox PRINTER WorkCentre Pro Multifunction System 253.8.62.1.20.1.6.2 Xerox PRINTER WorkCentre Pro 65 253.8.62.1.20.1.8.2 Xerox PRINTER WorkCentre Pro Multifunction System 253.8.62.1.20.1.19.1 Xerox PRINTER WorkCentre Pro Multifunction System 253.8.62.1.20.1.20.1 Xerox PRINTER WorkCentre Pro 253.8.62.1.20.1.21.1 Xerox PRINTER WorkCentre Pro C3545 253.8.62.1.20.1.25.1 Xerox PRINTER WorkCentre Pro 253.8.62.1.20.1.29.1 Xerox PRINTER WorkCentre 7665 v1 253.8.62.1.20.1.31.1 Xerox PRINTER WorkCentre 4118 253.8.62.1.20.2.1 Xerox PRINTER WorkCentre Pro 253.8.62.1.20.2.2 Xerox PRINTER WorkCentre 253.8.62.1.20.2.3 Xerox PRINTER WorkCentre 253.8.62.1.20.2.4 Xerox PRINTER WorkCentre 253.8.62.1.20.2.7 Xerox PRINTER WorkCentre 253.8.62.1.20.2.7.1 Xerox PRINTER WorkCentre M20i 253.8.62.1.20.2.22.1 Xerox PRINTER WorkCentre Pro 123 253.8.62.1.20.2.25 Xerox PRINTER WorkCentre 253.8.62.1.20.2.31.1 Xerox PRINTER WorkCentre Pro 238 253.8.62.1.20.2.32.1 Xerox PRINTER WorkCentre 5150 253.8.62.1.20.2.33.1 Xerox PRINTER WorkCentre Pro Multifunction System 253.8.62.1.20.2.40.1.2 Xerox PRINTER WorkCentre 7335 253.8.62.1.20.2.41.1.2 Xerox PRINTER WorkCentre 5150 253.8.62.1.20.3.8.1 Xerox PRINTER WorkCentre 7132 253.8.62.1.20.3.9.1 Xerox PRINTER WorkCentre 7228 253.8.62.1.20.3.17.1 Xerox PRINTER WorkCentre 7235 253.8.62.1.20.3.35.1 Xerox PRINTER WorkCentre 5632 v1 253.8.62.1.20.3.35.1.1 Xerox PRINTER WorkCentre 5632 v1 253.8.62.1.20.3.37.1 Xerox PRINTER WorkCentre 5638 v1 Multifunction System 253.8.62.1.20.3.37.1.1 Xerox PRINTER WorkCentre 5638 v1 253.8.62.1.20.3.38.1 Xerox PRINTER WorkCentre 5645 v1 Multifunction System 253.8.62.1.20.3.38.1.1 Xerox PRINTER WorkCentre 5645 v1 Multifunction System 253.8.62.1.20.3.39.1 Xerox PRINTER WorkCentre 5655 253.8.62.1.20.3.39.1.1 Xerox PRINTER WorkCentre 5655 v1 253.8.62.1.20.3.40.1.1 Xerox PRINTER WorkCentre 5665 v1 253.8.62.1.20.4.6.1 Xerox PRINTER WorkCentre 5225 253.8.62.1.20.4.9.1.1 Xerox PRINTER WorkCentre 5687 v1 253.8.62.1.20.4.19.1 Xerox PRINTER WorkCentre 7328 253.8.62.1.20.4.20.1 Xerox PRINTER WorkCentre 7335 253.8.62.1.20.4.21.1 Xerox PRINTER WorkCentre 7345 253.8.62.1.20.4.22.1 Xerox PRINTER WorkCentre 7232 253.8.62.1.20.4.27.1 Xerox PRINTER Phaser 3635MFP 253.8.62.1.20.5.1.1 Xerox PRINTER WorkCentre 7346 253.8.62.1.20.5.3.1 Xerox PRINTER WorkCentre 7428 253.8.62.1.20.5.4.1 Xerox PRINTER WorkCentre 7435 253.8.62.1.20.5.5.2.1 Xerox PRINTER WorkCentre 6400X 253.8.62.1.20.5.23.1 Xerox PRINTER WorkCentre 3220 253.8.62.1.20.5.29.1.1 Xerox PRINTER WorkCentre 5735 253.8.62.1.20.5.31.1.1 Xerox PRINTER WorkCentre 5745 253.8.62.1.20.5.33.1.1 Xerox PRINTER WorkCentre 5765 253.8.62.1.20.5.34.1.1 Xerox PRINTER WorkCentre 5775 253.8.62.1.20.5.36.1.1 Xerox PRINTER WorkCentre 7120 253.8.62.1.20.5.39.1.1 Xerox PRINTER WorkCentre 7535 v1 253.8.62.1.20.5.40.1.1 Xerox PRINTER WorkCentre 7545 v1 Multifunction System 253.8.62.1.20.6.3.1.1 Xerox PRINTER WorkCentre 5325 253.8.62.1.20.6.4.1.1 Xerox PRINTER WorkCentre 5330 253.8.62.1.20.6.6.1.1 Xerox PRINTER WorkCentre 7125 253.8.62.1.20.6.24.1.1 Xerox PRINTER WorkCentre 7830 v1 Multifunction System 253.8.62.1.22.1.8.1.1 Xerox PRINTER Wide Format 6604 253.8.62.1.23.2.5.1 Xerox PRINTER Nuvera 120 253.8.62.1.23.7.1.1 Xerox PRINTER Nuvera 288 253.8.62.1.24.1.1.2.1 Xerox PRINTER ColorQube 9201 253.8.62.1.24.1.2.2.1 Xerox PRINTER ColorQube 9202 253.8.62.1.24.1.3.2.1 Xerox PRINTER ColorQube 9203 253.8.62.1.24.2.1.2.1 Xerox PRINTER ColorQube 8570DN 253.8.62.1.24.2.2.1.1 Xerox PRINTER ColorQube 8870 253.8.62.1.24.3.2.2.1 Xerox PRINTER ColorQube 8900X 253.8.62.1.24.4.1.1.1 Xerox PRINTER ColorQube 9301 253.8.62.1.31.1.4.1.2 Xerox PRINTER Versant 80 Press 253.258.300.127.1.297.93.1.8.6.1.1 Xerox PRINTER Document Centre 253.258.300.127.1.297.93.1.8.7.1.1 Xerox PRINTER Document Centre 255 Compatible NETWORKING 255.1.1 Compatible NETWORKING 1200i 259 Accton Technology NETWORKING 259.6.10 Accton Technology NETWORKING Cheetah 24 Ports Switch 277 Cascade NETWORKING 277.1 Cascade NETWORKING BSTDX9000 289 Brocade NETWORKING 289.2.1.1.1 Brocade NETWORKING McDataed-1032-5000 289.2.1.1.2 Brocade NETWORKING McDataef-6000 289.2.1.1.3 Brocade NETWORKING McDataes-1000 295 PlainTree NETWORKING 295.3.2 PlainTree NETWORKING Waveswitch100-16 295.3.2.2 PlainTree NETWORKING Waveswitch100-FL 295.3.2.100 PlainTree NETWORKING Waveswitch4+1TX(PTP150A) 295.3.2.101 PlainTree NETWORKING Waveswitch4+1FX(PTP151A) 295.3.2.102 PlainTree NETWORKING Waveswitch4+4TX(PTP152A) 295.5.1.1.1 PlainTree NETWORKING Waveswitch1018 295.5.1.1.2 PlainTree NETWORKING Waveswitch1216 295.5.1.1.4 PlainTree NETWORKING Waveswitch4800 295.5.1.1.5 PlainTree NETWORKING Waveswitch1019 295.6.1.1.1 PlainTree NETWORKING Waveswitch9200 295.6.1.1.2 PlainTree NETWORKING Waveswitch9202 297 Fuji-Xerox PRINTER 297.1.11.93.1.37.5.2.3 Fuji-Xerox PRINTER DocuCentre-IV C2263 298 Asante Technology NETWORKING 298.2.2.1 Asante NETWORKING 1012 298.2.2.7 Asante NETWORKING 2072 298.2.2.8 Asante NETWORKING 1016-IQ 298.2.2.9 Asante NETWORKING Fast100 298.2.2.15 Asante NETWORKING 5324MT 298.2.2.18 Asante Technology NETWORKING IntraSwitch 6224M 298.2.2.24 Asante Technology NETWORKING IntraCore 6524-2G 298.2.2.27 Asante Technology NETWORKING IntraCore 3524 298.2.2.28 Asante NETWORKING C3548-2GT 304 Farallon NETWORKING 304.2.2.4 Farallon NETWORKING PN640 304.2.2.13 Farallon NETWORKING 655 304.2.2.18 Farallon NETWORKING R7200T 304.2.2.19.910 Farallon NETWORKING R910 304.2.2.19.1300 Farallon NETWORKING 3346 304.2.2.19.3100 Farallon NETWORKING R3100 304.2.2.19.3232 Farallon NETWORKING R3232 304.2.2.19.4541 Farallon NETWORKING 4541 304.2.2.19.4622 Netopia NETWORKING 4622 304.2.2.19.4652 Farallon NETWORKING 4652 304.2.2.19.5100 Farallon NETWORKING R5100 304.2.2.19.5131 Farallon NETWORKING R5131 304.2.2.19.5220 Netopia NETWORKING R5220 304.2.2.19.5300 Farallon NETWORKING R5300 304.2.2.19.5320 Farallon NETWORKING R5320 304.2.2.19.6100 Farallon NETWORKING R6100 304.2.2.19.7100 Farallon NETWORKING R7100 304.2.2.19.7171 Farallon NETWORKING R7171 304.2.2.19.7200 Farallon NETWORKING R7200 304.2.2.19.9100 Farallon NETWORKING R9100 311 Microsoft COMPUTER 311.1.1.3.1.2 Microsoft COMPUTER NT server 318 APC POWER 318.1.3.2 APC NETWORKING Smart-UPS 318.1.3.2.7 APC NETWORKING Smart-UPS 750 RM 318.1.3.2.12 APC NETWORKING Smart-UPS-3000 RM XL 318.1.3.2.13 APC NETWORKING Smart-UPS-RT 5000 XL 318.1.3.2.17 APC POWER PowerNet 318.1.3.4.5 APC POWER Master Switch PDU 318.1.3.8.3 APC NETWORKING Environmental Monitoring Unit 326 Marconi NETWORKING 326.2.2 Marconi NETWORKING ASX1000 326.2.2.5 Marconi NETWORKING ASX200BX 326.2.2.8 Marconi NETWORKING ASX-1000 326.2.2.15 Marconi NETWORKING TNX210 326.2.2.16 Marconi NETWORKING TNX1100 326.2.2.17 Marconi NETWORKING ASX1200 326.2.2.18 Marconi NETWORKING ASX4000 326.2.2.20 Marconi NETWORKING ESX3000 326.2.2.24 Marconi NETWORKING BXR-48000 326.2.3 Marconi NETWORKING ES3810 326.2.6.1.1 Marconi NETWORKING 6k7k8k 326.2.6.1.3 Marconi NETWORKING ASN9000 326.2.10.1 Marconi NETWORKING ES2810 326.2.20.1.2.1.2 Marconi NETWORKING ES1200 343 Intel NETWORKING 343.1.1.3.11 Intel NETWORKING 330T 343.5.1.4 Intel NETWORKING Express550T 343.5.1.5 Intel NETWORKING Express550F 343.5.1.6 Intel NETWORKING Express510T 343.5.1.7 Intel NETWORKING Express520T 343.5.1.8 Intel NETWORKING ExpressGigabit 343.5.1.9 Intel NETWORKING Express460T 343.5.1.10 Intel NETWORKING 460T 343.5.1.15 Intel NETWORKING 480T 343.5.1.17 Intel NETWORKING 480T 343.5.1.18 Intel NETWORKING Express530T 343.5.2.6 Intel NETWORKING ER8100W 343.5.2.8 Intel NETWORKING ER8100FR 343.5.2.9 Intel NETWORKING ER9520ST 343.5.2.10 Intel NETWORKING ER9520U 343.5.2.11 Intel NETWORKING ER9510ST 343.5.2.12 Intel NETWORKING ER9510U 343.5.2.16 Intel NETWORKING ER9525U 343.5.2.17 Intel NETWORKING ER8210 343.5.2.18 Intel NETWORKING ER8220 343.5.2.19 Intel NETWORKING ER9530 343.5.2.23 Intel NETWORKING ER8100W 343.5.2.27 Intel NETWORKING ER8100ST 351 Cisco NETWORKING 351.100 Cisco NETWORKING BPX 351.110 Cisco NETWORKING Basis 351.130 Cisco NETWORKING MGX8850 358 Skyline NETWORKING 358.4 Skyline NETWORKING ADC 367 Ricoh PRINTER 367.1.1 Ricoh PRINTER RICOH Aficio MP 368 Axis NETWORKING 368.1 Axis PRINTER 5400plus Network Print Server 388 Motorola NETWORKING 388.1.3 Motorola NETWORKING Symbol 24AP-2411 388.1.5 Motorola NETWORKING Symbol 24AP-2421 388.1.8 Motorola NETWORKING Symbol 24AP-2431 388.6.0 Motorola NETWORKING Symbol WS5000 388.14 Motorola NETWORKING Symbol WS5100 388.50.1.1.3 Motorola NETWORKING AP7131 429 3Com NETWORKING 429.2.13 3Com NETWORKING ADSL-812 429.2.19 3Com NETWORKING HPARCcard 429.2.23.1.0.3.64.63 3Com NETWORKING CMTScard 437 Cisco NETWORKING 437.1.1 Cisco NETWORKING FastLink 437.1.1.2 Cisco NETWORKING FastLinkseriesG2xx 437.1.1.3 Cisco NETWORKING FastLinkseries2000 449 Motorola NETWORKING 449.2.1.0 Motorola NETWORKING 340 449.2.1.100 Motorola NETWORKING 100 449.2.1.200 Motorola NETWORKING 200 449.2.1.300 Motorola NETWORKING 300 449.2.1.320 Motorola NETWORKING 320 449.2.1.340 Motorola NETWORKING 340 449.2.1.6425 Motorola NETWORKING 6425 449.2.1.6430 Motorola NETWORKING 6430 449.2.1.6435 Motorola NETWORKING 6435 449.2.1.6450 Motorola NETWORKING 6450 449.2.1.6455 Motorola NETWORKING 6455 449.2.1.6520 Motorola NETWORKING 6520 449.2.1.6525 Motorola NETWORKING Vanguard 6525 449.2.1.6560 Motorola NETWORKING 6560 449.2.1.9565 Motorola NETWORKING 340 485 Sync NETWORKING 485.1.1.1.62 Sync NETWORKING E2003 485.1.1.1.64 Sync NETWORKING 494 Madge NETWORKING 494.4 Madge NETWORKING SmartRingswitchPlus 529 Ascend NETWORKING 529.1.2.2 Ascend NETWORKING MAX1800 529.1.2.3 Ascend NETWORKING MAX2000 529.1.2.5 Ascend NETWORKING MAX-HPT1 529.1.2.6 Ascend NETWORKING MAX-HPT1 529.1.2.7 Ascend NETWORKING MAX6000 529.1.2.9 Ascend NETWORKING MAX3000 529.1.2.10 Ascend NETWORKING DSL MAX-20 529.1.3 Ascend NETWORKING PipelineBRI 529.1.3.5 Ascend NETWORKING PipelineBRI 529.1.3.6 Ascend NETWORKING PipelineBRI 529.1.3.7 Ascend NETWORKING Pipeline 529.1.3.9 Ascend NETWORKING Pipeline220T1 529.1.3.11 Ascend NETWORKING DSL PipeDSL-S 529.1.3.16 Ascend NETWORKING PipelineBRI 529.1.3.22 Ascend NETWORKING DSL PipeADSL-DMT 529.1.3.23 Ascend NETWORKING PipelineBRI 529.1.3.24 Ascend NETWORKING PipelineBRI 529.1.3.25 Ascend NETWORKING DSL PipeDSL-50S 529.1.3.26 Ascend NETWORKING DSL PipeDSL-HS 529.1.3.27 Ascend NETWORKING PipelineBRI 529.1.4 Ascend NETWORKING MAXTNT 529.1.9 Ascend NETWORKING APX-1000 534 Eaton NETWORKING 534.1 Powerware NETWORKING 9330 534.6.6.7 Eaton NETWORKING Eaton ePDU 539 Applied NETWORKING 539.2.7 Applied NETWORKING Innovations AI296 539.2.18 Applied NETWORKING Innovations AIScout2 539.2.193.7.10 Applied NETWORKING Innovations AI193TX 539.2.194.7.4 Applied NETWORKING Innovations AI194 539.2.196.7.2.1.0 Applied NETWORKING Innovations AI196 539.2.198 Applied NETWORKING Innovations AI198 541 Nortel NETWORKING 541.2 Nortel NETWORKING Marlin 551 Cisco NETWORKING 551.2.1.77 Cisco NETWORKING Airo340 551.2.1.123 Cisco NETWORKING WGB350 559 3Com NETWORKING 559.2.13.7 3Com NETWORKING OfficeConnect 531S 562 Nortel NETWORKING 562.2.1.2 Nortel NETWORKING Passport160 562.3 Nortel NETWORKING CallServer CS1000E 562.36.1.2 Nortel NETWORKING Carrier 7480 562.36.1.3 Nortel NETWORKING CarrierPassport 562.73.2.2.3.1 Nortel NETWORKING SR1001 562.73.2.2.3.2 Nortel NETWORKING SR1002 562.73.2.2.3.3 Nortel NETWORKING SR1004 562.73.2.2.3.5 Nortel NETWORKING SR1004E 562.73.2.2.5.1.1 Nortel NETWORKING SR4134 604 H3C NETWORKING 604.10.26.1.1 H3C NETWORKING S2024/S3025 629 MRV NETWORKING 629.1.1.5 Intel NETWORKING Express 10/100 Fast Ethernet Switch (ES101TX) 629.22.18.1 MRV NETWORKING OptiSwitch 904 629.22.21.1 MRV NETWORKING OptiSwitch 912C 629.22.22.1 MRV NETWORKING OptiSwitch 906C 629.22.23.1 MRV NETWORKING OptiSwitch 9124 629.22.27.1 MRV NETWORKING OptiSwitch 940 629.22.31.1 MRV NETWORKING OptiSwitch 9244 637 Alcatel-Lucent NETWORKING 637.61.1 Alcatel-Lucent NETWORKING DSLAM 637.64.4400.1.1.10 Alcatel-Lucent NETWORKING Omni PCX 637.69.2.1.1.63 Alcatel-Lucent NETWORKING 7670 RSP 641 Lexmark PRINTER 641.1.71106736 Lexmark PRINTER C524 641.1.71106740 Lexmark PRINTER W840 641.1.71106741 Lexmark PRINTER C522 641.1.71106743 Lexmark PRINTER C920 641.1.71106749 Lexmark PRINTER T640 641.1.71106750 Lexmark PRINTER T642 641.1.71106751 Lexmark PRINTER T654 641.1.71106791 Lexmark PRINTER C Series 641.1.71106798 Lexmark PRINTER E450dn 641.1.71106800 Lexmark PRINTER E352dn 641.1.71106802 Lexmark PRINTER E250dn 641.1.71106811 Lexmark PRINTER C532 641.1.71106812 Lexmark PRINTER C534 641.1.71106823 Lexmark PRINTER C782 641.1.71106837 Lexmark PRINTER C935 641.1.71106846 Lexmark PRINTER C544 641.1.71106847 Lexmark PRINTER C543 641.1.71106851 Lexmark PRINTER E260dn 641.1.71106853 Lexmark PRINTER E360dn 641.1.71106854 Lexmark PRINTER E460dn 641.1.71106859 Lexmark PRINTER T650 641.1.71106860 Lexmark PRINTER T652 641.1.71106861 Lexmark PRINTER T644 641.1.71106869 Lexmark PRINTER C736 641.1.71106873 Lexmark PRINTER C540 641.1.71106975 Lexmark PRINTER W850 641.1.71107008 Lexmark PRINTER C546 641.1.71107012 Lexmark PRINTER C792 641.1.71107014 Lexmark PRINTER C950 641.1.71107031 Lexmark PRINTER Pro5500 Series 641.1.71107106 Lexmark PRINTER C748 641.1.71107110 Lexmark PRINTER MS310dn 641.1.71107113 Lexmark PRINTER MS811 641.1.71107117 Lexmark PRINTER MS510dn 641.2.11152 Lexmark PRINTER X560n 641.2.71106755 Lexmark PRINTER X852e 641.2.71106756 Lexmark PRINTER X854e 641.2.71106758 Lexmark PRINTER X646e 641.2.71106792 Lexmark PRINTER X642e 641.2.71106823 Lexmark PRINTER C782 641.2.71106836 Lexmark PRINTER X945e 641.2.71106848 Lexmark PRINTER X544 641.2.71106856 Lexmark PRINTER X264dn 641.2.71106857 Lexmark PRINTER X363dn 641.2.71106890 Lexmark PRINTER X734de 641.2.71106891 Lexmark PRINTER X738de 641.2.71106893 Lexmark PRINTER X654de 641.2.71106894 Lexmark PRINTER X658de 641.2.71106920 Lexmark PRINTER X463de 641.2.71106923 Lexmark PRINTER X364dn 641.2.71106972 Lexmark PRINTER X656de 641.2.71106977 Lexmark PRINTER X860de 641.2.71106978 Lexmark PRINTER X862de 641.2.71106998 Lexmark PRINTER X466de 641.2.71107011 Lexmark PRINTER X546 641.2.71107013 Lexmark PRINTER X792 641.2.71107023 Lexmark PRINTER X950 641.2.71107107 Lexmark PRINTER X746 641.2.71107114 Lexmark PRINTER MX710 641.2.71107121 Lexmark PRINTER MX511dhe 641.2.71107124 Lexmark PRINTER CX410 641.3.672622 Lexmark PRINTER X342n 641.3.952056622 Lexmark PRINTER Forms Printer 2580 641.52.71107158 Lexmark PRINTER CX725 641.52.71107162 Lexmark PRINTER CX825 641.52.71107185 Lexmark PRINTER MX622adhe 641.52.71107191 Lexmark PRINTER CX921de 644 Eastern NETWORKING 644.2.3 Eastern NETWORKING InterFlex 55XX 644.2.4 Eastern NETWORKING DNX-11 664 Adtran NETWORKING 664.1.170 Adtran NETWORKING T3SU-300-AC 664.1.430 Adtran NETWORKING Atlas 830 664.1.466 Adtran NETWORKING NetVanta3205 664.1.467 Adtran NETWORKING NetVanta3305 664.1.493 Adtran NETWORKING 616 IAD 664.1.526 Adtran NETWORKING NetVanta 1224ST 664.1.583 Adtran NETWORKING NetVanta 1224STR 664.1.586 Adtran NETWORKING NetVanta 4305 DC 664.1.742 Adtran NETWORKING NetVanta 1224ST 664.1.743 Adtran NETWORKING NetVanta 1224ST PoE 674 Dell 674.100.1.1094471968 Dell PRINTER Laser Printer 5210n 674.100.1.1094471969 Dell PRINTER Laser 5310n 674.100.1.1094472232 Dell PRINTER Laser 1720dn 674.10892.2 Dell NETWORKING iDRAC 674.10892.5 Dell NETWORKING PowerEdge 674.10895 Dell NETWORKING PowerConnect 674.10895.1 Dell NETWORKING PowerConnect 3024 674.10895.3 Dell NETWORKING PowerConnect 3248 674.10895.4 Dell NETWORKING PowerConnect 5224 674.10895.5 Dell NETWORKING PowerConnect 3048 674.10895.1000 Dell NETWORKING PowerConnect 5212 674.10895.3000 Dell NETWORKING PowerConnect 6024 674.10895.3002 Dell NETWORKING PowerConnect 3324 674.10895.3003 Dell NETWORKING PowerConnect 3348 674.10895.3004 Dell NETWORKING PowerConnect 5324 674.10895.3005 Dell NETWORKING PowerConnect 5316M 674.10895.3006 Dell NETWORKING PowerConnect 3400 674.10895.3007 Dell NETWORKING PowerConnect 3400 674.10895.3008 Dell NETWORKING PowerConnect 3424 674.10895.3009 Dell NETWORKING PowerConnect 3448P 674.10895.3010 Dell NETWORKING PowerConnect 6224 674.10895.3011 Dell NETWORKING PowerConnect 6248 674.10895.3013 Dell NETWORKING PowerConnect 6248P 674.10895.3015 Dell NETWORKING PowerConnect 6220M 674.10895.3017 Dell NETWORKING PowerConnect 3548 674.10895.3018 Dell NETWORKING PowerConnect 3524P 674.10895.3020 Dell NETWORKING PowerConnect 5424 674.10895.3021 Dell NETWORKING PowerConnect 5448 674.10895.3022 Dell NETWORKING PowerConnect M8024 674.10895.3024 Dell NETWORKING PowerConnect 8024F 674.10895.3025 Dell NETWORKING PowerConnect M6348 674.10895.3031 Cisco NETWORKING Nexus 5548 674.10895.3042 Dell NETWORKING PowerConnect N4032 674.10895.3052 Dell NETWORKING R1-2401 674.10895.3053 Dell NETWORKING N2024 674.10895.3054 Dell NETWORKING N2048 674.10895.3055 Dell NETWORKING N2024P 674.10895.3056 Dell NETWORKING N2048P 674.10895.3060 Dell NETWORKING PowerConnect N3048P 674.10895.5032 Dell NETWORKING PowerConnect W-IAP109 674.10898.1.1.1094472241 Dell PRINTER 2330dn Laser Printer 674.10898.1.1.1094472485 Dell PRINTER 2350dn Laser 674.10898.2.100.10.51.1094473219 Dell PRINTER 3130cn Color Laser 674.10898.2.100.10.52.1094473225 Dell PRINTER 2135cn Multifunction Color Laser Printer 674.10898.2.100.100.51.1094473267 Dell PRINTER B2360dn Laser Printer 674.10898.2.100.100.51.1094473269 Dell PRINTER B3460dn Laser Printer 674.10898.10.1 Dell PRINTER 3100cn Laser 674.10898.10.51.1094473221 Dell PRINTER Color Laser 3110cn 674.10898.10.52.1094473223 Dell PRINTER MFP Laser 3115cn 674.10898.100.1.1094472241 Dell PRINTER 2330dn Laser 683 Zebra PRINTER 683.6.0 Zebra PRINTER 714 Wyse PRINTER 727 Verso NETWORKING 727.7.1.8801 Verso NETWORKING SDM-8801 727.7.1.9380 Verso NETWORKING SDM-9380 727.7.1.82000 Verso NETWORKING SDM-8200 727.7.1.92300 Verso NETWORKING SDM-9230 738 BATM NETWORKING 738.1.5.100.1.1.1 BATM NETWORKING T4 738.1.5.100.1.1.7 BATM NETWORKING T5C 738.1.5.100.1.1.19 BATM NETWORKING T-Metro 738.1.5.100.1.1.19.1 Alcatel NETWORKING ALU7250 738.1.5.100.1.1.222.1 Foundry NETWORKING FI4802FS 762 Karlnet NETWORKING 762.2 karlnetOriNCO NETWORKING 763 Efficient NETWORKING 763.1.5621.2.1 Efficient NETWORKING 56xx 763.1.5660.2.1 Efficient NETWORKING 5660 763.3 Siemens NETWORKING 5200 789 NetApp NETWORKING 789.2.1 NetApp NETWORKING NetApp Filer 789.2.2 NetApp NETWORKING NetCache 789.2.3 NetApp NETWORKING NetApp Clustered Filer 789.2.4 NetApp NETWORKING NetApp Node 789.2.5 NetApp NETWORKING NetApp Cluster 789.2.6 NetApp NETWORKING NetApp Vserver 800 Alcatel NETWORKING 800.3.1.1.1 Alcatel NETWORKING OMNI 800.3.1.1.2 Alcatel NETWORKING OMNI 800.3.1.1.3 Alcatel NETWORKING OMNI 800.3.1.1.7 Alcatel NETWORKING PizzaHub 800.3.1.1.8 Alcatel NETWORKING OMNI-1024 800.3.1.1.9 Alcatel NETWORKING OMNI-6024 800.3.1.1.11 Alcatel NETWORKING OMNI-408 800.3.1.1.14 Alcatel NETWORKING OMNI-6124 800.3.1.1.15 Alcatel NETWORKING OMNI-6148 800.3.1.1.16 Alcatel NETWORKING OMNI-8008 800.3.1.1.17 Alcatel NETWORKING OMNI-4024 800.3.1.3 Alcatel NETWORKING OMNI 835 MiLAN Technology NETWORKING 835.1.1.21 MiLAN Technology NETWORKING MIL-P3840 838 Xedia NETWORKING 838.5.1.1.0 Xedia NETWORKING LucentAP3 838.5.1.300.0.0 Xedia NETWORKING LucentAP300 838.5.1.300.0.1 Xedia NETWORKING Lucent300_U 838.5.1.300.1.0 Xedia NETWORKING Lucent300_U 838.5.1.300.1.1 Xedia NETWORKING Lucent300 838.5.1.300.2.0 Xedia NETWORKING Lucent300 838.5.1.300.2.1 Xedia NETWORKING Lucent300_ST 838.5.1.300.3.0 Xedia NETWORKING Lucent300_ST 838.5.1.450.2.0 Xedia NETWORKING Lucent450 838.5.1.600.4.2 Xedia NETWORKING Lucent600 838.5.1.1000.1.6 Xedia NETWORKING Lucent1000 838.5.1.1000.4.0 Xedia NETWORKING Lucent1000 838.5.1.1000.4.1 Xedia NETWORKING Lucent1000 841 Proxim Wireless NETWORKING 841.2.1 Proxim Wireless NETWORKING AP-800 841.2.2 Proxim Wireless NETWORKING AP-8000 841.2.11 Proxim Wireless NETWORKING QB-8100 841.2.21 Proxim Wireless NETWORKING MP-8100 841.2.22 Proxim Wireless NETWORKING MP-8100-CPE 890 Zyxel NETWORKING 890.1.2.6.22 Zyxel NETWORKING Prestige650R 890.1.5.8.66 Zyxel NETWORKING XGS1910 890.1.5.11.6 Zyxel NETWORKING AAM-1008 890.1.6 Zyxel NETWORKING ZyWALL 35 890.1.15 Zyxel NETWORKING ZyWall USG 100 927 PairGain NETWORKING 927.3.4.1 parigainCampus NETWORKING 930 Nortel NETWORKING 930.1.1 Nortel NETWORKING Centillion100 930.1.2 Nortel NETWORKING CentillionIBM8251 930.1.3 Nortel NETWORKING CentillionBaystack301 930.1.4 Nortel NETWORKING Centillion5000BH-MCP 930.1.5 Nortel NETWORKING Centillion50N 930.1.6 Nortel NETWORKING Centillion50T 930.1.7 Nortel NETWORKING Centillion5005BH-MCP 964 Carrier NETWORKING 964.3.4.1.25 Carrier NETWORKING Adit 1012 Marconi NETWORKING 1012.2.5.2.1 Marconi NETWORKING ESR 1012.2.5.2.2 Marconi NETWORKING ESR 1012.230.1.1.1.11812 Marconi NETWORKING MNR18-12 1012.230.1.1.1.11813 Marconi NETWORKING MNR18-13 1012.230.1.1.1.11815 Marconi NETWORKING MNR18-15 1012.230.1.1.1.11816 Marconi NETWORKING MNR18-16 1012.230.1.1.1.12809 Marconi NETWORKING MNR28-09 1012.230.1.1.1.12810 Marconi NETWORKING MNR28-10 1012.230.1.1.1.12811 Marconi NETWORKING MNR28-11 1012.230.1.1.1.12830 Marconi NETWORKING MNR28-30 1012.230.1.1.1.12831 Marconi NETWORKING MNR28-31 1012.230.1.1.1.12840 Marconi NETWORKING MNR28-40 1012.230.1.1.1.12880 Marconi NETWORKING MNR28-80 1012.230.2.23.19 Marconi NETWORKING MNE6506 1012.230.2.23.30 Marconi NETWORKING MNE6503 1012.230.2.23.31 Marconi NETWORKING MNE8512 1012.230.2.23.32 Marconi NETWORKING MNE8505 1012.230.2.23.33 Marconi NETWORKING MNE6506R 1012.230.2.23.37 Marconi NETWORKING MNE3552G 1012.230.2.23.38 Marconi NETWORKING MNE3552P 1012.230.2.23.39 Marconi NETWORKING MNE3528G 1012.230.2.23.40 Marconi NETWORKING MNE3528P 1012.230.2.23.67 Marconi NETWORKING MNE3552F-SI 1012.230.2.23.68 Marconi NETWORKING MNE3552F-EI 1012.230.2.44 Marconi NETWORKING MNR46-20 1012.230.2.45 Marconi NETWORKING MNR46-40 1012.230.2.46 Marconi NETWORKING MNR46-80 1012.230.2.55 Marconi NETWORKING MNR18-18 1012.230.2.56 Marconi NETWORKING MNR18-20 1012.230.10.1.7 Marconi NETWORKING MNE3552F-HI 1012.230.10.1.10 Marconi NETWORKING MNE3928P-SI 1012.230.10.1.11 Marconi NETWORKING MNE3952P-SI 1012.230.10.1.12 Marconi NETWORKING MNE3928TP-SI 1012.230.10.1.13 Marconi NETWORKING MNE3928P-EI 1012.230.10.1.14 Marconi NETWORKING MNE3952P-EI 1012.230.10.1.15 Marconi NETWORKING MNE3928P-PWR-EI 1012.230.10.1.16 Marconi NETWORKING MNE3952P-PWR-EI 1012.230.10.1.17 Marconi NETWORKING MNE3928F-EI 1012.230.10.1.20 Marconi NETWORKING MNR18-33E 1012.230.10.1.21 Marconi NETWORKING MNR18-34E 1012.230.10.1.22 Marconi NETWORKING MNE8508 1012.230.10.1.43 Marconi NETWORKING MNE5624P 1012.230.10.1.44 Marconi NETWORKING MNE5624P-PWR 1012.230.10.1.45 Marconi NETWORKING MNE5648P 1012.230.10.1.46 Marconi NETWORKING MNE5648P-PWR 1012.230.10.1.53 Marconi NETWORKING MNR18-20S 1012.230.10.1.71 Marconi NETWORKING MNR18-22-24 1012.230.10.1.73 Marconi NETWORKING MNR18-30E 1012.230.10.1.74 Marconi NETWORKING MNR18-31E 1012.230.10.1.75 Marconi NETWORKING MNR18-32E 1012.230.10.1.76 Marconi NETWORKING MNR18-35E 1012.230.10.1.80 Marconi NETWORKING MNE6502 1012.230.10.1.100 Marconi NETWORKING MNE5624F 1080 NetStar NETWORKING 1080.1.4.1 NetStar NETWORKING GRF400 1129 Toshiba PRINTER 1129.2.3.58.4 Toshiba PRINTER e-STUDIO3505AC 1133 Engage NETWORKING 1133.1 Engage NETWORKING IPExpress 1139 EMC STORAGE 1182 Yamaha NETWORKING 1182.1.1 Yamaha NETWORKING RT100i 1182.1.2 Yamaha NETWORKING RT100i 1182.1.3 Yamaha NETWORKING RT200i 1182.1.4 Yamaha NETWORKING RT80i 1182.1.5 Yamaha NETWORKING RT102i 1182.1.6 Yamaha NETWORKING RT103i 1182.1.7 Yamaha NETWORKING RT140i 1182.1.8 Yamaha NETWORKING RT140e 1182.1.9 Yamaha NETWORKING RT140p 1182.1.10 Yamaha NETWORKING RT140f 1182.1.11 Yamaha NETWORKING RTA50i 1182.1.12 Yamaha NETWORKING RTA52i 1182.1.13 Yamaha NETWORKING RT300i 1182.1.14 Yamaha NETWORKING RT52Pro 1182.1.15 Yamaha NETWORKING RT105i 1182.1.16 Yamaha NETWORKING RT60w 1182.1.17 Yamaha NETWORKING RT105e 1182.1.18 Yamaha NETWORKING RT105p 1182.1.19 Yamaha NETWORKING RTW65b 1182.1.20 Yamaha NETWORKING RTW65i 1182.1.21 Yamaha NETWORKING RTA55i 1182.1.22 Yamaha NETWORKING RT56v 1182.1.23 Yamaha NETWORKING RTX1000 1182.1.24 Yamaha NETWORKING RTX2000 1226 Fluke Networks NETWORKING 1226.1.3.2 Fluke Networks NETWORKING OptiView Analyzer 1248 Epson PRINTER 1248.1.1.2.1.3.5.69.69.80.83.50 Epson PRINTER Stylus OfficeBX525WD-66FFF5 1248.1.1.2.1.3.7.65.76.45.77.51.48.48 Epson PRINTER AL-M300DN 1248.1.1.2.1.3.8.65.76.45.67.49.49.48.48 Epson PRINTER AL-C1100 1248.1.1.2.1.3.8.65.76.45.67.51.56.48.48 Epson PRINTER AL-C3800 1248.1.1.2.1.3.8.65.76.45.67.51.57.48.48 Epson PRINTER AL-C3900 1248.1.1.2.1.3.8.65.76.45.67.52.50.48.48 Epson PRINTER AL-C4200 1248.1.1.2.1.3.8.65.76.45.77.50.48.48.48 Epson PRINTER AL-M2000 1248.1.1.2.1.3.8.65.76.45.77.50.52.48.48 Epson PRINTER AL-M2400 1248.1.1.2.1.3.8.65.76.45.77.52.48.48.48 Epson PRINTER AL-M4000 1248.1.1.2.1.3.9.69.80.76.45.78.50.53.53.48 Epson PRINTER EPL-N2550 1248.1.1.2.1.3.9.69.80.76.45.78.51.48.48.48 Epson PRINTER EPL-N3000 1295 Enterasys NETWORKING 1295.2.3333.15.7 Enterasys NETWORKING SmartCELL 6500 1347 Kyocera PRINTER # specifying a model value prevent fallback on hrDeviceDescr value for better identification 1347.41 Kyocera PRINTER 1369 StoneSoft NETWORKING 1369.5.2 StoneSoft NETWORKING ForcePoint McAfee NGFW 1411 Juniper NETWORKING 1411.102 Juniper NETWORKING EX2500 1424 Nortel NETWORKING 1424.1.1 Nortel NETWORKING Contivity100/400 1548 FlowPoint NETWORKING 1548.130.0 FlowPoint NETWORKING 100 1548.134.0 FlowPoint NETWORKING 144 1548.250.0 FlowPoint NETWORKING 250 1548.255.0 FlowPoint NETWORKING 255 1548.2201.0 FlowPoint NETWORKING 2201 1548.2210.0 FlowPoint NETWORKING 2210 1548.5351.0 FlowPoint NETWORKING 5351 1548.5711.0 FlowPoint NETWORKING 5711 1548.5851.0 FlowPoint NETWORKING 5851 1548.5861.0 FlowPoint NETWORKING 5861 1548.5871.0 FlowPoint NETWORKING 5871 1548.5930.0 Siemens NETWORKING 5930 1548.7851.0 FlowPoint NETWORKING 7851 1573 McAfee NETWORKING 1573.2.1 McAfee NETWORKING SideWinder 7 1588 Brocade STORAGE Fibre Channel Switch 1588.2.1.1 Brocade NETWORKING Switch 1588.2.1.1.1 Brocade STORAGE 2109-F16 1588.2.1.1.1.55 Brocade NETWORKING Fiber Channel Switch 1588.2.1.1.1.62 Brocade NETWORKING Fibre Channel Switch 1588.2.1.1.2 Brocade NETWORKING 2800 1588.2.1.1.22 Brocade STORAGE Fibre Channel Switch 1588.2.1.1.27 Brocade NETWORKING Switch 1588.2.1.1.29 Brocade STORAGE Fibre Channel Switch 1588.2.1.1.32 Brocade STORAGE Fibre Channel Switch 1588.2.1.1.34 Brocade NETWORKING Fiber Channel Switch 1588.2.1.1.37 Brocade STORAGE Brocade 4Gb SAN Switch Module 1588.2.1.1.46 Brocade NETWORKING Fibre Channel Switch 1588.2.1.1.64 Brocade NETWORKING Fiber Channel Switch 1588.2.1.1.71 Brocade STORAGE Fibre Channel Switch 1588.2.1.1.72 Brocade STORAGE Fibre Channel Switch 1588.2.1.1.82 Brocade STORAGE Fibre Channel Switch 8G-24P 1588.2.1.1.83 Brocade STORAGE Fibre Channel Switch 2498 1588.2.1.1.118 Brocade NETWORKING Fibre Channel Switch 1588.2.1.1.120 Brocade NETWORKING Fibre Channel Switch 1588.2.1.3 Brocade STORAGE Fibre Channel Switch 8G-24P 1588.2.2.1.1.1.2 Brocade NETWORKING VDX6720-60 1588.2.2.1.1.1.5 Brocade NETWORKING VDX6710 1588.3.3.1.131 Brocade NETWORKING Fibre Channel Switch 1588.3.3.1.151 Brocade NETWORKING Fibre Channel Switch 1588.3.3.1.1000 Brocade NETWORKING Fibre Channel Switch 1602 Canon PRINTER 1663 Ancor NETWORKING 1663.1.1.1.1.7 Ancor NETWORKING FibreChannel 1663.1.1.1.1.24 Qlogic NETWORKING SANbox 5602 FC Switch Qlogic 1723 Lantronix 1751 Avaya NETWORKING 1751.1.18.2 Alcatel NETWORKING PSAX1250 1751.1.45.1 Avaya NETWORKING L2P550 1751.1.45.2 Avaya NETWORKING L3P550 1751.1.45.6 Avaya NETWORKING L3P660 1751.1.45.7 Avaya NETWORKING P850 1751.1.45.8 Avaya NETWORKING P580L3 1751.1.45.9 Avaya NETWORKING L3P850 1751.1.45.10 Avaya NETWORKING P882L3 1805 Sagem NETWORKING 1869 Cisco NETWORKING 1869.11.11.5.1 Cisco NETWORKING ONS-15501-DC 1869.11.11.5.3 Cisco NETWORKING ONS-15501-AC 1872 Alteon NETWORKING 1872.1.1 Nortel NETWORKING ACE110 1872.1.2 Nortel NETWORKING ACEdirector 1872.1.3 Nortel NETWORKING ACE180 1872.1.4 Nortel NETWORKING ACEdirector2 1872.1.5 Nortel NETWORKING ACEswitch180e 1872.1.6 Nortel NETWORKING ACEdirector3 1872.1.7 Nortel NETWORKING Cachedirector 1872.1.8.1.1.1 Nortel NETWORKING alteon708 1872.1.8.1.1.2 Nortel NETWORKING alteon714 1872.1.8.2.1.1 Nortel NETWORKING alteon308 1872.1.8.2.1.2 Nortel NETWORKING alteon316 1872.1.8.2.1.3 Nortel NETWORKING alteon324 1872.1.8.2.1.4 Nortel NETWORKING alteon332 1872.1.8.2.1.5 Nortel NETWORKING alteon340 1872.1.9 Nortel NETWORKING ACE184 1872.1.10 Nortel NETWORKING ACE4 1872.1.11.2 Nortel NETWORKING SSL Offload 1872.1.13.1.1 Nortel NETWORKING AWS2424 1872.1.13.1.2 Nortel NETWORKING AWS2448 1872.1.13.1.3 Nortel NETWORKING AWS2224 1872.1.13.1.4 Nortel NETWORKING AWS2424s 1872.1.13.1.5 Nortel NETWORKING AWS2208 1872.1.13.1.6 Nortel NETWORKING AWS2216 1872.1.13.1.7 Nortel NETWORKING AWS2424e5 1872.1.13.1.8 Nortel NETWORKING AWS2424se5 1872.1.13.1.9 Nortel NETWORKING AWS2208e5 1872.1.13.1.10 Nortel NETWORKING AWS2216e5 1872.1.13.2.1 Nortel NETWORKING AWS3408 1872.1.13.2.2 Nortel NETWORKING AWS3416 1872.1.13.2.3 Nortel NETWORKING AWS3408E 1872.1.13.3.1 Nortel NETWORKING Alteon 4416 1872.1.13.3.2.1 Nortel NETWORKING Alteon Application Switch 5412XL 1872.1.13.3.2.2 Nortel NETWORKING Alteon Application Switch 5412XL 1872.1.13.3.3 Nortel NETWORKING Alteon Application Switch 4408 1872.1.13.3.5.1 Nortel NETWORKING Alteon Application Switch 5224 1872.1.13.3.5.2 Nortel NETWORKING Alteon Application Switch 5224XL 1872.1.15 Nortel NETWORKING alteonL2-7Gbe 1872.1.18.1 Nortel NETWORKING alteonL2/3Gbe 1872.2.3.3.1 Nortel NETWORKING Alteon Switched Firewall 5014 1872.2.3.3.2 Nortel NETWORKING Alteon Switched Firewall 5114 # http://www.snmplink.org/OnLineMIB/Extreme/index.html#8 1916 Extreme NETWORKING 1916.2.1 Extreme NETWORKING Summit 1 1916.2.2 Extreme NETWORKING Summit 2 1916.2.3 Extreme NETWORKING Summit 3 1916.2.4 Extreme NETWORKING Summit 4 1916.2.5 Extreme NETWORKING Summit 4 Fx 1916.2.6 Extreme NETWORKING Summit 48 1916.2.6.3 Extreme NETWORKING Summit 400-24t 1916.2.7 Extreme NETWORKING Summit 24 1916.2.8 Extreme NETWORKING Black Diamond 6800 1916.2.11 Extreme NETWORKING Black Diamond 6808 1916.2.12 Extreme NETWORKING Summit 7i Sx 1916.2.13 Extreme NETWORKING Summit 7i Tx 1916.2.14 Extreme NETWORKING Summit 1i Tx 1916.2.15 Extreme NETWORKING Summit 5i 1916.2.16 Extreme NETWORKING Summit 48i 1916.2.17 Extreme NETWORKING Alpine 3808 1916.2.19 Extreme NETWORKING Summit 1i Sx 1916.2.20 Extreme NETWORKING Alpine 3804 1916.2.21 Extreme NETWORKING Summit 5iLX 1916.2.22 Extreme NETWORKING Summit 5i Tx 1916.2.23 Extreme NETWORKING enetSwitch 24 Port 1916.2.24 Extreme NETWORKING Black Diamond 6816 1916.2.25 Extreme NETWORKING Summit 24e3 1916.2.26 Extreme NETWORKING Alpine 3802 1916.2.27 Extreme NETWORKING Black Diamond 6804 1916.2.28 Extreme NETWORKING Summit 48si 1916.2.30 Extreme NETWORKING Summit Px1 1916.2.40 Extreme NETWORKING Summit 24e2 1916.2.41 Extreme NETWORKING Summit 24e2 1916.2.53 Extreme NETWORKING Summit 200-24 1916.2.54 Extreme NETWORKING Summit 200-48 1916.2.55 Extreme NETWORKING Summit 300-48 1916.2.56 Extreme NETWORKING BlackDiamond 10808 1916.2.58 Extreme NETWORKING Summit 400-48t 1916.2.60 Extreme NETWORKING Summit 200-48 1916.2.61 Extreme NETWORKING Summit 300-24 1916.2.62 Extreme NETWORKING BlackDiamond 8810 1916.2.63 Extreme NETWORKING Summit 400-24t 1916.2.64 Extreme NETWORKING Summit 400-24p 1916.2.65 Extreme NETWORKING Summit X450-24x 1916.2.66 Extreme NETWORKING Summit X450-24t 1916.2.67 Extreme NETWORKING Summit 400-48t 1916.2.68 Extreme NETWORKING Summit WM100 1916.2.69 Extreme NETWORKING Summit WM1000 1916.2.70 Extreme NETWORKING Summit 200-24fx 1916.2.71 Extreme NETWORKING Summit X406 1916.2.72 Extreme NETWORKING Summit X450e-24p 1916.2.74 Extreme NETWORKING BlackDiamond 8806 1916.2.75 Extreme NETWORKING Altitude 350 1916.2.76 Extreme NETWORKING Summit X450a-48t 1916.2.77 Extreme NETWORKING BlackDiamond 12804 1916.2.79 Extreme NETWORKING Summit X450e-48p 1916.2.80 Extreme NETWORKING Summit X450a 24tDC 1916.2.81 Extreme NETWORKING Summit X450a-24t 1916.2.82 Extreme NETWORKING Summit X450a-24xDC 1916.2.83 Extreme NETWORKING Sentriant CE150 1916.2.84 Extreme NETWORKING Summit X450a-24x 1916.2.85 Extreme NETWORKING BlackDiamond 12802 1916.2.86 Extreme NETWORKING Altitude 300 1916.2.87 Extreme NETWORKING Summit X450a-48tDC 1916.2.88 Extreme NETWORKING Summit X250-24t 1916.2.89 Extreme NETWORKING Summit X250-24p 1916.2.90 Extreme NETWORKING Summit X250-24x 1916.2.91 Extreme NETWORKING Summit X250-48t 1916.2.92 Extreme NETWORKING Summit X250-48p 1916.2.93 Extreme NETWORKING Summit Ver2Stack 1916.2.94 Extreme NETWORKING Summit WM200 1916.2.95 Extreme NETWORKING Summit WM2000 1916.2.96 Extreme NETWORKING Summit WM100Lite 1916.2.97 Extreme NETWORKING Summit X250-24tDC 1916.2.98 Extreme NETWORKING Summit X250-24xDC 1916.2.99 Extreme NETWORKING Summit X250-48tDC 1916.2.100 Extreme NETWORKING Summit X150-24t 1916.2.101 Extreme NETWORKING Summit X150-24tDC 1916.2.102 Extreme NETWORKING Summit X150-24p 1916.2.103 Extreme NETWORKING Summit X150-24x 1916.2.104 Extreme NETWORKING Summit X150-24xDC 1916.2.105 Extreme NETWORKING Summit X150-48t 1916.2.106 Extreme NETWORKING Summit X150-48tDC 1916.2.107 Extreme NETWORKING Summit X150-48p 1916.2.108 Extreme NETWORKING Sentriant AGSW 1916.2.109 Extreme NETWORKING Sentriant AG200 1916.2.110 Extreme NETWORKING Summit WM20 1916.2.111 Extreme NETWORKING Summit X350-24t 1916.2.112 Extreme NETWORKING Summit X350-48t 1916.2.113 Extreme NETWORKING Summit X650-24t 1916.2.114 Extreme NETWORKING Summit X650-24x 1916.2.115 Extreme NETWORKING Sentriant NG300 1916.2.116 Extreme NETWORKING Altitude 360 1916.2.117 Extreme NETWORKING Altitude 450 1916.2.118 Extreme NETWORKING Summit X650-24x-SSns 1916.2.119 Extreme NETWORKING Summit X650-24t-SSns 1916.2.120 Extreme NETWORKING Summit X650-24x-SS 1916.2.121 Extreme NETWORKING Summit X650-24t-SS 1916.2.122 Extreme NETWORKING Summit X650-24x-10G8X 1916.2.123 Extreme NETWORKING Summit X650-24t-10G8X 1916.2.124 Extreme NETWORKING Summit X650-24x-SS256 1916.2.125 Extreme NETWORKING Summit X650-24t-SS256 1916.2.126 Extreme NETWORKING Summit X650-24x-SS512 1916.2.127 Extreme NETWORKING Summit X650-24t-SS512 1916.2.128 Extreme NETWORKING BlackDiamond 20808 1916.2.129 Extreme NETWORKING nwi-e450a 1916.2.130 Extreme NETWORKING Sentriant PS200v1 1916.2.131 Extreme NETWORKING Summit X250-48t 1916.2.131.15 Extreme NETWORKING Summit WM3700 1916.2.131.16 Extreme NETWORKING Summit WM3600 1916.2.131.18 Extreme NETWORKING Summit WM3400 1916.2.132 Extreme NETWORKING BlackDiamond 20804 1916.2.133 Extreme NETWORKING Summit X480-48t 1916.2.134 Extreme NETWORKING Summit X480-48t-SS 1916.2.135 Extreme NETWORKING Summit X480-48t-10G4X 1916.2.136 Extreme NETWORKING Summit X480-48t-SS128 1916.2.137 Extreme NETWORKING Summit X480-24x 1916.2.138 Extreme NETWORKING Summit X480-24x-SS 1916.2.139 Extreme NETWORKING Summit X480-24x-10G4X 1916.2.140 Extreme NETWORKING Summit X480-24x-SS128 1916.2.141 Extreme NETWORKING Summit X480-48x 1916.2.142 Extreme NETWORKING Summit X480-48x-SS 1916.2.143 Extreme NETWORKING Summit X480-48x-10G4X 1916.2.144 Extreme NETWORKING Summit X480-48x-SS128 1916.2.145 Extreme NETWORKING Altitude 3510 1916.2.146 Extreme NETWORKING Altitude 3550 1916.2.148 Extreme NETWORKING Altitude 4610 1916.2.149 Extreme NETWORKING Altitude 4620 1916.2.150 Extreme NETWORKING Summit X450e-24t 1916.2.151 Extreme NETWORKING Summit X450e-48t 1916.2.152 Extreme NETWORKING Summit X460-24t 1916.2.153 Extreme NETWORKING Summit X460-24p 1916.2.154 Extreme NETWORKING Summit X460-24x 1916.2.155 Extreme NETWORKING Summit X460-48t 1916.2.156 Extreme NETWORKING Summit X460-48p 1916.2.157 Extreme NETWORKING Summit X460-48x 1916.2.158 Extreme NETWORKING Altitude 4700 1916.2.159 Extreme NETWORKING Summit X480-24x-SSV80 1916.2.160 Extreme NETWORKING Summit X480-48x-SSV80 1916.2.161 Extreme NETWORKING Summit X480-48t-SSV80 1916.2.162 Extreme NETWORKING Summit X650-24x-40G4X 1916.2.163 Extreme NETWORKING Summit X650-24t-40G4X 1916.2.164 Extreme NETWORKING Summit X480-24x-40G4X 1916.2.165 Extreme NETWORKING Summit X480-48x-40G4X 1916.2.166 Extreme NETWORKING Summit X480-48t-40G4X 1916.2.167 Extreme NETWORKING Summit X670-48x 1916.2.168 Extreme NETWORKING Summit X670v-48x 1916.2.169 Extreme NETWORKING E4G-400 1916.2.170 Extreme NETWORKING BlackDiamond X8 1916.2.171 Extreme NETWORKING E4G-200 1916.2.172 Extreme NETWORKING Summit X440-8t 1916.2.173 Extreme NETWORKING Summit X440-8p 1916.2.174 Extreme NETWORKING Summit X440-24t 1916.2.175 Extreme NETWORKING Summit X440-24p 1916.2.176 Extreme NETWORKING Summit X440-48t 1916.2.177 Extreme NETWORKING Summit X440-48p 1916.2.178 Extreme NETWORKING Summit X440-24t-10G 1916.2.179 Extreme NETWORKING Summit X440-24p-10G 1916.2.180 Extreme NETWORKING Summit X440-48t-10G 1916.2.181 Extreme NETWORKING Summit X440-48p-10G 1916.2.182 Extreme NETWORKING AGS 100-24t 1916.2.183 Extreme NETWORKING AGS 150-24p 1916.2.184 Extreme NETWORKING Summit X670v-48t 1916.2.185 Extreme NETWORKING Summit X440-L2-24t 1916.2.186 Extreme NETWORKING Summit X440-L2-48t 1916.2.188 Extreme NETWORKING Summit X440-24x 1916.2.189 Extreme NETWORKING Summit X440-24x-10g 1916.2.190 Extreme NETWORKING Summit X430-24t 1916.2.191 Extreme NETWORKING Summit X430-48t 1916.2.192 Extreme NETWORKING Summit X440-24tdc 1916.2.193 Extreme NETWORKING Summit X440-48tdc 1916.2.194 Extreme NETWORKING Summit X770-32q 1916.2.195 Extreme NETWORKING Summit X670G2-48x-4q 1919 Sun NETWORKING 1919.1.1 Sun NETWORKING Solaris2 1958 Red NETWORKING 1958.2.4 Red NETWORKING Creek ravlin10 1958.2.5 Red NETWORKING Creek ravlin3300 1958.2.9 Red NETWORKING Creek ravlin7150 1958.2.11 Red NETWORKING Creek ravlin5300 1981 EMC STORAGE 1991 Foundry NETWORKING 1991.1.1 Foundry NETWORKING ServerIron Switch 1991.1.2 Foundry NETWORKING NetIron Gigabit Switching Router 1991.1.3.1.1 Foundry NETWORKING FastIron Workgroup 1991.1.3.1.2 Foundry NETWORKING FastIron Backbone Switch 1991.1.3.2.1 Foundry NETWORKING NetIron Router 1991.1.3.3.1 Foundry NETWORKING ServerIron XL/G 1991.1.3.3.2 Foundry NETWORKING ServerIron Switch 1991.1.3.3.3 Foundry NETWORKING ServerIron XL with Transparent Cache Switching (TCS) 1991.1.3.4.1 Foundry NETWORKING TurboIron Switch 1991.1.3.4.2 Foundry NETWORKING TurboIron Router 1991.1.3.5.1 Foundry NETWORKING TurboIron/8 Switch 1991.1.3.5.2 Foundry NETWORKING TurboIron/8 Router 1991.1.3.5.3 Foundry NETWORKING ServerIron 4G-SSL 1991.1.3.5.4 Foundry NETWORKING ServerIron 800 Switch 1991.1.3.6 Foundry NETWORKING BigIron 4000 1991.1.3.6.1 Foundry NETWORKING BigIron 4000 Switch 1991.1.3.6.2 Foundry NETWORKING BigIron 4000 Router 1991.1.3.6.3 Foundry NETWORKING BigServerIron 4000 1991.1.3.7 Foundry NETWORKING BigIron 8000 1991.1.3.7.1 Foundry NETWORKING BigIron 8000 Switch 1991.1.3.7.2 Foundry NETWORKING BigIron 8000 Router 1991.1.3.7.3 Foundry NETWORKING BigServerIron 8000 1991.1.3.8.1 Foundry NETWORKING FastIron II Switch 1991.1.3.8.2 Foundry NETWORKING FastIron II Router 1991.1.3.9.1 Foundry NETWORKING FastIron II Plus Switch 1991.1.3.9.2 Foundry NETWORKING FastIron II Plus Router 1991.1.3.10.1 Foundry NETWORKING NetIron 400 Router 1991.1.3.11.1 Foundry NETWORKING NetIron 800 Router 1991.1.3.12.1 Foundry NETWORKING FastIron II Gigabit Copper Switch 1991.1.3.12.2 Foundry NETWORKING FastIron II Gigabit Copper Router 1991.1.3.13.1 Foundry NETWORKING FastIron II Plus Gigabit Copper Switch 1991.1.3.13.2 Foundry NETWORKING FastIron II Plus Gigabit Copper Router 1991.1.3.14.1 Foundry NETWORKING BigIron 15000 Switch 1991.1.3.14.2 Foundry NETWORKING BigIron 15000 Router 1991.1.3.14.3 Foundry NETWORKING BigIron 15000 ServerIron 1991.1.3.15.1 Foundry NETWORKING NetIron 1500 Router 1991.1.3.16.1 Foundry NETWORKING FastIron II Switch 1991.1.3.16.2 Foundry NETWORKING FastIron III Router 1991.1.3.17.1 Foundry NETWORKING FastIron III Gigabit Copper Switch 1991.1.3.17.2 Foundry NETWORKING FastIron III Gigabit Copper Router 1991.1.3.18.1 Foundry NETWORKING ServerIron 400 Switch 1991.1.3.18.2 Foundry NETWORKING ServerIron 400 Router 1991.1.3.19.1 Foundry NETWORKING ServerIron 800 Switch 1991.1.3.19.2 Foundry NETWORKING ServerIron 800 Router 1991.1.3.20.1 Foundry NETWORKING ServerIron 1500 Switch 1991.1.3.20.2 Foundry NETWORKING ServerIron 1500 Router 1991.1.3.21.1 Foundry NETWORKING FastIron 4802 Switch 1991.1.3.21.2 Foundry NETWORKING Stackable 4802 Router 1991.1.3.21.3 Foundry NETWORKING Stackable 4802 ServerIron 1991.1.3.22.1 Foundry NETWORKING FastIron 400 Switch 1991.1.3.22.2 Foundry NETWORKING FastIron 400 Router 1991.1.3.23.1 Foundry NETWORKING FastIron 800 Switch 1991.1.3.23.2 Foundry NETWORKING FastIron 800 Router 1991.1.3.24.1 Foundry NETWORKING FastIron 1500 Switch 1991.1.3.24.2 Foundry NETWORKING FastIron 1500 Router 1991.1.3.25.1 Foundry NETWORKING FastIron Edge 2402 Switch 1991.1.3.25.2 Foundry NETWORKING FastIron Edge 2402 Switch 1991.1.3.26.1 Foundry NETWORKING FastIron 4802 Edge Switch 1991.1.3.26.2 Foundry NETWORKING FastIron 4802 Edge Router 1991.1.3.27.1 Foundry NETWORKING FastIron Edge 9604 Switch 1991.1.3.27.2 Foundry NETWORKING FastIron 9604 Edge Router 1991.1.3.28.1 Foundry NETWORKING FastIron 12GCF Edge Switch (FES) 1991.1.3.28.2 Foundry NETWORKING FastIron Edge 12GCF Router 1991.1.3.29.1 Foundry NETWORKING FastIron 2402 Edge Switch (FES) 1991.1.3.29.2 Foundry NETWORKING FastIron 2402 Edge Router (FES) 1991.1.3.30.1 Foundry NETWORKING FastIron Edge 4802-ILP Switch 1991.1.3.30.2 Foundry NETWORKING FastIron 2402 Power Over Ethernet (PoE) Edge Router (FES) 1991.1.3.31.1 Foundry NETWORKING NetIron 4802 Switch 1991.1.3.31.2 Foundry NETWORKING NetIron 4802 Router 1991.1.3.32.1 Foundry NETWORKING BigIron MG8 Switch 1991.1.3.32.2 Foundry NETWORKING BigIron MG8 Router 1991.1.3.33.1 Foundry NETWORKING NetIron 40G Switch 1991.1.3.33.2 Foundry NETWORKING NetIron 40G Router 1991.1.3.34.1.1.1.1 Foundry NETWORKING FastIron X424 Edge Switch (FES) 1991.1.3.34.1.1.1.2 Foundry NETWORKING FastIron X424 Edge Router (FES) 1991.1.3.34.1.1.2.1 Foundry NETWORKING FastIron X424 Edge Premium Switch (FES) 1991.1.3.34.1.1.2.2 Foundry NETWORKING FastIron FESX424R 1991.1.3.34.1.2.1.1 Foundry NETWORKING FastIron X424 Plus 1XG Edge Switch (FES) 1991.1.3.34.1.2.1.2 Foundry NETWORKING FastIron X424 Plus 1XG Edge Router (FES) 1991.1.3.34.1.2.2.1 Foundry NETWORKING FastIron X424 Plus 1XG Premium Edge Switch (FES) 1991.1.3.34.1.2.2.2 Foundry NETWORKING FastIron X424 Plus 1XG Premium Edge Router (FES) 1991.1.3.34.1.3.1.1 Foundry NETWORKING FastIron X424 Plus 2XG Edge Switch (FES) 1991.1.3.34.1.3.1.2 Foundry NETWORKING FastIron X424 Plus 2XG Edge Router (FES) 1991.1.3.34.1.3.2.1 Foundry NETWORKING FastIron X424 Plus 2XG Premium Edge Switch (FES) 1991.1.3.34.1.3.2.2 Foundry NETWORKING FastIron X424 Plus 2XG Premium Edge Router (FES) 1991.1.3.34.2.1.1.1 Foundry NETWORKING FastIron X448 Edge Switch (FES) 1991.1.3.34.2.1.1.2 Foundry NETWORKING FastIron X448 Edge Router (FES) 1991.1.3.34.2.1.2.1 Foundry NETWORKING FastIron X448 Edge Premium Switch (FES) 1991.1.3.34.2.1.2.2 Foundry NETWORKING FastIron X448 Edge Premium Router (FES) 1991.1.3.34.2.2.1.1 Foundry NETWORKING FastIron X448 Plus 1XG Edge Switch (FES) 1991.1.3.34.2.2.1.2 Foundry NETWORKING FastIron X448 Plus 1XG Edge Router (FES) 1991.1.3.34.2.2.2.1 Foundry NETWORKING FastIron X448 Plus 1XG Premium Edge Switch (FES) 1991.1.3.34.2.2.2.2 Foundry NETWORKING FastIron X448 Plus 1XG Premium Edge Router (FES) 1991.1.3.34.2.3.1.1 Foundry NETWORKING FastIron X448 Plus 2XG Edge Switch (FES) 1991.1.3.34.2.3.1.2 Foundry NETWORKING FastIron X448 Plus 2XG Edge Router (FES) 1991.1.3.34.2.3.2.1 Foundry NETWORKING FastIron X448 Plus 2XG Premium Edge Switch (FES) 1991.1.3.34.2.3.2.2 Foundry NETWORKING FastIron X448 Plus 2XG Premium Edge Router (FES) 1991.1.3.34.3.1.1.1 Foundry NETWORKING FastIron X424 Edge Switch (FES) 1991.1.3.34.3.1.1.2 Foundry NETWORKING FastIron X424F Edge Switch Power Supply 1991.1.3.34.3.3.1.1 Foundry NETWORKING FastIron X424F Plus 2XG Edge Switch 1991.1.3.35.1.1.1.1 Foundry NETWORKING FastIron X424 Workgroup Switch (FES) 1991.1.3.35.1.2.1.1 Foundry NETWORKING FastIron X424 Plus 1XG Workgroup Switch (FES) 1991.1.3.35.1.3.1.1 Foundry NETWORKING FastIron X424 Plus 2XG Workgroup Switch (FES) 1991.1.3.35.2.1.1.1 Foundry NETWORKING FastIron Workgroup X448 Switch 1991.1.3.35.2.2.1.1 Foundry NETWORKING FastIron X448 Plus 1XG Workgroup Switch (FES) 1991.1.3.35.2.3.1.1 Foundry NETWORKING FastIron Workgroup FWSX448-Plus2XG Switch 1991.1.3.36 Foundry NETWORKING FastIron Super-X1 1991.1.3.36.1.1 Foundry NETWORKING FastIron Super-X1 Switch 1991.1.3.36.1.2 Foundry NETWORKING FastIron Super-X1 Router 1991.1.3.36.1.3 Foundry NETWORKING FastIron Super-X1 Base Layer 3 Switch 1991.1.3.36.2.1 Foundry NETWORKING FastIron Super-X Premium Switch 1991.1.3.36.2.2 Foundry NETWORKING FastIron SuperX-PREM 1991.1.3.36.2.3 Foundry NETWORKING FastIron Super-X Premium Base Layer 3 Switch 1991.1.3.36.3.1 Foundry NETWORKING FastIron SX 800 Switch 1991.1.3.36.3.3 Foundry NETWORKING FastIron Super-X 800 Switch 1991.1.3.36.5.1 Brocade NETWORKING FastIron SX 1600 1991.1.3.36.6.2 Foundry NETWORKING FastIron SX 1600-PREM 1991.1.3.37 Foundry NETWORKING BigIron Super-X 1991.1.3.37.1.1 Foundry NETWORKING BigIron Super-X Switch 1991.1.3.37.1.2 Foundry NETWORKING BigIron Super-X Router 1991.1.3.37.1.3 Foundry NETWORKING BigIron Super-X Base Layer 3 Switch 1991.1.3.39 Foundry NETWORKING NetIron IMR Switch 1991.1.3.39.1 Foundry NETWORKING NetIron IMR 640 Switch 1991.1.3.39.2 Foundry NETWORKING NetIron IMR 640 Router 1991.1.3.40.1.1 Foundry NETWORKING BigIron RX16 Switch 1991.1.3.40.1.2 Foundry NETWORKING BigIron RX Series Switch 1991.1.3.40.2.1 Foundry NETWORKING BigIron RX4 Switch 1991.1.3.40.2.2 Foundry NETWORKING BigIron RX8 1991.1.3.40.3.1 Foundry NETWORKING BigIron RX4 Switch 1991.1.3.40.3.2 Foundry NETWORKING BigIron RX4 Router 1991.1.3.40.4.1 Brocade NETWORKING BigIron RX32 1991.1.3.44.1.1 Foundry NETWORKING NetIron MLX 16000 Switch 1991.1.3.44.1.2 Foundry NETWORKING NetIron MLX 16000 Router 1991.1.3.44.2.2 Foundry NETWORKING NetIron MLX 8K Router 1991.1.3.44.3.1 Foundry NETWORKING NetIron MLX 4000 Switch 1991.1.3.44.3.2 Foundry NETWORKING NetIron MLK 4000 Router 1991.1.3.45.1.3.1.1 Foundry NETWORKING FastIron FGS624P 1991.1.3.45.2.2.1.1 Foundry NETWORKING FastIron FGS648P Switch 1991.1.3.46.1.1.1.1 Brocade NETWORKING FLS 624 1991.1.3.46.2.1.1.1 Foundry NETWORKING FastIron FLS648 Hub 1991.1.3.47.1.1 Foundry NETWORKING ServerIron 100 Switch 1991.1.3.47.1.2 Foundry NETWORKING ServerIron 100 Router 1991.1.3.47.2.1 Foundry NETWORKING ServerIron 350 Switch 1991.1.3.47.2.2 Foundry NETWORKING ServerIron 350 Router 1991.1.3.47.3.1 Foundry NETWORKING ServerIron 450 Switch 1991.1.3.47.3.2 Foundry NETWORKING ServerIron 450 Router 1991.1.3.47.4.1 Foundry NETWORKING ServerIron 850 Switch 1991.1.3.47.4.2 Foundry NETWORKING ServerIron 850 Router 1991.1.3.47.5.1 Foundry NETWORKING ServerIron 350 Plus Switch 1991.1.3.47.5.2 Foundry NETWORKING ServerIron 350 Plus Router 1991.1.3.47.6.1 Foundry NETWORKING ServerIron 450 Plus Switch 1991.1.3.47.6.2 Foundry NETWORKING ServerIron 450 Plus Router 1991.1.3.47.7.1 Foundry NETWORKING ServerIron 850 Plus Switch 1991.1.3.47.7.2 Foundry NETWORKING ServerIron 850 Plus Router 1991.1.3.47.8.1 Foundry NETWORKING ServerIronGT C Switch 1991.1.3.47.8.2 Foundry NETWORKING ServerIronGT C-Series 1991.1.3.47.9.1 Foundry NETWORKING ServerIronGT E Switch 1991.1.3.47.9.2 Foundry NETWORKING ServerIronGT E 1991.1.3.47.10.1 Foundry NETWORKING ServerIronGT E Plus Switch 1991.1.3.47.10.2 Foundry NETWORKING ServerIronGT E Plus Router 1991.1.3.47.11.1 Foundry NETWORKING ServerIron4G Switch 1991.1.3.47.11.2 Foundry NETWORKING ServerIron4G Router 1991.1.3.47.12.1 Brocade NETWORKING ServerIron ADX 1008-1 1991.1.3.47.12.2 Foundry NETWORKING ServerIron ADX 1000 1991.1.3.47.14.2 Brocade NETWORKING ServerIron ADX 4000 1991.1.3.48.1.1 Foundry NETWORKING FastIron GS FGS648P-PoE 48 Port Switch 1991.1.3.48.2.3 Foundry NETWORKING FCX 648S-HPoE 1991.1.3.48.5.1 Foundry NETWORKING ICX 6450-24-HPoE 1991.1.3.49.1 Foundry NETWORKING NetIron CES 2024F 1991.1.3.49.2 Foundry NETWORKING NetIron CES 2024C 1991.1.3.49.5 Foundry NETWORKING NetIron CES Switch 1991.1.3.53.1.2 Foundry NETWORKING TurboIron-X24 1991.1.3.54.1.3.1.1 Foundry NETWORKING FCX 624SF 1991.1.3.54.1.4.1.3 Brocade NETWORKING FCX 624 1991.1.3.54.2.1.1.1 Foundry NETWORKING FCX 648S 1991.1.3.54.2.1.1.3 Foundry NETWORKING FCX 648S 1991.1.3.54.2.2.1.1 Foundry NETWORKING Fast Iron Switch FCX 648S-HPoE 1991.1.3.54.2.2.1.3 Foundry NETWORKING FCX 648S-HPoE 1991.1.3.54.2.4.1.3 Foundry NETWORKING FCX 648 1991.1.3.55.2.2 Foundry NETWORKING MLXe 1991.1.3.55.3.2 Foundry NETWORKING MLXe 1991.1.3.55.4.2 Brocade NETWORKING MLXe-32 1991.1.3.56.1.1.1.1 Brocade NETWORKING ICX 6610-24 Switch Image 1991.1.3.56.1.1.1.2 Brocade NETWORKING ICX 6610-24 Base Layer 3 Router Image 1991.1.3.56.1.1.1.3 Brocade NETWORKING ICX 6610-24 Base Router Image 1991.1.3.56.1.1.1.4 Brocade NETWORKING ICX 6610-24 Premium Router Image 1991.1.3.56.1.1.1.5 Brocade NETWORKING ICX 6610-24 Advanced Router Image 1991.1.3.56.1.2.1.1 Brocade NETWORKING ICX 6610-24 HPOE Switch Image 1991.1.3.56.1.2.1.2 Brocade NETWORKING ICX 6610-24 HPOE Base Layer 3 Router Image 1991.1.3.56.1.2.1.3 Brocade NETWORKING ICX 6610-24 HPOE Base Router Image 1991.1.3.56.1.2.1.4 Brocade NETWORKING ICX 6610-24 HPOE Premium Router Image 1991.1.3.56.1.2.1.5 Brocade NETWORKING ICX 6610-24 HPOE Advanced Router Image 1991.1.3.56.1.3.1.1 Brocade NETWORKING ICX 6610-24F Switch Image 1991.1.3.56.1.3.1.2 Brocade NETWORKING ICX 6610-24F Base Layer 3 Router Image 1991.1.3.56.1.3.1.3 Brocade NETWORKING ICX 6610-24F Base Router Image 1991.1.3.56.1.3.1.4 Brocade NETWORKING ICX 6610-24F Premium Router Image 1991.1.3.56.1.3.1.5 Brocade NETWORKING ICX 6610-24F Advanced Router Image 1991.1.3.56.2.1.1.1 Brocade NETWORKING ICX 6610-48 Switch Image 1991.1.3.56.2.1.1.2 Brocade NETWORKING ICX 6610-48 Base Layer 3 Router Image 1991.1.3.56.2.1.1.3 Brocade NETWORKING ICX 6610-48 Base Router Image 1991.1.3.56.2.1.1.4 Brocade NETWORKING ICX 6610-48 Premium Router Image 1991.1.3.56.2.1.1.5 Brocade NETWORKING ICX 6610-48 Advanced Router Image 1991.1.3.56.2.2.1.1 Brocade NETWORKING ICX 6610-48 HPOE Switch Image 1991.1.3.56.2.2.1.2 Brocade NETWORKING ICX 6610-48 HPOE Base Layer 3 Router Image 1991.1.3.56.2.2.1.3 Brocade NETWORKING ICX 6610-48 HPOE Base Router Image 1991.1.3.56.2.2.1.4 Brocade NETWORKING ICX 6610-48 HPOE Premium Router Image 1991.1.3.56.2.2.1.5 Brocade NETWORKING ICX 6610-48 HPOE Advanced Router Image 1991.1.3.57.1.1.1.1 Brocade NETWORKING ICX 6430-24 Switch 1991.1.3.57.1.2.1.1 Brocade NETWORKING ICX 6430-24 HPOE Switch 1991.1.3.57.2.1.1.1 Brocade NETWORKING ICX 6430-48 Switch 1991.1.3.57.2.2.1.1 Brocade NETWORKING ICX 6430-48 HPOE Switch 1991.1.3.57.3.1.1.1 Brocade NETWORKING ICX 6430-C12-PD Switch 1991.1.3.58.1.1.1.1 Brocade NETWORKING ICX 6450-24 Switch Image 1991.1.3.58.1.1.1.2 Brocade NETWORKING ICX 6450-24 Base Layer 3 Router Image 1991.1.3.58.1.1.1.3 Brocade NETWORKING ICX 6450-24 Base Router Image 1991.1.3.58.1.1.1.4 Brocade NETWORKING ICX 6450-24 Premium Router Image 1991.1.3.58.1.2.1.1 Brocade NETWORKING ICX 6450-24 HPOE Switch Image 1991.1.3.58.1.2.1.2 Brocade NETWORKING ICX 6450-24 HPOE Base Layer 3 Router Image 1991.1.3.58.1.2.1.3 Brocade NETWORKING ICX 6450-24 HPOE Base Router Image 1991.1.3.58.1.2.1.4 Brocade NETWORKING ICX 6450-24 HPOE Premium Router Image 1991.1.3.58.2.1.1.1 Brocade NETWORKING ICX 6450-48 Switch Image 1991.1.3.58.2.1.1.2 Brocade NETWORKING ICX 6450-48 Base Layer 3 Router Image 1991.1.3.58.2.1.1.3 Brocade NETWORKING ICX 6450-48 Base Router Image 1991.1.3.58.2.1.1.4 Brocade NETWORKING ICX 6450-48 Premium Router Image 1991.1.3.58.2.2.1.1 Brocade NETWORKING ICX 6450-48 HPOE Switch Image 1991.1.3.58.2.2.1.2 Brocade NETWORKING ICX 6450-48 HPOE Base Layer 3 Router Image 1991.1.3.58.2.2.1.3 Brocade NETWORKING ICX 6450-48 HPOE Base Router Image 1991.1.3.58.2.2.1.4 Brocade NETWORKING ICX 6450-48 HPOE Premium Router Image 1991.1.3.58.3.1.1.1 Brocade NETWORKING ICX 6450-C12-PD Switch Image 1991.1.3.58.3.1.1.2 Brocade NETWORKING ICX 6450-C12-PD Base Layer 3 Router Image 1991.1.3.58.3.1.1.3 Brocade NETWORKING ICX 6450-C12-PD Base Router Image 1991.1.3.58.3.1.1.4 Brocade NETWORKING ICX 6450-C12-PD Premium Router Image 1991.1.3.59.1.1.1.1 Brocade NETWORKING ICX 6650-64 Switch Image 1991.1.3.59.1.1.1.2 Brocade NETWORKING ICX 6650-64 Base Layer 3 Router Image 1991.1.3.59.1.1.1.3 Brocade NETWORKING ICX 6650-64 Base Router Image 1991.1.3.60.1.1.1.1 Brocade NETWORKING ICX 7750-48C Switch Image 1991.1.3.60.1.1.1.2 Brocade NETWORKING ICX 7750-48C Base Layer 3 Router Image 1991.1.3.60.1.1.1.3 Brocade NETWORKING ICX 7750-48C Base Router Image 1991.1.3.60.2.1.1.1 Brocade NETWORKING ICX 7750-48F Switch Image 1991.1.3.60.2.1.1.2 Brocade NETWORKING ICX 7750-48F Base Layer 3 Router Image 1991.1.3.60.2.1.1.3 Brocade NETWORKING ICX 7750-48F Base Router Image 1991.1.3.60.3.1.1.1 Brocade NETWORKING ICX 7750-26Q Switch Image 1991.1.3.60.3.1.1.2 Brocade NETWORKING ICX 7750-26Q Base Layer 3 Router Image 1991.1.3.60.3.1.1.3 Brocade NETWORKING ICX 7750-26Q Base Router Image 1991.1.3.61.1.1.1.1 Brocade NETWORKING ICX 7450-24 Switch Image 1991.1.3.61.1.1.1.2 Brocade NETWORKING ICX 7450-24 Base Layer 3 Router Image 1991.1.3.61.1.1.1.3 Brocade NETWORKING ICX 7450-24 Base Router Image 1991.1.3.61.1.2.1.1 Brocade NETWORKING ICX 7450-24 HPOE Switch Image 1991.1.3.61.1.2.1.2 Brocade NETWORKING ICX 7450-24 HPOE Base Layer 3 Router Image 1991.1.3.61.1.2.1.3 Brocade NETWORKING ICX 7450-24 HPOE Base Router Image 1991.1.3.61.2.1.1.1 Brocade NETWORKING ICX 7450-48 Switch Image 1991.1.3.61.2.1.1.2 Brocade NETWORKING ICX 7450-48 Base Layer 3 Router Image 1991.1.3.61.2.1.1.3 Brocade NETWORKING ICX 7450-48 Base Router Image 1991.1.3.61.2.2.1.1 Brocade NETWORKING ICX 7450-48 HPOE Switch Image 1991.1.3.61.2.2.1.2 Brocade NETWORKING ICX 7450-48 HPOE Base Layer 3 Router Image 1991.1.3.61.2.2.1.3 Brocade NETWORKING ICX 7450-48 HPOE Base Router Image 1991.1.3.61.2.3.1.1 Brocade NETWORKING ICX 7450-48F Switch Image 1991.1.3.61.2.3.1.2 Brocade NETWORKING ICX 7450-48F Base Layer 3 Router Image 1991.1.3.61.2.3.1.3 Brocade NETWORKING ICX 7450-48F Base Router Image 1991.1.3.62.1.1.1.1 Brocade NETWORKING ICX 7250-24 Switch Image 1991.1.3.62.1.1.1.2 Brocade NETWORKING ICX 7250-24 Base Layer 3 Router Image 1991.1.3.62.1.1.1.3 Brocade NETWORKING ICX 7250-24 Base Router Image 1991.1.3.62.1.2.1.1 Brocade NETWORKING ICX 7250-24 HPOE Switch Image 1991.1.3.62.1.2.1.2 Brocade NETWORKING ICX 7250-24 HPOE Base Layer 3 Router Image 1991.1.3.62.1.2.1.3 Brocade NETWORKING ICX 7250-24 HPOE Base Router Image 1991.1.3.62.1.3.1.1 Brocade NETWORKING ICX 7250-24 1G Switch Image 1991.1.3.62.1.3.1.2 Brocade NETWORKING ICX 7250-24 1G Base Layer 3 Router Image 1991.1.3.62.2.1.1.1 Brocade NETWORKING ICX 7250-48 Switch Image 1991.1.3.62.2.1.1.2 Brocade NETWORKING ICX 7250-48 Base Layer 3 Router Image 1991.1.3.62.2.1.1.3 Brocade NETWORKING ICX 7250-48 Base Router Image 1991.1.3.62.2.2.1.1 Brocade NETWORKING ICX 7250-48 HPOE Switch Image 1991.1.3.62.2.2.1.2 Brocade NETWORKING ICX 7250-48 HPOE Base Layer 3 Router Image 1991.1.3.62.2.2.1.3 Brocade NETWORKING ICX 7250-48 HPOE Base Router Image 1991.1.5.1.1.4.2.1 Foundry NETWORKING FastIron 2402CF Switch 1991.1.5.1.1.4.3.1 Foundry NETWORKING FastIron 4802CF Switch 1991.1.5.1.1.4.4.1 Foundry NETWORKING EdgeIron 24G-A 1991.1.5.1.1.4.5.1 Foundry NETWORKING EdgeIron 48G 1991.1.5.1.1.4.10.1 Foundry NETWORKING EdgeIron 48G1X10G 1996 Copper NETWORKING 1996.1.2 Copper NETWORKING Edge150 1996.1.3 Copper NETWORKING Edge200 2000 TIBCO NETWORKING 2000.3.6 TIBCO NETWORKING LANBIRD 2001 Oki PRINTER 2001.1.1.1.1 Oki PRINTER 2011 Huawei NETWORKING 2011.1.1.1.2 Huawei NETWORKING QuidWay NetEngine R2611 2011.1.1.1.1600 Huawei NETWORKING QuidWay NetEngine R1600 2011.1.1.1.1602 Huawei NETWORKING QuidWay NetEngine R1602 2011.1.1.1.1612 Huawei NETWORKING QuidWay NetEngine R1612 2011.1.1.1.1613 Huawei NETWORKING QuidWay NetEngine R1613 2011.1.1.1.1614 Huawei NETWORKING QuidWay NetEngine R1614 2011.1.1.1.1615 Huawei NETWORKING QuidWay NetEngine R1615 2011.1.1.1.1760 Huawei NETWORKING QuidWay NetEngine R1760 2011.1.1.1.1761 Huawei NETWORKING QuidWay NetEngine R1760B 2011.1.1.1.2501 Huawei NETWORKING QuidWay NetEngine R2501 2011.1.1.1.2509 Huawei NETWORKING QuidWay NetEngine R2509 2011.1.1.1.2511 Huawei NETWORKING QuidWay NetEngine R2511 2011.1.1.1.2601 Huawei NETWORKING QuidWay NetEngine R2501E 2011.1.1.1.2606 Huawei NETWORKING QuidWay NetEngine R4001E 2011.1.1.1.2608 Huawei NETWORKING QuidWay NetEngine R2509E 2011.1.1.1.2609 Huawei NETWORKING QuidWay NetEngine R2511E 2011.1.1.1.2610 Huawei NETWORKING QuidWay NetEngine R2610 2011.1.1.1.2611 Huawei NETWORKING QuidWay NetEngine R2611 2011.1.1.1.2620 Huawei NETWORKING QuidWay NetEngine R2620 2011.1.1.1.2621 Huawei NETWORKING QuidWay NetEngine R2621 2011.1.1.1.2630 Huawei NETWORKING QuidWay NetEngine R2630E 2011.1.1.1.2631 Huawei NETWORKING QuidWay NetEngine R2631E 2011.1.1.1.3640 Huawei NETWORKING QuidWay NetEngine R3640E 2011.1.1.1.3680 Huawei NETWORKING QuidWay NetEngine R3680E 2011.1.1.1.4001 Huawei NETWORKING QuidWay NetEngine R4001 2011.1.1.1.11812 Huawei NETWORKING AR18-12 2011.1.1.1.11813 Huawei NETWORKING AR18-13 2011.1.1.1.11815 Huawei NETWORKING AR18-15 2011.1.1.1.11816 Huawei NETWORKING AR18-16 2011.1.1.1.12809 Huawei NETWORKING AR28-09 2011.1.1.1.12810 Huawei NETWORKING AR28-10 2011.1.1.1.12811 Huawei NETWORKING AR28-11 2011.1.1.1.12830 Huawei NETWORKING AR28-30 2011.1.1.1.12831 Huawei NETWORKING AR28-31 2011.1.1.1.12840 Huawei NETWORKING AR28-40 2011.1.1.1.12880 Huawei NETWORKING AR28-80 2011.2.2.1.7508 Huawei NETWORKING QuidWay NetEngine 08 2011.2.2.1.7516 Huawei NETWORKING QuidWay NetEngine R7516 2011.2.4.1.0 Huawei NETWORKING QuidWay S2403 2011.2.6.2 Huawei NETWORKING MA5200 2011.2.6.2.18 Huawei NETWORKING MA5200E 2011.2.6.2.28.0 Huawei NETWORKING MA5200F 2011.2.6.2.30 Huawei NETWORKING MA5200G 2011.2.6.2.31 Huawei NETWORKING MA5200G-4 2011.2.6.2.32 Huawei NETWORKING MA5200G-2 2011.2.6.5.21 Huawei NETWORKING MA5100-V100 2011.2.6.5.22 Huawei NETWORKING MA5100-V200 2011.2.17 Huawei NETWORKING QuidWay NetEngine NE80 2011.2.23.11 Huawei NETWORKING QuidWay S8016 2011.2.23.11.2 Huawei NETWORKING QuidWay S8016 2011.2.23.12 Huawei NETWORKING QuidWay S3526 2011.2.23.13 Huawei NETWORKING QuidWay S3026 2011.2.23.14 Huawei NETWORKING QuidWay S3026V 2011.2.23.15 Huawei NETWORKING QuidWay S3026V 2011.2.23.16 Huawei NETWORKING QuidWay S2016 2011.2.23.17 Huawei NETWORKING QuidWay S3526F 2011.2.23.18 Huawei NETWORKING QuidWay S5516 2011.2.23.19 Huawei NETWORKING QuidWay S6506 2011.2.23.20 Huawei NETWORKING QuidWay S3026-FM/FS 2011.2.23.21 Huawei NETWORKING QuidWay S3526E 2011.2.23.22 Huawei NETWORKING QuidWay S2206 2011.2.23.23 Huawei NETWORKING QuidWay S2403H 2011.2.23.24 Huawei NETWORKING QuidWay S3026E 2011.2.23.25 Huawei NETWORKING QuidWay S3026EFM 2011.2.23.26 Huawei NETWORKING QuidWay S3026EFS 2011.2.23.27 Huawei NETWORKING QuidWay S3526EFM 2011.2.23.28 Huawei NETWORKING QuidWay S3526EFS 2011.2.23.29 Huawei NETWORKING QuidWay S3050C 2011.2.23.30 Huawei NETWORKING QuidWay S6503 2011.2.23.31 Huawei NETWORKING QuidWay S8512 2011.2.23.32 Huawei NETWORKING QuidWay S8505 2011.2.23.33 Huawei NETWORKING QuidWay S6506R 2011.2.23.34 Huawei NETWORKING QuidWay S3026C 2011.2.23.35 Huawei NETWORKING QuidWay S3026G 2011.2.23.36 Huawei NETWORKING QuidWay S3026T 2011.2.23.37 Huawei NETWORKING QuidWay S3552G 2011.2.23.38 Huawei NETWORKING QuidWay S3552P 2011.2.23.39 Huawei NETWORKING QuidWay S3528G 2011.2.23.40 Huawei NETWORKING QuidWay S3528P 2011.2.23.41 Huawei NETWORKING QuidWay S3526c 2011.2.23.42 Huawei NETWORKING QuidWay S3026C-24-12FS 2011.2.23.43 Huawei NETWORKING QuidWay S3026C-24-12FM 2011.2.23.44 Huawei NETWORKING QuidWay S3526C-24-12FS 2011.2.23.45 Huawei NETWORKING QuidWay S3526C-24-12FM 2011.2.23.46 Huawei NETWORKING QuidWay S5012G 2011.2.23.47 Huawei NETWORKING QuidWay S5012G-DC 2011.2.23.48 Huawei NETWORKING QuidWay S5012T-12-10GBC 2011.2.23.49 Huawei NETWORKING QuidWay S5012T-12-10GBC-DC 2011.2.23.50 Huawei NETWORKING QuidWay S5024G-24-20TP 2011.2.23.51 Huawei NETWORKING QuidWay S5024G-24-20TP-DC 2011.2.23.52 Huawei NETWORKING QuidWay S2026Z 2011.2.23.53 Huawei NETWORKING QuidWay S2026C 2011.2.23.54 Huawei NETWORKING QuidWay S3026G-SI 2011.2.23.55 Huawei NETWORKING QuidWay S3026C-SI 2011.2.23.56 Huawei NETWORKING QuidWay S3026S-SI 2011.2.23.57 Huawei NETWORKING S8505E 2011.2.23.67 Huawei NETWORKING S3552F-SI 2011.2.23.68 Huawei NETWORKING Quidway S3552F-EI 2011.2.23.69 Huawei NETWORKING E026 2011.2.23.70 Huawei NETWORKING E026-SI 2011.2.23.71 Huawei NETWORKING E050 2011.2.23.72 Huawei NETWORKING S2326P-SI 2011.2.23.78 Huawei NETWORKING S3352P-SI 2011.2.23.79 Huawei NETWORKING S3352P-EI 2011.2.23.80 Huawei NETWORKING S3328TP-SI 2011.2.23.81 Huawei NETWORKING QuidWay S3328 2011.2.23.82 Huawei NETWORKING S3328TP-EI-24S 2011.2.23.84 Huawei NETWORKING S3352P-EI-24S 2011.2.23.85 Huawei NETWORKING S3352P-EI-48S 2011.2.23.87 Huawei NETWORKING S2309TP-SI 2011.2.23.88 Huawei NETWORKING S2309TP-EI 2011.2.23.89 Huawei NETWORKING S2318TP-SI 2011.2.23.90 Huawei NETWORKING S2318TP-EI 2011.2.23.91 Huawei NETWORKING S2326TP-SI 2011.2.23.92 Huawei NETWORKING S2326TP-EI 2011.2.23.93 Huawei NETWORKING S2352P-SI 2011.2.23.94 Huawei NETWORKING S2352P-EI 2011.2.23.95 Huawei NETWORKING S5328C-EI 2011.2.23.96 Huawei NETWORKING S5328C-EI-24S 2011.2.23.97 Huawei NETWORKING S5352C-EI 2011.2.23.98 Huawei NETWORKING S5324TP-SI 2011.2.23.99 Huawei NETWORKING S5348TP-SI 2011.2.23.100 Huawei NETWORKING S5324TP-PWR-SI 2011.2.23.101 Huawei NETWORKING S5348TP-PWR-SI 2011.2.23.102 Huawei NETWORKING S5328C-SI 2011.2.23.103 Huawei NETWORKING S5352C-SI 2011.2.23.104 Huawei NETWORKING S5328C-PWR-SI 2011.2.23.105 Huawei NETWORKING S5352C-PWR-SI 2011.2.23.106 Huawei NETWORKING S5328C-PWR-EI 2011.2.23.107 Huawei NETWORKING S5352C-PWR-EI 2011.2.23.108 Huawei NETWORKING S2309TP-PWR-EI 2011.2.23.109 Huawei NETWORKING S2326TP-PWR-EI 2011.2.23.110 Huawei NETWORKING S3328TP-PWR-EI 2011.2.23.111 Huawei NETWORKING S3352P-PWR-EI 2011.2.23.112 Huawei NETWORKING S3328TP-EI-MC 2011.2.23.141 Huawei NETWORKING QuidWay S5700-28C-SI 2011.2.23.144 Huawei NETWORKING QuidWay S5700-52C-SI 2011.2.23.153 Huawei NETWORKING S6324-EI 2011.2.23.165 Huawei NETWORKING S5700-52P-LI-AC 2011.2.23.166 Huawei NETWORKING QuidWay S5700-52P-PWR-LI 2011.2.23.167 Huawei NETWORKING QuidWay S5710-28C-EI 2011.2.23.169 Huawei NETWORKING S5700-28C-HI 2011.2.23.187 Huawei NETWORKING QuidWay S5700-28C-PWR-SI 2011.2.23.188 Huawei NETWORKING S5700-52C-PWR-SI 2011.2.23.204 Huawei NETWORKING QuidWay S5700-10P-PWR-LI-AC 2011.2.23.295 Huawei NETWORKING S5320-32X-EI-24S 2011.2.23.398 Huawei NETWORKING S5720-12TP-PWR-LI-AC 2011.2.23.431 Huawei NETWORKING S5720-52X-LI-AC 2011.2.26.1 Huawei NETWORKING NE16E 2011.2.26.2 Huawei NETWORKING NE08E 2011.2.26.3 Huawei NETWORKING NE05 2011.2.29 Huawei NETWORKING QuidWay NetEngine NE40-2 2011.2.30 Huawei NETWORKING QuidWay NetEngine NE40-4 2011.2.31 Huawei NETWORKING QuidWay NetEngine NE40-8 2011.2.39.2 Huawei NETWORKING WA1003 2011.2.39.3 Huawei NETWORKING WA1003A 2011.2.39.4 Huawei NETWORKING WA1005 2011.2.39.5 Huawei NETWORKING WA1008 2011.2.39.6 Huawei NETWORKING WA1208 2011.2.39.7 Huawei NETWORKING WA1208H 2011.2.39.8 Huawei NETWORKING WA1006E 2011.2.39.11 Huawei NETWORKING WA1208E 2011.2.43 Huawei NETWORKING WA1006 2011.2.44 Huawei NETWORKING AR46-20 2011.2.45 Huawei NETWORKING AR46-40 2011.2.46 Huawei NETWORKING AR46-80 2011.2.47 Huawei NETWORKING QuidWay NetEngine NE20-2 2011.2.48 Huawei NETWORKING QuidWay NetEngine NE20-4 2011.2.49 Huawei NETWORKING QuidWay NetEngine NE20-8 2011.2.50 Huawei NETWORKING Eudemon 200 2011.2.55 Huawei NETWORKING AR18-18 2011.2.56 Huawei NETWORKING AR18-20 2011.2.57 Huawei NETWORKING AR18-30 2011.2.58 Huawei NETWORKING AR18-31 2011.2.59 Huawei NETWORKING AR18-32 2011.2.60 Huawei NETWORKING AR18-33 2011.2.61 Huawei NETWORKING AR18-34 2011.2.62 Huawei NETWORKING QuidWay NetEngine 5000E 2011.2.62.2.1 Huawei NETWORKING QuidWay NetEngine NE5000oem 2011.2.62.2.2 Huawei NETWORKING QuidWay NetEngine NE80E 2011.2.62.2.3 Huawei NETWORKING QuidWay NetEngine NE5000E 2011.2.62.2.3.1 Huawei NETWORKING NE5000E 2011.2.62.2.4 Huawei NETWORKING QuidWay NetEngine NE5000EMulti 2011.2.62.2.4.1 Huawei NETWORKING NE5000E-Multi 2011.2.62.2.5 Huawei NETWORKING QuidWay NetEngine NE40E 2011.2.62.2.6 Huawei NETWORKING NE5000E-BTB 2011.2.62.2.7 Huawei NETWORKING NE40E-4 2011.2.62.2.8 Huawei NETWORKING NE40E-X3 2011.2.62.2.9 Huawei NETWORKING NE40E-X8 2011.2.62.2.10 Huawei NETWORKING NE40E-X16 2011.2.77 Huawei NETWORKING Eudemon 500 2011.2.80 Huawei NETWORKING MA5600 2011.2.87.1 Huawei NETWORKING CX200A 2011.2.87.2 Huawei NETWORKING CX200B 2011.2.87.3 Huawei NETWORKING CX300A 2011.2.87.4 Huawei NETWORKING CX300B 2011.2.87.5 Huawei NETWORKING CX500A 2011.2.87.6 Huawei NETWORKING CX500B 2011.2.87.7 Huawei NETWORKING CX600 2011.2.87.8 Huawei NETWORKING CX600-16 2011.2.87.9 Huawei NETWORKING CX200C 2011.2.87.10 Huawei NETWORKING CX200D 2011.2.87.11 Huawei NETWORKING CX200D-EA 2011.2.87.12 Huawei NETWORKING CX200D-MC 2011.2.87.13 Huawei NETWORKING CX600-4 2011.2.87.16 Huawei NETWORKING CX200D-EA-MC 2011.2.87.17 Huawei NETWORKING CX600-X3 2011.2.87.18 Huawei NETWORKING CX600-X8 2011.2.87.19 Huawei NETWORKING CX600-X16 2011.2.87.20 Huawei NETWORKING CX600-X1 2011.2.87.21 Huawei NETWORKING CX600-X2 2011.2.88 Huawei NETWORKING QuidWay NetEngine 20E 2011.2.88.2 Huawei NETWORKING NE20E-8 2011.2.123 Huawei NETWORKING MA5603T 2011.2.170.1 Huawei NETWORKING S9303 2011.2.170.2 Huawei NETWORKING QuidWay S9306 2011.2.170.3 Huawei NETWORKING S9312 2011.2.175.2 Huawei NETWORKING USG2110-F 2011.2.208.1 Huawei NETWORKING NE40E-DPI 2011.2.208.2 Huawei NETWORKING NE80E-DPI 2011.2.208.3 Huawei NETWORKING NE40E80E-DPI Server 2011.2.211.1 Huawei NETWORKING NE40E-FW 2011.2.211.2 Huawei NETWORKING NE80E-FW 2011.2.224.5 Huawei NETWORKING AR2220 2011.2.239.5 Huawei NETWORKING Cloudengine CE6850-48S4Q-EI 2011.2.239.6 Huawei NETWORKING Cloudengine CE6850-48T4Q-EI 2011.2.239.10 Huawei NETWORKING Cloudengine CE5850-48T4S2Q-HI 2011.2.239.12 Huawei NETWORKING Cloudengine CE6810-48S4Q-EI 2011.2.240.6 Huawei NETWORKING AC6605-26-PWR 2011.6.122.8.11.1 Huawei NETWORKING Eudemon 8000E 2011.10.1.1 Huawei NETWORKING S2008-EI 2011.10.1.2 Huawei NETWORKING S2016-EI 2011.10.1.3 Huawei NETWORKING S2403H-EI 2011.10.1.4 Huawei NETWORKING S3026C-PWR 2011.10.1.6 Huawei NETWORKING AR18-35 2011.10.1.7 Huawei NETWORKING S3552F-HI 2011.10.1.9 Huawei NETWORKING QuidWay S3924-SI 2011.10.1.10 Huawei NETWORKING QuidWay S3928P-SI 2011.10.1.11 Huawei NETWORKING QuidWay S3952P-SI 2011.10.1.12 Huawei NETWORKING QuidWay S3928TP-SI 2011.10.1.13 Huawei NETWORKING QuidWay S3928P-EI 2011.10.1.14 Huawei NETWORKING QuidWay S3952P-EI 2011.10.1.15 Huawei NETWORKING QuidWay S3928P-PWR-EI 2011.10.1.16 Huawei NETWORKING QuidWay S3952P-PWR-EI 2011.10.1.17 Huawei NETWORKING QuidWay S3928F-EI 2011.10.1.18 Huawei NETWORKING QuidWay S5600M 2011.10.1.19 Huawei NETWORKING AR18-50 2011.10.1.20 Huawei NETWORKING AR18-33E 2011.10.1.21 Huawei NETWORKING AR18-34E 2011.10.1.22 Huawei NETWORKING QuidWay S8508 2011.10.1.40 Huawei NETWORKING SR8805 2011.10.1.41 Huawei NETWORKING SR8808 2011.10.1.42 Huawei NETWORKING SR8812 2011.10.1.43 Huawei NETWORKING QuidWay S5624P 2011.10.1.44 Huawei NETWORKING QuidWay S5624P-PWR 2011.10.1.45 Huawei NETWORKING QuidWay S5648P 2011.10.1.46 Huawei NETWORKING QuidWay S5648P-PWR 2011.10.1.47 Huawei NETWORKING QuidWay S2008C 2011.10.1.48 Huawei NETWORKING QuidWay S2016C 2011.10.1.49 Huawei NETWORKING QuidWay S2024C 2011.10.1.50 Huawei NETWORKING AR18-13V 2011.10.1.51 Huawei NETWORKING AR18-18V 2011.10.1.53 Huawei NETWORKING AR18-20S 2011.10.1.57 Huawei NETWORKING E026T 2011.10.1.58 Huawei NETWORKING E008-FE 2011.10.1.59 Huawei NETWORKING E017-FE 2011.10.1.60 Huawei NETWORKING E026-FE 2011.10.1.61 Huawei NETWORKING AR28-12 2011.10.1.62 Huawei NETWORKING AR28-13 2011.10.1.63 Huawei NETWORKING AR28-14 2011.10.1.64 Huawei NETWORKING AR18-10 2011.10.1.65 Huawei NETWORKING AR18-21 2011.10.1.66 Huawei NETWORKING AR18-21A 2011.10.1.67 Huawei NETWORKING AR18-21B 2011.10.1.68 Huawei NETWORKING AR18-21C 2011.10.1.69 Huawei NETWORKING AR18-22 2011.10.1.70 Huawei NETWORKING AR18-22-8 2011.10.1.71 Huawei NETWORKING AR18-22-24 2011.10.1.72 Huawei NETWORKING AR18-23-1 2011.10.1.73 Huawei NETWORKING AR18-30E 2011.10.1.74 Huawei NETWORKING AR18-31E 2011.10.1.75 Huawei NETWORKING AR18-32E 2011.10.1.76 Huawei NETWORKING AR18-35E 2011.10.1.77 Huawei NETWORKING AR18-36E 2011.10.1.78 Huawei NETWORKING AR18-37E 2011.10.1.79 Huawei NETWORKING AR18-52 2011.10.1.80 Huawei NETWORKING QuidWay S6500 2011.10.1.81 Huawei NETWORKING QuidWay S5124P-EI 2011.10.1.82 Huawei NETWORKING QuidWay S5126C-EI 2011.10.1.83 Huawei NETWORKING QuidWay S5148P-EI 2011.10.1.84 Huawei NETWORKING QuidWay S5150C-EI 2011.10.1.85 Huawei NETWORKING QuidWay S5116P-SI 2011.10.1.86 Huawei NETWORKING QuidWay S5124P-SI 2011.10.1.87 Huawei NETWORKING QuidWay S5148P-SI 2011.10.1.88 Huawei NETWORKING AR46-20E 2011.10.1.89 Huawei NETWORKING AR46-40E 2011.10.1.90 Huawei NETWORKING AR46-80E 2011.10.1.91 Huawei NETWORKING AR18-22S-8 2011.10.1.92 Huawei NETWORKING AR18-23S-1 2011.10.1.94 Huawei NETWORKING QuidWay S2108-SI 2011.10.1.95 Huawei NETWORKING QuidWay S2116-SI 2011.10.1.96 Huawei NETWORKING QuidWay S2126-SI 2011.10.1.97 Huawei NETWORKING QuidWay S2108-EI 2011.10.1.98 Huawei NETWORKING QuidWay S2116-EI 2011.10.1.99 Huawei NETWORKING QuidWay S2126-EI 2011.10.1.100 Huawei NETWORKING S5624F 2011.10.1.106 Huawei NETWORKING S3108T 2011.10.1.107 Huawei NETWORKING S3116T 2011.10.1.108 Huawei NETWORKING S3126T 2011.10.1.109 Huawei NETWORKING S3108C 2011.10.1.110 Huawei NETWORKING S3116C 2011.10.1.111 Huawei NETWORKING S3126C 2011.10.1.112 Huawei NETWORKING AR28-12B 2011.10.1.116 Huawei NETWORKING S3928TP-V6 2011.10.1.117 Huawei NETWORKING S3928P-V6 2011.10.1.118 Huawei NETWORKING S3952P-V6 2011.10.1.119 Huawei NETWORKING S3928F-V6 2011.10.1.130 Huawei NETWORKING S2008CT 2011.10.1.131 Huawei NETWORKING S2008CP 2011.10.1.138 Huawei NETWORKING AR19-61 2011.10.1.139 Huawei NETWORKING AR19-62 2011.10.1.140 Huawei NETWORKING AR29-01 2011.10.1.141 Huawei NETWORKING AR29-21 2011.10.1.142 Huawei NETWORKING AR29-41 2011.10.1.143 Huawei NETWORKING AR29-61 2011.10.1.144 Huawei NETWORKING AR49-45 2011.10.1.145 Huawei NETWORKING AR49-65 2011.10.1.148 Huawei NETWORKING S5228C 2011.10.1.149 Huawei NETWORKING S5252C 2011.10.1.150 Huawei NETWORKING S5228C-PWR 2011.10.1.151 Huawei NETWORKING S5252C-PWR 2011.10.1.152 Huawei NETWORKING S2008-HI 2011.10.1.153 Huawei NETWORKING S2016-HI 2011.10.1.154 Huawei NETWORKING S2403H-HI 2011.10.1.156 Huawei NETWORKING S8508V 2011.10.1.157 Huawei NETWORKING E126 2011.10.1.158 Huawei NETWORKING S3126TP 2011.10.1.159 Huawei NETWORKING E328 2011.10.1.160 Huawei NETWORKING E352 2011.10.1.161 Huawei NETWORKING S3928P-PWR-SI 2011.10.1.163 Huawei NETWORKING S8502 2011.10.1.164 Huawei NETWORKING SR8802 2011.10.1.174 Huawei NETWORKING S6502ME 2011.10.1.182 Huawei NETWORKING DR814 2011.10.1.183 Huawei NETWORKING DR814Q 2011.10.1.184 Huawei NETWORKING WDR854G 2011.10.1.185 Huawei NETWORKING VDR824G 2011.10.1.186 Huawei NETWORKING VDR824 2011.10.1.187 Huawei NETWORKING VDR744 2011.10.1.188 Huawei NETWORKING DR744 2011.10.1.192 Huawei NETWORKING S8505-V5 2011.10.1.193 Huawei NETWORKING S8512-V5 2011.10.1.194 Huawei NETWORKING S8508-V5 2011.10.1.195 Huawei NETWORKING S8508V-V5 2011.10.1.196 Huawei NETWORKING S8502-V5 2011.10.1.198 Huawei NETWORKING S2008TP-EA 2011.10.1.199 Huawei NETWORKING S2016TP-EA 2011.10.1.200 Huawei NETWORKING S2403TP-EA 2011.10.1.201 Huawei NETWORKING S2403TP-PWR-EA 2011.10.1.202 Huawei NETWORKING S2008TP-MI 2011.10.1.203 Huawei NETWORKING S2016TP-MI 2011.10.1.204 Huawei NETWORKING S2403TP-MI 2011.10.1.205 Huawei NETWORKING S7802 2011.10.1.206 Huawei NETWORKING S7803 2011.10.1.207 Huawei NETWORKING S7806 2011.10.1.208 Huawei NETWORKING S7806-V 2011.10.1.209 Huawei NETWORKING S7810 2011.10.1.210 Huawei NETWORKING S2016TP-PWR-EA 2011.10.1.211 Huawei NETWORKING QuidWay S3552P-EA 2011.10.1.212 Huawei NETWORKING S3528P-EA 2011.10.1.213 Huawei NETWORKING S3528TP-EA 2011.10.1.214 Huawei NETWORKING S3528F-EA 2011.10.1.215 Huawei NETWORKING S3552F-EA 2011.10.1.216 Huawei NETWORKING Quidway S6902 2011.10.1.217 Huawei NETWORKING Quidway S6903 2011.10.1.218 Huawei NETWORKING Quidway S6906 2011.10.1.219 Huawei NETWORKING Quidway S6906R 2011.10.1.220 Huawei NETWORKING Quidway S3928P-SI-AC/DC 2011.10.1.224 Huawei NETWORKING Quidway AR19-10 2011.10.1.225 Huawei NETWORKING Quidway AR19-13 2011.10.1.226 Huawei NETWORKING Quidway AR19-15 2011.10.1.227 Huawei NETWORKING S3552P-SI 2011.10.1.228 Huawei NETWORKING S3528P-SI 2011.10.1.229 Huawei NETWORKING Quidway S5628C-HI-AC 2011.10.1.230 Huawei NETWORKING Quidway S5628C-HI-DC 2011.10.1.231 Huawei NETWORKING Quidway S5652C-HI-AC 2011.10.1.232 Huawei NETWORKING Quidway S5628F-HI 2011.10.1.233 Huawei NETWORKING Quidway S5628C-PWR-HI 2011.10.1.234 Huawei NETWORKING Quidway S5652C-PWR-HI 2011.10.1.237 Huawei NETWORKING S7803L 2011.10.1.238 Huawei NETWORKING S6503-V5 2011.10.1.239 Huawei NETWORKING S6506-V5 2011.10.1.240 Huawei NETWORKING S6506R-V5 2011.10.1.241 Huawei NETWORKING Quidway AR19-03 2011.10.1.242 Huawei NETWORKING Quidway AR19-05 2011.10.1.243 Huawei NETWORKING Quidway S7806-L 2011.10.1.244 Huawei NETWORKING AR29-11 2125 Comtec Systems NETWORKING 2125.500 Comtec Systems NETWORKING CS5224 2125.501 Comtec Systems NETWORKING CS5224 2125.509 Comtec Systems NETWORKING i-Rex26i 2125.510 Comtec Systems NETWORKING i-Rex26i 2154 Marconi NETWORKING 2154.1.1.1.2 Marconi NETWORKING ESX 2272 Nortel NETWORKING 2272.2 Nortel NETWORKING Accelar1100 2272.6 Nortel NETWORKING Accelar1250 2272.7 Nortel NETWORKING Accelar1150 2272.8 Nortel NETWORKING Accelar1200 2272.9 Nortel NETWORKING Accelar1050 2272.20 Nortel NETWORKING Accelar740 2272.21 Nortel NETWORKING Accelar750 2272.22 Nortel NETWORKING Accelar790 2272.23 Nortel NETWORKING Accelar750S 2272.30 Nortel NETWORKING Passport8610 2272.31 Nortel NETWORKING Passport8606 2272.32 Nortel NETWORKING Passport8110 2272.33 Nortel NETWORKING Passport8106 2272.34 Nortel NETWORKING Passport8603 2272.35 Nortel NETWORKING Passport8103 2272.36 Nortel NETWORKING Passport8110co 2272.37 Nortel NETWORKING Passport8610co 2272.38 Nortel NETWORKING Passport1424T 2272.42 Nortel NETWORKING Passport 1424T 2272.43 Nortel NETWORKING Passport1648 2272.44 Nortel NETWORKING Passport1612G 2272.45 Nortel NETWORKING Passport1624G 2272.47 Nortel NETWORKING ERS8310 2272.48 Nortel NETWORKING ERS8306 2272.49 Nortel NETWORKING ERS8010 2272.50 Nortel NETWORKING ERS8006 2272.59 Avaya NETWORKING ERS-8810 2272.201 Avaya NETWORKING VSP-9012 2272.209 Avaya NETWORKING VSP-7254XSQ 2272.210 Avaya NETWORKING VSP-7254XTQ 2272.280887555 Nortel NETWORKING Accelar8003 2272.280887558 Nortel NETWORKING Accelar8006 2272.280887562 Nortel NETWORKING Accelar8010 2272.1623064842 Nortel NETWORKING Accelar8010co 2334 Packeteer NETWORKING 2334.1.1 packetshaper NETWORKING (Model Unknown) 2334.1.1.1 Packeteer NETWORKING shaper2000 2334.1.1.2 Packeteer NETWORKING shaper4000 2334.1.1.3 Packeteer NETWORKING shaper1000 2334.1.1.4 Packeteer NETWORKING shaper2500 2334.1.1.5 Packeteer NETWORKING shaper4500 2334.1.1.6 Packeteer NETWORKING shaper1500 2334.1.1.7 Packeteer NETWORKING PacketShaper ASM50 2334.1.1.8 Packeteer NETWORKING shaperAppVantageASM-70 2334.1.1.9 Packeteer NETWORKING PacketShaper ASM30 2334.1.1.10 Packeteer NETWORKING shaperAppVantageASM-90 2334.1.1.11 Packeteer NETWORKING shaper6500 2334.1.1.12 Packeteer NETWORKING shaper8500 2334.1.1.13 Packeteer NETWORKING shaperAppVantageASM-110 2334.1.1.14 Packeteer NETWORKING shaper1550 2334.1.1.15 Packeteer NETWORKING shaper9500 2334.1.1.16 Packeteer NETWORKING shaper2550 2334.1.1.17 Packeteer NETWORKING shaper10000 2334.1.1.18 Packeteer NETWORKING PacketShaper 1200 2334.1.1.19 Packeteer NETWORKING shaper3500 2334.1.1.20 Packeteer NETWORKING PacketShaper 7500 2334.1.1.21 Packeteer NETWORKING shaper1700 2334.1.1.22 Packeteer NETWORKING PacketShaper 1400 2352 Redback NETWORKING 2352.1.1 Redback NETWORKING SMS1000 2352.1.2 Redback NETWORKING SMS500 2352.1.3 Redback NETWORKING SMS1800 2352.1.4 Redback NETWORKING SMS10000 2352.1.10 Redback NETWORKING SmartEdge800 2352.1.11 Redback NETWORKING SmartEdge400 2352.1.12 Redback NETWORKING SmartEdge100 2352.1.13 Redback NETWORKING SmartEdge1200 2352.1.17 Ericsson NETWORKING SSR 8020 2356 Lancom NETWORKING 2356.11.8.602 Lancom NETWORKING 1781A 2356.11.8.603 Lancom NETWORKING 1781A-3G 2356.11.8.604 Lancom NETWORKING 1781EF 2356.11.8.606 Lancom NETWORKING 1781EW 2356.11.8.607 Lancom NETWORKING 1781AW 2356.11.8.608 Lancom NETWORKING 1781-4G 2356.11.8.609 Lancom NETWORKING 1781VA 2356.11.8.610 Lancom NETWORKING 1781EF+ 2356.11.8.611 Lancom NETWORKING 1781VAW 2356.11.8.612 Lancom NETWORKING 1781VA-4G 2356.11.8.613 Lancom NETWORKING 1781A-4G 2356.11.8.622 Lancom NETWORKING 1783VA 2356.500.2.7101 Lancom NETWORKING 7100+ VPN 2385 Sharp PRINTER 2385.3.1.1.1.12 Sharp PRINTER AR-505/S505 2385.3.1.3.1.1 Sharp PRINTER AR-M350 2385.3.1.4.1.5 Sharp PRINTER AR-275 2385.3.1.11.1.8 Sharp PRINTER AR-M550N 2385.3.1.26.1.11 Sharp PRINTER AR-M351U 2385.3.1.29.1.2 Sharp PRINTER Imagistics 4511 2385.3.1.32.1.5 Sharp PRINTER MX-2300N 2385.3.1.33.1.4 Sharp PRINTER MX-3501N 2385.3.1.33.1.8 Sharp PRINTER MX-4501N 2385.3.1.52.1.6 Sharp PRINTER MX-M450N 2385.3.1.63.1.5 Sharp PRINTER MX-2600N 2385.3.1.63.1.6 Sharp PRINTER MX-3100N 2385.3.1.64.1.2 Sharp PRINTER MX-4100N 2385.3.1.64.1.8 Sharp PRINTER MX-5001N 2385.3.1.71.1.1 Sharp PRINTER MX-M283N 2385.3.1.71.1.7 Sharp PRINTER MX-M453N 2385.3.1.83.1.3 Sharp PRINTER MX-3110N 2385.3.1.83.1.5 Sharp PRINTER MX-3610N 2385.3.1.85.1.9 Sharp PRINTER MX-4112N 2385.3.1.90.1.3 Sharp PRINTER MX-7040N 2385.3.1.95.1.5 Sharp PRINTER MX-3640N 2385.3.1.98.1.5 Sharp PRINTER MX-5140N 2385.3.1.99.1.3 Sharp PRINTER MX-M465N 2385.3.1.107.1.3 Sharp PRINTER MX-C301W 2385.3.1.123.1.1 Sharp PRINTER MX-B350W 2385.3.1.134.1.1 Sharp PRINTER MX-2651 2435 Brother PRINTER 2435.2.3.9.1 Brother PRINTER MFC-9340CDW 2467 Cisco NETWORKING 2467.4.1 Cisco NETWORKING CSS100 2467.4.2 Cisco NETWORKING CSS11800 2467.4.3 Cisco NETWORKING CSS11150 2467.4.4 Cisco NETWORKING CSS11050 2467.4.5 Cisco NETWORKING CSS11503 2467.4.6 Cisco NETWORKING CSS11506 2467.4.7 Cisco NETWORKING CSS11501 2505 Nortel NETWORKING 2505.2 Nortel NETWORKING Contivity 2000 2505.4 Nortel NETWORKING Contivity4500 2505.5 Nortel NETWORKING Contivity1500 2505.6 Nortel NETWORKING Contivity2500 2505.7 Nortel NETWORKING Contivity1600 2505.8 Nortel NETWORKING Contivity2500 2505.9 Nortel NETWORKING Contivity4600 2505.10 Nortel NETWORKING Contivity 2505.12 Nortel NETWORKING ContivityV04_07.021 2505.13 Nortel NETWORKING ContivityV04_06.120 2505.600 Nortel NETWORKING Contivity600 2505.1010 Nortel NETWORKING Contivity1010 2505.1050 Nortel NETWORKING Contivity1050 2505.1100 Nortel NETWORKING Contivity1100 2505.1700 Nortel NETWORKING Contivity1700 2505.1740 Nortel NETWORKING Contivity 1740 VPN Router 2505.1750 Nortel NETWORKING Contivity 1750 VPN Router 2505.2700 Nortel NETWORKING Contivity2700 2620 Checkpoint NETWORKING 2620.1.1 Sun NETWORKING CheckPoint 2620.1.6.123.1.15 Checkpoint NETWORKING R75 2620.1.6.123.1.35 Checkpoint NETWORKING 4200 2620.1.6.123.1.38 Checkpoint NETWORKING 4800 2620.1.6.123.1.40 Checkpoint NETWORKING 12200 2620.1.6.123.1.41 Checkpoint NETWORKING SG12407 2620.1.6.123.1.42 Checkpoint NETWORKING 12600 2620.1.6.123.1.48 Checkpoint NETWORKING VMware 2620.1.6.123.1.63 Checkpoint NETWORKING 15400 2636 Juniper NETWORKING 2636.1.1.1.1.1 Juniper NETWORKING M40 2636.1.1.1.1.2 Juniper NETWORKING M20 2636.1.1.1.1.3 Juniper NETWORKING M160 2636.1.1.1.1.4 Juniper NETWORKING M10 2636.1.1.1.1.5 Juniper NETWORKING M5 2636.1.1.1.2.1 Juniper NETWORKING M40 2636.1.1.1.2.2 Juniper NETWORKING M20 2636.1.1.1.2.3 Juniper NETWORKING M160 2636.1.1.1.2.4 Juniper NETWORKING M10 2636.1.1.1.2.5 Juniper NETWORKING M5 2636.1.1.1.2.6 Juniper NETWORKING T640 2636.1.1.1.2.7 Juniper NETWORKING T320 Backbone Router 2636.1.1.1.2.8 Juniper NETWORKING M40e 2636.1.1.1.2.9 Juniper NETWORKING M320 2636.1.1.1.2.10 Juniper NETWORKING M7i 2636.1.1.1.2.11 Juniper NETWORKING M10i 2636.1.1.1.2.13 Juniper NETWORKING J2300 2636.1.1.1.2.14 Juniper NETWORKING J4300 2636.1.1.1.2.15 Juniper NETWORKING J6300 2636.1.1.1.2.16 Juniper NETWORKING IRM 2636.1.1.1.2.17 Juniper NETWORKING TX Routing Matrix 2636.1.1.1.2.18 Juniper NETWORKING M120 2636.1.1.1.2.19 Juniper NETWORKING J4350 2636.1.1.1.2.20 Juniper NETWORKING J6350 2636.1.1.1.2.21 Juniper NETWORKING MX960 2636.1.1.1.2.22 Juniper NETWORKING J4320 Service Router 2636.1.1.1.2.23 Juniper NETWORKING JSR2320 2636.1.1.1.2.24 Juniper NETWORKING J2350 2636.1.1.1.2.25 Juniper NETWORKING MX480 2636.1.1.1.2.26 Juniper NETWORKING SRX5800 2636.1.1.1.2.27 Juniper NETWORKING T1600 2636.1.1.1.2.28 Juniper NETWORKING SRX5600 Services Gateway 2636.1.1.1.2.29 Juniper NETWORKING MX240 2636.1.1.1.2.30 Juniper NETWORKING EX3200-24t 2636.1.1.1.2.31 Juniper NETWORKING EX4200-24t 2636.1.1.1.2.32 Juniper NETWORKING EX8208 2636.1.1.1.2.33 Juniper NETWORKING EX8216 Ethernet Switch 2636.1.1.1.2.34 Juniper NETWORKING SRX3600 2636.1.1.1.2.35 Juniper NETWORKING SRX3400 2636.1.1.1.2.36 Juniper NETWORKING SRX210 2636.1.1.1.2.37 Juniper NETWORKING TX Matrix Plus Router 2636.1.1.1.2.38 Juniper NETWORKING JCS 1200 Control System 2636.1.1.1.2.39 Juniper NETWORKING SRX240h 2636.1.1.1.2.40 Juniper NETWORKING SRX650 2636.1.1.1.2.41 Juniper NETWORKING SRX100 Services Gateway 2636.1.1.1.2.43 Juniper NETWORKING EX2200 2636.1.1.1.2.44 Juniper NETWORKING EX4500 2636.1.1.1.2.49 Juniper NETWORKING SRX1400 2636.1.1.1.2.57 Juniper NETWORKING MX80 2636.1.1.1.2.58 Juniper Networks NETWORKING SRX 220 2636.1.1.1.2.59 Juniper NETWORKING EX-XRE 2636.1.1.1.2.63 Juniper Networks NETWORKING EX4300-48T 2636.1.1.1.2.74 Juniper NETWORKING EX6210 2636.1.1.1.2.76 Juniper NETWORKING EX3300 2636.1.1.1.2.83 Juniper Networks NETWORKING T4000 2636.1.1.1.2.86 Juniper Networks NETWORKING SRX550 2636.1.1.1.2.89 Juniper Networks NETWORKING MX10 2636.1.1.1.2.90 Juniper NETWORKING MX5 2636.1.1.1.2.92 Juniper Networks NETWORKING EX4550 2636.1.1.1.2.102 Juniper Networks NETWORKING EX9214 2636.1.1.1.4.30 Juniper NETWORKING EX3200 2636.1.1.1.4.30.1 Juniper NETWORKING EX3200-24T 2636.1.1.1.4.30.2 Juniper NETWORKING EX3200-24P 2636.1.1.1.4.30.3 Juniper NETWORKING EX3200-48T 2636.1.1.1.4.30.4 Juniper NETWORKING EX3200-48P 2636.1.1.1.4.31 Juniper NETWORKING EX4200 2636.1.1.1.4.31.1 Juniper NETWORKING EX4200-24T 2636.1.1.1.4.31.2 Juniper NETWORKING EX4200-24P 2636.1.1.1.4.31.3 Juniper NETWORKING EX4200-48T 2636.1.1.1.4.31.4 Juniper NETWORKING EX4200-48P 2636.1.1.1.4.31.5 Juniper NETWORKING EX4200-24F 2636.1.1.1.4.32 Juniper NETWORKING EX8208 2636.1.1.1.4.33 Juniper NETWORKING EX8216 2636.1.1.1.4.82.1 Juniper Networks NETWORKING QFX3500 2636.1.1.1.4.82.5 Juniper Networks NETWORKING QFX5100-48S 2636.1.1.1.4.84.1 Juniper Networks NETWORKING QFX3000-G 2636.1.1.1.4.84.2 Juniper Networks NETWORKING QFX3000-M 2636.3.9.1.252.1 Juniper Networks NETWORKING IDP8200 2636.3.41.1.1.5.5 Juniper Networks NETWORKING WXC-2600 2637 Nortel NETWORKING 2637.1.2.1.1 Nortel NETWORKING CVX-1800 2699 Axis NETWORKING PRINTER 2773 Redstone NETWORKING 2773.1.2.1.1 Redstone NETWORKING RX1400 2865 Nortel NETWORKING 2865.1 Nortel NETWORKING Optera5000 2971 Corecess NETWORKING 2971.7 Corecess NETWORKING Medialincs 3003 Alcatel NETWORKING 3003.2.2.2.1 Alcatel NETWORKING PR-5200 3003.2.2.2.2 Alcatel NETWORKING PR-2200 3003.2.2.2.3 Alcatel NETWORKING OmniCore 5010 3076 Cisco NETWORKING 3076.1.2.1.1.1.2 Cisco NETWORKING VPN 3000 Concentrator 3076.1.2.1.1.2.1 Cisco NETWORKING VPN 3005 Concentrator 3076.1.2.1.1.3.1 Cisco NETWORKING VPN 3002 Concentrator 3097 WatchGuard NETWORKING 3097.1.4 WatchGuard NETWORKING fbX Series 3097.1.4.1 WatchGuard NETWORKING fbX500 3097.1.4.2 WatchGuard NETWORKING fbX550e 3097.1.4.3 WatchGuard NETWORKING fbX700 3097.1.4.4 WatchGuard NETWORKING fbX750e 3097.1.4.5 WatchGuard NETWORKING fbX750e-4 3097.1.4.6 WatchGuard NETWORKING fbX1000 3097.1.4.7 WatchGuard NETWORKING fbx1250e 3097.1.4.8 WatchGuard NETWORKING fbX1250e-4 3097.1.4.9 WatchGuard NETWORKING fbX2500 3097.1.4.10 WatchGuard NETWORKING fbX5000 3097.1.4.11 WatchGuard NETWORKING fbX5500e 3097.1.4.12 WatchGuard NETWORKING fbX6000 3097.1.4.13 WatchGuard NETWORKING fbX6500e 3097.1.4.14 WatchGuard NETWORKING fbX8000 3097.1.4.15 WatchGuard NETWORKING fbX8500e 3097.1.4.16 WatchGuard NETWORKING fbX8500e-F 3097.1.4.17 WatchGuard NETWORKING fbX10e 3097.1.4.18 WatchGuard NETWORKING fbX10e-W 3097.1.4.19 WatchGuard NETWORKING fbX20e 3097.1.4.20 WatchGuard NETWORKING fbX20e-W 3097.1.4.21 WatchGuard NETWORKING fbX55e 3097.1.4.22 WatchGuard NETWORKING fbX55e-W 3097.1.5 WatchGuard NETWORKING XTM Series 3097.1.5.1 WatchGuard NETWORKING XTM1050 3097.1.5.2 WatchGuard NETWORKING XTM1050-F 3097.1.5.3 WatchGuard NETWORKING XTM830-F 3097.1.5.4 WatchGuard NETWORKING XTM830 3097.1.5.5 WatchGuard NETWORKING XTM820 3097.1.5.6 WatchGuard NETWORKING XTM810 3097.1.5.7 WatchGuard NETWORKING XTM530 3097.1.5.8 WatchGuard NETWORKING XTM520 3097.1.5.9 WatchGuard NETWORKING XTM510 3097.1.5.10 WatchGuard NETWORKING XTM505 3097.1.5.11 WatchGuard NETWORKING XTM23 3097.1.5.12 WatchGuard NETWORKING XTM22 3097.1.5.13 WatchGuard NETWORKING XTM21 3097.1.5.14 WatchGuard NETWORKING XTM23-W 3097.1.5.15 WatchGuard NETWORKING XTM22-W 3097.1.5.16 WatchGuard NETWORKING XTM21-W 3097.1.5.17 WatchGuard NETWORKING XTM2050 3097.1.5.18 WatchGuard NETWORKING XTM25 3097.1.5.19 WatchGuard NETWORKING XTM25-W 3097.1.5.20 WatchGuard NETWORKING XTM26 3097.1.5.21 WatchGuard NETWORKING XTM26-W 3097.1.5.22 WatchGuard NETWORKING XTM33 3097.1.5.23 WatchGuard NETWORKING XTM33-W 3097.1.5.24 WatchGuard NETWORKING XTM330 3097.1.5.25 WatchGuard NETWORKING XTM545 3097.1.5.26 WatchGuard NETWORKING XTM535 3097.1.5.27 WatchGuard NETWORKING XTM525 3097.1.5.28 WatchGuard NETWORKING XTM515 3097.1.5.29 WatchGuard NETWORKING XTM2050A 3097.1.5.30 WatchGuard NETWORKING XTM850 3097.1.5.31 WatchGuard NETWORKING XTM860 3097.1.5.32 WatchGuard NETWORKING XTM870 3097.1.5.33 WatchGuard NETWORKING XTM870-F 3097.1.5.34 WatchGuard NETWORKING XTM1520 3097.1.5.35 WatchGuard NETWORKING XTM1525 3097.1.5.36 WatchGuard NETWORKING XTM2520 3097.1.5.37 WatchGuard NETWORKING XTMV-SM 3097.1.5.38 WatchGuard NETWORKING XTMV-MED 3097.1.5.39 WatchGuard NETWORKING XTMV-LG 3097.1.5.40 WatchGuard NETWORKING XTMV-DC 3097.1.5.41 WatchGuard NETWORKING XTMV-EXP 3097.1.5.42 WatchGuard NETWORKING XTMV 3097.1.5.43 WatchGuard NETWORKING XTM1520-RP 3097.1.5.44 WatchGuard NETWORKING XTM1525-RP 3097.1.5.45 WatchGuard NETWORKING T10 3097.1.5.46 WatchGuard NETWORKING M440 3097.1.5.47 WatchGuard NETWORKING T10-D 3097.1.5.48 WatchGuard NETWORKING T10-W 3097.1.5.49 WatchGuard NETWORKING M400 3097.1.5.50 WatchGuard NETWORKING M500 3097.1.5.51 WatchGuard NETWORKING M200 3097.1.5.52 WatchGuard NETWORKING M300 3097.1.5.53 WatchGuard NETWORKING T30 3097.1.5.54 WatchGuard NETWORKING T30-W 3097.1.5.55 WatchGuard NETWORKING T50 3097.1.5.56 WatchGuard NETWORKING T50-W 3097.1.5.57 WatchGuard NETWORKING M4600 3097.1.5.58 WatchGuard NETWORKING M5600 3097.1.5.59 WatchGuard NETWORKING T70 3097.1.5.60 WatchGuard NETWORKING Firebox V 3097.1.5.61 WatchGuard NETWORKING Firebox V-MC 3097.1.5.62 WatchGuard NETWORKING Firebox V-SM 3097.1.5.63 WatchGuard NETWORKING Firebox V-MED 3097.1.5.64 WatchGuard NETWORKING Firebox V-LG 3097.1.5.65 WatchGuard NETWORKING Firebox V-XLG 3097.1.5.66 WatchGuard NETWORKING M370 3097.1.5.67 WatchGuard NETWORKING M470 3097.1.5.68 WatchGuard NETWORKING M570 3097.1.5.69 WatchGuard NETWORKING M670 3097.1.5.70 WatchGuard NETWORKING T15 3097.1.5.71 WatchGuard NETWORKING T15-W 3097.1.5.72 WatchGuard NETWORKING T35 3097.1.5.73 WatchGuard NETWORKING T35-W 3097.1.5.74 WatchGuard NETWORKING T55 3097.1.5.75 WatchGuard NETWORKING T55-W 3097.1.5.76 WatchGuard NETWORKING Firebox Cloud 3097.1.5.77 WatchGuard NETWORKING Firebox Cloud-MC 3097.1.5.78 WatchGuard NETWORKING Firebox Cloud-SM 3097.1.5.79 WatchGuard NETWORKING Firebox Cloud-MED 3097.1.5.80 WatchGuard NETWORKING Firebox Cloud-LG 3097.1.5.81 WatchGuard NETWORKING Firebox Cloud-XLG 3174 Tasman NETWORKING 3174.1.2 Tasman NETWORKING 1400E 3174.1.7 Tasman NETWORKING 1200 3174.1.8 Tasman NETWORKING 1200 3174.1.9 Tasman NETWORKING Imux1450 3174.1.20 Tasman NETWORKING 1004T 3174.1.22 Tasman NETWORKING 1002 3174.1.30 Tasman NETWORKING 1001 3174.1.32 Tasman NETWORKING 3120 3199 Nortel NETWORKING 3199.1 Nortel NETWORKING Shasta5000 3199.10.1 Nortel NETWORKING Shasta5000 # https://www.juniper.net/techpubs/software/screenos/screenos6.3.0/6.3mib.zip 3224 NetScreen NETWORKING 3224.1.1 Juniper Networks NETWORKING NetScreen 3224.1.2 Netscreen NETWORKING 5 3224.1.3 Netscreen NETWORKING 10 3224.1.4 Netscreen NETWORKING 100 3224.1.5 Netscreen NETWORKING 1000 3224.1.6 Netscreen NETWORKING 500 3224.1.7 Netscreen NETWORKING 50 3224.1.8 Netscreen NETWORKING 50 3224.1.9 Netscreen NETWORKING 204 3224.1.10 Netscreen NETWORKING 208 3224.1.11 Netscreen NETWORKING 5XT 3224.1.12 Netscreen NETWORKING 5XP 3224.1.13 Netscreen NETWORKING 5000 3224.1.14 Netscreen NETWORKING 5GT 3224.1.15 Netscreen NETWORKING Hardware Security Client 3224.1.16 Netscreen NETWORKING ISG 2000 3224.1.17 Netscreen NETWORKING 5GT-ADSL-AnnexA 3224.1.19 Netscreen NETWORKING 5GT-ADSL-AnnexB 3224.1.21 Netscreen NETWORKING 5GT-WLAN 3224.1.23 Netscreen NETWORKING 5GT-ADSL-AnnexA-WLAN 3224.1.25 Netscreen NETWORKING 5GT-ADSL-AnnexB-WLAN 3224.1.28 Netscreen NETWORKING ISG 1000 3224.1.29 Netscreen NETWORKING SSG5 3224.1.30 Netscreen NETWORKING SSG5-ISDN 3224.1.31 Netscreen NETWORKING SSG5-v92 3224.1.32 Netscreen NETWORKING SSG5-Serial-WLAN 3224.1.33 Netscreen NETWORKING SSG5-ISDN-WLAN 3224.1.34 Netscreen NETWORKING SSG5-v92-WLAN 3224.1.35 Netscreen NETWORKING SSG20 3224.1.36 Netscreen NETWORKING SSG20-WLAN 3224.1.50 Netscreen NETWORKING SSG520 3224.1.51 Netscreen NETWORKING SSG550M 3224.1.52 Netscreen NETWORKING SSG140 3224.1.53 Netscreen NETWORKING SSG140 3224.1.54 Netscreen NETWORKING SSG320M 3224.1.55 Netscreen NETWORKING SSG350M 3375 F5 Networks NETWORKING 3375.1.1 F5 Networks NETWORKING BIG-IP 3375.2 F5 Networks NETWORKING BIG-IP 3375.2.1.3.4 F5 Networks NETWORKING BIG-IP Application Delivery Controller 3375.2.1.3.4.1 F5 Networks NETWORKING BIG-IP Local Traffic Manager 520 3375.2.1.3.4.2 F5 Networks NETWORKING BIG-IP Local Traffic Manager 540 3375.2.1.3.4.3 F5 Networks NETWORKING BIG-IP 1000 3375.2.1.3.4.4 F5 Networks NETWORKING BIG-IP 1500 3375.2.1.3.4.5 F5 Networks NETWORKING BIG-IP 2400 3375.2.1.3.4.6 F5 Networks NETWORKING BIG-IP 3400 3375.2.1.3.4.7 F5 Networks NETWORKING BIG-IP 4100 3375.2.1.3.4.8 F5 Networks NETWORKING BIG-IP 5100 3375.2.1.3.4.9 F5 Networks NETWORKING BIG-IP 5110 3375.2.1.3.4.10 F5 Networks NETWORKING BIG-IP 6400 3375.2.1.3.4.11 F5 Networks NETWORKING BIG-IP 6800 3375.2.1.3.4.12 F5 Networks NETWORKING BIG-IP 8400 3375.2.1.3.4.13 F5 Networks NETWORKING BIG-IP 8800 3375.2.1.3.4.19 F5 Networks NETWORKING BIG-IP Pb200 3375.2.1.3.4.20 F5 Networks NETWORKING BIG-IP 1600 3375.2.1.3.4.21 F5 Networks NETWORKING BIG-IP 3600 3375.2.1.3.4.22 F5 Networks NETWORKING BIG-IP 6900 3375.2.1.3.4.23 F5 Networks NETWORKING BIG-IP 8900 3375.2.1.3.4.24 F5 Networks NETWORKING BIG-IP 3900 3375.2.1.3.4.25 F5 Networks NETWORKING BIG-IP 8950 3375.2.1.3.4.27 F5 Networks NETWORKING BIG-IP 11050 3375.2.1.3.4.33 F5 Networks NETWORKING BIG-IP 3410 3375.2.1.3.4.34 F5 Networks NETWORKING BIG-IP Pb100 3375.2.1.3.4.35 F5 Networks NETWORKING BIG-IP Pb100n 3375.2.1.3.4.36 F5 Networks NETWORKING BIG-IP SAM 4300 3375.2.1.3.4.43 F5 Networks NETWORKING BIG-IP Virtual Edition 3375.2.1.3.4.47 F5 Networks NETWORKING BIG-IP Virtual Edition 3375.2.1.3.4.48 F5 Networks NETWORKING BIG-IP Viprion C2400 3375.2.1.3.4.53 F5 Networks NETWORKING BIG-IP 6900F 3375.2.1.3.4.57 F5 Networks NETWORKING BIG-IP 8950S 3375.2.1.3.4.59 F5 Networks NETWORKING BIG-IP 4000 3375.2.1.3.4.60 F5 Networks NETWORKING BIG-IP 10200v 3375.2.1.3.4.61 F5 Networks NETWORKING BIG-IP 2000s GTM 3375.2.1.3.4.62 F5 Networks NETWORKING BIG-IP 5000 3375.2.1.3.4.71 F5 Networks NETWORKING BIG-IP 5050 3375.2.1.3.4.72 F5 Networks NETWORKING BIG-IP 5250 3375.2.1.3.4.77 F5 Networks NETWORKING BIG-IP 7050 3375.2.1.3.4.81 F5 Networks NETWORKING BIG-IP 2200S 3375.2.1.3.4.82 F5 Networks NETWORKING BIG-IP-4200V 3375.2.1.3.4.83 F5 Networks NETWORKING BIG-IP 5200 3375.2.1.3.4.84 F5 Networks NETWORKING BIG-IP 7200v 3375.2.1.3.4.87 F5 Networks NETWORKING BIG-IP 10200v 3375.2.1.3.4.94 F5 Networks NETWORKING BIG-IP vCMP Guest 3375.2.1.3.4.1000 F5 Networks NETWORKING BIG-IP 4200v 3401 NAI NETWORKING 3401.2 NAI NETWORKING DS Pro Agent 3417 Blue Coat NETWORKING 3417.1.1.1 Blue Coat NETWORKING SG1000 3417.1.1.2 Blue Coat NETWORKING SG100 3417.1.1.3 Blue Coat NETWORKING SG500 3417.1.1.4 Blue Coat NETWORKING SG2000 3417.1.1.5 Blue Coat NETWORKING SG5000 3417.1.1.6 Blue Coat NETWORKING SG500A 3417.1.1.7 Blue Coat NETWORKING SG3000 3417.1.1.8 Blue Coat NETWORKING SG5x5 3417.1.1.9 Blue Coat NETWORKING SG110 3417.1.1.10 Blue Coat NETWORKING SG600 3417.1.1.11 Blue Coat NETWORKING SGCA-6000 3417.1.1.12 Blue Coat NETWORKING SG610 3417.1.1.13 Blue Coat NETWORKING SG600 3417.1.1.14 Blue Coat NETWORKING SG3000s 3417.1.1.15 Blue Coat NETWORKING SG5000s 3417.1.1.16 Blue Coat NETWORKING SG700 3417.1.1.17 Blue Coat NETWORKING SG710 3417.1.1.18 Blue Coat NETWORKING SG7000 3417.1.1.19 Blue Coat NETWORKING SG611 3417.1.1.20 Blue Coat NETWORKING SG800 3417.1.1.22 Blue Coat NETWORKING SG400 3417.1.1.23 Blue Coat NETWORKING SG8000 3417.1.1.24 Blue Coat NETWORKING SG200 3417.1.1.25 Blue Coat NETWORKING SG810 3417.1.1.26 Blue Coat NETWORKING SG210 3417.1.1.27 Blue Coat NETWORKING SG510 3417.1.1.28 Blue Coat NETWORKING SG8100 3417.1.1.29 Blue Coat NETWORKING SG9000 3417.1.1.31 Blue Coat NETWORKING SG600 3417.1.1.32 Blue Coat NETWORKING SG300 3417.1.1.34 Blue Coat NETWORKING SG900 3417.1.1.37 Blue Coat NETWORKING SG400 3417.1.1.38 Blue Coat NETWORKING SG-S200 3417.1.2.0 Blue Coat NETWORKING SGME 3417.1.2.1 Blue Coat NETWORKING SGME710 3417.1.2.2 Blue Coat NETWORKING SGME800 3417.1.2.3 Blue Coat NETWORKING SGME810 3417.1.3.3 Blue Coat NETWORKING AV810 3417.1.3.4 Blue Coat NETWORKING AV510 3572 HanaA NETWORKING 3572.1.3.1 HanaA NETWORKING Rustle 3572.1.3.11 HanaA NETWORKING Rustle 3572.1.4.4 HanaA NETWORKING Rustle324M 3582 LSI STORAGE 3582.200.2 LSI STORAGE SAS616x 3607 Cisco NETWORKING 3607.1.20.10.10 Cisco NETWORKING ONS-15454 3607.1.20.10.30 Cisco NETWORKING ONS 15600 3607.1.20.10.70 Cisco NETWORKING ONS 15454 M6 3727 Western NETWORKING 3727.20 Western NETWORKING 100-06 3873 QLogic NETWORKING 3873.1.7 QLogic NETWORKING HP Blade System VC-FC-MPX110 3873.1.9 QLogic NETWORKING SANbox 5802V 3873.1.14 QLogic NETWORKING SANbox 5800V 3873.1.16 QLogic NETWORKING HP Blade System VC-FC-MPX 3873.1.31 Hewlett-Packard NETWORKING StorageWorks MEZ75 3902 ZTE NETWORKING 3902.3.100.14 ZTE NETWORKING ZXR10 3902.3.100.20 ZTE NETWORKING ZXR10 5928 3902.3.100.173 ZTE NETWORKING ZXR10 2842 3955 Linksys NETWORKING 3955.6.1.2048.1 Linksys NETWORKING SRW 2048 3955.6.9.2024.1 Linksys NETWORKING SPS 2024 3977 Broadband NETWORKING 4115 Arris NETWORKING 4115.1.8.1 Arris NETWORKING D5 4115.1.9.1 Arris NETWORKING E6000 4413 Ubiquiti NETWORKING 4474 PaxComm NETWORKING 4474.102.1 paxcommL2 NETWORKING 4526 Netgear NETWORKING 4526.1.1 Netgear NETWORKING FSM700S 4526.100.1.1 Netgear NETWORKING FSM7328S 4526.100.1.2 Netgear NETWORKING FSM7352S 4526.100.1.3 Netgear NETWORKING GSM7328S 4526.100.1.4 Netgear NETWORKING FSM7352S 4526.100.1.5 Netgear NETWORKING FSM7352PS 4526.100.1.7 Netgear NETWORKING GSM7328FS 4526.100.1.8 Netgear NETWORKING FSM7328PS 4526.100.1.9 Netgear NETWORKING FSM7228PS 4526.100.1.10 Netgear NETWORKING GSM7252PS 4526.100.1.11 Netgear NETWORKING FSM7226RS 4525.100.1.12 Netgear NETWORKING FSM7250RS 4526.100.1.13 Netgear NETWORKING FSM7328SE 4526.100.1.14 Netgear NETWORKING FSM7352SE 4526.100.1.15 Netgear NETWORKING XSM7224S 4526.100.1.16 Netgear NETWORKING M5300-28G-POE 4526.100.1.17 Netgear NETWORKING M5300-52G-POE 4526.100.1.18 Netgear NETWORKING M5300-28G3 4526.100.1.19 Netgear NETWORKING M5300-52G3 4526.100.1.20 Netgear NETWORKING M5300-28GF3 4526.100.1.21 Netgear NETWORKING M5300-28G 4526.100.1.22 Netgear NETWORKING M5300-52G 4526.100.2.1 Netgear NETWORKING GSM7248 4526.100.2.2 Netgear NETWORKING GSM7212 4526.100.2.3 Netgear NETWORKING GSM7224I 4526.100.2.4 Netgear NETWORKING FSM7226 4526.100.3.1 Netgear NETWORKING GSM7312v2 4526.100.3.2 Netgear NETWORKING GSM7324v2 4526.100.3.3 Netgear NETWORKING XSM7312 4526.100.3.4 Netgear NETWORKING GSM7324P 4526.100.3.5 Netgear NETWORKING GSM7312I 4526.100.3.6 Netgear NETWORKING GSM7324I 4526.100.3.7 Netgear NETWORKING FSM7326PI 4526.100.4.1 Netgear NETWORKING GS748T 4526.100.4.2 Netgear NETWORKING FS726T 4526.100.4.3 Netgear NETWORKING FS716T 4526.100.4.4 Netgear NETWORKING FS750T 4526.100.4.5 Netgear NETWORKING GS724T 4526.100.4.6 Netgear NETWORKING FS726TP 4526.100.4.7 Netgear NETWORKING FS728TP 4526.100.4.8 Netgear NETWORKING GS108T 4526.100.4.9 Netgear NETWORKING GS108TP 4526.100.4.10 Netgear NETWORKING GS724TP 4526.100.4.11 Netgear NETWORKING GS748TP 4526.100.4.12 Netgear NETWORKING GS724TR 4526.100.4.13 Netgear NETWORKING GS748TR 4526.100.4.16 Netgear NETWORKING GS716Tv2 4525.100.4.17 Netgear NETWORKING GS724Tv3 4526.100.4.18 Netgear NETWORKING G108Tv2 4526.100.4.19 Netgear NETWORKING GS110TP 4526.100.4.20 Netgear NETWORKING FS728TPv2 4526.100.5.1 Netgear NETWORKING FVX538 4526.100.5.2 Netgear NETWORKING FVS338 4526.100.5.3 Netgear NETWORKING FVG318 4526.100.5.4 Netgear NETWORKING FVS336G 4526.100.6.3 Netgear NETWORKING FWAG114 4526.100.6.4 Netgear NETWORKING FVS124G 4526.100.6.5 Netgear NETWORKING FVS318v3 4526.100.6.6 Netgear NETWORKING DGFV338 4526.100.6.11 Netgear NETWORKING SRX5308 4526.100.7.1 Netgear NETWORKING WPN802 4526.100.7.2 Netgear NETWORKING WG312 4526.100.7.3 Netgear NETWORKING WAG312 4526.100.9.1 Netgear NETWORKING GCM9000 4526.100.10.1 Netgear NETWORKING FS728TS 4526.100.10.2 Netgear NETWORKING FS752TS 4526.100.10.3 Netgear NETWORKING FS752TPS 4526.100.10.4 Netgear NETWORKING GS724TS 4526.100.10.5 Netgear NETWORKING GS748TS 4526.100.10.6 Netgear NETWORKING GS752TS 4526.100.10.7 Netgear NETWORKING GS728TS 4526.100.10.8 Netgear NETWORKING GS752TSTPS 4526.100.10.9 Netgear NETWORKING GS728TPS 4526.100.10.10 Netgear NETWORKING GS752TPS 4526.100.11.1 Netgear NETWORKING GSM7224R 4526.100.11.2 Netgear NETWORKING GSM7248R 4526.100.11.3 Netgear NETWORKING GSM7224RP 4526.100.11.4 Netgear NETWORKING GSM7248RP 4526.100.11.5 Netgear NETWORKING GSM7224v2 4526.100.11.6 Netgear NETWORKING GSM7248v2 4526.100.11.7 Netgear NETWORKING GSM7212F 4526.100.11.8 Netgear NETWORKING GSM5212P 4526.100.11.9 Netgear NETWORKING GSM7212P 4526.100.11.10 Netgear NETWORKING GSM7224P 4526.100.11.16 Netgear NETWORKING M4100-26G 4526.100.11.17 Netgear NETWORKING M4100-50G 4526.100.11.18 Netgear NETWORKING M4100-26-POE 4526.100.11.19 Netgear NETWORKING M4100-26G-POE 4526.100.11.20 Netgear NETWORKING M4100-50G-POE+ 4526.100.11.21 Netgear NETWORKING M4100-50-POE 4526.100.11.22 Netgear NETWORKING M4100-D12G 4526.100.11.23 Netgear NETWORKING M4100-D10-POE 4526.100.11.24 Netgear NETWORKING M4100-12GF 4526.100.11.25 Netgear NETWORKING M4100-D12G-POE 4526.100.11.26 Netgear NETWORKING M4100-12G-POE 4526.100.11.27 Netgear NETWORKING M4100-24G-POE+ 4874 Juniper Networks NETWORKING 4874.1.1.1.1.1 Juniper NETWORKING ERX-1410 4874.1.1.1.1.2 Juniper NETWORKING ERX-710 4874.1.1.1.1.3 Juniper NETWORKING ERX-1440 4874.1.1.1.1.4 Juniper NETWORKING ERX-705 4874.1.1.1.1.5 Juniper NETWORKING ERX-310 4874.1.1.1.6.1 Juniper NETWORKING E320 4874.1.1.1.6.2 Juniper NETWORKING E120 4874.1.1.2.1.1.1 Juniper NETWORKING SSX-1400 4874.1.1.2.1.1.2 Juniper NETWORKING SSX-700 4874.1.1.2.1.1.3 Juniper NETWORKING SSX-1440 4881 Ruijie NETWORKING 4881.1.1.10.1.1 Ruijie NETWORKING S2126G 4881.1.1.10.1.2 Ruijie NETWORKING S2126GL3 4881.1.1.10.1.3 Ruijie NETWORKING S2150G 4881.1.1.10.1.4 Ruijie NETWORKING S2150GL3 4881.1.1.10.1.5 Ruijie NETWORKING S4909 4881.1.1.10.1.6 Ruijie NETWORKING S3550-12G 4881.1.1.10.1.8 Ruijie NETWORKING S3550-24G 4881.1.1.10.1.11 Ruijie NETWORKING S21-STACKING 4881.1.1.10.1.12 Ruijie NETWORKING S3550-24 4881.1.1.10.1.13 Ruijie NETWORKING S3550-48 4881.1.1.10.1.15 Ruijie NETWORKING S3550-12SFP-GT 4881.1.1.10.1.16 Ruijie NETWORKING S6806 4881.1.1.10.1.17 Ruijie NETWORKING S6810 4881.1.1.10.1.18 Ruijie NETWORKING S2126S 4881.1.1.10.1.19 Ruijie NETWORKING S2126S-STACKING 4881.1.1.10.1.20 Ruijie NETWORKING S1908PLUS 4881.1.1.10.1.21 Ruijie NETWORKING S1916PLUS 4881.1.1.10.1.22 Ruijie NETWORKING S6506 4881.1.1.10.1.23 Ruijie NETWORKING S2126S-08 4881.1.1.10.1.24 Ruijie NETWORKING S2126S-16 4881.1.1.10.1.25 Ruijie NETWORKING S6806E 4881.1.1.10.1.26 Ruijie NETWORKING S6810E 4881.1.1.10.1.27 Ruijie NETWORKING S2026G 4881.1.1.10.1.28 Ruijie NETWORKING S3750-24 4881.1.1.10.1.29 Ruijie NETWORKING S3750-48 4881.1.1.10.1.30 Ruijie NETWORKING S2126 4881.1.1.10.1.31 Ruijie NETWORKING S2126-STACKING 4881.1.1.10.1.32 Ruijie NETWORKING S2026F 4881.1.1.10.1.33 Ruijie NETWORKING S3760-48 4881.1.1.10.1.34 Ruijie NETWORKING S3760-12SFP-GT 4881.1.1.10.1.35 Ruijie NETWORKING S4009 4881.1.1.10.1.36 Ruijie NETWORKING S3526 4881.1.1.10.1.37 Ruijie NETWORKING S3512G 4881.1.1.10.1.38 Ruijie NETWORKING hcl-12GCS-L3 4881.1.1.10.1.39 Ruijie NETWORKING hcl-24GS-L3 4881.1.1.10.1.40 Ruijie NETWORKING hcl-48TMS-2S-S 4881.1.1.10.1.41 Ruijie NETWORKING S5750-24GT-12SFP 4881.1.1.10.1.42 Ruijie NETWORKING S5750P-24GT-12SFP 4881.1.1.10.1.43 Ruijie NETWORKING S8606 4881.1.1.10.1.44 Ruijie NETWORKING S8610 4881.1.1.10.1.45 Ruijie NETWORKING S9610 4881.1.1.10.1.46 Ruijie NETWORKING S9620 4881.1.1.10.1.47 Ruijie NETWORKING S2924 4881.1.1.10.1.48 Ruijie NETWORKING S3760-24 4881.1.1.10.1.49 Ruijie NETWORKING S3760-48V2 4881.1.1.10.1.50 Ruijie NETWORKING S3750E-24 4881.1.1.10.1.51 Ruijie NETWORKING S3750E-48 4881.1.1.10.1.52 Ruijie NETWORKING S3750E-12SFP-GT 4881.1.1.10.1.53 Ruijie NETWORKING S5750S-24GT-12SFP 4881.1.1.10.1.54 Ruijie NETWORKING S2128G 4881.1.1.10.1.55 Ruijie NETWORKING S2927XG 4881.1.1.10.1.56 Ruijie NETWORKING S3512GPLUS 4881.1.1.10.1.57 Ruijie NETWORKING S6604 4881.1.1.10.1.58 Ruijie NETWORKING S6606 4881.1.1.10.1.59 Ruijie NETWORKING S6610 4881.1.1.10.1.60 Ruijie NETWORKING S5750-24SFP-12GT 4881.1.1.10.1.61 Ruijie NETWORKING S5750-48GT-4SFP 4881.1.1.10.1.62 Ruijie NETWORKING S5750S-48GT-4SFP 4881.1.1.10.1.63 Ruijie NETWORKING S2328G 4881.1.1.10.1.64 Ruijie NETWORKING S3250-48 4881.1.1.10.1.66 Ruijie NETWORKING S2951XG 4881.1.1.10.1.67 Ruijie NETWORKING S3750-24-UB 4881.1.1.10.1.68 Ruijie NETWORKING S3750-48-UB 4881.1.1.10.1.69 Ruijie NETWORKING Scg5510 4881.1.1.10.1.70 Ruijie NETWORKING S2052G 4881.1.1.10.1.71 Ruijie NETWORKING S2352G 4881.1.1.10.1.72 Ruijie NETWORKING S8614 4881.1.1.10.1.73 Ruijie NETWORKING S5650-24GT-4SFP 4881.1.1.10.1.74 Ruijie NETWORKING S5650-27XG 4881.1.1.10.1.75 Ruijie NETWORKING S5650-51XG 4881.1.1.10.1.76 Ruijie NETWORKING S5450-28GT 4881.1.1.10.1.77 Ruijie NETWORKING S3760E-24 4881.1.1.10.1.78 Ruijie NETWORKING S3250P-24 4881.1.1.10.1.79 Ruijie NETWORKING S2928G 4881.1.1.10.1.80 Ruijie NETWORKING S2952G 4881.1.1.10.1.81 Ruijie NETWORKING S2028G 4881.1.1.10.1.82 Ruijie NETWORKING S2528G 4881.1.1.10.1.83 Ruijie NETWORKING S2552G 4881.1.1.10.1.84 Ruijie NETWORKING S5750R-48GT-4SFP 4881.1.1.10.1.85 Ruijie NETWORKING S5750P-48GT-4SFP 4881.1.1.10.1.86 Ruijie NETWORKING S5750R-24GT-4SFP 4881.1.1.10.1.87 Ruijie NETWORKING S5750P-24GT-4SFP 4881.1.1.10.1.88 Ruijie NETWORKING S5750-24GT-4SFP 4881.1.1.10.1.89 Ruijie NETWORKING S5750S-24GT-4SFP 4881.1.1.10.1.92 Ruijie NETWORKING S5750-48GT-4SFP-A 4881.1.1.10.1.93 Ruijie NETWORKING S5750-48GT-4SFP-AP 4881.1.1.10.1.95 Ruijie NETWORKING nm2x-24esw 4881.1.1.10.1.96 Ruijie NETWORKING nm2x-16esw 4881.1.1.10.1.98 Ruijie NETWORKING S3760E-24 4881.1.1.10.1.106 Ruijie NETWORKING S2628G-E 4881.1.2.1.1.1 Ruijie NETWORKING R2620 4881.1.2.1.1.2 Ruijie NETWORKING R2624 4881.1.2.1.1.3 Ruijie NETWORKING R2690 4881.1.2.1.1.4 Ruijie NETWORKING R2692 4881.1.2.1.1.5 Ruijie NETWORKING R3642 4881.1.2.1.1.6 Ruijie NETWORKING R3662 4881.1.2.1.1.7 Ruijie NETWORKING NBR1000 4881.1.2.1.1.8 Ruijie NETWORKING NBR200 4881.1.2.1.1.9 Ruijie NETWORKING Secvpn100 4881.1.2.1.1.10 Ruijie NETWORKING R2632 4881.1.2.1.1.11 Ruijie NETWORKING R1762 4881.1.2.1.1.12 Ruijie NETWORKING rcms 4881.1.2.1.1.13 Ruijie NETWORKING hcl-R1762 4881.1.2.1.1.14 Ruijie NETWORKING hcl-R2632 4881.1.2.1.1.15 Ruijie NETWORKING hcl-R2692 4881.1.2.1.1.16 Ruijie NETWORKING hcl-R3642 4881.1.2.1.1.17 Ruijie NETWORKING hcl-R3662 4881.1.2.1.1.18 Ruijie NETWORKING R3740 4881.1.2.1.1.19 Ruijie NETWORKING NBR2000 4881.1.2.1.1.20 Ruijie NETWORKING NBR300 4881.1.2.1.1.21 Ruijie NETWORKING NBR1200 4881.1.2.1.1.22 Ruijie NETWORKING NBR1500 4881.1.2.1.1.23 Ruijie NETWORKING R2716 4881.1.2.1.1.24 Ruijie NETWORKING R2724 4881.1.2.1.1.25 Ruijie NETWORKING R3802 4881.1.2.1.1.26 Ruijie NETWORKING R3804 4881.1.2.1.1.27 Ruijie NETWORKING RSR50-20 4881.1.2.1.1.28 Ruijie NETWORKING RSR50-40 4881.1.2.1.1.29 Ruijie NETWORKING RSR50-80 4881.1.2.1.1.30 Ruijie NETWORKING NPE50-20 4881.1.2.1.1.31 Ruijie NETWORKING RSR10-02 4881.1.2.1.1.32 Ruijie NETWORKING RSR20-04 4881.1.2.1.1.33 Ruijie NETWORKING vpn120 4881.1.2.1.1.34 Ruijie NETWORKING NPE80 4881.1.2.1.1.35 Ruijie NETWORKING RSR20-24 4881.1.2.1.1.36 Ruijie NETWORKING nm2-16esw 4881.1.2.1.1.37 Ruijie NETWORKING nm2-24esw 4881.1.2.1.1.38 Ruijie NETWORKING nmx-24esw 4881.1.2.1.1.39 Ruijie NETWORKING nmx-24esw-l2 4881.1.2.1.1.40 Ruijie NETWORKING nmx-24esw-3gel3 4881.1.2.1.1.41 Ruijie NETWORKING RSR20-14 4881.1.2.1.1.42 Ruijie NETWORKING RSR30-44 4881.1.2.1.1.43 Ruijie NETWORKING R2700v2v3 4881.1.2.1.1.44 Ruijie NETWORKING R2700v5 4881.1.2.1.1.45 Ruijie NETWORKING NPE50-40 4881.1.2.1.1.46 Ruijie NETWORKING RSR20-18 4881.1.3.1.1.1 Ruijie NETWORKING WGP500 4976 Hewlett-Packard NETWORKING Arcsight DL380 4981 RiverDelta NETWORKING 4981.4.1 Motorola NETWORKING BSR2000 4981.4.1.1.1.2.1.1 RiverDelta NETWORKING BSR1000R 4981.4.1.2.1.1.1.1 RiverDelta NETWORKING BSR64000 5491 Riello UPS POWER 5567 Riverstone Networks NETWORKING 5567.1.1.1 Riverstone NETWORKING rs8000 5567.1.1.2 Riverstone NETWORKING rs8600 5567.1.1.3 Riverstone NETWORKING rs2000 5567.1.1.4 Riverstone NETWORKING rs2100 5567.1.1.5 Riverstone NETWORKING rs3000 5567.1.1.6 Riverstone NETWORKING rs32000 5567.1.1.8 Riverstone NETWORKING rs1000 5567.1.1.9 Riverstone NETWORKING rs38000 5567.1.1.10 Riverstone NETWORKING rs16000 8-Slot 5567.1.1.11 Riverstone NETWORKING rs3100 Metro Access 5567.1.1.12 Riverstone NETWORKING rs3200 Metro Access 5567.1.1.13 Riverstone NETWORKING rs1100 Metro Access 5567.1.1.31 Riverstone NETWORKING ES Switch (Model Unknown) 5567.1.1.51 Riverstone NETWORKING XGS9016 5567.1.1.52 Riverstone NETWORKING XGS9008 5567.1.1.101 Riverstone NETWORKING rs15008 5596 Tandberg VIDEO # http://www.extremenetworks.com/support/policies/mibs/ (mibs.zip: enterasys-oids-mib.txt) 5624 Enterasys NETWORKING 5624.2.1.2 Enterasys NETWORKING 6G306-06 5624.2.1.3 Enterasys NETWORKING 6H302-48 5624.2.1.4 Enterasys NETWORKING 6H303-48 5624.2.1.5 Enterasys NETWORKING 6H352-25 5624.2.1.6 Enterasys NETWORKING 6H308-24 5624.2.1.7 Enterasys NETWORKING 6E308-24 5624.2.1.8 Enterasys NETWORKING Matrix E7 5624.2.1.9 Enterasys NETWORKING VH-8G 5624.2.1.10 Enterasys NETWORKING VH-4802 5624.2.1.11 Enterasys NETWORKING VH-2402S/S2 5624.2.1.13 Enterasys NETWORKING 6H308-48 5624.2.1.14 Enterasys NETWORKING 6E308-48 5624.2.1.15 Enterasys NETWORKING 6H202-48 5624.2.1.16 Enterasys NETWORKING 9E531-24 5624.2.1.17 Enterasys NETWORKING VG4xDES 5624.2.1.18 Enterasys NETWORKING 5H102-48 5624.2.1.19 Enterasys NETWORKING 5H103-48 5624.2.1.20 Enterasys NETWORKING 5G106-6 5624.2.1.21 Enterasys NETWORKING 5G102-06 5624.2.1.22 Enterasys NETWORKING VG6 5624.2.1.23 Enterasys NETWORKING ER16 5624.2.1.24 Enterasys NETWORKING 4802 5624.2.1.25 Enterasys NETWORKING VH-8TX1UM 5624.2.1.26 Enterasys NETWORKING VH-2402-L3 5624.2.1.27 Enterasys NETWORKING VH-8G-L3 5624.2.1.28 Enterasys NETWORKING 5H152-50 5624.2.1.29 Enterasys NETWORKING 5H153-50 5624.2.1.30 Enterasys NETWORKING RBTR2-A 5624.2.1.31 Enterasys NETWORKING VH-8TX1UMF 5624.2.1.32 Enterasys NETWORKING XSR-1805 5624.2.1.33 Enterasys NETWORKING ANG-2000 5624.2.1.34 Enterasys NETWORKING 1H582-51 5624.2.1.35 Enterasys NETWORKING 1G582-09 5624.2.1.36 Enterasys NETWORKING 1G694-13 5624.2.1.37 Enterasys NETWORKING VH-SMGMT-L3 5624.2.1.38 Enterasys NETWORKING ANG-1102 5624.2.1.39 Enterasys NETWORKING ANG-1105 5624.2.1.40 Enterasys NETWORKING ANG-3000 5624.2.1.41 Enterasys NETWORKING ANG-7000 5624.2.1.42 Enterasys NETWORKING XP 2400 5624.2.1.43 Enterasys NETWORKING VH-8GO2S 5624.2.1.44 Enterasys NETWORKING 6G302-06 5624.2.1.45 Enterasys NETWORKING XSR-1850 5624.2.1.46 Enterasys NETWORKING VH-2402S2 5624.2.1.47 Enterasys NETWORKING VH-2202GT 5624.2.1.48 Enterasys NETWORKING C5M200 5624.2.1.49 Enterasys NETWORKING C1H124-48 5624.2.1.50 Enterasys NETWORKING C2M200 5624.2.1.51 Enterasys NETWORKING Matrix E7-Platinum 5624.2.1.52 Enterasys NETWORKING Matrix N7-Platinum 5624.2.1.53 Enterasys NETWORKING Matrix N3-Platinum 5624.2.1.54 Enterasys NETWORKING XSR-1100 5624.2.1.55 Enterasys NETWORKING XSR-3020 5624.2.1.56 Enterasys NETWORKING XSR-3150 5624.2.1.57 Enterasys NETWORKING XSR-3250 5624.2.1.58 Enterasys NETWORKING XSR-4100 5624.2.1.59 Enterasys NETWORKING 1H582-25 5624.2.1.60 Enterasys NETWORKING 1G587-09 5624.2.1.61 Enterasys NETWORKING C1G124-24 5624.2.1.62 Enterasys NETWORKING V2H124-24 5624.2.1.63 Enterasys NETWORKING RBTR3-A 5624.2.1.64 Enterasys NETWORKING RBT3K 5624.2.1.65 Enterasys NETWORKING Matrix E7-Gold 5624.2.1.66 Enterasys NETWORKING Matrix N7-Gold 5624.2.1.67 Enterasys NETWORKING Matrix N3-Gold 5624.2.1.68 Enterasys NETWORKING V2H124-POE 5624.2.1.69 Enterasys NETWORKING DFE Gold 5624.2.1.70 Enterasys NETWORKING DFE Platinum 5624.2.1.71 Enterasys NETWORKING Dragon IDS Appliance 5624.2.1.72 Enterasys NETWORKING XSR-1205 5624.2.1.73 Enterasys NETWORKING XSR-1220 5624.2.1.74 Enterasys NETWORKING XSR-1225 5624.2.1.75 Enterasys NETWORKING XSR-1230 5624.2.1.76 Enterasys NETWORKING XSR-1235 5624.2.1.77 Enterasys NETWORKING 2G4072-52 5624.2.1.78 Enterasys NETWORKING Matrix N5 PoE-Gold 5624.2.1.79 Enterasys NETWORKING Matrix N5 PoE-Platinum 5624.2.1.80 Enterasys NETWORKING Matrix X4 5624.2.1.81 Enterasys NETWORKING Matrix X8 5624.2.1.82 Enterasys NETWORKING Matrix X16 5624.2.1.83 Enterasys NETWORKING Matrix N1 5624.2.1.84 Enterasys NETWORKING Matrix N1-Gold 5624.2.1.85 Enterasys NETWORKING RBTSA-US 5624.2.1.86 Enterasys NETWORKING RBTSA-non-US 5624.2.1.87 Enterasys NETWORKING A2H124-24 5624.2.1.88 Enterasys NETWORKING A2H124-24P 5624.2.1.89 Enterasys NETWORKING A2H124-48 5624.2.1.90 Enterasys NETWORKING A2H124-48P 5624.2.1.91 Enterasys NETWORKING A2H124-24FX 5624.2.1.92 Enterasys NETWORKING RBT-4102 5624.2.1.93 Enterasys NETWORKING NSTAG-GE250-TX 5624.2.1.93 Enterasys NETWORKING NSTAG-GE500-TX 5624.2.1.95 Enterasys NETWORKING A2H254-16 5624.2.1.96 Enterasys NETWORKING C3G124-24 5624.2.1.97 Enterasys NETWORKING C3G124-24P 5624.2.1.98 Enterasys NETWORKING C3G124-48 5624.2.1.99 Enterasys NETWORKING C3G124-48P 5624.2.1.100 Enterasys NETWORKING B3G124-24 5624.2.1.101 Enterasys NETWORKING B3G124-24P 5624.2.1.102 Enterasys NETWORKING B3G124-48 5624.2.1.103 Enterasys NETWORKING B3G124-48P 5624.2.1.104 Enterasys NETWORKING I3H252-02 5624.2.1.105 Enterasys NETWORKING SNS-TAG-LPA 5624.2.1.106 Enterasys NETWORKING SNS-TAG-HPA 5624.2.1.107 Enterasys NETWORKING SNS-TAG-BASE 5624.2.1.108 Enterasys NETWORKING 7S-NSTAG-01 5624.2.1.109 Enterasys NETWORKING SNS-PCC-WBA 5624.2.1.110 Enterasys NETWORKING A2H123-24 5624.2.1.111 Enterasys NETWORKING B3H123-24FX 5624.2.1.112 Enterasys NETWORKING C3H123-24FX 5624.2.1.113 Enterasys NETWORKING C3K122-24 5624.2.1.114 Enterasys NETWORKING C3K172-24 5624.2.1.115 Enterasys NETWORKING C3K-2XFP 5624.2.1.116 Enterasys NETWORKING SNS-NSS-A 5624.2.1.117 Enterasys NETWORKING G3G124-24 5624.2.1.118 Enterasys NETWORKING G3G170-24 5624.2.1.119 Enterasys NETWORKING D2G124x12 5624.2.1.120 Enterasys NETWORKING D2G124x12P 5624.2.1.121 Enterasys NETWORKING RBT-8500 5624.2.1.122 Enterasys NETWORKING Matrix N1-NAC 5624.2.1.123 Enterasys NETWORKING 7S-NSNACG-01NPS 5624.2.1.124 Enterasys NETWORKING G3G124-24P 5624.2.1.125 Enterasys NETWORKING C3K122-24P 5624.2.1.126 Enterasys NETWORKING NAC-A-2K 5624.2.1.127 Enterasys NETWORKING NAC-A-3K 5624.2.1.128 Enterasys NETWORKING SSA-T4068-0252 5624.2.1.129 Enterasys NETWORKING SSA-T1068-0652 5624.2.1.130 Enterasys NETWORKING SSA-G1018-0652 5624.2.1.131 Enterasys NETWORKING S-Series S3 5624.2.1.132 Enterasys NETWORKING S-Series S4 5624.2.1.133 Enterasys NETWORKING S-Series S8 5624.2.1.134 Enterasys NETWORKING B5G124-24 5624.2.1.135 Enterasys NETWORKING B5G124-24P2 5624.2.1.136 Enterasys NETWORKING B5G124-48 5624.2.1.137 Enterasys NETWORKING B5G124-48P2 5624.2.1.138 Enterasys NETWORKING B5K125-24 5624.2.1.139 Enterasys NETWORKING B5K125-24P2 5624.2.1.140 Enterasys NETWORKING B5K125-48 5624.2.1.141 Enterasys NETWORKING B5K125-48P2 5624.2.1.142 Enterasys NETWORKING C5G124-24 5624.2.1.143 Enterasys NETWORKING C5G124-24P2 5624.2.1.144 Enterasys NETWORKING C5G124-48 5624.2.1.145 Enterasys NETWORKING C5G124-48P2 5624.2.1.146 Enterasys NETWORKING C5K125-24 5624.2.1.147 Enterasys NETWORKING C5K125-24P2 5624.2.1.148 Enterasys NETWORKING C5K125-48 5624.2.1.149 Enterasys NETWORKING C5K125-48P2 5624.2.1.150 Enterasys NETWORKING C5K175-24 5624.2.1.151 Enterasys NETWORKING NAC-A-10 5624.2.1.152 Enterasys NETWORKING NAC-A-20 5624.2.1.153 Enterasys NETWORKING NAC-A-V 5624.2.1.154 Enterasys NETWORKING A4H124-24TX 5624.2.1.155 Enterasys NETWORKING A4H124-24FX 5624.2.1.156 Enterasys NETWORKING A4H124-8F8T 5624.2.1.157 Enterasys NETWORKING A4H124-24 5624.2.1.158 Enterasys NETWORKING A4H124-24P 5624.2.1.159 Enterasys NETWORKING A4H124-48 5624.2.1.160 Enterasys NETWORKING A4H124-48P 5624.2.1.161 Enterasys NETWORKING A4H254-8F8T 5624.2.1.162 Enterasys NETWORKING K-Series K6 5624.2.1.163 Enterasys NETWORKING K-Series K10 5624.2.1.164 Enterasys NETWORKING S-Series S6 5624.2.1.165 Enterasys NETWORKING S-Series SSA 5624.2.1.166 Enterasys NETWORKING S-Series Virtual Switch Bonded S3 5624.2.1.167 Enterasys NETWORKING S-Series Virtual Switch Bonded S4 5624.2.1.168 Enterasys NETWORKING S-Series Virtual Switch Bonded S6 5624.2.1.169 Enterasys NETWORKING S-Series Virtual Switch Bonded S8 5624.2.1.170 Enterasys NETWORKING S-Series Virtual Switch Bonded S1 5624.2.1.171 Enterasys NETWORKING S-Series S1 5624.2.1.172 Enterasys NETWORKING 71K11L4-24 5624.2.1.173 Enterasys NETWORKING 71K11L4-48 5624.2.1.174 Enterasys NETWORKING 71K91L4-24 5624.2.1.175 Enterasys NETWORKING 71K91L4-24 5624.2.1.176 Enterasys NETWORKING SSA-T1068-0652A 5624.2.1.177 Enterasys NETWORKING SSA-T5028-0652 5624.2.1.178 Enterasys NETWORKING 08G20G2-08 5624.2.1.179 Enterasys NETWORKING 08G20G2-08P 5624.2.1.180 Enterasys NETWORKING 08G20G4-24 5624.2.1.181 Enterasys NETWORKING 08G20G4-24P 5624.2.1.182 Enterasys NETWORKING 08G20G4-08 5624.2.1.183 Enterasys NETWORKING 08G20G4-08P 5624.2.1.184 Enterasys NETWORKING 08H20G4-24 5624.2.1.185 Enterasys NETWORKING 08H20G4-24P 5624.2.1.186 Enterasys NETWORKING 08H20G4-48 5624.2.1.187 Enterasys NETWORKING 08H20G4-48P 5624.2.1.188 Enterasys NETWORKING SSA-T5068-0652 5624.2.1.189 Enterasys NETWORKING SSA-G5018-0652 5624.2.1.190 Enterasys NETWORKING 71G21K2L2-24P24 5624.2.1.191 Enterasys NETWORKING 71G21K2L2-48P 5624.2.1.192 Enterasys NETWORKING SSA-T8028-0652 5624.2.1.193 Enterasys NETWORKING SSA-G8018-0652 5624.2.1.194 Enterasys NETWORKING 7100-Series Virtual Switch Bonded 5624.2.1.195 Enterasys NETWORKING NS-A-20 5624.2.1.196 Enterasys NETWORKING IA-A-20 5624.2.1.197 Enterasys NETWORKING IA-V 5624.2.1.198 Enterasys NETWORKING IA-A-300 5624.2.1.199 Enterasys NETWORKING APP-A-300 5624.2.1.200 Enterasys NETWORKING APP-V 5624.2.1.201 Enterasys NETWORKING S-Series S1-A 5624.2.1.202 Enterasys NETWORKING S-Series S3-A 5624.2.1.203 Enterasys NETWORKING K-Series Virtual Switch Bonded K6 5624.2.1.204 Enterasys NETWORKING K-Series Virtual Switch Bonded K10 5624.2.1.205 Enterasys NETWORKING PV-A-300 5624.2.1.206 Enterasys NETWORKING PV-V 5624.2.1.207 Enterasys NETWORKING 71G11K2L2-48 5624.2.1.208 Enterasys NETWORKING PV-FC-180 5624.2.2.220 Enterasys NETWORKING C2H124-48 5624.2.2.221 Enterasys NETWORKING C2G124-36 5624.2.2.283 Enterasys NETWORKING C2G124-24 5624.2.2.284 Enterasys NETWORKING C2G124-48 5624.2.2.285 Enterasys NETWORKING C2K122-24 5624.2.2.286 Enterasys NETWORKING C2H124-48P 5624.2.2.287 Enterasys NETWORKING C2G124-48P 5624.2.2.306 Enterasys NETWORKING V2H124-24FX 5624.2.2.314 Enterasys NETWORKING B2G124-24 5624.2.2.315 Enterasys NETWORKING B2G124-48 5624.2.2.316 Enterasys NETWORKING B2G124-48P 5624.2.2.317 Enterasys NETWORKING B2H124-48 5624.2.2.318 Enterasys NETWORKING B2H124-48P 5624.2.2.319 Enterasys NETWORKING B2G124-24P 5624.2.2.320 Enterasys NETWORKING B2H124-24 5624.2.2.321 Enterasys NETWORKING B2H124-24P 5624.2.2.322 Enterasys NETWORKING B2H124-24FX 5624.2.2.360 Enterasys NETWORKING C2G170-24 5651 Maipu NETWORKING 5651.1.102.29 Maipu NETWORKING MyPower S6800 5951 Citrix NETWORKING 5951.1 Citrix NETWORKING NetScaler 6027 Force10 NETWORKING 6027.1.1.1 Force10 NETWORKING e1200 6027.1.1.2 Force10 NETWORKING e600 6027.1.1.3 Force10 NETWORKING e300 6027.1.1.4 Force10 NETWORKING e610 6027.1.1.5 Force10 NETWORKING e1200i 6027.1.2.1 Force10 NETWORKING c300 6027.1.2.2 Force10 NETWORKING c150 6027.1.3.1 Force10 NETWORKING s50 6027.1.3.2 Force10 NETWORKING s50e 6027.1.3.3 Force10 NETWORKING s50v 6027.1.3.4 Force10 NETWORKING s25pac 6027.1.3.5 Force10 NETWORKING s2410cp 6027.1.3.6 Force10 NETWORKING s2410p 6027.1.3.7 Force10 NETWORKING s50nac 6027.1.3.8 Force10 NETWORKING s50ndc 6027.1.3.9 Force10 NETWORKING s25pdc 6027.1.3.10 Force10 NETWORKING s25v 6027.1.3.11 Force10 NETWORKING s25n 6027.1.3.13 Dell NETWORKING Force10-S55 6027.1.3.14 Dell NETWORKING Force10-S4810 6027.1.3.18 Dell NETWORKING Force10-S6000 6027.1.4.1 Dell NETWORKING Force10-MXL 10/40GbE 6027.1.4.2 Dell NETWORKING I/O Aggregator 6213 RedLine Networks NETWORKING TX 2600 Web I/O Processor 6296 DASAN NETWORKING 6296.1.2 DASAN NETWORKING V5124 6486 Alcatel NETWORKING 6486.800.1.1.2.1.1 Alcatel NETWORKING OmniSwitch 7000 6486.800.1.1.2.1.1.1 Alcatel NETWORKING OmniSwitch 7000 6486.800.1.1.2.1.1.1.1 Alcatel NETWORKING OmniSwitch 7700 6486.800.1.1.2.1.1.1.2 Alcatel NETWORKING OmniSwitch 7800 6486.800.1.1.2.1.1.4.1.1 Alcatel NETWORKING OmniSwitch 7700 CMM 6486.800.1.1.2.1.1.4.1.1.1 Alcatel NETWORKING OmniSwitch 7700PROC CMM 6486.800.1.1.2.1.1.4.1.1.2 Alcatel NETWORKING OmniSwitch 7700BBUS CMM 6486.800.1.1.2.1.1.4.1.2 Alcatel NETWORKING OmniSwitch 7800 CMM 6486.800.1.1.2.1.1.4.1.2.1 Alcatel NETWORKING OmniSwitch 7800PROC CMM 6486.800.1.1.2.1.1.4.1.2.2 Alcatel NETWORKING OmniSwitch 7800BBUS CMM 6486.800.1.1.2.1.1.4.2.1.1 Alcatel NETWORKING OmniSwitch 7000C24 ENI 6486.800.1.1.2.1.1.4.2.1.2 Alcatel NETWORKING OmniSwitch 7000FM12 ENI 6486.800.1.1.2.1.1.4.2.1.3 Alcatel NETWORKING OmniSwitch 7000PDPS24 ENI 6486.800.1.1.2.1.2 Alcatel NETWORKING OmniSwitch 8000 6486.800.1.1.2.1.2.1 Alcatel NETWORKING OmniSwitch 8000 6486.800.1.1.2.1.2.1.1 Alcatel NETWORKING OmniSwitch 8800 6486.800.1.1.2.1.2.4.1.1 Alcatel NETWORKING OmniSwitch 8800 CMM 6486.800.1.1.2.1.2.4.1.1.1 Alcatel NETWORKING OmniSwitch 8800PROC CMM 6486.800.1.1.2.1.2.4.1.1.2 Alcatel NETWORKING OmniSwitch 8800BBUS CMM 6486.800.1.1.2.1.2.4.2.1.1 Alcatel NETWORKING OmniSwitch 8000C24 ENI 6486.800.1.1.2.1.3 Alcatel NETWORKING OmniSwitch 6600 6486.800.1.1.2.1.3.1 Alcatel NETWORKING OmniSwitch 6600 6486.800.1.1.2.1.3.1.1 Alcatel NETWORKING OmniSwitch 6600-24 6486.800.1.1.2.1.3.1.2 Alcatel NETWORKING OmniSwitch 6600-48 6486.800.1.1.2.1.3.1.3 Alcatel NETWORKING OmniSwitch 6600-U24 6486.800.1.1.2.1.3.1.4 Alcatel NETWORKING OmniSwitch 6602-24 6486.800.1.1.2.1.3.1.5 Alcatel NETWORKING OmniSwitch 6602-48 6486.800.1.1.2.1.3.1.6 Alcatel NETWORKING OmniSwitch 6624 PoE 6486.800.1.1.2.1.3.1.7 Alcatel NETWORKING OmniSwitch 6848PoE 6486.800.1.1.2.1.3.4.1 Alcatel NETWORKING OmniSwitch 6600 EXP 6486.800.1.1.2.1.4.1.1 Alcatel NETWORKING OMNIAccess210 6486.800.1.1.2.1.4.1.2 Alcatel NETWORKING OMNIAccess250 6486.800.1.1.2.1.5.1.1 Alcatel NETWORKING OmniSwitch 6300 6486.800.1.1.2.1.6.1.1 Alcatel NETWORKING OmniSwitch 6800-24 6486.800.1.1.2.1.6.1.2 Alcatel NETWORKING OmniSwitch 6800-48 6486.800.1.1.2.1.6.1.3 Alcatel NETWORKING OmniSwitch 6800-U24 6486.800.1.1.2.1.6.1.4 Alcatel NETWORKING OMNI6824-PoE 6486.800.1.1.2.1.6.1.5 Alcatel NETWORKING OMNI6848-PoE 6486.800.1.1.2.1.6.1.6 Alcatel NETWORKING OmniSwitch 6800-24L 6486.800.1.1.2.1.6.1.7 Alcatel NETWORKING OmniSwitch 6800-L48 6486.800.1.1.2.1.6.1.8 Alcatel NETWORKING OMNI6824LU 6486.800.1.1.2.1.6.1.9 Alcatel NETWORKING OMNI6848LU 6486.800.1.1.2.1.6.1.10 Alcatel NETWORKING OMNI6824L-PoE 6486.800.1.1.2.1.6.1.11 Alcatel NETWORKING OMNI6848L-PoE 6486.800.1.1.2.1.6.1.12 Alcatel NETWORKING OMNI6824LU-PoE 6486.800.1.1.2.1.6.1.13 Alcatel NETWORKING OMNI6848LU-PoE 6486.800.1.1.2.1.7.1.1 Alcatel NETWORKING OmniSwitch 6850-24 6486.800.1.1.2.1.7.1.2 Alcatel NETWORKING OmniSwitch 6850-48 6486.800.1.1.2.1.7.1.3 Alcatel NETWORKING OmniSwitch 6850-24X 6486.800.1.1.2.1.7.1.4 Alcatel NETWORKING OmniSwitch 6850-48X 6486.800.1.1.2.1.7.1.5 Alcatel NETWORKING OmniSwitch 6850-P24 6486.800.1.1.2.1.7.1.6 Alcatel NETWORKING OmniSwitch 6850-P48 6486.800.1.1.2.1.7.1.7 Alcatel NETWORKING OMNI6850-P24X 6486.800.1.1.2.1.7.1.8 Alcatel NETWORKING OmniSwitch 6850-P48X 6486.800.1.1.2.1.7.1.9 Alcatel NETWORKING OmniSwitch 6850-U24 6486.800.1.1.2.1.7.1.10 Alcatel NETWORKING OmniSwitch 6850-U24X 6486.800.1.1.2.1.7.1.11 Alcatel NETWORKING OMNI6850-24L 6486.800.1.1.2.1.7.1.12 Alcatel NETWORKING OMNI6850-48L 6486.800.1.1.2.1.7.1.13 Alcatel NETWORKING OMNI6850-24XL 6486.800.1.1.2.1.7.1.14 Alcatel NETWORKING OMNI6850-48XL 6486.800.1.1.2.1.7.1.15 Alcatel NETWORKING OMNI6850-P24L 6486.800.1.1.2.1.7.1.16 Alcatel NETWORKING OMNI6850-P48L 6486.800.1.1.2.1.7.1.17 Alcatel NETWORKING OMNI6850-P24XL 6486.800.1.1.2.1.7.1.18 Alcatel NETWORKING OMNI6850-P48XL 6486.800.1.1.2.1.7.1.19 Alcatel NETWORKING OMNI6850-24LU 6486.800.1.1.2.1.7.1.20 Alcatel NETWORKING OMNI6850-48LU 6486.800.1.1.2.1.7.1.21 Alcatel NETWORKING OMNI6850-24XLU 6486.800.1.1.2.1.7.1.22 Alcatel NETWORKING OMNI6850-48XLU 6486.800.1.1.2.1.7.1.23 Alcatel NETWORKING OMNI6850-P24LU 6486.800.1.1.2.1.7.1.24 Alcatel NETWORKING OMNI6850-P48LU 6486.800.1.1.2.1.7.1.25 Alcatel NETWORKING OMNI6850-P24XLU 6486.800.1.1.2.1.7.1.26 Alcatel NETWORKING OMNI6850-P48XLU 6486.800.1.1.2.1.7.1.42 Alcatel NETWORKING OmniSwitch 6850E-P24 6486.800.1.1.2.1.7.1.45 Alcatel NETWORKING OmniSwitch 6850E-48X 6486.800.1.1.2.1.7.1.46 Alcatel NETWORKING Omniswitch 6850E-24 6486.800.1.1.2.1.7.1.47 Alcatel NETWORKING OMNI6850E-24X 6486.800.1.1.2.1.7.1.48 Alcatel NETWORKING OmniSwitch 6850E-U24X 6486.800.1.1.2.1.8.1.1 Alcatel NETWORKING OmniSwitch 9700 6486.800.1.1.2.1.8.1.2 Alcatel NETWORKING OmniSwitch 9800 6486.800.1.1.2.1.8.1.3 Alcatel NETWORKING OMNI9600 6486.800.1.1.2.1.8.1.4 Alcatel NETWORKING OmniSwitch 9700E 10-slot Chassis 6486.800.1.1.2.1.8.1.5 Alcatel NETWORKING OMNI9800E 6486.800.1.1.2.1.8.1.6 Alcatel NETWORKING OMNI9600E 6486.800.1.1.2.1.9.1.1 Alcatel NETWORKING OMNI6855-14 6486.800.1.1.2.1.9.1.2 Alcatel NETWORKING OMNI6855-U10 6486.800.1.1.2.1.9.1.3 Alcatel NETWORKING OMNI6855-24 6486.800.1.1.2.1.9.1.4 Alcatel NETWORKING OMNI6855-U24 6486.800.1.1.2.1.9.1.5 Alcatel NETWORKING OMNI6855-U24X 6486.800.1.1.2.1.10.1.1 Alcatel NETWORKING OMNI6400-24 6486.800.1.1.2.1.10.1.2 Alcatel NETWORKING OMNI6400-P24 6486.800.1.1.2.1.10.1.3 Alcatel NETWORKING OMNI6400-U24 6486.800.1.1.2.1.10.1.4 Alcatel NETWORKING OMNI6400-DU24 6486.800.1.1.2.1.10.1.5 Alcatel NETWORKING OmniSwitch 6400-48 6486.800.1.1.2.1.10.1.6 Alcatel NETWORKING OMNI6400-P48 6486.800.1.1.2.1.11.1.1 Alcatel NETWORKING OMNI6250-8M 6486.800.1.1.2.1.11.1.2 Alcatel NETWORKING OMNI6250-24M 6486.800.1.1.2.1.11.1.3 Alcatel NETWORKING OMNI6250-24MD 6486.800.1.1.2.1.11.2.1 Alcatel NETWORKING OmniSwitch 6250 6486.800.1.1.2.1.11.2.2 Alcatel NETWORKING OMNI6250-P24 6486.800.1.1.2.1.12.1.4 Alcatel NETWORKING Omniswitch 6450-P10L 6486.800.1.1.2.1.12.1.5 Alcatel NETWORKING Omniswitch 6450-24 6486.800.1.1.2.1.12.1.6 Alcatel NETWORKING OmniSwitch 6450-P24 6486.800.1.1.2.1.12.1.8 Alcatel NETWORKING OmniSwitch 6450-48 6486.800.1.1.2.1.12.1.9 Alcatel NETWORKING Omniswitch 6450-P48 6486.800.1.1.2.1.12.1.10 Alcatel NETWORKING OmniSwitch 6450-24L 6486.800.1.1.2.1.12.1.13 Alcatel NETWORKING Omniswitch 6450-P48L 6486.800.1.1.2.2.2.1.1.1 Alcatel NETWORKING AP5000 6486.800.1.1.2.2.2.1.1.2 Alcatel NETWORKING AP2400 6486.800.1.1.2.2.2.1.1.3 Alcatel NETWORKING AP800 6486.800.1.1.2.2.2.1.1.4 Alcatel NETWORKING AP6000 6486.800.1.1.2.2.4.1.1 Alcatel NETWORKING 6200 6486.800.1.1.2.2.4.1.2 Alcatel NETWORKING OmniStack LS 6200 6486.800.1.1.2.2.4.1.3 Alcatel NETWORKING 6200 6486.800.1.1.2.2.4.1.6 Alcatel NETWORKING OmniStack LS 6200 6486.801.1.1.2.1.10.1.2 Alcatel NETWORKING OmniSwitch 6900-X40 6486.801.1.1.2.1.10.1.4 Alcatel NETWORKING OmniSwitch 6900 6486.801.1.1.2.1.12.1.1 Alcatel NETWORKING OmniSwitch 9900 6527 Alcatel NETWORKING 6527.1.3.1 Alcatel NETWORKING 7750 SR1 6527.1.3.2 Alcatel NETWORKING 7750 SR4 6527.1.3.3 Alcatel NETWORKING 7750SR12 6527.1.3.4 Alcatel NETWORKING 7750 SR7 6527.1.3.5 Alcatel NETWORKING 7750 SR6 6527.1.3.6 Alcatel NETWORKING 7750 SRc12 6527.1.3.7 Alcatel NETWORKING 7750 SRc4 6527.1.6.1 Alcatel NETWORKING 7450 SR1 6527.1.6.3 Alcatel NETWORKING 7450SR12 6527.1.6.4 Alcatel NETWORKING 7450 6527.6.1.1.2.1 Alcatel NETWORKING 7705 SAR-8 6527.6.2.1.2.1 Alcatel NETWORKING 7210 SAS-E 6666 Innovaphone PHONE 6848 Crossbeam NETWORKING 6848.1.1 Crossbeam NETWORKING X40 6848.1.1.1 Crossbeam NETWORKING X40Chassis 6848.1.1.2 Crossbeam NETWORKING X40Modules 6848.1.1.2.1 Crossbeam NETWORKING CPModules 6848.1.1.2.1.1 Crossbeam NETWORKING CPM4100 6848.1.1.2.1.2 Crossbeam NETWORKING CPM8100 6848.1.1.2.1.3 Crossbeam NETWORKING X40 CP 8400 Switch Modules 6848.1.1.2.1.4 Crossbeam NETWORKING X40 CP 8600 Switch Modules 6848.1.1.2.1.5 Crossbeam NETWORKING X40 CP 9600 Switch Modules 6848.1.1.2.2 Crossbeam NETWORKING APModules 6848.1.1.2.2.1 Crossbeam NETWORKING APM4100 6848.1.1.2.2.2 Crossbeam NETWORKING APM4200 6848.1.1.2.2.3 Crossbeam NETWORKING APM4250 6848.1.1.2.2.4 Crossbeam NETWORKING APM8200 6848.1.1.2.2.5 Crossbeam NETWORKING X40 AP 8400 Switch Modules 6848.1.1.2.2.6 Crossbeam NETWORKING X40 AP 8600 Switch Modules 6848.1.1.2.2.7 Crossbeam NETWORKING X40 AP 8650 Switch Modules 6848.1.1.2.2.8 Crossbeam NETWORKING X40 AP 9600 Switch Modules 6848.1.1.2.2.9 Crossbeam NETWORKING X40 AP 2030 Switch Modules 6848.1.1.2.3 Crossbeam NETWORKING NPModules 6848.1.1.2.3.1 Crossbeam NETWORKING NPM4100 6848.1.1.2.3.2 Crossbeam NETWORKING NPM4110 6848.1.1.2.3.3 Crossbeam NETWORKING NPM8200 6848.1.1.2.3.4 Crossbeam NETWORKING NPM8210 6848.1.1.2.3.5 Crossbeam NETWORKING X40 NP 8600 Switch Modules 6848.1.1.2.3.6 Crossbeam NETWORKING X40 NP 8500 Switch Modules 6848.1.1.2.3.7 Crossbeam NETWORKING X40 NP 8620 Switch Modules 6848.1.1.2.3.8 Crossbeam NETWORKING X40 NP 20 Switch Modules 6848.1.1.2.3.9 Crossbeam NETWORKING X40 NP 30 Switch Modules 6848.1.2 Crossbeam NETWORKING XSeries 6848.1.2.1 Crossbeam NETWORKING XChassis 6848.1.2.1.1 Crossbeam NETWORKING X45Chassis 6848.1.2.1.2 Crossbeam NETWORKING X80Chassis 6848.1.2.1.3 Crossbeam NETWORKING X60 Security Switch 6848.1.2.1.4 Crossbeam NETWORKING X20 Security Switch 6848.1.2.1.5 Crossbeam NETWORKING X30 Security Switch 6848.1.3 Crossbeam NETWORKING CSeries 6848.1.3.1 Crossbeam NETWORKING CChassis 6848.1.3.1.1 Crossbeam NETWORKING C30Chassis 6848.1.3.1.2 Crossbeam NETWORKING C30Modules 6848.1.3.1.3 Crossbeam NETWORKING C30i 6848.1.3.1.4 Crossbeam NETWORKING C2 6848.1.3.1.5 Crossbeam NETWORKING C6 6848.1.3.1.6 Crossbeam NETWORKING C12 6848.1.3.1.7 Crossbeam NETWORKING C25 6876 VMware 6876.4.1 VMware COMPUTER ESX 6876.4.2 VMware COMPUTER Distributed Virtual Switch 6876.4.3 VMware COMPUTER vCenter 6876.4.4 VMware COMPUTER Server 6889 Avaya 6889.1.8.1.0.1 Avaya NETWORKING PortNetwork 6889.1.8.1.0.2 Avaya NETWORKING Carrier 6889.1.8.1.0.3 Avaya NETWORKING G350 6889.1.8.1.0.4 Avaya NETWORKING G700 6889.1.8.1.49 Avaya NETWORKING S8700m 6889.1.8.1.50 Avaya NETWORKING S8300 6889.1.8.1.51 Avaya NETWORKING S8700i 6889.1.8.1.52 Avaya NETWORKING S8500 6889.1.8.1.56 Avaya NETWORKING S8400 6889.1.9 Avaya NETWORKING G700 Media Gateway 6889.1.45.2 Avaya NETWORKING Cajun L3P580 6889.1.45.10 Avaya NETWORKING Cajun L3P882R 6889.1.45.11 Avaya NETWORKING Cajun L3P882S 6889.1.45.12 Avaya NETWORKING Cajun L3P580S 6889.1.45.101.1 Avaya NETWORKING Cajun M8000RLB 6889.1.45.101.2 Avaya NETWORKING Cajun X330W4DS1 6889.1.45.103.1 Avaya NETWORKING Cajun P480 6889.1.45.103.2 Avaya NETWORKING G350 Media Gateway 6889.1.45.103.8 Avaya NETWORKING G450 Media Gateway 6889.1.45.103.41 Avaya NETWORKING G430 Media Gateway 6889.1.69.1.1 Avaya PHONE 46xx 6889.1.69.1.2 Avaya PHONE 46xx 6889.1.69.1.6 Avaya PHONE 46xx 6889.1.69.1.7 Avaya PHONE 46xx 6889.1.69.2.1 Avaya PHONE 9620D 6889.1.69.2.3 Avaya PHONE 9650B 6889.1.69.3.2 Avaya PHONE 1608 6889.1.69.3.3 Avaya PHONE 1616 6889.1.69.5.2 Avaya PHONE 9611g 8072 Net-SNMP COMPUTER 8072.3.2.1 Net-SNMP COMPUTER HPUX 9 8072.3.2.2 Net-SNMP COMPUTER SunOS 4 8072.3.2.3 Net-SNMP COMPUTER Solaris 8072.3.2.4 Net-SNMP COMPUTER OSF 8072.3.2.5 Net-SNMP COMPUTER ULTRIX 8072.3.2.6 Net-SNMP COMPUTER HPUX 10 8072.3.2.7 Net-SNMP COMPUTER NetBSD 8072.3.2.8 Net-SNMP COMPUTER FreeBSD 8072.3.2.9 Net-SNMP COMPUTER IRIX 8072.3.2.10 Net-SNMP COMPUTER Linux 8072.3.2.11 Net-SNMP COMPUTER BSD 8072.3.2.12 Net-SNMP COMPUTER OpenBSD 8072.3.2.13 Net-SNMP COMPUTER Win32 8072.3.2.14 Net-SNMP COMPUTER HPUX 11 8072.3.2.15 Net-SNMP COMPUTER AIX 8072.3.2.16 Net-SNMP COMPUTER MacOSX 8072.3.2.255 Net-SNMP COMPUTER unknown 8239 Juniper NETWORKING 8239.1.2.1 Juniper NETWORKING WX 50 8239.1.2.2 Juniper NETWORKING WX 55 8239.1.2.3 Juniper NETWORKING WX 20 8239.1.2.4 Juniper NETWORKING WX 80 8239.1.2.5 Juniper NETWORKING WX 100 8239.1.2.6 Juniper NETWORKING WX C500 8239.1.2.7 Juniper NETWORKING WX 15 8239.1.2.8 Juniper NETWORKING WX C250 8239.1.2.9 Juniper NETWORKING WX 60 8239.1.2.10 Juniper NETWORKING WX C590 8239.1.2.11 Juniper NETWORKING Ism 200 WXC 8239.1.2.12 Juniper NETWORKING WXC 1800 8239.1.2.13 Juniper NETWORKING WXC 2600 8239.1.2.14 Juniper NETWORKING WXC 3400 8741 SonicWall NETWORKING 8741.1 SonicWall NETWORKING NSA 3500 8744 Hewlett-Packard NETWORKING 8744.1.16 Hewlett-Packard NETWORKING MSM313 8744.1.20 Hewlett-Packard NETWORKING MSM310 8744.1.22 Hewlett-Packard NETWORKING ClientBridge M110 8744.1.23 Hewlett-Packard NETWORKING MSM323 8744.1.24 Hewlett-Packard NETWORKING MSM320 8744.1.25 Hewlett-Packard NETWORKING MultiService Controllers MSM730 8744.1.26 Hewlett-Packard NETWORKING ClientBridge M111 8744.1.27 Hewlett-Packard NETWORKING MultiService Controllers MSM750 8744.1.28 Hewlett-Packard NETWORKING MSM422 8744.1.29 Hewlett-Packard NETWORKING MSM335 8744.1.35 Hewlett-Packard NETWORKING MultiService Controllers MSM710 8744.1.41 Hewlett-Packard NETWORKING MSM410 8744.1.42 Hewlett-Packard NETWORKING MSM317 8744.1.43 Hewlett-Packard NETWORKING MSM310R 8744.1.44 Hewlett-Packard NETWORKING MSM320R 8744.1.45 Hewlett-Packard NETWORKING MSM313R 8744.1.46 Hewlett-Packard NETWORKING MSM323R 8744.1.47 Hewlett-Packard NETWORKING MultiService Controllers MSM765 8744.1.48 Hewlett-Packard NETWORKING MultiService Controllers MSM760 8744.1.49 Hewlett-Packard NETWORKING MSM318 8744.1.51 Hewlett-Packard NETWORKING ClientBridge M200 8744.1.52 Hewlett-Packard NETWORKING MSM460 8744.1.54 Hewlett-Packard NETWORKING MSM430 8744.1.55 Hewlett-Packard NETWORKING MSM466 8744.1.56 Hewlett-Packard NETWORKING MultiService Controllers MSM720 8744.1.57 Hewlett-Packard NETWORKING M220 8744.1.58 Hewlett-Packard NETWORKING MSM466R 8744.1.59 Hewlett-Packard NETWORKING MultiService Controllers MSM775 8744.1.64 Hewlett-Packard NETWORKING 517 8744.1.65 Hewlett-Packard NETWORKING 560 8744.1.66 Hewlett-Packard NETWORKING M210 8744.1.67 Hewlett-Packard NETWORKING MultiService Controllers MSM760B 9148 Acme Packet NETWORKING 9148.1.1 Acme Packet NETWORKING Net-Net 4000 Series 9148.1.1.1 Acme Packet NETWORKING Net-Net 4250 9148.1.1.2 Acme Packet NETWORKING Net-Net 4500 9148.1.2.1 Acme Packet NETWORKING Net-Net 9200 9148.1.3 Acme Packet NETWORKING Net-Net 3000 Series 9148.1.3.1 Acme Packet NETWORKING Net-Net 3800 9148.1.3.2 Acme Packet NETWORKING Net-Net 3820 9148.1.5.1 Acme Packet NETWORKING Net-Net 6300 9753 Vernier NETWORKING 9753.2.12 Vernier NETWORKING Edgewall-Express 10002 Ubiquiti NETWORKING 10002.1 Ubiquiti NETWORKING 10159 Panasas NETWORKING 10159.1.3.0 Panasas NETWORKING PanFS 10418 Avocent KVM 10418.3.1.6 Avocent NETWORKING A2000R 10418.3.1.16 Avocent KVM GCM2 10418.3.1.26 Avocent NETWORKING AV3200 10418.7.1.16 Avocent KVM DSR2030 10418.7.1.19 Avocent KVM DSR1031 KVM 10418.18.21.24 Avocent KVM 2162DS 10449 CA Technologies NETWORKING 10449.1 CA Technologies NETWORKING Gatekeeper X304L 10734 Hewlett-Packard NETWORKING 10734.1.3.1 Hewlett-Packard NETWORKING TippingPoint 2000 10734.1.3.2 Hewlett-Packard NETWORKING TippingPoint 600 10734.1.3.4 Hewlett-Packard NETWORKING TippingPoint 600A 10734.1.3.5 Hewlett-Packard NETWORKING TippingPoint 400 10734.1.3.6 Hewlett-Packard NETWORKING TippingPoint 50 10734.1.3.7 Hewlett-Packard NETWORKING TippingPoint 1200 10734.1.3.8 Hewlett-Packard NETWORKING TippingPoint 2400 10734.1.3.9 Hewlett-Packard NETWORKING TippingPoint 5000 10734.1.3.10 Hewlett-Packard NETWORKING TippingPoint 200 10734.1.3.11 Hewlett-Packard NETWORKING TippingPoint 10 10734.1.3.12 Hewlett-Packard NETWORKING TippingPoint 100 10734.1.3.15 Hewlett-Packard NETWORKING TippingPoint 200 10734.1.3.19 Hewlett-Packard NETWORKING TippingPoint 210E 10734.1.3.20 Hewlett-Packard NETWORKING TippingPoint 600E 10734.1.3.21 Hewlett-Packard NETWORKING TippingPoint 1000E 10734.1.3.22 Hewlett-Packard NETWORKING TippingPoint 2000E 10734.1.3.23 Hewlett-Packard NETWORKING TippingPoint 5000E 10734.1.3.27 Hewlett-Packard NETWORKING TippingPoint 660 10734.1.3.28 Hewlett-Packard NETWORKING TippingPoint 1400N 10734.1.3.29 Hewlett-Packard NETWORKING TippingPoint 2500N 10734.1.3.30 Hewlett-Packard NETWORKING TippingPoint 5100N 10734.1.3.31 Hewlett-Packard NETWORKING TippingPoint 110 10734.1.3.32 Hewlett-Packard NETWORKING TippingPoint 330N 10734.1.3.34 Hewlett-Packard NETWORKING TippingPoint 6100N 10734.1.3.35 Hewlett-Packard NETWORKING TippingPoint 7100NX 10734.1.3.36 Hewlett-Packard NETWORKING TippingPoint 5200NX 10734.1.3.44 Hewlett-Packard NETWORKING TippingPoint 2600NX 10734.1.3.45 Hewlett-Packard NETWORKING TippingPoint 6200NX 10734.1.3.46 Hewlett-Packard NETWORKING TippingPoint 7500NX 10734.1.3.47 Hewlett-Packard NETWORKING TippingPoint TPS 440 10734.1.4.5 Hewlett-Packard NETWORKING TippingPoint 2500N 10734.1.5.1 Hewlett-Packard NETWORKING TippingPoint Core Controller 10734.1.9.1 Hewlett-Packard NETWORKING TippingPoint S1020F 10734.1.9.2 Hewlett-Packard NETWORKING TippingPoint S1050F 10734.1.9.3 Hewlett-Packard NETWORKING TippingPoint S3010F 10734.1.9.4 Hewlett-Packard NETWORKING TippingPoint S3020F 10734.1.9.5 Hewlett-Packard NETWORKING TippingPoint S8005F 10734.1.9.6 Hewlett-Packard NETWORKING TippingPoint S8010F 10734.1.9.7 Hewlett-Packard NETWORKING TippingPoint S8020F 10830 Apcon NETWORKING 10830.3.1 Apcon NETWORKING ACI-2058 11863 TP-Link NETWORKING 11863.3.2.10 TP-Link NETWORKING EAP225 11898 Avaya NETWORKING 11898.2.4.1 Avaya NETWORKING AP 1000 11898.2.4.6 Avaya NETWORKING AP 2000 11898.2.4.13 Avaya NETWORKING AP 700 12196.250.10 KEMP Technologies NETWORKING 12196.250.10 KEMP Technologies NETWORKING LoadMaster 12325 Fraunhofer NETWORKING 12325.1.1.2.1.1 FreeBSD NETWORKING FreeBSD BSNMP Agent 12356 Fortinet NETWORKING 12356.15.60 Fortinet NETWORKING Fortigate 60 12356.15.200 Fortinet NETWORKING Fortigate 200 12356.15.300 Fortinet NETWORKING Fortigate 300 12356.100 Fortinet NETWORKING Fortigate 100 12356.101.1.10 Fortinet NETWORKING Fortigate ONE 12356.101.1.20 Fortinet NETWORKING Fortigate VM 12356.101.1.30 Fortinet NETWORKING Fortigate VM64 12356.101.1.31 Fortinet NETWORKING Fortigate VM64 VMX 12356.101.1.32 Fortinet NETWORKING Fortigate VM64 SVM 12356.101.1.40 Fortinet NETWORKING Fortigate VM64 XEN 12356.101.1.45 Fortinet NETWORKING Fortigate VM64 AWS 12356.101.1.46 Fortinet NETWORKING Fortigate VM64 AWS OnDemand 12356.101.1.60 Fortinet NETWORKING Fortigate VM64 KVM 12356.101.1.70 Fortinet NETWORKING Fortigate VM64 HV 12356.101.1.210 Fortinet NETWORKING FortiWiFi 20C 12356.101.1.212 Fortinet NETWORKING Fortigate 20C 12356.101.1.213 Fortinet NETWORKING FortiWiFi 20CA 12356.101.1.214 Fortinet NETWORKING Fortigate 20CA 12356.101.1.302 Fortinet NETWORKING Fortigate 30B 12356.101.1.304 Fortinet NETWORKING Fortigate 30D 12356.101.1.305 Fortinet NETWORKING Fortigate 30D POE 12356.101.1.310 Fortinet NETWORKING FortiWiFi 30B 12356.101.1.314 Fortinet NETWORKING FortiWiFi 30D 12356.101.1.315 Fortinet NETWORKING FortiWiFi 30D POE 12356.101.1.316 Fortinet NETWORKING FortiWiFi 30E 12356.101.1.410 Fortinet NETWORKING Fortigate 40C 12356.101.1.411 Fortinet NETWORKING FortiWiFi 40C 12356.101.1.500 Fortinet NETWORKING Fortigate 50A 12356.101.1.501 Fortinet NETWORKING Fortigate 50AM 12356.101.1.502 Fortinet NETWORKING Fortigate 50B 12356.101.1.503 Fortinet NETWORKING FortiWiFi 50B 12356.101.1.504 Fortinet NETWORKING Fortigate 51B 12356.101.1.505 Fortinet NETWORKING Fortigate 50E 12356.101.1.506 Fortinet NETWORKING FortiWiFi 50E 12356.101.1.510 Fortinet NETWORKING FortiWiFi 50B 12356.101.1.515 Fortinet NETWORKING Fortigate 51E 12356.101.1.516 Fortinet NETWORKING FortiWiFi 51E 12356.101.1.600 Fortinet NETWORKING Fortigate 60 12356.101.1.601 Fortinet NETWORKING Fortigate 60M 12356.101.1.602 Fortinet NETWORKING Fortigate 60ADSL 12356.101.1.603 Fortinet NETWORKING Fortigate 60B 12356.101.1.610 Fortinet NETWORKING FortiWiFi 60 12356.101.1.611 Fortinet NETWORKING FortiWiFi 60A 12356.101.1.612 Fortinet NETWORKING FortiWiFi 60AM 12356.101.1.613 Fortinet NETWORKING FortiWiFi 60B 12356.101.1.615 Fortinet NETWORKING Fortigate 60C 12356.101.1.616 Fortinet NETWORKING FortiWiFi 60C 12356.101.1.617 Fortinet NETWORKING FortiWiFi 60CM 12356.101.1.618 Fortinet NETWORKING FortiWiFi 60CA 12356.101.1.619 Fortinet NETWORKING FortiWiFi 6XMB 12356.101.1.621 Fortinet NETWORKING Fortigate 60CP 12356.101.1.624 Fortinet NETWORKING Fortigate 60D 12356.101.1.625 Fortinet NETWORKING Fortigate 60D POE 12356.101.1.626 Fortinet NETWORKING FortiWiFi 60D 12356.101.1.627 Fortinet NETWORKING FortiWiFi 60DP 12356.101.1.628 Fortinet NETWORKING Fortigate SoC3 12356.101.1.630 Fortinet NETWORKING Fortigate 90D 12356.101.1.631 Fortinet NETWORKING Fortigate 90D POE 12356.101.1.632 Fortinet NETWORKING FortiWiFi 90D 12356.101.1.633 Fortinet NETWORKING FortiWiFi 90D POE 12356.101.1.634 Fortinet NETWORKING Fortigate 94D POE 12356.101.1.635 Fortinet NETWORKING Fortigate 98D POE 12356.101.1.636 Fortinet NETWORKING Fortigate 92D 12356.101.1.637 Fortinet NETWORKING FortiWiFi 92D 12356.101.1.638 Fortinet NETWORKING Fortigate Rudged 90D 12356.101.1.643 Fortinet NETWORKING Fortigate Rudged 60D 12356.101.1.700 Fortinet NETWORKING Fortigate 70D 12356.101.1.701 Fortinet NETWORKING Fortigate 70D POE 12356.101.1.800 Fortinet NETWORKING Fortigate 80C 12356.101.1.801 Fortinet NETWORKING Fortigate 80CM 12356.101.1.802 Fortinet NETWORKING Fortigate 82C 12356.101.1.803 Fortinet NETWORKING Fortigate 80D 12356.101.1.810 Fortinet NETWORKING FortiWiFi 80CM 12356.101.1.811 Fortinet NETWORKING FortiWiFi 81CM 12356.101.1.900 Fortinet NETWORKING Fortigate 900 12356.101.1.1000 Fortinet NETWORKING Fortigate 100 12356.101.1.1001 Fortinet NETWORKING Fortigate 100A 12356.101.1.1002 Fortinet NETWORKING Fortigate 110C 12356.101.1.1003 Fortinet NETWORKING Fortigate 111C 12356.101.1.1004 Fortinet NETWORKING Fortigate 100D 12356.101.1.1005 Fortinet NETWORKING Fortigate 140E 12356.101.1.1006 Fortinet NETWORKING Fortigate 140EP 12356.101.1.1041 Fortinet NETWORKING Fortigate 100E 12356.101.1.1043 Fortinet NETWORKING Fortigate 101E 12356.101.1.1401 Fortinet NETWORKING Fortigate 140D 12356.101.1.1402 Fortinet NETWORKING Fortigate 140P 12356.101.1.1403 Fortinet NETWORKING Fortigate 140T 12356.101.1.2000 Fortinet NETWORKING Fortigate 200 12356.101.1.2001 Fortinet NETWORKING Fortigate 200A 12356.101.1.2002 Fortinet NETWORKING Fortigate 224B 12356.101.1.2003 Fortinet NETWORKING Fortigate 200B 12356.101.1.2004 Fortinet NETWORKING Fortigate 200B POE 12356.101.1.2005 Fortinet NETWORKING Fortigate 200D 12356.101.1.2006 Fortinet NETWORKING Fortigate 240D 12356.101.1.2007 Fortinet NETWORKING Fortigate 200DP 12356.101.1.2008 Fortinet NETWORKING Fortigate 240DP 12356.101.1.2009 Fortinet NETWORKING Fortigate 200E 12356.101.1.2013 Fortinet NETWORKING Fortigate 280D 12356.101.1.3000 Fortinet NETWORKING Fortigate 300 12356.101.1.3001 Fortinet NETWORKING Fortigate 300A 12356.101.1.3002 Fortinet NETWORKING Fortigate 310B 12356.101.1.3003 Fortinet NETWORKING Fortigate 300D 12356.101.1.3004 Fortinet NETWORKING Fortigate 311B 12356.101.1.3005 Fortinet NETWORKING Fortigate 300C 12356.101.1.3006 Fortinet NETWORKING Fortigate 3HD 12356.101.1.4000 Fortinet NETWORKING Fortigate 400 12356.101.1.4001 Fortinet NETWORKING Fortigate 400A 12356.101.1.4004 Fortinet NETWORKING Fortigate 400D 12356.101.1.5000 Fortinet NETWORKING Fortigate 500 12356.101.1.5001 Fortinet NETWORKING Fortigate 500A 12356.101.1.5004 Fortinet NETWORKING Fortigate 500D 12356.101.1.6003 Fortinet NETWORKING Fortigate 600C 12356.101.1.6004 Fortinet NETWORKING Fortigate 600D 12356.101.1.6200 Fortinet NETWORKING Fortigate 620B 12356.101.1.6201 Fortinet NETWORKING Fortigate 600D 12356.101.1.6210 Fortinet NETWORKING Fortigate 621B 12356.101.1.8000 Fortinet NETWORKING Fortigate 800 12356.101.1.8001 Fortinet NETWORKING Fortigate 800F 12356.101.1.8003 Fortinet NETWORKING Fortigate 800C 12356.101.1.8004 Fortinet NETWORKING Fortigate 800D 12356.101.1.10000 Fortinet NETWORKING Fortigate 1000 12356.101.1.10001 Fortinet NETWORKING Fortigate 1000A 12356.101.1.10002 Fortinet NETWORKING Fortigate 1000AFA2 12356.101.1.10003 Fortinet NETWORKING Fortigate 1000ALENC 12356.101.1.10004 Fortinet NETWORKING Fortigate 1000C 12356.101.1.10005 Fortinet NETWORKING Fortigate 1000D 12356.101.1.12000 Fortinet NETWORKING Fortigate 1200D 12356.101.1.12400 Fortinet NETWORKING Fortigate 1240B 12356.101.1.15000 Fortinet NETWORKING Fortigate 1500D 12356.101.1.15001 Fortinet NETWORKING Fortigate 1500DT 12356.101.1.20000 Fortinet NETWORKING Fortigate 2000E 12356.101.1.30000 Fortinet NETWORKING Fortigate 3000 12356.101.1.30160 Fortinet NETWORKING Fortigate 3016B 12356.101.1.30400 Fortinet NETWORKING Fortigate 3040B 12356.101.1.30401 Fortinet NETWORKING Fortigate 3140B 12356.101.1.31000 Fortinet NETWORKING Fortigate 3100D 12356.101.1.32000 Fortinet NETWORKING Fortigate 3200D 12356.101.1.32401 Fortinet NETWORKING Fortigate 3240C 12356.101.1.36000 Fortinet NETWORKING Fortigate 3600 12356.101.1.36003 Fortinet NETWORKING Fortigate 3600A 12356.101.1.36004 Fortinet NETWORKING Fortigate 3600C 12356.101.1.37000 Fortinet NETWORKING Fortigate 3700D 12356.101.1.37001 Fortinet NETWORKING Fortigate 3700DX 12356.101.1.38100 Fortinet NETWORKING Fortigate 3810A 12356.101.1.38101 Fortinet NETWORKING Fortigate 3810D 12356.101.1.38150 Fortinet NETWORKING Fortigate 3815D 12356.101.1.39500 Fortinet NETWORKING Fortigate 3950B 12356.101.1.39501 Fortinet NETWORKING Fortigate 3951B 12356.101.1.40000 Fortinet NETWORKING Fortigate 4000 12356.101.1.50000 Fortinet NETWORKING Fortigate 5000 12356.101.1.50001 Fortinet NETWORKING Fortigate 5002FB2 12356.101.1.50010 Fortinet NETWORKING Fortigate 5001 12356.101.1.50011 Fortinet NETWORKING Fortigate 5001A 12356.101.1.50012 Fortinet NETWORKING Fortigate 5001FA2 12356.101.1.50013 Fortinet NETWORKING Fortigate 5001B 12356.101.1.50014 Fortinet NETWORKING Fortigate 5001C 12356.101.1.50015 Fortinet NETWORKING Fortigate 5001D 12356.101.1.50021 Fortinet NETWORKING Fortigate 5002A 12356.101.1.50023 Fortinet NETWORKING FortiSwitch 5023B 12356.101.1.50040 Fortinet NETWORKING Fortigate 5004 12356.101.1.50050 Fortinet NETWORKING Fortigate 5005 12356.101.1.50051 Fortinet NETWORKING Fortigate 5005FA2 12356.101.1.51010 Fortinet NETWORKING Fortigate 5101C 12356.101.1.90000 Fortinet NETWORKING FortiOS VM64 12356.101.1.90060 Fortinet NETWORKING FortiOS VM64 KVM 12356.105 Fortinet NETWORKING FortiMail 12356.106.1.50030 Fortinet NETWORKING FortiSwitch 5003A 12356.201 Fortinet NETWORKING Fortigate 200A 12356.300 Fortinet NETWORKING Fortigate 300 12356.301 Fortinet NETWORKING Fortigate 300A 12356.603 Fortinet NETWORKING FortiNet 60 12356.610 Fortinet NETWORKING FortiWiFi 60 12356.611 Fortinet NETWORKING FortiWiFi 60A 12356.612 Fortinet NETWORKING FortiWiFi 60AM 12356.800 Fortinet NETWORKING Fortigate 800 12356.801 Fortinet NETWORKING Fortigate 800A 12356.1001 Fortinet NETWORKING FortiNet 100A 12356.2001 Fortinet NETWORKING FortiNet 200A 12356.3002 Fortinet NETWORKING FortiNet 310B 12356.3600 Fortinet NETWORKING Fortigate 3600 12356.8001 Fortinet NETWORKING Fortigate 800F 12532 Juniper Networks NETWORKING SA-Series SSL VPN Appliance 12532.252.2.1 Juniper Networks NETWORKING SSL SA-2000 12532.252.3.1 Juniper Networks NETWORKING SSL-SA-2500 12532.252.4.1 Juniper Networks NETWORKING SSL-SA-4000 12532.252.5.1 Juniper Networks NETWORKING SSL SA-4500 12532.252.6.1 Juniper Networks NETWORKING SA-6000 12532.252.7.1 Juniper Networks NETWORKING SSL-SA-6500 12532.252.7.2 Juniper Networks NETWORKING SA-6500 12532.253.4.1 Juniper Networks NETWORKING IC-6500 12532.254.4.1 Juniper Networks NETWORKING MAG-SM360 12925 HP STORAGE 3PAR 12925.1 HP STORAGE 3PAR 7400 13885 Polycom PHONE 14179 Cisco NETWORKING WLC 4100 14179.1.1.4.2 Cisco NETWORKING 2006 Wireless LAN Controller 14179.1.1.4.3 Cisco NETWORKING WLC4402-12 14179.1.1.4.4 Cisco NETWORKING AirspaceWiSM 14179.1.1.4.5 Cisco NETWORKING 4402 4404 Wireless LAN Controller 14179.2.2.1.1.22.1 Cisco NETWORKING 5212 Unified Access Point 14179.2.2.1.1.22.2 Cisco NETWORKING 5312 Unified Access Point 14179.2.2.1.1.22.3 Cisco NETWORKING MIMO Unified Access Point 14179.2.2.1.1.22.4 Cisco NETWORKING UNKNOWN Unified Access Point 14179.2.2.1.1.22.5 Cisco NETWORKING 1100 Unified Access Point 14179.2.2.1.1.22.6 Cisco NETWORKING 1130 Unified Access Point 14179.2.2.1.1.22.7 Cisco NETWORKING 1240 Unified Access Point 14179.2.2.1.1.22.8 Cisco NETWORKING 1200 Unified Access Point 14179.2.2.1.1.22.9 Cisco NETWORKING 1310 Unified Access Point 14179.2.2.1.1.22.10 Cisco NETWORKING 1500 Unified Access Point 14179.2.2.1.1.22.11 Cisco NETWORKING 1250 Unified Access Point 14179.2.2.1.1.22.12 Cisco NETWORKING 1505 Unified Access Point 14179.2.2.1.1.22.13 Cisco NETWORKING 3201 Unified Access Point 14179.2.2.1.1.22.14 Cisco NETWORKING 1520 Unified Access Point 14179.2.2.1.1.22.15 Cisco NETWORKING 801GN Unified Access Point 14179.2.2.1.1.22.16 Cisco NETWORKING 1140 Unified Access Point 14179.2.2.1.1.22.17 Cisco NETWORKING 801AGN Unified Access Point 14179.2.2.1.1.22.18 Cisco NETWORKING 3500I Unified Access Point 14179.2.2.1.1.22.19 Cisco NETWORKING 3500E Unified Access Point 14179.2.2.1.1.22.20 Cisco NETWORKING 1260 Unified Access Point 14179.2.2.1.1.22.21 Cisco NETWORKING 1040 Unified Access Point 14179.2.2.1.1.22.22 Cisco NETWORKING 1550 Unified Access Point 14179.2.2.1.1.22.23 Cisco NETWORKING 602I Unified Access Point 14179.2.2.1.1.22.24 Cisco NETWORKING 3500P Unified Access Point 14179.2.2.1.1.22.25 Cisco NETWORKING 802GN Unified Access Point 14179.2.2.1.1.22.26 Cisco NETWORKING 802AGN Unified Access Point 14179.2.2.1.1.22.27 Cisco NETWORKING 3600I Unified Access Point 14179.2.2.1.1.22.28 Cisco NETWORKING 3600E Unified Access Point 14179.2.2.1.1.22.29 Cisco NETWORKING 2600I Unified Access Point 14179.2.2.1.1.22.30 Cisco NETWORKING 2600E Unified Access Point 14179.2.2.1.1.22.31 Cisco NETWORKING 802HAGN Unified Access Point 14179.2.2.1.1.22.32 Cisco NETWORKING 1600I Unified Access Point 14179.2.2.1.1.22.33 Cisco NETWORKING 1600E Unified Access Point 14179.2.2.1.1.22.34 Cisco NETWORKING 702E Unified Access Point 14179.2.2.1.1.22.35 Cisco NETWORKING 702I Unified Access Point 14179.2.2.1.1.22.36 Cisco NETWORKING 3600P Unified Access Point 14179.2.2.1.1.22.37 Cisco NETWORKING 1530I Unified Access Point 14179.2.2.1.1.22.38 Cisco NETWORKING 1530E Unified Access Point 14179.2.2.1.1.22.39 Cisco NETWORKING 3700E Unified Access Point 14179.2.2.1.1.22.40 Cisco NETWORKING 3700I Unified Access Point 14525 Trapeze NETWORKING 14525.3.1.4 Trapeze NETWORKING MRX-2 14525.3.1.7 Trapeze NETWORKING MX-200 14797 GarrettCom NETWORKING 14797.2.2.3 GarrettCom NETWORKING DynaStar 2000 IFR 14823 Aruba NETWORKING 14823.1.1.1 Aruba NETWORKING 5000 14823.1.1.2 Aruba NETWORKING 2400 14823.1.1.3 Aruba NETWORKING 800 14823.1.1.4 Aruba NETWORKING 6000 14823.1.1.5 Aruba NETWORKING 2450 14823.1.1.6 Aruba NETWORKING 850 14823.1.1.7 Aruba NETWORKING 2400-E 14823.1.1.8 Aruba NETWORKING 800-E 14823.1.1.9 Aruba NETWORKING 800-4 14823.1.1.10 Aruba NETWORKING 200 14823.1.1.11 Aruba NETWORKING 2400-24 14823.1.1.13 Aruba NETWORKING 3200 14823.1.1.14 Aruba NETWORKING 3200-8 14823.1.1.15 Aruba NETWORKING 3400 14823.1.1.16 Aruba NETWORKING 3400-32 14823.1.1.17 Aruba NETWORKING 3600 14823.1.1.18 Aruba NETWORKING 3600-64 14823.1.1.19 Aruba NETWORKING 650 Controller 14823.1.1.20 Aruba NETWORKING 651 Controller 14823.1.1.23 Aruba NETWORKING 620 Controller 14823.1.1.26 Aruba NETWORKING S3500-48P 14823.1.1.32 Aruba NETWORKING 7210 Controller 14823.1.1.34 Aruba NETWORKING 7240 14823.1.1.41 Aruba NETWORKING 7030 14823.1.1.99 Aruba NETWORKING 2400-F 14823.1.1.9999 Aruba NETWORKING 6000 14823.1.2.1 Aruba NETWORKING 50 Access Point 14823.1.2.2 Aruba NETWORKING 52 Access Point 14823.1.2.3 Aruba NETWORKING 60 Access Point 14823.1.2.4 Aruba NETWORKING AP61 14823.1.2.5 Aruba NETWORKING AP70 14823.1.2.6 Aruba NETWORKING Wall jack 61 Access Point 14823.1.2.7 Aruba NETWORKING 2E Access Point 14823.1.2.8 Aruba NETWORKING 1200 Access Point 14823.1.2.9 Aruba NETWORKING 80S Access Point 14823.1.2.10 Aruba NETWORKING 80M Access Point 14823.1.2.11 Aruba NETWORKING WG 102 Access Point 14823.1.2.12 Aruba NETWORKING 40 Access Point 14823.1.2.13 Aruba NETWORKING 41 Access Point 14823.1.2.14 Aruba NETWORKING AP65 14823.1.2.15 Aruba NETWORKING MW 1700 Access Point 14823.1.2.16 Aruba NETWORKING DuoWj Access Point 14823.1.2.17 Aruba NETWORKING Duo Access Point 14823.1.2.18 Aruba NETWORKING 80MB Access Point 14823.1.2.19 Aruba NETWORKING 80SB Access Point 14823.1.2.20 Aruba NETWORKING 85 Access Point 14823.1.2.21 Aruba NETWORKING 124 Access Point 14823.1.2.22 Aruba NETWORKING 125 Access Point 14823.1.2.23 Aruba NETWORKING 120 Access Point 14823.1.2.24 Aruba NETWORKING 121 Access Point 14823.1.2.25 Aruba NETWORKING 1250 Access Point 14823.1.2.26 Aruba NETWORKING 120 ABG Access Point 14823.1.2.27 Aruba NETWORKING 121 ABG Series Access Point 14823.1.2.28 Aruba NETWORKING 124 ABG Access Point 14823.1.2.29 Aruba NETWORKING 125 APG Access Point 14823.1.2.30 Aruba NETWORKING RAP 5WN Access Point 14823.1.2.31 Aruba NETWORKING RAP 5 Access Point 14823.1.2.32 Aruba NETWORKING RAP 2WG Access Point 14823.1.2.33 Aruba NETWORKING reserved4 Access Point 14823.1.2.34 Aruba NETWORKING 105 Access Point 14823.1.2.35 Aruba NETWORKING 65 WB Access Point 14823.1.2.36 Aruba NETWORKING 651 Access Point 14823.1.2.37 Aruba NETWORKING reserved6 Access Point 14823.1.2.38 Aruba NETWORKING 60P Access Point 14823.1.2.39 Aruba NETWORKING reserved7 Access Point 14823.1.2.40 Aruba NETWORKING 92 Access Point 14823.1.2.41 Aruba NETWORKING 93 Access Point 14823.1.2.42 Aruba NETWORKING 68 Access Point 14823.1.2.43 Aruba NETWORKING 68P Access Point 14823.1.2.44 Aruba NETWORKING 175P Access Point 14823.1.2.45 Aruba NETWORKING 175AC Access Point 14823.1.2.46 Aruba NETWORKING 175DC Access Point 14823.1.2.47 Aruba NETWORKING 134 Access Point 14823.1.2.48 Aruba NETWORKING 135 Access Point 14823.1.2.49 Aruba NETWORKING reserved8 Access Point 14823.1.2.68 Aruba NETWORKING AP 205 14823.1.2.71 Aruba NETWORKING AP 105 14823.1.2.86 Aruba NETWORKING AP 305 14823.1.2.9999 Aruba NETWORKING Undefined Access Point 14823.1.3.1 Aruba NETWORKING ZMaster 14988 Mikrotik NETWORKING 14988.1 Mikrotik NETWORKING 15004 RuggedCom NETWORKING 15004.2.2 RuggedCom NETWORKING RS401 15497 Cisco NETWORKING 15497.1.1 Cisco NETWORKING IronPort C370 15497.1.2 Cisco NETWORKING IronPort S670 15983 Meru NETWORKING 15983.1.1.7.2 Meru NETWORKING MC1000 15983.1.1.7.4 Meru NETWORKING MC3000 15983.1.1.7.6 Meru NETWORKING MC5000 16378 Digi NETWORKING 16378.59 Digi NETWORKING WR41H 16378.69 Digi NETWORKING WR21 16378.71 Digi NETWORKING WR44v2 16378.73 Digi NETWORKING WR44 16378.81 Digi NETWORKING WR11 XT 16885 Nortel NETWORKING 17163 Riverbed NETWORKING 17163.1.1 Riverbed NETWORKING SteelHead WAN Accelerator 17163.1.2 Riverbed NETWORKING Steelhead - CMC 8000 17163.1.3 Riverbed NETWORKING Steelhead - Interceptor 9200 17163.1.4 Riverbed NETWORKING Steelhead Mobile Controller 8500 17163.1.51 Riverbed NETWORKING EX560L 18334 Konica PRINTER 18334.1.1.1.1.1.23.1.1 Konica PRINTER magicolor 1690MF 18334.1.1.1.2.1.6.1.2 Konica PRINTER 350 18334.1.1.1.2.1.6.2.2 Konica PRINTER 350 18334.1.1.1.2.1.7.1.2 Konica PRINTER 250 18334.1.1.1.2.1.7.2.2 Konica PRINTER 250 18334.1.1.1.2.1.8.1.2 Konica PRINTER 200 18334.1.1.1.2.1.25.2.2 Konica PRINTER bizhub C550 18334.1.1.1.2.1.25.2.3 Konica PRINTER bizhub C550 18334.1.1.1.2.1.26.2.1 Konica PRINTER bizhub C252 18334.1.1.1.2.1.28.2.3 Konica PRINTER bizhub C451 18334.1.1.1.2.1.28.3.3 Konica PRINTER bizhub C451 18334.1.1.1.2.1.29.2.2 Konica PRINTER bizhub C353 18334.1.1.1.2.1.29.3.2 Konica PRINTER bizhub C353 18334.1.1.1.2.1.29.6.2 Konica PRINTER bizhub C353P 18334.1.1.1.2.1.30.2.2 Konica PRINTER bizhub C253 18334.1.1.1.2.1.30.3.2 Konica PRINTER bizhub C253 18334.1.1.1.2.1.38.2.1 Konica PRINTER bizhub 601 18334.1.1.1.2.1.39.2.2 Konica PRINTER bizhub 501 18334.1.1.1.2.1.40.2.2 Konica PRINTER bizhub 421 18334.1.1.1.2.1.40.4.1 Konica PRINTER bizhub 421 18334.1.1.1.2.1.43.3.1 Konica PRINTER bizhub C20 18334.1.1.1.2.1.44.3.3 Konica PRINTER bizhub C652 18334.1.1.1.2.1.45.2.1 Konica PRINTER bizhub C552 18334.1.1.1.2.1.45.3.3 Konica PRINTER bizhub C552 18334.1.1.1.2.1.48.2.1 Konica PRINTER bizhub C452 18334.1.1.1.2.1.48.3.2 Konica PRINTER bizhub C452 18334.1.1.1.2.1.49.2.2 Konica PRINTER bizhub C360 18334.1.1.1.2.1.49.3.2 Konica PRINTER bizhub C360 18334.1.1.1.2.1.50.2.1 Konica PRINTER bizhub C280 18334.1.1.1.2.1.50.2.2 Konica PRINTER bizhub C280 18334.1.1.1.2.1.50.3.2 Konica PRINTER bizhub C280 18334.1.1.1.2.1.51.2.1 Konica PRINTER bizhub C652DS 18334.1.1.1.2.1.54.1.1 Konica PRINTER 362 18334.1.1.1.2.1.54.2.1 Konica PRINTER 362 18334.1.1.1.2.1.55.1.1 Konica PRINTER 282 18334.1.1.1.2.1.56.1.1 Konica PRINTER 222 18334.1.1.1.2.1.56.2.1 Konica PRINTER 222 18334.1.1.1.2.1.57.2.2 Konica PRINTER bizhub C220 18334.1.1.1.2.1.58.2.2 Konica PRINTER bizhub C35 18334.1.1.1.2.1.63.2.1 Konica PRINTER bizhub 423 18334.1.1.1.2.1.64.2.1 Konica PRINTER bizhub 363 18334.1.1.1.2.1.65.2.1 Konica PRINTER bizhub 283 18334.1.1.1.2.1.65.3.1 Konica PRINTER bizhub 283 laser MFP 18334.1.1.1.2.1.83.2.1 Konica PRINTER bizhub C364 18334.1.1.1.2.1.83.3.1 Konica PRINTER bizhub C364 18334.1.1.1.2.1.84.2.1 Konica PRINTER bizhub C284 18334.1.1.1.2.1.84.3.1 Konica PRINTER bizhub C284 18334.1.1.1.2.1.87.2.1 Konica PRINTER bizhub 36 18334.1.1.1.2.1.103.2.1 Konica PRINTER bizhub C554 18334.1.1.1.2.1.104.2.1 Konica PRINTER bizhub C454E 18334.1.1.1.2.1.104.3.5 Konica PRINTER bizhub C454E 18334.1.1.1.2.1.105.2.2 Konica PRINTER bizhub C364E 18334.1.1.1.2.1.106.2.2 Konica PRINTER bizhub C284E 18334.1.1.1.2.1.107.2.1 Konica PRINTER bizhub C224 18334.1.1.1.2.1.107.3.1 Konica PRINTER bizhub C224 18334.1.1.1.2.1.110.3.4 Konica PRINTER bizhub 364E 18334.1.1.1.2.1.129.2.2 Konica PRINTER bizhub C368 18334.1.1.1.2.1.144.2.1 Konica PRINTER bizhub C458 20301 IBM NETWORKING 20301.1.18.15 IBM NETWORKING Flex System Fabric CN4093 10Gb Converged Scalable Switch 21013 Xirrus NETWORKING 21013.1.153 Xirrus NETWORKING XR620 21013.1.157 Xirrus NETWORKING XR2436 21013.1.236 Xirrus NETWORKING XD2-230 21013.1.188 Xirrus NETWORKING XD4-130 21839 AlaxalA NETWORKING 21839.1.1.2 AlaxalA NETWORKING AX7800R 21839.1.1.4 AlaxalA NETWORKING AX2000R 21839.1.1.5 AlaxalA NETWORKING AX7700R 21839.1.2.2 AlaxalA NETWORKING AX7800S 21839.1.2.3 AlaxalA NETWORKING AX5400S 21839.1.2.6 AlaxalA NETWORKING AX2400S 21839.1.2.7 AlaxalA NETWORKING AX3630S 21839.1.2.8 AlaxalA NETWORKING AX6300S 21839.1.2.9 AlaxalA NETWORKING AX6700S 21839.1.2.10 AlaxalA NETWORKING AX1200S 21839.1.2.11 AlaxalA NETWORKING AX3640S 21839.1.2.12 AlaxalA NETWORKING AX6600S 21839.1.2.15 AlaxalA NETWORKING AX3650S 21839.1.2.16 AlaxalA NETWORKING AX2530S 22610 A10 Networks NETWORKING 22610.1.3.3 A10 NETWORKING AX3200 22610.1.3.6 A10 Networks NETWORKING AX1000 22610.1.3.9 A10 Networks NETWORKING AX2600 22610.1.3.12 A10 Networks NETWORKING AX5100 22610.1.3.14 A10 Networks NETWORKING AX 3030 ADC 22610.1.3.16 A10 Networks NETWORKING AX3200-12 22610.1.3.23 A10 Networks NETWORKING Thunder Series 1030S 22610.1.3.24 A10 Networks NETWORKING Thunder Series 930 22610.1.3.27 A10 Networks NETWORKING Thunder Series 4430S 24681 Qnap STORAGE 25053 RUCKUS NETWORKING 25053.3.1.5.2 Ruckus NETWORKING ZoneDirector 25071 Teradici NETWORKING 25071.1 Teradici NETWORKING Zero Client 25461 Palo Alto Networks NETWORKING 25461.2.3.2 Palo Alto Networks NETWORKING PA-4020 25461.2.3.3 Palo Alto Networks NETWORKING PA-2050 25461.2.3.4 Palo Alto Networks NETWORKING PA-2020 25461.2.3.6 Palo Alto Networks NETWORKING PA-500 25461.2.3.8 Palo Alto Networks NETWORKING PA-5060 25461.2.3.9 Palo Alto Networks NETWORKING PA-5050 25461.2.3.11 Palo Alto Networks NETWORKING PA-5020 25461.2.3.12 Palo Alto Networks NETWORKING PA-200 25461.2.3.17 Palo Alto Networks NETWORKING PA-3050 25461.2.3.19 Palo Alto Networks NETWORKING PA-3000 series 25461.2.3.29 Palo Alto Networks NETWORKING PA-VM # https://github.com/netdisco/netdisco-mibs/blob/master/h3c/hh3c-product-id.mib - v1.57 25506 H3C NETWORKING 25506.1.1 H3C NETWORKING S5500-28C-EI 25506.1.2 H3C NETWORKING S5500-52C-EI 25506.1.3 H3C NETWORKING S5500-28C-PWR-EI 25506.1.4 H3C NETWORKING S5500-52C-PWR-EI 25506.1.5 H3C NETWORKING S5500-28F-EI 25506.1.6 H3C NETWORKING S5500-28C-EI-DC 25506.1.7 H3C NETWORKING S6100-20Q-SI 25506.1.8 H3C NETWORKING S5500-28C-SI 25506.1.9 H3C NETWORKING S5500-52C-SI 25506.1.10 H3C NETWORKING S5500-28C-PWR-EI 25506.1.11 H3C NETWORKING S5500-52C-PWR-SI 25506.1.12 H3C NETWORKING S5510-24P 25506.1.13 H3C NETWORKING S5510-24F 25506.1.14 H3C NETWORKING S3610-28P 25506.1.15 H3C NETWORKING S3610-52P 25506.1.16 H3C NETWORKING S3610-28TP 25506.1.17 H3C NETWORKING S3610-28F 25506.1.18 H3C NETWORKING E126 25506.1.19 H3C NETWORKING E328 25506.1.20 H3C NETWORKING E352 25506.1.21 H3C NETWORKING S3100-8C-SI 25506.1.22 H3C NETWORKING S3100-16C-SI 25506.1.23 H3C NETWORKING S3100-26C-SI 25506.1.24 H3C NETWORKING S3100-8T-SI 25506.1.25 H3C NETWORKING S3100-16T-SI 25506.1.26 H3C NETWORKING S3100-26T-SI 25506.1.27 H3C NETWORKING S3100-26TP-SI 25506.1.28 H3C NETWORKING S5100-24P-EI 25506.1.29 H3C NETWORKING S5100-26C-EI 25506.1.30 H3C NETWORKING S5100-50C-EI 25506.1.31 H3C NETWORKING S5100-48P-EI 25506.1.32 H3C NETWORKING S3600-28P-SI 25506.1.33 H3C NETWORKING S3600-52P-SI 25506.1.34 H3C NETWORKING S3600-28TP-SI 25506.1.35 H3C NETWORKING S3600-28P-PWR-SI 25506.1.36 H3C NETWORKING S3600-52P-PWR-SI 25506.1.37 H3C NETWORKING S3600-28P-EI 25506.1.38 H3C NETWORKING S3600-52P-EI 25506.1.39 H3C NETWORKING S3600-28P-PWR-EI 25506.1.40 H3C NETWORKING S3600-52P-PWR-EI 25506.1.41 H3C NETWORKING S3600-28F-EI 25506.1.42 H3C NETWORKING S5600-26C 25506.1.43 H3C NETWORKING S5600-50C 25506.1.44 H3C NETWORKING S5600-26C-PWR 25506.1.45 H3C NETWORKING S5600-50C-PWR 25506.1.46 H3C NETWORKING S5600-26F 25506.1.47 H3C NETWORKING S3600-52G-HI 25506.1.48 H3C NETWORKING S3600-52P-HI 25506.1.49 H3C NETWORKING S3600-28G-HI 25506.1.50 H3C NETWORKING S3600-28P-HI 25506.1.51 H3C NETWORKING S3600-52M-HI 25506.1.52 H3C NETWORKING S7502 25506.1.53 H3C NETWORKING S7503 25506.1.54 H3C NETWORKING S7506 25506.1.55 H3C NETWORKING S7506R 25506.1.57 H3C NETWORKING ar28-09 25506.1.58 H3C NETWORKING ar28-10 25506.1.59 H3C NETWORKING ar28-11 25506.1.60 H3C NETWORKING ar28-12 25506.1.61 H3C NETWORKING ar28-13 25506.1.62 H3C NETWORKING ar28-14 25506.1.63 H3C NETWORKING ar28-30 25506.1.64 H3C NETWORKING ar28-31 25506.1.65 H3C NETWORKING ar28-40 25506.1.66 H3C NETWORKING ar28-80 25506.1.67 H3C NETWORKING ar46-20 25506.1.68 H3C NETWORKING ar46-40 25506.1.69 H3C NETWORKING ar46-80 25506.1.70 H3C NETWORKING MSR20-20 25506.1.71 H3C NETWORKING MSR20-21 25506.1.72 H3C NETWORKING MSR20-40 25506.1.73 H3C NETWORKING MSR30-20 25506.1.74 H3C NETWORKING MSR30-40 25506.1.75 H3C NETWORKING MSR30-60 25506.1.76 H3C NETWORKING MSR50-40 25506.1.77 H3C NETWORKING MSR50-60 25506.1.88 H3C NETWORKING ar18-21 25506.1.89 H3C NETWORKING ar18-21A 25506.1.90 H3C NETWORKING ar18-21B 25506.1.91 H3C NETWORKING ar18-22 25506.1.92 H3C NETWORKING ar18-22-8 25506.1.93 H3C NETWORKING ar18-22S-8 25506.1.94 H3C NETWORKING ar18-22-24 25506.1.95 H3C NETWORKING ar18-23-1 25506.1.96 H3C NETWORKING ar18-23S-1 25506.1.98 H3C NETWORKING ar18-30E 25506.1.100 H3C NETWORKING ar18-31E 25506.1.102 H3C NETWORKING ar18-32E 25506.1.103 H3C NETWORKING ar18-33 25506.1.104 H3C NETWORKING ar18-33E 25506.1.105 H3C NETWORKING ar18-34 25506.1.106 H3C NETWORKING ar18-34E 25506.1.108 H3C NETWORKING ar18-35E 25506.1.109 H3C NETWORKING ar18-63-1 25506.1.110 H3C NETWORKING secpathF100-C 25506.1.111 H3C NETWORKING secpathF100-A 25506.1.112 H3C NETWORKING secpathF100-S 25506.1.113 H3C NETWORKING secpathF100-E 25506.1.114 H3C NETWORKING secpathF1000-S 25506.1.115 H3C NETWORKING secpathF1000-A 25506.1.116 H3C NETWORKING secpathF1800-A 25506.1.117 H3C NETWORKING secpathV100-S 25506.1.118 H3C NETWORKING secpathV1000-A 25506.1.119 H3C NETWORKING secpathF100-AW 25506.1.120 H3C NETWORKING secpathF1800-S 25506.1.121 H3C NETWORKING secpathF1800-E 25506.1.122 H3C NETWORKING secpoint 25506.1.123 H3C NETWORKING vg10-10 25506.1.124 H3C NETWORKING vg10-11 25506.1.125 H3C NETWORKING vg10-40 25506.1.126 H3C NETWORKING vg10-41 25506.1.127 H3C NETWORKING vg21-08 25506.1.128 H3C NETWORKING vg20-16 25506.1.129 H3C NETWORKING vg20-32 25506.1.130 H3C NETWORKING vg80-20 25506.1.131 H3C NETWORKING xe200 25506.1.132 H3C NETWORKING xe2000 25506.1.133 H3C NETWORKING xe7200 25506.1.134 H3C NETWORKING xe7300 25506.1.135 H3C NETWORKING xe7500 25506.1.136 H3C NETWORKING xe7600 25506.1.137 H3C NETWORKING xe7205 25506.1.138 H3C NETWORKING xe7305 25506.1.139 H3C NETWORKING xe7505 25506.1.140 H3C NETWORKING xe7605 25506.1.141 H3C NETWORKING neoceanIX1000 25506.1.142 H3C NETWORKING neoceanEX1000 25506.1.143 H3C NETWORKING neoceanEX800 25506.1.144 H3C NETWORKING neoceanIX5000 25506.1.145 H3C NETWORKING neoceanIV5100 25506.1.146 H3C NETWORKING neoceanIV5200 25506.1.147 H3C NETWORKING S9502 25506.1.148 H3C NETWORKING S9505 25506.1.149 H3C NETWORKING S9508 25506.1.150 H3C NETWORKING S9508V 25506.1.151 H3C NETWORKING S9512 25506.1.152 H3C NETWORKING SR8812 25506.1.153 H3C NETWORKING SR8808 25506.1.154 H3C NETWORKING SR8805 25506.1.155 H3C NETWORKING SR8802 25506.1.156 H3C NETWORKING E126-SI 25506.1.157 H3C NETWORKING Vg31-08 25506.1.158 H3C NETWORKING DR834 25506.1.159 H3C NETWORKING S7510E 25506.1.160 H3C NETWORKING S5100-24P-SI 25506.1.161 H3C NETWORKING S5100-48P-SI 25506.1.162 H3C NETWORKING S5100-8P-SI 25506.1.163 H3C NETWORKING S5100-16P-SI 25506.1.164 H3C NETWORKING S5100-8P-EI 25506.1.165 H3C NETWORKING S5100-16P-EI 25506.1.166 H3C NETWORKING S5100-8P-PWR-EI 25506.1.167 H3C NETWORKING S5100-16P-PWR-EI 25506.1.168 H3C NETWORKING S5100-26C-PWR-EI 25506.1.169 H3C NETWORKING S5100-50C-PWR-EI 25506.1.170 H3C NETWORKING S3108TP-EI 25506.1.171 H3C NETWORKING S3116TP-EI 25506.1.172 H3C NETWORKING S3126TP-EI 25506.1.173 H3C NETWORKING S3108TP-EI-PWR 25506.1.174 H3C NETWORKING S3116TP-EI-PWR 25506.1.175 H3C NETWORKING S3126TP-EI-PWR 25506.1.176 H3C NETWORKING S7502M 25506.1.177 H3C NETWORKING S5500M-20C 25506.1.178 H3C NETWORKING S5500M-20F 25506.1.179 H3C NETWORKING BR304plus 25506.1.180 H3C NETWORKING S9505-V5 25506.1.181 H3C NETWORKING S9512-V5 25506.1.182 H3C NETWORKING S9508-V5 25506.1.183 H3C NETWORKING S9508V-V5 25506.1.184 H3C NETWORKING S9502-V5 25506.1.185 H3C NETWORKING SR8802-V5 25506.1.186 H3C NETWORKING SR8805-V5 25506.1.187 H3C NETWORKING SR8812-V5 25506.1.188 H3C NETWORKING SR8808-V5 25506.1.189 H3C NETWORKING S3100-52P 25506.1.190 H3C NETWORKING E152 25506.1.191 H3C NETWORKING S2008 25506.1.192 H3C NETWORKING S2026 25506.1.193 H3C NETWORKING SR6602 25506.1.194 H3C NETWORKING SR6608 25506.1.195 H3C NETWORKING S3100-8TP-EI 25506.1.196 H3C NETWORKING S3100-8TP-PWR-EI 25506.1.197 H3C NETWORKING S3100-16TP-EI 25506.1.198 H3C NETWORKING S3100-15TP-PWR-EI 25506.1.199 H3C NETWORKING S3100-26TP-EI 25506.1.200 H3C NETWORKING S3100-26TP-PWR-EI 25506.1.201 H3C NETWORKING S7502-V5 25506.1.202 H3C NETWORKING vg80-21 25506.1.203 H3C NETWORKING vg80-80 25506.1.204 H3C NETWORKING wcm-wx5002 25506.1.205 H3C NETWORKING wcm-wcma 25506.1.206 H3C NETWORKING MSR30-10 25506.1.207 H3C NETWORKING S7502E 25506.1.208 H3C NETWORKING S7503E 25506.1.209 H3C NETWORKING S7506E 25506.1.210 H3C NETWORKING S7506E-V 25506.1.211 H3C NETWORKING secBlade-FW 25506.1.212 H3C NETWORKING secBlade-IPSec 25506.1.213 H3C NETWORKING S3100-8TP-SI 25506.1.214 H3C NETWORKING S3100-16TP-SI 25506.1.215 H3C NETWORKING e126A 25506.1.216 H3C NETWORKING S3100-26TP-SI-B 25506.1.217 H3C NETWORKING MSR30-16 25506.1.219 H3C NETWORKING S2126-EI 25506.1.220 H3C NETWORKING e150-si 25506.1.221 H3C NETWORKING MSR30-11 25506.1.222 H3C NETWORKING neoceanIX3040 25506.1.223 H3C NETWORKING neoceanIX3080 25506.1.224 H3C NETWORKING secpathF100-M 25506.1.225 H3C NETWORKING neoceanVX1500 25506.1.226 H3C NETWORKING neoceanIX1520 25506.1.227 H3C NETWORKING neoceanIX1540 25506.1.228 H3C NETWORKING wcm-wx5002-128ap 25506.1.229 H3C NETWORKING MSR20-10 25506.1.230 H3C NETWORKING MSR20-11 25506.1.231 H3C NETWORKING MSR20-13 25506.1.232 H3C NETWORKING MSR20-15 25506.1.233 H3C NETWORKING neoceanDL1008 25506.1.234 H3C NETWORKING neoceanDL1008S 25506.1.235 H3C NETWORKING neoceanDL1012 25506.1.236 H3C NETWORKING S3610-52M 25506.1.237 H3C NETWORKING IV5680 25506.1.238 H3C NETWORKING IV5240 25506.1.239 H3C NETWORKING F1000-E 25506.1.240 H3C NETWORKING S5024P 25506.1.241 H3C NETWORKING S5016P 25506.1.242 H3C NETWORKING LSQ1FWBSC0 25506.1.243 H3C NETWORKING LSB1FW2A0 25506.1.244 H3C NETWORKING S3100-8TP-EI 25506.1.245 H3C NETWORKING S3100-16TP-EI 25506.1.246 H3C NETWORKING S3100-26TP-EI 25506.1.247 H3C NETWORKING ET704 25506.1.248 H3C NETWORKING ec1001 25506.1.249 H3C NETWORKING ec1001-hf 25506.1.250 H3C NETWORKING ec1004-hc 25506.1.251 H3C NETWORKING ec2004-hf 25506.1.252 H3C NETWORKING dc1001 25506.1.253 H3C NETWORKING dm8000 25506.1.254 H3C NETWORKING vm8000 25506.1.255 H3C NETWORKING ms8000 25506.1.256 H3C NETWORKING S3100-52TP 25506.1.257 H3C NETWORKING MSR20-12 25506.1.258 H3C NETWORKING S1550E 25506.1.259 H3C NETWORKING S1550 25506.1.260 H3C NETWORKING S1526-EI 25506.1.261 H3C NETWORKING MSR20-12-T 25506.1.262 H3C NETWORKING MSR20-15-I 25506.1.263 H3C NETWORKING MSR20-15-N 25506.1.264 H3C NETWORKING wx6100EWPX 25506.1.265 H3C NETWORKING WX6100LSQ 25506.1.266 H3C NETWORKING WX6100SB 25506.1.267 H3C NETWORKING WX6100SW 25506.1.268 H3C NETWORKING dl1000 25506.1.269 H3C NETWORKING dl1000s 25506.1.270 H3C NETWORKING wa1208e-g 25506.1.271 H3C NETWORKING wa1208e-dg 25506.1.272 H3C NETWORKING wa1208e-ag 25506.1.273 H3C NETWORKING wa1208e-agp 25506.1.274 H3C NETWORKING S7501M-24T 25506.1.275 H3C NETWORKING S7501M-24TP 25506.1.276 H3C NETWORKING S7502M 25506.1.277 H3C NETWORKING S7503M 25506.1.278 H3C NETWORKING S7506M 25506.1.279 H3C NETWORKING S7506M-V 25506.1.280 H3C NETWORKING S7510M 25506.1.281 H3C NETWORKING secpathT200 25506.1.282 H3C NETWORKING secpathT200E 25506.1.283 H3C NETWORKING cc600 25506.1.284 H3C NETWORKING wa1208e-gp 25506.1.285 H3C NETWORKING wb2321e-agp 25506.1.286 H3C NETWORKING wh2520e-agp 25506.1.287 H3C NETWORKING ICG2000 25506.1.288 H3C NETWORKING ICG3000 25506.1.289 H3C NETWORKING ICG5000 25506.1.290 H3C NETWORKING S5520TP-SI 25506.1.291 H3C NETWORKING wa2210-ag 25506.1.292 H3C NETWORKING wa2220-ag 25506.1.293 H3C NETWORKING wa2220e-ag 25506.1.294 H3C NETWORKING wa2210x-g 25506.1.295 H3C NETWORKING wa2220x-ag 25506.1.296 H3C NETWORKING wa2220x-agp 25506.1.297 H3C NETWORKING S3100-52TP-SI 25506.1.298 H3C NETWORKING secpathASE5000-E 25506.1.299 H3C NETWORKING secpathASE5000-S 25506.1.300 H3C NETWORKING secpathU200-C 25506.1.301 H3C NETWORKING secpathU200-S 25506.1.302 H3C NETWORKING secpathU200-A 25506.1.303 H3C NETWORKING secpathU200-M 25506.1.304 H3C NETWORKING ec3016-hc 25506.1.305 H3C NETWORKING dc1001-ff 25506.1.306 H3C NETWORKING ecr3304-hf 25506.1.307 H3C NETWORKING ecr3308-hd 25506.1.308 H3C NETWORKING ecr3316-hc 25506.1.309 H3C NETWORKING isc3000 25506.1.310 H3C NETWORKING isc3100 25506.1.311 H3C NETWORKING vm9000 25506.1.312 H3C NETWORKING vm5000 25506.1.313 H3C NETWORKING ms9000-vtdu 25506.1.314 H3C NETWORKING ms9000-nru 25506.1.315 H3C NETWORKING ums9005 25506.1.316 H3C NETWORKING CS2104B 25506.1.317 H3C NETWORKING CS2106B 25506.1.318 H3C NETWORKING S5024E 25506.1.319 H3C NETWORKING S5048E 25506.1.320 H3C NETWORKING secpathF5000-A 25506.1.321 H3C NETWORKING neoceanIX3240 25506.1.322 H3C NETWORKING neoceanIX3620 25506.1.323 H3C NETWORKING MSA7302 25506.1.324 H3C NETWORKING MSA7306 25506.1.325 H3C NETWORKING S7501E 25506.1.326 H3C NETWORKING S3100-8C-EPON-EI 25506.1.327 H3C NETWORKING S3100-16C-EPON-EI 25506.1.328 H3C NETWORKING S3100-26C-EPON-EI 25506.1.329 H3C NETWORKING secBlade-LSQ1AFCBSC0 25506.1.330 H3C NETWORKING secBlade-LSB1AFC1A0 25506.1.331 H3C NETWORKING secpathF1000-C 25506.1.332 H3C NETWORKING secpathF100-A-SI 25506.1.333 H3C NETWORKING secpathV100-E 25506.1.334 H3C NETWORKING S5800-32C 25506.1.335 H3C NETWORKING S5800-56C 25506.1.336 H3C NETWORKING S5800-32C-PWR 25506.1.337 H3C NETWORKING S5800-56C-PWR 25506.1.338 H3C NETWORKING S5800-60C-PWR 25506.1.339 H3C NETWORKING S5800-32F 25506.1.340 H3C NETWORKING S5800X-28C 25506.1.341 H3C NETWORKING S5800X-28S 25506.1.342 H3C NETWORKING cc602 25506.1.343 H3C NETWORKING cr400 25506.1.344 H3C NETWORKING cc600E 25506.1.345 H3C NETWORKING secpathT1000-M 25506.1.346 H3C NETWORKING neoceanVX1540 25506.1.347 H3C NETWORKING MSR50-06 25506.1.348 H3C NETWORKING secpathACG2000-M 25506.1.349 H3C NETWORKING secBlade-LSQ1ACGASC0 25506.1.350 H3C NETWORKING secBlade-LSB1ACG1A0 25506.1.351 H3C NETWORKING wx3024wcm 25506.1.352 H3C NETWORKING wx3024lsw 25506.1.353 H3C NETWORKING wx5004 25506.1.354 H3C NETWORKING sr6604 25506.1.355 H3C NETWORKING iag5000-A 25506.1.356 H3C NETWORKING secBlade-SPE-FWM 25506.1.357 H3C NETWORKING ICG2200 25506.1.358 H3C NETWORKING S7602 25506.1.359 H3C NETWORKING S7603 25506.1.360 H3C NETWORKING S7606 25506.1.361 H3C NETWORKING S7606-V 25506.1.362 H3C NETWORKING S7610 25506.1.363 H3C NETWORKING wa2610e-agn 25506.1.364 H3C NETWORKING wa2620e-agn 25506.1.365 H3C NETWORKING wa1208e-g-v5 25506.1.366 H3C NETWORKING wa1208e-dg-v5 25506.1.367 H3C NETWORKING wa1208e-ag-v5 25506.1.368 H3C NETWORKING wa1208e-agp-v5 25506.1.369 H3C NETWORKING wa1208e-gp-v5 25506.1.370 H3C NETWORKING S7503E-S 25506.1.371 H3C NETWORKING secpathIAG2000-A 25506.1.372 H3C NETWORKING secpathT1000-A 25506.1.373 H3C NETWORKING secpathT1000-S 25506.1.374 H3C NETWORKING secBlade-EWPX1FWA0 25506.1.375 H3C NETWORKING secBlade-LSQ1NSMSC0 25506.1.376 H3C NETWORKING secBlade-LSQ1AFDBSC0 25506.1.377 H3C NETWORKING secBlade-LSQ1LBSC0 25506.1.378 H3C NETWORKING secBlade-LSB1LB1A0 25506.1.379 H3C NETWORKING neoceanIX1560 25506.1.380 H3C NETWORKING neoceanEX1500S 25506.1.381 H3C NETWORKING neoceanEX1520S 25506.1.382 H3C NETWORKING neoceanEX1540S 25506.1.383 H3C NETWORKING neoceanEX1560S 25506.1.384 H3C NETWORKING ET716 25506.1.385 H3C NETWORKING s3600-2P-OLT 25506.1.386 H3C NETWORKING ER3200 25506.1.387 H3C NETWORKING ER3100 25506.1.388 H3C NETWORKING S9505E 25506.1.389 H3C NETWORKING S9508E-V 25506.1.390 H3C NETWORKING S9512E 25506.1.391 H3C NETWORKING S12508 25506.1.392 H3C NETWORKING S12518 25506.1.393 H3C NETWORKING ET708 25506.1.394 H3C NETWORKING ET724 25506.1.395 H3C NETWORKING S2008TP-EA 25506.1.396 H3C NETWORKING S2016TP-EA 25506.1.397 H3C NETWORKING S2403TP-EA 25506.1.398 H3C NETWORKING ICG2000-CT 25506.1.400 H3C NETWORKING S3528P-EA 25506.1.401 H3C NETWORKING S3552P-EA 25506.1.402 H3C NETWORKING S3552F-EA 25506.1.403 H3C NETWORKING S3528F-EA 25506.1.404 H3C NETWORKING S3528TP-EA 25506.1.405 H3C NETWORKING secpathAFD1000-A 25506.1.406 H3C NETWORKING secpathF100-C-EI 25506.1.407 H3C NETWORKING ER3260 25506.1.408 H3C NETWORKING ICG800 25506.1.409 H3C NETWORKING ICG800g 25506.1.410 H3C NETWORKING ICG1000 25506.1.411 H3C NETWORKING ICG1800 25506.1.412 H3C NETWORKING neoceanIX3240E 25506.1.413 H3C NETWORKING neoceanIX3620E 25506.1.414 H3C NETWORKING neoceanIX3640E 25506.1.415 H3C NETWORKING secpathACG8800-S3 25506.1.416 H3C NETWORKING secpathT5000-S3 25506.1.417 H3C NETWORKING secpathIAG2000-S 25506.1.418 H3C NETWORKING secpathACG8800-S3-NS21S2MSPB0 25506.1.419 H3C NETWORKING secpathT5000-S3-NS11S2MSPB0 25506.1.420 H3C NETWORKING MSR3010 25506.1.421 H3C NETWORKING MSR3011E 25506.1.422 H3C NETWORKING MSR3011F 25506.1.423 H3C NETWORKING secpathT200-A 25506.1.424 H3C NETWORKING secpathT200-M 25506.1.425 H3C NETWORKING secpathF100-C2 25506.1.426 H3C NETWORKING DPtech-FW1000-GE 25506.1.427 H3C NETWORKING DPtech-FW1000-GA 25506.1.428 H3C NETWORKING DPtech-FW1000-GS 25506.1.429 H3C NETWORKING DPtech-FW1000-ME 25506.1.430 H3C NETWORKING DPtech-FW1000-MA 25506.1.431 H3C NETWORKING DPtech-FW1000-MM 25506.1.432 H3C NETWORKING DPtech-FW1000-MC 25506.1.433 H3C NETWORKING DPtech-UTM2000-MA 25506.1.434 H3C NETWORKING DPtech-UTM2000-MM 25506.1.435 H3C NETWORKING DPtech-UTM2000-MS 25506.1.436 H3C NETWORKING DPtech-IPS2000-GM 25506.1.437 H3C NETWORKING DPtech-IPS2000-MM 25506.1.438 H3C NETWORKING sr6616 25506.1.439 H3C NETWORKING S3620-28TP-EI 25506.1.440 H3C NETWORKING S3620-28P-EI 25506.1.441 H3C NETWORKING S3620-52P-EI 25506.1.442 H3C NETWORKING S3620-28P-PWR-EI 25506.1.443 H3C NETWORKING S3820-52P-PWR-EI 25506.1.444 H3C NETWORKING S3620-28F-EI 25506.1.445 H3C NETWORKING S3620-52M 25506.1.446 H3C NETWORKING S3620-52M-DC 25506.1.447 H3C NETWORKING S3620-28C-EI 25506.1.448 H3C NETWORKING wa2210e-ge 25506.1.449 H3C NETWORKING wa2220x-age 25506.1.450 H3C NETWORKING wa2210x-ge 25506.1.451 H3C NETWORKING wb2320x-age 25506.1.452 H3C NETWORKING neoceanEX1540 25506.1.453 H3C NETWORKING S5810-50S 25506.1.454 H3C NETWORKING secBlade-LSQ1IPSSC0 25506.1.455 H3C NETWORKING secBlade-LSB1IPS1A0 25506.1.456 H3C NETWORKING ER5100 25506.1.457 H3C NETWORKING ER5200 25506.1.458 H3C NETWORKING wx3010wcm 25506.1.459 H3C NETWORKING wx3010lsw 25506.1.460 H3C NETWORKING cc652E 25506.1.461 H3C NETWORKING S5120-20P-SI 25506.1.462 H3C NETWORKING S5120-28P-SI 25506.1.463 H3C NETWORKING S5120-52P-SI 25506.1.464 H3C NETWORKING S5120-28P-EI 25506.1.465 H3C NETWORKING S5120-52P-EI 25506.1.466 H3C NETWORKING S5120-28P-LPWR-EI 25506.1.467 H3C NETWORKING S5120-29P-PWR-EI 25506.1.468 H3C NETWORKING WX6100LSR 25506.1.469 H3C NETWORKING S7506E 25506.1.470 H3C NETWORKING ICG2000B 25506.1.471 H3C NETWORKING ICG2000C 25506.1.472 H3C NETWORKING S1626 25506.1.473 H3C NETWORKING S1650 25506.1.474 H3C NETWORKING S1626P 25506.1.475 H3C NETWORKING neoceanIX3620S 25506.1.476 H3C NETWORKING neoceanIX3080S 25506.1.477 H3C NETWORKING ER3280g 25506.1.478 H3C NETWORKING wa2610-agn 25506.1.479 H3C NETWORKING wa2612-agn 25506.1.480 H3C NETWORKING secpathT200-S 25506.1.481 H3C NETWORKING secpathU200-CS 25506.1.482 H3C NETWORKING secpathU200-CM 25506.1.483 H3C NETWORKING secpathU200-CA 25506.1.484 H3C NETWORKING secBlade-LSR1AFC2A1 25506.1.485 H3C NETWORKING secBlade-LSR1FW2A1 25506.1.486 H3C NETWORKING secBlade-LSR1LB1A1 25506.1.487 H3C NETWORKING secBlade-LSR1NSM1A1 25506.1.488 H3C NETWORKING cc650E 25506.1.489 H3C NETWORKING LSWM1WCM10 25506.1.490 H3C NETWORKING LSWM1WCM20 25506.1.491 H3C NETWORKING EWPXM1WCMC0 25506.1.492 H3C NETWORKING LSWM1IPS10 25506.1.493 H3C NETWORKING LSWM1FW10 25506.1.494 H3C NETWORKING secpathF1000-S-EI 25506.1.495 H3C NETWORKING secpathF1000-A-EI 25506.1.496 H3C NETWORKING MSR50-06-V5 25506.1.497 H3C NETWORKING secBlade-LSR1ACG1A1 25506.1.498 H3C NETWORKING secBlade-LSR1IPS1A1 25506.1.499 H3C NETWORKING S7602S 25506.1.500 H3C NETWORKING S7603-ES 25506.1.501 H3C NETWORKING S7606-ES 25506.1.502 H3C NETWORKING SSM-s5500G 25506.1.503 H3C NETWORKING SSM-FIC 25506.1.504 H3C NETWORKING SSM-MIM 25506.1.505 H3C NETWORKING ER8300 25506.1.506 H3C NETWORKING wa2610x-gnp 25506.1.507 H3C NETWORKING wb2360x-anp 25506.1.508 H3C NETWORKING wh2530x-dag 25506.1.509 H3C NETWORKING wa2620-agn 25506.1.510 H3C NETWORKING cc610E 25506.1.511 H3C NETWORKING DPtech-FW1000-GT 25506.1.512 H3C NETWORKING S2008TP-EA(SI) 25506.1.513 H3C NETWORKING S2016TP-EA(SI) 25506.1.514 H3C NETWORKING S2403TP-EA(SI) 25506.1.515 H3C NETWORKING S5120-24P-EI 25506.1.516 H3C NETWORKING S5120-48P-EI 25506.1.517 H3C NETWORKING S5120-28C-EI 25506.1.518 H3C NETWORKING S5120-52C-EI 25506.1.519 H3C NETWORKING S5120-28C-PWR-EI 25506.1.520 H3C NETWORKING S5120-52C-PWR-EI 25506.1.521 H3C NETWORKING wx3008wcm 25506.1.522 H3C NETWORKING wx3008lsw 25506.1.523 H3C NETWORKING MSR900 25506.1.524 H3C NETWORKING MSR920 25506.1.525 H3C NETWORKING secBlade-LSQ1IAGSC0 25506.1.526 H3C NETWORKING WX7306 25506.1.527 H3C NETWORKING WX7310 25506.1.528 H3C NETWORKING Blade5310 25506.1.529 H3C NETWORKING Blade55102 25506.1.530 H3C NETWORKING Blade5512S 25506.1.531 H3C NETWORKING Blade55110X 25506.1.532 H3C NETWORKING wa2610e-gnp 25506.1.533 H3C NETWORKING s3100-26TP-SI-UM 25506.1.534 H3C NETWORKING s3100-52TP-SI-UM 25506.1.535 H3C NETWORKING s5500-24P-SI 25506.1.536 H3C NETWORKING s5500-48P-SI 25506.1.537 H3C NETWORKING ME8000 25506.1.538 H3C NETWORKING ME8600 25506.1.539 H3C NETWORKING ME5000 25506.1.540 H3C NETWORKING MG6060 25506.1.541 H3C NETWORKING MG6050 25506.1.542 H3C NETWORKING MG6050S 25506.1.543 H3C NETWORKING MG9010 25506.1.544 H3C NETWORKING MG9030 25506.1.545 H3C NETWORKING MG9060 25506.1.546 H3C NETWORKING neoceanVX1500-DC 25506.1.547 H3C NETWORKING cc620E 25506.1.548 H3C NETWORKING SIVX-S3628 25506.1.549 H3C NETWORKING SIVX-S5528 25506.1.550 H3C NETWORKING SIVX-VS1500 25506.1.551 H3C NETWORKING neoceanIX2540 25506.1.552 H3C NETWORKING neoceanVX2500 25506.1.555 H3C NETWORKING S5120-28P-PWR-SI 25506.1.556 H3C NETWORKING S5120-28P-HPWR-SI 25506.1.557 H3C NETWORKING F1000-E-DC 25506.1.558 H3C NETWORKING S5028 25506.1.559 H3C NETWORKING ET824 25506.1.560 H3C NETWORKING OSM 25506.1.561 H3C NETWORKING wx5002-v2 25506.1.562 H3C NETWORKING wx5004-v2 25506.1.563 H3C NETWORKING secpathT1000-C 25506.1.564 H3C NETWORKING secBlade-LST1IPS1A1 25506.1.565 H3C NETWORKING secBlade-LST1FW2A1 25506.1.566 H3C NETWORKING secBlade-LST1LB1A1 25506.1.567 H3C NETWORKING secBlade-LST1NSM1A1 25506.1.568 H3C NETWORKING secBlade-EWPX2IAGSC0 25506.1.569 H3C NETWORKING F1000-A-EI 25506.1.570 H3C NETWORKING wx6108E 25506.1.571 H3C NETWORKING wx6112E 25506.1.572 H3C NETWORKING s5500-34C-HI 25506.1.573 H3C NETWORKING s5500-58C-HI 25506.1.574 H3C NETWORKING wa1208e-gp-h20 25506.1.575 H3C NETWORKING S5120-9P-SI 25506.1.576 H3C NETWORKING S5120-9P-PWR-SI 25506.1.577 H3C NETWORKING S5120-9P-HPWR-SI 25506.1.578 H3C NETWORKING e528 25506.1.579 H3C NETWORKING e552 25506.1.580 H3C NETWORKING s3600V2-28TP-EI 25506.1.581 H3C NETWORKING s3600V2-52TP-EI 25506.1.582 H3C NETWORKING s3600V2-28TP-PWR-EI 25506.1.583 H3C NETWORKING s3600V2-52TP-PWR-EI 25506.1.584 H3C NETWORKING s3600V2-28F-EI 25506.1.585 H3C NETWORKING s3600V2-28TP-SI 25506.1.586 H3C NETWORKING s3600V2-52TP-SI 25506.1.587 H3C NETWORKING s3600V2-28TP-PWR-SI 25506.1.588 H3C NETWORKING s3600V2-52TP-PWR-SI 25506.1.589 H3C NETWORKING s3500V2-28TP-EA 25506.1.590 H3C NETWORKING s3500V2-52TP-EA 25506.1.591 H3C NETWORKING s3500V2-28F-EA 25506.1.592 H3C NETWORKING s3500V2-28TP-SI 25506.1.593 H3C NETWORKING s3500V2-52TP-SI 25506.1.594 H3C NETWORKING s9508E 25506.1.595 H3C NETWORKING s12504 25506.1.596 H3C NETWORKING ICG2000B-GT 25506.1.597 H3C NETWORKING ICG3000B 25506.1.598 H3C NETWORKING ICG3000S 25506.1.599 H3C NETWORKING ICG5000B 25506.1.600 H3C NETWORKING wh2640X-agnp 25506.1.601 H3C NETWORKING wa2620X-agnp 25506.1.602 H3C NETWORKING s3100-16TP-PWR-EI-F 25506.1.603 H3C NETWORKING cr16018 25506.1.604 H3C NETWORKING cr16008 25506.1.605 H3C NETWORKING cr16004 25506.1.606 H3C NETWORKING F1000-A-SI 25506.1.607 H3C NETWORKING F1000-E-SI 25506.1.608 H3C NETWORKING secBlade-LST1ACG1A1 25506.1.609 H3C NETWORKING secBlade-SPE-IPS 25506.1.610 H3C NETWORKING secBlade-SPE-ACG 25506.1.611 H3C NETWORKING wx6103 25506.1.612 H3C NETWORKING LSQ1WCMD0 25506.1.613 H3C NETWORKING EWPX2WCMD0 25506.1.614 H3C NETWORKING LSR1WCM3A1 25506.1.615 H3C NETWORKING S5830-52SC 25506.1.617 H3C NETWORKING S5830-106S 25506.1.618 H3C NETWORKING ET814 25506.1.619 H3C NETWORKING S5120-28P-LI 25506.1.620 H3C NETWORKING S5120-52P-LI 25506.1.621 H3C NETWORKING secBlade-IM-FW-II 25506.1.622 H3C NETWORKING secBlade-IM-LB 25506.1.623 H3C NETWORKING secBlade-IM-SSL 25506.1.625 H3C NETWORKING ER2210C 25506.1.626 H3C NETWORKING VCX-Connect-100 25506.1.627 H3C NETWORKING VCX-Connect-200 25506.1.628 H3C NETWORKING VCX-V7005 25506.1.629 H3C NETWORKING VCX-V7205 25506.1.630 H3C NETWORKING VCX-MIM 25506.1.631 H3C NETWORKING VCX-Connect-MIM-Primary 25506.1.632 H3C NETWORKING VCX-Connect-MIM-Secondary 25506.1.633 H3C NETWORKING VCX-V7310 25506.1.634 H3C NETWORKING secBlade-IM-IPS 25506.1.635 H3C NETWORKING secBlade-IM-ACG 25506.1.636 H3C NETWORKING s7508E-X 25506.1.637 H3C NETWORKING s10504 25506.1.638 H3C NETWORKING s10508 25506.1.639 H3C NETWORKING s10508-V 25506.1.640 H3C NETWORKING secBlade-SPE-FWM-200 25506.1.641 H3C NETWORKING secpathF1000-S-AI 25506.1.642 H3C NETWORKING wx3024e-wcm 25506.1.643 H3C NETWORKING wx3024e-lsw 25506.1.644 H3C NETWORKING ER2100 25506.1.645 H3C NETWORKING S5820X-34TC 25506.1.646 H3C NETWORKING S5820X-34SC 25506.1.647 H3C NETWORKING S5820X-34C 25506.1.648 H3C NETWORKING S5820X-64SC 25506.1.649 H3C NETWORKING cc720E 25506.1.650 H3C NETWORKING S2126T 25506.1.651 H3C NETWORKING S5800-54S 25506.1.652 H3C NETWORKING S5820X-26S 25506.1.653 H3C NETWORKING S3100V2-8TP-SI 25506.1.654 H3C NETWORKING S3100V2-16TP-SI 25506.1.655 H3C NETWORKING S3100V2-26TP-SI 25506.1.656 H3C NETWORKING E126B 25506.1.657 H3C NETWORKING S3100V2-8TP-EI 25506.1.658 H3C NETWORKING S3100V2-16TP-EI 25506.1.659 H3C NETWORKING S3100V2-26TP-EI 25506.1.660 H3C NETWORKING S3100V2-8TP-PWR-EI 25506.1.661 H3C NETWORKING S3100V2-16TP-PWR-EI 25506.1.662 H3C NETWORKING S3100V2-26TP-PWR-EI 25506.1.663 H3C NETWORKING S2008TP-EB 25506.1.664 H3C NETWORKING S2016TP-EB 25506.1.665 H3C NETWORKING S2403TP-EB 25506.1.666 H3C NETWORKING S2008TP-PWR-EB 25506.1.667 H3C NETWORKING S2016TP-PWR-EB 25506.1.668 H3C NETWORKING S2403TP-PWR-EB 25506.1.669 H3C NETWORKING S5800-LSW1FC4P0 25506.1.670 H3C NETWORKING S2403TP-EA-SI-D 25506.1.671 H3C NETWORKING S3528P-EA-D 25506.1.672 H3C NETWORKING OAP-FIC-V2 25506.1.673 H3C NETWORKING OAP-MIM-V2 25506.1.674 H3C NETWORKING OAPS-MIM-V2 25506.1.675 H3C NETWORKING S2008TP-PWR-EA 25506.1.676 H3C NETWORKING S2008TP-PWR-EA-DC 25506.1.677 H3C NETWORKING S2016TP-PWR-EA 25506.1.678 H3C NETWORKING S2403TP-PWR-EA 25506.1.679 H3C NETWORKING S5120-24P-EI-D 25506.1.680 H3C NETWORKING S5120-24P-PWR-EI-D 25506.1.681 H3C NETWORKING S5120-48P-EI-D 25506.1.682 H3C NETWORKING S5024P-EI 25506.1.683 H3C NETWORKING S5500-28C-EI-D 25506.1.684 H3C NETWORKING S5500-52C-EI-D 25506.1.685 H3C NETWORKING S5500-28F-EI-D 25506.1.686 H3C NETWORKING S5500-28C-EI-DC-D 25506.1.687 H3C NETWORKING MG9050 25506.1.688 H3C NETWORKING S5120-52SC-HI 25506.1.689 H3C NETWORKING CE3000-32F-EI 25506.1.690 H3C NETWORKING S5830V224S 25506.1.691 H3C NETWORKING DC1801FH 25506.1.692 H3C NETWORKING DC2004FF 25506.1.693 H3C NETWORKING EC1101HF 25506.1.694 H3C NETWORKING EC1102HF 25506.1.695 H3C NETWORKING EC1501HF 25506.1.696 H3C NETWORKING EC1801HH 25506.1.697 H3C NETWORKING EC2516HF 25506.1.698 H3C NETWORKING EC2016HC 25506.1.699 H3C NETWORKING EC2016HC8CH 25506.1.700 H3C NETWORKING EC2016HC4CH 25506.1.701 H3C NETWORKING EC1504HF 25506.1.702 H3C NETWORKING HIC5421 25506.1.703 H3C NETWORKING HIC5401 25506.1.704 H3C NETWORKING HIC5221H 25506.1.705 H3C NETWORKING HIC5201H 25506.1.706 H3C NETWORKING VM8500 25506.1.707 H3C NETWORKING MS8500 25506.1.708 H3C NETWORKING DM8500 25506.1.709 H3C NETWORKING VX500 25506.1.710 H3C NETWORKING ISC3000E 25506.1.711 H3C NETWORKING ISC3000S 25506.1.712 H3C NETWORKING CC700E 25506.1.713 H3C NETWORKING DC1001FF 25506.1.714 H3C NETWORKING ECR3316HC 25506.1.715 H3C NETWORKING ECR3308HD 25506.1.716 H3C NETWORKING ECR3316HC8CH 25506.1.717 H3C NETWORKING ECR3316HC4CH 25506.1.718 H3C NETWORKING ECR3308HD4CH 25506.1.719 H3C NETWORKING HIC65017L 25506.1.720 H3C NETWORKING EC2508HF 25506.1.721 H3C NETWORKING S3528EA 25506.1.722 H3C NETWORKING S3552TPEA 25506.1.723 H3C NETWORKING WP3024 25506.1.724 H3C NETWORKING WP3048 25506.1.725 H3C NETWORKING S3528FPEA 25506.1.726 H3C NETWORKING E328B 25506.1.727 H3C NETWORKING E352B 25506.1.728 H3C NETWORKING E152B 25506.1.729 H3C NETWORKING S3100V252TP 25506.1.730 H3C NETWORKING WP2008 25506.1.731 H3C NETWORKING WP2016 25506.1.732 H3C NETWORKING WP2024 25506.1.733 H3C NETWORKING WP5024 25506.1.734 H3C NETWORKING WP5048 25506.1.735 H3C NETWORKING S2052TPEA 25506.1.736 H3C NETWORKING S7604X 25506.1.737 H3C NETWORKING S7608X 25506.1.738 H3C NETWORKING S7608XV 25506.1.739 H3C NETWORKING WA3620iAGN 25506.1.740 H3C NETWORKING WA3628iAGN 25506.1.741 H3C NETWORKING WA3610iGN 25506.1.742 H3C NETWORKING CC750E 25506.1.743 H3C NETWORKING S5024FSI 25506.1.744 H3C NETWORKING S5820V252QF 25506.1.745 H3C NETWORKING WA2110GN 25506.1.746 H3C NETWORKING MSR2010E 25506.1.747 H3C NETWORKING S10512 25506.1.748 H3C NETWORKING S512028SCHI 25506.1.749 H3C NETWORKING WA1208EGNP 25506.1.750 H3C NETWORKING WA2610EGNPH20 25506.1.751 H3C NETWORKING WA2620iAGN 25506.1.752 H3C NETWORKING WA2610iGN 25506.1.753 H3C NETWORKING WA2612 25506.1.754 H3C NETWORKING WA2620 25506.1.755 H3C NETWORKING WB524 25506.1.756 H3C NETWORKING SecBladeLST1FW3A1 25506.1.757 H3C NETWORKING SecBladeLSU1FWCEA0 25506.1.758 H3C NETWORKING WX3010eWCM 25506.1.759 H3C NETWORKING WX3010eLSW 25506.1.760 H3C NETWORKING SR6602X1 25506.1.761 H3C NETWORKING SR6602X2 25506.1.762 H3C NETWORKING SecBladeCRIMNAM1A 25506.1.763 H3C NETWORKING MSR2630 25506.1.764 H3C NETWORKING MSR3610AC 25506.1.765 H3C NETWORKING MSR3610DC 25506.1.766 H3C NETWORKING MSR3620AC 25506.1.767 H3C NETWORKING MSR3620DC 25506.1.768 H3C NETWORKING MSR3620POE 25506.1.769 H3C NETWORKING MSR3640 25506.1.770 H3C NETWORKING MSR3660 25506.1.771 H3C NETWORKING MSR5660 25506.1.772 H3C NETWORKING MSR5680 25506.1.773 H3C NETWORKING S512058CHI 25506.1.774 H3C NETWORKING S512034CHI 25506.1.775 H3C NETWORKING LSU3WCMD0 25506.1.776 H3C NETWORKING EWPX3WCMD0 25506.1.777 H3C NETWORKING S7612X 25506.1.778 H3C NETWORKING WX6103E 25506.1.779 H3C NETWORKING SecBladeCRIMFW1A 25506.1.780 H3C NETWORKING HIC66216C 25506.1.781 H3C NETWORKING HIC66216L 25506.1.782 H3C NETWORKING HIC3401V 25506.1.783 H3C NETWORKING HIC3401VIR 25506.1.784 H3C NETWORKING HIC3421V 25506.1.785 H3C NETWORKING HIC3421VIR 25506.1.786 H3C NETWORKING SIC235IR1 25506.1.787 H3C NETWORKING SIC235IR3 25506.1.788 H3C NETWORKING SIC335EVIR 25506.1.789 H3C NETWORKING HIC5511I 25506.1.790 H3C NETWORKING HIC5521I 25506.1.791 H3C NETWORKING HIC5551I 25506.1.792 H3C NETWORKING HIC5421E 25506.1.793 H3C NETWORKING HIC5401E 25506.1.794 H3C NETWORKING HIC5421D 25506.1.795 H3C NETWORKING HIC5401D 25506.1.796 H3C NETWORKING HIC5621 25506.1.797 H3C NETWORKING HIC5601 25506.1.798 H3C NETWORKING HIC6501E 25506.1.799 H3C NETWORKING HIC6621E 25506.1.800 H3C NETWORKING SIC635 25506.1.801 H3C NETWORKING HIC6501IR 25506.1.802 H3C NETWORKING HIC6621IR 25506.1.803 H3C NETWORKING SIC635IR 25506.1.804 H3C NETWORKING EC2508HF4CH 25506.1.805 H3C NETWORKING EC2516HF8CH 25506.1.806 H3C NETWORKING ECR3308HF 25506.1.807 H3C NETWORKING ECR3316HF 25506.1.808 H3C NETWORKING ISC3500E 25506.1.809 H3C NETWORKING ISC3500S 25506.1.810 H3C NETWORKING ECR3304HFE 25506.1.811 H3C NETWORKING ECR3308HFE 25506.1.812 H3C NETWORKING ECR3316HFE 25506.1.813 H3C NETWORKING ISC3600 25506.1.814 H3C NETWORKING ECR3204HW 25506.1.815 H3C NETWORKING ECR3208HW 25506.1.816 H3C NETWORKING ECR3216HW 25506.1.817 H3C NETWORKING EC2508HW 25506.1.818 H3C NETWORKING EC2516HW 25506.1.819 H3C NETWORKING ISC2600 25506.1.820 H3C NETWORKING DC2808FH 25506.1.821 H3C NETWORKING CE300034C 25506.1.822 H3C NETWORKING CE300058C 25506.1.823 H3C NETWORKING SR6604X 25506.1.824 H3C NETWORKING SR6608X 25506.1.825 H3C NETWORKING SR6616X 25506.1.826 H3C NETWORKING secpathF100AG 25506.1.827 H3C NETWORKING secpathF100CG 25506.1.828 H3C NETWORKING secpathF100EG 25506.1.829 H3C NETWORKING secpathF100MG 25506.1.830 H3C NETWORKING secpathF100SG 25506.1.831 H3C NETWORKING S3100V226TPWiNet 25506.1.832 H3C NETWORKING S550024PWiNet 25506.1.833 H3C NETWORKING S512028PPoeWiNet 25506.1.834 H3C NETWORKING S512028PWiNet 25506.1.835 H3C NETWORKING S550034CPWRHI 25506.1.836 H3C NETWORKING S550058CPWRHI 25506.1.837 H3C NETWORKING S550034FHI 25506.1.838 H3C NETWORKING MSR930 25506.1.839 H3C NETWORKING MSV50 25506.1.840 H3C NETWORKING MSR930WiNet 25506.1.841 H3C NETWORKING MSR930GU 25506.1.842 H3C NETWORKING MSR930sa 25506.1.843 H3C NETWORKING MSR930GG 25506.1.844 H3C NETWORKING S5820V254QSGE 25506.1.845 H3C NETWORKING S5820V252Q 25506.1.846 H3C NETWORKING CC754E 25506.1.847 H3C NETWORKING WP5008 25506.1.848 H3C NETWORKING SecBladeCRIMLB1A 25506.1.849 H3C NETWORKING S550034CHID 25506.1.850 H3C NETWORKING S550058CHID 25506.1.851 H3C NETWORKING S9505EV7 25506.1.852 H3C NETWORKING S9508EV7 25506.1.853 H3C NETWORKING S9508EVV7 25506.1.854 H3C NETWORKING S9512EV7 25506.1.855 H3C NETWORKING S12508V7 25506.1.856 H3C NETWORKING S12518V7 25506.1.857 H3C NETWORKING S12504V7 25506.1.858 H3C NETWORKING secpathF100CAI 25506.1.859 H3C NETWORKING secpathL1000A 25506.1.860 H3C NETWORKING WA2610E 25506.1.861 H3C NETWORKING WA2620E 25506.1.862 H3C NETWORKING WA2620X 25506.1.863 H3C NETWORKING WA2610X 25506.1.864 H3C NETWORKING S58306002 25506.1.865 H3C NETWORKING S58306004 25506.1.866 H3C NETWORKING SecBladeLSU1IPSBEA0 25506.1.867 H3C NETWORKING SecBladeLST1IPS2A1 25506.1.868 H3C NETWORKING MSR930W 25506.1.869 H3C NETWORKING MSR930GW 25506.1.870 H3C NETWORKING SecPathF5000C 25506.1.871 H3C NETWORKING SecPathF5000S 25506.1.872 H3C NETWORKING S12510FDC 25506.1.873 H3C NETWORKING S12510FAC 25506.1.874 H3C NETWORKING S12510XDC 25506.1.875 H3C NETWORKING S12510XAC 25506.1.876 H3C NETWORKING S12508 25506.1.877 H3C NETWORKING S12518 25506.1.878 H3C NETWORKING S12516FDC 25506.1.879 H3C NETWORKING S12516FAC 25506.1.880 H3C NETWORKING S12516XDC 25506.1.881 H3C NETWORKING S12516XAC 25506.1.882 H3C NETWORKING MSR930GT 25506.1.883 H3C NETWORKING MSR930GTC 25506.1.884 H3C NETWORKING MSR930GUC 25506.1.885 H3C NETWORKING secpathF1000AG 25506.1.886 H3C NETWORKING secpathF1000CG 25506.1.887 H3C NETWORKING secpathF1000SG 25506.1.888 H3C NETWORKING SecBladeLSQ2FWBSCO 25506.1.889 H3C NETWORKING WA2620AGN 25506.1.890 H3C NETWORKING VSR 25506.1.891 H3C NETWORKING VSR1001 25506.1.892 H3C NETWORKING VSR1004 25506.1.893 H3C NETWORKING VSR1008 25506.1.894 H3C NETWORKING S5120S-28P-EI 25506.1.895 H3C NETWORKING S5120S-52P-EI 25506.1.896 H3C NETWORKING MSR930WiNetW 25506.1.897 H3C NETWORKING WA3628iAGNX 25506.1.898 H3C NETWORKING S2110 25506.1.899 H3C NETWORKING S2110-PWR 25506.1.900 H3C NETWORKING S2126 25506.1.901 H3C NETWORKING S2126-PWR 25506.1.902 H3C NETWORKING S2152 25506.1.903 H3C NETWORKING WX5540-WCM 25506.1.904 H3C NETWORKING WX5540-LSW 25506.1.905 H3C NETWORKING WX5520-WCM 25506.1.906 H3C NETWORKING WX5520-LSW 25506.1.907 H3C NETWORKING MSR930-WGT 25506.1.908 H3C NETWORKING ICG 5000T 25506.1.909 H3C NETWORKING ICG 6000 25506.1.910 H3C NETWORKING MSR26-30 25506.1.911 H3C NETWORKING MSR36-10 25506.1.912 H3C NETWORKING MSR36-60 25506.1.913 H3C NETWORKING MSR2600-10 25506.1.914 H3C NETWORKING MSR2600-10 25506.1.915 H3C NETWORKING MSR2600-17 25506.1.916 H3C NETWORKING ICG 3000D 25506.1.917 H3C NETWORKING ICG 3000E 25506.1.918 H3C NETWORKING SecBladeLSU1ADECEA0 25506.1.919 H3C NETWORKING SecBladeLST1ADE1A1 25506.1.920 H3C NETWORKING SR8804-X 25506.1.921 H3C NETWORKING SR8808-X 25506.1.922 H3C NETWORKING SR8812-X 25506.1.923 H3C NETWORKING CC710E 25506.1.924 H3C NETWORKING CC712E 25506.1.925 H3C NETWORKING S6800-32Q 25506.1.926 H3C NETWORKING S5008PV2-EI 25506.1.927 H3C NETWORKING S5024PV2-EI 25506.1.928 H3C NETWORKING S5048PV2-EI 25506.1.929 H3C NETWORKING S2610 25506.1.930 H3C NETWORKING S2610-PWR 25506.1.931 H3C NETWORKING S2626 25506.1.932 H3C NETWORKING S2626-PWR 25506.1.933 H3C NETWORKING S2652 25506.1.934 H3C NETWORKING Simware7BoxCen 25506.1.935 H3C NETWORKING Simware7BoxIRF 25506.1.936 H3C NETWORKING Simware7ChassisDevice 25506.1.937 H3C NETWORKING VSR1000 25506.1.938 H3C NETWORKING secpathM9000 25506.1.939 H3C NETWORKING secpathM9006 25506.1.940 H3C NETWORKING secpathM9010 25506.1.941 H3C NETWORKING secpathM9014 25506.1.942 H3C NETWORKING SecBladeIIINSQM1FWCEA0 25506.1.943 H3C NETWORKING WB521X 25506.1.944 H3C NETWORKING WB511X 25506.1.945 H3C NETWORKING ER3108G 25506.1.946 H3C NETWORKING ER3108GW 25506.1.947 H3C NETWORKING S5130-28S-EI 25506.1.948 H3C NETWORKING S5130-52S-EI 25506.1.949 H3C NETWORKING S5130-28F-EI 25506.1.950 H3C NETWORKING S5130-28S-PWR-EI 25506.1.951 H3C NETWORKING S5130-52S-PWR-EI 25506.1.952 H3C NETWORKING MSR3600-28 25506.1.953 H3C NETWORKING MSR3600-51 25506.1.954 H3C NETWORKING WA2612E 25506.1.955 H3C NETWORKING WA2622 25506.1.956 H3C NETWORKING S5110-10P 25506.1.957 H3C NETWORKING S5110-10P-PWR 25506.1.958 H3C NETWORKING S5110-28P 25506.1.959 H3C NETWORKING S5110-28P-PWR 25506.1.960 H3C NETWORKING S5110-52P 25506.1.961 H3C NETWORKING S5110-10P-D 25506.1.962 H3C NETWORKING S5110-10P-PWR-D 25506.1.963 H3C NETWORKING S5110-28P-D 25506.1.964 H3C NETWORKING S5110-28P-PWR-D 25506.1.965 H3C NETWORKING S5110-52P-D 25506.1.966 H3C NETWORKING WX5510 25506.1.967 H3C NETWORKING S5500-28SC-HI 25506.1.968 H3C NETWORKING S5500-52SC-HI 25506.1.969 H3C NETWORKING S5500-28SC-HI-D 25506.1.970 H3C NETWORKING S5500-52SC-HI-D 25506.1.971 H3C NETWORKING LA2608 25506.1.972 H3C NETWORKING S3110-10TP 25506.1.973 H3C NETWORKING S3110-10TP-PWR 25506.1.974 H3C NETWORKING S3110-26TP 25506.1.975 H3C NETWORKING S3110-26TP-PWR 25506.1.976 H3C NETWORKING S3110-52TP 25506.1.977 H3C NETWORKING WA2610H-GN 25506.1.978 H3C NETWORKING WA4620E-ACN 25506.1.979 H3C NETWORKING WA4620I-ACN 25506.1.980 H3C NETWORKING EWPX1MAC0 25506.1.981 H3C NETWORKING CRIMMAC1A 25506.1.982 H3C NETWORKING SecBladeIIILST1FW3B1 25506.1.983 H3C NETWORKING WA2620I-AGN-X 25506.1.984 H3C NETWORKING S3110-10TP-SI 25506.1.985 H3C NETWORKING S3110-26TP-SI 25506.1.986 H3C NETWORKING S3110-52TP-SI 25506.1.987 H3C NETWORKING S5110-10P-SI 25506.1.988 H3C NETWORKING S5110-28P-SI 25506.1.989 H3C NETWORKING S5110-52P-SI 25506.1.990 H3C NETWORKING S3100V2-52TP-WiNet 25506.1.991 H3C NETWORKING S5120-52P-WiNet 25506.1.992 H3C NETWORKING S5500-48P-WiNet 25506.1.993 H3C NETWORKING S5500-28F-WiNet 25506.1.994 H3C NETWORKING WA2620E-X 25506.1.995 H3C NETWORKING secpathL5000S 25506.1.996 H3C NETWORKING secpathL5000C 25506.1.997 H3C NETWORKING CC721E 25506.1.998 H3C NETWORKING S5820V2-52QF-U 25506.1.999 H3C NETWORKING secpathVFW1000 25506.1.1000 H3C NETWORKING S7003 25506.1.1001 H3C NETWORKING S7006 25506.1.1002 H3C NETWORKING secpathF100CSI 25506.1.1003 H3C NETWORKING WX3510E 25506.1.1004 H3C NETWORKING WX3540E 25506.1.1005 H3C NETWORKING SecBladeLSU3FWCEA0 25506.1.1006 H3C NETWORKING SecBladeLSU1NSCEA0 25506.1.1007 H3C NETWORKING SecBladeLST1FW3C1 25506.1.1008 H3C NETWORKING SecBladeLST1NSM2C1 25506.1.1009 H3C NETWORKING SecBladeLSX1FWCEA1 25506.1.1010 H3C NETWORKING SecBladeLSX1NSCEA1 25506.1.1011 H3C NETWORKING WA2620-AGN-C 25506.1.1012 H3C NETWORKING WA2610-GN 25506.1.1013 H3C NETWORKING WA2610-GNE 25506.1.1014 H3C NETWORKING MSR800 25506.1.1015 H3C NETWORKING MSR800(Wlan) 25506.1.1016 H3C NETWORKING MSR800-10 25506.1.1017 H3C NETWORKING MSR800-10(Wlan) 25506.1.1018 H3C NETWORKING MSR830(WiNet) 25506.1.1019 H3C NETWORKING MSR830-10(WiNet) 25506.1.1020 H3C NETWORKING MSR930-10(WiNet) 25506.1.1021 H3C NETWORKING S9810 25506.1.1022 H3C NETWORKING FlexNetwork B6300-XLG 25506.1.1023 H3C NETWORKING FlexNetwork B6300-GXG 25506.1.1024 H3C NETWORKING MSR900-E 25506.1.1025 H3C NETWORKING MSR900-E(Wlan) 25506.1.1026 H3C NETWORKING S5130-28S-EI-D 25506.1.1027 H3C NETWORKING S5130-52S-EI-D 25506.1.1028 H3C NETWORKING S5130-28F-EI-D 25506.1.1029 H3C NETWORKING S5130-28S-HPWR-EI-D 25506.1.1030 H3C NETWORKING S5130-52S-PWR-EI-D 25506.1.1031 H3C NETWORKING S5130-28S-HPWR-EI 25506.1.1032 H3C NETWORKING E528-X 25506.1.1033 H3C NETWORKING E552-X 25506.1.1034 H3C NETWORKING LSU1WCME0 25506.1.1035 H3C NETWORKING EWPX1WCME0 25506.1.1036 H3C NETWORKING SR8810-X-S 25506.1.1037 H3C NETWORKING SR8806-X-S 25506.1.1038 H3C NETWORKING SR8803-X-S 25506.1.1039 H3C NETWORKING SR8802-X-S 25506.1.1040 H3C NETWORKING SecPathF5020 25506.1.1041 H3C NETWORKING SecPathF5040 25506.1.1042 H3C NETWORKING RA100 25506.1.1043 H3C NETWORKING MSR930-LM 25506.1.1044 H3C NETWORKING MSR930-W-LM 25506.1.1045 H3C NETWORKING MSR2600-5-L-MC 25506.1.1046 H3C NETWORKING S5800-32C-EI 25506.1.1047 H3C NETWORKING S5800-56C-EI 25506.1.1048 H3C NETWORKING S5800-32C-PWR-EI 25506.1.1049 H3C NETWORKING S5800-56C-PWR-EI 25506.1.1050 H3C NETWORKING S5800-56C-EI-M 25506.1.1051 H3C NETWORKING WB521X-E 25506.1.1052 H3C NETWORKING WB521X-H 25506.1.1053 H3C NETWORKING WX2540E 25506.1.1054 H3C NETWORKING WX360 25506.1.1055 H3C NETWORKING WX361 25506.1.1056 H3C NETWORKING WA2610E-GNE 25506.1.1057 H3C NETWORKING SR6603-F 25506.1.1058 H3C NETWORKING SR6605-F 25506.1.1059 H3C NETWORKING SR6609-F 25506.1.1060 H3C NETWORKING S5560-30S-EI 25506.1.1061 H3C NETWORKING S5560-54S-EI 25506.1.1062 H3C NETWORKING S5560-30C-EI 25506.1.1063 H3C NETWORKING S5560-54C-EI 25506.1.1064 H3C NETWORKING S5560-30C-PWR-EI 25506.1.1065 H3C NETWORKING S5560-54C-PWR-EI 25506.1.1066 H3C NETWORKING S5560-54QS-EI 25506.1.1067 H3C NETWORKING RA200 25506.1.1068 H3C NETWORKING F1000CSI 25506.1.1069 H3C NETWORKING F100MSI 25506.1.1070 H3C NETWORKING F100ASI 25506.1.1071 H3C NETWORKING S5820V2-48S 25506.1.1072 H3C NETWORKING S6300-42QT 25506.1.1073 H3C NETWORKING S6300-42QF 25506.1.1074 H3C NETWORKING S6300-48S 25506.1.1075 H3C NETWORKING S6300-52QF 25506.1.1076 H3C NETWORKING FlexNetwork U8300-48G 25506.1.1077 H3C NETWORKING FlexNetwork U8300-48XLG-U 25506.1.1078 H3C NETWORKING S5008PV2-EI-PWR 25506.1.1079 H3C NETWORKING S5024PV2-EI-PWR 25506.1.1080 H3C NETWORKING S5110-52P-PWR 25506.1.1081 H3C NETWORKING S5110-52P-PWR-D 25506.1.1082 H3C NETWORKING NSC1000 25506.1.1083 H3C NETWORKING MS4308 25506.1.1084 H3C NETWORKING MS4308-PWR 25506.1.1085 H3C NETWORKING S5130-28TP-EI 25506.1.1086 H3C NETWORKING S5130-52TP-EI 25506.1.1087 H3C NETWORKING S5130-28TP-PWR-EI 25506.1.1088 H3C NETWORKING S5130-52TP-PWR-EI 25506.1.1089 H3C NETWORKING secpathF1020 25506.1.1090 H3C NETWORKING secpathF1030 25506.1.1091 H3C NETWORKING secpathF1050 25506.1.1092 H3C NETWORKING secpathF1060 25506.1.1093 H3C NETWORKING secpathF1070 25506.1.1094 H3C NETWORKING secpathF1080 25506.1.1095 H3C NETWORKING secpathVMSGVLB1000 25506.1.1096 H3C NETWORKING S5864-F 25506.1.1097 H3C NETWORKING S5864U-F 25506.1.1098 H3C NETWORKING S5864T-F 25506.1.1099 H3C NETWORKING S6348-F 25506.1.1100 H3C NETWORKING S6348T-F 25506.1.1101 H3C NETWORKING CR16006-F 25506.1.1102 H3C NETWORKING CR16010-F 25506.1.1103 H3C NETWORKING CR16014-F 25506.1.1104 H3C NETWORKING SecPathM9000Context 25506.1.1105 H3C NETWORKING ICG3000S 25506.1.1106 H3C NETWORKING S6800-4C 25506.1.1107 H3C NETWORKING S6800-2C 25506.1.1108 H3C NETWORKING SR8803-F 25506.1.1109 H3C NETWORKING SR8805-F 25506.1.1110 H3C NETWORKING SR8808-F 25506.1.1111 H3C NETWORKING SR8812-F 25506.1.1112 H3C NETWORKING S12516X-AF 25506.1.1113 H3C NETWORKING VAC1000 25506.1.1114 H3C NETWORKING WX8700 25506.1.1115 H3C NETWORKING S5560-30F-EI 25506.1.1116 H3C NETWORKING S5530C-EI-D 25506.1.1117 H3C NETWORKING S5554C-EI-D 25506.1.1118 H3C NETWORKING S5530C-PWR-EI-D 25506.1.1119 H3C NETWORKING S5554C-PWR-EI-D 25506.1.1120 H3C NETWORKING S5530F-EI-D 25506.1.1121 H3C NETWORKING S5130-28S-SI 25506.1.1122 H3C NETWORKING S5130-52S-SI 25506.1.1123 H3C NETWORKING S5130-28F-SI 25506.1.1124 H3C NETWORKING S5560-28S-SI 25506.1.1125 H3C NETWORKING S5560-52S-SI 25506.1.1126 H3C NETWORKING S5560-28F-SI 25506.1.1127 H3C NETWORKING LA4608E 25506.1.1128 H3C NETWORKING WA4320-ACN 25506.1.1129 H3C NETWORKING WA4320i-ACN 25506.1.1130 H3C NETWORKING WA4320i-X 25506.1.1131 H3C NETWORKING WA4320-TS 25506.1.1132 H3C NETWORKING WA4320-TQ 25506.1.1133 H3C NETWORKING WA4320H-ACN 25506.1.1134 H3C NETWORKING S10506 25506.1.1135 H3C NETWORKING S10510 25506.1.1136 H3C NETWORKING S7606-X 25506.1.1137 H3C NETWORKING S7610-X 25506.1.1138 H3C NETWORKING MSR930 25506.1.1139 H3C NETWORKING MSR930 25506.1.1140 H3C NETWORKING SecPathACG1000E 25506.1.1141 H3C NETWORKING SecPathACG1000A 25506.1.1142 H3C NETWORKING SecPathACG1000M 25506.1.1143 H3C NETWORKING SecPathACG1000S 25506.1.1144 H3C NETWORKING SecPathACG1000C 25506.1.1145 H3C NETWORKING VBRAS1000 25506.1.1146 H3C NETWORKING VSR1000P 25506.1.1147 H3C NETWORKING VBRAS1000P 25506.1.1148 H3C NETWORKING S12508X-AF 25506.1.1149 H3C NETWORKING LA3616S-GM 25506.1.1150 H3C NETWORKING LA3616S-GT 25506.1.1151 H3C NETWORKING LA3616E-GM 25506.1.1152 H3C NETWORKING WAP722E 25506.1.1153 H3C NETWORKING WAP722 25506.1.1154 H3C NETWORKING ER2100n 25506.1.1155 H3C NETWORKING ER2100V2 25506.1.1156 H3C NETWORKING WX5560H 25506.1.1157 H3C NETWORKING WX5580H 25506.1.1158 H3C NETWORKING WAP621 25506.1.1159 H3C NETWORKING MSR810-W 25506.1.1160 H3C NETWORKING ER3260G2 25506.1.1161 H3C NETWORKING ER5100G2 25506.1.1162 H3C NETWORKING ER5200G2 25506.1.1163 H3C NETWORKING ER6300G2 25506.1.1164 H3C NETWORKING ER8300G2 25506.1.1165 H3C NETWORKING ER8300G2X 25506.1.1166 H3C NETWORKING S9904 25506.1.1167 H3C NETWORKING S9910 25506.1.1168 H3C NETWORKING SecBladeLSU1ADECEA01 25506.1.1169 H3C NETWORKING SecBladeLSXM1ADECEA1 25506.1.1170 H3C NETWORKING S6900-2F 25506.1.1171 H3C NETWORKING S6900-4F 25506.1.1172 H3C NETWORKING S6348S-F 25506.1.1173 H3C NETWORKING S6364-F 25506.1.1174 H3C NETWORKING S5848-F 25506.1.1175 H3C NETWORKING S1808G 25506.1.1176 H3C NETWORKING S1824G 25506.1.1177 H3C NETWORKING S1848G 25506.1.1178 H3C NETWORKING SecPathACG1010 25506.1.1179 H3C NETWORKING SecPathACG1020 25506.1.1180 H3C NETWORKING SecPathACG1030 25506.1.1181 H3C NETWORKING SecPathACG1040 25506.1.1182 H3C NETWORKING WX3510H 25506.1.1183 H3C NETWORKING WX3520H 25506.1.1184 H3C NETWORKING WX3540H 25506.1.1185 H3C NETWORKING WX5540H 25506.1.1186 H3C NETWORKING LA3608E 25506.1.1187 H3C NETWORKING LA3608E-DB 25506.1.1188 H3C NETWORKING S5130-30S-HI 25506.1.1189 H3C NETWORKING S5130-54S-HI 25506.1.1190 H3C NETWORKING S5130-30C-HI 25506.1.1191 H3C NETWORKING S5130-54C-HI 25506.1.1192 H3C NETWORKING S5130-30C-PWR-HI 25506.1.1193 H3C NETWORKING S5130-54C-PWR-HI 25506.1.1194 H3C NETWORKING S5130-54QS-HI 25506.1.1195 H3C NETWORKING S5130-30F-HI 25506.1.1196 H3C NETWORKING S12516F-AF 25506.1.1197 H3C NETWORKING S12508F-AF 25506.1.1198 H3C NETWORKING S12504X-AF 25506.1.1199 H3C NETWORKING S12504F-AF 25506.1.1200 H3C NETWORKING MS4100-10TP 25506.1.1201 H3C NETWORKING MS4100-10TP-PWR 25506.1.1202 H3C NETWORKING MS4100-26TP 25506.1.1203 H3C NETWORKING MS4100-26TP-PWR 25506.1.1204 H3C NETWORKING MS4300-52P 25506.1.1205 H3C NETWORKING MS4300-28P 25506.1.1206 H3C NETWORKING IE4100-12TP 25506.1.1207 H3C NETWORKING IE4100-20TP 25506.1.1208 H3C NETWORKING IE4100-28F 25506.1.1209 H3C NETWORKING IE4300-28P 25506.1.1210 H3C NETWORKING S6800-54QF 25506.1.1211 H3C NETWORKING MS4320-28S 25506.1.1212 H3C NETWORKING MS4320-52S 25506.1.1213 H3C NETWORKING MS4320-28F 25506.1.1214 H3C NETWORKING MS4320-28S-PWR 25506.1.1215 H3C NETWORKING MS4520-28TP 25506.1.1216 H3C NETWORKING MS4520-30F 25506.1.1217 H3C NETWORKING LA4310 25506.1.1218 H3C NETWORKING LA4310V 25506.1.1219 H3C NETWORKING LA4320 25506.1.1220 H3C NETWORKING LA4320V 25506.1.1221 H3C NETWORKING WA4320X 25506.1.1222 H3C NETWORKING LA4320X 25506.1.1223 H3C NETWORKING SecBlade4NSQM1FWDFG0 25506.1.1224 H3C NETWORKING WX5510EV7 25506.1.1225 H3C NETWORKING WX5540EV7 25506.1.1226 H3C NETWORKING SecPathL1000E 25506.1.1227 H3C NETWORKING SecPathL1000M 25506.1.1228 H3C NETWORKING SecPathL1000S 25506.1.1229 H3C NETWORKING SecPathF5000Context 25506.1.1230 H3C NETWORKING SecPathF1000Context 25506.1.1231 H3C NETWORKING SecPathL5000Context 25506.1.1232 H3C NETWORKING SecPathL1000Context 25506.1.1233 H3C NETWORKING WA4320-TQ-V 25506.1.1234 H3C NETWORKING MSR810-W-DB 25506.1.1235 H3C NETWORKING MSR810-LM 25506.1.1236 H3C NETWORKING MSR810-W-LM 25506.1.1237 H3C NETWORKING S6820-32H 25506.1.1238 H3C NETWORKING S6820-54HF 25506.1.1239 H3C NETWORKING MSR5620 25506.1.1240 H3C NETWORKING MSR3620DP 25506.1.1241 H3C NETWORKING MSR810-W-WiNet 25506.1.1242 H3C NETWORKING MSR810-LM-WiNet 25506.1.1243 H3C NETWORKING RA100AC 25506.1.1244 H3C NETWORKING MSR3600-28-WiNet 25506.1.1245 H3C NETWORKING MSR3620-WiNet 25506.1.1246 H3C NETWORKING S6800-54QT 25506.1.1247 H3C NETWORKING S12504-S 25506.1.1248 H3C NETWORKING S12506-S 25506.1.1249 H3C NETWORKING S12510-S 25506.1.1250 H3C NETWORKING S12508-S 25506.1.1251 H3C NETWORKING S12512-S 25506.1.1252 H3C NETWORKING S515024SPWREI 25506.1.1253 H3C NETWORKING S5150X-16S-EI 25506.1.1254 H3C NETWORKING S5150X-16S-TEI 25506.1.1255 H3C NETWORKING SecPathF100AG2 25506.1.1256 H3C NETWORKING SecPathF1000CG2 25506.1.1257 H3C NETWORKING UIS M8310-48G 25506.1.1258 H3C NETWORKING UIS M8320-48XG 25506.1.1259 H3C NETWORKING UIS M6300-XLG 25506.1.1260 H3C NETWORKING MSR810 25506.1.1261 H3C NETWORKING SecPathW2001 25506.1.1262 H3C NETWORKING SecPathW2005 25506.1.1263 H3C NETWORKING SecPathW2010 25506.1.1264 H3C NETWORKING SecPathW2020 25506.1.1265 H3C NETWORKING SecPathW2040 25506.1.1266 H3C NETWORKING SecPathW2080 25506.1.1267 H3C NETWORKING SecPathW2200 25506.1.1268 H3C NETWORKING SecPathW1020D 25506.1.1269 H3C NETWORKING SecPathW1040D 25506.1.1270 H3C NETWORKING SecPathW1200D 25506.1.1271 H3C NETWORKING SecPathA2020 25506.1.1272 H3C NETWORKING SecPathA2100 25506.1.1273 H3C NETWORKING SecPathD2020 25506.1.1274 H3C NETWORKING SecPathD2050 25506.1.1275 H3C NETWORKING S5560-34C-EI 25506.1.1276 H3C NETWORKING S5130-34C-HI 25506.1.1277 H3C NETWORKING MS4120-26TP 25506.1.1278 H3C NETWORKING WA4330ACN 25506.1.1279 H3C NETWORKING MS4320S-28F 25506.1.1280 H3C NETWORKING MS4320S-28P 25506.1.1281 H3C NETWORKING MS4520-28S 25506.1.1282 H3C NETWORKING SecBlade3Context 25506.1.1283 H3C NETWORKING MSR26-30-R 25506.1.1284 H3C NETWORKING MSR36-10-AC-R 25506.1.1285 H3C NETWORKING MSR36-20-AC-R 25506.1.1286 H3C NETWORKING MSR36-40-R 25506.1.1287 H3C NETWORKING MSR36-60-R 25506.1.1288 H3C NETWORKING MSR56-60-R 25506.1.1289 H3C NETWORKING MSR56-80-R 25506.1.1290 H3C NETWORKING MSR930-R 25506.1.1291 H3C NETWORKING MSR930-W-R 25506.1.1292 H3C NETWORKING MSR2600-10-R 25506.1.1293 H3C NETWORKING WX3010EV7 25506.1.1294 H3C NETWORKING WX3024EV7 25506.1.1295 H3C NETWORKING WCMX20 25506.1.1296 H3C NETWORKING S5560-32C-HI 25506.1.1297 H3C NETWORKING S5560-56C-HI 25506.1.1298 H3C NETWORKING S5560-56C-PWR-HI 25506.1.1299 H3C NETWORKING S12502X-AF 25506.1.1300 H3C NETWORKING NS228 25506.1.1301 H3C NETWORKING NS252 25506.1.1302 H3C NETWORKING SecBladeFW 25506.1.1303 H3C NETWORKING SecBladeADE 25506.1.1304 H3C NETWORKING SecBladeIIILSUM1FWCEAB0 25506.1.1305 H3C NETWORKING S5130-28PS-EI 25506.1.1306 H3C NETWORKING S7506E-X 25506.1.1307 H3C NETWORKING S7510E-X 25506.1.1308 H3C NETWORKING S7504EXS 25506.1.1309 H3C NETWORKING S7502EXS 25506.1.1310 H3C NETWORKING WA4320-ACN-PI 25506.1.1311 H3C NETWORKING WA4320-ACN-SI 25506.1.1312 H3C NETWORKING NER324 25506.1.1313 H3C NETWORKING NER214W 25506.1.1314 H3C NETWORKING WX2540EV7 25506.1.1315 H3C NETWORKING WX2540H 25506.1.1316 H3C NETWORKING WX4320-ACN-C 25506.1.1317 H3C NETWORKING WX4320 25506.1.1318 H3C NETWORKING WAP712 25506.1.1319 H3C NETWORKING UIS M8380-C 25506.1.1320 H3C NETWORKING UIS M8380 25506.1.1325 H3C NETWORKING LSU1WCME0V7 25506.1.1326 H3C NETWORKING EWPX1WCME0V7 25506.1.1338 H3C NETWORKING IE4100-12TP-LI 25506.1.1339 H3C NETWORKING IE4100-12TP-PWR-LI 25506.1.1365 H3C NETWORKING CR16004-X 25506.1.1366 H3C NETWORKING CR16008-X 25506.1.1367 H3C NETWORKING CR16016-X 25506.3.1.9.4.1065 H3C NETWORKING SR07SRPUD3 25506.3.1.9.4.1066 H3C NETWORKING SR07MPUA3 25506.11.1.1 Hewlett-Packard NETWORKING A7502 25506.11.1.2 Hewlett-Packard NETWORKING A7503S 25506.11.1.3 Hewlett-Packard NETWORKING A7503 25506.11.1.4 Hewlett-Packard NETWORKING A7506 25506.11.1.5 Hewlett-Packard NETWORKING A7506V 25506.11.1.6 Hewlett-Packard NETWORKING A7510 25506.11.1.7 Hewlett-Packard NETWORKING A36002POLT 25506.11.1.8 Hewlett-Packard NETWORKING V1905-24 25506.11.1.9 Hewlett-Packard NETWORKING V1905-24-PoE 25506.11.1.10 Hewlett-Packard NETWORKING V1905-48 25506.11.1.11 Hewlett-Packard NETWORKING A5120-16G-SI 25506.11.1.12 Hewlett-Packard NETWORKING A5120-24G-SI 25506.11.1.13 Hewlett-Packard NETWORKING A5120-48G-SI 25506.11.1.14 Hewlett-Packard NETWORKING A5120-24G-PPoESI 25506.11.1.15 Hewlett-Packard NETWORKING A5120-24G-PoESI 25506.11.1.16 Hewlett-Packard NETWORKING A5800-24G 25506.11.1.17 Hewlett-Packard NETWORKING A5800-24G-PoE+ 25506.11.1.18 Hewlett-Packard NETWORKING A5800-48G 25506.11.1.19 Hewlett-Packard NETWORKING A5800-48G-PoE+ 25506.11.1.20 Hewlett-Packard NETWORKING A5800-24G-SFP 25506.11.1.21 Hewlett-Packard NETWORKING A5800-48G-PoE+ 25506.11.1.22 Hewlett-Packard NETWORKING A5820X14XGSFPPlus 25506.11.1.23 Hewlett-Packard NETWORKING A5820X24XGSFPPlus 25506.11.1.24 Hewlett-Packard NETWORKING A5500-24G-EI 25506.11.1.25 Hewlett-Packard NETWORKING A5500-48G-EI 25506.11.1.26 Hewlett-Packard NETWORKING A5500-24G-PoE+EI 25506.11.1.27 Hewlett-Packard NETWORKING A5500-48G-PoE+EI 25506.11.1.28 Hewlett-Packard NETWORKING A5500-24G-SFPEI 25506.11.1.29 Hewlett-Packard NETWORKING A5500-24G-SI 25506.11.1.30 Hewlett-Packard NETWORKING A5500-48G-SI 25506.11.1.31 Hewlett-Packard NETWORKING A5500-24G-PoE+SI 25506.11.1.32 Hewlett-Packard NETWORKING A5500-48G-PoE+SI 25506.11.1.33 Hewlett-Packard NETWORKING A5120-24G-EI 25506.11.1.34 Hewlett-Packard NETWORKING A5120-48G-EI 25506.11.1.35 Hewlett-Packard NETWORKING A5120-24G-PoE+EI 25506.11.1.36 Hewlett-Packard NETWORKING A5120-48G-PoE+EI 25506.11.1.37 Hewlett-Packard NETWORKING A5120-24G-EI 25506.11.1.38 Hewlett-Packard NETWORKING A5120-48G-EI 25506.11.1.39 Hewlett-Packard NETWORKING 9505 25506.11.1.40 Hewlett-Packard NETWORKING 9508V 25506.11.1.41 Hewlett-Packard NETWORKING 9508 25506.11.1.42 Hewlett-Packard NETWORKING 9512 25506.11.1.43 Hewlett-Packard NETWORKING 12508 25506.11.1.44 Hewlett-Packard NETWORKING 12518 25506.11.1.45 Hewlett-Packard NETWORKING 12504AC 25506.11.1.46 Hewlett-Packard NETWORKING A5800AF-48G 25506.11.1.47 Hewlett-Packard NETWORKING A5820AF-24XG 25506.11.1.51 Hewlett-Packard NETWORKING 6125GXG 25506.11.1.52 Hewlett-Packard NETWORKING A3100-8SI 25506.11.1.53 Hewlett-Packard NETWORKING A3100-16SI 25506.11.1.54 Hewlett-Packard NETWORKING A3100-24SI 25506.11.1.55 Hewlett-Packard NETWORKING A3100-8-EI 25506.11.1.56 Hewlett-Packard NETWORKING A3100-16-EI 25506.11.1.57 Hewlett-Packard NETWORKING A3100-24-EI 25506.11.1.58 Hewlett-Packard NETWORKING A3100-8-PoE-EI 25506.11.1.59 Hewlett-Packard NETWORKING A3100-16-PoE-EI 25506.11.1.60 Hewlett-Packard NETWORKING A3100-24-PoE-EI 25506.11.1.61 Hewlett-Packard NETWORKING A5800-24G-TAA 25506.11.1.62 Hewlett-Packard NETWORKING A5800-24G-PoE+TAA 25506.11.1.63 Hewlett-Packard NETWORKING A5800-24G-SFPTAA 25506.11.1.64 Hewlett-Packard NETWORKING A5800-48G-TAA 25506.11.1.65 Hewlett-Packard NETWORKING A5800-48G-PoE+TAA 25506.11.1.66 Hewlett-Packard NETWORKING A5800-48G-PoE+TAA 25506.11.1.67 Hewlett-Packard NETWORKING A5820X14XGSFPPlusTAA 25506.11.1.68 Hewlett-Packard NETWORKING A5820X24XGSFPPlusTAA 25506.11.1.69 Hewlett-Packard NETWORKING A5120-24G-EITAA 25506.11.1.70 Hewlett-Packard NETWORKING A5120-48G-EITAA 25506.11.1.71 Hewlett-Packard NETWORKING A5120-24G-PoE+EITAA 25506.11.1.72 Hewlett-Packard NETWORKING A5120-48G-PoE+EITAA 25506.11.1.73 Hewlett-Packard NETWORKING A5500-24G-SFPEITAA 25506.11.1.74 Hewlett-Packard NETWORKING A5500-24G-EITAA 25506.11.1.75 Hewlett-Packard NETWORKING A5500-48G-EITAA 25506.11.1.76 Hewlett-Packard NETWORKING A5500-24G-PoE+EITAA 25506.11.1.77 Hewlett-Packard NETWORKING A5500-48G-PoE+EITAA 25506.11.1.78 Hewlett-Packard NETWORKING A5830AF-24XG 25506.11.1.79 Hewlett-Packard NETWORKING A5830AF-48G 25506.11.1.80 Hewlett-Packard NETWORKING A5830AF-96G 25506.11.1.81 Hewlett-Packard NETWORKING V1910-16G 25506.11.1.82 Hewlett-Packard NETWORKING V1910-24G 25506.11.1.83 Hewlett-Packard NETWORKING V1910-24G-PoE365W 25506.11.1.84 Hewlett-Packard NETWORKING V1910-24G-PoE170W 25506.11.1.85 Hewlett-Packard NETWORKING V1910-48G 25506.11.1.86 Hewlett-Packard NETWORKING 10504 25506.11.1.87 Hewlett-Packard NETWORKING 10508 25506.11.1.88 Hewlett-Packard NETWORKING 10508V 25506.11.1.89 Hewlett-Packard NETWORKING 10512 25506.11.1.90 Hewlett-Packard NETWORKING A3600-24-V2EI 25506.11.1.91 Hewlett-Packard NETWORKING A3600-48-V2EI 25506.11.1.92 Hewlett-Packard NETWORKING A3600-24-PoE+-V2EI 25506.11.1.93 Hewlett-Packard NETWORKING A3600-48-PoE+-V2EI 25506.11.1.94 Hewlett-Packard NETWORKING A3600-24-SFP-V2EI 25506.11.1.95 Hewlett-Packard NETWORKING A3600-24-V2SI 25506.11.1.96 Hewlett-Packard NETWORKING A3600-48-V2SI 25506.11.1.97 Hewlett-Packard NETWORKING A3600-24-PoE+-V2SI 25506.11.1.98 Hewlett-Packard NETWORKING A3600-48-PoE+-V2SI 25506.11.1.99 Hewlett-Packard NETWORKING A3100-48V2 25506.11.1.100 Hewlett-Packard NETWORKING 5900AF-48XG4QSFPPlus 25506.11.1.101 Hewlett-Packard NETWORKING A5500-24G-4SFPHI 25506.11.1.102 Hewlett-Packard NETWORKING A5500-48G-4SFPHI 25506.11.1.103 Hewlett-Packard NETWORKING 6125G 25506.11.1.104 Hewlett-Packard NETWORKING A5120-8GSI 25506.11.1.105 Hewlett-Packard NETWORKING A5120-8GPoE+SI 25506.11.1.106 Hewlett-Packard NETWORKING A5120-8GPPoE+SI 25506.11.1.107 Hewlett-Packard NETWORKING A5120AF-48G-HI 25506.11.1.108 Hewlett-Packard NETWORKING 1250-4DC 25506.11.1.109 Hewlett-Packard NETWORKING 1250-8DC 25506.11.1.110 Hewlett-Packard NETWORKING 1251-8DC 25506.11.1.111 Hewlett-Packard NETWORKING 1250-8AC 25506.11.1.112 Hewlett-Packard NETWORKING 1251-8AC 25506.11.1.113 Hewlett-Packard NETWORKING 5900AF-48XGT4QSFPPlus 25506.11.1.114 Hewlett-Packard NETWORKING 1910-8G 25506.11.1.115 Hewlett-Packard NETWORKING 1910-8GPoE+65W 25506.11.1.116 Hewlett-Packard NETWORKING 1910-8GPoE+180W 25506.11.1.117 Hewlett-Packard NETWORKING 5830AF-48G-TAA 25506.11.1.118 Hewlett-Packard NETWORKING 5830AF-96G-TAA 25506.11.1.119 Hewlett-Packard NETWORKING 7508H 25506.11.1.120 Hewlett-Packard NETWORKING 5900AF-48G-4XG2QSFPPlus 25506.11.1.121 Hewlett-Packard NETWORKING 5500-48G-PoE+4SFPHI 25506.11.1.122 Hewlett-Packard NETWORKING 5500-24G-PoE+4SFPHI 25506.11.1.123 Hewlett-Packard NETWORKING 5500-24G-SFPHI 25506.11.1.124 Hewlett-Packard NETWORKING 1250-4ACV7 25506.11.1.125 Hewlett-Packard NETWORKING 1250-4DCV7 25506.11.1.126 Hewlett-Packard NETWORKING 1250-8ACV7 25506.11.1.127 Hewlett-Packard NETWORKING 1250-8DCV7 25506.11.1.128 Hewlett-Packard NETWORKING 1251-8ACV7 25506.11.1.129 Hewlett-Packard NETWORKING 1251-8DCV7 25506.11.1.130 Hewlett-Packard NETWORKING 5900AF-48XG4QSFPPlusTAA 25506.11.1.131 Hewlett-Packard NETWORKING 5920AF-24XGTAA 25506.11.1.132 Hewlett-Packard NETWORKING V1910-8 25506.11.1.133 Hewlett-Packard NETWORKING V1910-8PoE+ 25506.11.1.134 Hewlett-Packard NETWORKING V1910-24 25506.11.1.135 Hewlett-Packard NETWORKING V1910-24PoE+ 25506.11.1.136 Hewlett-Packard NETWORKING V1910-48 25506.11.1.137 Hewlett-Packard NETWORKING 6125XGXLG 25506.11.1.138 Hewlett-Packard NETWORKING 11908V 25506.11.1.139 Hewlett-Packard NETWORKING 5500-48G-PoE+-4SFP-HI-TAA-2Slot 25506.11.1.140 Hewlett-Packard NETWORKING 5500-24G-PoE+-4SFP-HI-TAA-2Slot 25506.11.1.141 Hewlett-Packard NETWORKING 5500-24G-SFP-HI-TAA-2Slot 25506.11.1.142 Hewlett-Packard NETWORKING Moonshot-45XGc 25506.11.1.143 Hewlett-Packard NETWORKING 12910-AC 25506.11.1.144 Hewlett-Packard NETWORKING 5930-32Q-SFP+ 25506.11.1.145 Hewlett-Packard NETWORKING FF 5930-32QSFP+ TAA 25506.11.1.146 Hewlett-Packard NETWORKING FF 7904 25506.11.1.147 Hewlett-Packard NETWORKING 12916-AC 25506.11.1.148 Hewlett-Packard NETWORKING 12916-DC 25506.11.1.149 Hewlett-Packard NETWORKING FF 5900CP-48XG-4QSFP+ 25506.11.1.150 Hewlett-Packard NETWORKING 5900CP-48XG-4QSFP+ 8Gb FC B-F 25506.11.1.151 Hewlett-Packard NETWORKING 6125-XLG-TAA 25506.11.1.152 Hewlett-Packard NETWORKING 6125-GXG-TAA 25506.11.1.153 Hewlett-Packard NETWORKING 6125-G-TAA 25506.11.1.154 Hewlett-Packard NETWORKING 5120-24G-4SFP-XI-2Slot 25506.11.1.155 Hewlett-Packard NETWORKING 5120-48G-4SFP-XI-2Slot 25506.11.1.156 Hewlett-Packard NETWORKING 5120-24G-PoE-Plus-4SFP-XI-2Slot 25506.11.1.157 Hewlett-Packard NETWORKING 5120-48G-PoE-Plus-4SFP-XI-2Slot 25506.11.1.158 Hewlett-Packard NETWORKING 5120-24G-4SFP-XI-TAA-2Slot 25506.11.1.159 Hewlett-Packard NETWORKING 5120-48G-4SFP-XI-TAA-2Slot 25506.11.1.160 Hewlett-Packard NETWORKING 5120-24G-PoE-Plus-4SFP-XI-TAA-2Slot 25506.11.1.161 Hewlett-Packard NETWORKING 5120-48G-PoE-Plus-4SFP-XI-TAA-2Slot 25506.11.1.162 Hewlett-Packard NETWORKING 1920-8G 25506.11.1.163 Hewlett-Packard NETWORKING 1920-8G-PoE+(65W) 25506.11.1.164 Hewlett-Packard NETWORKING 1920-8G-PoE+(180W) 25506.11.1.165 Hewlett-Packard NETWORKING 1920-16G 25506.11.1.166 Hewlett-Packard NETWORKING 1920-24G 25506.11.1.167 Hewlett-Packard NETWORKING 1920-24G-PoE+(180W) 25506.11.1.168 Hewlett-Packard NETWORKING 1920-24G-PoE+(370W) 25506.11.1.169 Hewlett-Packard NETWORKING 1920-48G 25506.11.1.170 Hewlett-Packard NETWORKING 1920-48G-PoE+(370W) 25506.11.1.171 Hewlett-Packard NETWORKING FF 5700-40XG-2QSFP+ TAA 25506.11.1.172 Hewlett-Packard NETWORKING FF 5700-40XG-2QSFP+ 25506.11.1.173 Hewlett-Packard NETWORKING FF 5700-32XGT-8XG-2QSFP+ TAA 25506.11.1.174 Hewlett-Packard NETWORKING FF 5700-32XGT-8XG-2QSFP+ 25506.11.1.175 Hewlett-Packard NETWORKING FF 5700-48G-4XG-2QSFP+ TAA 25506.11.1.176 Hewlett-Packard NETWORKING FF 5700-48G-4XG-2QSFP+ 25506.11.1.177 Hewlett-Packard NETWORKING 1620-8G 25506.11.1.178 Hewlett-Packard NETWORKING 1620-24G 25506.11.1.179 Hewlett-Packard NETWORKING 1620-48G 25506.11.1.180 Hewlett-Packard NETWORKING 1950-24G-2SFP+-2XGT 25506.11.1.181 Hewlett-Packard NETWORKING 1950-48G-2SFP+-2XGT 25506.11.1.182 Hewlett-Packard NETWORKING 1950-24G-2SFP+-2XGT-PoE+ 25506.11.1.183 Hewlett-Packard NETWORKING 1950-48G-2SFP+-2XGT-PoE+ 25506.11.1.184 Hewlett-Packard NETWORKING 5130-24G-4SFP+ EI 25506.11.1.185 Hewlett-Packard NETWORKING 5130-24G-SFP-4SFP+ EI 25506.11.1.186 Hewlett-Packard NETWORKING 5130-48G-4SFP+ EI 25506.11.1.187 Hewlett-Packard NETWORKING 5130-24G-PoE+-4SFP+(180W) EI 25506.11.1.188 Hewlett-Packard NETWORKING 5130-24G-PoE+-4SFP+(370W) EI 25506.11.1.189 Hewlett-Packard NETWORKING 5130-48G-PoE+-4SFP+(370W) EI 25506.11.1.190 Hewlett-Packard NETWORKING 5130-24G-2SFP+-2XGT EI 25506.11.1.191 Hewlett-Packard NETWORKING 5130-48G-2SFP+-2XGT EI 25506.11.1.192 Hewlett-Packard NETWORKING 5130-24G-PoE+-2SFP+-2XGT(370W) EI 25506.11.1.193 Hewlett-Packard NETWORKING 5130-48G-PoE+-2SFP+-2XGT(370W) EI 25506.11.1.194 Hewlett-Packard NETWORKING 5130-24G-4SFP+ EI TAA-compliant 25506.11.1.195 Hewlett-Packard NETWORKING 5130-24G-SFP-4SFP+ EI TAA-compliant 25506.11.1.196 Hewlett-Packard NETWORKING 5130-48G-4SFP+ EI TAA-compliant 25506.11.1.197 Hewlett-Packard NETWORKING 5130-24G-PoE+-4SFP+(180W) EI TAA-compliant 25506.11.1.198 Hewlett-Packard NETWORKING 5130-24G-PoE+-4SFP+(370W) EI TAA-compliant 25506.11.1.199 Hewlett-Packard NETWORKING 5130-48G-PoE+-4SFP+(370W) EI TAA-compliant 25506.11.1.200 Hewlett-Packard NETWORKING 5130-24G-2SFP+-2XGT EI TAA-compliant 25506.11.1.201 Hewlett-Packard NETWORKING 5130-48G-2SFP+-2XGT EI TAA-compliant 25506.11.1.202 Hewlett-Packard NETWORKING 5130-24G-PoE+-2SFP+-2XGT(370W) EI TAA-compliant 25506.11.1.203 Hewlett-Packard NETWORKING 5130-48G-PoE+-2SFP+-2XGT(370W) EI TAA-compliant 25506.11.1.204 Hewlett-Packard NETWORKING FF 7910 25506.11.1.205 Hewlett-Packard NETWORKING 5900AF-48G-4XG-2QSFP+ TAA 25506.11.1.206 Hewlett-Packard NETWORKING 5900AF-48XGT-4QSFP+ TAA 25506.11.1.207 Hewlett-Packard NETWORKING FF 5900CP-48XG-4QSFP+ TAA 25506.11.1.208 Hewlett-Packard NETWORKING 5130-24G-4SFP+ EI Brazil 25506.11.1.209 Hewlett-Packard NETWORKING 5130-48G-4SFP+ EI Brazil 25506.11.1.210 Hewlett-Packard NETWORKING 5130-24G-PoE+-4SFP+ (370W) EI Brazil 25506.11.1.211 Hewlett-Packard NETWORKING 5130-48G-PoE+-4SFP+ (370W) EI Brazil 25506.11.1.212 Hewlett-Packard NETWORKING ThunderBird 25506.11.1.213 Hewlett-Packard NETWORKING FF 12916E 25506.11.1.214 Hewlett-Packard NETWORKING NJ5000-5G-PoE+ Wall jack 25506.11.1.215 Hewlett-Packard NETWORKING 5510-24G-4SFP+ HI 1 Interface Slot 25506.11.1.216 Hewlett-Packard NETWORKING 5510-48G-4SFP+ HI 1 Interface Slot 25506.11.1.217 Hewlett-Packard NETWORKING 5510-24G-PoE+-4SFP+ HI 1 Interface Slot 25506.11.1.218 Hewlett-Packard NETWORKING 5510-48G-PoE+-4SFP+ HI 1 Interface Slot 25506.11.1.219 Hewlett-Packard NETWORKING 5510-24G-SFP-4SFP+ HI 1 Interface Slot 25506.11.1.220 Hewlett-Packard NETWORKING 5510-24G-4SFP+ HI TAA-compliant 1 Interface Slot 25506.11.1.221 Hewlett-Packard NETWORKING 5510-48G-4SFP+ HI TAA-compliant 1 Interface Slot 25506.11.1.222 Hewlett-Packard NETWORKING 5510-24G-PoE+-4SFP+ HI TAA-compliant 1 Interface Slot 25506.11.1.223 Hewlett-Packard NETWORKING 5510-48G-PoE+-4SFP+ HI TAA-compliant 1 Interface Slot 25506.11.1.224 Hewlett-Packard NETWORKING 5510-24G-SFP-4SFP+ HI TAA-compliant 1 Interface Slot 25506.11.1.225 Hewlett-Packard NETWORKING FF 12910-AC TAA 25506.11.1.226 Hewlett-Packard NETWORKING FF 7904 TAA 25506.11.1.227 Hewlett-Packard NETWORKING FF 7910 TAA 25506.11.1.228 Hewlett-Packard NETWORKING 6127XLG 25506.11.1.229 Hewlett-Packard NETWORKING FF 5930-2Slot+2QSFP+Switch 25506.11.1.230 Hewlett-Packard NETWORKING FF 5930-2Slot+2QSFP+TAA 25506.11.1.231 Hewlett-Packard NETWORKING FF 5930-4Slot 25506.11.1.232 Hewlett-Packard NETWORKING FF 5930-4Slot TAA 25506.11.1.233 Hewlett-Packard NETWORKING 6127XLG-TAA 25506.11.1.234 Hewlett-Packard NETWORKING 1950-12X-GT-4SFP-Plus 25506.11.1.235 Hewlett-Packard NETWORKING FF 12916E TAA 25506.11.1.236 Hewlett-Packard NETWORKING FF 12908E 25506.11.1.237 Hewlett-Packard NETWORKING FF 12908E TAA 25506.11.1.238 Hewlett-Packard NETWORKING Moonshot-45Gc-R10 25506.11.1.239 Hewlett-Packard NETWORKING Moonshot-45XGc-R16 25506.11.1.240 Hewlett-Packard NETWORKING Moonshot-180XGc-R16 25506.11.1.241 Hewlett-Packard NETWORKING Moonshot-180XGc-R40 25506.11.1.242 Hewlett-Packard NETWORKING FF 12904E 25506.11.1.243 Hewlett-Packard NETWORKING FF 12904E TAA 25506.11.1.244 Hewlett-Packard NETWORKING 5130 24G 4SFP+ 1-slot HI 25506.11.1.245 Hewlett-Packard NETWORKING 5130 48G 4SFP+ 1-slot HI 25506.11.1.246 Hewlett-Packard NETWORKING 5130 24G PoE+ 4SFP+ 1-slot HI 25506.11.1.247 Hewlett-Packard NETWORKING 5130 48G PoE+ 4SFP+ 1-slot HI 25506.11.1.250 Hewlett-Packard NETWORKING 5120-48G SI 25506.11.1.251 Hewlett-Packard NETWORKING 5120-16G SI 25506.11.1.252 Hewlett-Packard NETWORKING 5120-24G SI 25506.11.1.253 Hewlett-Packard NETWORKING 5120-24G-PoE+(370W) SI 25506.11.1.254 Hewlett-Packard NETWORKING 5120-8G-PoE+(65W) SI 25506.11.1.255 Hewlett-Packard NETWORKING 5120-8G-PoE+(180W) SI 25506.11.1.256 Hewlett-Packard NETWORKING 7502JD242C 25506.11.1.257 Hewlett-Packard NETWORKING 7503JD240C 25506.11.1.258 Hewlett-Packard NETWORKING 7506JD239C 25506.11.1.259 Hewlett-Packard NETWORKING 7510JD238C 25506.11.1.260 Hewlett-Packard NETWORKING FF 5950 32Q28 25506.11.1.261 Hewlett-Packard NETWORKING FF 5950 32Q28 TAA 25506.11.2.1 Hewlett-Packard NETWORKING AMSR900 25506.11.2.2 Hewlett-Packard NETWORKING AMSR920 25506.11.2.3 Hewlett-Packard NETWORKING AMSR2010 25506.11.2.4 Hewlett-Packard NETWORKING AMSR2011 25506.11.2.5 Hewlett-Packard NETWORKING AMSR2012 25506.11.2.6 Hewlett-Packard NETWORKING AMSR2012T 25506.11.2.7 Hewlett-Packard NETWORKING AMSR2013 25506.11.2.8 Hewlett-Packard NETWORKING AMSR2020 25506.11.2.9 Hewlett-Packard NETWORKING AMSR2021 25506.11.2.10 Hewlett-Packard NETWORKING AMSR2040 25506.11.2.11 Hewlett-Packard NETWORKING AMSR3010 25506.11.2.12 Hewlett-Packard NETWORKING AMSR3011E 25506.11.2.13 Hewlett-Packard NETWORKING AMSR3011F 25506.11.2.14 Hewlett-Packard NETWORKING AMSR3016 25506.11.2.15 Hewlett-Packard NETWORKING AMSR3020 25506.11.2.16 Hewlett-Packard NETWORKING AMSR3040 25506.11.2.17 Hewlett-Packard NETWORKING AMSR3060 25506.11.2.18 Hewlett-Packard NETWORKING AMSR5040 25506.11.2.19 Hewlett-Packard NETWORKING AMSR5060 25506.11.2.20 Hewlett-Packard NETWORKING A6602 25506.11.2.21 Hewlett-Packard NETWORKING A6604 25506.11.2.22 Hewlett-Packard NETWORKING A6608 25506.11.2.23 Hewlett-Packard NETWORKING A6616 25506.11.2.24 Hewlett-Packard NETWORKING AMSR900W 25506.11.2.25 Hewlett-Packard NETWORKING AMSR900WNA 25506.11.2.26 Hewlett-Packard NETWORKING AMSR920W 25506.11.2.27 Hewlett-Packard NETWORKING AMSR920WNA 25506.11.2.28 Hewlett-Packard NETWORKING AMSR2012W 25506.11.2.29 Hewlett-Packard NETWORKING AMSR2012TW 25506.11.2.30 Hewlett-Packard NETWORKING AMSR2012TWNA 25506.11.2.31 Hewlett-Packard NETWORKING AMSR2013W 25506.11.2.32 Hewlett-Packard NETWORKING AMSR2013WNA 25506.11.2.33 Hewlett-Packard NETWORKING AMSR2020S 25506.11.2.34 Hewlett-Packard NETWORKING AMSR2021S 25506.11.2.35 Hewlett-Packard NETWORKING AMSR2040S 25506.11.2.36 Hewlett-Packard NETWORKING AMSR3010DC 25506.11.2.37 Hewlett-Packard NETWORKING AMSR3016PoE 25506.11.2.38 Hewlett-Packard NETWORKING AMSR3020AS 25506.11.2.39 Hewlett-Packard NETWORKING AMSR3020PoE 25506.11.2.40 Hewlett-Packard NETWORKING AMSR3020DC 25506.11.2.41 Hewlett-Packard NETWORKING AMSR3040AS 25506.11.2.42 Hewlett-Packard NETWORKING AMSR3040PoE 25506.11.2.43 Hewlett-Packard NETWORKING AMSR3040DC 25506.11.2.44 Hewlett-Packard NETWORKING AMSR3060AS 25506.11.2.45 Hewlett-Packard NETWORKING AMSR3060PoE 25506.11.2.46 Hewlett-Packard NETWORKING AMSR3060DC 25506.11.2.47 Hewlett-Packard NETWORKING AMSR5040DC 25506.11.2.48 Hewlett-Packard NETWORKING AMSR5060DC 25506.11.2.49 Hewlett-Packard NETWORKING A8805 25506.11.2.50 Hewlett-Packard NETWORKING A8808 25506.11.2.51 Hewlett-Packard NETWORKING A8812 25506.11.2.52 Hewlett-Packard NETWORKING AOAPFICV2 25506.11.2.53 Hewlett-Packard NETWORKING AOAPMIMV2 25506.11.2.54 Hewlett-Packard NETWORKING AOAPSMIMV2 25506.11.2.55 Hewlett-Packard NETWORKING MSR2003AC 25506.11.2.56 Hewlett-Packard NETWORKING MSR3012AC 25506.11.2.57 Hewlett-Packard NETWORKING MSR3012DC 25506.11.2.58 Hewlett-Packard NETWORKING MSR3024AC 25506.11.2.59 Hewlett-Packard NETWORKING MSR3024DC 25506.11.2.60 Hewlett-Packard NETWORKING MSR3024PoE 25506.11.2.61 Hewlett-Packard NETWORKING MSR3044 25506.11.2.62 Hewlett-Packard NETWORKING MSR3064 25506.11.2.63 Hewlett-Packard NETWORKING MSR4060 25506.11.2.64 Hewlett-Packard NETWORKING MSR4080 25506.11.2.65 Hewlett-Packard NETWORKING HSR6602G 25506.11.2.66 Hewlett-Packard NETWORKING HSR6602XG 25506.11.2.67 Hewlett-Packard NETWORKING HSR6802 25506.11.2.68 Hewlett-Packard NETWORKING HSR6804 25506.11.2.69 Hewlett-Packard NETWORKING HSR6808 25506.11.2.70 Hewlett-Packard NETWORKING MSR930 25506.11.2.71 Hewlett-Packard NETWORKING MSR930G 25506.11.2.72 Hewlett-Packard NETWORKING MSR931 25506.11.2.73 Hewlett-Packard NETWORKING MSR931G 25506.11.2.74 Hewlett-Packard NETWORKING MSR931GG 25506.11.2.75 Hewlett-Packard NETWORKING MSR930W 25506.11.2.76 Hewlett-Packard NETWORKING MSR9304GLTEV 25506.11.2.77 Hewlett-Packard NETWORKING MSR933 25506.11.2.78 Hewlett-Packard NETWORKING MSR933G 25506.11.2.79 Hewlett-Packard NETWORKING MSR935 25506.11.2.80 Hewlett-Packard NETWORKING MSR935W 25506.11.2.81 Hewlett-Packard NETWORKING MSR935G 25506.11.2.82 Hewlett-Packard NETWORKING MSR936W 25506.11.2.83 Hewlett-Packard NETWORKING MSR9304GLTEG 25506.11.2.84 Hewlett-Packard NETWORKING MSR930LE 25506.11.2.85 Hewlett-Packard NETWORKING MSR930GLE 25506.11.2.86 Hewlett-Packard NETWORKING MSR931LE 25506.11.2.87 Hewlett-Packard NETWORKING MSR931GLE 25506.11.2.88 Hewlett-Packard NETWORKING MSR931GGLE 25506.11.2.89 Hewlett-Packard NETWORKING MSR930WLE 25506.11.2.90 Hewlett-Packard NETWORKING MSR933LE 25506.11.2.91 Hewlett-Packard NETWORKING MSR933GLE 25506.11.2.92 Hewlett-Packard NETWORKING MSR935LE 25506.11.2.93 Hewlett-Packard NETWORKING MSR935WLE 25506.11.2.94 Hewlett-Packard NETWORKING MSR935GLE 25506.11.2.95 Hewlett-Packard NETWORKING MSR9304GLTEGLE 25506.11.2.96 Hewlett-Packard NETWORKING VSR 25506.11.2.97 Hewlett-Packard NETWORKING VSR1001 25506.11.2.98 Hewlett-Packard NETWORKING VSR1004 25506.11.2.99 Hewlett-Packard NETWORKING VSR1008 25506.11.2.100 Hewlett-Packard NETWORKING MSR 10038 25506.11.2.101 Hewlett-Packard NETWORKING MSR 100414 25506.11.2.102 Hewlett-Packard NETWORKING VSR1000 25506.11.2.103 Hewlett-Packard NETWORKING MSR2004-24 25506.11.2.104 Hewlett-Packard NETWORKING MSR2004-48 25506.11.2.105 Hewlett-Packard NETWORKING HSR6602G-TAA 25506.11.2.106 Hewlett-Packard NETWORKING HSR6602XG-TAA 25506.11.2.107 Hewlett-Packard NETWORKING MSR1002-4 25506.11.2.108 Hewlett-Packard NETWORKING NSC1000 25506.11.2.109 Hewlett-Packard NETWORKING MSR930 25506.11.2.110 Hewlett-Packard NETWORKING MSR935 25506.11.2.111 Hewlett-Packard NETWORKING MSR2003-TAA 25506.11.2.112 Hewlett-Packard NETWORKING MSR3024-TAA 25506.11.2.113 Hewlett-Packard NETWORKING MSR3044-TAA 25506.11.2.114 Hewlett-Packard NETWORKING MSR935 25506.11.2.115 Hewlett-Packard NETWORKING MSR933 25506.11.2.116 Hewlett-Packard NETWORKING MSR931 25506.11.2.117 Hewlett-Packard NETWORKING MSR1003-8S 25506.11.2.118 Hewlett-Packard NETWORKING MSR932 25506.11.2.119 Hewlett-Packard NETWORKING MSR932W 25506.11.2.120 Hewlett-Packard NETWORKING MSR932WNA 25506.11.2.121 Hewlett-Packard NETWORKING MSR9328 25506.11.2.122 Hewlett-Packard NETWORKING MSR9328W 25506.11.2.123 Hewlett-Packard NETWORKING MSR9328WNA 25506.11.2.124 Hewlett-Packard NETWORKING VBRAS1000 25506.11.2.125 Hewlett-Packard NETWORKING HSR6802-E 25506.11.2.126 Hewlett-Packard NETWORKING HSR6804-E 25506.11.2.127 Hewlett-Packard NETWORKING HSR6808-E 25506.11.2.128 Hewlett-Packard NETWORKING MSR930-4G-LTEG 25506.11.2.129 Hewlett-Packard NETWORKING MSR930-4G-LTEA 25506.11.2.130 Hewlett-Packard NETWORKING MSR954 25506.11.2.131 Hewlett-Packard NETWORKING MSR954-W 25506.11.2.132 Hewlett-Packard NETWORKING MSR954-W-LTE-AM 25506.11.2.133 Hewlett-Packard NETWORKING MSR954-W-LTE 25506.11.2.134 Hewlett-Packard NETWORKING MSR958 25506.11.2.135 Hewlett-Packard NETWORKING MSR958POE 25506.11.2.136 Hewlett-Packard NETWORKING MSR930B 25506.11.2.137 Hewlett-Packard NETWORKING MSR930GB 25506.11.2.138 Hewlett-Packard NETWORKING MSR931B 25506.11.2.140 Hewlett-Packard NETWORKING MSR931DGB 25506.11.2.141 Hewlett-Packard NETWORKING MSR935B 25506.11.2.143 Hewlett-Packard NETWORKING MSR930WNAB 25506.11.3.1 Hewlett-Packard NETWORKING AWA2610EAGNFAT 25506.11.3.2 Hewlett-Packard NETWORKING AWA2620EAGNFAT 25506.11.3.3 Hewlett-Packard NETWORKING AWA2620AGNFAT 25506.11.3.4 Hewlett-Packard NETWORKING A7500LSQM3WCMB0 25506.11.3.5 Hewlett-Packard NETWORKING A9500LSRM2WCM2A1 25506.11.3.6 Hewlett-Packard NETWORKING A5800LSWM2WCM10 25506.11.3.7 Hewlett-Packard NETWORKING A5800LSWM2WCM20 25506.11.3.8 Hewlett-Packard NETWORKING AWX5004EWPXZ65004 25506.11.3.9 Hewlett-Packard NETWORKING AWX5002EWPXZ75002 25506.11.3.10 Hewlett-Packard NETWORKING A3000E 25506.11.3.11 Hewlett-Packard NETWORKING A3000ELSW 25506.11.3.12 Hewlett-Packard NETWORKING AWA3620AGN 25506.11.3.13 Hewlett-Packard NETWORKING AWA3622AGN 25506.11.3.14 Hewlett-Packard NETWORKING AWA3610GN 25506.11.3.15 Hewlett-Packard NETWORKING AWA2620XAGN 25506.11.3.16 Hewlett-Packard NETWORKING LSU3WCMD0 25506.11.3.17 Hewlett-Packard NETWORKING WX3024EWCM 25506.11.3.18 Hewlett-Packard NETWORKING WX3024ELSW 25506.11.3.19 Hewlett-Packard NETWORKING WX3010EWCM 25506.11.3.20 Hewlett-Packard NETWORKING WX3010ELSW 25506.11.3.21 Hewlett-Packard NETWORKING LSU3WCMD0TAA 25506.11.3.22 Hewlett-Packard NETWORKING WX3024ETAAWCM 25506.11.3.23 Hewlett-Packard NETWORKING WX3024ETAALSW 25506.11.3.24 Hewlett-Packard NETWORKING WX3010ETAAWCM 25506.11.3.25 Hewlett-Packard NETWORKING WX3010ETAALSW 25506.11.4.1 Hewlett-Packard NETWORKING SecBladeIMFWII 25506.11.4.2 Hewlett-Packard NETWORKING SecBladeIMSSL 25506.11.4.3 Hewlett-Packard NETWORKING SecBladeIMLB 25506.11.4.4 Hewlett-Packard NETWORKING SecBladeLSQ1FWBSC0 25506.11.4.5 Hewlett-Packard NETWORKING SecBladeLSQM1LBC0 25506.11.4.6 Hewlett-Packard NETWORKING SecBladeLSQ1NSMSC0 25506.11.4.7 Hewlett-Packard NETWORKING SecBladeLSR1FW2A1 25506.11.4.8 Hewlett-Packard NETWORKING SecBladeLSR1LB1A1 25506.11.4.9 Hewlett-Packard NETWORKING SecBladeLSR1NSM1A1 25506.11.4.10 Hewlett-Packard NETWORKING SecBladeLST1FW2A1 25506.11.4.11 Hewlett-Packard NETWORKING SecBladeLST1LB1A1 25506.11.4.12 Hewlett-Packard NETWORKING SecBladeLST1NSM1A1 25506.11.4.13 Hewlett-Packard NETWORKING SecBladeLSWM1FW10 25506.11.4.14 Hewlett-Packard NETWORKING SecBladeSPEFWM200 25506.11.4.15 Hewlett-Packard NETWORKING AF5000 25506.11.4.16 Hewlett-Packard NETWORKING AF1000E 25506.11.4.17 Hewlett-Packard NETWORKING AU200S 25506.11.4.18 Hewlett-Packard NETWORKING AU200A 25506.11.4.19 Hewlett-Packard NETWORKING AF1000SEI 25506.11.4.20 Hewlett-Packard NETWORKING AF1000AEI 25506.11.4.21 Hewlett-Packard NETWORKING SecBladeLST1FW3A1 25506.11.4.22 Hewlett-Packard NETWORKING SecBladeLSU1FWCEA0 25506.11.4.23 Hewlett-Packard NETWORKING F5000C 25506.11.4.24 Hewlett-Packard NETWORKING F5000S 25506.11.4.25 Hewlett-Packard NETWORKING VFW1000 25506.11.4.26 Hewlett-Packard NETWORKING SecBladeLSX1FWCEA1 25506.11.4.27 Hewlett-Packard NETWORKING VMSGVLB1000 25506.11.4.28 Hewlett-Packard NETWORKING SecBlade3Context 26866 Gigamon NETWORKING 26866.1.1 Gigamon NETWORKING GigaVUE-420 26866.3.1 Gigamon NETWORKING GigaVUE-2404 27282 Ubiquiti NETWORKING 27282.3.2.10 Ubiquiti NETWORKING EdgeSwitch 10X 29671 Cisco NETWORKING Meraki product 29671.2.1 Cisco NETWORKING Meraki MINI 29671.2.2 Cisco NETWORKING Meraki ID2 29671.2.3 Cisco NETWORKING Meraki WPG 29671.2.4 Cisco NETWORKING Meraki OD1 29671.2.5 Cisco NETWORKING Meraki OD2 29671.2.6 Cisco NETWORKING Meraki OD3 29671.2.7 Cisco NETWORKING Meraki MO1 29671.2.8 Cisco NETWORKING Meraki SOL 29671.2.9 Cisco NETWORKING Meraki LR1 29671.2.10 Cisco NETWORKING Meraki MR11 29671.2.11 Cisco NETWORKING Meraki MR12 29671.2.12 Cisco NETWORKING Meraki MR14 29671.2.13 Cisco NETWORKING Meraki MR16 29671.2.14 Cisco NETWORKING Meraki MR24 29671.2.15 Cisco NETWORKING Meraki MR62 29671.2.16 Cisco NETWORKING Meraki MR66 29671.2.17 Cisco NETWORKING Meraki MR34 29671.2.18 Cisco NETWORKING Meraki MR18 29671.2.19 Cisco NETWORKING Meraki MR26 29671.2.20 Cisco NETWORKING Meraki MR32 29671.2.21 Cisco NETWORKING Meraki MR72 29671.2.22 Cisco NETWORKING Meraki MR42 29671.2.23 Cisco NETWORKING Meraki MR52 29671.2.24 Cisco NETWORKING Meraki MR53 29671.2.25 Cisco NETWORKING Meraki MR84 29671.2.26 Cisco NETWORKING Meraki MR30H 29671.2.27 Cisco NETWORKING Meraki MR33 29671.2.28 Cisco NETWORKING Meraki MR74 29671.2.29 Cisco NETWORKING Meraki MR70 29671.2.31 Cisco NETWORKING Meraki MR55 29671.2.100 Cisco NETWORKING Meraki Z1 29671.2.101 Cisco NETWORKING Meraki MX70 29671.2.102 Cisco NETWORKING Meraki MX60 29671.2.103 Cisco NETWORKING Meraki MX80 29671.2.104 Cisco NETWORKING Meraki MX400 29671.2.105 Cisco NETWORKING Meraki MX600 29671.2.106 Cisco NETWORKING Meraki MX100 29671.2.107 Cisco NETWORKING Meraki MX64 29671.2.108 Cisco NETWORKING Meraki MX64W 29671.2.109 Cisco NETWORKING Meraki MX84 29671.2.110 Cisco NETWORKING Meraki MX65 29671.2.111 Cisco NETWORKING Meraki MX65W 29671.2.112 Cisco NETWORKING Meraki MX250 29671.2.113 Cisco NETWORKING Meraki MX450 29671.2.116 Cisco NETWORKING Meraki Z3 29671.2.117 Cisco NETWORKING Meraki GX20 29671.2.118 Cisco NETWORKING Meraki MX67 29671.2.119 Cisco NETWORKING Meraki MX67W 29671.2.120 Cisco NETWORKING Meraki MX67C 29671.2.121 Cisco NETWORKING Meraki MX68 29671.2.122 Cisco NETWORKING Meraki MX68W 29671.2.123 Cisco NETWORKING Meraki MX68CW 29671.2.124 Cisco NETWORKING Meraki Z3C 29671.2.200 Cisco NETWORKING Meraki VM10 29671.2.300 Cisco NETWORKING Meraki MS22 29671.2.301 Cisco NETWORKING Meraki MS22P 29671.2.302 Cisco NETWORKING Meraki MS42 29671.2.303 Cisco NETWORKING Meraki MS42p 29671.2.304 Cisco NETWORKING Meraki MS220-8 29671.2.305 Cisco NETWORKING Meraki MS220-8P 29671.2.306 Cisco NETWORKING Meraki MS220-24 29671.2.307 Cisco NETWORKING Meraki MS220-24P 29671.2.308 Cisco NETWORKING Meraki MS220-48 29671.2.309 Cisco NETWORKING Meraki MS220-48LP 29671.2.310 Cisco NETWORKING Meraki MS220-48FP 29671.2.311 Cisco NETWORKING Meraki MS320-24 29671.2.312 Cisco NETWORKING Meraki MS320-24P 29671.2.313 Cisco NETWORKING Meraki MS320-48 29671.2.314 Cisco NETWORKING Meraki MS320-48LP 29671.2.315 Cisco NETWORKING Meraki MS320-48FP 29671.2.316 Cisco NETWORKING Meraki MS420-24 29671.2.317 Cisco NETWORKING Meraki MS420-48 29671.2.318 Cisco NETWORKING Meraki MS350-24 29671.2.319 Cisco NETWORKING Meraki MS350-24P 29671.2.320 Cisco NETWORKING Meraki MS350-48 29671.2.321 Cisco NETWORKING Meraki MS350-48LP 29671.2.322 Cisco NETWORKING Meraki MS350-48FP 29671.2.323 Cisco NETWORKING Meraki MS410-16 29671.2.324 Cisco NETWORKING Meraki MS410-32 29671.2.325 Cisco NETWORKING Meraki MS425-16 29671.2.326 Cisco NETWORKING Meraki MS425-32 29671.2.327 Cisco NETWORKING Meraki MS350-24X 29671.2.328 Cisco NETWORKING Meraki MS225-24 29671.2.329 Cisco NETWORKING Meraki MS225-24P 29671.2.330 Cisco NETWORKING Meraki MS225-48 29671.2.331 Cisco NETWORKING Meraki MS225-48LP 29671.2.332 Cisco NETWORKING Meraki MS225-48FP 29671.2.333 Cisco NETWORKING Meraki MS250-24 29671.2.334 Cisco NETWORKING Meraki MS250-24P 29671.2.335 Cisco NETWORKING Meraki MS250-48 29671.2.336 Cisco NETWORKING Meraki MS250-48LP 29671.2.337 Cisco NETWORKING Meraki MS250-48FP 29671.2.338 Cisco NETWORKING Meraki MS120-8 29671.2.339 Cisco NETWORKING Meraki MS120-8LP 29671.2.340 Cisco NETWORKING Meraki MS120-8FP 29671.2.341 Cisco NETWORKING Meraki MS120-24 29671.2.342 Cisco NETWORKING Meraki MS120-24P 29671.2.343 Cisco NETWORKING Meraki MS120-48 29671.2.344 Cisco NETWORKING Meraki MS120-48LP 29671.2.345 Cisco NETWORKING Meraki MS210-24 29671.2.346 Cisco NETWORKING Meraki MS210-24P 29671.2.347 Cisco NETWORKING Meraki MS210-48 29671.2.348 Cisco NETWORKING Meraki MS210-48LP 29671.2.349 Cisco NETWORKING Meraki MS210-48FP 29671.2.356 Cisco NETWORKING Meraki MS120-48FP 29999 Hewlett-Packard PRINTER # specifying a model value prevent fallback on hrDeviceDescr value for better identification 29999.1 Hewlett-Packard PRINTER # Nicely, Arista Networks seems to have ruled each oid number ! 30065 Arista Networks NETWORKING 30065.1.3011.7010.427.48 Arista Networks NETWORKING DCS-7010T-48 30065.1.3011.7048.427.4.3282 Arista Networks NETWORKING DCS-7048T-4S 30065.1.3011.7048.427.3648 Arista Networks NETWORKING DCS-7048T-A 30065.1.3011.7050.3095.32.3282 Arista Networks NETWORKING DCS-7050QX-32S 30065.1.3011.7050.3282.52 Arista Networks NETWORKING DCS-7050S-52 30065.1.3011.7050.3282.64 Arista Networks NETWORKING DCS-7050S-64 30065.1.3011.7050.3741.64 Arista Networks NETWORKING DCS-7050SX-64 30065.1.3011.7120.427.4.3282 Arista Networks NETWORKING DCS-7120T-4S 30065.1.3011.7124.3282 Arista Networks NETWORKING DCS-7124S 30065.1.3011.7124.3741 Arista Networks NETWORKING DCS-7124SX 30065.1.3011.7124.3741.3282 Arista Networks NETWORKING DCS-7124SX-S 30065.1.3011.7140.427.8.3282 Arista Networks NETWORKING DCS-7140T8S 30065.1.3011.7148.3282 Arista Networks NETWORKING DCS-7148S 30065.1.3011.7148.3741 Arista Networks NETWORKING DCS-7148SX 30065.1.3011.7150.3282.24 Arista Networks NETWORKING DCS-7150S-24 30065.1.3011.7504 Arista Networks NETWORKING DCS-7504 30065.1.3011.7508 Arista Networks NETWORKING DCS-7508 31218 Ucopia NETWORKING 31218.3.6.0 Ucopia NETWORKING UCP-SV1000 37459 Yealink PHONE 37560 Frontier NETWORKING 37560.1.8 Frontier NETWORKING nGenius 1500 37447.3.1 Nimble STORAGE Nimble Storage 41112 Ubiquiti NETWORKING 41112.1.3 Ubiquiti NETWORKING AirFIBER 41112.1.4 Ubiquiti NETWORKING AirMAX 41112.1.5 Ubiquiti NETWORKING EdgeMax 41112.1.6 Ubiquiti NETWORKING UniFi 41112.1.7 Ubiquiti NETWORKING AirVision 41112.1.8 Ubiquiti NETWORKING MFi 41112.1.9 Ubiquiti NETWORKING UniTel 47196 Hewlett-Packard NETWORKING 47196.4.1.1.1.1 Hewlett-Packard NETWORKING Aruba 8400 47196.4.1.1.1.2 Hewlett-Packard NETWORKING Aruba 8320-48G-SFP+ FusionInventory-Agent-2.6/share/usb.ids0000644000175000017500000255071113721534461020361 0ustar gbougardgbougard# # List of USB ID's # # Maintained by Stephen J. Gowdy # If you have any new entries, please submit them via # http://www.linux-usb.org/usb-ids.html # or send entries as patches (diff -u old new) in the # body of your email (a bot will attempt to deal with it). # The latest version can be obtained from # http://www.linux-usb.org/usb.ids # # Version: 2020.08.26 # Date: 2020-08-26 20:34:09 # # Vendors, devices and interfaces. Please keep sorted. # Syntax: # vendor vendor_name # device device_name <-- single tab # interface interface_name <-- two tabs 0001 Fry's Electronics 7778 Counterfeit flash drive [Kingston] 0002 Ingram 0002 passport00 0003 Club Mac 0004 Nebraska Furniture Mart 0011 Unknown 7788 counterfeit flash drive 0053 Planex 5301 GW-US54ZGL 802.11bg 0078 Microntek 0006 Joystick 0079 DragonRise Inc. 0006 PC TWIN SHOCK Gamepad 0011 Gamepad 1800 Mayflash Wii U Pro Game Controller Adapter [DirectInput] 181b Venom Arcade Joystick 1843 Mayflash GameCube Controller Adapter 1844 Mayflash GameCube Controller 0080 Unknown a001 JMS578 based SATA bridge 0085 Boeye Technology Co., Ltd. 0600 eBook Reader 0102 miniSTREAK 0105 Trust International B.V. 145f NW-3100 802.11b/g 54Mbps Wireless Network Adapter [zd1211] 0127 IBP 0002 HDM Interface 0127 ibp 0145 Unknown 0112 Card Reader 017c MLK 145f Trust Deskset 0200 TP-Link 0201 MA180 UMTS Modem 0204 Chipsbank Microelectronics Co., Ltd 6025 CBM2080 / CBM2090 Flash drive controller 6026 CBM1180 Flash drive controller 0218 Hangzhou Worlde 0301 MIDI Port 02ad HUMAX Co., Ltd. 138c PVR Mass Storage 0303 Mini Automation Controller 0324 OCZ Technology Inc bc06 OCZ ATV USB 2.0 Flash Drive bc08 OCZ Rally2/ATV USB 2.0 Flash Drive 0325 OCZ Technology Inc ac02 ATV Turbo / Rally2 Dual Channel USB 2.0 Flash Drive 0386 LTS 0001 PSX for USB Converter 03d9 Shenzhen Sinote Tech-Electron Co., Ltd 0499 SE340D PC Remote Control 03da Bernd Walter Computer Technology 0002 HD44780 LCD interface 03e7 Intel 2150 Myriad VPU [Movidius Neural Compute Stick] 2485 Movidius MyriadX f63b Myriad VPU [Movidius Neural Compute Stick] 03e8 EndPoints, Inc. 0004 SE401 Webcam 0008 101 Ethernet [klsi] 0015 ATAPI Enclosure 2123 SiPix StyleCam Deluxe 8004 Aox 99001 03e9 Thesys Microelectronics 03ea Data Broadcasting Corp. 03eb Atmel Corp. 0902 4-Port Hub 2002 Mass Storage Device 2015 at90usbkey sample firmware (HID keyboard) 2018 at90usbkey sample firmware (CDC ACM) 2019 stk525 sample firmware (microphone) 201c at90usbkey sample firmware (HID mouse) 201d at90usbkey sample firmware (HID generic) 2022 at90usbkey sample firmware (composite device) 2040 LUFA Test PID 2041 LUFA Mouse Demo Application 2042 LUFA Keyboard Demo Application 2043 LUFA Joystick Demo Application 2044 LUFA CDC Demo Application 2045 LUFA Mass Storage Demo Application 2046 LUFA Audio Output Demo Application 2047 LUFA Audio Input Demo Application 2048 LUFA MIDI Demo Application 2049 Stripe Snoop Magnetic Stripe Reader 204a LUFA CDC Class Bootloader 204b LUFA USB to Serial Adapter Project 204c LUFA RNDIS Demo Application 204d LUFA Combined Mouse and Keyboard Demo Application 204e LUFA Dual CDC Demo Application 204f LUFA Generic HID Demo Application 2060 Benito Programmer Project 2061 LUFA Combined Mass Storage and Keyboard Demo Application 2062 LUFA Combined CDC and Mouse Demo Application 2063 LUFA Datalogger Device 2064 Interfaceless Control-Only LUFA Devices 2065 LUFA Test and Measurement Demo Application 2066 LUFA Multiple Report HID Demo 2068 LUFA Virtual Serial/Mass Storage Demo 2069 LUFA Webserver Project 2103 JTAG ICE mkII 2104 AVR ISP mkII 2105 AVRONE! 2106 STK600 development board 2107 AVR Dragon 2109 STK541 ZigBee Development Board 210a AT86RF230 [RZUSBSTICK] transceiver 210d XPLAIN evaluation kit (CDC ACM) 2110 AVR JTAGICE3 Debugger and Programmer 2111 Xplained Pro board debugger and programmer 2122 XMEGA-A1 Explained evaluation kit 2140 AVR JTAGICE3 (v3.x) Debugger and Programmer 2141 ICE debugger 2145 ATMEGA328P-XMINI (CDC ACM) 2310 EVK11xx evaluation board 2404 The Micro 2fe4 ATxmega32A4U DFU bootloader 2fe6 Cactus V6 (DFU) 2fea Cactus RF60 (DFU) 2fee atmega8u2 DFU bootloader 2fef atmega16u2 DFU bootloader 2ff0 atmega32u2 DFU bootloader 2ff1 at32uc3a3 DFU bootloader 2ff3 atmega16u4 DFU bootloader 2ff4 atmega32u4 DFU bootloader 2ff6 at32uc3b0/1 DFU bootloader 2ff7 at90usb82 DFU bootloader 2ff8 at32uc3a0/1 DFU bootloader 2ff9 at90usb646/647 DFU bootloader 2ffa at90usb162 DFU bootloader 2ffb at90usb AVR DFU bootloader 2ffd at89c5130/c5131 DFU bootloader 2fff at89c5132/c51snd1c DFU bootloader 3301 at43301 4-Port Hub 3312 4-Port Hub 4102 AirVast W-Buddie WN210 5601 at76c510 Prism-II 802.11b Access Point 5603 Cisco 7920 WiFi IP Phone 6119 AT91SAM CDC Demo Application 6124 at91sam SAMBA bootloader 6127 AT91SAM HID Keyboard Demo Application 6129 AT91SAM Mass Storage Demo Application 6200 AT91SAM HID Mouse Demo Application 7603 D-Link DWL-120 802.11b Wireless Adapter [Atmel at76c503a] 7604 at76c503a 802.11b Adapter 7605 at76c503a 802.11b Adapter 7606 at76c505 802.11b Adapter 7611 at76c510 rfmd2948 802.11b Access Point 7613 WL-1130 USB 7614 AT76c505a Wireless Adapter 7615 AT76C505AMX Wireless Adapter 7617 AT76C505AS Wireless Adapter 7800 Mini Album 800c Airspy HF+ ff01 WootingOne ff02 WootingTwo ff07 Tux Droid fish dongle 03ec Iwatsu America, Inc. 03ed Mitel Corp. 03ee Mitsumi 0000 CD-R/RW Drive 2501 eHome Infrared Receiver 2502 eHome Infrared Receiver 5609 Japanese Keyboard 641f WIF-0402C Bluetooth Adapter 6438 Bluetooth Device 6440 WML-C52APR Bluetooth Adapter 6901 SmartDisk FDD 6902 Floppy Disk Drive 7500 CD-R/RW ffff Dongle with BlueCore in DFU mode 03f0 HP, Inc 0004 DeskJet 895c 0011 OfficeJet G55 0012 DeskJet 1125C Printer Port 0024 KU-0316 Keyboard 002a LaserJet P1102 0053 DeskJet 2620 All-in-One Printer 0101 ScanJet 4100c 0102 PhotoSmart S20 0104 DeskJet 880c/970c 0105 ScanJet 4200c 0107 CD-Writer Plus 010c Multimedia Keyboard Hub 0111 G55xi Printer/Scanner/Copier 0117 LaserJet 3200 011c hn210w 802.11b Adapter 011d Bluetooth 1.2 Interface [Broadcom BCM2035] 0121 HP 39g+ [F2224A], 39gs [F2223A], 40gs [F2225A], 48gII [F2226A], 49g+ [F2228A], 50g [F2229A, NW240AA] 0122 HID Internet Keyboard 0125 DAT72 Tape 0139 Barcode Scanner 4430 0201 ScanJet 6200c 0202 PhotoSmart S20 0204 DeskJet 815c 0205 ScanJet 3300c 0207 CD-Writer Plus 8200e 020c Multimedia Keyboard 0211 OfficeJet G85 0212 DeskJet 1220C 0217 LaserJet 2200 0218 APOLLO P2500/2600 0221 StreamSmart 400 [F2235AA] 0223 Digital Drive Flash Reader 022a Laserjet CP1525nw 0241 Link-5 micro dongle 0304 DeskJet 810c/812c 0305 ScanJet 4300c 0307 CD-Writer+ CD-4e 0311 OfficeJet G85xi 0312 Color Inkjet CP1700 0314 designjet 30/130 series 0317 LaserJet 1200 0324 SK-2885 keyboard 034a Elite Keyboard 0401 ScanJet 5200c 0404 DeskJet 830c/832c 0405 ScanJet 3400cse 0411 OfficeJet G95 0412 Printing Support 0417 LaserJet 1200 series 0423 HS-COMBO Cardreader 042a LaserJet M1132 MFP 0441 Prime [NW280AA, G8X92AA] 0504 DeskJet 885c 0505 ScanJet 2100c 0507 DVD+RW 050c 5219 Wireless Keyboard 0511 OfficeJet K60 0512 DeckJet 450 0517 LaserJet 1000 051d Bluetooth Interface 052a LaserJet M1212nf MFP 0601 ScanJet 6300c 0604 DeskJet 840c 0605 ScanJet 2200c 0610 Z24i Monitor Hub 0611 OfficeJet K60xi 0612 business inkjet 3000 0624 Bluetooth Dongle 0641 X1200 Optical Mouse 0701 ScanJet 5300c/5370c 0704 DeskJet 825c 0705 ScanJet 4400c 070c Personal Media Drive 0711 OfficeJet K80 0712 DeskJet 1180c 0714 Printing Support 0741 Prime Wireless Kit [FOK65AA] 0801 ScanJet 7400c 0804 DeskJet 816c 0805 HP4470C 0811 OfficeJet K80xi 0817 LaserJet 3300 0901 ScanJet 2300c 0904 DeskJet 845c 0912 Printing Support 0917 LaserJet 3330 0924 Modular Smartcard Keyboard 0941 X500 Optical Mouse 094a Optical Mouse [672662-001] 0a01 ScanJet 2400c 0a17 color LaserJet 3700 0b01 ScanJet 82x0C 0b0c Wireless Keyboard and Optical Mouse receiver 0b17 LaserJet 2300d 0c17 LaserJet 1010 0c24 Bluetooth Dongle 0d12 OfficeJet 9100 series 0d17 LaserJet 1012 0d4a SK-2025 Keyboard 0e17 LaserJet 1015 0f0c Wireless Keyboard and Optical Mouse receiver 0f11 OfficeJet V40 0f12 Printing Support 0f17 LaserJet 1150 0f2a LaserJet 400 color M451dn 1001 Photo Scanner 1000 1002 PhotoSmart 140 series 1004 DeskJet 970c/970cse 1005 ScanJet 5400c 1011 OfficeJet V40xi 1016 Jornada 548 / iPAQ HW6515 Pocket PC 1017 LaserJet 1300 1024 Smart Card Keyboard 1027 Virtual keyboard and mouse 102a LaserJet Professional P 1102w 1102 PhotoSmart 240 series 1104 DeskJet 959c 1105 ScanJet 5470c/5490c 1111 OfficeJet v60 1116 Jornada 568 Pocket PC 1117 LaserJet 1300n 1151 PSC-750xi Printer/Scanner/Copier 1198 HID-compliant mouse 1202 PhotoSmart 320 series 1204 DeskJet 930c 1205 ScanJet 4500C/5550C 1211 OfficeJet v60xi 1217 LaserJet 2300L 1227 Virtual CD-ROM 1302 PhotoSmart 370 series 1305 ScanJet 4570c 1311 OfficeJet V30 1312 DeskJet 460 1317 LaserJet 1005 1327 iLO Virtual Hub 134a Optical Mouse 1405 ScanJet 3670 1411 PSC 750 1424 f2105 Monitor Hub 1502 PhotoSmart 420 series 1504 DeskJet 920c 150c Mood Lighting (Microchip Technology Inc.) 1511 PSC 750xi 1512 Printing Support 1517 color LaserJet 3500 1524 Smart Card Keyboard - KR 1539 Mini Magnetic Stripe Reader 1541 Prime [G8X92AA] 154a Laser Mouse 1602 PhotoSmart 330 series 1604 DeskJet 940c 1605 ScanJet 5530C PhotoSmart 1611 psc 780 1617 LaserJet 3015 161d Wireless Rechargeable Optical Mouse (HID) 1624 Smart Card Keyboard - JP 1702 PhotoSmart 380 series 1704 DeskJet 948C 1705 ScanJet 5590 1711 psc 780xi 1712 Printing Support 1717 LaserJet 3020 171d Bluetooth 2.0 Interface [Broadcom BCM2045] 1801 Inkjet P-2000U 1802 PhotoSmart 470 series 1804 DeskJet 916C 1805 ScanJet 7650 1811 PSC 720 1812 OfficeJet Pro K550 1817 LaserJet 3030 181d Bluetooth 2.0 Interface 1902 PhotoSmart A430 series 1904 DeskJet 3820 1911 OfficeJet V45 1917 LaserJet 3380 1a02 PhotoSmart A510 series 1a11 OfficeJet 5100 series 1a17 color LaserJet 4650 1b02 PhotoSmart A610 series 1b04 DeskJet 3810 1b05 ScanJet 4850C/4890C 1b07 Premium Starter Webcam 1c02 PhotoSmart A710 series 1c17 Color LaserJet 2550l 1d02 PhotoSmart A310 series 1d17 LaserJet 1320 1d24 Barcode scanner 1e02 PhotoSmart A320 Printer series 1e11 PSC-950 1e17 LaserJet 1160 series 1f02 PhotoSmart A440 Printer series 1f11 PSC 920 1f12 OfficeJet Pro K5300 1f17 color LaserJet 5550 1f1d un2400 Gobi Wireless Modem 2001 Floppy 2002 Hub 2004 DeskJet 640c 2005 ScanJet 3570c 2012 OfficeJet Pro K5400 201d un2400 Gobi Wireless Modem (QDL mode) 2039 Cashdrawer 2102 PhotoSmart 7345 2104 DeskJet 630c 2112 OfficeJet Pro L7500 211d Sierra MC5725 [ev2210] 2202 PhotoSmart 7600 series 2205 ScanJet 3500c 2212 OfficeJet Pro L7600 2217 color LaserJet 9500 MFP 222a LaserJet Pro MFP M125nw 2302 PhotoSmart 7600 series 2304 DeskJet 656c 2305 ScanJet 3970c 2311 OfficeJet d series 2312 OfficeJet Pro L7700 2317 LaserJet 4350 231d Broadcom 2070 Bluetooth Combo 2402 PhotoSmart 7700 series 2404 Deskjet F2280 series 2405 ScanJet 4070 PhotoSmart 2417 LaserJet 4250 241d Gobi 2000 Wireless Modem (QDL mode) 2424 LP1965 19" Monitor Hub 2441 Prime G2 [2AP18AA] 2502 PhotoSmart 7700 series 2504 DeskJet F4200 series 2505 ScanJet 3770 2512 OfficeJet Pro L7300 / Compaq LA2405 series monitor 2514 4-port hub 2517 LaserJet 2410 251d Gobi 2000 Wireless Modem 2524 LP3065 30" Monitor Hub 2602 PhotoSmart A520 series 2605 ScanJet 3800c 2611 OfficeJet 7100 series 2617 Color LaserJet 2820 series 2624 Pole Display (HP522 2 x 20 Line Display) 2702 PhotoSmart A620 series 2704 DeskJet 915 2717 Color LaserJet 2830 2724 Magnetic Stripe Reader IDRA-334133-HP 2805 Scanjet G2710 2811 PSC-2100 2817 Color LaserJet 2840 2902 PhotoSmart A820 series 2911 PSC 2200 2917 LaserJet 2420 2a11 PSC 2150 series 2a17 LaserJet 2430 2a1d Integrated Module with Bluetooth 2.1 Wireless technology 2b11 PSC 2170 series 2b17 LaserJet 1020 2b4a Business Slim Keyboard 2c12 Officejet J4680 2c17 LaserJet 1022 2c24 Logitech M-UAL-96 Mouse 2d05 Scanjet 7000 2d11 OfficeJet 6110 2d17 Printing Support 2e11 PSC 1000 2e17 LaserJet 2600n 2e24 LP2275w Monitor Hub 2f11 PSC 1200 2f17 Color LaserJet 2605dn 2f24 LP2475w Monitor Hub 3002 PhotoSmart P1000 3004 DeskJet 980c 3005 ScanJet 4670v 3011 PSC 1100 series 3017 Printing Support 304a Slim Keyboard 3102 PhotoSmart P1100 Printer w/ Card Reader 3104 DeskJet 960c 3111 OfficeJet 4100 series 3117 EWS 2605dtn 311d Atheros AR9285 Malbec Bluetooth Adapter 312a LaserJet Pro M701n 3202 PhotoSmart 1215 3207 4 GB flash drive 3211 OfficeJet 4105 series 3217 LaserJet 3050 3302 PhotoSmart 1218 3304 DeskJet 990c 3307 v125w Stick 3312 OfficeJet J6410 3317 LaserJet 3052 3402 PhotoSmart 1115 3404 DeskJet 6122 3417 LaserJet 3055 3502 PhotoSmart 230 3504 DeskJet 6127c 3511 PSC 2300 3517 LaserJet 3390 354a Slim Keyboard 3602 PhotoSmart 1315 3611 PSC 2410 PhotoSmart 3612 Officejet Pro 8000 A809 3617 Color LaserJet 2605 3711 PSC 2500 3717 EWS UPD 3724 Webcam 3802 PhotoSmart 100 3807 c485w Flash Drive 3817 LaserJet P2015 series 3902 PhotoSmart 130 3912 Officejet Pro 8500 3917 LaserJet P2014 3a02 PhotoSmart 7150 3a11 OfficeJet 5500 series 3a17 Printing Support 3a1d hs2340 HSPA+ mobile broadband 3b02 PhotoSmart 7150~ 3b05 Scanjet N8460 3b11 PSC 1300 series 3b17 LaserJet M1005 MFP 3b2a Color LaserJet MFP M277dw 3c02 PhotoSmart 7350 3c05 Scanjet Professional 1000 Mobile Scanner 3c11 PSC 1358 3c17 EWS UPD 3d02 PhotoSmart 7350~ 3d11 OfficeJet 4215 3d17 LaserJet P1005 3e02 PhotoSmart 7550 3e17 LaserJet P1006 3f02 PhotoSmart 7550~ 3f11 PSC-1315/PSC-1317 3f17 Laserjet P1505 4002 PhotoSmart 635/715/720/735/935/E337 (storage) 4004 CP1160 4102 PhotoSmart 618 4105 ScanJet 4370 4111 OfficeJet 7200 series 4117 LaserJet 1018 4202 PhotoSmart 812 4205 ScanJet G3010 4211 OfficeJet 7300 series 4217 EWS CM1015 4302 PhotoSmart 850 (ptp) 4305 ScanJet G3110 4311 OfficeJet 7400 series 4317 Color LaserJet CM1017 4402 PhotoSmart 935 (ptp) 4417 EWS UPD 4502 PhotoSmart 945 (PTP mode) 4505 ScanJet G4010 4507 External HDD 4511 PhotoSmart 2600 4512 E709n [Officejet 6500 Wireless] 4517 EWS UPD 4605 ScanJet G4050 4611 PhotoSmart 2700 4717 Color LaserJet CP1215 4811 PSC 1600 4911 PSC 2350 4b11 OfficeJet 6200 4c11 PSC 1500 series 4c17 EWS UPD 4d11 PSC 1400 4d17 EWS UPD 4e11 PhotoSmart 2570 series 4f11 OfficeJet 5600 (USBHUB) 4f17 Color LaserJet CM1312 MFP 5004 DeskJet 995c 5011 PhotoSmart 3100 series 5017 EWS UPD 5111 PhotoSmart 3200 series 5211 PhotoSmart 3300 series 5307 v165w Stick 5311 OfficeJet 6300 5312 Officejet Pro 8500A 5317 Color LaserJet CP2025 series 5411 OfficeJet 4300 5511 DeskJet F300 series 5611 PhotoSmart C3180 5617 LaserJet M1120 MFP 5711 PhotoSmart C4100 series 5717 LaserJet M1120n MFP 5811 PhotoSmart C5100 series 5817 LaserJet M1319f MFP 581d lt4112 Gobi 4G Module Network Device 5911 PhotoSmart C6180 5912 Officejet Pro 8600 5a11 PhotoSmart C7100 series 5b11 OfficeJet J2100 series 5b12 Officejet Pro 8100 5c11 PhotoSmart C4200 Printer series 5c12 OfficeJet 6700 5c17 LaserJet P2055 series 5d11 PhotoSmart C5200 series 5e11 PhotoSmart D7400 series 6004 DeskJet 5550 6102 Hewlett Packard Digital Camera 6104 DeskJet 5650c 6117 color LaserJet 3550 6202 PhotoSmart 215 6204 DeskJet 5150c 6217 Color LaserJet 4700 6302 PhotoSmart 318/612 6317 Color LaserJet 4730mfp 6402 PhotoSmart 715 (ptp) 6411 PhotoSmart C8100 series 6417 LaserJet 5200 6502 PhotoSmart 120 (ptp) 6511 PhotoSmart C7200 series 6602 PhotoSmart 320 6611 PhotoSmart C4380 series 6617 LaserJet 5200L 6702 PhotoSmart 720 (ptp) 6717 Color LaserJet 3000 6802 PhotoSmart 620 (ptp) 6811 PhotoSmart D5300 series 6817 Color LaserJet 3800 6911 PhotoSmart D7200 series 6917 Color LaserJet 3600 6a02 PhotoSmart 735 (ptp) 6a11 PhotoSmart C6200 series 6a17 LaserJet 4240 6b02 PhotoSmart R707 (PTP mode) 6b11 Photosmart C4500 series 6c11 Photosmart C4480 6c17 Color LaserJet 4610 6f17 Color LaserJet CP6015 series 7004 DeskJet 3320c 7102 PhotoSmart 635 (PTP mode) 7104 DeskJet 3420c 7117 CM8060 Color MFP with Edgeline Technology 7202 PhotoSmart 43x (ptp) 7204 DeskJet 36xx 7217 LaserJet M5035 MFP 7302 PhotoSmart M307 (PTP mode) 7304 DeskJet 35xx 7311 Photosmart Premium C309 7317 LaserJet P3005 7404 Printing Support 7417 LaserJet M4345 MFP 7504 Printing Support 7517 LaserJet M3035 MFP 7604 DeskJet 3940 7611 DeskJet F2492 All-in-One 7617 LaserJet P3004 7702 PhotoSmart R817 (PTP mode) 7704 DeskJet D4100 7717 CM8050 Color MFP with Edgeline Technology 7804 DeskJet D1360 7817 Color LaserJet CP3505 7917 LaserJet M5025 MFP 7a02 PhotoSmart M415 (PTP mode) 7a04 DeskJet D2460 7a11 Photosmart B109 7a17 LaserJet M3027 MFP 7b02 PhotoSmart M23 (PTP mode) 7b17 Color LaserJet CP4005 7c17 Color LaserJet CM6040 series 7d04 DeskJet F2100 Printer series 7d17 Color LaserJet CM4730 MFP 7e04 DeskJet F4100 Printer series 8017 LaserJet P4515 8104 Printing Support 8117 LaserJet P4015 811c Ethernet HN210E 8204 Printing Support 8207 FHA-3510 2.4GHz Wireless Optical Mobile Mouse 8217 LaserJet P4014 8317 LaserJet M9050 MFP 8404 DeskJet 6800 series 8417 LaserJet M9040 MFP 8504 DeskJet 6600 series 8604 DeskJet 5440 8607 Optical Mobile Mouse 8704 DeskJet 5940 8711 Deskjet 2050 J510 8804 DeskJet 6980 series 8904 DeskJet 6940 series 8911 Deskjet 1050 J410 8c07 Digital Stereo Headset 8c11 Deskjet F4500 series 9002 PhotoSmart M437 9102 PhotoSmart M537 9207 HD-4110 Webcam 9302 PhotoSmart R930 series 9402 PhotoSmart R837 942a LaserJet Pro M12a 9502 PhotoSmart R840 series 952a LaserJet Pro M12w 9602 PhotoSmart M730 series 9702 PhotoSmart R740 series 9802 PhotoSmart Mz60 series 9902 PhotoSmart M630 series 9a02 PhotoSmart E330 series 9b02 PhotoSmart M540 series 9b07 Portable Drive 9c02 PhotoSmart M440 series a004 DeskJet 5850c a011 Deskjet 3050A a407 Wireless Optical Comfort Mouse b002 PhotoSmart 7200 series b102 PhotoSmart 7200 series b107 v255w/c310w Flash Drive b116 Webcam b202 PhotoSmart 7600 series b302 PhotoSmart 7600 series b402 PhotoSmart 7700 series b502 PhotoSmart 7700 series b602 PhotoSmart 7900 series b702 PhotoSmart 7900 series b802 PhotoSmart 7400 series b902 PhotoSmart 7800 series ba02 PhotoSmart 8100 series bb02 PhotoSmart 8400 series bc02 PhotoSmart 8700 series bd02 PhotoSmart Pro B9100 series bef4 NEC Picty760 c002 PhotoSmart 7800 series c102 PhotoSmart 8000 series c111 Deskjet 1510 c202 PhotoSmart 8200 series c211 Deskjet 2540 series c302 DeskJet D2300 c402 PhotoSmart D5100 series c502 PhotoSmart D6100 series c602 PhotoSmart D7100 series c702 PhotoSmart D7300 series c802 PhotoSmart D5060 Printer d104 Bluetooth Dongle d507 39gII [NW249AA] efbe NEC Picty900 f0be NEC Picty920 f1be NEC Picty800 03f1 Genoa Technology 03f2 Oak Technology, Inc. 03f3 Adaptec, Inc. 0020 AWN-8020 WLAN [Intersil PRISM 2.5] 0080 AVC-1100 Audio Capture 0083 AVC-2200 Device 0087 AVC-2210 Loader 0088 AVC-2210 Device 008b AVC-2310 Loader 008c AVC-2310 Device 0094 eHome Infrared Receiver 009b AVC-1410 GameBridge TV NTSC 2000 USBXchange 2001 USBXchange Adapter 2002 USB2-Xchange 2003 USB2-Xchange Adapter 4000 4-port hub adcc Composite Device Support 03f4 Diebold, Inc. 03f5 Siemens Electromechanical 03f8 Epson Imaging Technology Center 03f9 KeyTronic Corp. 0100 KT-2001 Keyboard 0101 Keyboard 0102 Keyboard Mouse 03fb OPTi, Inc. 03fc Elitegroup Computer Systems 03fd Xilinx, Inc. 0008 Platform Cable USB II 0050 dfu downloader 03fe Farallon Comunications 0400 National Semiconductor Corp. 05dc Rigol Technologies DS1000USB Oscilloscope 0807 Bluetooth Dongle 080a Bluetooth Device 09c4 Rigol Technologies DG1022 Arbitrary Waveform Generator 1000 Mustek BearPaw 1200 Scanner 1001 Mustek BearPaw 2400 Scanner 1237 Hub a000 Smart Display Reference Device c359 Logitech Harmony c35b Printing Support c55d Rigol Technologies DS5000USB Oscilloscope 0401 National Registry, Inc. 0402 ALi Corp. 5462 M5462 IDE Controller 5602 M5602 Video Camera Controller 5603 M5603 Video Camera Controller 5606 M5606 Video Camera Controller [UVC] 5621 M5621 High-Speed IDE Controller 5623 M5623 Scanner Controller 5627 Welland ME-740PS USB2 3.5" Power Saving Enclosure 5632 M5632 Host-to-Host Link 5635 M5635 Flash Card Reader 5636 USB 2.0 Storage Device 5637 M5637 IDE Controller 5642 Storage Device 5661 M5661 MP3 player 5667 M5667 MP3 player 9665 Gateway Webcam 0403 Future Technology Devices International, Ltd 0000 H4SMK 7 Port Hub / Bricked Counterfeit FT232 Serial (UART) IC 0232 Serial Converter 1060 JTAG adapter 1234 IronLogic RFID Adapter [Z-2 USB] 1235 Iron Logic Z-397 RS-485/422 converter 6001 FT232 Serial (UART) IC 6002 Lumel PD12 6007 Serial Converter 6008 Serial Converter 6009 Serial Converter 6010 FT2232C/D/H Dual UART/FIFO IC 6011 FT4232H Quad HS USB-UART/FIFO IC 6014 FT232H Single HS USB-UART/FIFO IC 6015 Bridge(I2C/SPI/UART/FIFO) 601f Myriad-RF LimeSDR-Mini 6f70 HB-RF-USB 8028 Dev board JTAG (FT232H based) 8040 4 Port Hub 8070 7 Port Hub 8140 Vehicle Explorer Interface 8210 MGTimer - MGCC (Vic) Timing System 8348 FT232BM [SIENNA Serial Interface] 8370 7 Port Hub 8371 PS/2 Keyboard And Mouse 8372 FT8U100AX Serial Port 8508 Selectronic SP PRO 87d0 Cressi Dive Computer Interface 8a28 Rainforest Automation ZigBee Controller 8a98 TIAO Multi-Protocol Adapter 8b28 Alpermann+Velte TCI70 8b29 Alpermann+Velte TC60 CLS 8b2a Alpermann+Velte Rubidium Q1 8b2b Alpermann+Velte TCD 8b2c Alpermann+Velte TCC70 9090 SNAP Stick 200 9132 LCD and Temperature Interface 9133 CallerID 9135 Rotary Pub alarm 9136 Pulsecounter 9e90 Marvell OpenRD Base/Client 9f08 CIB-1894 Conclusion SmartLink Box: 9f80 Ewert Energy Systems CANdapter a6d0 Texas Instruments XDS100v2 JTAG / BeagleBone A3 a951 HCP HIT GSM/GPRS modem [Cinterion MC55i] a9a0 FT2232D - Dual UART/FIFO IC - FTDI abb8 Lego Mindstorms NXTCam b0c0 microSensys RFID device b0c1 microSensys RFID device b0c2 iID contactless RFID device b0c3 iID contactless RFID device b0c4 RFID device b0c5 RFID device b810 US Interface Navigator (CAT and 2nd PTT lines) b811 US Interface Navigator (WKEY and FSK lines) b812 US Interface Navigator (RS232 and CONFIG lines) b9b0 Fujitsu SK-16FX-100PMC V1.1 baf8 Amontec JTAGkey bcd8 Stellaris Development Board bcd9 Stellaris Evaluation Board bcda Stellaris ICDI Board bd90 PICAXE Download Cable [AXE027] bdc8 Egnite GmbH - JTAG/RS-232 adapter bfd8 OpenDCC bfd9 OpenDCC (Sniffer) bfda OpenDCC (Throttle) bfdb OpenDCC (Gateway) bfdc OpenDCC (GBM) c580 HID UNIKEY dongle [F-Response] c630 lcd2usb interface c631 i2c-tiny-usb interface c632 xu1541 c64 floppy drive interface c633 TinyCrypt dongle c634 glcd2usb interface c7d0 RR-CirKits LocoBuffer-USB c8b8 Alpermann+Velte MTD TCU c8b9 Alpermann+Velte MTD TCU 1HE c8ba Alpermann+Velte Rubidium H1 c8bb Alpermann+Velte Rubidium H3 c8bc Alpermann+Velte Rubidium S1 c8bd Alpermann+Velte Rubidium T1 c8be Alpermann+Velte Rubidium D1 c8bf Alpermann+Velte TC60 RLV cc48 Tactrix OpenPort 1.3 Mitsubishi cc49 Tactrix OpenPort 1.3 Subaru cc4a Tactrix OpenPort 1.3 Universal cff8 Amontec JTAGkey d010 SCS PTC-IIusb d011 SCS Position-Tracker/TNC d012 SCS DRAGON 1 d013 SCS DRAGON 1 d388 Xsens converter d389 Xsens Wireless Receiver d38a Xsens serial converter d38b Xsens serial converter d38c Xsens Wireless Receiver d38d Xsens Awinda Station d38e Xsens serial converter d38f Xsens serial converter d491 Zolix Omni 1509 monochromator d578 Accesio USB-COM-4SM d6f8 UNI Black BOX d738 Propox JTAGcable II d739 Propox ISPcable III d9a9 Actisense USG-1 NMEA Serial Gateway d9aa Actisense NGT-1 NMEA2000 PC Interface d9ab Actisense NGT-1 NMEA2000 Gateway daf4 Qundis Serial Infrared Head e0d0 Total Phase Aardvark I2C/SPI Host Adapter e521 EVER Sinline XL Series UPS e6c8 PYRAMID Computer GmbH LCD e700 Elster Unicom III Optical Probe e729 Segway Robotic Mobility Platforms 200 e888 Expert ISDN Control USB e889 USB-RS232 OptoBridge e88a Expert mouseCLOCK USB II e88b Precision Clock MSF USB e88c Expert mouseCLOCK USB II HBG e8d8 Aaronia AG Spectran Spectrum Analyzer e8dc Aaronia AG UBBV Preamplifier ea90 Eclo 1-Wire Adapter ecd9 miControl miCan-Stick ed71 HAMEG HO870 Serial Port ed72 HAMEG HO720 Serial Port ed73 HAMEG HO730 Serial Port ed74 HAMEG HO820 Serial Port ef10 FT1245BL f070 Serial Converter 422/485 [Vardaan VEUSB422R3] f0c8 SPROG Decoder Programmer f0c9 SPROG-DCC CAN-USB f0e9 Tagsys L-P101 f0ee Tagsys Medio P200x f1a0 Asix PRESTO Programmer f208 Papenmeier Braille-Display f3c0 4N-GALAXY Serial Converter f458 ABACUS ELECTRICS Optical Probe f608 CTI USB-485-Mini f60b CTI USB-Nano-485 f680 Suunto Sports Instrument f758 GW Instek GDS-8x0 Oscilloscope f7c0 ZeitControl Cardsystems TagTracer MIFARE f850 USB-UIRT (Universal Infrared Receiver+Transmitter) f918 Ant8 Logic Probe fa00 Matrix Orbital USB Serial fa01 Matrix Orbital MX2 or MX3 fa02 Matrix Orbital MX4 or MX5 fa03 Matrix Orbital VK/LK202 Family fa04 Matrix Orbital VK/LK204 Family fa20 Ross-Tech HEX-USB fc08 Crystalfontz CFA-632 USB LCD fc09 Crystalfontz CFA-634 USB LCD fc0b Crystalfontz CFA-633 USB LCD fc0c Crystalfontz CFA-631 USB LCD fc0d Crystalfontz CFA-635 USB LCD fc82 SEMC DSS-20/DSS-25 SyncStation fd48 ShipModul MiniPlex-4xUSB NMEA Multiplexer fd49 ShipModul MiniPlex-4xUSB-AIS NMEA Multiplexer fd4b ShipModul MiniPlex NMEA Multiplexer ff08 ToolHouse LoopBack Adapter ff18 ScienceScope Logbook ML ff19 Logbook Bus ff1a Logbook Bus ff1b Logbook Bus ff1c ScienceScope Logbook LS ff1d ScienceScope Logbook HS ff1e Logbook Bus ff1f Logbook Bus 0404 NCR Corp. 0202 78XX Scanner 0203 78XX Scanner - Embedded System 0310 K590 Printer, Self-Service 0311 7167 Printer, Receipt/Slip 0312 7197 Printer Receipt 0320 5932-USB Keyboard 0321 5953-USB Dynakey 0322 5932-USB Enhanced Keyboard 0323 5932-USB Enhanced Keyboard, Flash-Recovery/Download 0324 5953-USB Enhanced Dynakey 0325 5953-USB Enhanced Dynakey Flash-Recovery/Download 0328 K016: USB-MSR ISO 3-track MSR: POS Standard (See HID pages) 0329 K018: USB-MSR JIS 2-Track MSR: POS Standard 032a K016: USB-MSR ISO 3-Track MSR: HID Keyboard Mode 032b K016/K018: USB-MSR Flash-Recovery/Download 0405 Synopsys, Inc. 0406 Fujitsu-ICL Computers 0407 Fujitsu Personal Systems, Inc. 0408 Quanta Computer, Inc. 0103 FV TouchCam N1 (Audio) 030c HP Webcam 03b2 HP Webcam 03f4 HP Webcam 1030 FV TouchCam N1 (Video) 3000 Optical dual-touch panel 3001 Optical Touch Screen 3008 Optical Touch Screen a060 HD Webcam 0409 NEC Corp. 0011 PC98 Series Layout Keyboard Mouse 0012 ATerm IT75DSU ISDN TA 0014 Japanese Keyboard 0019 109 Japanese Keyboard with Bus-Powered Hub 001a PC98 Series Layout Keyboard with Bus-Powered Hub 0025 Mini Keyboard with Bus-Powered Hub 0027 MultiSync Monitor 002c Clik!-USB Drive 0034 109 Japanese Keyboard with One-touch start buttons 003f Wireless Keyboard with One-touch start buttons 0040 Floppy 004e SuperScript 1400 Series 004f Wireless Keyboard with One-touch start buttons 0050 7-port hub 0058 HighSpeed Hub 0059 HighSpeed Hub 005a HighSpeed Hub 006a Conceptronic USB Harddisk Box 007d MINICUBE2 007e PG-FP5 Flash Memory Programmer 0081 SuperScript 1400 Series 0082 SuperScript 1400 Series 0094 Japanese Keyboard with One-touch start buttons 0095 Japanese Keyboard 00a9 AtermIT21L 128K Support Standard 00aa AtermITX72 128K Support Standard 00ab AtermITX62 128K Support Standard 00ac AtermIT42 128K Support Standard 00ae INSMATEV70G-MAX Standard 00af AtermITX70 128K Support Standard 00b0 AtermITX80 128K Support Standard 00b2 AtermITX80D 128K Support Standard 00c0 Wireless Remocon 00f7 Smart Display PK-SD10 011d e228 Mobile Phone 0203 HID Audio Controls 021d Aterm WL54SU2 802.11g Wireless Adapter [Atheros AR5523] 0248 Aterm PA-WL54GU 0249 Aterm WL300NU-G 02b4 Aterm WL300NU-AG 02b6 Aterm WL300NU-GS 802.11n Wireless Adapter 02bc Computer Monitor 0300 LifeTouch Note 0301 LifeTouch Note (debug mode) 55aa Hub 55ab Hub [iMac/iTouch kbd] 8010 Intellibase Hub 8011 Intellibase Hub efbe P!cty 900 [HP DJ] f0be P!cty 920 [HP DJ 812c] 040a Kodak Co. 0001 DVC-323 0002 DVC-325 0100 DC-220 0110 DC-260 0111 DC-265 0112 DC-290 0120 DC-240 0121 DC-240 (PTP firmware) 0130 DC-280 0131 DC-5000 0132 DC-3400 0140 DC-4800 0160 DC4800 0170 DX3900 0200 Digital Camera 0300 EZ-200 0400 MC3 0402 Digital Camera 0403 Z7590 0500 DX3500 0510 DX3600 0525 DX3215 0530 DX3700 0535 EasyShare CX4230 Camera 0540 LS420 0550 DX4900 0555 DX4330 0560 CX4200 0565 CX4210 0566 CX4300 0567 LS753 0568 LS443 0569 LS663 0570 DX6340 0571 CX6330 0572 DX6440 0573 CX6230 0574 CX6200 0575 DX6490 0576 DX4530 0577 DX7630 0578 CX7300/CX7310 0579 CX7220 057a CX7330 057b CX7430 057c CX7530 057d DX7440 057e C300 057f DX7590 0580 Z730 0581 Digital Camera 0582 Digital Camera 0583 Digital Camera 0584 CX6445 0585 Digital Camera 0586 CX7525 0587 Digital Camera 0588 Digital Camera 0589 EasyShare C360 058a C310 058b Digital Camera 058c C330 058d C340 058e V530 058f V550 0590 Digital Camera 0591 Digital Camera 0592 Digital Camera 0593 Digital Camera 0594 Digital Camera 0595 Digital Camera 0596 Digital Camera 0597 Digital Camera 0598 EASYSHARE M1033 digital camera 0599 Digital Camera 059a Digital Camera 059b Digital Camera 059c Digital Camera 059d Digital Camera 059e Digital Camera 059f Digital Camera 05a0 Digital Camera 05a1 Digital Camera 05a2 Digital Camera 05a3 Digital Camera 05a4 Digital Camera 05a5 Digital Camera 05a6 Digital Camera 05a7 Digital Camera 05a8 Digital Camera 05a9 Digital Camera 05aa Digital Camera 05ab Digital Camera 05ac Digital Camera 05ad Digital Camera 05ae Digital Camera 05af Digital Camera 05b0 Digital Camera 05b1 Digital Camera 05b2 Digital Camera 05b3 EasyShare Z710 Camera 05b4 Digital Camera 05b5 Digital Camera 05b6 Digital Camera 05b7 Digital Camera 05b8 Digital Camera 05b9 Digital Camera 05ba Digital Camera 05bb Digital Camera 05bc Digital Camera 05bd Digital Camera 05be Digital Camera 05bf Digital Camera 05c0 Digital Camera 05c1 Digital Camera 05c2 Digital Camera 05c3 Digital Camera 05c4 Digital Camera 05c5 Digital Camera 05c8 EASYSHARE Z1485 IS Digital Camera 05d3 EasyShare M320 Camera 05d4 EasyShare C180 Digital Camera 1001 EasyShare SV811 Digital Picture Frame 4000 InkJet Color Printer 4021 Photo Printer 6800 4022 1400 Digital Photo Printer 402b Photo Printer 6850 402e 605 Photo Printer 4034 805 Photo Printer 4035 7000 Photo Printer 4037 7010 Photo Printer 4038 7015 Photo Printer 404d 8810 Photo Printer 404f 305 Photo Printer 4056 ESP 7200 Series AiO 4109 EasyShare Printer Dock Series 3 410d EasyShare G600 Printer Dock 5010 Wireless Adapter 5012 DBT-220 Bluetooth Adapter 6001 i30 6002 i40 6003 i50 6004 i60 6005 i80 6029 i900 602a i900 040b Weltrend Semiconductor 0a68 Func MS-3 gaming mouse [WT6573F MCU] 2000 wired Keyboard [Dynex DX-WRK1401] 2367 Human Interface Device [HP CalcPad 200 Calculator and Numeric Keypad] 6510 Weltrend Bar Code Reader 6520 Xploder Xbox Memory Unit (8MB) 6533 Speed-Link Competition Pro 6543 Manhattan Magnetic Card Strip Reader 040c VTech Computers, Ltd 040d VIA Technologies, Inc. 3184 VNT VT6656 USB-802.11 Wireless LAN Adapter 340f Audinst HUD-mx2 6205 USB 2.0 Card Reader 040e MCCI 040f Echo Speech Corp. 0411 BUFFALO INC. (formerly MelCo., Inc.) 0001 LUA-TX Ethernet [pegasus] 0005 LUA-TX Ethernet 0006 WLI-USB-L11 Wireless LAN Adapter 0009 LUA2-TX Ethernet 000b WLI-USB-L11G-WR Wireless LAN Adapter 000d WLI-USB-L11G Wireless LAN Adapter 0012 LUA-KTX Ethernet 0013 USB2-IDE Adapter 0016 WLI-USB-S11 802.11b Adapter 0018 USB2-IDE Adapter 001c USB-IDE Bridge: DUB-PxxG 0027 WLI-USB-KS11G 802.11b Adapter 002a SMSC USB97C202 "HD-HB300V2-EU" 003d LUA-U2-KTX Ethernet 0044 WLI-USB-KB11 Wireless LAN Adapter 004b WLI-USB-G54 802.11g Adapter [Broadcom 4320 USB] 004d WLI-USB-B11 Wireless LAN Adapter 0050 WLI2-USB2-G54 Wireless LAN Adapter 005e WLI-U2-KG54-YB WLAN 0065 Python2 WDM Encoder 0066 WLI-U2-KG54 WLAN 0067 WLI-U2-KG54-AI WLAN 006e LUA-U2-GT 10/100/1000 Ethernet Adapter 0089 RUF-C/U2 Flash Drive 008b Nintendo Wi-Fi 0091 WLI-U2-KAMG54 Wireless LAN Adapter 0092 WLI-U2-KAMG54 Bootloader 0097 WLI-U2-KG54-BB 00a9 WLI-U2-AMG54HP Wireless LAN Adapter 00aa WLI-U2-AMG54HP Bootloader 00b3 PC-OP-RS1 RemoteStation 00bc WLI-U2-KG125S 802.11g Adapter [Broadcom 4320 USB] 00ca 802.11n Network Adapter 00cb WLI-U2-G300N 802.11n Adapter 00d8 WLI-U2-SG54HP 00d9 WLI-U2-G54HP 00da WLI-U2-KG54L 802.11bg [ZyDAS ZD1211B] 00db External Hard Drive HD-PF32OU2 [Buffalo Ministation] 00e8 WLI-UC-G300N Wireless LAN Adapter [Ralink RT2870] 00f9 Portable DVD Writer (DVSM-PL58U2) 0105 External Hard Drive HD-CEU2 [Drive Station] 012c SATA Bridge 012e WLI-UC-AG300N Wireless LAN Adapter 0148 WLI-UC-G300HP Wireless LAN Adapter 0150 WLP-UC-AG300 Wireless LAN Adapter 0157 External Hard Drive HD-PEU2 0158 WLI-UC-GNHP Wireless LAN Adapter 015d WLI-UC-GN Wireless LAN Adapter [Ralink RT3070] 016f WLI-UC-G301N Wireless LAN Adapter [Ralink RT3072] 017f Sony UWA-BR100 802.11abgn Wireless Adapter [Atheros AR7010+AR9280] 019e WLI-UC-GNP Wireless LAN Adapter 01a1 MiniStation Metro 01a2 WLI-UC-GNM Wireless LAN Adapter [Ralink RT8070] 01ba SATA Bridge 01dc Ultra-Slim Portable DVD Writer (DVSM-PC58U2V) 01de External Hard Drive HD-PCTU3 [Buffalo MiniStation] 01ea SATA Bridge 01ee WLI-UC-GNM2 Wireless LAN Adapter [Ralink RT3070] 01f1 SATA Adapter [HD-LBU3] 01fd WLI-UC-G450 Wireless LAN Adapter 027e HD-LCU3 0412 Award Software International 0413 Leadtek Research, Inc. 1310 WinFast TV - NTSC + FM 1311 WinFast TV - NTSC + MTS + FM 1312 WinFast TV - PAL BG + FM 1313 WinFast TV - PAL BG+TXT + FM 1314 WinFast TV Audio - PHP PAL I 1315 WinFast TV Audio - PHP PAL I+TXT 1316 WinFast TV Audio - PHP PAL DK 1317 WinFast TV Audio - PHP PAL DK+TXT 1318 WinFast TV - PAL I/DK + FM 1319 WinFast TV - PAL N + FM 131a WinFast TV Audio - PHP SECAM LL 131b WinFast TV Audio - PHP SECAM LL+TXT 131c WinFast TV Audio - PHP SECAM DK 131d WinFast TV - SECAM DK + TXT + FM 131e WinFast TV - NTSC Japan + FM 1320 WinFast TV - NTSC 1321 WinFast TV - NTSC + MTS 1322 WinFast TV - PAL BG 1323 WinFast TV - PAL BG+TXT 1324 WinFast TV Audio - PHP PAL I 1325 WinFast TV Audio - PHP PAL I+TXT 1326 WinFast TV Audio - PHP PAL DK 1327 WinFast TV Audio - PHP PAL DK+TXT 1328 WinFast TV - PAL I/DK 1329 WinFast TV - PAL N 132a WinFast TV Audio - PHP SECAM LL 132b WinFast TV Audio - PHP SECAM LL+TXT 132c WinFast TV Audio - PHP SECAM DK 132d WinFast TV - SECAM DK + TXT 132e WinFast TV - NTSC Japan 6023 EMP Audio Device 6024 WinFast PalmTop/Novo TV Video 6025 WinFast DTV Dongle (cold state) 6026 WinFast DTV Dongle (warm state) 6029 WinFast DTV Dongle Gold 6125 WinFast DTV Dongle 6126 WinFast DTV Dongle BDA Driver 6a03 RTL2832 [WinFast DTV Dongle Mini] 6f00 WinFast DTV Dongle (STK7700P based) 0414 Giga-Byte Technology Co., Ltd 0416 Winbond Electronics Corp. 0035 W89C35 802.11bg WLAN Adapter 0101 Hub 0961 AVL Flash Card Reader 3810 Smart Card Controller 3811 Generic Controller - Single interface 3812 Smart Card Controller_2Interface 3813 Panel Display 5011 Virtual Com Port 511b Nuvoton Nu-Link1 ICE 511c Nuvoton Nu-Link1 ICE 511d Nuvoton Nu-Link1 ICE/VCOM 511e Nuvoton Nu-Link1 MSC/VCOM 5200 Nuvoton Nu-Link2-ME ICE/MSC/VCOM 5201 Nuvoton Nu-Link2-Pro ICE/MSC/VCOM 5210 Nuvoton Nu-Link2 MSC FW UPGRADE 5211 Nuvoton Nu-Link2 HID FW UPGRADE 5518 4-Port Hub 551a PC Sync Keypad 551b PC Async Keypad 551c Sync Tenkey 551d Async Tenkey 551e Keyboard 551f Keyboard w/ Sys and Media 5521 Keyboard 6481 16-bit Scanner 7721 Memory Stick Reader/Writer 7722 Memory Stick Reader/Writer 7723 SD Card Reader c141 Barcode Scanner 0417 Symbios Logic 0418 AST Research 0419 Samsung Info. Systems America, Inc. 0001 IrDA Remote Controller / Creative Cordless Mouse 0600 Desktop Wireless 6000 2694 Laila 3001 Xerox P1202 Laser Printer 3003 Olivetti PG L12L 3201 Docuprint P8ex 3404 SCX-5x12 series 3406 MFP 830 series 3407 ML-912 3601 InkJet Color Printer 3602 InkJet Color Printer 4602 Remote NDIS Network Device 8001 Hub 8002 SyncMaster HID Monitor Control aa03 SDAS-3 MP3 Player 041a Phoenix Technologies, Ltd 041b d'TV 041d S3, Inc. 041e Creative Technology, Ltd 0414 HS-720 Headset 1002 Nomad II 1003 Blaster GamePad Cobra 1050 GamePad Cobra 1053 Mouse Gamer HD7600L 200c MuVo V100 2020 Zen X-Fi 2 2029 ZiiO 2801 Prodikeys PC-MIDI multifunction keyboard 3000 SoundBlaster Extigy 3002 SB External Composite Device 3010 SoundBlaster MP3+ 3014 SB External Composite Device 3015 Sound Blaster Digital Music LX 3020 SoundBlaster Audigy 2 NX 3030 SB External Composite Device 3040 SoundBlaster Live! 24-bit External SB0490 3060 Sound Blaster Audigy 2 ZS External 3061 SoundBlaster Audigy 2 ZS Video Editor 3090 Sound Blaster Digital Music SX 30d0 Xmod 30d3 Sound Blaster Play! 3100 IR Receiver (SB0540) 3121 WoW tap chat 3220 Sound Blaster Tactic(3D) Sigma sound card 3232 Sound Blaster Premium HD [SBX] 3237 SB X-Fi Surround 5.1 Pro 3263 SB X-Fi Surround 5.1 Pro 3f00 E-Mu Xboard 25 MIDI Controller 3f02 E-Mu 0202 3f04 E-Mu 0404 3f07 E-Mu Xmidi 1x1 3f0e Xmidi 1x1 Tab 4003 VideoBlaster Webcam Go Plus [W9967CF] 4004 Nomad II MG 4005 Webcam Blaster Go ES 4007 Go Mini 400a PC-Cam 300 400b PC-Cam 600 400c Webcam 5 [pwc] 400d Webcam PD1001 400f PC-CAM 550 (Composite) 4011 Webcam PRO eX 4012 PC-CAM350 4013 PC-Cam 750 4015 CardCam Value 4016 CardCam 4017 Webcam Mobile [PD1090] 4018 Webcam Vista [PD1100] 4019 Audio Device 401a Webcam Vista [PD1100] 401c Webcam NX [PD1110] 401d Webcam NX Ultra 401e Webcam NX Pro 401f Webcam Notebook [PD1171] 4020 Webcam NX 4021 Webcam NX Ultra 4022 Webcam NX Pro 4028 Vista Plus cam [VF0090] 4029 Webcam Live! 402f DC-CAM 3000Z 4034 Webcam Instant 4035 Webcam Instant 4036 Webcam Live!/Live! Pro 4037 Webcam Live! 4038 ORITE CCD Webcam [PC370R] 4039 Webcam Live! Effects 403a Webcam NX Pro 2 403b Creative Webcam Vista [VF0010] 403c Webcam Live! Ultra 403d Webcam Notebook Ultra 403e Webcam Vista Plus 4041 Webcam Live! Motion 4043 Vibra Plus Webcam 4045 Live! Cam Voice 4049 Live! Cam Voice 4051 Live! Cam Notebook Pro [VF0250] 4052 Live! Cam Vista IM 4053 Live! Cam Video IM 4054 Live! Cam Video IM 4055 Live! Cam Video IM Pro 4056 Live! Cam Video IM Pro 4057 Live! Cam Optia 4058 Live! Cam Optia AF 405f WebCam Vista (VF0330) 4061 Live! Cam Notebook Pro [VF0400] 4063 Live! Cam Video IM Pro 4068 Live! Cam Notebook [VF0470] 406c Live! Cam Sync [VF0520] 4083 Live! Cam Socialize [VF0640] 4087 Live! Cam Socialize HD 1080 [VF0680] 4088 Live! Cam Chat HD [VF0700] 4095 Live! Cam Sync HD [VF0770] 4097 Live! Cam Chat HD [VF0700] 4100 Nomad Jukebox 2 4101 Nomad Jukebox 3 4102 NOMAD MuVo^2 4106 Nomad MuVo 4107 NOMAD MuVo 4108 Nomad Jukebox Zen 4109 Nomad Jukebox Zen NX 410b Nomad Jukebox Zen USB 2.0 410c Nomad MuVo NX 410f NOMAD MuVo^2 (Flash) 4110 Nomad Jukebox Zen Xtra 4111 Dell Digital Jukebox 4116 MuVo^2 4117 Nomad MuVo TX 411b Zen Touch 411c Nomad MuVo USB 2.0 411d Zen 411e Zen Micro 4120 Nomad MuVo TX FM 4123 Zen Portable Media Center 4124 MuVo^2 FM (uHDD) 4126 Dell DJ (2nd gen) 4127 Dell DJ 4128 NOMAD Jukebox Zen Xtra (mtp) 412b MuVo N200 with FM radio 412f Dell Digital Jukebox 2.Gen 4130 Zen Micro (mtp) 4131 DAP-HD0014 [Zen Touch] (MTP) 4133 Mass Storage Device 4134 Zen Neeon 4136 Zen Sleek 4137 Zen Sleek (mtp) 4139 Zen Nano Plus 413c Zen MicroPhoto 4150 Zen V (MTP) 4151 Zen Vision:M (mtp) 4152 Zen V Plus 4153 Zen Vision W 4154 Zen Stone 4155 Zen Stone plus 4157 Zen (MTP) 500f Broadband Blaster 8012U-V 5015 TECOM Bluetooth Device ffff Webcam Live! Ultra 041f LCS Telegraphics 0420 Chips and Technologies 1307 Celly SIM Card Reader 0421 Nokia Mobile Phones 0001 E61i (PC Suite mode) 0018 6288 GSM Smartphone 0019 6288 GSM Smartphone (imaging mode) 001a 6288 GSM Smartphone (file transfer mode) 0024 5610 XpressMusic (Storage mode) 0025 5610 XpressMusic (PC Suite mode) 0028 5610 XpressMusic (Imaging mode) 002d 6120 Phone (Mass storage mode) 002e 6120 Phone (Media-Player mode) 002f 6120 Phone (PC-Suite mode) 0042 E51 (PC Suite mode) 0064 3109c GSM Phone 006b 5310 Xpress Music (PC Suite mode) 006c 5310 Xpress music (Storage mode) 006d N95 (Storage mode) 006e N95 (Multimedia mode) 006f N95 (Printing mode) 0070 N95 (PC Suite mode) 0096 N810 Internet Tablet 00aa E71 (Mass storage mode) 00ab E71 (PC Suite mode) 00e4 E71 (Media transfer mode) 0103 ADL Flashing Engine AVALON Parent 0104 ADL Re-Flashing Engine Parent 0105 Nokia Firmware Upgrade Mode 0106 ROM Parent 010d E75 (Storage Mode) 010e E75 (PC Suite mode) 010f E75 (Media transfer mode) 0110 E75 (Imaging Mode) 0154 5800 XpressMusic (PC Suite mode) 0155 5800 XpressMusic (Multimedia mode) 0156 5800 XpressMusic (Storage mode) 0157 5800 XpressMusic (Imaging mode) 0199 6700 Classic (msc) 019a 6700 Classic (PC Suite) 019b 6700 Classic (mtp) 01b0 6303 classic Phone (PC Suite mode) 01b1 6303 classic Phone (Mass storage mode) 01b2 6303 classic Phone (Printing and media mode) 01c7 N900 (Storage Mode) 01c8 N900 (PC-Suite Mode) 0228 5530 XpressMusic 023a 6730 Classic 026a N97 (mass storage) 026b N97 (Multimedia) 026c N97 (PC Suite) 026d N97 (Pictures) 0295 660i/6600i Slide Phone (Mass Storage) 0297 660i/6600i Slide Phone (Still Image) 02e1 5230 (Storage mode) 02e2 5230 (Multimedia mode) 02e3 5230 (PC-Suite mode) 02e4 5230 (Imaging mode) 0360 C1-01 Ovi Suite Mode 0396 C7-00 (Modem mode) 03a4 C5 (Storage mode) 03c0 C7-00 (Mass storage mode) 03c1 C7-00 (Media transfer mode) 03c2 Sim 03cd C7-00 (Nokia Suite mode) 03d1 N950 0400 7600 Phone Parent 0401 6650 GSM Phone 0402 6255 Phone Parent 0404 5510 0405 9500 GSM Communicator 0407 Music Player HDR-1(tm) 040b N-Gage GSM Phone 040d 6620 Phone Parent 040e 6651 Phone Parent 040f 6230 GSM Phone 0410 6630 Imaging Smartphone 0411 7610 Phone Parent 0413 6260 Phone Parent 0414 7370 0415 9300 GSM Smartphone 0416 6170 Phone Parent 0417 7270 Phone Parent 0418 E70 (PC Suite mode) 0419 E60 (PC Suite mode) 041a 9500 GSM Communicator (RNDIS) 041b 9300 GSM Smartphone (RNDIS) 041c 7710 Phone Parent 041d 6670 Phone Parent 041e 6680 041f 6235 Phone Parent 0421 3230 Phone Parent 0422 6681 Phone Parent 0423 6682 Phone Parent 0428 6230i Modem 0429 6230i MultiMedia Card 0431 770 Internet Tablet 0432 N90 Phone Parent 0435 E70 (IP Passthrough/RNDIS mode) 0436 E60 (IP Passthrough/RNDIS mode) 0437 6265 Phone Parent 043a N70 USB Phone Parent 043b 3155 Phone Parent 043c 6155 Phone Parent 043d 6270 Phone Parent 0443 N70 Phone Parent 0444 N91 044c NM850iG Phone Parent 044d E61 (PC Suite mode) 044e E61 (Data Exchange mode) 044f E61 (IP Passthrough/RNDIS mode) 0453 9300 Phone Parent 0456 6111 Phone Parent 0457 6111 Phone (Printing mode) 045a 6280 Phone Parent 045d 6282 Phone Parent 046e 6110 Navigator 0471 6110 Navigator 0485 MTP Device 04b9 5300 04bc 5200 (Nokia mode) 04bd 5200 (Storage mode) 04be 5200 (MTP mode) 04c3 N800 Internet Tablet 04ce E90 Communicator (PC Suite mode) 04cf E90 Communicator (Storage mode) 04f0 Nokia N95 (PC Suite mode) 04f9 6300 (PC Suite mode) 0508 E65 (PC Suite mode) 0509 E65 (Storage mode) 0518 N9 Phone 054d C2-01 0600 Digital Pen SU-1B 0610 CS-15 (Internet Stick 3G modem) 0661 Lumia 620/920 0662 301 Dual SIM (Mass Storage) 0663 301 Dual SIM 069a 130 [RM-1035] (Charging only) 06fc Lumia 640 Phone 0720 X (RM-980) 0800 Connectivity Cable DKU-5 0801 Data Cable DKU-6 0802 CA-42 Phone Parent 0422 ADI Systems, Inc. 0423 Computer Access Technology Corp. 000a NetMate Ethernet 000c NetMate2 Ethernet 000d USB Chief Analyzer 0100 Generic Universal Protocol Analyzer 0101 UPA USBTracer 0200 Generic 10K Universal Protocol Analyzer 020a PETracer ML 0300 Generic Universal Protocol Analyzer 0301 2500H Tracer Trainer 030a PETracer x1 1237 Andromeda Hub 0424 Microchip Technology, Inc. (formerly SMSC) 0001 Integrated Hub 0140 LPC47M14x hub 0acd Sitecom Internal Multi Memory reader/writer MD-005 0fdc Floppy 10cd Sitecom Internal Multi Memory reader/writer MD-005 2020 USB Hub 20cd Sitecom Internal Multi Memory reader/writer MD-005 20fc 6-in-1 Card Reader 2134 Hub 2228 9-in-2 Card Reader 223a 8-in-1 Card Reader 2503 USB 2.0 Hub 2507 hub 2512 USB 2.0 Hub 2513 2.0 Hub 2514 USB 2.0 Hub 2517 Hub 2524 USB MultiSwitch Hub 2602 USB 2.0 Hub 2640 USB 2.0 Hub 2660 Hub 2744 Hub 274d HTC Hub Controller 2807 Hub 3fc7 RME Babyface audio system 3fcc RME MADIface 4041 Hub and media card controller 4060 Ultra Fast Media Reader 4064 Ultra Fast Media Reader 4712 USB4712 high-speed hub 4713 USB4715 high-speed hub (2 ports disabled) 4714 USB4715 high-speed hub (1 port disabled) 4715 USB4715 high-speed hub 4910 USB491x hub integrated functions (primary) 4912 USB4912 high-speed hub (1 port disabled) 4914 USB4914 high-speed hub 4916 USB4916 high-speed hub 4920 USB491x hub integrated functions (secondary) 4925 USB4925 high-speed hub (primary upstream) 4927 USB4927 high-speed hub (primary upstream) 4931 USB4925/4927 high-speed hub (secondary upstream) 4940 USB47xx/49xx hub integrated WinUSB 4942 USB47xx/49xx hub integrated I2S audio port 4943 USB47xx/49xx hub integrated I2S audio + HID port 4944 USB47xx/49xx hub integrated serial port 4946 USB47xx/49xx hub integrated serial + I2S audio port 4947 USB47xx/49xx hub integrated serial + I2S audio + HID port 494a USB47xx/49xx hub integrated WinUSB + I2S audio port 494b USB47xx/49xx hub integrated WinUSB + I2S audio + HID port 494c USB47xx/49xx hub integrated WinUSB + serial port 494e USB47xx/49xx hub integrated WinUSB + serial + I2S audio port 494f USB47xx/49xx hub integrated WinUSB + serial + I2S audio + HID port 5434 Hub 5534 Hub 5744 Hub 5807 Hub 7500 LAN7500 Ethernet 10/100/1000 Adapter 9500 LAN9500/LAN9500i 9512 SMC9512/9514 USB Hub 9514 SMC9514 Hub 9904 LAN9512/LAN9514 Ethernet 10/100 Adapter (SAL10) 9e00 LAN9500A/LAN9500Ai a700 2 Port Hub ec00 SMSC9512/9514 Fast Ethernet Adapter 0425 Motorola Semiconductors HK, Ltd 0101 G-Tech Wireless Mouse & Keyboard f102 G-Tech U+P Wireless Mouse 0426 Integrated Device Technology, Inc. 0426 WDM Driver 0427 Motorola Electronics Taiwan, Ltd 0428 Advanced Gravis Computer Tech, Ltd 4001 GamePad Pro 0429 Cirrus Logic 042a Ericsson Austrian, AG 042b Intel Corp. 9316 8x931Hx Customer Hub 042c Innovative Semiconductors, Inc. 042d Micronics 042e Acer, Inc. 0380 MP3 Player 042f Molex, Inc. 0430 Sun Microsystems, Inc. 0002 109 Keyboard 0005 Type 6 Keyboard 000a 109 Japanese Keyboard 000b 109 Japanese Keyboard 0082 109 Japanese Keyboard 0083 109 Japanese Keyboard 00a2 Type 7 Keyboard 0100 3-button Mouse 0502 Panasonic CF-19 HID Touch Panel 100e 24.1" LCD Monitor v4 / FID-638 Mouse 36ba Bus Powered Hub a101 remote key/mouse for P3 chip a102 remote key/mouse/storage for P3 chip a103 remote storage for P3 chip a111 remote keyboard for P4 chip a112 remote mouse for P4 chip a113 remote storage for P4 chip a4a2 Ethernet (RNDIS and CDC ethernet) cdab Raritan KVM dongle 0431 Itac Systems, Inc. 0100 Mouse-Trak 3-button Track Ball 0432 Unisys Corp. 0031 Document Processor 0433 Alps Electric, Inc. 1101 IBM Game Controller abab Keyboard 0434 Samsung Info. Systems America, Inc. 0435 Hyundai Electronics America 0436 Taugagreining HF 0005 CameraMate (DPCM_USB) 0437 Framatome Connectors USA 0438 Advanced Micro Devices, Inc. 7900 Root Hub 0439 Voice Technologies Group 043d Lexmark International, Inc. 0001 Laser Printer 0002 Optra E310 Printer 0003 Laser Printer 0004 Laser Printer 0005 Laser Printer 0006 Laser Printer 0007 Laser Printer 0008 Inkjet Color Printer 0009 Optra S2450 Printer 000a Laser Printer 000b Inkjet Color Printer 000c Optra E312 Printer 000d Laser Printer 000e Laser Printer 000f Laser Printer 0010 Laser Printer 0011 Laser Printer 0012 Inkjet Color Printer 0013 Inkjet Color Printer 0014 InkJet Color Printer 0015 InkJet Color Printer 0016 Z12 Color Jetprinter 0017 Z32 printer 0018 Z52 Printer 0019 Forms Printer 001a Z65 Printer 001b InkJet Photo Printer 001c Kodak Personal Picture Maker 200 Printer 001d InkJet Color Printer 001e InkJet Photo Printer 001f Kodak Personal Picture Maker 200 Card Reader 0020 Z51 Printer 0021 Z33 Printer 0022 InkJet Color Printer 0023 Laser Printer 0024 Laser Printer 0025 InkJet Color Printer 0026 InkJet Color Printer 0027 InkJet Color Printer 0028 InkJet Color Printer 0029 Scan Print Copy 002a Scan Print Copy 002b Scan Print Copy 002c Scan Print Copy 002d X70/X73 Scan/Print/Copy 002e Scan Print Copy 002f Scan Print Copy 0030 Scan Print Copy 0031 Scan Print Copy 0032 Scan Print Copy 0033 Scan Print Copy 0034 Scan Print Copy 0035 Scan Print Copy 0036 Scan Print Copy 0037 Scan Print Copy 0038 Scan Print Copy 0039 Scan Print Copy 003a Scan Print Copy 003b Scan Print Copy 003c Scan Print Copy 003d X83 Scan/Print/Copy 003e Scan Print Copy 003f Scan Print Copy 0040 Scan Print Copy 0041 Scan Print Copy 0042 Scan Print Copy 0043 Scan Print Copy 0044 Scan Print Copy 0045 Scan Print Copy 0046 Scan Print Copy 0047 Scan Print Copy 0048 Scan Print Copy 0049 Scan Print Copy 004a Scan Print Copy 004b Scan Print Copy 004c Scan Print Copy 004d Laser Printer 004e Laser Printer 004f InkJet Color Printer 0050 InkJet Color Printer 0051 Laser Printer 0052 Laser Printer 0053 InkJet Color Printer 0054 InkJet Color Printer 0057 Z35 Printer 0058 Laser Printer 005a X63 005c InkJet Color Printer 0060 X74/X75 Scanner 0061 X74 Hub 0065 X5130 0069 X74/X75 Printer 006d X125 006e C510 0072 X6170 Printer 0073 InkJet Color Printer 0078 InkJet Color Printer 0079 InkJet Color Printer 007a Generic Hub 007b InkJet Color Printer 007c X1110/X1130/X1140/X1150/X1170/X1180/X1185 007d Photo 3150 008a 4200 series 008b InkJet Color Printer 008c to CF/SM/SD/MS Card Reader 008e InkJet Color Printer 008f X422 0091 Laser Printer E232 0093 X5250 0095 E220 Printer 0096 2200 series 0097 P6250 0098 7100 series 009e P910 series Human Interface Device 009f InkJet Color Printer 00a9 IBM Infoprint 1410 MFP 00ab InkJet Color Printer 00b2 3300 series 00b8 7300 series 00b9 8300 series 00ba InkJet Color Printer 00bb 2300 series 00bd Printing Support 00be Printing Support 00bf Printing Support 00c0 6300 series 00c1 4300 series 00c7 Printing Support 00c8 Printing Support 00c9 Printing Support 00cb Printing Support 00cc E120(n) 00d0 9300 series 00d3 X340 Scanner 00d4 X342n Scanner 00d5 Printing Support 00d6 X340 Scanner 00e8 X642e 00e9 2400 series 00f6 3400 series 00f7 InkJet Color Printer 00ff InkJet Color Printer 010b 2500 series 010d 3500-4500 series 010f 6500 series 0142 X3650 (Printer, Scanner, Copier) 01fa S310 series 4303 Xerox WorkCentre Pro 412 043e LG Electronics USA, Inc. 3001 AN-WF100 802.11abgn Wireless Adapter [Broadcom BCM4323] 3004 TWFM-B003D 802.11abgn Wireless Module [Broadcom BCM43236B] 3009 VC400 3101 AN-WF500 802.11abgn + BT Wireless Adapter [Broadcom BCM43242] 42bd Flatron 795FT Plus Monitor 4a4d Flatron 915FT Plus Monitor 7001 MF-PD100 Soul Digital MP3 Player 7013 MP3 Player 70d7 Mouse Scanner LSM-150 [LG Smart Scan Mouse] 70f5 External HDD 8484 LPC-U30 Webcam II 8585 LPC-UC35 Webcam 8888 Electronics VCS Camera II(LPC-U20) 9800 Remote Control Receiver_iMON 9803 eHome Infrared Receiver 9804 DMB Receiver Control 9c01 LGE Sync 043f RadiSys Corp. 0440 Eizo Nanao Corp. 0441 Winbond Systems Lab. 1456 Hub 0442 Ericsson, Inc. abba Bluetooth Device 0443 Gateway, Inc. 000e Multimedia Keyboard 002e Millennium Keyboard 0445 Lucent Technologies, Inc. 0446 NMB Technologies Corp. 6781 Keyboard with PS/2 Mouse Port 6782 Keyboard 0447 Momentum Microsystems 0449 Duta Multi Robotik 0128 Menengah 0210 Dasar 0612 Lanjutan 044a Shamrock Tech. Co., Ltd 044b WSI 044c CCL/ITRI 044d Siemens Nixdorf AG 044e Alps Electric Co., Ltd 1104 Japanese Keyboard 2002 MD-5500 Printer 2014 Bluetooth Device 3001 UGTZ4 Bluetooth 3002 Bluetooth Device 3003 Bluetooth Device 3004 Bluetooth Adapter 3005 Integrated Bluetooth Device 3006 Bluetooth Adapter 3007 Bluetooth Controller (ALPS/UGX) 300c Bluetooth Controller (ALPS/UGPZ6) 300d Bluetooth Controller (ALPS/UGPZ6) 3010 Bluetooth Adapter 3017 BCM2046 Bluetooth Device ffff Compaq Bluetooth Multiport Module 044f ThrustMaster, Inc. 0400 HOTAS Cougar 0402 HOTAS Warthog Joystick 0404 HOTAS Warthog Throttle 044f GP XID 0f00 Steering Wheel for Xbox 0f03 Steering Wheel for Xbox 0f07 Controller for Xbox 0f0c Xbox Memory Unit (8MB) 0f10 Modena GT Wheel a003 Rage 3D Game Pad a01b PK-GP301 Driving Wheel a0a0 Top Gun Joystick a0a1 Top Gun Joystick (rev2) a0a3 Fusion Digital GamePad a201 PK-GP201 PlayStick b108 T-Flight Hotas X Flight Stick b10a T.16000M Joystick b203 360 Modena Pro Wheel b300 Firestorm Dual Power b303 FireStorm Dual Analog 2 b304 Firestorm Dual Power b307 vibrating Upad b30b Wireless VibrationPad b315 Firestorm Dual Analog 3 b320 Dual Trigger gamepad PC/PS2 2.0 b323 Dual Trigger 3-in-1 (PC Mode) b324 Dual Trigger 3-in-1 (PS3 Mode) b326 Gamepad GP XID b351 F16 MFD 1 b352 F16 MFD 2 b365 UbiSoft UbiConnect b603 force feedback Wheel b605 force feedback Racing Wheel b651 Ferrari GT Rumble Force Wheel b653 RGT Force Feedback Clutch Racing Wheel b654 Ferrari GT Force Feedback Wheel b678 T.Flight Rudder Pedals b679 T-Rudder b687 TWCS Throttle b700 Tacticalboard 0450 DFI, Inc. 0451 Texas Instruments, Inc. 0422 TUSB422 Port Controller with Power Delivery 1234 Bluetooth Device 1428 Hub 1446 TUSB2040/2070 Hub 16a2 CC Debugger 16a6 BM-USBD1 BlueRobin RF heart rate sensor receiver 16a8 CC2531 ZigBee 16ae CC2531 Dongle 2036 TUSB2036 Hub 2046 TUSB2046 Hub 2077 TUSB2077 Hub 2f90 SM-USB-DIG 3200 TUSB3200 Boot Loader 3410 TUSB3410 Microcontroller 3f00 OMAP1610 3f02 SMC WSKP100 Wi-Fi Phone 505f TUSB5052 Serial 5153 TUSB5052 Hub 5409 Frontier Labs NEX IA+ Digital Audio Player 6000 AU5 ADSL Modem (pre-reenum) 6001 AU5 ADSL Modem 6060 RNDIS/BeWAN ADSL2+ 6070 RNDIS/BeWAN ADSL2+ 625f TUSB6250 ATA Bridge 8041 Hub 8042 Hub 8043 Hub 8140 TUSB8041 4-Port Hub 8142 TUSB8041 4-Port Hub 926b TUSB9260 Boot Loader bef3 CC1352R1 Launchpad dbc0 Device Bay Controller e001 GraphLink [SilverLink] e003 TI-84 Plus Calculator e004 TI-89 Titanium Calculator e008 TI-84 Plus Silver Calculator e00e TI-89 Titanium Presentation Link e00f TI-84 Plus Presentation Link e010 TI SmartPad Keyboard e011 Nspire CAS+ prototype e012 TI-Nspire Calculator e013 Network Bridge e01c Data Collection Sled [Nspire Lab Cradle, Nspire Datatracker Cradle] e01e Nspire CX Navigator Access Point e01f Python Adapter (firmware install mode) e020 Python Adapter e022 Nspire CX II f430 MSP-FET430UIF JTAG Tool f432 eZ430 Development Tool ffff Bluetooth Device 0452 Mitsubishi Electronics America, Inc. 0021 HID Monitor Controls 0050 Diamond Pro 900u CRT Monitor 0051 Integrated Hub 0100 Control Panel for Leica TCS SP5 0453 CMD Technology 6781 NMB Keyboard 6783 Chicony Composite Keyboard 0454 Vobis Microcomputer AG 0455 Telematics International, Inc. 0456 Analog Devices, Inc. f000 FT2232 JTAG ICE [gnICE] f001 FT2232H Hi-Speed JTAG ICE [gnICE+] 0457 Silicon Integrated Systems Corp. 0150 Super Talent 1GB Flash Drive 0151 Super Flash 1GB / GXT 64MB Flash Drive 0162 SiS162 usb Wireless LAN Adapter 0163 SiS163U 802.11 Wireless LAN Adapter 0817 SiS-184-ASUS-4352.17 touch panel 10e1 HID Touch Controller 5401 Wireless Adapter RO80211GS-USB 0458 KYE Systems Corp. (Mouse Systems) 0001 Mouse 0002 Genius NetMouse Pro 0003 Genius NetScroll+ 0006 Easy Mouse+ 0007 Trackbar Emotion 000b NetMouse Wheel(P+U) 000c TACOMA Fingerprint V1.06.01 000e Genius NetScroll Optical 0013 TACOMA Fingerprint Mouse V1.06.01 001a Genius WebScroll+ 002e NetScroll + Traveler / NetScroll 110 0036 Pocket Mouse LE 0039 NetScroll+ Superior 003a NetScroll+ Mini Traveler / Genius NetScroll 120 004c Slimstar Pro Keyboard 0056 Ergo 300 Mouse 0057 Enhanced Gaming Device 0059 Enhanced Laser Device 005a Enhanced Device 005b Enhanced Device 005c Enhanced Laser Gaming Device 005d Enhanced Device 0061 Bluetooth Dongle 0066 Genius Traveler 1000 Wireless Mouse 0072 Navigator 335 0083 Bluetooth Dongle 0087 Ergo 525V Laser Mouse 0088 Genius Traveler 515 Laser 0089 Genius Traveler 350 00ca Pen Mouse 0100 EasyPen Tablet 0101 CueCat 011b NetScroll T220 0186 Genius DX-120 Mouse 1001 Joystick 1002 Game Pad 1003 Genius VideoCam 1004 Flight2000 F-23 Joystick 100a Aashima Technology Trust Sight Fighter Vibration Feedback Joystick 2001 ColorPage-Vivid Pro Scanner 2004 ColorPage-HR6 V1 Scanner 2005 ColorPage-HR6/Vivid3 2007 ColorPage-HR6 V2 Scanner 2008 ColorPage-HR6 V2 Scanner 2009 ColorPage-HR6A Scanner 2011 ColorPage-Vivid3x Scanner 2012 Plustek Scanner 2013 ColorPage-HR7 Scanner 2014 ColorPage-Vivid4 2015 ColorPage-HR7LE Scanner 2016 ColorPage-HR6X Scanner 2017 ColorPage-Vivid3xe 2018 ColorPage-HR7X 2019 ColorPage-HR6X Slim 201a ColorPage-Vivid4xe 201b ColorPage-Vivid4x 201c ColorPage-HR8 201d ColorPage-Vivid 1200 X 201e ColorPage-Slim 1200 201f ColorPage-Vivid 1200 XE 2020 ColorPage-Slim 1200 USB2 2021 ColorPage-SF600 3017 SPEED WHEEL 3 Vibration 3018 Wireless 2.4Ghz Game Pad 3019 10-Button USB Joystick with Vibration 301a MaxFire G-12U Vibration 301c Genius MaxFighter F-16U 301d Genius MaxFire MiniPad 400f Genius TVGo DVB-T02Q MCE 4012 TVGo DVB-T03 [AF9015] 5003 G-pen 560 Tablet 5004 G-pen Tablet 5005 Genius EasyPen M406 5012 Genius EasyPen M406W 5014 Genius EasyPen 340 505e Genius iSlim 330 6001 GF3000F Ethernet Adapter 7004 VideoCAM Express V2 7006 Dsc 1.3 Smart Camera Device 7007 VideoCAM Web 7009 G-Shot G312 Still Camera Device 700c VideoCAM Web V3 700d G-Shot G511 Composite Device 700f VideoCAM Web 7012 WebCAM USB2.0 7014 VideoCAM Live V3 701c G-Shot G512 Still Camera 7020 Sim 321C 7025 Eye 311Q Camera 7029 Genius Look 320s (SN9C201 + HV7131R) 702f Genius Slim 322 7035 i-Look 325T Camera 7045 Genius Look 1320 V2 704c Genius i-Look 1321 704d Slim 1322AF 7055 Slim 2020AF camera 705a Asus USB2.0 Webcam 705c Genius iSlim 1300AF 7061 Genius iLook 1321 V2 7066 Acer Crystal Eye Webcam 7067 Genius iSlim 1300AF V2 7068 Genius eFace 1325R 706d Genius iSlim 2000AF V2 7076 Genius FaceCam 312 7079 FaceCam 2025R 707f TVGo DVB-T03 [RTL2832] 7088 WideCam 1050 7089 Genius FaceCam 320 708c Genius WideCam F100 0459 Adobe Systems, Inc. 045a SONICblue, Inc. 07da Supra Express 56K modem 0b4a SupraMax 2890 56K Modem [Lucent Atlas] 0b68 SupraMax 56K Modem 5001 Rio 600 MP3 Player 5002 Rio 800 MP3 Player 5003 Nike Psa/Play MP3 Player 5005 Rio S10 MP3 Player 5006 Rio S50 MP3 Player 5007 Rio S35 MP3 Player 5008 Rio 900 MP3 Player 5009 Rio S30 MP3 Player 500d Fuse MP3 Player 500e Chiba MP3 Player 500f Cali MP3 Player 5010 Rio S11 MP3 Player 501c Virgin MPF-1000 501d Rio Fuse 501e Rio Chiba 501f Rio Cali 503f Cali256 MP3 Player 5042 Rio Forge 5202 Rio Riot MP3 Player 5210 Rio Karma Music Player 5220 Rio Nitrus MP3 Player 5221 Rio Eigen 045b Hitachi, Ltd 0053 RX610 RX-Stick 0229 mSATA Adapter [renkforce Pi-102] 045d Nortel Networks, Ltd 045e Microsoft Corp. 0007 SideWinder Game Pad 0008 SideWinder Precision Pro 0009 IntelliMouse 000b Natural Keyboard Elite 000e SideWinder® Freestyle Pro 0014 Digital Sound System 80 001a SideWinder Precision Racing Wheel 001b SideWinder Force Feedback 2 Joystick 001c Internet Keyboard Pro 001d Natural Keyboard Pro 001e IntelliMouse Explorer 0023 Trackball Optical 0024 Trackball Explorer 0025 IntelliEye Mouse 0026 SideWinder GamePad Pro 0027 SideWinder PnP GamePad 0028 SideWinder Dual Strike 0029 IntelliMouse Optical 002b Internet Keyboard Pro 002d Internet Keyboard 002f Integrated Hub 0033 Sidewinder Strategic Commander 0034 SideWinder Force Feedback Wheel 0038 SideWinder Precision 2 0039 IntelliMouse Optical 003b SideWinder Game Voice 003c SideWinder Joystick 0040 Wheel Mouse Optical 0047 IntelliMouse Explorer 3.0 0048 Office Keyboard 1.0A 0053 Optical Mouse 0059 Wireless IntelliMouse Explorer 005c Office Keyboard (106/109) 005f Wireless MultiMedia Keyboard 0061 Wireless MultiMedia Keyboard (106/109) 0063 Wireless Natural MultiMedia Keyboard 0065 Wireless Natural MultiMedia Keyboard (106/109) 006a Wireless Optical Mouse (IntelliPoint) 006d eHome Remote Control Keyboard keys 006e MN-510 802.11b Wireless Adapter [Intersil ISL3873B] 006f Smart Display Reference Device 0070 Wireless MultiMedia Keyboard 0071 Wireless MultiMedia Keyboard (106/109) 0072 Wireless Natural MultiMedia Keyboard 0073 Wireless Natural MultiMedia Keyboard (106/109) 0079 IXI Ogo CT-17 handheld device 007a 10/100 USB NIC 007d Notebook Optical Mouse 007e Wireless Transceiver for Bluetooth 0080 Digital Media Pro Keyboard 0083 Basic Optical Mouse 0084 Basic Optical Mouse 008a Wireless Optical Desktop Receiver 2.0A 008b Dual Receiver Wireless Mouse (IntelliPoint) 008c Wireless Intellimouse Explorer 2.0 0095 IntelliMouse Explorer 4.0 (IntelliPoint) 009c Wireless Transceiver for Bluetooth 2.0 009d Wireless Optical Desktop 3.0 00a0 eHome Infrared Receiver 00a4 Compact Optical Mouse, model 1016 00b0 Digital Media Pro Keyboard 00b4 Digital Media Keyboard 1.0A 00b9 Wireless Optical Mouse 3.0 00bb Fingerprint Reader 00bc Fingerprint Reader 00bd Fingerprint Reader 00c2 MN-710 802.11g Wireless Adapter [Intersil ISL3886] 00c9 MTP Device 00ca Fingerprint Reader 00cb Basic Optical Mouse v2.0 00ce Generic PPC Flash device 00d1 Optical Mouse with Tilt Wheel 00d2 Notebook Optical Mouse with Tilt Wheel 00da eHome Infrared Receiver 00db Natural Ergonomic Keyboard 4000 V1.0 00dd Comfort Curve Keyboard 2000 V1.0 00e1 Wireless Laser Mouse 6000 Receiver 00f4 LifeCam VX-6000 (SN9C20x + OV9650) 00f5 LifeCam VX-3000 00f6 Comfort Optical Mouse 1000 00f7 LifeCam VX-1000 00f8 LifeCam NX-6000 00f9 Wireless Desktop Receiver 3.1 0202 Xbox Controller 0280 Xbox Memory Unit (8MB) 0283 Xbox Communicator 0284 Xbox DVD Playback Kit 0285 Xbox Controller S 0288 Xbox Controller S Hub 0289 Xbox Controller S 028b Xbox360 DVD Emulator 028d Xbox360 Memory Unit 64MB 028e Xbox360 Controller 028f Xbox360 Wireless Controller 0290 Xbox360 Performance Pipe (PIX) 0291 Xbox 360 Wireless Receiver for Windows 0292 Xbox360 Wireless Networking Adapter 029c Xbox360 HD-DVD Drive 029d Xbox360 HD-DVD Drive 029e Xbox360 HD-DVD Memory Unit 02a0 Xbox360 Big Button IR 02a1 Xbox 360 Wireless Receiver for Windows 02a8 Xbox360 Wireless N Networking Adapter [Atheros AR7010+AR9280] 02ad Xbox NUI Audio 02ae Xbox NUI Camera 02b0 Xbox NUI Motor 02b6 Xbox360 Bluetooth Wireless Headset 02bb Kinect Audio 02be Kinect for Windows NUI Audio 02bf Kinect for Windows NUI Camera 02c2 Kinect for Windows NUI Motor 02d1 Xbox One Controller 02d5 Xbox One Digital TV Tuner 02dd Xbox One Controller (Firmware 2015) 02e3 Xbox One Elite Controller 02e6 Wireless XBox Controller Dongle 02ea Xbox One S Controller 02fd Xbox One S Controller [Bluetooth] 0400 Windows Powered Pocket PC 2002 0401 Windows Powered Pocket PC 2002 0402 Windows Powered Pocket PC 2002 0403 Windows Powered Pocket PC 2002 0404 Windows Powered Pocket PC 2002 0405 Windows Powered Pocket PC 2002 0406 Windows Powered Pocket PC 2002 0407 Windows Powered Pocket PC 2002 0408 Windows Powered Pocket PC 2002 0409 Windows Powered Pocket PC 2002 040a Windows Powered Pocket PC 2002 040b Windows Powered Pocket PC 2002 040c Windows Powered Pocket PC 2002 040d Windows Powered Pocket PC 2002 040e Windows Powered Pocket PC 2002 040f Windows Powered Pocket PC 2002 0410 Windows Powered Pocket PC 2002 0411 Windows Powered Pocket PC 2002 0412 Windows Powered Pocket PC 2002 0413 Windows Powered Pocket PC 2002 0414 Windows Powered Pocket PC 2002 0415 Windows Powered Pocket PC 2002 0416 Windows Powered Pocket PC 2002 0417 Windows Powered Pocket PC 2002 0432 Windows Powered Pocket PC 2003 0433 Windows Powered Pocket PC 2003 0434 Windows Powered Pocket PC 2003 0435 Windows Powered Pocket PC 2003 0436 Windows Powered Pocket PC 2003 0437 Windows Powered Pocket PC 2003 0438 Windows Powered Pocket PC 2003 0439 Windows Powered Pocket PC 2003 043a Windows Powered Pocket PC 2003 043b Windows Powered Pocket PC 2003 043c Windows Powered Pocket PC 2003 043d Becker Traffic Assist Highspeed 7934 043e Windows Powered Pocket PC 2003 043f Windows Powered Pocket PC 2003 0440 Windows Powered Pocket PC 2003 0441 Windows Powered Pocket PC 2003 0442 Windows Powered Pocket PC 2003 0443 Windows Powered Pocket PC 2003 0444 Windows Powered Pocket PC 2003 0445 Windows Powered Pocket PC 2003 0446 Windows Powered Pocket PC 2003 0447 Windows Powered Pocket PC 2003 0448 Windows Powered Pocket PC 2003 0449 Windows Powered Pocket PC 2003 044a Windows Powered Pocket PC 2003 044b Windows Powered Pocket PC 2003 044c Windows Powered Pocket PC 2003 044d Windows Powered Pocket PC 2003 044e Windows Powered Pocket PC 2003 044f Windows Powered Pocket PC 2003 0450 Windows Powered Pocket PC 2003 0451 Windows Powered Pocket PC 2003 0452 Windows Powered Pocket PC 2003 0453 Windows Powered Pocket PC 2003 0454 Windows Powered Pocket PC 2003 0455 Windows Powered Pocket PC 2003 0456 Windows Powered Pocket PC 2003 0457 Windows Powered Pocket PC 2003 0458 Windows Powered Pocket PC 2003 0459 Windows Powered Pocket PC 2003 045a Windows Powered Pocket PC 2003 045b Windows Powered Pocket PC 2003 045c Windows Powered Pocket PC 2003 045d Windows Powered Pocket PC 2003 045e Windows Powered Pocket PC 2003 045f Windows Powered Pocket PC 2003 0460 Windows Powered Pocket PC 2003 0461 Windows Powered Pocket PC 2003 0462 Windows Powered Pocket PC 2003 0463 Windows Powered Pocket PC 2003 0464 Windows Powered Pocket PC 2003 0465 Windows Powered Pocket PC 2003 0466 Windows Powered Pocket PC 2003 0467 Windows Powered Pocket PC 2003 0468 Windows Powered Pocket PC 2003 0469 Windows Powered Pocket PC 2003 046a Windows Powered Pocket PC 2003 046b Windows Powered Pocket PC 2003 046c Windows Powered Pocket PC 2003 046d Windows Powered Pocket PC 2003 046e Windows Powered Pocket PC 2003 046f Windows Powered Pocket PC 2003 0470 Windows Powered Pocket PC 2003 0471 Windows Powered Pocket PC 2003 0472 Windows Powered Pocket PC 2003 0473 Windows Powered Pocket PC 2003 0474 Windows Powered Pocket PC 2003 0475 Windows Powered Pocket PC 2003 0476 Windows Powered Pocket PC 2003 0477 Windows Powered Pocket PC 2003 0478 Windows Powered Pocket PC 2003 0479 Windows Powered Pocket PC 2003 047a Windows Powered Pocket PC 2003 047b Windows Powered Pocket PC 2003 04c8 Windows Powered Smartphone 2002 04c9 Windows Powered Smartphone 2002 04ca Windows Powered Smartphone 2002 04cb Windows Powered Smartphone 2002 04cc Windows Powered Smartphone 2002 04cd Windows Powered Smartphone 2002 04ce Windows Powered Smartphone 2002 04d7 Windows Powered Smartphone 2003 04d8 Windows Powered Smartphone 2003 04d9 Windows Powered Smartphone 2003 04da Windows Powered Smartphone 2003 04db Windows Powered Smartphone 2003 04dc Windows Powered Smartphone 2003 04dd Windows Powered Smartphone 2003 04de Windows Powered Smartphone 2003 04df Windows Powered Smartphone 2003 04e0 Windows Powered Smartphone 2003 04e1 Windows Powered Smartphone 2003 04e2 Windows Powered Smartphone 2003 04e3 Windows Powered Smartphone 2003 04e4 Windows Powered Smartphone 2003 04e5 Windows Powered Smartphone 2003 04e6 Windows Powered Smartphone 2003 04e7 Windows Powered Smartphone 2003 04e8 Windows Powered Smartphone 2003 04e9 Windows Powered Smartphone 2003 04ea Windows Powered Smartphone 2003 04ec Windows Phone (Zune) 063e Zune HD Media Player 0640 KIN Phone 0641 KIN Phone 0642 KIN Phone 0707 Wireless Laser Mouse 8000 0708 Transceiver v 3.0 for Bluetooth 070a Charon Bluetooth Dongle (DFU) 070f LifeChat LX-3000 Headset 0710 Zune Media Player 0713 Wireless Presenter Mouse 8000 0719 Xbox 360 Wireless Adapter 071f Mouse/Keyboard 2.4GHz Transceiver V2.0 0721 LifeCam NX-3000 (UVC-compliant) 0723 LifeCam VX-7000 (UVC-compliant) 0724 SideWinder Mouse 0728 LifeCam VX-5000 0730 Digital Media Keyboard 3000 0734 Wireless Optical Desktop 700 0736 Sidewinder X5 Mouse 0737 Compact Optical Mouse 500 0745 Nano Transceiver v1.0 for Bluetooth 074a LifeCam VX-500 [1357] 0750 Wired Keyboard 600 0752 Wired Keyboard 400 075d LifeCam Cinema 0761 LifeCam VX-2000 0765 Xbox360 Slim Internal Wireless Module (1400) [Marvell 88W8786U] 0766 LifeCam VX-800 0768 Sidewinder X4 076c Comfort Mouse 4500 076d LifeCam HD-5000 0770 LifeCam VX-700 0772 LifeCam Studio 0779 LifeCam HD-3000 077f LifeChat LX-6000 Headset 0780 Comfort Curve Keyboard 3000 0797 Optical Mouse 200 0799 Surface Pro embedded keyboard 07a5 Wireless Receiver 1461C 07b2 2.4GHz Transceiver v8.0 used by mouse Wireless Desktop 900 07b6 Comfort Curve Keyboard 3000 07b9 Wired Keyboard 200 07c6 RTL8153 GigE [Surface Ethernet Adapter] 07ca Surface Pro 3 Docking Station Audio Device 07cd Surface Keyboard 07f8 Wired Keyboard 600 (model 1576) 07fd Nano Transceiver 1.1 0800 Wireless keyboard (All-in-One-Media) 0810 LifeCam HD-3000 0823 Classic IntelliMouse 0900 Surface Dock Hub 0901 Surface Dock Hub 0902 Surface Dock Hub 0903 Surface Dock Hub 0904 Surface Dock Extender 0905 Surface Dock Audio 090b Hub 090c SD Card 091a Hub 0927 RTL8153B GigE [Surface Ethernet Adapter] 0955 Hub 0957 Hub 09a0 RTL8153B GigE [Surface Ethernet Adapter] 09c0 Surface Type Cover 0a00 Lumia 950 Dual SIM (RM-1118) 930a ISOUSB.SYS Intel 82930 Isochronous IO Test Board ffca Catalina fff8 Keyboard ffff Windows CE Mass Storage 0460 Ace Cad Enterprise Co., Ltd 0004 Tablet (5x3.75) 0006 LCD Tablet (12x9) 0008 Tablet (3x2.25) 0461 Primax Electronics, Ltd 0010 HP PR1101U / Primax PMX-KPR1101U Keyboard 0300 G2-300 Scanner 0301 G2E-300 Scanner 0302 G2-300 #2 Scanner 0303 G2E-300 #2 Scanner 0340 Colorado 9600 Scanner 0341 Colorado 600u Scanner 0345 Visioneer 6200 Scanner 0346 Memorex Maxx 6136u Scanner 0347 Primascan Colorado 2600u/Visioneer 4400 Scanner 0360 Colorado 19200 Scanner 0361 Colorado 1200u Scanner 0363 VistaScan Astra 3600(ENG) 0364 LG Electronics Scanworks 600U Scanner 0365 VistaScan Astra 3600(ENG) 0366 6400 0367 VistaScan Astra 3600(ENG) 0371 Visioneer Onetouch 8920 Scanner 0374 UMAX Astra 2500 0375 VistaScan Astra 3600(ENG) 0377 Medion MD 5345 Scanner 0378 VistaScan Astra 3600(ENG) 037b Medion MD 6190 Scanner 037c VistaScan Astra 3600(ENG) 0380 G2-600 Scanner 0381 ReadyScan 636i Scanner 0382 G2-600 #2 Scanner 0383 G2E-600 Scanner 038a UMAX Astra 3000/3600 038b Xerox 2400 Onetouch 038c UMAX Astra 4100 0392 Medion/Lifetec/Tevion/Cytron MD 6190 03a8 9420M 0813 IBM UltraPort Camera 0815 Micro Innovations IC200 Webcam 0819 Fujifilm IX-30 Camera [webcam mode] 081a Fujifilm IX-30 Camera [storage mode] 081c Elitegroup ECS-C11 Camera 081d Elitegroup ECS-C11 Storage 0a00 Micro Innovations Web Cam 320 4d01 Comfort Keyboard / Kensington Orbit Elite 4d02 Mouse-in-a-Box 4d03 Kensington Mouse-in-a-box 4d04 Mouse 4d06 Balless Mouse (HID) 4d0f HP Optical Mouse 4d15 Dell Optical Mouse 4d17 Optical Mouse 4d20 HP Optical Mouse 4d2a PoPo Elixir Mouse (HID) 4d2b Wireless Laser Mini Mouse (HID) 4d2c PoPo Mini Pointer Mouse (HID) 4d2e Optical Mobile Mouse (HID) 4d51 0Y357C PMX-MMOCZUL (B) [Dell Laser Mouse] 4d62 HP Laser Mobile Mini Mouse 4d75 Rocketfish RF-FLBTAD Bluetooth Adapter 4d81 Dell N889 Optical Mouse 4d8a HP Multimedia Keyboard 4d91 Laser mouse M-D16DL 4d92 Optical mouse M-D17DR 4db1 Dell Laptop Integrated Webcam 2Mpix 4de3 HP 5-Button Optical Comfort Mouse 4de7 webcam 4e04 Lenovo Keyboard KB1021 4e22 Dell Mouse, 2 Buttons, Modell: MS111-P 4e6f Acer Wired Keyboard Model KBAY211 0463 MGE UPS Systems 0001 UPS ffff UPS 0464 AMP/Tycoelectronics Corp. 0467 AT&T Paradyne 0468 Wieson Technologies Co., Ltd 046a Cherry GmbH 0001 Keyboard 0003 My3000 Hub 0004 CyBoard Keyboard 0005 XX33 SmartCard Reader Keyboard 0008 Wireless Keyboard and Mouse 0010 SmartBoard XX44 0011 G83 (RS 6000) Keyboard 0021 CyMotion Expert Combo 0023 Keyboard 0027 CyMotion Master Solar Keyboard 002a Wireless Mouse & Keyboard 002d SmartTerminal XX44 003c Raptor Gaming Keyboard 003d Raptor Gaming Keyboard Integrated Hub 003e SmartTerminal ST-2xxx 0041 G86 6240 Keyboard 0080 eHealth Terminal ST 1503 0081 eHealth Keyboard G87 1504 00a1 SmartCard Reader Keyboard KC 1000 SC 0106 R-300 Wireless Mouse Receiver 010d MX-Board 3.0 Keyboard 0180 Strait 3.0 b090 Keyboard b091 Mouse 046b American Megatrends, Inc. 0001 Keyboard 0101 PS/2 Keyboard, Mouse & Joystick Ports 0301 USB 1.0 Hub 0500 Serial & Parallel Ports ff10 Virtual Keyboard and Mouse 046c Toshiba Corp., Digital Media Equipment 046d Logitech, Inc. 0082 Acer Aspire 5672 Webcam 0200 WingMan Extreme Joystick 0203 M2452 Keyboard 0242 Chillstream for Xbox 360 0301 M4848 Mouse 0401 HP PageScan 0402 NEC PageScan 040f Logitech/Storm PageScan 0430 Mic (Cordless) 0801 QuickCam Home 0802 Webcam C200 0804 Webcam C250 0805 Webcam C300 0807 Webcam B500 0808 Webcam C600 0809 Webcam Pro 9000 080a Portable Webcam C905 080f Webcam C120 0810 QuickCam Pro 0819 Webcam C210 081a Webcam C260 081b Webcam C310 081d HD Webcam C510 0820 QuickCam VC 0821 HD Webcam C910 0823 HD Webcam B910 0825 Webcam C270 0826 HD Webcam C525 0828 HD Webcam B990 082b Webcam C170 082c HD Webcam C615 082d HD Pro Webcam C920 0830 QuickClip 0836 B525 HD Webcam 0837 BCC950 ConferenceCam 0840 QuickCam Express 0843 Webcam C930e 0850 QuickCam Web 085c C922 Pro Stream Webcam 0870 QuickCam Express 0890 QuickCam Traveler 0892 OrbiCam 0894 CrystalCam 0895 QuickCam for Dell Notebooks 0896 OrbiCam 0897 QuickCam for Dell Notebooks 0899 QuickCam for Dell Notebooks 089d QuickCam E2500 series 08a0 QuickCam IM 08a1 QuickCam IM with sound 08a2 Labtec Webcam Pro 08a3 QuickCam QuickCam Chat 08a6 QuickCam IM 08a7 QuickCam Image 08a9 Notebook Deluxe 08aa Labtec Notebooks 08ac QuickCam Cool 08ad QuickCam Communicate STX 08ae QuickCam for Notebooks 08af QuickCam Easy/Cool 08b0 QuickCam 3000 Pro [pwc] 08b1 QuickCam Notebook Pro 08b2 QuickCam Pro 4000 08b3 QuickCam Zoom 08b4 QuickCam Zoom 08b5 QuickCam Sphere 08b9 QuickCam IM 08bd Microphone (Pro 4000) 08c0 QuickCam Pro 3000 08c1 QuickCam Fusion 08c2 QuickCam PTZ 08c3 Camera (Notebooks Pro) 08c5 QuickCam Pro 5000 08c6 QuickCam for DELL Notebooks 08c7 QuickCam OEM Cisco VT Camera II 08c9 QuickCam Ultra Vision 08ca Mic (Fusion) 08cb Mic (Notebooks Pro) 08cc Mic (PTZ) 08ce QuickCam Pro 5000 08cf QuickCam UpdateMe 08d0 QuickCam Express 08d7 QuickCam Communicate STX 08d8 QuickCam for Notebook Deluxe 08d9 QuickCam IM/Connect 08da QuickCam Messanger 08dd QuickCam for Notebooks 08e0 QuickCam Express 08e1 Labtec Webcam 08f0 QuickCam Messenger 08f1 QuickCam Express 08f2 Microphone (Messenger) 08f3 QuickCam Express 08f4 Labtec Webcam 08f5 QuickCam Messenger Communicate 08f6 QuickCam Messenger Plus 0900 ClickSmart 310 0901 ClickSmart 510 0903 ClickSmart 820 0905 ClickSmart 820 0910 QuickCam Cordless 0920 QuickCam Express 0921 Labtec Webcam 0922 QuickCam Live 0928 QuickCam Express 0929 Labtec Webcam Pro 092a QuickCam for Notebooks 092b Labtec Webcam Plus 092c QuickCam Chat 092d QuickCam Express / Go 092e QuickCam Chat 092f QuickCam Express Plus 0950 Pocket Camera 0960 ClickSmart 420 0970 Pocket750 0990 QuickCam Pro 9000 0991 QuickCam Pro for Notebooks 0992 QuickCam Communicate Deluxe 0994 QuickCam Orbit/Sphere AF 09a1 QuickCam Communicate MP/S5500 09a2 QuickCam Communicate Deluxe/S7500 09a4 QuickCam E 3500 09a5 Quickcam 3000 For Business 09a6 QuickCam Vision Pro 09b0 Acer OrbiCam 09b2 Fujitsu Webcam 09c0 QuickCam for Dell Notebooks Mic 09c1 QuickCam Deluxe for Notebooks 0a01 USB Headset 0a02 Premium Stereo USB Headset 350 0a03 Logitech USB Microphone 0a04 V20 portable speakers (USB powered) 0a07 Z-10 Speakers 0a0b ClearChat Pro USB 0a0c Clear Chat Comfort USB Headset 0a10 V10 Notebook Speakers 0a13 Z-5 Speakers 0a14 USB Headset 0a15 G35 Headset 0a17 G330 Headset 0a1f G930 0a29 H600 [Wireless Headset] 0a37 USB Headset H540 0a38 Headset H340 0a44 Headset H390 0a45 960 Headset 0a4d G430 Surround Sound Gaming Headset 0a5b G933 Wireless Headset Dongle 0a5d G933 Headset Battery Charger 0a66 [G533 Wireless Headset Dongle] 0b02 C-UV35 [Bluetooth Mini-Receiver] (HID proxy mode) 8801 Video Camera b014 Bluetooth Mouse M336/M337/M535 b305 BT Mini-Receiver bfe4 Premium Optical Wheel Mouse c000 N43 [Pilot Mouse] c001 N48/M-BB48/M-UK96A [FirstMouse Plus] c002 M-BA47 [MouseMan Plus] c003 MouseMan c004 WingMan Gaming Mouse c005 WingMan Gaming Wheel Mouse c00b MouseMan Wheel c00c Optical Wheel Mouse c00d MouseMan Wheel+ c00e M-BJ58/M-BJ69 Optical Wheel Mouse c00f MouseMan Traveler/Mobile c011 Optical MouseMan c012 Mouseman Dual Optical c014 Corded Workstation Mouse c015 Corded Workstation Mouse c016 Optical Wheel Mouse c018 Optical Wheel Mouse c019 Optical Tilt Wheel Mouse c01a M-BQ85 Optical Wheel Mouse c01b MX310 Optical Mouse c01c Optical Mouse c01d MX510 Optical Mouse c01e MX518 Optical Mouse c024 MX300 Optical Mouse c025 MX500 Optical Mouse c030 iFeel Mouse c031 iFeel Mouse+ c032 MouseMan iFeel c033 iFeel MouseMan+ c034 MouseMan Optical c035 Mouse c036 Mouse c037 Mouse c038 Mouse c03d M-BT96a Pilot Optical Mouse c03e Premium Optical Wheel Mouse (M-BT58) c03f M-BT85 [UltraX Optical Mouse] c040 Corded Tilt-Wheel Mouse c041 G5 Laser Mouse c042 G3 Laser Mouse c043 MX320/MX400 Laser Mouse c044 LX3 Optical Mouse c045 Optical Mouse c046 RX1000 Laser Mouse c047 Laser Mouse M-UAL120 c048 G9 Laser Mouse c049 G5 Laser Mouse c050 RX 250 Optical Mouse c051 G3 (MX518) Optical Mouse c053 Laser Mouse c054 Bluetooth mini-receiver c058 M115 Mouse c05a M90/M100 Optical Mouse c05b M-U0004 810-001317 [B110 Optical USB Mouse] c05d Optical Mouse c05f M115 Optical Mouse c061 RX1500 Laser Mouse c062 M-UAS144 [LS1 Laser Mouse] c063 DELL Laser Mouse c064 M110 corded optical mouse (M-B0001) c066 G9x Laser Mouse c068 G500 Laser Mouse c069 M-U0007 [Corded Mouse M500] c06a USB Optical Mouse c06b G700 Wireless Gaming Mouse c06c Optical Mouse c077 M105 Optical Mouse c07c M-R0017 [G700s Rechargeable Gaming Mouse] c07d G502 Mouse c07e G402 Gaming Mouse c080 G303 Gaming Mouse c083 G403 Prodigy Gaming Mouse c084 G203 Gaming Mouse c08b G502 SE HERO Gaming Mouse c101 UltraX Media Remote c110 Harmony 785/880/885 Remote c111 Harmony 525 Remote c112 Harmony 890 Remote c11f Harmony 900/1100 Remote c121 Harmony One Remote c122 Harmony 650/700 Remote c124 Harmony 300/350 Remote c125 Harmony 200 Remote c126 Harmony Link c129 Harmony Hub c12b Harmony Touch/Ultimate Remote c201 WingMan Extreme Joystick with Throttle c202 WingMan Formula c207 WingMan Extreme Digital 3D c208 WingMan Gamepad Extreme c209 WingMan Gamepad c20a WingMan RumblePad c20b WingMan Action Pad c20c WingMan Precision c20d WingMan Attack 2 c20e WingMan Formula GP c211 iTouch Cordless Receiver c212 WingMan Extreme Digital 3D c213 J-UH16 (Freedom 2.4 Cordless Joystick) c214 ATK3 (Attack III Joystick) c215 Extreme 3D Pro c216 F310 Gamepad [DirectInput Mode] c218 F510 Gamepad [DirectInput Mode] c219 F710 Gamepad [DirectInput Mode] c21a Precision Gamepad c21c G13 Advanced Gameboard c21d F310 Gamepad [XInput Mode] c21e F510 Gamepad [XInput Mode] c21f F710 Wireless Gamepad [XInput Mode] c221 G11/G15 Keyboard / Keyboard c222 G15 Keyboard / LCD c223 G11/G15 Keyboard / USB Hub c225 G11/G15 Keyboard / G keys c226 G15 Refresh Keyboard c227 G15 Refresh Keyboard c228 G19 Gaming Keyboard c229 G19 Gaming Keyboard Macro Interface c22a Gaming Keyboard G110 c22b Gaming Keyboard G110 G-keys c22d G510 Gaming Keyboard c22e G510 Gaming Keyboard onboard audio c231 G13 Virtual Mouse c232 Gaming Virtual Keyboard c245 G400 Optical Mouse c246 Gaming Mouse G300 c247 G100S Optical Gaming Mouse c248 G105 Gaming Keyboard c24a G600 Gaming Mouse c24c G400s Optical Mouse c24d G710 Gaming Keyboard c24e G500s Laser Gaming Mouse c24f G29 Driving Force Racing Wheel [PS3] c260 G29 Driving Force Racing Wheel [PS4] c281 WingMan Force c283 WingMan Force 3D c285 WingMan Strike Force 3D c286 Force 3D Pro c287 Flight System G940 c291 WingMan Formula Force c293 WingMan Formula Force GP c294 Driving Force c295 Momo Force Steering Wheel c298 Driving Force Pro c299 G25 Racing Wheel c29b G27 Racing Wheel c29c Speed Force Wireless Wheel for Wii c2a0 Wingman Force Feedback Mouse c2a1 WingMan Force Feedback Mouse c2ab G13 Joystick c301 iTouch Keyboard c302 iTouch Pro Keyboard c303 iTouch Keyboard c305 Internet Keyboard c307 Internet Keyboard c308 Internet Navigator Keyboard c309 Y-BF37 [Internet Navigator Keyboard] c30a iTouch Composite c30b NetPlay Keyboard c30c Internet Keys (X) c30d Internet Keys c30e UltraX Keyboard (Y-BL49) c30f Logicool HID-Compliant Keyboard (106 key) c311 Y-UF49 [Internet Pro Keyboard] c312 DeLuxe 250 Keyboard c313 Internet 350 Keyboard c315 Classic Keyboard 200 c316 HID-Compliant Keyboard c317 Wave Corded Keyboard c318 Illuminated Keyboard c31a Comfort Wave 450 c31b Compact Keyboard K300 c31c Keyboard K120 c31d Media Keyboard K200 c31f Comfort Keyboard K290 c326 Washable Keyboard K310 c328 Corded Keyboard K280e c32b G910 Orion Spark Mechanical Keyboard c332 G502 Proteus Spectrum Optical Mouse c335 G910 Orion Spectrum Mechanical Keyboard c33a G413 Gaming Keyboard c401 TrackMan Marble Wheel c402 Marble Mouse (2-button) c403 Turbo TrackMan Marble FX c404 TrackMan Wheel c408 Marble Mouse (4-button) c501 Cordless Mouse Receiver c502 Cordless Mouse & iTouch Keys c503 Cordless Mouse+Keyboard Receiver c504 Cordless Mouse+Keyboard Receiver c505 Cordless Mouse+Keyboard Receiver c506 MX700 Cordless Mouse Receiver c508 Cordless Trackball c509 Cordless Keyboard & Mouse c50a Cordless Mouse c50b Cordless Desktop Optical c50c Cordless Desktop S510 c50d Cordless Mouse c50e Cordless Mouse Receiver c510 Cordless Mouse c512 LX-700 Cordless Desktop Receiver c513 MX3000 Cordless Desktop Receiver c514 Cordless Mouse c515 Cordless 2.4 GHz Presenter Presentation remote control c517 LX710 Cordless Desktop Laser c518 MX610 Laser Cordless Mouse c51a MX Revolution/G7 Cordless Mouse c51b V220 Cordless Optical Mouse for Notebooks c521 Cordless Mouse Receiver c525 MX Revolution Cordless Mouse c526 Nano Receiver c529 Logitech Keyboard + Mice c52b Unifying Receiver c52d R700 Remote Presenter receiver c52e MK260 Wireless Combo Receiver c52f Unifying Receiver c531 C-U0007 [Unifying Receiver] c532 Unifying Receiver c534 Unifying Receiver c537 Cordless Mouse Receiver c53a PowerPlay Wireless Charging System c603 3Dconnexion Spacemouse Plus XT c605 3Dconnexion CADman c606 3Dconnexion Spacemouse Classic c621 3Dconnexion Spaceball 5000 c623 3Dconnexion Space Traveller 3D Mouse c625 3Dconnexion Space Pilot 3D Mouse c626 3Dconnexion Space Navigator 3D Mouse c627 3Dconnexion Space Explorer 3D Mouse c628 3Dconnexion Space Navigator for Notebooks c629 3Dconnexion SpacePilot Pro 3D Mouse c62b 3Dconnexion Space Mouse Pro c640 NuLOOQ navigator c702 Cordless Presenter c703 Elite Keyboard Y-RP20 + Mouse MX900 (Bluetooth) c704 diNovo Wireless Desktop c705 MX900 Bluetooth Wireless Hub (C-UJ16A) c707 Bluetooth wireless hub c708 Bluetooth wireless hub c709 BT Mini-Receiver (HCI mode) c70a MX5000 Cordless Desktop c70b BT Mini-Receiver (HID proxy mode) c70c BT Mini-Receiver (HID proxy mode) c70d Bluetooth wireless hub c70e MX1000 Bluetooth Laser Mouse c70f Bluetooth wireless hub c712 Bluetooth wireless hub c714 diNovo Edge Keyboard c715 Bluetooth wireless hub c71a Bluetooth wireless hub c71d Bluetooth wireless hub c71f diNovo Mini Wireless Keyboard c720 Bluetooth wireless hub ca03 MOMO Racing ca04 Formula Vibration Feedback Wheel ca84 Cordless Controller for Xbox ca88 Thunderpad for Xbox ca8a Precision Vibration Feedback Wheel for Xbox caa3 DriveFX Racing Wheel cab1 Cordless Keyboard for Wii HID Receiver d001 QuickCam Pro f301 Controller 046e Behavior Tech. Computer Corp. 0100 Keyboard 3001 Mass Storage Device 3002 Mass Storage Device 3003 Mass Storage Device 3005 Mass Storage Device 3008 Mass Storage Device 5250 KeyMaestro Multimedia Keyboard 5273 KeyMaestro Multimedia Keyboard 52e6 Cordless Mouse 5308 KeyMaestro Keyboard 5408 KeyMaestro Multimedia Keyboard/Hub 5500 Portable Keyboard 86+9 keys (Model 6100C US) 5550 5 button optical mouse model M873U 5720 Smart Card Reader 6782 BTC 7932 mouse+keyboard 046f Crystal Semiconductor 0471 Philips (or NXP) 0101 DSS350 Digital Speaker System 0104 DSS330 Digital Speaker System [uda1321] 0105 UDA1321 014f GoGear SA9200 0160 MP3 Player 0161 MP3 Player 0163 GoGear SA1100 0164 GoGear SA1110/02 0165 GoGear SA1330 0201 Hub 0222 Creative Nomad Jukebox 0302 PCA645VC Webcam [pwc] 0303 PCA646VC Webcam [pwc] 0304 Askey VC010 Webcam [pwc] 0307 PCVC675K Webcam [pwc] 0308 PCVC680K Webcam [pwc] 030b PC VGA Camera (Vesta Fun) 030c PCVC690K Webcam [pwc] 0310 PCVC730K Webcam [pwc] 0311 PCVC740K ToUcam Pro [pwc] 0312 PCVC750K Webcam [pwc] 0314 DMVC 1000K 0316 DMVC 2000K Video Capture 0321 FunCam 0322 DMVC1300K PC Camera 0325 SPC 200NC PC Camera 0326 SPC 300NC PC Camera 0327 Webcam SPC 6000 NC (Webcam w/ mic) 0328 SPC 700NC PC Camera 0329 SPC 900NC PC Camera / ORITE CCD Webcam(PC370R) 032d SPC 210NC PC Camera 032e SPC 315NC PC Camera 0330 SPC 710NC PC Camera 0331 SPC 1300NC PC Camera 0332 SPC 1000NC PC Camera 0333 SPC 620NC PC Camera 0334 SPC 520/525NC PC Camera 0401 Semiconductors CICT Keyboard 0402 PS/2 Mouse on Semiconductors CICT Keyboard 0406 15 inch Detachable Monitor 0407 10 inch Mobile Monitor 0408 SG3WA1/74 802.11b WLAN Adapter [Atmel AT76C503A] 0471 Digital Speaker System 0601 OVU1020 IR Dongle (Kbd+Mouse) 0602 ATI Remote Wonder II Input Device 0603 ATI Remote Wonder II Controller 0608 eHome Infrared Receiver 060a TSU9600 Remote Control 060c Consumer Infrared Transceiver (HP) 060d Consumer Infrared Transceiver (SRM5100) 060e RF Dongle 060f Consumer Infrared Transceiver 0613 Infrared Transceiver 0617 IEEE802.15.4 RF Dongle 0619 TSU9400 Remote Control 0666 Hantek DDS-3005 Arbitrary Waveform Generator 0700 Semiconductors CICT Hub 0701 150P1 TFT Display 0809 AVNET Bluetooth Device 0811 JR24 CDRW 0814 DCCX38/P data cable 0815 eHome Infrared Receiver 0844 SA2111/02 1GB Flash Audio Player 084a GoGear SA3125 084e GoGear SA60xx (mtp) 0888 Hantek DDS-3005 Arbitrary Waveform Generator 1103 Digital Speaker System 1120 Creative Rhomba MP3 player 1125 Nike psa[128max Player 1137 HDD065 MP3 player 1201 Arima Bluetooth Device 1230 Wireless Adapter 11g 1232 SNU6500 Wireless Adapter 1233 Wireless Adapter Bootloader Download 1236 SNU5600 802.11bg 1237 TalkTalk SNU5630NS/05 802.11bg 1552 ISP 1581 Hi-Speed USB MPEG2 Encoder Reference Kit 1801 Diva MP3 player 200a Wireless Network Adapter 200f 802.11n Wireless Adapter 2021 SDE3273FC/97 2.5" SATA HDD Enclosure [INIC-1608L] 2022 GoGear SA52XX 2034 Webcam SPC530NC 2036 Webcam SPC1030NC 203f TSU9200 Remote Control 2046 TSU9800 Remote Control 204e GoGear RaGa (SA1942/02) 205e TSU9300 Remote Control 206c MCE IR Receiver - Spinel plusf0r ASUS 2070 GoGear Mix 2076 GoGear Aria 2079 GoGear Opus 2088 MCE IR Receiver with ALS- Spinel plus for ASUS 209e PTA01 Wireless Adapter 20b6 GoGear Vibe 20d0 SPZ2000 Webcam [PixArt PAC7332] 20e3 GoGear Raga 20e4 GoGear ViBE 8GB 2160 Mio LINK Heart Rate Monitor 21e0 GoGEAR Raga 262c SPC230NC Webcam 2721 PTA 317 TV Camera 485d Senselock SenseIV v2.x df55 LPCXpresso LPC-Link 0472 Chicony Electronics Co., Ltd 0065 PFU-65 Keyboard [Chicony] b086 Asus USB2.0 Webcam b091 Webcam 0473 Sanyo Information Business Co., Ltd 0474 Sanyo Electric Co., Ltd 0110 Digital Voice Recorder R200 0217 Xacti J2 022f C5 Digital Media Camera (mass storage mode) 0230 C5 Digital Media Camera (PictBridge mode) 0231 C5 Digital Media Camera (PC control mode) 0401 Optical Drive 0701 SCP-4900 Cellphone 071f Usb Com Port Enumerator 0722 W33SA Camera 0475 Relisys/Teco Information System 0100 NEC Petiscan 0103 Eclipse 1200U/Episode 0210 Scorpio Ultra 3 0476 AESP 0477 Seagate Technology, Inc. 0478 Connectix Corp. 0001 QuickCam 0002 QuickClip 0003 QuickCam Pro 0479 Advanced Peripheral Laboratories 047a Semtech Corp. 0004 ScreenCoder UR7HCTS2-USB 047b Silitek Corp. 0001 Keyboard 0002 Keyboard and Mouse 0011 SK-1688U Keyboard 00f9 SK-1789u Keyboard 0101 BlueTooth Keyboard and Mouse 020b SK-3105 SmartCard Reader 050e Internet Compact Keyboard 1000 Trust Office Scan USB 19200 1002 HP ScanJet 4300c Parallel Port 047c Dell Computer Corp. ffff UPS Tower 500W LV 047d Kensington 1001 Mouse*in*a*Box 1002 Expert Mouse Pro 1003 Orbit TrackBall 1004 MouseWorks 1005 TurboBall 1006 TurboRing 1009 Orbit TrackBall for Mac 1012 PocketMouse 1013 Mouse*in*a*Box Optical Pro 1014 Expert Mouse Pro Wireless 1015 Expert Mouse 1016 ADB/USB Orbit 1018 Studio Mouse 101d Mouse*in*a*Box Optical Pro 101e Studio Mouse Wireless 101f PocketMouse Pro 1020 Expert Mouse Trackball 1021 Expert Mouse Wireless 1022 Orbit Optical 1023 Pocket Mouse Pro Wireless 1024 PocketMouse 1025 Mouse*in*a*Box Optical Elite Wireless 1026 Pocket Mouse Pro 1027 StudioMouse 1028 StudioMouse Wireless 1029 Mouse*in*a*Box Optical Elite 102a Mouse*in*a*Box Optical 102b PocketMouse 102c Iridio 102d Pilot Optical 102e Pilot Optical Pro 102f Pilot Optical Pro Wireless 1042 Ci25m Notebook Optical Mouse [Diamond Eye Precision] 1043 Ci65m Wireless Notebook Optical Mouse 104a PilotMouse Mini Retractable 105d PocketMouse Bluetooth 105e Bluetooth EDR Dongle 1061 PocketMouse Grip 1062 PocketMouse Max 1063 PocketMouse Max Wireless 1064 PocketMouse 2.0 Wireless 1065 PocketMouse 2.0 1066 PocketMouse Max Glow 1067 ValueMouse 1068 ValueOpt White 1069 ValueOpt Black 106a PilotMouse Laser Wireless Mini 106b PilotMouse Laser - 3 Button 106c PilotMouse Laser - Gaming 106d PilotMouse Laser - Wired 106e PilotMouse Micro Laser 1070 ValueOpt Travel 1071 ValueOpt RF TX 1072 PocketMouse Colour 1073 PilotMouse Laser - 6 Button 1074 PilotMouse Laser Wireless Mini 1075 SlimBlade Presenter Media Mouse 1076 SlimBlade Media Mouse 1077 SlimBlade Presenter Mouse 1152 Bluetooth EDR Dongle 2002 Optical Elite Wireless 2010 Wireless Presentation Remote 2012 Wireless Presenter with Laser Pointer 2021 PilotBoard Wireless 2030 PilotBoard Wireless 2034 SlimBlade Media Notebook Set 2041 SlimBlade Trackball 2048 Orbit Trackball with Scroll Ring 4003 Gravis Xterminator Digital Gamepad 4005 Gravis Eliminator GamePad Pro 4006 Gravis Eliminator AfterShock 4007 Gravis Xterminator Force 4008 Gravis Destroyer TiltPad 5001 Cabo I Camera 5002 VideoCam CABO II 5003 VideoCam 047e Agere Systems, Inc. (Lucent) 0300 ORiNOCO Card 1001 USS720 Parallel Port 2892 Systems Soft Modem bad1 Lucent 56k Modem f101 Atlas Modem 047f Plantronics, Inc. 0101 Bulk Driver 02ee BT600 0301 Bulk Driver 0411 Savi Office Base Station 0ca1 USB DSP v4 Audio Interface 4254 BUA-100 Bluetooth Adapter aa05 DA45 ac01 Savi 7xx ad01 GameCom 777 5.1 Headset af01 DA80 c008 Audio 655 DSP c00e Blackwire C310 headset c03b HD1 da60 DA60 0480 Toshiba America Inc 0001 InTouch Module 0004 InTouch Module 0011 InTouch Module 0014 InTouch Module 0100 Stor.E Slim USB 3.0 0200 External Disk 0820 Canvio Advance Disk 0821 Canvio Advance 2TB model DTC920 0900 MQ04UBF100 a006 External Disk 1.5TB a007 External Disk USB 3.0 a009 Stor.E Basics a00d STOR.E BASICS 500GB a100 Canvio Alu 2TB 2.5" Black External Disk Model HDTH320EK3CA a102 Canvio Alu 2TB 2.5" Black External Disk Model HDTH320EK3CA a202 Canvio Basics HDD a208 Canvio Basics 2TB USB 3.0 Portable Hard Drive b001 Stor.E Partner b207 Canvio Ready d000 External Disk 2TB Model DT01ABA200 d010 External Disk 3TB d011 Canvio Desk 0481 Zenith Data Systems 0482 Kyocera Corp. 000e FS-1020D Printer 000f FS-1920 Mono Printer 0015 FS-1030D printer 0100 Finecam S3x 0101 Finecam S4 0103 Finecam S5 0105 Finecam L3 0106 Finecam 0107 Digital Camera Device 0108 Digital Camera Device 0203 AH-K3001V 0204 iBurst Terminal 0408 FS-1320D Printer 0640 ECOSYS M6026cdn 069b ECOSYS M2635dn 0483 STMicroelectronics 0137 BeWAN ADSL USB ST (blue or green) 0138 Unicorn II (ST70138B + MTC-20174TQ chipset) 0adb Android Debug Bridge (ADB) device 0afb Android Fastboot device 1307 Cytronix 6in1 Card Reader 163d Cool Icam Digi-MP3 2015 TouchChip® Fingerprint Reader 2016 Fingerprint Reader 2017 Biometric Smart Card Reader 2018 BioSimKey 2302 Portable Flash Device (PFD) 3744 ST-LINK/V1 3747 ST Micro Connect Lite 3748 ST-LINK/V2 374b ST-LINK/V2.1 374d STLINK-V3 Loader 374e STLINK-V3 374f STLINK-V3 3752 ST-LINK/V2.1 3753 STLINK-V3 4810 ISDN adapter 481d BT Digital Access adapter 5000 ST Micro/Ergenic ERG BT-002 Bluetooth Adapter 5001 ST Micro Bluetooth Device 5710 Joystick in FS Mode 5720 Mass Storage Device 5721 Interrupt Demo 5722 Bulk Demo 5730 Audio Speaker 5731 Microphone 5740 Virtual COM Port 5750 LED badge -- mini LED display -- 11x44 7270 ST Micro Serial Bridge 7554 56k SoftModem 8213 ThermaData Logger Cradle 8259 Probe 91d1 Sensor Hub a171 ThermaData WiFi a2e0 BMeasure instrument df11 STM Device in DFU Mode ff10 Swann ST56 Modem 0484 Specialix 0485 Nokia Monitors 0486 ASUS Computers, Inc. 0185 EeePC T91MT HID Touch Panel 0487 Stewart Connector 0488 Cirque Corp. 0489 Foxconn / Hon Hai 0502 SmartMedia Card Reader Firmware Loader 0503 SmartMedia Card Reader d00c Rollei Compactline (Storage Mode) d00e Rollei Compactline (Video Mode) e000 T-Com TC 300 e003 Pirelli DP-L10 e00d Broadcom Bluetooth 2.1 Device e00f Foxconn T77H114 BCM2070 [Single-Chip Bluetooth 2.1 + EDR Adapter] e011 Acer Bluetooth module e016 Ubee PXU1900 WiMAX Adapter [Beceem BCSM250] e02c Atheros AR5BBU12 Bluetooth Device e032 Broadcom BCM20702 Bluetooth e042 Broadcom BCM20702 Bluetooth e04d Atheros AR3012 Bluetooth e055 BCM43142A0 broadcom bluetooth 048a S-MOS Systems, Inc. 048c Alps Electric Ireland, Ltd 048d Integrated Technology Express, Inc. 1165 IT1165 Flash Controller 1172 Flash Drive 1234 Chipsbank CBM2199 Flash Drive 1336 SD/MMC Cardreader 1345 Multi Cardreader 8297 IT8297 RGB LED Controller 9006 IT9135 BDA Afatech DVB-T HDTV Dongle 9009 Zolid HD DVD Maker 9135 Zolid Mini DVB-T Stick 9306 IT930x DVB stick 9503 ITE it9503 feature-limited DVB-T transmission chip [ccHDtv] 9507 ITE it9507 full featured DVB-T transmission chip [ccHDtv] 9910 IT9910 chipset based grabber ff59 Hdmi-CEC Bridge 048f Eicon Tech. 0490 United Microelectronics Corp. 0491 Capetronic 0003 Taxan Monitor Control 0492 Samsung SemiConductor, Inc. 0140 MP3 player 0141 MP3 Player 0493 MAG Technology Co., Ltd 0495 ESS Technology, Inc. 0496 Micron Electronics 0497 Smile International c001 Camera Device 0498 Capetronic (Kaohsiung) Corp. 0499 Yamaha Corp. 1000 UX256 MIDI I/F 1001 MU1000 1002 MU2000 1003 MU500 1004 UW500 1005 MOTIF6 1006 MOTIF7 1007 MOTIF8 1008 UX96 MIDI I/F 1009 UX16 MIDI I/F 100a EOS BX 100c UC-MX 100d UC-KX 100e S08 100f CLP-150 1010 CLP-170 1011 P-250 1012 TYROS 1013 PF-500 1014 S90 1015 MOTIF-R 1016 MDP-5 1017 CVP-204 1018 CVP-206 1019 CVP-208 101a CVP-210 101b PSR-1100 101c PSR-2100 101d CLP-175 101e PSR-K1 101f EZ-J24 1020 EZ-250i 1021 MOTIF ES 6 1022 MOTIF ES 7 1023 MOTIF ES 8 1024 CVP-301 1025 CVP-303 1026 CVP-305 1027 CVP-307 1028 CVP-309 1029 CVP-309GP 102a PSR-1500 102b PSR-3000 102e ELS-01/01C 1030 PSR-295/293 1031 DGX-205/203 1032 DGX-305 1033 DGX-505 1037 PSR-E403 103c MOTIF-RACK ES 1054 S90XS Keyboard/Music Synthesizer 160f P-105 1613 Clavinova CLP535 1617 PSR-E353 digital keyboard 1704 Steinberg UR44 2000 DGP-7 2001 DGP-5 3001 YST-MS55D USB Speaker 3003 YST-M45D USB Speaker 4000 NetVolante RTA54i Broadband&ISDN Router 4001 NetVolante RTW65b Broadband Wireless Router 4002 NetVolante RTW65i Broadband&ISDN Wireless Router 4004 NetVolante RTA55i Broadband VoIP Router 5000 CS1D 5001 DSP1D 5002 DME32 5003 DM2000 5004 02R96 5005 ACU16-C 5006 NHB32-C 5007 DM1000 5008 01V96 5009 SPX2000 500a PM5D 500b DME64N 500c DME24N 6001 CRW2200UX Lightspeed 2 External CD-RW Drive 7000 DTX 7010 UB99 049a Gandalf Technologies, Ltd 049b Curtis Computer Products 049c Acer Advanced Labs, Inc. 0002 Keyboard (???) 049d VLSI Technology 049f Compaq Computer Corp. 0002 InkJet Color Printer 0003 iPAQ PocketPC 000e Internet Keyboard 0012 InkJet Color Printer 0018 PA-1/PA-2 MP3 Player 0019 InkJet Color Printer 001a S4 100 Scanner 001e IJ650 Inkjet Printer 001f WL215 Adapter 0021 S200 Scanner 0027 Bluetooth Multiport Module by Compaq 002a 1400P Inkjet Printer 002b A3000 002c Lexmark X125 0032 802.11b Adapter [ipaq h5400] 0033 Wireless LAN MultiPort W100 [Intersil PRISM 2.5] 0036 Bluetooth Multiport Module 0051 KU-0133 Easy Access Interner Keyboard 0076 Wireless LAN MultiPort W200 0080 GPRS Multiport 0086 Bluetooth Device 504a Personal Jukebox PJB100 505a Linux-USB "CDC Subset" Device, or Itsy (experimental) 8511 iPAQ Networking 10/100 Ethernet [pegasus2] 04a0 Digital Equipment Corp. 04a1 SystemSoft Corp. fff0 Telex Composite Device 04a2 FirePower Systems 04a3 Trident Microsystems, Inc. 04a4 Hitachi, Ltd 0004 DVD-CAM DZ-MV100A Camcorder 001e DVDCAM USB HS Interface 04a5 Acer Peripherals Inc. (now BenQ Corp.) 0001 Keyboard 0002 API Ergo K/B 0003 API Generic K/B Mouse 12a6 AcerScan C310U 1a20 Prisa 310U 1a2a Prisa 620U 2022 Prisa 320U/340U 2040 Prisa 620UT 205e ScanPrisa 640BU 2060 Prisa 620U+/640U 207e Prisa 640BU 209e ScanPrisa 640BT 20ae S2W 3000U 20b0 S2W 3300U/4300U 20be Prisa 640BT 20c0 Prisa 1240UT 20de S2W 4300U+ 20f8 Benq 5000 20fc Benq 5000 20fe SW2 5300U 2137 Benq 5150/5250 2202 Benq 7400UT 2311 Benq 5560 3003 Benq Webcam 3008 Benq 1500 300a Benq 3410 300c Benq 1016 3019 Benq DC C40 4000 P30 Composite Device 4013 BenQ-Siemens EF82/SL91 4044 BenQ-Siemens SF71 4045 BenQ-Siemens E81 4048 BenQ M7 6001 Mass Storage Device 6002 Mass Storage Device 6003 ATA/ATAPI Adapter 6004 Mass Storage Device 6005 Mass Storage Device 6006 Mass Storage Device 6007 Mass Storage Device 6008 Mass Storage Device 6009 Mass Storage Device 600a Mass Storage Device 600b Mass Storage Device 600c Mass Storage Device 600d Mass Storage Device 600e Mass Storage Device 600f Mass Storage Device 6010 Mass Storage Device 6011 Mass Storage Device 6012 Mass Storage Device 6013 Mass Storage Device 6014 Mass Storage Device 6015 Mass Storage Device 6125 MP3 Player 6180 MP3 Player 6200 MP3 Player 7500 Hi-Speed Mass Storage Device 9000 AWL300 Wireless Adapter 9001 AWL400 Wireless Adapter 9213 Kbd Hub 04a6 Nokia Display Products 00b9 Audio 0180 Hub Type P 0181 HID Monitor Controls 04a7 Visioneer 0100 StrobePro 0101 Strobe Pro Scanner (1.01) 0102 StrobePro Scanner 0211 OneTouch 7600 Scanner 0221 OneTouch 5300 Scanner 0223 OneTouch 8200 0224 OneTouch 4800 USB/Microtek Scanport 3000 0225 VistaScan Astra 3600(ENG) 0226 OneTouch 5300 USB 0229 OneTouch 7100 022a OneTouch 6600 022c OneTouch 9000/9020 0231 6100 Scanner 0311 6200 EPP/USB Scanner 0321 OneTouch 8100 EPP/USB Scanner 0331 OneTouch 8600 EPP/USB Scanner 0341 6400 0361 VistaScan Astra 3600(ENG) 0362 OneTouch 9320 0371 OneTouch 8700/8920 0380 OneTouch 7700 0382 Photo Port 7700 0390 9650 03a0 Xerox 4800 One Touch 0410 OneTouch Pro 8800/8820 0421 9450 USB 0423 9750 Scanner 0424 Strobe XP 450 0425 Strobe XP 100 0426 Strobe XP 200 0427 Strobe XP 100 0444 OneTouch 7300 0445 CardReader 100 0446 Xerox DocuMate 510 0447 XEROX DocuMate 520 0448 XEROX DocuMate 250 0449 Xerox DocuMate 252 044a Xerox 6400 044c Xerox DocuMate 262 0474 Strobe XP 300 0475 Xerox DocuMate 272 0478 Strobe XP 220 0479 Strobe XP 470 047a 9450 047b 9650 047d 9420 0480 9520 048f Strobe XP 470 0491 Strobe XP 450 0493 9750 0494 Strobe XP 120 0497 Patriot 430 0498 Patriot 680 0499 Patriot 780 049b Strobe XP 100 04a0 7400 04ac Xerox Travel Scanner 100 04bb strobe 400 scanner 04cd Xerox Travel Scanner 150 04a8 Multivideo Labs, Inc. 0101 Hub 0303 Peripheral Switch 0404 Peripheral Switch 04a9 Canon, Inc. 1005 BJ Printer Hub 1035 PD Printer Storage 1050 BJC-8200 1051 BJC-3000 Color Printer 1052 BJC-6100 1053 BJC-6200 1054 BJC-6500 1055 BJC-85 1056 BJC-2110 Color Printer 1057 LR1 105a BJC-55 105b S600 Printer 105c S400 105d S450 Printer 105e S800 1062 S500 Printer 1063 S4500 1064 S300 Printer 1065 S100 1066 S630 1067 S900 1068 S9000 1069 S820 106a S200 Printer 106b S520 Printer 106d S750 Printer 106e S820D 1070 S530D 1072 I850 Printer 1073 I550 Printer 1074 S330 Printer 1076 i70 1077 i950 107a S830D 107b i320 107c i470D 107d i9100 107e i450 107f i860 1082 i350 1084 i250 1085 i255 1086 i560 1088 i965 108a i455 108b i900D 108c i475D 108d PIXMA iP2000 108f i80 1090 i9900 Photo Printer 1091 PIXMA iP1500 1093 PIXMA iP4000 1094 PIXMA iP3000x Printer 1095 PIXMA iP6000D 1097 PIXMA iP5000 1098 PIXMA iP1000 1099 PIXMA iP8500 109c PIXMA iP4000R 109d iP90 10a0 PIXMA iP1600 Printer 10a2 iP4200 10a4 iP5200R 10a5 iP5200 10a7 iP6210D 10a8 iP6220D 10a9 iP6600D 10b6 PIXMA iP4300 Printer 10b7 PIXMA iP5300 Printer 10c2 PIXMA iP1800 Printer 10c4 Pixma iP4500 Printer 10c9 PIXMA iP4600 Printer 10ca PIXMA iP3600 Printer 10e3 PIXMA iX6850 Printer 12fe Printer in service mode 1404 W6400PG 1405 W8400PG 150f BIJ2350 PCL 1510 BIJ1350 PCL 1512 BIJ1350D PCL 1601 DR-2080C Scanner 1607 DR-6080 Scanner 1608 DR-2580C Scanner 1609 DR-3080CII 160a DR-2050C Scanner 1700 PIXMA MP110 Scanner 1701 PIXMA MP130 Scanner 1702 MP410 Composite 1703 MP430 Composite 1704 MP330 Composite 1706 PIXMA MP750 Scanner 1707 PIXMA MP780/MP790 1708 PIXMA MP760/MP770 1709 PIXMA MP150 Scanner 170a PIXMA MP170 Scanner 170b PIXMA MP450 Scanner 170c PIXMA MP500 Scanner 170d PIXMA MP800 Scanner 170e PIXMA MP800R 1710 MP950 1712 PIXMA MP530 1713 PIXMA MP830 Scanner 1714 MP160 1715 PIXMA MP180 1716 PIXMA MP460 1717 PIXMA MP510 1718 PIXMA MP600 1719 PIXMA MP600R 171a PIXMA MP810 171b PIXMA MP960 171c PIXMA MX7600 1721 PIXMA MP210 1722 PIXMA MP220 1723 PIXMA MP470 1724 PIXMA MP520 series 1725 PIXMA MP610 1726 PIXMA MP970 1727 PIXMA MX300 1728 PIXMA MX310 series 1729 PIXMA MX700 172b MP140 ser 172c PIXMA MX850 172d PIXMA MP980 172e PIXMA MP630 172f PIXMA MP620 1730 PIXMA MP540 1731 PIXMA MP480 1732 PIXMA MP240 1733 PIXMA MP260 1734 PIXMA MP190 1735 PIXMA MX860 1736 PIXMA MX320 series 1737 PIXMA MX330 173a PIXMA MP250 173b PIXMA MP270 All-In-One Printer 173c PIXMA MP490 173d PIXMA MP550 173e PIXMA MP560 173f PIXMA MP640 1740 PIXMA MP990 1741 PIXMA MX340 1742 PIXMA MX350 1743 PIXMA MX870 1746 PIXMA MP280 1747 PIXMA MP495 1748 PIXMA MG5100 Series 1749 PIXMA MG5200 Series 174a PIXMA MG6100 Series 174b PIXMA MG8100 Series 174d PIXMA MX360 174e PIXMA MX410 174f PIXMA MX420 1750 PIXMA MX880 Series 1752 PIXMA MG3100 Series 1753 PIXMA MG4100 Series 1754 PIXMA MG5300 Series 1755 PIXMA MG6200 Series 1756 PIXMA MG8200 Series 1757 PIXMA MP493 1759 PIXMA MX370 Series 175b PIXMA MX430 Series 175c PIXMA MX510 Series 175d PIXMA MX710 Series 175e PIXMA MX890 Series 175f PIXMA MP230 1762 PIXMA MG3200 Series 1763 PIXMA MG4200 Series 1764 PIXMA MG5400 Series 1765 PIXMA MG6300 Series 1766 PIXMA MX390 Series 1768 PIXMA MX450 Series 1769 PIXMA MX520 Series 176a PIXMA MX720 Series 176b PIXMA MX920 Series 176d PIXMA MG2500 Series 176e PIXMA MG3500 Series 176f PIXMA MG6500 Series 1770 PIXMA MG6400 Series 1771 PIXMA MG5500 Series 1772 PIXMA MG7100 Series 1774 PIXMA MX470 Series 1775 PIXMA MX530 Series 177c PIXMA MG7500 Series 177e PIXMA MG6600 Series 177f PIXMA MG5600 Series 1780 PIXMA MG2900 Series 1787 PIXMA MX490 Series 178a PIXMA MG3600 Series 178d PIXMA MG6853 180b PIXMA MG3000 series 1856 PIXMA TS6250 1900 CanoScan LiDE 90 1901 CanoScan 8800F 1904 CanoScan LiDE 100 1905 CanoScan LiDE 200 1906 CanoScan 5600F 1907 CanoScan LiDE 700F 1909 CanoScan LiDE 110 190a CanoScan LiDE 210 190d CanoScan 9000F Mark II 190e CanoScan LiDE 120 190f CanoScan LiDE 220 2200 CanoScan LiDE 25 2201 CanoScan FB320U 2202 CanoScan FB620U 2204 CanoScan FB630U 2205 CanoScan FB1210U 2206 CanoScan N650U/N656U 2207 CanoScan 1220U 2208 CanoScan D660U 220a CanoScan D2400UF 220b CanoScan D646U 220c CanoScan D1250U2 220d CanoScan N670U/N676U/LiDE 20 220e CanoScan N1240U/LiDE 30 220f CanoScan 8000F 2210 CanoScan 9900F 2212 CanoScan 5000F 2213 CanoScan LiDE 50/LiDE 35/LiDE 40 2214 CanoScan LiDE 80 2215 CanoScan 3000/3000F/3000ex 2216 CanoScan 3200F 2217 CanoScan 5200F 2219 CanoScan 9950F 221b CanoScan 4200F 221c CanoScan LiDE 60 221e CanoScan 8400F 221f CanoScan LiDE 500F 2220 CanoScan LIDE 25 2224 CanoScan LiDE 600F 2225 CanoScan LiDE 70 2228 CanoScan 4400F 2229 CanoScan 8600F 2602 MultiPASS C555 2603 MultiPASS C755 260a LBP810 260e LBP-2000 2610 MPC600F 2611 SmartBase MPC400 2612 MultiPASS C855 2617 LBP1210 261a iR1600 261b iR1610 261c iC2300 261f MPC200 Printer 2621 iR2000 2622 iR2010 2623 FAX-B180C 2629 FAXPHONE L75 262b LaserShot LBP-1120 Printer 262c imageCLASS D300 262d iR C3200 262f PIXMA MP730 2630 PIXMA MP700 2631 LASER CLASS 700 2632 FAX-L2000 2633 LASERCLASS 500 2634 PC-D300/FAX-L400/ICD300 2635 MPC190 2636 LBP3200 2637 iR C6800 2638 iR C3100 263c PIXMA MP360 263d PIXMA MP370 263e PIXMA MP390 263f PIXMA MP375R 2646 MF5530 Scanner Device V1.9.1 2647 MF5550 Composite 264c PIXMA MP740 264d PIXMA MP710 264e MF5630 264f MF5650 (FAX) 2650 iR 6800C EUR 2651 iR 3100C EUR 2654 LBP3600 2655 FP-L170/MF350/L380/L398 2656 iR1510-1670 CAPT Printer 2657 LBP3210 2659 MF8100 265b CAPT Printer 265c iR C3220 265d MF5730 265e MF5750 265f MF5770 2660 MF3110 2663 iR3570/iR4570 2664 iR2270/iR2870 2665 iR C2620 2666 iR C5800 2667 iR85PLUS 2669 iR105PLUS 266a LBP3000 266b iR8070 266c iR9070 266d iR 5800C EUR 266e CAPT Device 266f iR2230 2670 iR3530 2671 iR5570/iR6570 2672 iR C3170 2673 iR 3170C EUR 2674 FAX-L120 2675 iR2830 2676 LBP2900 2677 iR C2570 2678 iR 2570C EUR 2679 LBP5000 267a iR2016 267b iR2020 267d MF7100 series 267e LBP3300 2684 MF3200 series 2686 MF6500 series 2687 iR4530 2688 LBP3460 2689 FAX-L180/L380S/L398S 268a LC310/L390/L408S 268b LBP3500 268c iR C6870 268d iR 6870C EUR 268e iR C5870 268f iR 5870C EUR 2691 iR7105 26a1 LBP5300 26a3 MF4100 series 26a4 LBP5100 26b0 MF4600 series 26b4 MF4010 series 26b5 MF4200 series 26b6 FAX-L140/L130 26b9 LBP3310 26ba LBP5050 26da LBP3010/LBP3018/LBP3050 26db LBP3100/LBP3108/LBP3150 26e6 iR1024 26ea LBP9100C 26ee MF4320-4350 26f1 LBP7200C 26ff LBP6300 271a LBP6000 271b LBP6200 271c LBP7010C/7018C 2736 I-SENSYS MF4550d 2737 MF4410 2742 imageRUNNER1133 series 2771 LBP6020 2796 LBP6230/6240 3041 PowerShot S10 3042 CanoScan FS4000US Film Scanner 3043 PowerShot S20 3044 EOS D30 3045 PowerShot S100 3046 IXY Digital 3047 Digital IXUS 3048 PowerShot G1 3049 PowerShot Pro90 IS 304a CP-10 304b IXY Digital 300 304c PowerShot S300 304d Digital IXUS 300 304e PowerShot A20 304f PowerShot A10 3050 PowerShot unknown 1 3051 PowerShot S110 3052 Digital IXUS V 3055 PowerShot G2 3056 PowerShot S40 3057 PowerShot S30 3058 PowerShot A40 3059 PowerShot A30 305b ZR45MC Digital Camcorder 305c PowerShot unknown 2 3060 EOS D60 3061 PowerShot A100 3062 PowerShot A200 3063 CP-100 3065 PowerShot S200 3066 Digital IXUS 330 3067 MV550i Digital Video Camera 3069 PowerShot G3 306a Digital unknown 3 306b MVX2i Digital Video Camera 306c PowerShot S45 306d PowerShot S45 PtP Mode 306e PowerShot G3 (normal mode) 306f PowerShot G3 (ptp) 3070 PowerShot S230 3071 PowerShot S230 (ptp) 3072 PowerShot SD100 / Digital IXUS II (ptp) 3073 PowerShot A70 (ptp) 3074 PowerShot A60 (ptp) 3075 IXUS 400 Camera 3076 PowerShot A300 3077 PowerShot S50 3078 ZR70MC Digital Camcorder 307a MV650i (normal mode) 307b MV630i Digital Video Camera 307c CP-200 307d CP-300 307f Optura 20 3080 MVX150i (normal mode) / Optura 20 (normal mode) 3081 Optura 10 3082 MVX100i / Optura 10 3083 EOS 10D 3084 EOS 300D / EOS Digital Rebel 3085 PowerShot G5 3087 Elura 50 (PTP mode) 3088 Elura 50 (normal mode) 308d MVX3i 308e FV M1 (normal mode) / MVX 3i (normal mode) / Optura Xi (normal mode) 3093 Optura 300 3096 IXY DV M2 (normal mode) / MVX 10i (normal mode) 3099 EOS 300D (ptp) 309a PowerShot A80 309b Digital IXUS (ptp) 309c PowerShot S1 IS 309d Powershot Pro 1 309f Camera 30a0 Camera 30a1 Camera 30a2 Camera 30a8 Elura 60E/Optura 40 (ptp) 30a9 MVX25i (normal mode) / Optura 40 (normal mode) 30b1 PowerShot S70 (normal mode) / PowerShot S70 (PTP mode) 30b2 PowerShot S60 (normal mode) / PowerShot S60 (PTP mode) 30b3 PowerShot G6 (normal mode) / PowerShot G6 (PTP mode) 30b4 PowerShot S500 30b5 PowerShot A75 30b6 Digital IXUS II2 / Digital IXUS II2 (PTP mode) / PowerShot SD110 (PTP mode) / PowerShot SD110 Digital ELPH 30b7 PowerShot A400 / PowerShot A400 (PTP mode) 30b8 PowerShot A310 / PowerShot A310 (PTP mode) 30b9 Powershot A85 30ba PowerShot S410 Digital Elph 30bb PowerShot A95 30bd CP-220 30be CP-330 30bf Digital IXUS 40 30c0 Digital IXUS 30 (PTP mode) / PowerShot SD200 (PTP mode) 30c1 Digital IXUS 50 (normal mode) / IXY Digital 55 (normal mode) / PowerShot A520 (PTP mode) / PowerShot SD400 (normal mode) 30c2 PowerShot A510 (normal mode) / PowerShot A510 (PTP mode) 30c4 Digital IXUS i5 (normal mode) / IXY Digital L2 (normal mode) / PowerShot SD20 (normal mode) 30ea EOS 1D Mark II (PTP mode) 30eb EOS 20D 30ec EOS 20D (ptp) 30ee EOS 350D 30ef EOS 350D (ptp) 30f0 PowerShot S2 IS (PTP mode) 30f2 Digital IXUS 700 (normal mode) / Digital IXUS 700 (PTP mode) / IXY Digital 600 (normal mode) / PowerShot SD500 (normal mode) / PowerShot SD500 (PTP mode) 30f4 PowerShot SD30 / Ixus iZoom / IXY DIGITAL L3 30f5 SELPHY CP500 30f6 SELPHY CP400 30f8 Powershot A430 30f9 PowerShot A410 (PTP mode) 30fa PowerShot S80 30fc PowerShot A620 (PTP mode) 30fd PowerShot A610 (normal mode)/PowerShot A610 (PTP mode) 30fe Digital IXUS 65 (PTP mode)/PowerShot SD630 (PTP mode) 30ff Digital IXUS 55 (PTP mode)/PowerShot SD450 (PTP mode) 3100 PowerShot TX1 310b SELPHY CP600 310e Digital IXUS 50 (PTP mode) 310f PowerShot A420 3110 EOS Digital Rebel XTi 3115 PowerShot SD900 / Digital IXUS 900 Ti / IXY DIGITAL 1000 3116 Digital IXUS 750 / PowerShot SD550 (PTP mode) 3117 PowerShot A700 3119 PowerShot SD700 IS / Digital IXUS 800 IS / IXY Digital 800 IS 311a PowerShot S3 IS 311b PowerShot A540 311c PowerShot SD600 DIGITAL ELPH / DIGITAL IXUS 60 / IXY DIGITAL 70 3125 PowerShot G7 3126 PowerShot A530 3127 SELPHY CP710 3128 SELPHY CP510 312d Elura 100 3136 PowerShot SD800 IS / Digital IXUS 850 IS / IXY DIGITAL 900 IS 3137 PowerShot SD40 / Digital IXUS i7 IXY / DIGITAL L4 3138 PowerShot A710 IS 3139 PowerShot A640 313a PowerShot A630 3141 SELPHY ES1 3142 SELPHY CP730 3143 SELPHY CP720 3145 EOS 450D 3146 EOS 40D 3147 EOS 1Ds Mark III 3148 PowerShot S5 IS 3149 PowerShot A460 314b PowerShot SD850 IS DIGITAL ELPH / Digital IXUS 950 IS / IXY DIGITAL 810 IS 314c PowerShot A570 IS 314d PowerShot A560 314e PowerShot SD750 DIGITAL ELPH / DIGITAL IXUS 75 / IXY DIGITAL 90 314f PowerShot SD1000 DIGITAL ELPH / DIGITAL IXUS 70 / IXY DIGITAL 10 3150 PowerShot A550 3155 PowerShot A450 315a PowerShot G9 315b PowerShot A650 IS 315d PowerShot A720 315e PowerShot SX100 IS 315f PowerShot SD950 IS DIGITAL ELPH / DIGITAL IXUS 960 IS / IXY DIGITAL 2000 IS 3160 Digital IXUS 860 IS 3170 SELPHY CP750 3171 SELPHY CP740 3172 SELPHY CP520 3173 PowerShot SD890 IS DIGITAL ELPH / Digital IXUS 970 IS / IXY DIGITAL 820 IS 3174 PowerShot SD790 IS DIGITAL ELPH / Digital IXUS 90 IS / IXY DIGITAL 95 IS 3175 IXY Digital 25 IS 3176 PowerShot A590 3177 PowerShot A580 317a PC1267 [Powershot A470] 3184 Digital IXUS 80 IS (PTP mode) 3185 SELPHY ES2 3186 SELPHY ES20 318d PowerShot SX100 IS 318e PowerShot A1000 IS 318f PowerShot G10 3191 PowerShot A2000 IS 3192 PowerShot SX110 IS 3193 PowerShot SD990 IS DIGITAL ELPH / Digital IXUS 980 IS / IXY DIGITAL 3000 IS 3195 PowerShot SX1 IS 3196 PowerShot SD880 IS DIGITAL ELPH / Digital IXUS 870 IS / IXY DIGITAL 920 IS 3199 EOS 5D Mark II 319a EOS 7D 319b EOS 50D 31aa SELPHY CP770 31ab SELPHY CP760 31ad PowerShot E1 31af SELPHY ES3 31b0 SELPHY ES30 31b1 SELPHY CP530 31bc PowerShot D10 31bd PowerShot SD960 IS DIGITAL ELPH / Digital IXUS 110 IS / IXY DIGITAL 510 IS 31be PowerShot A2100 IS 31bf PowerShot A480 31c0 PowerShot SX200 IS 31c1 PowerShot SD970 IS DIGITAL ELPH / Digital IXUS 990 IS / IXY DIGITAL 830 IS 31c2 PowerShot SD780 IS DIGITAL ELPH / Digital IXUS 100 IS / IXY DIGITAL 210 IS 31c3 PowerShot A1100 IS 31c4 PowerShot SD1200 IS DIGITAL ELPH / Digital IXUS 95 IS / IXY DIGITAL 110 IS 31cf EOS Rebel T1i / EOS 500D / EOS Kiss X3 31dd SELPHY CP780 31df PowerShot G11 31e0 PowerShot SX120 IS 31e1 PowerShot S90 31e4 PowerShot SX20 IS 31e5 Digital IXUS 200 IS 31e6 PowerShot SD940 IS DIGITAL ELPH / Digital IXUS 120 IS / IXY DIGITAL 220 IS 31e7 SELPHY CP790 31ea EOS Rebel T2i / EOS 550D / EOS Kiss X4 31ee SELPHY ES40 31ef PowerShot A495 31f0 PowerShot A490 31f1 PowerShot A3100 IS / PowerShot A3150 IS 31f2 PowerShot A3000 IS 31f3 PowerShot Digital ELPH SD1400 IS 31f4 PowerShot SD1300 IS / IXUS 105 31f5 Powershot SD3500 IS / IXUS 210 IS 31f6 PowerShot SX210 IS 31f7 Powershot SD4000 IS / IXUS 300 HS / IXY 30S 31f8 Powershot SD4500 IS / IXUS 1000 HS / IXY 50S 31ff Digital IXUS 55 3209 Vixia HF S21 A 320f PowerShot G12 3210 Powershot SX30 IS 3211 PowerShot SX130 IS 3212 Powershot S95 3214 SELPHY CP800 3215 EOS 60D 3218 EOS 600D / Rebel T3i (ptp) 3219 EOS 1D X 3223 PowerShot A3300 IS 3224 PowerShot A3200 IS 3225 PowerShot ELPH 500 HS / IXUS 310 HS 3226 PowerShow A800 3227 PowerShot ELPH 100 HS / IXUS 115 HS 3228 PowerShot SX230 HS 3229 PowerShot ELPH 300 HS / IXUS 220 HS 322a PowerShot A2200 322b Powershot A1200 322c PowerShot SX220 HS 3233 PowerShot G1 X 3234 PowerShot SX150 IS 3235 PowerShot ELPH 510 HS / IXUS 1100 HS 3236 PowerShot S100 3237 PowerShot ELPH 310 HS / IXUS 230 HS 3238 PowerShot SX40 HS 323a EOS 5D Mark III 323b EOS Rebel T4i 323d EOS M 323e PowerShot A1300 323f PowerShot A810 3240 PowerShot ELPH 320 HS / IXUS 240 HS 3241 PowerShot ELPH 110 HS / IXUS 125 HS 3242 PowerShot D20 3243 PowerShot A4000 IS 3244 PowerShot SX260 HS 3245 PowerShot SX240 HS 3246 PowerShot ELPH 530 HS / IXUS 510 HS 3247 PowerShot ELPH 520 HS / IXUS 500 HS 3248 PowerShot A3400 IS 3249 PowerShot A2400 IS 324a PowerShot A2300 3250 EOS 6D 3252 EOS 1D C 3253 EOS 70D 3255 SELPHY CP900 3256 SELPHY CP810 3258 PowerShot G15 3259 PowerShot SX50 HS 325a PowerShot SX160 IS 325b PowerShot S110 325c PowerShot SX500 IS 325e PowerShot N 325f PowerShot SX280 HS 3260 PowerShot SX270 HS 3261 PowerShot A3500 IS 3262 PowerShot A2600 3263 PowerShot SX275 HS 3264 PowerShot A1400 3265 Powershot ELPH 130 IS / IXUS 140 3266 Powershot ELPH 120 IS / IXUS 135 3268 PowerShot ELPH 330 HS / IXUS 255 HS 326f EOS 7D Mark II 3270 EOS 100D 3271 PowerShot A2500 3272 EOS 700D 3274 PowerShot G16 3275 PowerShot S120 3276 PowerShot SX170 IS 3277 PowerShot SX510 HS 3278 PowerShot S200 327a SELPHY CP910 327b SELPHY CP820 327d Powershot ELPH 115 IS / IXUS 132 327f EOS Rebel T5 / EOS 1200D / EOS Kiss X70 3284 PowerShot D30 3285 PowerShot SX700 HS 3286 PowerShot SX600 HS 3287 PowerShot ELPH 140 IS / IXUS 150 3288 Powershot ELPH 135 / IXUS 145 3289 PowerShot ELPH 340 HS / IXUS 265 HS 328a PowerShot ELPH 150 IS / IXUS 155 328b PowerShot N Facebook(R) Ready 3299 EOS M3 329a PowerShot SX60 HS 329b PowerShot SX520 HS 329c PowerShot SX400 IS 329d PowerShot G7 X 329f PowerShot SX530 HS 32a0 EOS M10 32a6 PowerShot SX710 HS 32a7 PowerShot SX610 HS 32a8 PowerShot G3 X 32aa Powershot ELPH 160 / IXUS 160 32ab PowerShot ELPH 350HS / IXUS 275 HS 32ac PowerShot ELPH 170 IS / IXUS 170 32ad PowerShot SX410 IS 32b1 SELPHY CP1200 32b2 PowerShot G9 X 32b3 PowerShot G5 X 32b4 EOS Rebel T6 32bb EOS M5 32bf PowerShot SX420 IS 32c1 PowerShot ELPH 180 / IXUS 175 32c2 PowerShot SX720 HS 32c5 EOS M6 32cc EOS 200D 32d1 EOS M100 32d2 EOS M50 32d4 Powershot ELPH 185 / IXUS 185 / IXY 200 32d5 PowerShot SX430 IS 32db SELPHY CP1300 04aa DaeWoo Telecom, Ltd 04ab Chromatic Research 04ac Micro Audiometrics Corp. 04ad Dooin Electronics 2501 Bluetooth Device 04af Winnov L.P. 04b0 Nikon Corp. 0102 Coolpix 990 0103 Coolpix 880 0104 Coolpix 995 0106 Coolpix 775 0107 Coolpix 5000 0108 Coolpix 2500 0109 Coolpix 2500 (ptp) 010a Coolpix 4500 010b Coolpix 4500 (ptp) 010d Coolpix 5700 (ptp) 010e Coolpix 4300 (storage) 010f Coolpix 4300 (ptp) 0110 Coolpix 3500 (Sierra Mode) 0111 Coolpix 3500 (ptp) 0112 Coolpix 885 (ptp) 0113 Coolpix 5000 (ptp) 0114 Coolpix 3100 (storage) 0115 Coolpix 3100 (ptp) 0117 Coolpix 2100 (ptp) 0119 Coolpix 5400 (ptp) 011d Coolpix 3700 (ptp) 0121 Coolpix 3200 (ptp) 0122 Coolpix 2200 (ptp) 0124 Coolpix 8400 (mass storage mode) 0125 Coolpix 8400 (ptp) 0126 Coolpix 8800 0129 Coolpix 4800 (ptp) 012c Coolpix 4100 (storage) 012d Coolpix 4100 (ptp) 012e Coolpix 5600 (ptp) 0130 Coolpix 4600 (ptp) 0135 Coolpix 5900 (ptp) 0136 Coolpix 7900 (storage) 0137 Coolpix 7900 (ptp) 013a Coolpix 100 (storage) 013b Coolpix 100 (ptp) 0141 Coolpix P2 (storage) 0142 Coolpix P2 (ptp) 0163 Coolpix P5100 (ptp) 0169 Coolpix P50 (ptp) 0202 Coolpix SQ (ptp) 0203 Coolpix 4200 (mass storage mode) 0204 Coolpix 4200 (ptp) 0205 Coolpix 5200 (storage) 0206 Coolpix 5200 (ptp) 0301 Coolpix 2000 (storage) 0302 Coolpix 2000 (ptp) 0317 Coolpix L20 (ptp) 0402 DSC D100 (ptp) 0403 D2H (mass storage mode) 0404 D2H SLR (ptp) 0405 D70 (mass storage mode) 0406 DSC D70 (ptp) 0408 D2X SLR (ptp) 0409 D50 digital camera 040a D50 (ptp) 040c D2Hs 040e DSC D70s (ptp) 040f D200 (mass storage mode) 0410 D200 (ptp) 0413 D40 (mass storage mode) 041e D60 digital camera (mass storage mode) 0422 D700 (ptp) 0423 D5000 0424 D3000 0425 D300S 0428 D7000 0429 D5100 042a D800 (ptp) 0430 D7100 0436 D810 043f D5600 0f03 PD-10 Wireless Printer Adapter 4000 Coolscan LS 40 ED 4001 LS 50 ED/Coolscan V ED 4002 Super Coolscan LS-5000 ED 04b1 Pan International 04b3 IBM Corp. 3003 Rapid Access III Keyboard 3004 Media Access Pro Keyboard 300a Rapid Access IIIe Keyboard 3016 UltraNav Keyboard Hub 3018 UltraNav Keyboard 301a 2-port low-power hub 301b SK-8815 Keyboard 301c Enhanced Performance Keyboard 3020 Enhanced Performance Keyboard 3025 NetVista Full Width Keyboard 3100 NetVista Mouse 3103 ScrollPoint Pro Mouse 3104 ScrollPoint Wireless Mouse 3105 ScrollPoint Optical (HID) 3107 ThinkPad 800dpi Optical Travel Mouse 3108 800dpi Optical Mouse w/ Scroll Point 3109 Optical ScrollPoint Pro Mouse 310b Red Wheel Mouse 310c Wheel Mouse 4427 Portable CD ROM 4482 Serial Converter 4484 SMSC USB20H04 3-Port Hub [ThinkPad X4 UltraBase, Wistron S Note-3 Media Slice] 4485 ThinkPad Dock Hub 4524 40 Character Vacuum Fluorescent Display 4525 Double sided CRT 4535 4610 Suremark Printer 4550 NVRAM (128 KB) 4554 Cash Drawer 4580 Hub w/ NVRAM 4581 4800-2xx Hub w/ Cash Drawer 4604 Keyboard w/ Card Reader 4671 4820 LCD w/ MSR/KB 04b4 Cypress Semiconductor Corp. 0001 Mouse 0002 CY7C63x0x Thermometer 0033 Mouse 0060 Wireless optical mouse 00f3 FX3 micro-controller (DFU mode) 0100 Cino FuzzyScan F760-B 0101 Keyboard/Hub 0102 Keyboard with APM 0130 MyIRC Remote Receiver 0306 Telephone Receiver 0407 Optical Skype Mouse 0bad MetaGeek Wi-Spy 1002 CY7C63001 R100 FM Radio 1006 Human Interface Device 2050 hub 2830 Opera1 DVB-S (cold state) 3813 NANO BIOS Programmer 4235 Monitor 02 Driver 4381 SCAPS USC-1 Scanner Controller 4611 Storage Adapter FX2 (CY) 4616 Flash Disk (TPP) 4624 DS-Xtreme Flash Card 4717 West Bridge 5201 Combi Keyboard-Hub (Hub) 5202 Combi Keyboard-Hub (Keyboard) 5500 HID->COM RS232 Adapter 5a9b Dacal CD/DVD Library D-101/DC-300/DC-016RW 6370 ViewMate Desktop Mouse CC2201 6502 CY4609 6506 CY4603 650a CY4613 6560 CY7C65640 USB-2.0 "TetraHub" 6570 Unprogrammed CY7C65632/34 hub HX2VL 6572 Unprogrammed CY7C65642 hub 6830 CY7C68300A EZ-USB AT2 USB 2.0 to ATA/ATAPI 6831 Storage Adapter ISD-300LP (CY) 7417 Wireless PC Lock/Ultra Mouse 8329 USB To keyboard/Mouse Converter 8613 CY7C68013 EZ-USB FX2 USB 2.0 Development Kit 8614 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005) 861f Anysee E30 USB 2.0 DVB-T Receiver bca1 Barcode Reader cc04 Centor USB RACIA-ALVAR USB PORT cc06 Centor-P RACIA-ALVAR USB PORT d5d5 CY7C63x0x Zoltrix Z-Boxer GamePad de61 Barcode Reader de64 Barcode Reader f000 CY30700 Licorice evaluation board f111 CY8CKIT-002 PSoC MiniProg3 Rev A Program and debug kit f115 PSoC FirstTouch Programmer f231 DELLY Changer 4in1 universal IR remote f232 Mono embedded computer fd10 Gembird MSIS-PM fd13 Energenie EG-PMS fd15 Energenie EG-PMS2 04b5 ROHM LSI Systems USA, LLC 3064 Hantek DSO-3064 04b6 Hint Corp. 04b7 Compal Electronics, Inc. 04b8 Seiko Epson Corp. 0001 Stylus Color 740 / Photo 750 0002 ISD Smart Cable for Mac 0003 ISD Smart Cable 0004 Printer 0005 Printer 0006 Printer 0007 Printer 0015 Stylus Photo R3000 0101 GT-7000U [Perfection 636] 0102 GT-2200 0103 GT-6600U [Perfection 610] 0104 GT-7600UF [Perfection 1200U/1200U Photo] 0105 Stylus Scan 2000 0106 Stylus Scan 2500 0107 ES-2000 [Expression 1600U] 0108 CC-700 0109 ES-8500 [Expression 1640 XL] 010a GT-8700/GT-8700F [Perfection 1640SU/1640SU PHOTO] 010b GT-7700U [Perfection 1240U] 010c GT-6700U [Perfection 640] 010d CC-500L 010e ES-2200 [Perfection 1680] 010f GT-7200U [Perfection 1250/1250 PHOTO] 0110 GT-8200U/GT-8200UF [Perfection 1650/1650 PHOTO] 0112 GT-9700F [Perfection 2450 PHOTO] 0114 Perfection 660 0116 GT-9400UF [Perfection 3170] 0118 GT-F600 [Perfection 4180] 0119 GT-X750 [Perfection 4490 Photo] 011a CC-550L [1000 ICS] 011b GT-9300UF [Perfection 2400 PHOTO] 011c GT-9800F [Perfection 3200] 011d GT-7300U [Perfection 1260/1260 PHOTO] 011e GT-8300UF [Perfection 1660 PHOTO] 011f GT-8400UF [Perfection 1670/1670 PHOTO] 0120 GT-7400U [Perfection 1270] 0121 GT-F500/GT-F550 [Perfection 2480/2580 PHOTO] 0122 GT-F520/GT-F570 [Perfection 3590 PHOTO] 0126 ES-7000H [GT-15000] 0128 GT-X700 [Perfection 4870] 0129 ES-10000G [Expression 10000XL] 012a GT-X800 [Perfection 4990 PHOTO] 012b ES-H300 [GT-2500] 012c GT-X900 [Perfection V700/V750 Photo] 012d GT-F650 [GT-S600/Perfection V10/V100] 012e GT-F670 [Perfection V200 Photo] 012f GT-F700 [Perfection V350] 0130 GT-X770 [Perfection V500] 0131 GT-F720 [GT-S620/Perfection V30/V300 Photo] 0133 GT-1500 [GT-D1000] 0135 GT-X970 0136 ES-D400 [GT-S80] 0137 ES-D200 [GT-S50] 0138 ES-H7200 [GT-20000] 013a GT-X820 [Perfection V600 Photo] 0142 GT-F730 [GT-S630/Perfection V33/V330 Photo] 0143 GT-S55 0144 GT-S85 0151 Perfection V800 Photo 0202 Interface Card UB-U05 for Thermal Receipt Printers [M129C/TM-T70/TM-T88IV] 0401 CP 800 Digital Camera 0402 PhotoPC 850z 0403 PhotoPC 3000z 0509 JVC PIX-MC10 0601 Stylus Photo 875DC Card Reader 0602 Stylus Photo 895 Card Reader 0801 CC-600PX [Stylus CX5200/CX5400/CX6600] 0802 CC-570L [Stylus CX3100/CX3200] 0803 Printer (Composite Device) 0804 Storage Device 0805 Stylus CX6300/CX6400 0806 PM-A850 [Stylus Photo RX600/610] 0807 Stylus Photo RX500/510 0808 Stylus CX5200/CX5300/CX5400 0809 Storage Device 080a F-3200 080c ME100 [Stylus CX1500] 080d Stylus CX4500/4600 080e PX-A550 [CX-3500/3600/3650 MFP] 080f Stylus Photo RX420/RX425/RX430 0810 PM-A900 [Stylus Photo RX700] 0811 PM-A870 [Stylus Photo RX620/RX630] 0812 MFP Composite Device 0813 Stylus CX6500/6600 0814 PM-A700 0815 LP-A500 [AcuLaser CX1] 0816 Printer (Composite Device) 0817 LP-M5500/LP-M5500F 0818 Stylus CX3700/CX3800/DX3800 0819 PX-A650 [Stylus CX4700/CX4800/DX4800/DX4850] 081a PM-A750 [Stylus Photo RX520/RX530] 081b MFP Composite Device 081c PM-A890 [Stylus Photo RX640/RX650] 081d PM-A950 081e MFP Composite Device 081f Stylus CX7700/7800 0820 Stylus CX4100/CX4200/DX4200 0821 Stylus CX5700F/CX5800F 0822 Storage Device 0823 MFP Composite Device 0824 Storage Device 0825 MFP Composite Device 0826 Storage Device 0827 PM-A820 [Stylus Photo RX560/RX580/RX585/RX590] 0828 PM-A970 0829 PM-T990 082a PM-A920 082b Stylus CX5900/CX5000/DX5000/DX5050 082c Storage Device 082d Storage Device 082e PX-A720 [Stylus CX5900/CX6000/DX6000] 082f PX-A620 [Stylus CX3900/DX4000/DX4050] 0830 ME 200 [Stylus CX2800/CX2900] 0831 Stylus CX6900F/CX7000F/DX7000F 0832 MFP Composite Device 0833 LP-M5600 0834 LP-M6000 0835 AcuLaser CX21 0836 PM-T960 0837 PM-A940 [Stylus Photo RX680/RX685/RX690] 0838 PX-A640 [CX7300/CX7400/DX7400] 0839 PX-A740 [CX8300/CX8400/DX8400] 083a PX-FA700 [CX9300F/CX9400Fax/DX9400F] 083b MFP Composite Device 083c PM-A840S [Stylus Photo RX595/RX610] 083d MFP Composite Device 083e MFP Composite Device 083f Stylus CX4300/CX4400/CX5500/CX5600/DX4400/DX4450 0841 PX-401A [ME 300/Stylus NX100] 0843 LP-M5000 0844 EP-901A/EP-901F [Artisan 800/Stylus Photo PX800FW] 0846 EP-801A [Artisan 700/Stylus Photo PX700W/TX700W] 0847 PX-601F [ME Office 700FW/Stylus Office BX600FW/TX600FW] 0848 ME Office 600F/Stylus Office BX300F/TX300F 0849 Stylus SX205 084a PX-501A [Stylus NX400] 084d PX-402A [Stylus SX115/Stylus NX110 Series] 084f Multifunctional Printer Scanner [ME Office 510 / Epson Stylus SX215] 0850 EP-702A [Stylus Photo PX650/TX650 Series] 0851 Stylus SX410 0852 EP-802A [Artisan 710 Series/Stylus Photo PX710W/TX720W Series] 0853 EP-902A [Artisan 810 Series/Stylus Photo PX810FW Series] 0854 ME OFFICE 650FN Series/Stylus Office BX310FN/TX520FN Series 0855 PX-602F [Stylus Office BX610FW/TX620FW Series] 0856 PX-502A [Stylus SX515W] 085c ME 320/330 Series [Stylus SX125] 085d PX-603F [ME OFFICE 960FWD Series/Stylus Office BX625FWD/TX620FWD Series] 085e PX-503A [ME OFFICE 900WD Series/Stylus Office BX525WD] 085f Stylus Office BX320FW/TX525FW Series 0860 EP-903A/EP-903F [Artisan 835/Stylus Photo PX820FWD Series] 0861 EP-803A/EP-803AW [Artisan 725/Stylus Photo PX720WD/TX720WD Series] 0862 EP-703A [Stylus Photo PX660 Series] 0863 ME OFFICE 620F Series/Stylus Office BX305F/BX305FW/TX320F 0864 ME OFFICE 560W Series 0865 ME OFFICE 520 Series 0866 AcuLaser MX20DN/MX20DNF/MX21DNF 0869 PX-1600F 086a PX-673F [Stylus Office BX925FWD] 0870 Stylus Office BX305FW Plus 0871 K200 Series 0872 K300 Series 0873 L200 Series 0878 EP-704A 0879 EP-904A/EP-904F [Artisan 837/Stylus Photo PX830FWD Series] 087b EP-804A/EP-804AR/EP-804AW [Stylus Photo PX730WD/Artisan 730 Series] 087c PX-1700F 087d PX-B750F/WP-4525 Series 087f PX-403A 0880 PX-434A [Stylus NX330 Series] 0881 PX-404A [ME OFFICE 535] 0883 ME 340 Series/Stylus NX130 Series 0884 Stylus NX430W Series 0885 Stylus NX230/SX235W Series 088f Stylus Office BX635FWD 0890 ME OFFICE 940FW Series/Stylus Office BX630FW Series 0891 Stylus Office BX535WD 0892 Stylus Office BX935FWD 0893 EP-774A 0e03 Thermal Receipt Printer [TM-T20] 1114 XP-440 [Expression Home Small-in-One Printer] 1129 ET-4750 [WorkForce ET-4750 EcoTank All-in-One] 04b9 Rainbow Technologies, Inc. 0300 SafeNet USB SuperPro/UltraPro 1000 iKey 1000 Token 1001 iKey 1200 Token 1002 iKey Token 1003 iKey Token 1004 iKey Token 1005 iKey Token 1006 iKey Token 1200 iKey 2000 Token 1201 iKey Token 1202 iKey 2032 Token 1203 iKey Token 1204 iKey Token 1205 iKey Token 1206 iKey 4000 Token 1300 iKey 3000 Token 1301 iKey 3000 1302 iKey Token 1303 iKey Token 1304 iKey Token 1305 iKey Token 1306 iKey Token 8000 SafeNet Sentinel Hardware Key 04ba Toucan Systems, Ltd 04bb I-O Data Device, Inc. 0101 USB2-IDE/ATAPI Bridge Adapter 014a HDCL-UT 0201 USB2-IDE/ATAPI Bridge Adapter 0204 DVD Multi-plus unit iU-CD2 0206 DVD Multi-plus unit DVR-UEH8 0301 Storage Device 0314 USB-SSMRW SD-card 0319 USB2-IDE/ATAPI Bridge Adapter 031a USB2-IDE/ATAPI Bridge Adapter 031b USB2-IDE/ATAPI Bridge Adapter 031e USB-SDRW SD-card 0502 Nogatech Live! (BT) 0528 GV-USB Video Capture 0901 USB ETT 0904 ET/TX Ethernet [pegasus] 0913 ET/TX-S Ethernet [pegasus2] 0919 USB WN-B11 0922 IOData AirPort WN-B11/USBS 802.11b 0930 ETG-US2 0937 WN-WAG/USL Wireless LAN Adapter 0938 WN-G54/USL Wireless LAN Adapter 093b WN-GDN/USB 093f WNGDNUS2 802.11n 0944 WHG-AGDN/US Wireless LAN Adapter 0945 WN-GDN/US3 Wireless LAN Adapter 0947 WN-G150U Wireless LAN Adapter 0948 WN-G300U Wireless LAN Adapter 0a03 Serial USB-RSAQ1 0a07 USB2-iCN Adapter 0a08 USB2-iCN Adapter 0c01 FM-10 Pro Disk 04bd Toshiba Electronics Taiwan Corp. 04be Telia Research AB 04bf TDK Corp. 0100 MediaReader CF 0115 USB-PDC Adapter UPA9664 0116 USB-cdmaOne Adapter UCA1464 0117 USB-PHS Adapter UHA6400 0118 USB-PHS Adapter UPA6400 0135 MediaReader Dual 0202 73S1121F Smart Card Reader- 0309 Bluetooth USB dongle 030a IBM Bluetooth Ultraport Module 030b Bluetooth Device 030c Ultraport Bluetooth Device 0310 Integrated Bluetooth 0311 Integrated Bluetooth Device 0317 Bluetooth UltraPort Module from IBM 0318 IBM Integrated Bluetooth 0319 Bluetooth Adapter 0320 Bluetooth Adapter 0321 Bluetooth Device 0a28 INDI AV-IN Device 04c1 U.S. Robotics (3Com) 0020 56K Voice Pro 0022 56K Voice Pro 007e ISDN TA 0082 OfficeConnect Analog Modem 008f Pro ISDN TA 0097 OfficeConnect Analog 009d HomeConnect Webcam [vicam] 00a9 ISDN Pro TA-U 00b9 HomeConnect IDSL Modem 3021 56k Voice FaxModem Pro 04c2 Methode Electronics Far East PTE, Ltd 04c3 Maxi Switch, Inc. 1102 Mouse 2102 Mouse 04c4 Lockheed Martin Energy Research 04c5 Fujitsu, Ltd 1029 fi-4010c Scanner 1033 fi-4110CU 1041 fi-4120c Scanner 1042 fi-4220c Scanner 105b AH-F401U Air H device 1084 PalmSecure Sensor V2 1096 fi-5110EOX 1097 fi-5110C 10ae fi-4120C2 10af fi-4220C2 10c7 fi-60f scanner 10e0 fi-5120c Scanner 10e1 fi-5220C 10e7 fi-5900C 10fe S500 1104 KD02906 Line Thermal Printer 114f fi-6130 1150 fi-6230 11f3 fi-6130Z 125a PalmSecure Sensor Device - MP 132e fi-7160 200f Sigma DP2 (Mass Storage) 2010 Sigma DP2 (PictBridge) 201d SATA 3.0 6Gbit/s Adaptor [GROOVY] 04c6 Toshiba America Electronic Components 04c7 Micro Macro Technologies 04c8 Konica Corp. 0720 Digital Color Camera 0721 e-miniD Camera 0722 e-mini 0723 KD-200Z Camera 0726 KD-310Z Camera 0728 Revio C2 Mass Storage Device 0729 Revio C2 Digital Camera 072c Revio KD20M 072d Revio KD410Z 04ca Lite-On Technology Corp. 0020 USB Keyboard 004b Keyboard 004f SK-9020 keyboard 008a Acer Wired Mouse Model SM-9023 1766 HID Monitor Controls 2004 Bluetooth 4.0 [Broadcom BCM20702A0] 2006 Broadcom BCM43142A0 Bluetooth Device 2007 Broadcom BCM43142A0 Bluetooth Device 3005 Atheros Bluetooth 300b Atheros AR3012 Bluetooth 300d Atheros AR3012 Bluetooth 300f Atheros AR3012 Bluetooth 3014 Qualcomm Atheros Bluetooth 3015 Qualcomm Atheros QCA9377 Bluetooth 7022 HP HD Webcam 7025 HP HD Webcam 7046 TOSHIBA Web Camera - HD 9304 Hub f01c TT1280DA DVB-T TV Tuner 04cb Fuji Photo Film Co., Ltd 0100 FinePix 30i/40i/50i, A101/201, 1300/2200, 1400/2400/2600/2800/4500/4700/4800/4900/6800/6900 Zoom 0103 FinePix NX-500/NX-700 printer 0104 FinePix A101, 2600/2800/4800/6800 Zoom (PC CAM) 0108 FinePix F601 Zoom (DSC) 0109 FinePix F601 Zoom (PC CAM) 010a FinePix S602 (Pro) Zoom (DSC) 010b FinePix S602 (Pro) Zoom (PC CAM) 010d FinePix S2 pro 010e FinePix F402 Zoom (DSC) 010f FinePix F402 Zoom (PC CAM) 0110 FinePix M603 Zoom (DSC) 0111 FinePix M603 Zoom (PC CAM) 0112 FinePix A202, A200 Zoom (DSC) 0113 FinePix A202, A200 Zoom (PC CAM) 0114 FinePix F401 Zoom (DSC) 0115 FinePix F401 Zoom (PC CAM) 0116 FinePix A203 Zoom (DSC) 0117 FinePix A203 Zoom (PC CAM) 0118 FinePix A303 Zoom (DSC) 0119 FinePix A303 Zoom (PC CAM) 011a FinePix S304/3800 Zoom (DSC) 011b FinePix S304/3800 Zoom (PC CAM) 011c FinePix A204/2650 Zoom (DSC) 011d FinePix A204/2650 Zoom (PC CAM) 0120 FinePix F700 Zoom (DSC) 0121 FinePix F700 Zoom (PC CAM) 0122 FinePix F410 Zoom (DSC) 0123 FinePix F410 Zoom (PC CAM) 0124 FinePix A310 Zoom (DSC) 0125 FinePix A310 Zoom (PC CAM) 0126 FinePix A210 Zoom (DSC) 0127 FinePix A210 Zoom (PC CAM) 0128 FinePix A205(S) Zoom (DSC) 0129 FinePix A205(S) Zoom (PC CAM) 012a FinePix F610 Zoom (DSC) 012b FinePix Digital Camera 030513 012c FinePix S7000 Zoom (DSC) 012d FinePix S7000 Zoom (PC CAM) 012f FinePix Digital Camera 030731 0130 FinePix S5000 Zoom (DSC) 0131 FinePix S5000 Zoom (PC CAM) 013b FinePix Digital Camera 030722 013c FinePix S3000 Zoom (DSC) 013d FinePix S3000 Zoom (PC CAM) 013e FinePix F420 Zoom (DSC) 013f FinePix F420 Zoom (PC CAM) 0142 FinePix S7000 Zoom (PTP) 0148 FinePix A330 Zoom (DSC) 0149 FinePix A330 Zoom (UVC) 014a FinePix A330 Zoom (PTP) 014b FinePix A340 Zoom (DSC) 014c FinePix A340 Zoom (UVC) 0159 FinePix F710 Zoom (DSC) 0165 FinePix S3500 Zoom (DSC) 0168 FinePix E500 Zoom (DSC) 0169 FinePix E500 Zoom (UVC) 016b FinePix E510 Zoom (DSC) 016c FinePix E510 Zoom (PC CAM) 016e FinePix S5500 Zoom (DSC) 016f FinePix S5500 Zoom (UVC) 0171 FinePix E550 Zoom (DSC) 0172 FinePix E550 Zoom (UVC) 0177 FinePix F10 (DSC) 0179 Finepix F10 (PTP) 0186 FinePix S5200/S5600 Zoom (DSC) 0188 FinePix S5200/S5600 Zoom (PTP) 018e FinePix S9500 Zoom (DSC) 018f FinePix S9500 Zoom (PTP) 0192 FinePix E900 Zoom (DSC) 0193 FinePix E900 Zoom (PTP) 019b FinePix F30 (PTP) 01af FinePix A700 (PTP) 01bf FinePix F6000fd/S6500fd Zoom (PTP) 01c0 FinePix F20 (PTP) 01c1 FinePix F31fd (PTP) 01c3 FinePix S5 Pro 01c4 FinePix S5700 Zoom (PTP) 01c5 FinePix F40fd (PTP) 01c6 FinePix A820 Zoom (PTP) 01d2 FinePix A800 Zoom (PTP) 01d3 FinePix A920 (PTP) 01d4 FinePix F50fd (PTP) 01d5 FinePix F47 (PTP) 01f7 FinePix J250 (PTP) 01fd A160 023e FinePix AX300 0240 FinePix S2950 Digital Camera 0241 FinePix S3200 Digital Camera 0278 FinePix JV300 02c5 FinePix S9900W Digital Camera (PTP) 5006 ASK-300 04cc ST-Ericsson 1122 Hub 1520 USB 2.0 Hub (Avocent KVM) 1521 USB 2.0 Hub 1a62 GW Instek GSP-830 Spectrum Analyzer (HID) 2323 Ux500 serial debug port 2533 NFC device (PN533) 8116 Camera 04cd Tatung Co. Of America 04ce ScanLogic Corp. 0002 SL11R-IDE IDE Bridge 0100 USB2PRN Printer Class 0300 Phantom 336CX - C3 scanner 04ce SL11DEMO, VID: 0x4ce, PID: 0x4ce 07d1 SL11R, VID: 0x4ce, PID: 0x07D1 04cf Myson Century, Inc. 0022 OCZ Alchemy Series Elixir II Keyboard 0800 MTP800 Mass Storage Device 8810 CS8810 Mass Storage Device 8811 CS8811 Mass Storage Device 8813 CS8813 Mass Storage Device 8818 USB2.0 to ATAPI Bridge Controller 8819 USB 2.0 SD/MMC Reader 9920 CS8819A2-114 Mass Storage Device 04d0 Digi International 04d1 ITT Canon 04d2 Altec Lansing Technologies 0070 ADA70 Speakers 0305 Non-Compliant Audio Device 0311 ADA-310 Speakers 2060 Claritel-i750 - vp ff05 ADA-305 Speakers ff47 Lansing HID Audio Controls ff49 Lansing HID Audio Controls 04d3 VidUS, Inc. 04d4 LSI Logic, Inc. 04d5 Forte Technologies, Inc. 04d6 Mentor Graphics 04d7 Oki Semiconductor 1be4 Bluetooth Device 04d8 Microchip Technology, Inc. 0002 PicoLCD 20x2 0003 PICkit 2 Microcontroller Programmer 000a CDC RS-232 Emulation Demo 000b PIC18F2550 (32K Flashable 10 Channel, 10 Bit A/D USB Microcontroller) 0032 PICkit1 0033 PICkit2 0036 PICkit Serial Analyzer 00e0 PIC32 Starter Board 04cd 28Cxxx EEPROM Programmer 0a04 AGP LIN Serial Analyzer 8000 In-Circuit Debugger 8001 ICD2 in-circuit debugger 8101 PIC24F Starter Kit 8107 Microstick II 8108 ChipKit Pro MX7 (PIC32MX) 9004 Microchip REAL ICE 9009 ICD3 900a PICkit3 9012 PICkit4 9015 ICD 4 In-Circuit Debugger c001 PicoLCD 20x4 e11c TL866CS EEPROM Programmer [MiniPRO] ed16 BeamiRC 2.0 CNC remote controller analoge edb4 micro PLC (ATSAMD51G19A) [Black Brix ECU II] edb5 ATMEGA32U4 [Black Brix ECU] f2c4 Macareux-labs Hygrometry Temperature Sensor f2f7 Yepkit YKUSH f3aa Macareux-labs Usbce Bootloader mode f437 SBE Tech Ultrasonic Anemometer f4b5 SmartScope f5fe TrueRNG f8da Hughski Ltd. ColorHug f8e8 Harmony 300/350 Remote f91c SPROG IIv3 faff Dangerous Prototypes BusPirate v4 Bootloader mode fb00 Dangerous Prototypes BusPirate v4 fbb2 GCUSB-nStep stepper motor controller fbba DiscFerret Magnetic Disc Analyser (bootloader mode) fbbb DiscFerret Magnetic Disc Analyser (active mode) fc1e Bachrus Speedometer Interface fc92 Open Bench Logic Sniffer ffee Devantech USB-ISS ffef PICoPLC [APStech] 04d9 Holtek Semiconductor, Inc. 0006 Wired Keyboard (78/79 key) [RPI Wired Keyboard 5] 0022 Portable Keyboard 0348 Keyboard 048e Optical Mouse 0499 Optical Mouse 1135 Mouse [MGK-15BU/MLK-15BU] 1203 Keyboard 1400 PS/2 keyboard + mouse controller 1503 Keyboard 1603 Keyboard 1702 Keyboard LKS02 1818 Keyboard [Diatec Filco Majestouch 2] 2011 Keyboard [Diatec Filco Majestouch 1] 2013 Keyboard [Das Keyboard] 2206 Fujitsu Siemens Mouse Esprimo Q 2221 Keyboard 2323 Keyboard 2519 Shenzhen LogoTech 2.4GHz receiver 2832 HT82A832R Audio MCU 2834 HT82A834R Audio MCU 4545 Keyboard [Diatec Majestouch 2 Tenkeyless] a01c wireless multimedia keyboard with trackball [Trust ADURA 17911] a050 Chatman V1 a052 USB-zyTemp a055 Keyboard a075 Optical Gaming Mouse a096 Keyboard a09f E-Signal LUOM G10 Mechanical Gaming Mouse a100 Mouse [HV-MS735] a11b Mouse [MX-3200] a29f Microarray fingerprint reader b534 LGT8F328P Microprocessor e002 MCU 04da Panasonic (Matsushita) 0901 LS-120 Camera 0912 SDR-S10 0b01 CD-R/RW Drive 0b03 SuperDisk 240MB 0d01 CD-R Drive KXL-840AN 0d09 CD-R Drive KXL-RW32AN 0d0a CD-R Drive KXL-CB20AN 0d0d CDRCB03 0d0e DVD-ROM & CD-R/RW 0d14 DVD-RAM MLT08 0f07 KX-MB2030 Multifunction Laser Printer 0f40 Printer 104d Elite Panaboard UB-T880 (HID) 104e Elite Panaboard Pen Adaptor (HID) 1500 MFSUSB Driver 1800 DY-WL10 802.11abgn Adapter [Broadcom BCM4323] 1b00 MultiMediaCard 2121 EB-VS6 2316 DVC Mass Storage Device 2317 DVC USB-SERIAL Driver for WinXP 2318 NV-GS11/230/250 (webcam mode) 2319 NV-GS15 (webcam mode) 231a NV-GS11/230/250 (DV mode) 231d DVC Web Camera Device 231e DVC DV Stream Device 2372 Lumix Camera (Storage mode) 2374 Lumix Camera (PTP mode) 2451 HDC-SD9 245b HC-X920K (3MOS Full HD video camcorder) 2477 SDR-H85 Camcorder (PC mode) 2478 SDR-H85 Camcorder (recorder mode - SD card) 2479 SDR-H85 Camcorder (recorder mode - HDD) 2497 HDC-TM700 250c Gobi Wireless Modem (QDL mode) 250d Gobi Wireless Modem 3904 N5HBZ0000055 802.11abgn Wireless Adapter [Atheros AR7010+AR9280] 3908 N5HBZ0000062 802.11abgn Wireless Adapter [Atheros AR9374v1.1] 3c04 JT-P100MR-20 [ePassport Reader] 04db Hypertec Pty, Ltd 04dc Huan Hsin Holdings, Ltd 04dd Sharp Corp. 13a6 MFC2000 6006 AL-1216 6007 AL-1045 6008 AL-1255 6009 AL-1530CS 600a AL-1540CS 600b AL-1456 600c AL-1555 600d AL-1225 600e AL-1551CS 600f AR-122E 6010 AR-152E 6011 AR-157E 6012 SN-1045 6013 SN-1255 6014 SN-1456 6015 SN-1555 6016 AR-153E 6017 AR-122E N 6018 AR-153E N 6019 AR-152E N 601a AR-157E N 601b AL-1217 601c AL-1226 601d AR-123E 6021 IS01 7002 DVC Ver.1.0 7004 VE-CG40U Digital Still Camera 7005 VE-CG30 Digital Still Camera 7007 VL-Z7S Digital Camcorder 8004 Zaurus SL-5000D/SL-5500 PDA 8005 Zaurus A-300 8006 Zaurus SL-B500/SL-5600 PDA 8007 Zaurus C-700 PDA 9009 AR-M160 9014 IM-DR80 Portable NetMD Player 9031 Zaurus C-750/C-760/C-860/SL-C3000 PDA 9032 Zaurus SL-6000 903a GSM GPRS 9050 Zaurus C-860 PDA 9056 Viewcam Z 9073 AM-900 9074 GSM GPRS 90a9 Sharp Composite 90d0 USB-to-Serial Comm. Port 90f2 Sharp 3G GSM USB Control 9120 WS004SH 9122 WS007SH 9123 W-ZERO3 ES Smartphone 91a3 922SH Internet Machine 939a IS03 04de MindShare, Inc. 04df Interlink Electronics 04e1 Iiyama North America, Inc. 0201 Monitor Hub 04e2 Exar Corp. 1410 XR21V1410 USB-UART IC 04e3 Zilog, Inc. 04e4 ACC Microelectronics 04e5 Promise Technology 04e6 SCM Microsystems, Inc. 0001 E-USB ATA Bridge 0002 eUSCSI SCSI Bridge 0003 eUSB SmartMedia Card Reader 0005 eUSB SmartMedia/CompactFlash Card Reader 0006 eUSB SmartMedia Card Reader 0007 Hifd 0009 eUSB ATA/ATAPI Adapter 000a eUSB CompactFlash Adapter 000b eUSCSI Bridge 000c eUSCSI Bridge 000d Dazzle MS 0012 Dazzle SD/MMC 0101 eUSB ATA Bridge (Sony Spressa USB CDRW) 0311 Dazzle DM-CF 0312 Dazzle DM-SD/MMC 0313 Dazzle SM 0314 Dazzle MS 0322 e-Film Reader-5 0325 eUSB ORCA Quad Reader 0327 Digital Media Reader 03fe DMHS2 DFU Adapter 0406 eUSB SmartDM Reader 04e6 eUSB DFU Adapter 04e7 STCII DFU Adapter 04e8 eUSBDM DFU Adapter 04e9 DM-E DFU Adapter 0500 Veridicom 5thSense Fingerprint Sensor and eUSB SmartCard 0701 DCS200 Loader Device 0702 DVD Creation Station 200 0703 DVC100 Loader Device 0704 Digital Video Creator 100 1001 SCR300 Smart Card Reader 1010 USBAT-2 CompactFlash Card Reader 1014 e-Film Reader-3 1020 USBAT ATA/ATAPI Adapter 2007 RSA SecurID ComboReader 2009 Citibank Smart Card Reader 200a Reflex v.2 Smart Card Reader 200d STR391 Reader 5111 SCR331-DI SmartCard Reader 5113 SCR333 SmartCard Reader 5114 SCR331-DI SmartCard Reader 5115 SCR335 SmartCard Reader 5116 SCR331-LC1 / SCR3310 SmartCard Reader 5117 SCR3320 - Smart Card Reader 5118 Expresscard SIM Card Reader 5119 SCR3340 - ExpressCard54 Smart Card Reader 511b SmartCard Reader 511d SCR3311 Smart Card Reader 5120 SCR331-DI SmartCard Reader 5121 SDI010 Smart Card Reader 5151 SCR338 Keyboard Smart Card Reader 5292 SCL011 RFID reader 5410 SCR35xx Smart Card Reader 5591 SCL3711-NFC&RW 5810 uTrust 2700 R Smart Card Reader e000 SCRx31 Reader e001 SCR331 SmartCard Reader e003 SPR532 PinPad SmartCard Reader 04e7 Elo TouchSystems 0001 TouchScreen 0002 Touchmonitor Interface 2600 Rev 2 0004 4000U CarrollTouch® Touchmonitor Interface 0007 2500U IntelliTouch® Touchmonitor Interface 0008 3000U AccuTouch® Touchmonitor Interface 0009 4000U CarrollTouch® Touchmonitor Interface 0020 Touchscreen Interface (2700) 0021 Touchmonitor Interface 0030 4500U CarrollTouch® Touchmonitor Interface 0032 Touchmonitor Interface 0033 Touchmonitor Interface 0041 5010 Surface Capacitive Touchmonitor Interface 0042 Touchmonitor Interface 0050 2216 AccuTouch® Touchmonitor Interface 0071 Touchmonitor Interface 0072 Touchmonitor Interface 0081 Touchmonitor Interface 0082 Touchmonitor Interface 00ff Touchmonitor Interface 04e8 Samsung Electronics Co., Ltd 0001 Printer Bootloader 0100 Kingston Flash Drive (128MB) 0110 Connect3D Flash Drive 0111 Connect3D Flash Drive 0300 E2530 / GT-C3350 Phones (Mass storage mode) 04e8 Galaxy (MIDI mode) 1003 MP3 Player and Recorder 1006 SDC-200Z 130c NX100 1323 WB700 Camera 1f05 S2 Portable [JMicron] (500GB) 1f06 HX-MU064DA portable harddisk 2018 WIS09ABGN LinkStick Wireless LAN Adapter 2035 Digital Photo Frame Mass Storage 2036 Digital Photo Frame Mini Monitor 3004 ML-4600 3005 Docuprint P1210 3008 ML-6060 laser printer 300c ML-1210 Printer 300e Laser Printer 3104 ML-3550N 3210 ML-5200A Laser Printer 3226 Laser Printer 3228 Laser Printer 322a Laser Printer 322c Laser Printer 3230 ML-1440 3232 Laser Printer 3236 ML-1450 3238 ML-1430 323a ML-1710 Printer 323b Phaser 3130 323c Laser Printer 323d Phaser 3120 323e Laser Printer 3240 Laser Printer 3242 ML-1510 Laser Printer 3248 Color Laser Printer 324a Laser Printer 324c ML-1740 Printer 324d Phaser 3121 3256 ML-1520 Laser Printer 325b Xerox Phaser 3117 Laser Printer 325f Phaser 3425 Laser Printer 3260 CLP-510 Color Laser Printer 3268 ML-1610 Mono Laser Printer 326c ML-2010P Mono Laser Printer 3276 ML-3050/ML-3051 Laser Printer 327e ML-2510 Series 328e CLP-310 Color Laser Printer 3292 ML-1640 Series Laser Printer 3296 ML-2580N Mono Laser Printer 3297 ML-191x/ML-252x Laser Printer 329f CLP-325 Color Laser Printer 3301 ML-1660 Series 330c ML-1865 330f ML-216x Series Laser Printer 3310 ML-331x Series Laser Printer 3315 ML-2540 Series Laser Printer 331e M262x/M282x Xpress Series Laser Printer 3409 SCX-4216F Scanner 340c SCX-5x15 series 340d SCX-6x20 series 340e MFP 560 series 340f Printing Support 3412 SCX-4x20 series 3413 SCX-4100 Scanner 3415 Composite Device 3419 Composite Device 341a Printing Support 341b SCX-4200 series 341c Composite Device 341d Composite Device 341f Composite Device 3420 Composite Device 3426 SCX-4500 Laser Printer 342d SCX-4x28 Series 344f SCX-3400 Series 347e C48x Series Color Laser Multifunction Printer 3605 InkJet Color Printer 3606 InkJet Color Printer 3609 InkJet Color Printer 3902 InkJet Color Printer 3903 Xerox WorkCentre XK50cx 390f InkJet Color Printer 3911 SCX-1020 series 4005 GT-S8000 Jet (msc) 4f1f GT-S8000 Jet (mtp) 5000 YP-MF series 5001 YP-100 5002 YP-30 5003 YP-700 5004 YP-30 5005 YP-300 5006 YP-750 500d MP3 Player 5010 Yepp YP-35 5011 YP-780 5013 YP-60 5015 yepp upgrade 501b MP3 Player 5021 Yepp YP-ST5 5026 YP-MT6V 5027 YP-T7 502b YP-F1 5032 YP-J70 503b YP-U1 MP3 Player 503d YP-T7F 5041 YP-Z5 5050 YP-U2 MP3 Player 5051 YP-F2R 5055 YP-T9 507d YP-U3 (mtp) 507f YP-T9J 5080 Yepp YP-K3 (msc) 5081 Yepp YP-K3 (mtp) 5082 YP-P2 (msc) 5083 YP-P2 (mtp) 508a YP-T10 508b YP-S5 MP3 Player 508c YP-S5 5090 YP-S3 (msc) 5091 YP-S3 (mtp) 5092 YP-U4 (msc) 5093 YP-U4 (mtp) 5095 YP-S2 510f YP-R1 5119 Yepp YP-P3 511c YP-Q2 5121 YP-U5 5123 Yepp YP-M1 5a00 YP-NEU 5a01 YP-NDU 5a03 Yepp MP3 Player 5a04 YP-800 5a08 YP-90 5a0f Meizu M6 MiniPlayer 5b01 Memory Stick Reader/Writer 5b02 Memory Stick Reader/Writer 5b03 Memory Stick Reader/Writer 5b04 Memory Stick Reader/Writer 5b05 Memory Stick Reader/Writer 5b11 SEW-2001u Card 5f00 NEXiO Sync 5f01 NEXiO Sync 5f02 NEXiO Sync 5f03 NEXiO Sync 5f04 NEXiO Sync 5f05 STORY Station 1TB 6032 G2 Portable hard drive 6033 G2 Portable device 6034 G2 Portable hard drive 60b3 M2 Portable Hard Drive 60c4 M2 Portable Hard Drive USB 3.0 6124 D3 Station External Hard Drive 6125 D3 Station External Hard Drive 61b5 M3 Portable Hard Drive 2TB 61b6 M3 Portable Hard Drive 1TB 61b7 M3 Portable Hard Drive 4TB 61f3 Portable SSD T3 (MU-PT250B, MU-PT500B) 61f5 Portable SSD T5 6601 Mobile Phone 6602 Galaxy 6603 Galaxy 6611 MITs Sync 6613 MITs Sync 6615 MITs Sync 6617 MITs Sync 6619 MITs Sync 661b MITs Sync 661e Handheld 6620 Handheld 6622 Handheld 6624 Handheld 662e MITs Sync 6630 MITs Sync 6632 MITs Sync 663e D900e/B2100 Phone 663f SGH-E720/SGH-E840 6640 Usb Modem Enumerator 6651 i8510 Innov8 6702 X830 6708 U600 Phone 6709 U600 6734 Juke 6759 D900e/B2100 Media Player 675a D900e/B2100 Mass Storage 675b D900e Camera 6772 Standalone LTE device (Trial) 6795 S5230 6802 Standalone HSPA device 6806 Composite LTE device (Trial) 6807 Composite HSPA device 681c Galaxy Portal/Spica/S 681d Galaxy Portal/Spica Android Phone 6843 E2530 Phone (Samsung Kies mode) 684e Wave (GT-S8500) 685b GT-I9100 Phone [Galaxy S II] (mass storage mode) 685c GT-I9250 Phone [Galaxy Nexus] (Mass storage mode) 685d GT-I9100 Phone [Galaxy S II] (Download mode) 685e GT-I9100 / GT-C3350 Phones (USB Debugging mode) 6860 Galaxy A5 (MTP) 6863 Galaxy series, misc. (tethering mode) 6864 GT-I9070 (network tethering, USB debugging enabled) 6865 Galaxy (PTP mode) 6866 Galaxy (debugging mode) 6868 Escape Composite driver for Android Phones: Modem+Diagnostic+ADB 6875 GT-B3710 Standalone LTE device (Commercial) 6876 GT-B3710 LTE Modem 6877 Galaxy S 687a GT-E2370 mobile phone 6888 GT-B3730 Composite LTE device (Commercial) 6889 GT-B3730 Composite LTE device (Commercial) 689a LTE Storage Driver [CMC2xx] 689e GT-S5670 [Galaxy Fit] 68aa Reality 7011 SEW-2003U Card 7021 Bluetooth Device 7061 eHome Infrared Receiver 7080 Anycall SCH-W580 7081 Human Interface Device 7301 Fingerprint Device 8001 Handheld 8002 Portable SSD 500GB Model Number: MU - P8500B 8003 Portable SSD T1 d003 GT-I9003 e020 SERI E02 SCOM 6200 UMTS Phone e021 SERI E02 SCOM 6200 Virtual UARTs e022 SERI E02 SCOM 6200 Flash Load Disk f000 Intensity 3 (Mass Storage Mode) ff30 SG_iMON 04e9 PC-Tel, Inc. 04ea Brooktree Corp. 04eb Northstar Systems, Inc. e004 eHome Infrared Transceiver 04ec Tokyo Electron Device, Ltd 04ed Annabooks 04ef Pacific Electronic International, Inc. 04f0 Daewoo Electronics Co., Ltd 04f1 Victor Company of Japan, Ltd 0001 GC-QX3 Digital Still Camera 0004 GR-DVL815U Digital Video Camera 0006 DV Camera Storage 0008 GZ-MG30AA/MC500E Digital Video Camera 0009 GR-DX25EK Digital Video Camera 000a GR-D72 Digital Video Camera 1001 GC-A50 Camera Device 3008 MP-PRX1 Ethernet 3009 MP-XP7250 WLAN Adapter 04f2 Chicony Electronics Co., Ltd 0001 KU-8933 Keyboard 0002 NT68P81 Keyboard 0110 KU-2971 Keyboard 0111 KU-9908 Keyboard 0112 KU-8933 Keyboard with PS/2 Mouse port 0116 KU-2971/KU-0325 Keyboard 0200 KBR-0108 0201 Gaming Keyboard KPD0250 0220 Wireless HID Receiver 0402 Genius LuxeMate i200 Keyboard 0403 KU-0420 keyboard 0418 KU-0418 Tactical Pad 0618 RG-0618U Wireless HID Receiver & KG-0609 Wireless Keyboard with Touchpad 0718 wired mouse 0760 Acer KU-0760 Keyboard 0833 KU-0833 Keyboard 0841 HP Multimedia Keyboard 0860 2.4G Multimedia Wireless Kit 0939 Amazon Basics mouse 1061 HP KG-1061 Wireless Keyboard+Mouse 1121 Periboard 717 Mini Wireless Keyboard a001 E-Video DC-100 Camera a120 ORITE CCD Webcam(PC370R) a121 ORITE CCD Webcam(PC370R) a122 ORITE CCD Webcam(PC370R) a123 ORITE CCD Webcam(PC370R) a124 ORITE CCD Webcam(PC370R) a128 PC Camera (SN9C202 + OV7663 + EEPROM) a133 Gateway Webcam a136 LabTec Webcam 5500 a147 Medion Webcam a204 DSC WIA Device (1300) a208 DSC WIA Device (2320) a209 Labtec DC-2320 a20a DSC WIA Device (3310) a20c DSC WIA Device (3320) a210 Audio Device b008 USB 2.0 Camera b009 Integrated Camera b010 Integrated Camera b012 1.3 MPixel UVC Webcam b013 USB 2.0 Camera b015 VGA 24fps UVC Webcam b016 VGA 30fps UVC Webcam b018 2M UVC Webcam b021 ViewSonic 1.3M, USB2.0 Webcam b022 Gateway USB 2.0 Webcam b023 Gateway USB 2.0 Webcam b024 USB 2.0 Webcam b025 Camera b027 Gateway USB 2.0 Webcam b028 VGA UVC Webcam b029 1.3M UVC Webcam b036 Asus Integrated 0.3M UVC Webcam b044 Acer CrystalEye Webcam b057 integrated USB webcam b059 CKF7037 HP webcam b064 CNA7137 Integrated Webcam b070 Camera b071 2.0M UVC Webcam / CNF7129 b083 CKF7063 Webcam (HP) b091 Webcam b104 CNF7069 Webcam b107 CNF7070 Webcam b14c CNF8050 Webcam b159 CNF8243 Webcam b15c Sony Vaio Integrated Camera b175 4-Port Hub b1aa Webcam-101 b1ac HP Laptop Integrated Webcam [2 MP Fixed] b1b4 Lenovo Integrated Camera b1b9 Asus Integrated Webcam b1cf Lenovo Integrated Camera b1d6 CNF9055 Toshiba Webcam b1d8 1.3M Webcam b1e4 Toshiba Integrated Webcam b213 Fujitsu Integrated Camera b217 Lenovo Integrated Camera (0.3MP) b221 integrated camera b230 Integrated HP HD Webcam b249 HP Integrated Webcam b257 Lenovo Integrated Camera b26b Sony Visual Communication Camera b272 Lenovo EasyCamera b2b0 Camera b2b9 Lenovo Integrated Camera UVC b2da thinkpad t430s camera b2db Thinkpad T430 camera b2ea Integrated Camera [ThinkPad] b2f4 HP Webcam-50 b330 Asus 720p CMOS webcam b354 UVC 1.00 device HD UVC WebCam b394 Integrated Camera b3eb HP 720p HD Monitor Webcam b3f6 HD WebCam (Acer) b3fd HD WebCam (Asus N-series) b40e HP Truevision HD camera b444 Lenovo Integrated Webcam b49f Bluetooth (RTL8723BE) b563 Integrated Camera b5ce Integrated Camera b5cf Integrated IR Camera b5db HP Webcam b604 Integrated Camera (1280x720@30) b681 ThinkPad T490 Webcam 04f3 Elan Microelectronics Corp. 000a Touchscreen 0103 ActiveJet K-2024 Multimedia Keyboard 016f Touchscreen 01a4 Wireless Keyboard 0201 Touchscreen 0210 Optical Mouse 0212 Laser Mouse 0214 Lynx M9 Optical Mouse 0230 3D Optical Mouse 0232 Mouse 0234 Optical Mouse 0235 Optical Mouse 02f4 2.4G Cordless Mouse 0381 Touchscreen 04a0 Dream Cheeky Stress/Panic Button 2234 Touchscreen 04f4 Harting Elektronik, Inc. 04f5 Fujitsu-ICL Systems, Inc. 04f6 Norand Corp. 04f7 Newnex Technology Corp. 04f8 FuturePlus Systems 04f9 Brother Industries, Ltd 0002 HL-1050 Laser Printer 0005 Printer 0006 HL-1240 Laser Printer 0007 HL-1250 Laser Printer 0008 HL-1270 Laser Printer 0009 Printer 000a P2500 series 000b Printer 000c Printer 000d HL-1440 Laser Printer 000e HL-1450 series 000f HL-1470N series 0010 Printer 0011 Printer 0012 Printer 0013 Printer 0014 Printer 0015 Printer 0016 Printer 0017 Printer 0018 Printer 001a HL-1430 Laser Printer 001c Printer 001e Printer 0020 HL-5130 series 0021 HL-5140 series 0022 HL-5150D series 0023 HL-5170DN series 0024 Printer 0025 Printer 0027 HL-2030 Laser Printer 0028 Printer 0029 Printer 002a HL-52x0 series 002b HL-5250DN Printer 002c Printer 002d Printer 0039 HL-5340 series 0041 HL-2250DN Laser Printer 0042 HL-2270DW Laser Printer 004d HL-6180DW series 0080 HL-L6250DN series 0100 MFC8600/9650 series 0101 MFC9600/9870 series 0102 MFC9750/1200 series 0104 MFC-8300J 0105 MFC-9600J 0106 MFC-7300C 0107 MFC-7400C 0108 MFC-9200C 0109 MFC-830 010a MFC-840 010b MFC-860 010c MFC-7400J 010d MFC-9200J 010e MFC-3100C Scanner 010f MFC-5100C 0110 MFC-4800 Scanner 0111 MFC-6800 0112 DCP1000 Port(FaxModem) 0113 MFC-8500 0114 MFC9700 Port(FaxModem) 0115 MFC-9800 Scanner 0116 DCP1400 Scanner 0119 MFC-9660 011a MFC-9860 011b MFC-9880 011c MFC-9760 011d MFC-9070 011e MFC-9180 011f MFC-9160 0120 MFC580 Port(FaxModem) 0121 MFC-590 0122 MFC-5100J 0124 MFC-4800J 0125 MFC-6800J 0127 MFC-9800J 0128 MFC-8500J 0129 Imagistics 2500 (MFC-8640D clone) 012b MFC-9030 012e FAX4100e IntelliFax 4100e 012f FAX-4750e 0130 FAX-5750e 0132 MFC-5200C RemovableDisk 0135 MFC-100 Scanner 0136 MFC-150CL Scanner 013c MFC-890 Port 013d MFC-5200J 013e MFC-4420C RemovableDisk 013f MFC-4820C RemovableDisk 0140 DCP-8020 0141 DCP-8025D 0142 MFC-8420 0143 MFC-8820D 0144 DCP-4020C RemovableDisk 0146 MFC-3220C 0147 FAX-1820C Printer 0148 MFC-3320CN 0149 FAX-1920CN Printer 014a MFC-3420C 014b MFC-3820CN 014c DCP-3020C 014d FAX-1815C Printer 014e MFC-8820J 014f DCP-8025J 0150 MFC-8220 Port(FaxModem) 0151 MFC-8210J 0153 DCP-1000J 0157 MFC-3420J Printer 0158 MFC-3820JN Port(FaxModem) 015d MFC Composite Device 015e DCP-8045D 015f MFC-8440 0160 MFC-8840D 0161 MFC-210C 0162 MFC-420CN Remote Setup Port 0163 MFC-410CN RemovableDisk 0165 MFC-620CN 0166 MFC-610CLN RemovableDisk 0168 MFC-620CLN 0169 DCP-110C RemovableDisk 016b DCP-310CN RemovableDisk 016c FAX-2440C Printer 016d MFC-5440CN 016e MFC-5840CN Remote Setup Port 0170 FAX-1840C Printer 0171 FAX-1835C Printer 0172 FAX-1940CN Printer 0173 MFC-3240C Remote Setup Port 0174 MFC-3340CN RemovableDisk 017b Imagistics sx2100 0180 MFC-7420 0181 MFC-7820N Port(FaxModem) 0182 DCP-7010 0183 DCP-7020 0184 DCP-7025 Printer 0185 MFC-7220 Printer 0186 Composite Device 0187 FAX-2820 Printer 0188 FAX-2920 Printer 018a MFC-9420CN 018c DCP-115C 018d DCP-116C 018e DCP-117C 018f DCP-118C 0190 DCP-120C 0191 DCP-315CN 0192 DCP-340CW 0193 MFC-215C 0194 MFC-425CN 0195 MFC-820CW Remote Setup Port 0196 MFC-820CN Remote Setup Port 0197 MFC-640CW 019a MFC-840CLN Remote Setup Port 01a2 MFC-8640D 01a3 Composite Device 01a4 DCP-8065DN Printer 01a5 MFC-8460N Port(FaxModem) 01a6 MFC-8860DN Port(FaxModem) 01a7 MFC-8870DW Printer 01a8 DCP-130C 01a9 DCP-330C 01aa DCP-540CN 01ab MFC-240C 01ae DCP-750CW RemovableDisk 01af MFC-440CN 01b0 MFC-660CN 01b1 MFC-665CW 01b2 MFC-845CW 01b4 MFC-460CN 01b5 MFC-630CD 01b6 MFC-850CDN 01b7 MFC-5460CN 01b8 MFC-5860CN 01ba MFC-3360C 01bd MFC-8660DN 01be DCP-750CN RemovableDisk 01bf MFC-860CDN 01c0 DCP-128C 01c1 DCP-129C 01c2 DCP-131C 01c3 DCP-329C 01c4 DCP-331C 01c5 MFC-239C 01c9 DCP-9040CN 01ca MFC-9440CN 01cb DCP-9045CDN 01cc MFC-9840CDW 01ce DCP-135C 01cf DCP-150C 01d0 DCP-350C 01d1 DCP-560CN 01d2 DCP-770CW 01d3 DCP-770CN 01d4 MFC-230C 01d5 MFC-235C 01d6 MFC-260C 01d7 MFC-465CN 01d8 MFC-680CN 01d9 MFC-685CW 01da MFC-885CW 01db MFC-480CN 01dc MFC-650CD 01dd MFC-870CDN 01de MFC-880CDN 01df DCP-155C 01e0 MFC-265C 01e1 DCP-153C 01e2 DCP-157C 01e3 DCP-353C 01e4 DCP-357C 01e7 MFC-7340 01e9 DCP-7040 01ea DCP-7030 01eb MFC-7320 01ec MFC-9640CW 01f4 MFC-5890CN 020a MFC-8670DN 020c DCP-9042CDN 020d MFC-9450CDN 0216 MFC-8880DN 0217 MFC-8480DN 0219 MFC-8380DN 021a MFC-8370DN 021b DCP-8070D 021c MFC-9320CW 021d MFC-9120CN 021e DCP-9010CN 021f DCP-8085DN 0220 MFC-9010CN 0222 DCP-195C 0223 DCP-365CN 0224 DCP-375CW 0225 DCP-395CN 0227 DCP-595CN 0228 MFC-255CW 0229 MFC-295CN 022a MFC-495CW 022b MFC-495CN 022c MFC-795CW 022d MFC-675CD 022e MFC-695CDN 022f MFC-735CD 0230 MFC-935CDN 0234 DCP-373CW 0235 DCP-377CW 0236 DCP-390CN 0239 MFC-253CW 023a MFC-257CW 023e DCP-197C 023f MFC-8680DN 0240 MFC-J950DN 0245 MFC-9560CDW 0248 DCP-7055 scanner/printer 024e MFC-7460DN 0253 DCP-J125 0254 DCP-J315W 0255 DCP-J515W 0256 DCP-J515N 0257 DCP-J715W 0258 DCP-J715N 0259 MFC-J220 025a MFC-J410 025b MFC-J265W 025c MFC-J415W 025d MFC-J615W 025e MFC-J615N 025f MFC-J700D 0260 MFC-J800D 0261 MFC-J850DN 026b MFC-J630W 026d MFC-J805D 026e MFC-J855DN 026f MFC-J270W 0270 MFC-7360N 0273 DCP-7057 scanner/printer 0276 MFC-5895CW 0278 MFC-J410W 0279 DCP-J525W 027a DCP-J525N 027b DCP-J725DW 027c DCP-J725N 027d DCP-J925DW 027e MFC-J955DN 027f MFC-J280W 0280 MFC-J435W 0281 MFC-J430W 0282 MFC-J625DW 0283 MFC-J825DW 0284 MFC-J825N 0285 MFC-J705D 0287 MFC-J860DN 0288 MFC-J5910DW 0289 MFC-J5910CDW 028a DCP-J925N 028d MFC-J835DW 028f MFC-J425W 0290 MFC-J432W 0291 DCP-8110DN 0292 DCP-8150DN 0293 DCP-8155DN 0294 DCP-8250DN 0295 MFC-8510DN 0296 MFC-8520DN 0298 MFC-8910DW 0299 MFC-8950DW 029a MFC-8690DW 029c MFC-8515DN 029e MFC-9125CN 029f MFC-9325CW 02a0 DCP-J140W 02a5 MFC-7240 02a6 FAX-2940 02a7 FAX-2950 02a8 MFC-7290 02ab FAX-2990 02ac DCP-8110D 02ad MFC-9130CW 02ae MFC-9140CDN 02af MFC-9330CDW 02b0 MFC-9340CDW 02b1 DCP-9020CDN 02b2 MFC-J810DN 02b3 MFC-J4510DW 02b4 MFC-J4710DW 02b5 DCP-8112DN 02b6 DCP-8152DN 02b7 DCP-8157DN 02b8 MFC-8512DN 02ba MFC-8912DW 02bb MFC-8952DW 02bc DCP-J540N 02bd DCP-J740N 02be MFC-J710D 02bf MFC-J840N 02c0 DCP-J940N 02c1 MFC-J960DN 02c2 DCP-J4110DW 02c3 MFC-J4310DW 02c4 MFC-J4410DW 02c5 MFC-J4610DW 02c6 DCP-J4210N 02c7 MFC-J4510N 02c8 MFC-J4910CDW 02c9 MFC-J4810DN 02ca MFC-8712DW 02cb MFC-8710DW 02cc MFC-J2310 02cd MFC-J2510 02ce DCP-7055W 02cf DCP-7057W 02d0 DCP-1510 02d1 MFC-1810 02d3 DCP-9020CDW 02d4 MFC-8810DW 02dd DCP-J4215N 02de DCP-J132W 02df DCP-J152W 02e0 DCP-J152N 02e1 DCP-J172W 02e2 DCP-J552DW 02e3 DCP-J552N 02e4 DCP-J752DW 02e5 DCP-J752N 02e6 DCP-J952N 02e7 MFC-J245 02e8 MFC-J470DW 02e9 MFC-J475DW 02ea MFC-J285DW 02eb MFC-J650DW 02ec MFC-J870DW 02ed MFC-J870N 02ee MFC-J720D 02ef MFC-J820DN 02f0 MFC-J980DN 02f1 MFC-J890DN 02f2 MFC-J6520DW 02f3 MFC-J6570CDW 02f4 MFC-J6720DW 02f5 MFC-J6920DW 02f6 MFC-J6970CDW 02f7 MFC-J6975CDW 02f8 MFC-J6770CDW 02f9 DCP-J132N 02fa MFC-J450DW 02fb MFC-J875DW 02fc DCP-J100 02fd DCP-J105 02fe MFC-J200 02ff MFC-J3520 0300 MFC-J3720 030f DCP-L8400CDN 0310 DCP-L8450CDW 0311 MFC-L8600CDW 0312 MFC-L8650CDW 0313 MFC-L8850CDW 0314 MFC-L9550CDW 0318 MFC-7365DN 0320 MFC-L2740DW 0321 DCP-L2500D 0322 DCP-L2520DW 0324 DCP-L2520D 0326 DCP-L2540DN 0328 DCP-L2540DW 0329 DCP-L2560DW 0330 HL-L2380DW 0331 MFC-L2700DW 0335 FAX-L2700DN 0337 MFC-L2720DW 0338 MFC-L2720DN 0339 DCP-J4120DW 033a MFC-J4320DW 033c MFC-J2320 033d MFC-J4420DW 0340 MFC-J4620DW 0341 MFC-J2720 0342 MFC-J4625DW 0343 MFC-J5320DW 0346 MFC-J5620DW 0347 MFC-J5720DW 0349 DCP-J4220N 034b MFC-J4720N 034e MFC-J5720CDW 034f MFC-J5820DN 0350 MFC-J5620CDW 0351 DCP-J137N 0353 DCP-J557N 0354 DCP-J757N 0355 DCP-J957N 0356 MFC-J877N 0357 MFC-J727D 0358 MFC-J987DN 0359 MFC-J827DN 035a MFC-J897DN 035b DCP-1610W 035c DCP-1610NW 035d MFC-1910W 035e MFC-1910NW 0360 DCP-1618W 0361 MFC-1919NW 0364 MFC-J5625DW 0365 MFC-J4520DW 0366 MFC-J5520DW 0367 DCP-7080D 0368 DCP-7080 0369 DCP-7180DN 036a DCP-7189DW 036b MFC-7380 036c MFC-7480D 036d MFC-7880DN 036e MFC-7889DW 036f DCP-9022CDW 0370 MFC-9142CDN 0371 MFC-9332CDW 0372 MFC-9342CDW 0373 MFC-L2700D 0376 DCP-1600 0377 MFC-1900 0378 DCP-1608 0379 DCP-1619 037a MFC-1906 037b MFC-1908 037c ADS-2000e 037d ADS-2100e 037e ADS-2500We 037f ADS-2600We 0380 DCP-J562DW 0381 DCP-J562N 0383 DCP-J962N 0384 MFC-J480DW 0385 MFC-J485DW 0386 MFC-J460DW 0388 MFC-J680DW 0389 MFC-J880DW 038a MFC-J885DW 038b MFC-J880N 038c MFC-J730DN 038d MFC-J990DN 038e MFC-J830DN 038f MFC-J900DN 0390 MFC-J5920DW 0392 MFC-L2705DW 0393 DCP-T300 0394 DCP-T500W 0395 DCP-T700W 0396 MFC-T800W 0397 DCP-J963N 03b3 MFC-J6925DW 03b4 MFC-J6573CDW 03b5 MFC-J6973CDW 03b6 MFC-J6990CDW 03bb MFC-L2680W 03bc MFC-L2700DN 03bd DCP-J762N 03fd ADS-2700W 1000 Printer 1002 Printer 2002 PTUSB Printing 2004 PT-2300/2310 p-Touch Laber Printer 2007 PT-2420PC P-touch Label Printer 2015 QL-500 label printer 2016 QL-550 printer 201a PT-18R P-touch label printer 201b QL-650TD Label Printer 2020 QL-1050 Label Printer 2027 QL-560 Label Printer 2028 QL-570 Label Printer 202a QL-1060N Label Printer 202b PT-7600 P-touch Label Printer 202c PT-1230PC P-touch Label Printer E mode 202d PT-2430PC P-touch Label Printer 2030 PT-1230PC P-touch Label Printer EL mode 2041 PT-2730 P-touch Label Printer 2042 QL-700 Label Printer 2043 QL-710W Label Printer 2044 QL-720NW Label Printer 204d QL-720NW Label Printer (mass storage mode) 2061 PT-P700 P-touch Label Printer 2064 PT-P700 P-touch Label Printer RemovableDisk 209b QL-800 Label Printer 209c QL-810W Label Printer 209d QL-820NWB Label Printer 20a7 QL-1100 Label Printer 20a8 QL-1110NWB Label Printer 20a9 QL-1100 Label Printer (mass storage) 20aa QL-1110NWB Label Printer (mass storage) 20ab QL-1115NWB Label Printer 20ac QL-1115NWB Label Printer (mass storage) 20c0 QL-600 Label Printer 2100 Card Reader Writer 2102 Sewing machine 60a0 ADS-2000 60a1 ADS-2100 60a4 ADS-2500W 60a5 ADS-2600W 60a6 ADS-1000W 60a7 ADS-1100W 60a8 ADS-1500W 60a9 ADS-1600W 04fa Dallas Semiconductor 2490 DS1490F 2-in-1 Fob, 1-Wire adapter 4201 DS4201 Audio DAC 04fb Biostar Microtech International Corp. 04fc Sunplus Technology Co., Ltd 0003 CM1092 / Wintech CM-5098 Optical Mouse 0005 USB OpticalWheel Mouse 0013 ViewMate Desktop Mouse CC2201 0015 ViewMate Desktop Mouse CC2201 00d3 00052486 / Laser Mouse M1052 [hama] 0171 SPCA1527A/SPCA1528 SD card camera (Mass Storage mode) 0201 SPCP825 RS232C Adapter 0232 Fingerprint 0538 Wireless Optical Mouse 2.4G [Bright] 0561 Flexcam 100 05d8 Wireless keyboard/mouse 05da SPEEDLINK SNAPPY Wireless Mouse Nano 0c15 SPIF215A SATA bridge 0c25 SATALink SPIF225A 1528 SPCA1527A/SPCA1528 SD card camera (webcam mode) 1533 Mass Storage 2080 ASUS Webcam 500c CA500C Digital Camera 504a Aiptek Mini PenCam 1.3 504b Aiptek Mega PockerCam 1.3/Maxell MaxPocket LE 1.3 5330 Digitrex 2110 5331 Vivitar Vivicam 10 5360 Sunplus Generic Digital Camera 5563 Digital Media Player MP3/WMA [The Sharper Image] 5720 Card Reader Driver 6333 Siri A9 UVC chipset 7333 Finet Technology Palmpix DC-85 757a Aiptek, MP315 MP3 Player ffff PureDigital Ritz Disposable 04fd Soliton Systems, K.K. 0003 Smart Card Reader II 04fe PFU, Ltd 0006 Happy Hacking Keyboard Lite2 04ff E-CMOS Corp. 0500 Siam United Hi-Tech 0001 DART Keyboard Mouse 0002 DART-2 Keyboard 0501 Fujikura DDK, Ltd 0502 Acer, Inc. 0001 Handheld 0736 Handheld 15b1 PDA n311 1631 c10 Series 1632 c20 Series 16e1 n10 Handheld Sync 16e2 n20 Pocket PC Sync 16e3 n30 Handheld Sync 2008 Liquid Gallant Duo E350 (preloader) 3202 Liquid 3203 Liquid (Debug mode) 3230 BeTouch E120 3317 Liquid 3325 Iconia tablet A500 3341 Iconia tablet A500 33c3 Liquid Gallant Duo E350 33c4 Liquid Gallant Duo E350 (debug mode) 33c7 Liquid Gallant Duo E350 (USB tethering) 33c8 Liquid Gallant Duo E350 (debug mode, USB tethering) d001 Divio NW801/DVC-V6+ Digital Camera 0503 Hitachi America, Ltd 0504 Hayes Microcomputer Products 0506 3Com Corp. 009d HomeConnect Camera 00a0 3CREB96 Bluetooth Adapter 00a1 Bluetooth Device 00a2 Bluetooth Device 00df 3Com Home Connect lite 0100 HomeConnect ADSL Modem Driver 03e8 3C19250 Ethernet [klsi] 0a01 3CRSHEW696 Wireless Adapter 0a11 3CRWE254G72 802.11g Adapter 11f8 HomeConnect 3C460 2922 HomeConnect Cable Modem External with 3021 U.S.Robotics 56000 Voice FaxModem Pro 4601 3C460B 10/100 Ethernet Adapter f002 3CP4218 ADSL Modem (pre-init) f003 3CP4218 ADSL Modem f100 3CP4218 ADSL Modem (pre-init) 0507 Hosiden Corp. 0011 Konami ParaParaParadise Controller 0508 Clarion Co., Ltd 0509 Aztech Systems, Ltd 0801 ADSL Modem 0802 ADSL Modem (RFC1483) 0806 DSL Modem 080f Binatone ADSL500 Modem Network Interface 0812 Pirelli ADSL Modem Network Interface 050a Cinch Connectors 050b Cable System International 050c InnoMedia, Inc. 050d Belkin Components 0004 Direct Connect 0012 F8T012 Bluetooth Adapter 0013 F8T013 Bluetooth Adapter 0017 B8T017 Bluetooth+EDR 2.1 / F4U017 USB 2.0 7-port Hub 003a Universal Media Reader 0050 F5D6050 802.11b Wireless Adapter v2000 [Atmel at76c503a] 0081 F8T001v2 Bluetooth 0083 Bluetooth Device 0084 F8T003v2 Bluetooth 0102 Flip KVM 0103 F5U103 Serial Adapter [etek] 0106 VideoBus II Adapter, Video 0108 F1DE108B KVM 0109 F5U109/F5U409 PDA Adapter 0115 SCSI Adapter 0119 F5U120-PC Dual PS/2 Ports / F5U118-UNV ADB Adapter 0121 F5D5050 100Mbps Ethernet 0122 Ethernet Adapter 0131 Bluetooth Device with trace filter 016a Bluetooth Mini Dongle 0200 Nostromo SpeedPad n52te Gaming Keyboard 0201 Peripheral Switch 0208 USBView II Video Adapter [nt1004] 0210 F5U228 Hi-Speed USB 2.0 DVD Creator 0211 F5U211 USB 2.0 15-in-1 Media Reader & Writer 0224 F5U224 USB 2.0 4-Port Hub 0234 F5U234 USB 2.0 4-Port Hub 0237 F5U237 USB 2.0 7-Port Hub 0240 F5U240 USB 2.0 CF Card Reader 0249 USB 2 Flash Media Device 0257 F5U257 Serial 0304 FSU304 USB 2.0 - 4 Ports Hub 0307 USB 2.0 - 7 ports Hub [FSU307] 038c F2CU038 HDMI Adapter 0409 F5U409 Serial 0416 Staples 12416 7 port desktop hub 0551 F6C550-AVR UPS 065a F8T065BF Mini Bluetooth 4.0 Adapter 0706 2-N-1 7-Port Hub (Lower half) 0802 Nostromo n40 Gamepad 0803 Nostromo 1745 GamePad 0805 Nostromo N50 GamePad 0815 Nostromo n52 HID SpeedPad Mouse Wheel 0826 ErgoFit Wireless Optical Mouse (HID) 0980 HID UPS Battery 1004 F9L1004 802.11n Surf N300 XR Wireless Adapter [Realtek RTL8192CU] 1102 F7D1102 N150/Surf Micro Wireless Adapter v1000 [Realtek RTL8188CUS] 1103 F9L1103 N750 DB 802.11abgn 2x3:3 [Ralink RT3573] 1106 F9L1106v1 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] 1109 F9L1109v1 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] 110a F9L1101v2 802.11abgn Wireless Adapter [Realtek RTL8192DU] 11f2 ISY Wireless Micro Adapter IWL 2000 [RTL8188CUS] 1202 F5U120-PC Parallel Printer Port 1203 F5U120-PC Serial Port 2103 F7D2102 802.11n N300 Micro Wireless Adapter v3000 [Realtek RTL8192CU] 21f1 N300 WLAN N Adapter [ISY] 21f2 RTL8192CU 802.11n WLAN Adapter [ISY IWL 4000] 258a F5U258 Host to Host cable 3101 F1DF102U/F1DG102U Flip Hub 3201 F1DF102U/F1DG102U Flip KVM 4050 ZD1211B 5055 F5D5055 Gigabit Network Adapter [AX88xxx] 6050 F6D6050 802.11abgn Wireless Adapter [Broadcom BCM4323] 6051 F5D6051 802.11b Wireless Network Adapter [ZyDAS ZD1201] 615a F7D4101 / F9L1101v1 802.11abgn Wireless Adapter [Broadcom BCM4323] 7050 F5D7050 Wireless G Adapter v1000/v2000 [Intersil ISL3887] 7051 F5D7051 802.11g Adapter v1000 [Broadcom 4320 USB] 705a F5D7050 Wireless G Adapter v3000 [Ralink RT2571W] 705b Wireless G Adapter 705c F5D7050 Wireless G Adapter v4000 [Zydas ZD1211B] 705e F5D7050 Wireless G Adapter v5000 [Realtek RTL8187B] 706a 2-N-1 7-Port Hub (Upper half) 8053 F5D8053 N Wireless USB Adapter v1000/v4000 [Ralink RT2870] 805c F5D8053 N Wireless Adapter v3000 [Ralink RT2870] 805e F5D8053 N Wireless USB Adapter v5000 [Realtek RTL8192U] 815c F5D8053 N Wireless USB Adapter v3000 [Ralink RT2870] 815f F5D8053 N Wireless USB Adapter v6000 [Realtek RTL8192SU] 825a F5D8055 N+ Wireless Adapter v1000 [Ralink RT2870] 825b F5D8055 N+ Wireless Adapter v2000 [Ralink RT3072] 845a F7D2101 802.11n Surf & Share Wireless Adapter v1000 [Realtek RTL8192SU] 905b F5D9050 Wireless G+ MIMO Network Adapter v3000 [Ralink RT2573] 905c F5D9050 Wireless G+ MIMO Network Adapter v4000 [Ralink RT2573] 935a F6D4050 N150 Enhanced Wireless Network Adapter v1000 [Ralink RT3070] 935b F6D4050 N150 Enhanced Wireless Network Adapter v2000 [Ralink RT3070] 945a F7D1101 v1 Basic Wireless Adapter [Realtek RTL8188SU] 945b F7D1101 v2 Basic Wireless Adapter [Ralink RT3370] d321 Dynex DX-NUSB 802.11bgn Wireless Adapter [Broadcom BCM43231] 050e Neon Technology, Inc. 050f KC Technology, Inc. 0001 Hub 0003 KC82C160S Hub 0180 KC-180 IrDA Dongle 0190 KC2190 USB Host-to-Host cable 0510 Sejin Electron, Inc. 0001 Keyboard 1000 Keyboard with PS/2 Mouse Port e001 Mouse 0511 N'Able (DataBook) Technologies, Inc. 002b AOC DVB 0512 Hualon Microelectronics Corp. 0513 digital-X, Inc. 0514 FCI Electronics 0515 ACTC 0516 Longwell Electronics 0517 Butterfly Communications 0518 EzKEY Corp. 0001 USB to PS2 Adaptor v1.09 0002 EZ-9900C Keyboard 0519 Star Micronics Co., Ltd 0003 TSP100ECO/TSP100II c002 Xlive Bluetooth XBM-100S MP3 Player 051a WYSE Technology a005 Smart Display Version 9973 051b Silicon Graphics 051c Shuttle, Inc. 0005 VFD Module c001 eHome Infrared Receiver c002 eHome Infrared Receiver 051d American Power Conversion 0001 UPS 0002 Uninterruptible Power Supply 0003 UPS 051e Scientific Atlanta, Inc. 051f IO Systems (Elite Electronics), Inc. 0520 Taiwan Semiconductor Manufacturing Co. 0521 Airborn Connectors 0522 Advanced Connectek, Inc. 0523 ATEN GmbH 0524 Sola Electronics 0525 Netchip Technology, Inc. 100d RFMD Bluetooth Device 1080 NET1080 USB-USB Bridge 1200 SSDC Adapter II 1265 File-backed Storage Gadget 3424 V30x/V4xx fingerprint sensor [Lumidigm] a0f0 Cambridge Electronic Devices Power1401 mk 2 a140 USB Clik! 40 a141 (OME) PocketZip 40 MP3 Player Driver a220 GVC Bluetooth Wireless Adapter a4a0 Linux-USB "Gadget Zero" a4a1 Linux-USB Ethernet Gadget a4a2 Linux-USB Ethernet/RNDIS Gadget a4a3 Linux-USB user-mode isochronous source/sink a4a4 Linux-USB user-mode bulk source/sink a4a5 Pocketbook Pro 903 / Mobius 2 Action Cam / xDuoo X3 / PocketBook Pro 602 a4a6 Linux-USB Serial Gadget a4a7 Linux-USB Serial Gadget (CDC ACM mode) a4a8 Linux-USB Printer Gadget a4a9 Linux-USB OBEX Gadget a4aa Linux-USB CDC Composite Gadge (Ethernet and ACM) 0526 Temic MHS S.A. 0527 ALTRA 0528 ATI Technologies, Inc. 7561 TV Wonder 7562 TV Wonder, Edition (FN5) 7563 TV Wonder, Edition (FI) 7564 TV Wonder, Edition (FQ) 7565 TV Wonder, Edition (NTSC+) 7566 TV Wonder, Edition (FN5) 7567 TV Wonder, Edition (FI) 7568 TV Wonder, Edition (FQ) 7569 Live! Pro (A) 756a Live! Pro Audio (O) 0529 Aladdin Knowledge Systems 0001 HASP copy protection dongle 030b eToken R1 v3.1.3.x 0313 eToken R1 v3.2.3.x 031b eToken R1 v3.3.3.x 0323 eToken R1 v3.4.3.x 0412 eToken R2 v2.2.4.x 041a eToken R2 v2.2.4.x 0422 eToken R2 v2.4.4.x 042a eToken R2 v2.5.4.x 050c eToken Pro v4.1.5.x 0514 eToken Pro v4.2.5.4 0600 eToken Pro 64k (4.2) 0620 Token JC 052a Crescent Heart Software 052b Tekom Technologies, Inc. 0102 Ca508A HP1020 Camera v.1.3.1.6 0801 Yakumo MegaImage 37 1512 Yakumo MegaImage IV 1513 Aosta CX100 Webcam 1514 Aosta CX100 Webcam Storage 1905 Yakumo MegaImage 47 1911 Yakumo MegaImage 47 SL 2202 WDM Still Image Capture 2203 Sound Vision Stream Driver 3a06 DigiLife DDV-5120A d001 P35U Camera Capture 052c Canon Information Systems, Inc. 052d Avid Electronics Corp. 052e Standard Microsystems Corp. 052f Unicore Software, Inc. 0530 American Microsystems, Inc. 0531 Wacom Technology Corp. 0532 Systech Corp. 0533 Alcatel Mobile Phones 0534 Motorola, Inc. 0535 LIH TZU Electric Co., Ltd 0536 Hand Held Products (Welch Allyn, Inc.) 01a0 PDT 0537 Inventec Corp. 0538 Caldera International, Inc. (SCO) 0539 Shyh Shiun Terminals Co., Ltd 053a PrehKeyTec GmbH 0b00 Hub 0b01 Preh MCI 3100 053b Global Village Communication 053c Institut of Microelectronic & Mechatronic Systems 053d Silicon Architect 053e Mobility Electronics 053f Synopsys, Inc. 0540 UniAccess AB 0101 Panache Surf ISDN TA 0541 Sirf Technology, Inc. 0543 ViewSonic Corp. 00fe G773 Monitor Hub 00ff P815 Monitor Hub 0bf2 airpanel V150 Wireless Smart Display 0bf3 airpanel V110 Wireless Smart Display 0ed9 Color Pocket PC V35 0f01 airsync Wi-Fi Wireless Adapter 1527 Color Pocket PC V36 1529 Color Pocket PC V37 152b Color Pocket PC V38 152e Pocket PC 1921 Communicator Pocket PC 1922 Smartphone 1923 Pocket PC V30 1a11 Wireless 802.11g Adapter 1e60 TA310 - ATSC/NTSC/PAL Driver(PCM4) 4153 ViewSonic G773 Control (?) 0544 Cristie Electronics, Ltd 0545 Xirlink, Inc. 7333 Trution Web Camera 8002 IBM NetCamera 8009 Veo PC Camera 800c Veo Stingray 800d Veo PC Camera 8080 IBM C-It Webcam 808a Veo PC Camera 808b Veo Stingray 808d Veo PC Camera 810a Veo Advanced Connect Webcam 810b Veo PC Camera 810c Veo PC Camera 8135 Veo Mobile/Advanced Web Camera 813a Veo PC Camera 813b Veo PC Camera 813c Veo Mobile/Advanced Web Camera 8333 Veo Stingray/Connect Web Camera 888c eVision 123 digital camera 888d eVision 123 digital camera 0546 Polaroid Corp. 0daf PDC 2300Z 1bed PDC 1320 Camera 3097 PDC 310 3155 PDC 3070 Camera 3187 Digital Camera 3191 Ion 80 Camera 3273 PDC 2030 Camera 3304 a500 Digital Camera dccf Sound Vision Stream Driver 0547 Anchor Chips, Inc. 0001 ICSI Bluetooth Device 0080 I3SYSTEM HYUNY 1002 Python2 WDM Encoder 1006 Hantek DSO-2100 UF 2131 AN2131 EZUSB Microcontroller 2235 AN2235 EZUSB-FX Microcontroller 2710 EZ-Link Loader (EZLNKLDR.SYS) 2720 AN2720 USB-USB Bridge 2727 Xircom PGUNET USB-USB Bridge 2750 EZ-Link (EZLNKUSB.SYS) 2810 Cypress ATAPI Bridge 4018 AmScope MU1803 4d90 AmScope MD1900 camera 6010 AmScope MU1000 camera 6510 Touptek UCMOS05100KPA 7000 PowerSpec MCE460 Front Panel LED Display 7777 Bluetooth Device 9999 AN2131 uninitialized (?) 0548 Tyan Computer Corp. 1005 EZ Cart II GameBoy Flash Programmer 0549 Pixera Corp. 054a Fujitsu Microelectronics, Inc. 054b New Media Corp. 054c Sony Corp. 0001 HUB 0002 Standard HUB 0010 Cyber-shot, Mavica (msc) 0014 Nogatech USBVision (SY) 0022 Storage Adapter V2 (TPP) 0023 CD Writer 0024 Mavica CD-1000 Camera 0025 NW-MS7 Walkman MemoryStick Reader 002b Portable USB Harddrive V2 002c USB Floppy Disk Drive 002d MSAC-US1 MemoryStick Reader 002e HandyCam MemoryStick Reader 0030 Storage Adapter V2 (TPP) 0032 MemoryStick MSC-U01 Reader 0035 Network Walkman (E) 0036 Net MD 0037 MG Memory Stick Reader/Writer 0038 Clie PEG-S300/D PalmOS PDA 0039 Network Walkman (MS) 003c VAIO-MX LCD Control 0045 Digital Imaging Video 0046 Network Walkman 0049 UP-D895 004a Memory Stick Hi-Fi System 004b Memory Stick Reader/Writer 004e DSC-xxx (ptp) 0056 MG Memory Stick Reader/Writer 0058 Clie PEG-N7x0C PalmOS PDA Mass Storage 0066 Clie PEG-N7x0C/PEG-T425 PalmOS PDA Serial 0067 CMR-PC3 Webcam 0069 Memorystick MSC-U03 Reader 006c FeliCa S310 [PaSoRi] 006d Clie PEG-T425 PDA Mass Storage 006f Network Walkman (EV) 0073 Storage CRX1750U 0075 Net MD 0076 Storage Adapter ACR-U20 007c Net MD 007f IC Recorder (MS) 0080 Net MD 0081 Net MD 0084 Net MD 0085 Net MD 0086 Net MD 008b Micro Vault 64M Mass Storage 0095 Clie s360 0099 Clie NR70 PDA Mass Storage 009a Clie NR70 PDA Serial 00ab Visual Communication Camera (PCGA-UVC10) 00af DPP-EX Series Digital Photo Printer 00bf IC Recorder (S) 00c0 Handycam DCR-30 00c6 Net MD 00c7 Net MD 00c8 MZ-N710 Minidisc Walkman 00c9 Net MD 00ca MZ-DN430 Minidisc Walkman 00cb MSAC-US20 Memory Stick Reader 00da Clie nx60 00e8 Network Walkman (MS) 00e9 Handheld 00eb Net MD 0101 Net MD 0103 IC Recorder (ST) 0105 Micro Vault Hub 0107 VCC-U01 Visual Communication Camera 0110 Digital Imaging Video 0113 Net MD 0116 IC Recorder (P) 0144 Clie PEG-TH55 PDA 0147 Visual Communication Camera (PCGA-UVC11) 014c Aiwa AM-NX9 Net MD Music Recorder MDLP 014d Memory Stick Reader/Writer 0154 Eyetoy Audio Device 0155 Eyetoy Video Device 015f IC Recorder (BM) 0169 Clie PEG-TJ35 PDA Serial 016a Clie PEG-TJ35 PDA Mass Storage 016b Mobile HDD 016d IC Recorder (SX) 016e DPP-EX50 Digital Photo Printer 0171 Fingerprint Sensor 3500 017e Net MD 017f Hi-MD WALKMAN 0180 Net MD 0181 Hi-MD WALKMAN 0182 Net MD 0183 Hi-MD WALKMAN 0184 Net MD 0185 Hi-MD WALKMAN 0186 Net MD 0187 Hi-MD MZ-NH600 WALKMAN 0188 Net MD 018a Net MD 018b Hi-MD SOUND GATE 019e Micro Vault 1.0G Mass Storage 01ad ATRAC HDD PA 01bb FeliCa S320 [PaSoRi] 01bd MRW62E Multi-Card Reader/Writer 01c3 NW-E55 Network Walkman 01c6 MEMORY P-AUDIO 01c7 Printing Support 01c8 PSP Type A 01c9 PSP Type B 01d0 DVD+RW External Drive DRU-700A 01d5 IC RECORDER 01de VRD-VC10 [Video Capture] 01e7 UP-D897 01e8 UP-DR150 Photo Printer 01e9 Net MD 01ea Hi-MD WALKMAN 01ee IC RECORDER 01fa IC Recorder (P) 01fb NW-E405 Network Walkman 020f Device 0210 ATRAC HDD PA 0219 Net MD 021a Hi-MD WALKMAN 021b Net MD 021c Hi-MD WALKMAN 021d Net MD 0226 UP-CR10L 0227 Printing Support 022c Net MD 022d Hi-MD AUDIO 0233 ATRAC HDD PA 0236 Mobile HDD 023b DVD+RW External Drive DRU-800UL 023c Net MD 023d Hi-MD WALKMAN 0243 MicroVault Flash Drive 024b Vaio VGX Mouse 0257 IFU-WLM2 USB Wireless LAN Module (Wireless Mode) 0258 IFU-WLM2 USB Wireless LAN Module (Memory Mode) 0259 IC RECORDER 0267 Tachikoma Device 0268 Batoh Device / PlayStation 3 Controller 0269 HDD WALKMAN 026a HDD WALKMAN 0271 IC Recorder (P) 027c NETWORK WALKMAN 027e SONY Communicator 027f IC RECORDER 0286 Net MD 0287 Hi-MD WALKMAN 0290 VGP-UVC100 Visual Communication Camera 029b PRS-500 eBook reader 02a5 MicroVault Flash Drive 02af Handycam DCR-DVD306E 02c4 Device 02d1 DVD RW 02d2 PSP Slim 02d4 UP-CX1 02d8 SBAC-US10 SxS PRO memory card reader/writer 02e1 FeliCa S330 [PaSoRi] 02ea PlayStation 3 Memory Card Adaptor 02f9 DSC-H9 0317 WALKMAN 031a Walkman NWD-B103F 031e PRS-300/PRS-505 eBook reader 0325 NWZ-A818 033e DSC-W120/W290 0346 Handycam DCR-SR55E 0348 HandyCam HDR-TG3E 035b Walkman NWZ-A828 035c NWZ-A726/A728/A729 035f UP-DR200 Photo Printer 0360 M2 Card Reader 0382 Memory Stick PRO-HG Duo Adaptor (MSAC-UAH1) 0385 Walkman NWZ-E436F 0387 IC Recorder (P) 03bc Webbie HD - MHS-CM1 03c3 UP-DR80MD 03c4 Stryker SDP1000 03c5 UP-DR80 03cc SD Card Reader 03d1 DPF-X95 03d3 DR-BT100CX 03d5 PlayStation Move motion controller 03fc WALKMAN [NWZ-E345] 03fd Walkman NWZ-E443 042f PlayStation Move navigation controller 0440 DSC-H55 0485 MHS-PM5 HD camcorder 04cb WALKMAN NWZ-E354 0541 DSC-HX100V [Cybershot Digital Still Camera] 05c4 DualShock 4 [CUH-ZCT1x] 0689 Walkman NWZ-B173F 06bb WALKMAN NWZ-F805 06c3 RC-S380 07c4 ILCE-6000 (aka Alpha-6000) in Mass Storage mode 082f Walkman NWZW Series 0847 WG-C10 Portable Wireless Server 0884 MDR-ZX770BN [Wireless Noise Canceling Stereo Headset] 088c Portable Headphone Amplifier 08b7 ILCE-6000 (aka Alpha-6000) in MTP mode 094e ILCE-6000 (aka Alpha-6000) in PC Remote mode 0994 ILCE-6000 (aka Alpha-6000) in charging mode 09cc DualShock 4 [CUH-ZCT2x] 0ba0 Dualshock4 Wireless Adaptor 0bb5 Headset MDR-1000X 0c02 ILCE-7M3 [A7III] in Mass Storage mode 0c03 ILCE-7M3 [A7III] in MTP mode 0c34 ILCE-7M3 [A7III] in PC Remote mode 0cd3 WH-1000XM3 [Wireless Noise-Canceling Headphones] 0cda PlayStation Classic controller 1000 Wireless Buzz! Receiver 054d Try Corp. 054e Proside Corp. 054f WYSE Technology Taiwan 0550 Fuji Xerox Co., Ltd 0002 InkJet Color Printer 0004 InkJet Color Printer 0005 InkJet Color Printer 000b Workcentre 24 014e CM215b Printer 0165 DocuPrint M215b 0551 CompuTrend Systems, Inc. 0552 Philips Monitors 0553 STMicroelectronics Imaging Division (VLSI Vision) 0001 TerraCAM 0002 CPiA Webcam 0100 STV0672 Camera 0140 Video Camera 0150 CDE CAM 100 0151 Digital Blue QX5 Microscope 0200 Dual-mode Camera0 0201 Dual-mode Camera1 0202 STV0680 Camera 0674 Multi-mode Camera 0679 NMS Video Camera (Webcam) 1002 Che-ez! Splash 0554 Dictaphone Corp. 0555 ANAM S&T Co., Ltd 0556 Asahi Kasei Microsystems Co., Ltd 0001 AK5370 I/F A/D Converter 0557 ATEN International Co., Ltd 2001 UC-1284 Printer Port 2002 10Mbps Ethernet [klsi] 2004 UC-100KM PS/2 Mouse and Keyboard adapter 2006 UC-1284B Printer Port 2007 UC-110T 100Mbps Ethernet [pegasus] 2008 UC-232A Serial Port [pl2303] 2009 UC-210T Ethernet 2011 UC-2324 4xSerial Ports [mos7840] 2202 CS124U Miniview II KVM Switch 2212 Keyboard/Mouse 2213 CS682 2-Port USB 2.0 DVI KVM Switch 2221 Winbond Hermon 2404 4-port switch 2600 IDE Bridge 2701 CE700A KVM Extender 4000 DSB-650 10Mbps Ethernet [klsi] 7000 Hub 7820 UC-2322 2xSerial Ports [mos7820] 8021 Hub 0558 Truevision, Inc. 1009 GW Instek GDS-1000 Oscilloscope 100a GW Instek GDS-1000A Oscilloscope 2009 GW Instek GDS-2000 Oscilloscope 0559 Cadence Design Systems, Inc. 055a Kenwood USA 055b KnowledgeTek, Inc. 055c Proton Electronic Ind. 055d Samsung Electro-Mechanics Co. 0001 Keyboard 0bb1 Bluetooth Device 1030 Optical Wheel Mouse (OMS3CB/OMGB30) 1031 Optical Wheel Mouse (OMA3CB/OMGI30) 1040 Mouse HID Device 1050 E-Mail Optical Wheel Mouse (OMS3CE) 1080 Optical Wheel Mouse (OMS3CH) 2020 Floppy Disk Drive 6780 Keyboard V1 6781 Keyboard Mouse 8001 E.M. Hub 9000 AnyCam [pwc] 9001 MPC-C30 AnyCam Premium for Notebooks [pwc] a000 SWL-2100U a010 WLAN Adapter(SWL-2300) a011 Boot Device a012 WLAN Adapter(SWL-2300) a013 WLAN Adapter(SWL-2350) a230 Boot Device b000 11Mbps WLAN Mini Adapter b230 Netopia 802.11b WLAN Adapter b231 LG Wireless LAN 11b Adapter 055e CTX Opto-Electronics Corp. 055f Mustek Systems, Inc. 0001 ScanExpress 1200 CU 0002 ScanExpress 600 CU 0003 ScanExpress 1200 USB 0006 ScanExpress 1200 UB 0007 ScanExpress 1200 USB Plus 0008 ScanExpress 1200 CU Plus 0010 BearPaw 1200F 0210 ScanExpress A3 USB 0218 BearPaw 2400 TA 0219 BearPaw 2400 TA Plus 021a BearPaw 2448 TA Plus 021b BearPaw 1200 CU Plus 021c BearPaw 1200 CU Plus 021d BearPaw 2400 CU Plus 021e BearPaw 1200 TA/CS 021f SNAPSCAN e22 0400 BearPaw 2400 TA Pro 0401 P 3600 A3 Pro 0408 BearPaw 2448 CU Pro 0409 BearPaw 2448 TA Pro 040b ScanExpress A3 USB 1200 PRO 0501 ScanExpress A3 2400 Pro 0873 ScanExpress 600 USB 1000 BearPaw 4800 TA Pro a350 gSmart 350 Camera a800 MDC 800 Camera b500 MDC 3000 Camera c005 PC CAM 300A c200 gSmart 300 c211 Kowa Bs888e Microcamera c220 gSmart mini c230 Digicam 330K c232 MDC3500 Camera c360 DV 4000 Camera c420 gSmart mini 2 Camera c430 gSmart LCD 2 Camera c440 DV 3000 Camera c520 gSmart mini 3 Camera c530 gSmart LCD 2 Camera c540 gSmart D30 Camera c630 MDC 4000 Camera c631 MDC 4000 Camera c650 MDC 5500Z Camera d001 WCam 300 d003 WCam 300A d004 WCam 300AN 0560 Interface Corp. 0561 Oasis Design, Inc. 0562 Telex Communications, Inc. 0001 Enhanced Microphone 0002 Telex Microphone 0563 Immersion Corp. 0564 Kodak Digital Product Center, Japan Ltd. (formerly Chinon Industries Inc.) 0565 Peracom Networks, Inc. 0001 Serial Port [etek] 0002 Enet Ethernet [klsi] 0003 @Home Networks Ethernet [klsi] 0005 Enet2 Ethernet [klsi] 0041 Peracom Remote NDIS Ethernet Adapter 0566 Monterey International Corp. 0110 ViewMate Desktop Mouse CC2201 1001 ViewMate Desktop Mouse CC2201 1002 ViewMate Desktop Mouse CC2201 1003 ViewMate Desktop Mouse CC2201 1004 ViewMate Desktop Mouse CC2201 1005 ViewMate Desktop Mouse CC2201 1006 ViewMate Desktop Mouse CC2201 1007 ViewMate Desktop Mouse CC2201 2800 MIC K/B 2801 MIC K/B Mouse 2802 Kbd Hub 3002 Keyboard 3004 Genius KB-29E 3013 BakkerElkhuizen Wired Keyboard S-board 840 Design 3020 BakkerElkhuizen Wired Keyboard S-board 840 Design USB-Hub 3027 Sun-Flex ProTouch 3107 Keyboard 3132 Optical mouse M-DY4DR / M-DY6DR 4006 FID 638 Mouse (Sun Microsystems) 0567 Xyratex International, Ltd 0568 Quartz Ingenierie 0569 SegaSoft 056a Wacom Co., Ltd 0000 PenPartner 0001 PenPartner 4x5 0002 PenPartner 6x8 0003 PTU-600 [Cintiq Partner] 0010 ET-0405 [Graphire] 0011 ET-0405A [Graphire2 (4x5)] 0012 ET-0507A [Graphire2 (5x7)] 0013 CTE-430 [Graphire3 (4x5)] 0014 CTE-630 [Graphire3 (6x8)] 0015 CTE-440 [Graphire4 (4x5)] 0016 CTE-640 [Graphire4 (6x8)] 0017 CTE-450 [Bamboo Fun (small)] 0018 CTE-650 [Bamboo Fun (medium)] 0019 CTE-631 [Bamboo One] 0020 GD-0405 [Intuos (4x5)] 0021 GD-0608 [Intuos (6x8)] 0022 GD-0912 [Intuos (9x12)] 0023 GD-1212 [Intuos (12x12)] 0024 GD-1218 [Intuos (12x18)] 0026 PTH-450 [Intuos5 touch (S)] 0027 PTH-650 [Intuos5 touch (M)] 0028 PTH-850 [Intuos5 touch (L)] 0029 PTK-450 [Intuos5 (S)] 002a PTK-650 [Intuos5 (M)] 0030 PL400 0031 PL500 0032 PL600 0033 PL600SX 0034 PL550 0035 PL800 0037 PL700 0038 PL510 0039 DTU-710 003a DTI-520 003b Integrated Hub 003f DTZ-2100 [Cintiq 21UX] 0041 XD-0405-U [Intuos2 (4x5)] 0042 XD-0608-U [Intuos2 (6x8)] 0043 XD-0912-U [Intuos2 (9x12)] 0044 XD-1212-U [Intuos2 (12x12)] 0045 XD-1218-U [Intuos2 (12x18)] 0047 Intuos2 6x8 0057 DTK-2241 0059 DTH-2242 tablet 005b DTH-2200 [Cintiq 22HD Touch] tablet 005d DTH-2242 touchscreen 005e DTH-2200 [Cintiq 22HD Touch] touchscreen 0060 FT-0405 [Volito, PenPartner, PenStation (4x5)] 0061 FT-0203 [Volito, PenPartner, PenStation (2x3)] 0062 CTF-420 [Volito2] 0063 CTF-220 [BizTablet] 0064 CTF-221 [PenPartner2] 0065 MTE-450 [Bamboo] 0069 CTF-430 [Bamboo One] 006a CTE-460 [Bamboo One Pen (S)] 006b CTE-660 [Bamboo One Pen (M)] 0081 CTE-630BT [Graphire Wireless (6x8)] 0084 ACK-40401 [Wireless Accessory Kit] 0090 TPC90 0093 TPC93 0097 TPC97 009a TPC9A 00a2 STU-300B [LCD signature pad] 00b0 PTZ-430 [Intuos3 (4x5)] 00b1 PTZ-630 [Intuos3 (6x8)] 00b2 PTZ-930 [Intuos3 (9x12)] 00b3 PTZ-1230 [Intuos3 (12x12)] 00b4 PTZ-1231W [Intuos3 (12x19)] 00b5 PTZ-631W [Intuos3 (6x11)] 00b7 PTZ-431W [Intuos3 (4x6)] 00b8 PTK-440 [Intuos4 (4x6)] 00b9 PTK-640 [Intuos4 (6x9)] 00ba PTK-840 [Intuos4 (8x13)] 00bb PTK-1240 [Intuos4 (12x19)] 00c0 DTF-521 00c4 DTF-720 00c5 DTZ-2000W [Cintiq 20WSX] 00c6 DTZ-1200W [Cintiq 12WX] 00c7 DTU-1931 00cc DTK-2100 [Cintiq 21UX] 00ce DTU-2231 00d0 CTT-460 [Bamboo Touch] 00d1 CTH-460 [Bamboo Pen & Touch] 00d2 CTH-461 [Bamboo Fun/Craft/Comic Pen & Touch (S)] 00d3 CTH-661 [Bamboo Fun/Comic Pen & Touch (M)] 00d4 CTL-460 [Bamboo Pen (S)] 00d5 CTL-660 [Bamboo Pen (M)] 00d6 CTH-460 [Bamboo Pen & Touch] 00d7 CTH-461 [Bamboo Fun/Craft/Comic Pen & Touch (S)] 00d8 CTH-661 [Bamboo Fun/Comic Pen & Touch (M)] 00d9 CTT-460 [Bamboo Touch] 00da CTH-461SE [Bamboo Pen & Touch Special Edition (S)] 00db CTH-661SE [Bamboo Pen & Touch Special Edition (M)] 00dc CTT-470 [Bamboo Touch] 00dd CTL-470 [Bamboo Connect] 00de CTH-470 [Bamboo Fun Pen & Touch] 00df CTH-670 [Bamboo Create/Fun] 00e2 TPCE2 00e3 TPCE3 00e5 TPCE5 00e6 TPCE6 00ec TPCEC 00ed TPCED 00ef TPCEF 00f0 DTU-1631 00f4 DTK-2400 [Cintiq 24HD] tablet 00f6 DTH-2400 [Cintiq 24HD touch] touchscreen 00f8 DTH-2400 [Cintiq 24HD touch] tablet 00f9 DTK-2200 [Cintiq 22HD] hub 00fa DTK-2200 [Cintiq 22HD] tablet 00fb DTU-1031 0100 TPC100 0101 TPC101 010d TPC10D 010e TPC10E 010f TPC10F 0116 TPC116 012c TPC12C 0221 MDP-123 [Inkling] 0300 CTL-471 [Bamboo Splash, One by Wacom (S)] 0301 CTL-671 [One by Wacom (M)] 0302 CTH-480 [Intuos Pen & Touch (S)] 0303 CTH-680 [Intuos Pen & Touch (M)] 0304 DTK-1300 [Cintiq 13HD] 0307 DTH-A1300 [Cintiq Companion Hybrid] tablet 0309 DTH-A1300 [Cintiq Companion Hybrid] touchscreen 030e CTL-480 [Intuos Pen (S)] 0314 PTH-451 [Intuos pro (S)] 0315 PTH-651 [Intuos pro (M)] 0317 PTH-851 [Intuos pro (L)] 0318 CTH-301 [Bamboo] 0319 CTH-300 [Bamboo Pad wireless] 0323 CTL-680 [Intuos Pen (M)] 032a DTK-2700 [Cintiq 27QHD] 032b DTH-2700 [Cintiq 27QHD touch] tablet 032c DTH-2700 [Cintiq 27QHD touch] touchscreen 032f DTU-1031X 0331 ACK-411050 [ExpressKey Remote] 0333 DTH-1300 [Cintiq 13HD Touch] tablet 0335 DTH-1300 [Cintiq 13HD Touch] touchscreen 0336 DTU-1141 033b CTL-490 [Intuos Draw (S)] 033c CTH-490 [Intuos Art/Photo/Comic (S)] 033d CTL-690 [Intuos Draw (M)] 033e CTH-690 [Intuos Art (M)] 0343 DTK-1651 0347 DTH-W1620 [MobileStudio Pro 16] internal hub 0348 DTH-W1620 [MobileStudio Pro 16] external hub 034a DTH-W1320 [MobileStudio Pro 13] touchscreen 034b DTH-W1620 [MobileStudio Pro 16] touchscreen 034d DTH-W1320 [MobileStudio Pro 13] tablet 034e DTH-W1620 [MobileStudio Pro 16] tablet 034f DTH-1320 [Cintiq Pro 13] tablet 0350 DTH-1620 [Cintiq Pro 16] tablet 0351 DTH-2420 [Cintiq Pro 24 PT] tablet 0352 DTH-3220 [Cintiq Pro 32] tablet 0353 DTH-1320 [Cintiq Pro 13] touchscreen 0354 DTH-1620 [Cintiq Pro 16] touchscreen 0355 DTH-2420 [Cintiq Pro 24 PT] touchscreen 0356 DTH-3220 [Cintiq Pro 32] touchscreen 0357 PTH-660 [Intuos Pro (M)] 0358 PTH-860 [Intuos Pro (L)] 0359 DTU-1141B 035a DTH-1152 tablet 0368 DTH-1152 touchscreen 0374 CTL-4100 [Intuos (S)] 0375 CTL-6100 [Intuos (M)] 0376 CTL-4100WL [Intuos BT (S)] 0378 CTL-6100WL [Intuos BT (M)] 037a CTL-472 [One by Wacom (S)] 037b CTL-672 [One by Wacom (M)] 037c DTK-2420 [Cintiq Pro 24 P] 037d DTH-2452 tablet 037e DTH-2452 touchscreen 0382 DTK-2451 tablet 038a DTH-3220 [Cintiq Pro 32] internal hub 038d DTH-3220 [Cintiq Pro 32] internal hub 038e DTH-3220 [Cintiq Pro 32] external hub 038f DTH-3220 [Cintiq Pro 32] internal hub 0390 DTK-1660 [Cintiq 16] 0392 PTH-460 [Intuos Pro (S)] 0396 DTK-1660E 0398 DTH-W1320 [MobileStudio Pro 13] tablet 0399 DTH-W1620 [MobileStudio Pro 16] tablet 039a DTH-W1320 [MobileStudio Pro 13] touchscreen 039b DTH-W1620 [MobileStudio Pro 16] touchscreen 039c DTH-W1320 [MobileStudio Pro 16] external hub 039d DTH-W1320 [MobileStudio Pro 16] internal hub 03aa DTH-W1620 [MobileStudio Pro 16] tablet 03ac DTH-W1620 [MobileStudio Pro 16] touchscreen 0400 PenPartner 4x5 4001 TPC4001 4004 TPC4004 4850 PenPartner 6x8 5000 TPC5000 5002 TPC5002 5010 TPC5010 056b Decicon, Inc. 056c eTEK Labs 0006 KwikLink Host-Host Connector 8007 Kwik232 Serial Port 8100 KwikLink Host-Host Connector 8101 KwikLink USB-USB Bridge 056d EIZO Corp. 0000 Hub 0001 Monitor 0002 HID Monitor Controls 0003 Device Bay Controller 4001 Monitor 056e Elecom Co., Ltd 0002 29UO Mouse 0057 Micro Grast Pop M-PGDL 005c Micro Grast Pop M-PG2DL 005d Micro Grast Fit M-FGDL 005e Micro Grast Fit M-FG2DL 0062 Optical mouse M-D18DR 0063 Laser mouse M-SODL 0069 Laser mouse M-GE1UL 0071 Laser mouse M-GE3DL 0072 Laser mouse M-LS6UL 0073 Laser mouse M-LS7UL 0074 Optical mouse M-FW1UL 0075 Laser mouse M-FW2DL 0077 Laser mouse M-LY2UL 0079 Laser mouse M-D21DL 007b Laser mouse M-D20DR 007c Laser Bluetooth mouse M-BT5BL 007e Option mouse M-M8UR 007f Option mouse M-M9UR 0081 Option mouse M-DY6DR 0082 Laser mouse M-D22DR 0088 Micro Grast2 Bit M-BG3DL 0089 Micro Grast2 Pop M-PG3DL 008c M-NE3DL Mouse 008d ORIME M-NE4DR 008f M-BT8BL Bluetooth Mouse 0092 Wireless BlueLED Mouse (M-BL2DB) 009c IR Mouse M-IR02DR 009d IR Mouse M-IR03DR 009f BlueLED Mouse M-HS1DB 00a1 IR Mouse M-IR05DR 00a4 Blue LED Mouse M-BL06DB 00a5 M-NV1BR Bluetooth Mouse 00a7 Blue LED Mouse M-BL08DB 00a8 M-BL09DB Mouse 00a9 M-BL10UB Mouse 00aa M-BL11DB Mouse 00ac M-A-BL01UL / M-BL15DB Mouse 00b4 Track on Glass Mouse M-TG02DL 00b5 Track on Glass Mouse M-TG03UL 00b6 Track on Glass Mouse M-TG04DL 00b8 M-A-BL01UL or M-ASKL2 Mouse 00b9 M-A-BL02DB or M-ASKL Mouse 00cb M-BL21DB Mouse 00cd M-XG1UB Mouse 00ce M-XG1DB Mouse 00cf M-XG1BB Bluetooth Mouse 00d0 M-XG2UB Mouse 00d1 M-XG2DB Mouse 00d2 M-XG2BB Bluetooth Mouse 00d3 M-XG3DL Mouse 00d4 M-LS11DL Mouse 00da M-XG4UB Mouse 00db M-XG4DB Mouse 00dc M-XG4BB Bluetooth Mouse 00dd M-LS12UL Mouse 00de M-LS13UL Mouse 00df M-BL22DB Mouse 00e1 M-WK01DB or M-A-BL04DB 00e2 M-A-BL03DB 00e3 M-XGx10UB 00e4 M-XGx10DB 00e5 M-XGx10BB 00e6 M-XGx20DL or M-XGx20DB UltimateLaser Mouse 00f1 M-XT1DRBK USB EX-G Wireless Optical TrackBall 00f2 M-XT1URBK EX-G Optical Trackball 00f3 M-BL23DB 00f4 M-BT13BL LBT-UAN05C2 00f7 M-KN1DB 00f8 M-BL22DB Mouse (other version) 00f9 M-XT2URBK EX-G Optical TrackBall 00fa M-XT2DRBK EX-G Wireless Optical TrackBall 00fb M-XT3URBK EX-G Optical TrackBall 00fc M-XT3DRBK EX-G Wireless Optical TrackBall 00fd M-XT4DRBK EX-G Wireless Optical TrackBall 00fe M-DT1URBK or M-DT2URBK DEFT Optical TrackBall 00ff M-DT1DRBK or M-DT2DRBK DEFT Wireless Optical Mouse 0101 M-BL25UBS 0103 M-BT16BBS 0104 M-BL26UBC 0105 M-BL26DBC 0107 M-LS15UL 0108 M-LS15DL 0109 M-LS16UL Mouse 010a M-LS16DL / M-KN2DLS 010b M-BL21DB Mouse 010c M-HT1URBK HUGE Optical TrackBall 010d M-HT1DRBK HUGE Wireless Optical TrackBall 010e M-KS1DBS / M-FPG3DBS 010f M-FBG3DB 0115 M-BT13BL 0121 M-ED01DB 0122 M-NK01DB 0124 Dual connect Mouse M-DC01MB Bluetooth 0128 TrackBall Mouse M-XPT1MR Wired 0129 TrackBall Mouse M-XPT1MR Wireless 0130 TrackBall Mouse M-XPT1MR Bluetooth 0131 TrackBall Mouse M-DPT1MR Wired 0132 TrackBall Mouse M-DPT1MR Wireless 0133 TrackBall Mouse M-DPT1MR Bluetooth 0136 M-BT20BB 0137 BlueTooth 4.0 Mouse M-BT21BB 0138 M-A-BL07DB 0140 M-G01UR 0141 M-Y9UB 0142 M-DY13DB 0144 M-FBL01DB 1055 TK-DCP03 WIRED 1057 TK-DCP03 BT 2003 JC-U3613M 2004 JC-U3613M 200c LD-USB/TX 200f JC-U4013S Gamepad 2012 JC-U4013S Gamepad 4002 Laneed 100Mbps Ethernet LD-USB/TX [pegasus] 4005 LD-USBL/TX 400b LD-USB/TX 4010 LD-USB20 5003 UC-SGT 5004 UC-SGT 6008 Flash Disk abc1 LD-USB/TX 056f Korea Data Systems Co., Ltd cd00 CDM-751 CD organizer 0570 Epson America 0571 Interex, Inc. 0002 echoFX InterView Lite 0572 Conexant Systems (Rockwell), Inc. 0001 Ezcam II Webcam 0002 Ezcam II Webcam 0040 Wondereye CP-115 Webcam 0041 Webcam Notebook 0042 Webcam Notebook 0320 DVBSky T330 DVB-T2/C tuner 1232 V.90 modem 1234 Typhoon Redfun Modem V90 56k 1252 HCF V90 Data Fax Voice Modem 1253 Zoom V.92 Faxmodem 1300 SoftK56 Data Fax Voice CARP 1301 Modem Enumerator 1328 TrendNet TFM-561 modem 1804 HP Dock Audio 2000 SoftGate 802.11 Adapter 2002 SoftGate 802.11 Adapter 262a tm5600 Video & Audio Grabber Capture 680c DVBSky T680C DVB-T2/C tuner 6831 DVBSky S960 DVB-S2 tuner 8390 WinFast PalmTop/Novo TV Video 8392 WinFast PalmTop/Novo TV Video 960c DVBSky S960C DVB-S2 tuner c686 Geniatech T220A DVB-T2 TV Stick c688 Geniatech T230 DVB-T2 TV Stick cafc CX861xx ROM Boot Loader cafd CX82310 ROM Boot Loader cafe AccessRunner ADSL Modem cb00 ADSL Modem cb01 ADSL Modem cb06 StarModem Network Interface 0573 Zoran Co. Personal Media Division (Nogatech) 0003 USBGear USBG-V1 0400 D-Link V100 0600 Dazzle USBVision (1006) 1300 leadtek USBVision (1006) 2000 X10 va10a Wireless Camera 2001 Dazzle EmMe (2001) 2101 Zoran Co. PMD (Nogatech) AV-grabber Manhattan 2d00 Osprey 50 2d01 Hauppauge USB-Live Model 600 3000 Dazzle MicroCam (NTSC) 3001 Dazzle MicroCam (PAL) 4000 Nogatech TV! (NTSC) 4001 Nogatech TV! (PAL) 4002 Nogatech TV! (PAL-I-) 4003 Nogatech TV! (MF-) 4008 Nogatech TV! (NTSC) (T) 4009 Nogatech TV! (PAL) (T) 4010 Nogatech TV! (NTSC) (A) 4100 USB-TV FM (NTSC) 4110 PNY USB-TV (NTSC) FM 4400 Nogatech TV! Pro (NTSC) 4401 Nogatech TV! Pro (PAL) 4450 PixelView PlayTv-USB PRO (PAL) FM 4451 Nogatech TV! Pro (PAL+) 4452 Nogatech TV! Pro (PAL-I+) 4500 Nogatech TV! Pro (NTSC) 4501 Nogatech TV! Pro (PAL) 4550 ZTV ZT-721 2.4GHz A/V Receiver 4551 Dazzle TV! Pro Audio (P+) 4d00 Hauppauge WinTV-USB USA 4d01 Hauppauge WinTV-USB 4d02 Hauppauge WinTV-USB UK 4d03 Hauppauge WinTV-USB France 4d04 Hauppauge WinTV (PAL D/K) 4d10 Hauppauge WinTV-USB with FM USA radio 4d11 Hauppauge WinTV-USB (PAL) with FM radio 4d12 Hauppauge WinTV-USB UK with FM Radio 4d14 Hauppauge WinTV (PAL D/K FM) 4d20 Hauppauge WinTV-USB II (PAL) with FM radio 4d21 Hauppauge WinTV-USB II (PAL) 4d22 Hauppauge WinTV-USB II (PAL) Model 566 4d23 Hauppauge WinTV-USB France 4D23 4d24 Hauppauge WinTV Pro (PAL D/K) 4d25 Hauppauge WinTV-USB Model 40209 rev B234 4d26 Hauppauge WinTV-USB Model 40209 rev B243 4d27 Hauppauge WinTV-USB Model 40204 Rev B281 4d28 Hauppauge WinTV-USB Model 40204 rev B283 4d29 Hauppauge WinTV-USB Model 40205 rev B298 4d2a Hauppague WinTV-USB Model 602 Rev B285 4d2b Hauppague WinTV-USB Model 602 Rev B282 4d2c Hauppauge WinTV Pro (PAL/SECAM) 4d30 Hauppauge WinTV-USB FM Model 40211 Rev B123 4d31 Hauppauge WinTV-USB III (PAL) with FM radio Model 568 4d32 Hauppauge WinTV-USB III (PAL) FM Model 573 4d34 Hauppauge WinTV Pro (PAL D/K FM) 4d35 Hauppauge WinTV-USB III (PAL) FM Model 597 4d36 Hauppauge WinTV Pro (PAL B/G FM) 4d37 Hauppauge WinTV-USB Model 40219 rev E189 4d38 Hauppauge WinTV Pro (NTSC FM) 0574 City University of Hong Kong 0575 Philips Creative Display Solutions 0576 BAFO/Quality Computer Accessories 0577 ELSA 0578 Intrinsix Corp. 0579 GVC Corp. 057a Samsung Electronics America 057b Y-E Data, Inc. 0000 FlashBuster-U Floppy 0001 Tri-Media Reader Floppy 0006 Tri-Media Reader Card Reader 0010 Memory Stick Reader Writer 0020 HEXA Media Drive 6-in-1 Card Reader Writer 0030 Memory Card Viewer (TV) 057c AVM GmbH 0b00 ISDN-Controller B1 Family 0c00 ISDN-Controller FRITZ!Card 1000 ISDN-Controller FRITZ!Card v2.0 1900 ISDN-Controller FRITZ!Card v2.1 2000 ISDN-Connector FRITZ!X 2200 BlueFRITZ! 2300 Teledat X130 DSL 2800 Teledat 2a/b / X120 / NetXXL ISDN Terminal Adapter 3200 Teledat X130 DSL 3500 FRITZ!Card DSL SL 3701 FRITZ!Box SL 3702 FRITZ!Box 3800 BlueFRITZ! Bluetooth Stick 3a00 FRITZ!Box Fon 3c00 FRITZ!Box WLAN 3d00 FRITZ!Box Fon WLAN 7050/7140/7170/IAD3331 3e01 FRITZ!Box (Annex A) 4001 FRITZ!Box Fon (Annex A) 4101 FRITZ!Box WLAN (Annex A) 4201 FRITZ!Box Fon WLAN (Annex A) 4601 Eumex 5520PC (WinXP/2000) 4602 Eumex 400 (WinXP/2000) 4701 AVM FRITZ!Box Fon ata 5401 Eumex 300 IP 5601 AVM Fritz!WLAN [Texas Instruments TNETW1450] 6201 AVM Fritz!WLAN v1.1 [Texas Instruments TNETW1450] 62ff AVM Fritz!WLAN USB (in CD-ROM-mode) 8401 Fritz!WLAN N [Atheros AR9001U] 8402 Fritz!WLAN N 2.4 [Atheros AR9001U] 8403 Fritz!WLAN N v2 [Atheros AR9271] 84ff AVM Fritz!WLAN USB N (in CD-ROM-mode) 8501 FRITZ WLAN N v2 [RT5572/rt2870.bin] 057d Shark Multimedia, Inc. 057e Nintendo Co., Ltd 0300 USB-EXI Adapter (GCP-2000) 0304 RVT-H Reader 0305 Broadcom BCM2045A Bluetooth Radio [Nintendo Wii] 0306 Wii Remote Controller RVL-003 0337 Wii U GameCube Controller Adapter 2000 Switch 2006 Joy-Con L 2007 Joy-Con R 2009 Switch Pro Controller 200e Joy-Con Charging Grip 3000 SDK Debugger 057f QuickShot, Ltd 6238 USB StrikePad 0580 Denron, Inc. 0581 Racal Data Group 0107 Tera Barcode Scanner 2.4 GHz Receiver 020c Tera 2D Barcode Scanner EVHK0012 0582 Roland Corp. 0000 UA-100(G) 0002 UM-4/MPU-64 MIDI Interface 0003 SoundCanvas SC-8850 0004 U-8 0005 UM-2(C/EX) 0007 SoundCanvas SC-8820 0008 PC-300 0009 UM-1(E/S/X) 000b SK-500 000c SC-D70 0010 EDIROL UA-5 0011 Edirol UA-5 Sound Capture 0012 XV-5050 0013 XV-5050 0014 EDIROL UM-880 MIDI I/F (native) 0015 EDIROL UM-880 MIDI I/F (generic) 0016 EDIROL SD-90 0017 EDIROL SD-90 0018 UA-1A 001b MMP-2 001c MMP-2 001d V-SYNTH 001e V-SYNTH 0023 EDIROL UM-550 0024 EDIROL UM-550 0025 EDIROL UA-20 0026 EDIROL UA-20 0027 EDIROL SD-20 0028 EDIROL SD-20 0029 EDIROL SD-80 002a EDIROL SD-80 002b EDIROL UA-700 002c EDIROL UA-700 002d XV-2020 Synthesizer 002e XV-2020 Synthesizer 002f VariOS 0030 VariOS 0033 EDIROL PCR 0034 EDIROL PCR 0035 M-1000 0037 Digital Piano 0038 Digital Piano 003b BOSS GS-10 003c BOSS GS-10 0040 GI-20 0041 GI-20 0042 RS-70 0043 RS-70 0044 EDIROL UA-1000 0047 EDIROL UR-80 WAVE 0048 EDIROL UR-80 MIDI 0049 EDIROL UR-80 WAVE 004a EDIROL UR-80 MIDI 004b EDIROL M-100FX 004c EDIROL PCR-A WAVE 004d EDIROL PCR-A MIDI 004e EDIROL PCR-A WAVE 004f EDIROL PCR-A MIDI 0050 EDIROL UA-3FX 0052 EDIROL UM-1SX 0054 Digital Piano 0060 EXR Series 0064 EDIROL PCR-1 WAVE 0065 EDIROL PCR-1 MIDI 0066 EDIROL PCR-1 WAVE 0067 EDIROL PCR-1 MIDI 006a SP-606 006b SP-606 006d FANTOM-X 006e FANTOM-X 0073 EDIROL UA-25 0074 EDIROL UA-25 0075 BOSS DR-880 0076 BOSS DR-880 007a RD 007b RD 007d EDIROL UA-101 0080 G-70 0081 G-70 0084 V-SYNTH XT 0089 BOSS GT-PRO 008b EDIROL PC-50 008c EDIROL PC-50 008d EDIROL UA-101 USB1 0092 EDIROL PC-80 WAVE 0093 EDIROL PC-80 MIDI 0096 EDIROL UA-1EX 009a EDIROL UM-3EX 009d EDIROL UM-1 00a0 MD-P1 00a2 Digital Piano 00a3 EDIROL UA-4FX 00a6 Juno-G 00a9 MC-808 00ad SH-201 00b2 VG-99 00b3 VG-99 00b7 BK-7m/VIMA JM-5/8 00c2 SonicCell 00c4 EDIROL M-16DX 00c5 SP-555 00c7 V-Synth GT 00d1 Music Atelier 00d3 M-380/400 00da BOSS GT-10 00db BOSS GT-10 Guitar Effects Processor 00dc BOSS GT-10B 00de Fantom G 00e6 EDIROL UA-25EX (Advanced mode) 00e7 EDIROL UA-25EX 00e9 UA-1G 00eb VS-100 00f6 GW-8/AX-Synth 00f8 JUNO Series 00fc VS-700C 00fd VS-700 00fe VS-700 M1 00ff VS-700 M2 0100 VS-700 0101 VS-700 M2 0102 VB-99 0104 UM-1G 0106 UM-2G 0108 UM-3G 0109 eBand JS-8 010d A-500S 010f A-PRO 0110 A-PRO 0111 GAIA SH-01 0113 ME-25 0114 SD-50 0116 WAVE/MP3 RECORDER R-05 0117 VS-20 0119 OCTAPAD SPD-30 011c Lucina AX-09 011e BR-800 0120 OCTA-CAPTURE 0121 OCTA-CAPTURE 0123 JUNO-Gi 0124 M-300 0127 GR-55 012a UM-ONE 012b DUO-CAPTURE 012f QUAD-CAPTURE 0130 MICRO BR BR-80 0132 TRI-CAPTURE 0134 V-Mixer 0138 Boss RC-300 (Audio mode) 0139 Boss RC-300 (Storage mode) 013a JUPITER-80 013e R-26 0145 SPD-SX 014b eBand JS-10 014d GT-100 0150 TD-15 0151 TD-11 0154 JUPITER-50 0156 A-Series 0158 TD-30 0159 DUO-CAPTURE EX 015b INTEGRA-7 015d R-88 01b5 Boutique Series Synthesizer (Normal mode) 01b6 Boutique Series Synthesizer (Storage mode) 01df Rubix22 01e0 Rubix24 01e1 Rubix44 01ef Go:KEYS MIDI 0505 EDIROL UA-101 0583 Padix Co., Ltd (Rockfire) 0001 4 Axis 12 button +POV 0002 4 Axis 12 button +POV 2030 RM-203 USB Nest [mode 1] 2031 RM-203 USB Nest [mode 2] 2032 RM-203 USB Nest [mode 3] 2033 RM-203 USB Nest [mode 4] 2050 PX-205 PSX Bridge 205f PSX/USB converter 2060 2-axis 8-button gamepad 206f USB, 2-axis 8-button gamepad 3050 QF-305u Gamepad 3379 Rockfire X-Force 337f Rockfire USB RacingStar Vibra 509f USB,4-Axis,12-Button with POV 5259 Rockfire USB SkyShuttle Vibra 525f USB Vibration Pad 5308 USB Wireless VibrationPad 5359 Rockfire USB SkyShuttle Pro 535f USB,real VibrationPad 5659 Rockfire USB SkyShuttle Vibra 565f USB VibrationPad 6009 Revenger 600f USB,GameBoard II 6258 USB, 4-axis, 6-button joystick w/view finder 6889 Windstorm Pro 688f QF-688uv Windstorm Pro Joystick 7070 QF-707u Bazooka Joystick a000 MaxFire G-08XU Gamepad a015 4-Axis,16-Button with POV a019 USB, Vibration ,4-axis, 8-button joystick w/view finder a020 USB,4-Axis,10-Button with POV a021 USB,4-Axis,12-Button with POV a022 USB,4-Axis,14-Button with POV a023 USB,4-Axis,16-Button with POV a024 4axis,12button vibrition audio gamepad a025 4axis,12button vibrition audio gamepad a130 USB Wireless 2.4GHz Gamepad a131 USB Wireless 2.4GHz Joystick a132 USB Wireless 2.4GHz Wheelpad a133 USB Wireless 2.4GHz Wheel&Gamepad a202 ForceFeedbackWheel a209 MetalStrike FF b000 USB,4-Axis,12-Button with POV b001 USB,4-Axis,12-Button with POV b002 Vibration,12-Button USB Wheel b005 USB,12-Button Wheel b008 USB Wireless 2.4GHz Wheel b009 USB,12-Button Wheel b00a PSX/USB converter b00b PSX/USB converter b00c PSX/USB converter b00d PSX/USB converter b00e 4-Axis,12-Button with POV b00f USB,5-Axis,10-Button with POV b010 MetalStrike Pro b012 Wireless MetalStrike b013 USB,Wiress 2.4GHZ Joystick b016 USB,5-Axis,10-Button with POV b018 TW6 Wheel ff60 USB Wireless VibrationPad 0584 RATOC System, Inc. 0008 Fujifilm MemoryCard ReaderWriter 0220 U2SCX SCSI Converter 0304 U2SCX-LVD (SCSI Converter) b000 REX-USB60 b020 REX-USB60F 0585 FlashPoint Technology, Inc. 0001 Digital Camera 0002 Digital Camera 0003 Digital Camera 0004 Digital Camera 0005 Digital Camera 0006 Digital Camera 0007 Digital Camera 0008 Digital Camera 0009 Digital Camera 000a Digital Camera 000b Digital Camera 000c Digital Camera 000d Digital Camera 000e Digital Camera 000f Digital Camera 0586 ZyXEL Communications Corp. 0025 802.11b/g/n USB Wireless Network Adapter 0100 omni.net 0102 omni.net II ISDN TA [HFC-S] 0110 omni.net Plus 1000 omni.net LCD Plus - ISDN TA 1500 Omni 56K Plus 2011 Scorpion-980N keyboard 3304 LAN Modem 3309 ADSL Modem Prestige 600 series 330a ADSL Modem Interface 330e USB Broadband ADSL Modem Rev 1.10 3400 ZyAIR B-220 IEEE 802.11b Adapter 3401 ZyAIR G-220 802.11bg 3402 ZyAIR G-220F 802.11bg 3403 AG-200 802.11abg Wireless Adapter [Atheros AR5523] 3407 G-200 v2 802.11bg 3408 G-260 802.11bg 3409 AG-225H 802.11bg 340a M-202 802.11bg 340c G-270S 802.11bg Wireless Adapter [Atheros AR5523] 340f G-220 v2 802.11bg 3410 ZyAIR G-202 802.11bg 3412 802.11bg 3413 ZyAIR AG-225H v2 802.11bg 3415 G-210H 802.11g Wireless Adapter 3416 NWD-210N 802.11b/g/n-draft wireless adapter 3417 NWD271N 802.11n Wireless Adapter [Atheros AR9001U-(2)NG] 3418 NWD211AN 802.11abgn Wireless Adapter [Ralink RT2870] 3419 G-220 v3 802.11bg Wireless Adapter [ZyDAS ZD1211B] 341a NWD-270N Wireless N-lite USB Adapter 341e NWD2105 802.11bgn Wireless Adapter [Ralink RT3070] 341f NWD2205 802.11n Wireless N Adapter [Realtek RTL8192CU] 3425 NWD6505 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] 343e N220 802.11bgn Wireless Adapter 0587 America Kotobuki Electronics Industries, Inc. 0588 Sapien Design 0589 Victron 058a Nohau Corp. 058b Infineon Technologies 0015 Flash Loader utility 001c Flash Drive 0041 Flash Loader utility 058c In Focus Systems 0007 Flash 0008 LP130 000a LP530 0010 Projector 0011 Projector 0012 Projector 0013 Projector 0014 Projector 0015 Projector 0016 Projector 0017 Projector 0018 Projector 0019 Projector 001a Projector 001b Projector 001c Projector 001d Projector 001e Projector 001f Projector ffe5 IN34 Projector ffeb Projector IN76 058d Micrel Semiconductor 058e Tripath Technology, Inc. 058f Alcor Micro Corp. 1234 Flash Drive 198b Webcam (Gigatech P-09) 2412 SCard R/W CSR-145 2802 Monterey Keyboard 5492 Hub 6232 Hi-Speed 16-in-1 Flash Card Reader/Writer 6254 USB Hub 6331 SD/MMC/MS Card Reader 6332 Multi-Function Card Reader 6335 SD/MMC Card Reader 6360 Multimedia Card Reader 6361 Multimedia Card Reader 6362 Flash Card Reader/Writer 6364 AU6477 Card Reader Controller 6366 Multi Flash Reader 6377 AU6375 4-LUN card reader 6386 Memory Card 6387 Flash Drive 6390 USB 2.0-IDE bridge 6391 IDE Bridge 6998 AU6998 Flash Disk Controller 9213 MacAlly Kbd Hub 9215 AU9814 Hub 9254 Hub 9310 Mass Storage (UID4/5A & UID7A) 9320 Micro Storage Driver for Win98 9321 Micro Storage Driver for Win98 9330 SD Reader 9331 Micro Storage Driver for Win98 9340 Delkin eFilm Reader-32 9350 Delkin eFilm Reader-32 9360 8-in-1 Media Card Reader 9361 Multimedia Card Reader 9368 Multimedia Card Reader 9380 Flash Drive 9381 Flash Drive 9382 Acer/Sweex Flash drive 9384 qdi U2Disk T209M 9410 Keyboard 9472 Keyboard Hub 9510 ChunghwaTL USB02 Smartcard Reader 9520 Watchdata W 1981 9540 AU9540 Smartcard Reader 9720 USB-Serial Adapter a014 Asus Integrated Webcam b002 Acer Integrated Webcam 0590 Omron Corp. 0004 Cable Modem 000b MR56SVS 0028 HJ-720IT / HEM-7080IT-E / HEM-790IT 0051 FT232BM [E58CIFQ1 with FTDI USB2Serial Converter] 0591 Questra Consulting 0592 Powerware Corp. 0002 UPS (X-Slot) 0593 Incite 0594 Princeton Graphic Systems 0595 Zoran Microelectronics, Ltd 1001 Digitrex DSC-1300/DSC-2100 (mass storage mode) 2002 DIGITAL STILL CAMERA 6M 4X 4343 Digital Camera EX-20 DSC 0596 MicroTouch Systems, Inc. 0001 Touchscreen 0002 Touch Screen Controller 0500 PCT Multitouch HID Controller 0543 DELL XPS touchscreen 0597 Trisignal Communications 0598 Niigata Canotec Co., Inc. 0599 Brilliance Semiconductor, Inc. 059a Spectrum Signal Processing, Inc. 059b Iomega Corp. 0001 Zip 100 (Type 1) 000b Zip 100 (Type 2) 0021 Win98 Disk Controller 0030 Zip 250 (Ver 1) 0031 Zip 100 (Type 3) 0032 Zip 250 (Ver 2) 0034 Zip 100 Driver 0037 Zip 750 MB 0040 SCSI Bridge 0042 Rev 70 GB 0050 Zip CD 650 Writer 0053 CDRW55292EXT CD-RW External Drive 0056 External CD-RW Drive Enclosure 0057 Mass Storage Device 005d Mass Storage Device 005f CDRW64892EXT3-C CD-RW 52x24x52x External Drive 0060 PCMCIA PocketZip Dock 0061 Varo PocketZip 40 MP3 Player 006d HipZip MP3 Player 0070 eGo Portable Hard Drive 007c Ultra Max USB/1394 007d HTC42606 0G9AT00 [Iomega HDD] 007e Mini 256MB/512MB Flash Drive [IOM2D5] 00db FotoShow Zip 250 Driver 0150 Mass Storage Device 015d Super DVD Writer 0173 Hi-Speed USB-to-IDE Bridge Controller 0174 Hi-Speed USB-to-IDE Bridge Controller 0176 Hi-Speed USB-to-IDE Bridge Controller 0177 Hi-Speed USB-to-IDE Bridge Controller 0178 Hi-Speed USB-to-IDE Bridge Controller 0179 Hi-Speed USB-to-IDE Bridge Controller 017a HDD 017b HDD/1394A 017c HDD/1394B 0251 Optical 0252 Optical 0275 ST332082 0A 0278 LDHD-UPS [Professional Desktop Hard Drive eSATA / USB2.0] 027a LPHD250-U [Portable Hard Drive Silver Series 250 Go] 0470 Prestige Portable Hard Drive 047a Select Portable Hard Drive 0571 Prestige Portable Hard Drive 0579 eGo Portable Hard Drive 1052 DVD+RW External Drive 059c A-Trend Technology Co., Ltd 059d Advanced Input Devices 059e Intelligent Instrumentation 059f LaCie, Ltd 0201 StudioDrive USB2 0202 StudioDrive USB2 0203 StudioDrive USB2 0211 PocketDrive 0212 PocketDrive 0213 PocketDrive USB2 0323 LaCie d2 Drive USB2 0421 Big Disk G465 0525 BigDisk Extreme 500 0641 Mobile Hard Drive 0828 d2 Quadra 0829 BigDisk Extreme+ 1004 Little Disk 20 GB 100c Rugged Triple Interface Mobile Hard Drive 1010 Desktop Hard Drive 1016 Desktop Hard Drive 1018 Desktop Hard Drive 1019 Desktop Hard Drive 1021 Little Disk 1027 iamaKey V2 102a Rikiki Hard Drive 103d D2 1049 rikiki Harddrive 1052 P'9220 Mobile Drive 1053 P'9230 2TB [Porsche Design Desktop Drive 2TB] 1061 Rugged USB3-FW 1064 Rugged 16 and 32 GB 106b Rugged Mini HDD 106d Porsche Design Mobile Drive 106e Porsche Design Desktop Drive 1094 Rugged THB 1095 Rugged a601 HardDrive a602 CD R/W 05a0 Vetronix Corp. 05a1 USC Corp. 05a2 Fuji Film Microdevices Co., Ltd 05a3 ARC International 8388 Marvell 88W8388 802.11a/b/g WLAN 9230 Camera 9320 Camera 9331 Camera 9422 Camera 9520 Camera 05a4 Ortek Technology, Inc. 1000 WKB-1000S Wireless Ergo Keyboard with Touchpad 2000 WKB-2000 Wireless Keyboard with Touchpad 9720 Keyboard Mouse 9722 Keyboard 9731 MCK-600W/MCK-800USB Keyboard 9783 Wireless Keypad 9837 Targus Number Keypad 9862 Targus Number Keypad (Composite Device) 9881 IR receiver [VRC-1100 Vista MCE Remote Control] 05a5 Sampo Technology Corp. 05a6 Cisco Systems, Inc. 0001 CVA124 Cable Voice Adapter (WDM) 0002 CVA122 Cable Voice Adapter (WDM) 0003 CVA124E Cable Voice Adapter (WDM) 0004 CVA122E Cable Voice Adapter (WDM) 0008 STA1520 Tuning Adapter 0a00 Integrated Management Controller Hub 0a01 Virtual Keyboard/Mouse 0a02 Virtual Mass Storage 0a03 Virtual Ethernet/RNDIS 05a7 Bose Corp. 4000 Bluetooth Headset 4001 Bluetooth Headset in DFU mode 4002 Bluetooth Headset Series 2 4003 Bluetooth Headset Series 2 in DFU mode 400d SoundLink Color II speaker in DFU mode 40fe SoundLink Color II speaker bc50 SoundLink Wireless Mobile speaker bc51 SoundLink Wireless Mobile speaker in DFU mode 05a8 Spacetec IMC Corp. 05a9 OmniVision Technologies, Inc. 0511 OV511 Webcam 0518 OV518 Webcam 0519 OV519 Microphone 1550 VEHO Filmscanner 2640 OV2640 Webcam 2642 Integrated Webcam for Dell XPS 2010 2643 Monitor Webcam 264b Monitor Webcam 2800 SuperCAM 4519 Webcam Classic 7670 OV7670 Webcam 8065 GAIA Sensor FPGA Demo Board 8519 OV519 Webcam a511 OV511+ Webcam a518 D-Link DSB-C310 Webcam 05aa Utilux South China, Ltd 05ab In-System Design 0002 Parallel Port 0030 Storage Adapter V2 (TPP) 0031 ATA Bridge 0060 USB 2.0 ATA Bridge 0061 Storage Adapter V3 (TPP-I) 0101 Storage Adapter (TPP) 0130 Compact Flash and Microdrive Reader (TPP) 0200 USS725 ATA Bridge 0201 Storage Adapter (TPP) 0202 ATA Bridge 0300 Portable Hard Drive (TPP) 0301 Portable Hard Drive V2 0350 Portable Hard Drive (TPP) 0351 Portable Hard Drive V2 081a ATA Bridge 0cda ATA Bridge for CD-R/RW 1001 BAYI Printer Class Support 5700 Storage Adapter V2 (TPP) 5701 USB Storage Adapter V2 5901 Smart Board (TPP) 5a01 ATI Storage Adapter (TPP) 5d01 DataBook Adapter (TPP) 05ac Apple, Inc. 0201 USB Keyboard [Alps or Logitech, M2452] 0202 Keyboard [ALPS] 0205 Extended Keyboard [Mitsumi] 0206 Extended Keyboard [Mitsumi] 020b Pro Keyboard [Mitsumi, A1048/US layout] 020c Extended Keyboard [Mitsumi] 020d Pro Keyboard [Mitsumi, A1048/JIS layout] 020e Internal Keyboard/Trackpad (ANSI) 020f Internal Keyboard/Trackpad (ISO) 0214 Internal Keyboard/Trackpad (ANSI) 0215 Internal Keyboard/Trackpad (ISO) 0216 Internal Keyboard/Trackpad (JIS) 0217 Internal Keyboard/Trackpad (ANSI) 0218 Internal Keyboard/Trackpad (ISO) 0219 Internal Keyboard/Trackpad (JIS) 021a Internal Keyboard/Trackpad (ANSI) 021b Internal Keyboard/Trackpad (ISO) 021c Internal Keyboard/Trackpad (JIS) 021d Aluminum Mini Keyboard (ANSI) 021e Aluminum Mini Keyboard (ISO) 021f Aluminum Mini Keyboard (JIS) 0220 Aluminum Keyboard (ANSI) 0221 Aluminum Keyboard (ISO) 0222 Aluminum Keyboard (JIS) 0223 Internal Keyboard/Trackpad (ANSI) 0224 Internal Keyboard/Trackpad (ISO) 0225 Internal Keyboard/Trackpad (JIS) 0229 Internal Keyboard/Trackpad (ANSI) 022a Internal Keyboard/Trackpad (MacBook Pro) (ISO) 022b Internal Keyboard/Trackpad (MacBook Pro) (JIS) 0230 Internal Keyboard/Trackpad (MacBook Pro 4,1) (ANSI) 0231 Internal Keyboard/Trackpad (MacBook Pro 4,1) (ISO) 0232 Internal Keyboard/Trackpad (MacBook Pro 4,1) (JIS) 0236 Internal Keyboard/Trackpad (ANSI) 0237 Internal Keyboard/Trackpad (ISO) 0238 Internal Keyboard/Trackpad (JIS) 023f Internal Keyboard/Trackpad (ANSI) 0240 Internal Keyboard/Trackpad (ISO) 0241 Internal Keyboard/Trackpad (JIS) 0242 Internal Keyboard/Trackpad (ANSI) 0243 Internal Keyboard/Trackpad (ISO) 0244 Internal Keyboard/Trackpad (JIS) 0245 Internal Keyboard/Trackpad (ANSI) 0246 Internal Keyboard/Trackpad (ISO) 0247 Internal Keyboard/Trackpad (JIS) 024a Internal Keyboard/Trackpad (MacBook Air) (ISO) 024d Internal Keyboard/Trackpad (MacBook Air) (ISO) 024f Aluminium Keyboard (ANSI) 0250 Aluminium Keyboard (ISO) 0252 Internal Keyboard/Trackpad (ANSI) 0253 Internal Keyboard/Trackpad (ISO) 0254 Internal Keyboard/Trackpad (JIS) 0259 Internal Keyboard/Trackpad 025a Internal Keyboard/Trackpad 0263 Apple Internal Keyboard / Trackpad (MacBook Retina) 0267 Magic Keyboard A1644 0269 Magic Mouse 2 (Lightning connector) 0273 Internal Keyboard/Trackpad (ISO) 0301 USB Mouse [Mitsumi, M4848] 0302 Optical Mouse [Fujitsu] 0304 Mighty Mouse [Mitsumi, M1152] 0306 Optical USB Mouse [Fujitsu] 030a Internal Trackpad 030b Internal Trackpad 030d Magic Mouse 030e MC380Z/A [Magic Trackpad] 1000 Bluetooth HCI MacBookPro (HID mode) 1001 Keyboard Hub [ALPS] 1002 Extended Keyboard Hub [Mitsumi] 1003 Hub in Pro Keyboard [Mitsumi, A1048] 1006 Hub in Aluminum Keyboard 1008 Mini DisplayPort to Dual-Link DVI Adapter 1101 Speakers 1105 Audio in LED Cinema Display 1107 Thunderbolt Display Audio 1112 FaceTime HD Camera (Display) 1201 3G iPod 1202 iPod 2G 1203 iPod 4.Gen Grayscale 40G 1204 iPod [Photo] 1205 iPod Mini 1.Gen/2.Gen 1206 iPod '06' 1207 iPod '07' 1208 iPod '08' 1209 iPod Video 120a iPod Nano 1223 iPod Classic/Nano 3.Gen (DFU mode) 1224 iPod Nano 3.Gen (DFU mode) 1225 iPod Nano 4.Gen (DFU mode) 1227 Mobile Device (DFU Mode) 1231 iPod Nano 5.Gen (DFU mode) 1240 iPod Nano 2.Gen (DFU mode) 1242 iPod Nano 3.Gen (WTF mode) 1243 iPod Nano 4.Gen (WTF mode) 1245 iPod Classic 3.Gen (WTF mode) 1246 iPod Nano 5.Gen (WTF mode) 1255 iPod Nano 4.Gen (DFU mode) 1260 iPod Nano 2.Gen 1261 iPod Classic 1262 iPod Nano 3.Gen 1263 iPod Nano 4.Gen 1265 iPod Nano 5.Gen 1266 iPod Nano 6.Gen 1267 iPod Nano 7.Gen 1281 Apple Mobile Device [Recovery Mode] 1290 iPhone 1291 iPod Touch 1.Gen 1292 iPhone 3G 1293 iPod Touch 2.Gen 1294 iPhone 3GS 1296 iPod Touch 3.Gen (8GB) 1297 iPhone 4 1299 iPod Touch 3.Gen 129a iPad 129c iPhone 4(CDMA) 129e iPod Touch 4.Gen 129f iPad 2 12a0 iPhone 4S 12a2 iPad 2 (3G; 64GB) 12a3 iPad 2 (CDMA) 12a4 iPad 3 (wifi) 12a5 iPad 3 (CDMA) 12a6 iPad 3 (3G, 16 GB) 12a8 iPhone 5/5C/5S/6/SE 12a9 iPad 2 12aa iPod Touch 5.Gen [A1421] 12ab iPad 4/Mini1 1300 iPod Shuffle 1301 iPod Shuffle 2.Gen 1302 iPod Shuffle 3.Gen 1303 iPod Shuffle 4.Gen 1392 Apple Watch charger 1393 AirPods case 1395 Smart Battery Case [iPhone 6] 1398 Smart Battery Case 1401 Modem 1402 Ethernet Adapter [A1277] 1500 SuperDrive [A1379] 8005 OHCI Root Hub Simulation 8006 EHCI Root Hub Simulation 8007 XHCI Root Hub USB 2.0 Simulation 8202 HCF V.90 Data/Fax Modem 8203 Bluetooth HCI 8204 Built-in Bluetooth 2.0+EDR HCI 8205 Bluetooth HCI 8206 Bluetooth HCI 820a Bluetooth HID Keyboard 820b Bluetooth HID Mouse 820f Bluetooth HCI 8213 Bluetooth Host Controller 8215 Built-in Bluetooth 2.0+EDR HCI 8216 Bluetooth USB Host Controller 8217 Bluetooth USB Host Controller 8218 Bluetooth Host Controller 821a Bluetooth Host Controller 821f Built-in Bluetooth 2.0+EDR HCI 8240 Built-in IR Receiver 8241 Built-in IR Receiver 8242 Built-in IR Receiver 8281 Bluetooth Host Controller 8286 Bluetooth Host Controller 8289 Bluetooth Host Controller 828c Bluetooth Host Controller 8290 Bluetooth Host Controller 8300 Built-in iSight (no firmware loaded) 8403 Internal Memory Card Reader 8404 Internal Memory Card Reader 8406 Internal Memory Card Reader 8501 Built-in iSight [Micron] 8502 Built-in iSight 8505 Built-in iSight 8507 Built-in iSight 8508 iSight in LED Cinema Display 8509 FaceTime HD Camera 850a FaceTime Camera 8510 FaceTime HD Camera (Built-in) 8600 iBridge 911c Hub in A1082 [Cinema HD Display 23"] 9127 Hub in Thunderbolt Display 912f Hub in 30" Cinema Display 9215 Studio Display 15" 9217 Studio Display 17" 9218 Cinema Display 23" 9219 Cinema Display 20" 921c A1082 [Cinema HD Display 23"] 921e Cinema Display 24" 9221 30" Cinema Display 9226 LED Cinema Display 9227 Thunderbolt Display 9232 Cinema HD Display 30" ffff Bluetooth in DFU mode - Driver 05ad Y.C. Cable U.S.A., Inc. 05ae Synopsys, Inc. 05af Jing-Mold Enterprise Co., Ltd 0806 HP SK806A Keyboard 0809 Wireless Keyboard and Mouse 0821 IDE to 3062 Cordless Keyboard 9167 KB 9151B - 678 9267 KB 9251B - 678 Mouse 05b0 Fountain Technologies, Inc. 05b1 First International Computer, Inc. 1389 Bluetooth Wireless Adapter 05b4 LG Semicon Co., Ltd 4857 M-Any DAH-210 6001 HYUNDAI GDS30C6001 SSFDC / MMC I/F Controller 05b5 Dialogic Corp. 05b6 Proxima Corp. 05b7 Medianix Semiconductor, Inc. 05b8 SYSGRATION 3002 Scroll Mouse 3126 APT-905 Wireless presenter 3223 ISY Wireless Presenter 05b9 Philips Research Laboratories 05ba DigitalPersona, Inc. 0007 Fingerprint Reader 0008 Fingerprint Reader 000a Fingerprint Reader 05bb Grey Cell Systems 05bc 3G Green Green Globe Co., Ltd 0004 Trackball 05bd RAFI GmbH & Co. KG 05be Tyco Electronics (Raychem) 05bf S & S Research 05c0 Keil Software 05c1 Kawasaki Microelectronics, Inc. 05c2 Media Phonics (Suisse) S.A. 05c5 Digi International, Inc. 0002 AccelePort USB 2 0004 AccelePort USB 4 0008 AccelePort USB 8 05c6 Qualcomm, Inc. 0114 Select RW-200 CDMA Wireless Modem 0a02 Jolla Device Developer Mode 0a07 Jolla Device MTP 0afe Jolla Device Charging Only 1000 Mass Storage Device 3100 CDMA Wireless Modem/Phone 3196 CDMA Wireless Modem 3197 CDMA Wireless Modem/Phone 6000 Siemens SG75 6503 AnyData APE-540H 6613 Onda H600/N501HS ZTE MF330 6764 A0001 Phone [OnePlus One] 9000 SIMCom SIM5218 modem 9001 Gobi Wireless Modem 9002 Gobi Wireless Modem 9003 Quectel UC20 9008 Gobi Wireless Modem (QDL mode) 9018 Qualcomm HSUSB Device 9025 HSUSB Device 9090 Quectel UC15 9091 Intex Aqua Fish & Jolla C Diagnostic Mode 9092 Nokia 8110 4G 90ba Audio 1.0 device 90bb Snapdragon interface (MIDI + ADB) 90dc Fairphone 2 (Charging & ADB) 9201 Gobi Wireless Modem (QDL mode) 9202 Gobi Wireless Modem 9203 Gobi Wireless Modem 9205 Gobi 2000 9211 Acer Gobi Wireless Modem (QDL mode) 9212 Acer Gobi Wireless Modem 9214 Acer Gobi 2000 Wireless Modem (QDL mode) 9215 Quectel EC20 LTE modem / Acer Gobi 2000 Wireless Modem 9221 Gobi Wireless Modem (QDL mode) 9222 Gobi Wireless Modem 9224 Sony Gobi 2000 Wireless Modem (QDL mode) 9225 Sony Gobi 2000 Wireless Modem 9231 Gobi Wireless Modem (QDL mode) 9234 Top Global Gobi 2000 Wireless Modem (QDL mode) 9235 Top Global Gobi 2000 Wireless Modem 9244 Samsung Gobi 2000 Wireless Modem (QDL mode) 9245 Samsung Gobi 2000 Wireless Modem 9264 Asus Gobi 2000 Wireless Modem (QDL mode) 9265 Asus Gobi 2000 Wireless Modem 9274 iRex Technologies Gobi 2000 Wireless Modem (QDL mode) 9275 iRex Technologies Gobi 2000 Wireless Modem f003 Nokia 8110 4G 05c7 Qtronix Corp. 0113 PC Line Mouse 1001 Lynx Mouse 2001 Keyboard 2011 SCorpius Keyboard 6001 Ten-Keypad 05c8 Cheng Uei Precision Industry Co., Ltd (Foxlink) 0103 FO13FF-65 PC-CAM 010b Webcam (UVC) 021a HP Webcam 0233 HP Webcam 0318 Webcam 0361 SunplusIT INC. HP Truevision HD Webcam 036e Webcam 0374 HP EliteBook integrated HD Webcam 038e HP Wide Vision HD integrated webcam 03a1 XiaoMi Webcam 03b1 Webcam 03bc HP Wide Vision HD Integrated Webcam 03cb HP Wide Vision HD Integrated Webcam 0403 Webcam 041b HP 2.0MP High Definition Webcam 05c9 Semtech Corp. 05ca Ricoh Co., Ltd 0101 RDC-5300 Camera 0325 Caplio GX (ptp) 032d Caplio GX 8 (ptp) 032f Caplio R3 (ptp) 03a1 IS200e 0403 Printing Support 0405 Type 101 0406 Type 102 0437 Aficio SP 3510SF 044e SP C250SF (multifunction device: printer, scanner, fax) 1803 V5 camera [R5U870] 1810 Pavilion Webcam [R5U870] 1812 Pavilion Webcam 1814 HD Webcam 1815 Dell Laptop Integrated Webcam 1820 Integrated Webcam 1830 Visual Communication Camera VGP-VCC2 [R5U870] 1832 Visual Communication Camera VGP-VCC3 [R5U870] 1833 Visual Communication Camera VGP-VCC2 [R5U870] 1834 Visual Communication Camera VGP-VCC2 [R5U870] 1835 Visual Communication Camera VGP-VCC5 [R5U870] 1836 Visual Communication Camera VGP-VCC4 [R5U870] 1837 Visual Communication Camera VGP-VCC4 [R5U870] 1839 Visual Communication Camera VGP-VCC6 [R5U870] 183a Visual Communication Camera VGP-VCC7 [R5U870] 183b Visual Communication Camera VGP-VCC8 [R5U870] 183d Sony Vaio Integrated Webcam 183e Visual Communication Camera VGP-VCC9 [R5U870] 183f Sony Visual Communication Camera Integrated Webcam 1841 Fujitsu F01/ Lifebook U810 [R5U870] 1870 Webcam 1000 1880 R5U880 18b0 Sony Vaio Integrated Webcam 18b1 Sony Vaio Integrated Webcam 18b3 Sony Vaio Integrated Webcam 18b5 Sony Vaio Integrated Webcam 2201 RDC-7 Camera 2202 Caplio RR30 2203 Caplio 300G 2204 Caplio G3 2205 Caplio RR30 / Medion MD 6126 Camera 2206 Konica DG-3Z 2207 Caplio Pro G3 2208 Caplio G4 2209 Caplio 400G wide 220a KONICA MINOLTA DG-4Wide 220b Caplio RX 220c Caplio GX 220d Caplio R1/RZ1 220e Sea & Sea 5000G 220f Rollei dr5 / Rollei dr5 (PTP mode) 2211 Caplio R1S 2212 Caplio R1v Camera 2213 Caplio R2 2214 Caplio GX 8 2215 DSC 725 2216 Caplio R3 2222 RDC-i500 05cb PowerVision Technologies, Inc. 1483 PV8630 interface (scanners, webcams) 05cc ELSA AG 2100 MicroLink ISDN Office 2219 MicroLink ISDN 2265 MicroLink 56k 2267 MicroLink 56k (V.250) 2280 MicroLink 56k Fun 3000 Micolink USB2Ethernet [pegasus] 3100 AirLancer USB-11 3363 MicroLink ADSL Fun 05cd Silicom, Ltd 05ce sci-worx GmbH 05cf Sung Forn Co., Ltd 05d0 GE Medical Systems Lunar 05d1 Brainboxes, Ltd 0003 Bluetooth Adapter BL-554 05d2 Wave Systems Corp. 05d3 Tohoku Ricoh Co., Ltd 05d5 Super Gate Technology Co., Ltd 05d6 Philips Semiconductors, CICT 05d7 Thomas & Betts Corp. 0099 10Mbps Ethernet [klsi] 05d8 Ultima Electronics Corp. 4001 Artec Ultima 2000 4002 Artec Ultima 2000 (GT6801 based)/Lifetec LT9385/ScanMagic 1200 UB Plus Scanner 4003 Artec E+ 48U 4004 Artec E+ Pro 4005 MEM48U 4006 TRUST EASY WEBSCAN 19200 4007 TRUST 240H EASY WEBSCAN GOLD 4008 Trust Easy Webscan 19200 4009 Umax Astraslim 4013 IT Scan 1200 8105 Artec T1 USB TVBOX (cold) 8106 Artec T1 USB TVBOX (warm) 8107 Artec T1 USB TVBOX with AN2235 (cold) 8108 Artec T1 USB TVBOX with AN2235 (warm) 8109 Artec T1 USB2.0 TVBOX (cold 05d9 Axiohm Transaction Solutions a225 A225 Printer a758 A758 Printer a794 A794 Printer 05da Microtek International, Inc. 0091 ScanMaker X6u 0093 ScanMaker V6USL 0094 Phantom 336CX/C3 0099 ScanMaker X6/X6U 009a Phantom C6 00a0 Phantom 336CX/C3 (#2) 00a3 ScanMaker V6USL 00ac ScanMaker V6UL 00b6 ScanMaker V6UPL 00ef ScanMaker V6UPL 1006 Jenoptik JD350 entrance 1011 NHJ Che-ez! Kiss Digital Camera 1018 Digital Dream Enigma 1.3 1020 Digital Dream l'espion xtra 1025 Take-it Still Camera Device 1026 Take-it 1043 Take-It 1300 DSC Bulk Driver 1045 Take-it D1 1047 Take-it Camera Composite Device 1048 Take-it Q3 1049 3M Still Camera Device 1051 Camcorder Series 1052 Mass Storage Device 1053 Take-it DV Composite Device 1054 Mass Storage Device 1055 Digital Camera Series(536) 1056 Mass Storage Device 1057 Take-it DSC Camera Device(536) 1058 Mass Storage Device 1059 Camcorder DSC Series 1060 Microtek Take-it MV500 2007 ArtixScan DI 1210 200c 1394_USB2 Scanner 200e ArtixScan DI 810 2017 UF ICE Scanner 201c 4800 Scanner 201d ArtixScan DI 1610 201f 4800 Scanner-ICE 202e ArtixScan DI 2020 208b ScanMaker 6800 208f ArtixScan DI 2010 209e ScanMaker 4700LP 20a7 ScanMaker 5600 20b0 ScanMaker X12USL 20b1 ScanMaker 8700 20b4 ScanMaker 4700 20bd ScanMaker 5700 20c9 ScanMaker 6700 20d2 Microtek ArtixScan 1800f 20d6 PS4000 20de ScanMaker 9800XL 20e0 ScanMaker 9700XL 20ed ScanMaker 4700 20ee Micortek ScanMaker X12USL 2838 RT2832U 3008 Scanner 300a 4800 ICE Scanner 300b 4800 Scanner 300f MiniScan C5 3020 4800dpi Scanner 3021 1200dpi Scanner 3022 Scanner 4800dpi 3023 USB1200II Scanner 3025 ScanMaker S460 30c1 USB600 Scanner 30ce ScanMaker 3800 30cf ScanMaker 4800 30d4 USB1200 Scanner 30d8 Scanner 30d9 USB2400 Scanner 30e4 ScanMaker 4100 30e5 USB3200 Scanner 30e6 ScanMaker i320 40b3 ScanMaker 3600 40b8 ScanMaker 3700 40c7 ScanMaker 4600 40ca ScanMaker 3600 40cb ScanMaker 3700 40dd ScanMaker 3750i 40ff ScanMaker 3600 5003 Goya 5013 3200 Scanner 6072 XT-3500 A4 HD Scanner 80a3 ScanMaker V6USL (#2) 80ac ScanMaker V6UL/SpicyU 05db Sun Corp. (Suntac?) 0003 SUNTAC U-Cable type D2 0005 SUNTAC U-Cable type P1 0009 SUNTAC Slipper U 000a SUNTAC Ir-Trinity 000b SUNTAC U-Cable type A3 0011 SUNTAC U-Cable type A4 05dc Lexar Media, Inc. 0001 jumpSHOT CompactFlash Reader 0002 JumpShot 0003 JumpShot 0080 Jumpdrive Secure 64MB 0081 RBC Compact Flash Drive 00a7 JumpDrive Impact 0100 JumpDrive PRO 0200 JumpDrive 2.0 Pro 0300 Jumpdrive Geysr 0301 JumpDrive Classic 0302 JD Micro 0303 JD Micro Pro 0304 JD Secure II 0310 JumpDrive 0311 JumpDrive Classic 0312 JD Micro 0313 JD Micro Pro 0320 JumpDrive 0321 JD Micro 0322 JD Micro Pro 0323 UFC 0330 JumpDrive Expression 0340 JumpDrive TAD 0350 Express Card 0400 UFDC 0401 UFDC 0403 Locked B Device 0405 Locked C Device 0407 Locked D Device 0409 Locked E Device 040b Locked F Device 040d Locked G Device 040f Locked H Device 0410 JumpDrive 0411 JumpDrive 0413 Locked J Device 0415 Locked K Device 0417 Locked L Device 0419 Locked M Device 041b Locked N Device 041d Locked O Device 041f Locked P Device 0420 JumpDrive 0421 JumpDrive 0423 Locked R Device 0425 Locked S Device 0427 Locked T Device 0429 Locked U Device 042b Locked V Device 042d Locked W Device 042f Locked X Device 0431 Locked Y Device 0433 Locked Z Device 4d02 MP3 Player 4d12 MP3 Player 4d30 MP3 Player a201 JumpDrive S70 4GB a209 JumpDrive S70 a300 JumpDrive2 a400 JumpDrive trade; Pro 40-501 a410 JumpDrive 128MB/256MB a411 JumpDrive Traveler a420 JumpDrive Pro a421 JumpDrive Pro II a422 JumpDrive Micro Pro a430 JumpDrive Secure a431 JumpDrive Secure II a432 JumpDrive Classic a440 JumpDrive Lightning a450 JumpDrive TouchGuard a460 JD Mercury a501 JumpDrive Classic a510 JumpDrive Sport a530 JumpDrive Expression a531 JumpDrive Secure II a560 JumpDrive FireFly a701 JumpDrive FireFly a731 JumpDrive FireFly a762 JumpDrive FireFly a768 JumpDrive Retrax a790 JumpDrive 2GB a811 16GB Gizmo! a813 16gB flash thumb drive a815 JumpDrive V10 a81d LJDTT16G [JumpDrive 16GB] a833 JumpDrive S23 64GB a838 JumpDrive Tough b002 USB CF Reader b018 Multi-Card Reader b047 SDHC Reader [RW047-7000] b051 microSD RDR UHS-I Card Reader [LRWM03U-7000] ba02 Workflow CFR1 ba0a Workflow DD512 c753 JumpDrive TwistTurn c75c JumpDrive V10 05dd Delta Electronics, Inc. a011 HID UPS Battery ff31 AWU-120 ff32 FriendlyNET AeroLAN AL2011 ff35 PCW 100 - Wireless 802.11b Adapter ff91 2Wire PC Port Phoneline 10Mbps Adapter 05df Silicon Vision, Inc. 05e0 Symbol Technologies 0700 Bar Code Scanner (CS1504) 0800 Spectrum24 Wireless LAN Adapter 1200 Bar Code Scanner 1701 Bar Code Scanner (CDC) 1900 SNAPI Imaging Device 2000 MC3090 Rugged Mobile Computer 200d MC70 Rugged Mobile Computer 05e1 Syntek Semiconductor Co., Ltd 0100 802.11g + Bluetooth Wireless Adapter 0408 STK1160 Video Capture Device 0500 DC-112X Webcam 0501 DC-1125 Webcam 0890 STK011 Camera 0892 STK013 Camera 0895 STK016 Camera 0896 STK017 Camera 2010 ARCTIC Sound P261 Headphones 05e2 ElecVision, Inc. 05e3 Genesys Logic, Inc. 000a Keyboard with PS/2 Port 000b Mouse 0100 Nintendo Game Boy Advance SP 0120 Pacific Image Electronics PrimeFilm 1800u slide/negative scanner 0131 CF/SM Reader/Writer 0142 Multiple Slides Scanner-3600 0143 Multiple Frames Film Scanner-36series 0145 Reflecta CrystalScan 7200 Photo-Scanner 0180 Plustek Scanner 0182 Wize Media 1000 0189 ScanJet 4600 series 018a Xerox 6400 0300 GLUSB98PT Parallel Port 0301 USB2LPT Cable Release2 0406 Hub 0501 GL620USB Host-Host interface 0502 GL620USB-A GeneLink USB-USB Bridge 0503 Webcam 0504 HID Keyboard Filter 0510 Camera 0604 USB 1.1 Hub 0605 Hub 0606 USB 2.0 Hub / D-Link DUB-H4 USB 2.0 Hub 0607 Logitech G110 Hub 0608 Hub 0610 Hub 0612 Hub 0616 hub 0660 USB 2.0 Hub 0700 SIIG US2256 CompactFlash Card Reader 0701 USB 2.0 IDE Adapter 0702 USB 2.0 IDE Adapter [GL811E] 0703 Card Reader 0704 Card Reader 0705 Card Reader 0706 Card Reader 0707 Card Reader 0708 Card Reader 0709 Card Reader 070a Pen Flash 070b DMHS1B Rev 3 DFU Adapter 070e USB 2.0 Card Reader 070f Pen Flash 0710 USB 2.0 33-in-1 Card Reader 0711 Card Reader 0712 Delkin Mass Storage Device 0715 USB 2.0 microSD Reader 0716 Multislot Card Reader/Writer 0717 All-in-1 Card Reader 0718 IDE/SATA Adapter 0719 SATA adapter 0722 SD/MMC card reader 0723 GL827L SD/MMC/MS Flash Card Reader 0726 SD Card Reader 0727 microSD Reader/Writer 0731 GL3310 SATA 3Gb/s Bridge Controller 0732 All-in-One Cardreader 0736 Colour arc SD Card Reader [PISEN] 0738 Card reader 0741 microSD Card Reader 0743 SDXC and microSDXC CardReader 0745 Logilink CR0012 0748 All-in-One Cardreader 0749 SD Card Reader and Writer 0751 microSD Card Reader 0760 USB 2.0 Card Reader/Writer 0761 Genesys Mass Storage Device 0780 USBFS DFU Adapter 07a0 Pen Flash 0880 Wasp (SL-6612) 0927 Card Reader 1205 Afilias Optical Mouse H3003 / Trust Optical USB MultiColour Mouse MI-2330 a700 Pen Flash f102 VX7012 TV Box f103 VX7012 TV Box f104 VX7012 TV Box fd21 3M TL20 Temperature Logger fe00 Razer Mouse 05e4 Red Wing Corp. 05e5 Fuji Electric Co., Ltd 05e6 Keithley Instruments 05e8 ICC, Inc. 05e9 Kawasaki LSI 0008 KL5KUSB101B Ethernet [klsi] 0009 Sony 10Mbps Ethernet [pegasus] 000c USB-to-RS-232 000d USB-to-RS-232 0014 RS-232 J104 0040 Ethernet Adapter 2008 Ethernet Adapter 05eb FFC, Ltd 05ec COM21, Inc. 05ee Cytechinfo Inc. 05ef AVB, Inc. [anko?] 020a Top Shot Pegasus Joystick 8884 Mag Turbo Force Wheel 8888 Top Shot Force Feedback Racing Wheel 05f0 Canopus Co., Ltd 0101 DA-Port DAC 05f1 Compass Communications 05f2 Dexin Corp., Ltd 0010 AQ Mouse 05f3 PI Engineering, Inc. 0007 Kinesis Advantage PRO MPC/USB Keyboard 0081 Kinesis Integrated Hub 00ff VEC Footpedal 0203 Y-mouse Keyboard & Mouse Adapter 020b PS2 Adapter 0232 X-Keys Switch Interface, Programming Mode 0261 X-Keys Switch Interface, SPLAT Mode 0264 X-Keys Switch Interface, Composite Mode 05f5 Unixtar Technology, Inc. 05f6 AOC International 05f7 RFC Distribution(s) PTE, Ltd 05f9 PSC Scanning, Inc. 1104 Magellan 2200VS 1206 Gryphon series (OEM mode) 120c Gryphon GD4430-BK 2202 Point of Sale Handheld Scanner 2206 Gryphon series (keyboard emulation mode) 220c Datalogic Gryphon GD4430 2601 Datalogic Magellan 1000i Barcode Scanner 2602 Datalogic Magellan 1100i Barcode Scanner 4204 Gryphon series (RS-232 emulation mode) 5204 Datalogic Gryphon GFS4170 (config mode) 05fa Siemens Telecommunications Systems, Ltd 3301 Keyboard with PS/2 Mouse Port 3302 Keyboard 3303 Keyboard with PS/2 Mouse Port 05fc Harman 0001 Soundcraft Si Multi Digital Card 0010 Soundcraft Si MADI combo card 7849 Harman/Kardon SoundSticks 05fd InterAct, Inc. 0239 SV-239 HammerHead Digital 0251 Raider Pro 0253 ProPad 8 Digital 0286 SV-286 Cyclone Digital 1007 Mad Catz Controller 107a PowerPad Pro X-Box pad 262a 3dfx HammerHead FX 262f HammerHead Fx daae Game Shark dbae Datel XBoxMC 05fe Chic Technology Corp. 0001 Mouse 0003 Cypress USB Mouse 0005 Viewmaster 4D Browser Mouse 0007 Twinhead Mouse 0009 Inland Pro 4500/5000 Mouse 0011 Browser Mouse 0014 Gamepad 1010 Optical Wireless 2001 Microsoft Wireless Receiver 700 3030 Controller 3031 Controller 05ff LeCroy Corp. 0600 Barco Display Systems 0601 Jazz Hipster Corp. 0003 Internet Security Co., Ltd. SecureKey 0602 Vista Imaging, Inc. 1001 ViCam Webcam 0603 Novatek Microelectronics Corp. 0002 Sino Wealth keyboard/mouse 2.4 GHz receiver 00f1 Keyboard (Labtec Ultra Flat Keyboard) 00f2 Keyboard (Labtec Ultra Flat Keyboard) 6871 Mouse 8611 NTK96550 based camera 0604 Jean Co., Ltd 0605 Anchor C&C Co., Ltd 0606 Royal Information Electronics Co., Ltd 0607 Bridge Information Co., Ltd 0608 Genrad Ads 0609 SMK Manufacturing, Inc. 031d eHome Infrared Receiver 0322 eHome Infrared Receiver 0334 eHome Infrared Receiver ff12 SMK Bluetooth Device 060a Worthington Data Solutions, Inc. 060b Solid Year 0001 MacAlly Keyboard 0230 KSK-8003 UX Keyboard 0540 DeltaCo TB-106U Keyboard 1006 Japanese Keyboard - 260U 2101 Keyboard 2231 KSK-6001 UELX Keyboard 2270 Gigabyte K8100 Aivia Gaming Keyboard 500a Cougar 500k Gaming Keyboard 5253 Thermaltake MEKA G-Unit Gaming Keyboard 5811 ACK-571U Wireless Keyboard 5903 Japanese Keyboard - 595U 6001 SolidTek USB 2p HUB 6002 SolidTek USB Keyboard 6003 Japanese Keyboard - 600HM 6231 Thermaltake eSPORTS Meka Keyboard 8007 P-W1G1F12 VER:1 [Macally MegaCam] a001 Maxwell Compact Pc PM3 060c EEH Datalink GmbH 060d Auctor Corp. 060e Transmonde Technologies, Inc. 060f Joinsoon Electronics Mfg. Co., Ltd 0610 Costar Electronics, Inc. 0611 Totoku Electric Co., Ltd 0613 TransAct Technologies, Inc. 0614 Bio-Rad Laboratories 0615 Quabbin Wire & Cable Co., Inc. 0616 Future Techno Designs PVT, Ltd 0617 Swiss Federal Insitute of Technology 000a Thymio-II 000c Thymio-II Wireless 0618 MacAlly 0101 Mouse 0619 Seiko Instruments, Inc. 0101 SLP-100 Driver 0102 SLP-200 Driver 0103 SLP-100N Driver 0104 SLP-200N Driver 0105 SLP-240 Driver 0501 SLP-440 Driver 0502 SLP-450 Driver 061a Veridicom International, Inc. 0110 5thSense Fingerprint Sensor 0200 FPS200 Fingerprint Sensor 8200 VKI-A Fingerprint Sensor/Flash Storage (dumb) 9200 VKI-B Fingerprint Sensor/Flash Storage (smart) 061b Promptus Communications, Inc. 061c Act Labs, Ltd 061d Quatech, Inc. c020 SSU-100 061e Nissei Electric Co. 0001 nissei 128DE-USB - 0010 nissei 128DE-PNA - 0620 Alaris, Inc. 0004 QuickVideo weeCam 0007 QuickVideo weeCam 000a QuickVideo weeCam 000b QuickVideo weeCam 0621 ODU-Steckverbindungssysteme GmbH & Co. KG 0622 Iotech, Inc. 0623 Littelfuse, Inc. 0624 Avocent Corp. 0013 SC Secure KVM 0248 Virtual Hub 0249 Virtual Keyboard/Mouse 0251 Virtual Mass Storage 0252 Virtual SD card reader 0294 Dell 03R874 KVM dongle 0402 Cisco Virtual Keyboard and Mouse 0403 Cisco Virtual Mass Storage 1774 Cybex SC985 0625 TiMedia Technology Co., Ltd 0626 Nippon Systems Development Co., Ltd 0627 Adomax Technology Co., Ltd 0628 Tasking Software, Inc. 0629 Zida Technologies, Ltd 062a MosArt Semiconductor Corp. 0000 Optical mouse 0001 Notebook Optical Mouse 0020 Logic3 Gamepad 0033 Competition Pro Steering Wheel 0102 Wireless Keyboard/Mouse Combo [MK1152WC] 0201 Defender Office Keyboard (K7310) S Zodiak KM-9010 0252 Emerge Uni-retractable Laser Mouse 2410 Wireless PS3 gamepad 3286 Nano Receiver [Sandstrom Laser Mouse SMWLL11] 4101 Wireless Keyboard/Mouse 4102 Wireless Mouse 4106 Wireless Mouse 2.4G 4c01 2,4Ghz Wireless Transceiver [for Delux M618 Plus Wireless Vertical Mouse] 6301 Trust Wireless Optical Mouse MI-4150K 9003 VoIP Conference Hub (A16GH) 9004 USR9602 USB Internet Mini Phone 062b Greatlink Electronics Taiwan, Ltd 062c Institute for Information Industry 062d Taiwan Tai-Hao Enterprises Co., Ltd 062e Mainsuper Enterprises Co., Ltd 062f Sin Sheng Terminal & Machine, Inc. 0631 JUJO Electronics Corp. 0633 Cyrix Corp. 0634 Micron Technology, Inc. 0655 Embedded Mass Storage Drive [RealSSD] 0635 Methode Electronics, Inc. 0636 Sierra Imaging, Inc. 0003 Vivicam 35Xx 0638 Avision, Inc. 0268 iVina 1200U Scanner 026a Minolta Dimage Scan Dual II AF-2820U (2886) 0a10 iVina FB1600/UMAX Astra 4500 0a13 AV600U 0a15 Konica Minolta SC-110 0a16 Konica Minolta SC-215 0a2a AV220 C2 0a30 UMAX Astra 6700 Scanner 0a41 Avision AM3000/MF3000 Series 0f01 fi-4010CU # typo? 4004 Minolta Dimage Scan Elite II AF-2920 (2888) 0639 Chrontel, Inc. 063a Techwin Corp. 063b Taugagreining HF 063c Yamaichi Electronics Co., Ltd (Sakura) 063d Fong Kai Industrial Co., Ltd 063e RealMedia Technology, Inc. 063f New Technology Cable, Ltd 0640 Hitex Development Tools 0026 LPC-Stick 0641 Woods Industries, Inc. 0642 VIA Medical Corp. 0644 TEAC Corp. 0000 Floppy 0200 All-In-One Multi-Card Reader CA200/B/S 1000 CD-ROM Drive 800d TASCAM Portastudio DP-01FX 800e TASCAM US-122L 801d TASCAM DR-100 8021 TASCAM US-122mkII d001 CD-R/RW Unit d002 CD-R/RW Unit d010 CD-RW/DVD Unit 0645 Who? Vision Systems, Inc. 0646 UMAX 0647 Acton Research Corp. 0100 ARC SpectraPro UV/VIS/IR Monochromator/Spectrograph 0101 ARC AM-VM Mono Airpath/Vacuum Monochromator/Spectrograph 0102 ARC Inspectrum Mono 0103 ARC Filterwheel 03e9 Inspectrum 128x1024 F VIS Spectrograph 03ea Inspectrum 256x1024 F VIS Spectrograph 03eb Inspectrum 128x1024 B VIS Spectrograph 03ec Inspectrum 256x1024 B VIS Spectrograph 0648 Inside Out Networks 0649 Weli Science Co., Ltd 064b Analog Devices, Inc. (White Mountain DSP) 0165 Blackfin 535 [ADZS HPUSB ICE] 064c Ji-Haw Industrial Co., Ltd 064d TriTech Microelectronics, Ltd 064e Suyin Corp. 2100 Sony Visual Communication Camera 3410 RGBIR Camera 9700 Asus Integrated Webcam a100 Acer OrbiCam a101 Acer CrystalEye Webcam a102 Acer/Lenovo Webcam [CN0316] a103 Acer/HP Integrated Webcam [CN0314] a110 HP Webcam a114 Lemote Webcam a116 UVC 1.3MPixel WebCam a127 HP Integrated Webcam a136 Asus Integrated Webcam [CN031B] a219 1.3M WebCam (notebook emachines E730, Acer sub-brand) c107 HP webcam [dv6-1190en] c335 HP TrueVision HD d101 Acer CrystalEye Webcam d213 UVC HD Webcam d217 HP TrueVision HD e201 Lenovo Integrated Webcam e203 Lenovo Integrated Webcam e258 HP TrueVision HD Integrated Webcam e263 HP TrueVision HD Integrated Webcam f102 Lenovo Integrated Webcam [R5U877] f103 Lenovo Integrated Webcam [R5U877] f207 Lenovo EasyCamera Integrated Webcam f209 HP Webcam f300 UVC 0.3M Webcam 064f WIBU-Systems AG 03e9 CmStick (MSD, article no. 1001-xx-xxx) 03f2 CmStick/M (MSD, article no. 1010-xx-xxx) 03f3 CmStick/M (MSD, article no. 1011-xx-xxx) 0bd7 Wibu-Box/U (article no. 3031-xx-xxx) 0bd8 Wibu-Box/RU (article no. 3032-xx-xxx) 2af9 CmStick (HID, article no. 1001-xx-xxx) 2b03 CmStick/M (HID, article no. 1011-xx-xxx) 5213 CmStick/M (COMPOSITE, article no. 1011-xx-xxx) 0650 Dynapro Systems 0651 Likom Technology Sdn. Bhd. 0652 Stargate Solutions, Inc. 0653 CNF, Inc. 0654 Granite Microsystems, Inc. 0005 Device Bay Controller 0006 Hub 0007 Device Bay Controller 0016 Hub 0655 Space Shuttle Hi-Tech Co., Ltd 0656 Glory Mark Electronic, Ltd 0657 Tekcon Electronics Corp. 0658 Sigma Designs, Inc. 0200 Aeotec Z-Stick Gen5 (ZW090) - UZB 0659 Aethra 065a Optoelectronics Co., Ltd 0001 Opticon OPR-2001 / NLV-1001 (keyboard mode) 0009 NLV-1001 (serial mode) / OPN-2001 [Opticon] 065b Tracewell Systems 065e Silicon Graphics 065f Good Way Technology Co., Ltd & GWC technology Inc. 0660 TSAY-E (BVI) International, Inc. 0661 Hamamatsu Photonics K.K. 0662 Kansai Electric Co., Ltd 0663 Topmax Electronic Co., Ltd 0103 CobraPad 0664 ET&T Technology Co., Ltd. 0301 Groovy Technology Corp. GTouch Touch Screen 0302 Groovy Technology Corp. GTouch Touch Screen 0303 Groovy Technology Corp. GTouch Touch Screen 0304 Groovy Technology Corp. GTouch Touch Screen 0305 Groovy Technology Corp. GTouch Touch Screen 0306 Groovy Technology Corp. GTouch Touch Screen 0307 Groovy Technology Corp. GTouch Touch Screen 0309 Groovy Technology Corp. GTouch Touch Screen 0665 Cypress Semiconductor 5161 USB to Serial 0667 Aiwa Co., Ltd 0fa1 TD-U8000 Tape Drive 0668 WordWand 0669 Oce' Printing Systems GmbH 066a Total Technologies, Ltd 066b Linksys, Inc. 0105 SCM eUSB SmartMedia Card Reader 010a Melco MCR-U2 SmartMedia / CompactFlash Reader 200c USB10TX 2202 USB10TX Ethernet [pegasus] 2203 USB100TX Ethernet [pegasus] 2204 USB100TX HomePNA Ethernet [pegasus] 2206 USB Ethernet [pegasus] 2207 HomeLink Phoneline 10M Network Adapter 2211 WUSB11 802.11b Adapter 2212 WUSB11v2.5 802.11b Adapter 2213 WUSB12v1.1 802.11b Adapter 2219 Instant Wireless Network Adapter 400b USB10TX 066d Entrega, Inc. 066e Acer Semiconductor America, Inc. 066f SigmaTel, Inc. 003b MP3 Player 003e MP3 Player 003f MP3 Player 0040 MP3 Player 0041 MP3 Player 0042 MP3 Player 0043 MP3 Player 004b A-Max PA11 MP3 Player 3400 STMP3400 D-Major MP3 Player 3410 STMP3410 D-Major MP3 Player 3500 Player Recovery Device 3780 STMP3780/i.MX23 SystemOnChip in RecoveryMode 4200 STIr4200 IrDA Bridge 4210 STIr4210 IrDA Bridge 8000 MSCN MP3 Player 8001 SigmaTel MSCN Audio Player 8004 MSCNMMC MP3 Player 8008 i-Bead 100 MP3 Player 8020 MP3 Player 8034 MP3 Player 8036 MP3 Player 8038 MP3 Player 8056 MP3 Player 8060 MP3 Player 8066 MP3 Player 807e MP3 Player 8092 MP3 Player 8096 MP3 Player 809a MP3 Player 80aa MP3 Player 80ac MP3 Player 80b8 MP3 Player 80ba MP3 Player 80bc MP3 Player 80bf MP3 Player 80c5 MP3 Player 80c8 MP3 Player 80ca MP3 Player 80cc MP3 Player 8104 MP3 Player 8106 MP3 Player 8108 MP3 Player 810a MP3 Player 810c MP3 Player 8122 MP3 Player 8124 MP3 Player 8126 MP3 Player 8128 MP3 Player 8134 MP3 Player 8136 MP3 Player 8138 MP3 Player 813a MP3 Player 813e MP3 Player 8140 MP3 Player 8142 MP3 Player 8144 MP3 Player 8146 MP3 Player 8148 MP3 Player 814c MP3 Player 8201 MP3 Player 8202 Jens of Sweden / I-BEAD 150M/150H MP3 player 8203 MP3 Player 8204 MP3 Player 8205 MP3 Player 8206 Digital MP3 Music Player 8207 MP3 Player 8208 MP3 Player 8209 MP3 Player 820a MP3 Player 820b MP3 Player 820c MP3 Player 820d MP3 Player 820e MP3 Player 820f MP3 Player 8210 MP3 Player 8211 MP3 Player 8212 MP3 Player 8213 MP3 Player 8214 MP3 Player 8215 MP3 Player 8216 MP3 Player 8217 MP3 Player 8218 MP3 Player 8219 MP3 Player 821a MP3 Player 821b MP3 Player 821c MP3 Player 821d MP3 Player 821e MP3 Player 821f MP3 Player 8220 MP3 Player 8221 MP3 Player 8222 MP3 Player 8223 MP3 Player 8224 MP3 Player 8225 MP3 Player 8226 MP3 Player 8227 MP3 Player 8228 MP3 Player 8229 MP3 Player 8230 MP3 Player 829c MP3 Player 82e0 MP3 Player 8320 TrekStor i.Beat fun 835d MP3 Player 83b5 Transcend T.sonic 530 MP3 Player 9000 MP3 Player 9001 MP3 Player 9002 MP3 Player 0670 Sequel Imaging 0001 Calibrator 0005 Enable Cable 0672 Labtec, Inc. 1041 LCS1040 Speaker System 5000 SpaceBall 4000 FLX 0673 HCL 5000 Keyboard 0674 Key Mouse Electronic Enterprise Co., Ltd 0675 DrayTek Corp. 0110 Vigor 128 ISDN TA 0530 Vigor530 IEEE 802.11G Adapter (ISL3880+NET2280) 0550 Vigor550 1688 miniVigor 128 ISDN TA [HFC-S] 6694 miniVigor 128 ISDN TA 0676 Teles AG 0677 Aiwa Co., Ltd 07d5 TM-ED1285(USB) 0fa1 TD-U8000 Tape Drive 0678 ACard Technology Corp. 067b Prolific Technology, Inc. 0000 PL2301 USB-USB Bridge 0001 PL2302 USB-USB Bridge 0307 Motorola Serial Adapter 04bb PL2303 Serial (IODATA USB-RSAQ2) 0600 IDE Bridge 0610 Onext EG210U MODEM 0611 AlDiga AL-11U Quad-band GSM/GPRS/EDGE modem 1231 Orico SATA External Hard Disk Drive Lay-Flat Docking Station with USB 3.0 & eSATA interfaces. 2303 PL2303 Serial Port / Mobile Action MA-8910P 2305 PL2305 Parallel Port 2306 Raylink Bridge Controller 2307 PL2307 USB-ATAPI4 Bridge 2313 FITEL PHS U Cable Adaptor 2315 Flash Disk Embedded Hub 2316 Flash Disk Security Device 2317 Mass Storage Device 2501 PL2501 USB-USB Bridge (USB 2.0) 2506 Kaser 8gB micro hard drive 2507 PL2507 Hi-speed USB to IDE bridge controller 2515 Flash Disk Embedded Hub 2517 Flash Disk Mass Storage Device 2528 Storage device (8gB thumb drive) 2571 LG Electronics GE24LU21 25a1 PL25A1 Host-Host Bridge 2773 PL2773 SATAII bridge controller 3400 Hi-Speed Flash Disk with TruePrint AES3400 3500 Hi-Speed Flash Disk with TruePrint AES3500 3507 PL3507 ATAPI6 Bridge aaa0 Prolific Pharos aaa2 PL2303 Serial Adapter (IODATA USB-RSAQ3) aaa3 PL2303x Serial Adapter 067c Efficient Networks, Inc. 1001 Siemens SpeedStream 100MBps Ethernet 1022 Siemens SpeedStream 1022 802.11b Adapter 1023 SpeedStream Wireless 4020 SpeedStream 4020 ATM/ADSL Installer 4031 Efficient ADSL Modem 4032 SpeedStream 4031 ATM/ADSL Installer 4033 SpeedStream 4031 ATM/ADSL Installer 4060 Alcatel Speedstream 4060 ADSL Modem 4062 Efficient Networks 4060 Loader 5667 Efficient Networks Virtual Bus for ADSL Modem c031 SpeedStream 4031 ATM/ADSL Installer c032 SpeedStream 4031 ATM/ADSL Installer c033 SpeedStream 4031 ATM/ADSL Installer c060 SpeedStream 4060 Miniport ATM/ADSL Adapter d667 Efficient Networks Virtual Bus for ADSL Modem e240 Speedstream Ethernet Adapter E240 e540 Speedstream Ethernet Adapter E240 067d Hohner Corp. 067e Intermec Technologies Corp. 0801 HID Keyboard, Barcode scanner 0803 VCP, Barcode scanner 0805 VCP + UVC, Barcode scanner 1001 Mobile Computer 067f Virata, Ltd 4552 DSL-200 ADSL Modem 6542 DSL Modem 6549 DSL Modem 7541 DSL Modem 0680 Realtek Semiconductor Corp., CPP Div. (Avance Logic) 0002 Arowana Optical Wheel Mouse MSOP-01 0681 Siemens Information and Communication Products 0001 Dect Base 0002 Gigaset 3075 Passive ISDN 0005 ID-Mouse with Fingerprint Reader 0012 I-Gate 802.11b Adapter 001b WLL013 001d Hipath 1000 0022 Gigaset SX353 ISDN 0026 DECT Data - Gigaset M34 002b A-100-I ADSL Modem 002e ADSL Router_S-141 0034 GSM module MC35/ES75 USB Modem 3c06 54g USB Network Adapter 0682 Victor Company of Japan, Ltd 0684 Actiontec Electronics, Inc. 0685 ZD Incorporated 7000 HSDPA Modem 0686 Minolta Co., Ltd 2001 PagePro 4110W 2004 PagePro 1200W 2005 Magicolor 2300 DL 3001 PagePro 4100 3005 PagePro 1250E 3006 PagePro 1250W 3009 Magicolor 2300W 300b PagePro 1350W 300c PagePro 1300W 301b Develop D 1650iD 3023 Develop D 2050iD 302e Develop D 1650iD PCL 3034 Develop D 2050iD PCL 4001 Dimage 2300 4003 Dimage 2330 Zoom Camera 4004 Dimage Scan Elite II AF-2920 (2888) 4005 Minolta DiMAGE E201 Mass Storage Device 4006 Dimage 7 Camera 4007 Dimage S304 Camera 4008 Dimage 5 Camera 4009 Dimage X Camera 400a Dimage S404 Camera 400b Dimage 7i Camera 400c Dimage F100 Camera 400d Dimage Scan Dual III AF-2840 (2889) 400e Dimage Scan Elite 5400 (2890) 400f Dimage 7Hi Camera 4010 Dimage Xi Camera 4011 Dimage F300 Camera 4012 Dimage F200 Camera 4014 Dimage S414 Camera 4015 Dimage XT Camera [storage] 4016 Dimage XT Camera [remote mode] 4017 Dimage E223 4018 Dimage Z1 Camera 4019 Dimage A1 Camera [remote mode] 401a Dimage A1 Camera [storage] 401c Dimage X20 Camera 401e Dimage E323 Camera 068a Pertech, Inc. 068b Potrans International, Inc. 068e CH Products, Inc. 00d3 OEM 3 axis 5 button joystick 00e2 HFX OEM Joystick 00f0 Multi-Function Panel 00f1 Pro Throttle 00f2 Flight Sim Pedals 00f3 Fighterstick 00f4 Combatstick 00fa Ch Throttle Quadrant 00ff Flight Sim Yoke 0500 GameStick 3D 0501 CH Pro Pedals 0504 F-16 Combat Stick 068f Nihon KOHDEN c00d MEK-6500 0690 Golden Bridge Electech, Inc. 0693 Hagiwara Sys-Com Co., Ltd 0002 FlashGate SmartMedia Card Reader 0003 FlashGate CompactFlash Card Reader 0005 FlashGate 0006 SM PCCard R/W and SPD 0007 FlashGate ME (Authenticated) 000a SDCard/MMC Reader/Writer 0694 Lego Group 0001 Mindstorms Tower 0002 Mindstorms NXT 0005 Mindstorms EV3 0006 Mindstorms EV3 Firmware Update 0698 Chuntex (CTX) 1786 1300ex Monitor 2003 CTX M730V built in Camera 9999 VLxxxx Monitor+Hub 0699 Tektronix, Inc. 0347 AFG 3022B 0365 TDS 2004B 036a TDS 2024B 069a Askey Computer Corp. 0001 VC010 Webcam [pwc] 0303 Cable Modem 0311 ADSL Router Remote NDIS Device 0318 Remote NDIS Device 0319 220V Remote NDIS Device 0320 IEEE 802.11b Wireless LAN Card 0321 Dynalink WLL013 / Compex WLU11A 802.11b Adapter 0402 Scientific Atlanta WebSTAR 100 & 200 series Cable Modem 0811 BT Virtual Bus for Helium 0821 BT Voyager 1010 802.11b Adapter 4402 Scientific Atlanta WebSTAR 2000 series Cable Modem 4403 Scientific Atlanta WebSTAR 300 series Cable Modem 4501 Scientific-Atlanta WebSTAR 2000 series Cable Modem 069b Thomson, Inc. 0704 DCM245 Cable Modem 0705 THG540K Cable Modem 0709 Lyra PDP2424 070c MP3 Player 070d MP3 Player 070e MP3 Player 070f RCA Lyra RD1071 MP3 Player 0731 Lyra M200E256 0761 RCA H100A 0778 PEARL USB Device 2220 RCA Kazoo RD1000 MP3 Player 300a RCA Lyra MP3 Player 3012 MP3 Player 3013 MP3 Player 5557 RCA CDS6300 069d Hughes Network Systems (HNS) 0001 Satellite Receiver Device 0002 Satellite Device 069e Welcat Inc. 0005 Marx CryptoBox v1.2 069f Allied Data Technologies BV 0010 Tornado Speakerphone FaxModem 56.0 0011 Tornado Speakerphone FaxModem 56.0 1000 ADT VvBus for CopperJet 1004 CopperJet 821 RouterPlus 06a2 Topro Technology, Inc. 0033 USB Mouse 06a3 Saitek PLC 0006 Cyborg Gold Joystick 0109 P880 Pad 0160 ST290 Pro 0200 Racing Wheel 0201 Adrenalin Gamepad 0241 Xbox Adrenalin Gamepad 0255 X52 Flight Controller 040b P990 Dual Analog Pad 040c P2900 Wireless Pad 0422 ST90 Joystick 0460 ST290 Pro Flight Stick 0463 ST290 0464 Cyborg Evo 0471 Cyborg Graphite Stick 0501 R100 Sports Wheel 0502 ST200 Stick 0506 R220 Digital Wheel 051e Cyborg Digital II Stick 052d P750 Gamepad 053c X45 Flight Controller 053f X36F Flightstick 056c P2000 Tilt Pad 056f P2000 Tilt Pad 05d2 PC Dash 2 075c X52 Flight Controller 0762 Saitek X52 Pro Flight Control System 0763 Pro Flight Rudder Pedals 0764 Flight Pro Combat Rudder 0805 R440 Force Wheel 0b4e Pro Flight Backlit Information Panel 0bac Pro Flight Yoke 0c2d Pro Flight Quadrant 0d05 Pro Flight Radio Panel 0d06 Flight Pro Multi Panel 0d67 Pro Flight Switch Panel 1003 GM2 Action Pad 1009 Action Pad 100a SP550 Pad and Joystick Combo 100b SP550 Pad 1509 P3000 Wireless Pad 1589 P3000 Wireless Pad 2541 X45 Flight Controller 3509 P3000 RF GamePad 353e Cyborg Evo Wireless 3589 P3000 Wireless Pad 35be Cyborg Evo 5509 P3000 Wireless Pad 712c Pro Flight Yoke integrated hub 8000 Gamers' Keyboard 801e Cyborg 3D Digital Stick II 8020 Eclipse Keyboard 8021 Eclipse II Keyboard 802d P750 Pad 803f X36 Flight Controller 806f P2000 Tilt Pad 80c0 Pro Gamer Command Unit 80c1 Cyborg Command Pad Unit a2ae Pro Flight Instrument Panel a502 Gaming Mouse f518 P3200 Rumble Force Game Pad f51a P3600 ff04 R440 Force Wheel ff0c Cyborg Force Rumble Pad ff0d P2600 Rumble Force Pad ff12 Cyborg 3D Force Stick ff17 ST 330 Rumble Force Stick ff52 Cyborg 3D Rumble Force Joystick ffb5 Cyborg Evo Force Joystick 06a4 Xiamen Doowell Electron Co., Ltd 06a5 Divio 0000 Typhoon Webcam 100k [nw8000] d001 ProLink DS3303u Webcam d800 Chicony TwinkleCam d820 Wize Media 1000 06a7 MicroStore, Inc. 06a8 Topaz Systems, Inc. 0042 SignatureGem 1X5 Pad 0043 SignatureGem 1X5-HID Pad 06a9 Westell 0005 WireSpeed Dual Connect Modem 0006 WireSpeed Dual Connect Modem 000a WireSpeed Dual Connect Modem 000b WireSpeed Dual Connect Modem 000e A90-211WG-01 802.11g Adapter [Intersil ISL3887] 06aa Sysgration, Ltd 06ac Fujitsu Laboratories of America, Inc. 06ad Greatland Electronics Taiwan, Ltd 06ae Professional Multimedia Testing Centre 06af Harting, Inc. of North America 06b8 Pixela Corp. 06b9 Alcatel Telecom 0120 SpeedTouch 120g 802.11g Wireless Adapter [Intersil ISL3886] 0121 SpeedTouch 121g Wireless Dongle 2001 SPEED TOUCH Card 4061 SpeedTouch ISDN or ADSL Modem 4062 SpeedTouch ISDN or ADSL router a5a5 DynaMiTe Modem 06ba Smooth Cord & Connector Co., Ltd 06bb EDA, Inc. 06bc Oki Data Corp. 000b Okipage 14ex Printer 0027 Okipage 14e 00f7 OKI B4600 Mono Printer 015e OKIPOS 411/412 POS Printer 01c9 OKI B430 Mono Printer 020b OKI ES4140 Mono Printer 02bb OKI PT390 POS Printer 0383 MC563 Multifunction Printer 0a91 B2500MFP (printer+scanner) 3801 B6100 Laser Printer 06bd AGFA-Gevaert NV 0001 SnapScan 1212U 0002 SnapScan 1236U 0100 SnapScan Touch 0101 SNAPSCAN ELITE 0200 ScanMaker 8700 02bf DUOSCAN f40 0400 CL30 0401 Mass Storage 0403 ePhoto CL18 Camera 0404 ePhoto CL20 Camera 2061 SnapScan 1212U (?) 208d Snapscan e40 208f SnapScan e50 2091 SnapScan e20 2093 SnapScan e10 2095 SnapScan e25 2097 SnapScan e26 20fd SnapScan e52 20ff SnapScan e42 06be AME Optimedia Technology Co., Ltd 0800 Optimedia Camera 1005 Dazzle DPVM! (1005) d001 P35U Camera Capture 06bf Leoco Corp. 06c2 Phidgets Inc. (formerly GLAB) 0030 PhidgetRFID 0031 RFID reader 0038 4-Motor PhidgetServo v3.0 0039 1-Motor PhidgetServo v3.0 003a 8-Motor PhidgetAvancedServo 0040 PhidgetInterface Kit 0-0-4 0044 PhidgetInterface Kit 0-16-16 0045 PhidgetInterface Kit 8-8-8 0048 PhidgetStepper (Under Development) 0049 PhidgetTextLED Ver 1.0 004a PhidgetLED Ver 1.0 004b PhidgetEncoder Ver 1.0 0051 PhidgetInterface Kit 0-5-7 (Custom) 0052 PhidgetTextLCD 0053 PhidgetInterfaceKit 0-8-8 0058 PhidgetMotorControl Ver 1.0 0070 PhidgetTemperatureSensor Ver 1.0 0071 PhidgetAccelerometer Ver 1.0 0072 PhidgetWeightSensor Ver 1.0 0073 PhidgetHumiditySensor 0074 PhidgetPHSensor 0075 PhidgetGyroscope 06c4 Bizlink International Corp. 06c5 Hagenuk, GmbH 06c6 Infowave Software, Inc. 06c8 SIIG, Inc. 06c9 Taxan (Europe), Ltd 0005 Monitor Control 0007 Monitor Control 0009 Monitor Control 06ca Newer Technology, Inc. 2003 uSCSI 06cb Synaptics, Inc. 0001 TouchPad 0002 Integrated TouchPad 0003 cPad 0005 Touchpad/FPS 0006 TouchScreen 0007 USB Styk 0008 WheelPad 0009 Composite TouchPad and TrackPoint 000e HID Device 0010 Wireless TouchPad 0013 DisplayPad 009a Metallica MIS Touch Fingerprint Reader 00a2 Metallica MOH Touch Fingerprint Reader 00bd Prometheus MIS Touch Fingerprint Reader 2970 touchpad 06cc Terayon Communication Systems 0101 Cable Modem 0102 Cable Modem 0103 Cable Modem 0104 Cable Modem 0304 Cable Modem 06cd Keyspan 0101 USA-28 PDA [no firmware] 0102 USA-28X PDA [no firmware] 0103 USA-19 PDA [no firmware] 0104 PDA [prerenum] 0105 USA-18X PDA [no firmware] 0106 USA-19W PDA [no firmware] 0107 USA-19 PDA 0108 USA-19W PDA 0109 USA-49W serial adapter [no firmware] 010a USA-49W serial adapter 010b USA-19Qi serial adapter [no firmware] 010c USA-19Qi serial adapter 010d USA-19Q serial Adapter (no firmware) 010e USA-19Q serial Adapter 010f USA-28 PDA 0110 USA-28Xb PDA 0111 USA-18 serial Adapter 0112 USA-18X PDA 0113 USA-28Xb PDA [no firmware] 0114 USA-28Xa PDA [no firmware] 0115 USA-28Xa PDA 0116 USA-18XA serial Adapter (no firmware) 0117 USA-18XA serial Adapter 0118 USA-19QW PDA [no firmware] 0119 USA-19QW PDA 011a USA-49Wlc serial adapter [no firmware] 011b MPR Serial Preloader (MPRQI) 011c MPR Serial (MPRQI) 011d MPR Serial Preloader (MPRQ) 011e MPR Serial (MPRQ) 0121 USA-19hs serial adapter 012a USA-49Wlc serial adapter 0201 UIA-10 Digital Media Remote [Cypress AN2131SC] 0202 UIA-11 Digital Media Remote 06ce Contec 8311 COM-1(USB)H 06cf SpheronVR AG 1010 PanoCam 10 1012 PanoCam 12/12X 06d0 LapLink, Inc. 0622 LapLink Gold USB-USB Bridge [net1080] 06d1 Daewoo Electronics Co., Ltd 06d3 Mitsubishi Electric Corp. 0284 FX-USB-AW/-BD RS482 Converters 0380 CP8000D Port 0381 CP770D Port 0385 CP900D Port 0387 CP980D Port 038b CP3020D Port 038c CP900DW(ID) Port 0393 CP9500D/DW Port 0394 CP9000D/DW Port 0398 P93D 03a1 CP9550D/DW Port 03a5 CP9550DW-S 03a9 CP-9600DW 03aa CP3020DA 03ad CP-9800D/DW 03ae CP-9800DW-S 0f10 Hori/Namco FlightStick 2 3b10 P95D 3b21 CP-9810D/DW 3b30 CP-D70DW / CP-D707DW 3b31 CP-K60DW-S 3b36 CP-D80DW 3b50 CP-W5000DW 3b60 CP-D90DW 3b80 CP-M1 06d4 Cisco Systems 06d5 Toshiba 4000 Japanese Keyboard 06d6 Aashima Technology B.V. 0025 Gamepad 0026 Predator TH 400 Gamepad 002d Trust PowerC@m 350FT 002e Trust PowerC@m 350FS 0030 Trust 710 LCD POWERC@M ZOOM - MSD 0031 Trust 610/710 LCD POWERC@M ZOOM 003a Trust PowerC@m 770Z (mass storage mode) 003b Trust PowerC@m 770Z (webcam mode) 003c Trust 910z PowerC@m 003f Trust 735S POWERC@M ZOOM, WDM DSC Bulk Driver 0050 Trust 738AV LCD PV Digital Camera 0062 TRUST 782AV LCD P. V. Video Capture 0066 TRUST Digital PCTV and Movie Editor 0067 Trust 350FS POWERC@M FLASH 006b TRUST AUDIO VIDEO EDITOR 06d7 Network Computing Devices (NCD) 06d8 Technical Marketing Research, Inc. 06da Phoenixtec Power Co., Ltd 0002 UPS 0003 1300VA UPS 06db Paradyne 06dc Foxlink Image Technology Co., Ltd 0012 Scan 1200c Scanner 0014 Prolink Winscan Pro 2448U 06de Heisei Electronics Co., Ltd 06e0 Multi-Tech Systems, Inc. 0319 MT9234ZBA-USB MultiModem ZBA f101 MT5634ZBA-USB MultiModemUSB (old firmware) f103 MT5634MU MultiMobileUSB f104 MT5634ZBA-USB MultiModemUSB (new firmware) f107 MT5634ZBA-USB-V92 MultiModemUSB f120 MT9234ZBA-USB-CDC-ACM-XR MultiModem ZBA CDC-ACM-XR 06e1 ADS Technologies, Inc. 0008 UBS-10BT Ethernet [klsi] 0009 UBS-10BT Ethernet 0833 Mass Storage Device a155 FM Radio Receiver/Instant FM Music (RDX-155-EF) a160 Instant Video-To-Go RDX-160 (no firmware) a161 Instant Video-To-Go RDX-160 a190 Instand VCD Capture a191 Instant VideoXpress a337 Mini DigitalTV a701 DVD Xpress a708 saa7114H video input card (Instant VideoMPX) b337 Mini DigitalTV b701 DVD Xpress B 06e4 Alcatel Microelectronics 06e6 Tiger Jet Network, Inc. 0200 Internet Phone 0201 Internet Phone 0202 Composite Device 0203 Internet Phone 0210 Composite Device 0211 Internet Phone 0212 Internet Phone 031c Internet Phone 031d Internet Phone 031e Internet Phone 3200 Composite Device 3201 Internet Phone 3202 Composite Device 3203 Composite Device 7200 Composite Device 7210 Composite Device 7250 Composite Device 825c Internet Phone 831c Internet Phone 831d Composite Device 831e Composite Device b200 Composite Device b201 Composite Device b202 Internet Phone b210 Internet Phone b211 Composite Device b212 Composite Device b250 Composite Device b251 Internet Phone b252 Internet Phone c200 Internet Phone c201 Internet Phone c202 Composite Device c203 Internet Phone c210 Personal PhoneGateway c211 Personal PhoneGateway c212 Personal PhoneGateway c213 PPG Device c25c Composite Device c290 PPG Device c291 PPG Device c292 PPG Device c293 Personal PhoneGateway c31c Composite Device c39c Personal PhoneGateway c39d PPG Device c39e PPG Device c39f PPG Device c700 Internet Phone c701 Internet Phone c702 Composite Device c703 Internet Phone c710 VoIP Combo Device c711 VoIP Combo c712 VoIP Combo Device c713 VoIP Combo Device cf00 Composite Device cf01 Internet Phone cf02 Internet Phone cf03 Composite Device d210 Personal PhoneGateway d211 PPG Device d212 PPG Device d213 Personal PhoneGateway d700 Composite Device d701 Composite Device d702 Internet Phone d703 Composite Device d710 VoIP Combo d711 VoIP Combo Device d712 VoIP Combo d713 VoIP Combo df00 Composite Device df01 Composite Device df02 Internet Phone df03 Internet Phone f200 Internet Phone f201 Internet Phone f202 Composite Device f203 Composite Device f210 Internet Phone f250 Composite Device f252 Internet Phone f310 Internet Phone f350 Composite Device 06ea Sirius Technologies 0001 NetCom Roadster II 56k 0002 Roadster II 56k 06eb PC Expert Tech. Co., Ltd 06ef I.A.C. Geometrische Ingenieurs B.V. 06f0 T.N.C Industrial Co., Ltd de01 DualCam Video Camera de02 DualCam Still Camera 06f1 Opcode Systems, Inc. a011 SonicPort a021 SonicPort Optical 06f2 Emine Technology Co. 0011 KVM Switch Keyboard 06f6 Wintrend Technology Co., Ltd 06f7 Wailly Technology Ltd 0003 USB->Din 4 Adaptor 06f8 Guillemot Corp. 3002 Hercules Blog Webcam 3004 Hercules Classic Silver 3005 Hercules Dualpix Exchange 3007 Hercules Dualpix Chat and Show 3020 Hercules Webcam EC300 a300 Dual Analog Leader GamePad b000 Hercules DJ Console b121 Hercules P32 DJ c000 Hercules Muse Pocket d002 Hercules DJ Console e000 HWGUSB2-54 WLAN e010 HWGUSB2-54-LB e020 HWGUSB2-54V2-AP e031 Hercules HWNUm-300 Wireless N mini [Realtek RTL8191SU] e032 HWGUm-54 [Hercules Wireless G Ultra Mini Key] e033 Hercules HWNUp-150 802.11n Wireless N Pico [Realtek RTL8188CUS] 06f9 ASYST electronic d.o.o. 06fa HSD S.r.L 06fc Motorola Semiconductor Products Sector 06fd Boston Acoustics 0101 Audio Device 0102 Audio Device 0201 2-piece Audio Device 06fe Gallant Computer, Inc. 0701 Supercomal Wire & Cable SDN. BHD. 0703 Bvtech Industry, Inc. 0705 NKK Corp. 0706 Ariel Corp. 0707 Standard Microsystems Corp. 0100 2202 Ethernet [klsi] 0200 2202 Ethernet [pegasus] 0201 EZ Connect USB Ethernet ee04 SMCWUSB32 802.11b Wireless LAN Card ee06 SMC2862W-G v1 EZ Connect 802.11g Adapter [Intersil ISL3886] ee13 SMC2862W-G v2 EZ Connect 802.11g Adapter [Intersil ISL3887] 0708 Putercom Co., Ltd 047e USB-1284 BRIDGE 0709 Silicon Systems, Ltd (SSL) 070a Oki Electric Industry Co., Ltd 4002 Bluetooth Device 4003 Bluetooth Device 070d Comoss Electronic Co., Ltd 070e Excel Cell Electronic Co., Ltd 0710 Connect Tech, Inc. 0001 WhiteHeat (fake ID) 8001 WhiteHeat 0711 Magic Control Technology Corp. 0100 Hub 0180 IRXpress Infrared Device 0181 IRXpress Infrared Device 0200 BAY-3U1S1P Serial Port 0210 MCT1S Serial Port 0230 MCT-232 Serial Port 0231 PS/2 Mouse Port 0232 Serial On Port 0240 PS/2 to USB Converter 0260 PS/2 Keyboard and Mouse 0300 BAY-3U1S1P Parallel Port 0302 Parallel Port 0900 SVGA Adapter 5001 Trigger UV-002BD[Startech USBVGAE] 5100 Magic Control Technology Corp. (USB2VGA dongle) 0713 Interval Research Corp. 0714 NewMotion, Inc. 0003 ADB converter 0717 ZNK Corp. 0718 Imation Corp. 0002 SuperDisk 120MB 0003 SuperDisk 120MB (Authenticated) 0060 Flash Drive 0061 Flash Drive 0062 Flash Drive 0063 Swivel Flash Drive 0064 Flash Drive 0065 Flash Drive 0066 Flash Drive 0067 Flash Drive 0068 Flash Drive 0084 Flash Drive Mini 043c Flash drive 16GB [Nano Pro] 0582 Revo Flash Drive 0622 TDK Trans-It 4GB 0624 TDK Trans-It 16GB 1120 RDX External dock (redbud) 4006 8x Slim DVD Multi-Format Recorder External d000 Disc Stakka CD/DVD Manager 0719 Tremon Enterprises Co., Ltd 071b Domain Technologies, Inc. 0002 DTI-56362-USB Digital Interface Unit 0101 Audio4-USB DSP Data Acquisition Unit 0184 Archos 2 8GB EM184RB 0201 Audio4-5410 DSP Data Acquisition Unit 0301 SB-USB JTAG Emulator 3203 Rockchip Media Player 32bb Music Mediatouch 071c Xionics Document Technologies, Inc. 071d Eicon Networks Corp. 1000 Diva 2.01 S/T [PSB2115F] 1003 Diva ISDN 2.0 1005 Diva ISDN 4.0 [HFC-S] 2000 Teledat Surf 071e Ariston Technologies 0720 Keyence Corp. 8001 LJ-V7001 0723 Centillium Communications Corp. 0002 Palladia 300/400 Adsl Modem 0726 Vanguard International Semiconductor-America 0729 Amitm 1000 USC-1000 Serial Port 072e Sunix Co., Ltd 072f Advanced Card Systems, Ltd 0001 AC1030-based SmartCard Reader 0008 ACR 80 Smart Card Reader 0100 AET65 0101 AET65 0102 AET62 0103 AET62 0901 ACR1281U-C4 (BSI) 1000 PLDT Drive 1001 PLDT Drive 2011 ACR88U 2100 ACR128U 2200 ACR122U 220a ACR1281U-C5 (BSI) 220c ACR1283 Bootloader 220f ACR1281U-C2 (qPBOC) 2211 ACR1261 1S Dual Reader 2214 ACR1222 1SAM PICC Reader 2215 ACR1281 2S CL Reader 221a ACR1251U-A1 221b ACR1251U-C 2224 ACR1281 1S Dual Reader 222b ACR1222U-C8 222c ACR1283L-D2 222d [OEM Reader] 222e ACR123U 2242 ACR1251 1S Dual Reader 8002 AET63 BioTRUSTKey 8003 ACR120 8103 ACR120 8201 APG8201 8900 ACR89U-A1 8901 ACR89U-A2 8902 ACR89U-A3 9000 ACR38 AC1038-based Smart Card Reader 9006 CryptoMate 90cc ACR38 SmartCard Reader 90ce [OEM Reader] 90cf ACR38 SAM Smart Card Reader 90d0 PertoSmart EMV - Card Reader 90d2 ACR83U 90d8 ACR3801 90db CryptoMate64 b000 ACR3901U b100 ACR39U b101 ACR39K b102 ACR39T b103 ACR39F b104 ACR39U-SAM b106 ACOS5T2 b200 ACOS5T1 b301 ACR32-A1 0731 Susteen, Inc. 0528 SonyEricsson DCU-11 Cable 0732 Goldfull Electronics & Telecommunications Corp. 0733 ViewQuest Technologies, Inc. 0101 Digital Video Camera 0110 VQ110 Video Camera 0401 CS330 Webcam 0402 M-318B Webcam 0430 Intel Pro Share Webcam 0630 VQ630 Dual Mode Digital Camera(Bulk) 0631 Hercules Dualpix 0780 Smart Cam Deluxe(composite) 1310 Epsilon 1.3/Jenoptik JD C1.3/UMAX AstraPix 470 (mass storage mode) 1311 Epsilon 1.3/Jenoptik JD C1.3/UMAX AstraPix 470 (PC Cam mode) 1314 Mercury 2.1MEG Deluxe Classic Cam 2211 Jenoptik jdc 21 LCD Camera 2221 Mercury Digital Pro 3.1p 3261 Concord 3045 spca536a Camera 3281 Cyberpix S550V 0734 Lasat Communications A/S 0001 560V Modem 0002 Lasat 560V Modem 043a DVS Audio 043b 3DeMon USB Capture 0735 Asuscom Network 2100 ISDN Adapter 2101 ISDN Adapter 6694 ISDNlink 128K c541 ISDN TA 280 0736 Lorom Industrial Co., Ltd 0738 Mad Catz, Inc. 2215 X-55 Rhino Stick 2237 V.1 Stick 4506 Wireless Controller 4507 XBox Device 4516 Control Pad 4520 Control Pad Pro 4522 LumiCON 4526 Control Pad Pro 4530 Universal MC2 Racing Wheel and Pedals 4536 MicroCON 4540 Beat Pad 4556 Lynx Wireless Controller 4566 XBox Device 4576 XBox Device 4586 MicroCON Wireless Controller 4588 Blaster 45ff Beat Pad 4716 Wired Xbox 360 Controller 4718 Street Fighter IV FightStick SE for Xbox 360 4726 Xbox 360 Controller 4728 Street Fighter IV FightPad for Xbox 360 4730 MC2 Racing Wheel for Xbox 360 4736 MicroCON for Xbox 360 4738 Street Fighter IV Wired Controller for Xbox 360 4740 Beat Pad for Xbox 360 4743 Beat Pad Pro 4758 Arcade Game Stick 4a01 FightStick TE 2 for Xbox One 6040 Beat Pad Pro 8818 Street Fighter IV Arcade FightStick (PS3) 9871 Portable Drum Kit a109 S.T.R.I.K.E.7 Keyboard a215 X-55 Rhino Throttle b726 Modern Warfare 2 Controller for Xbox 360 b738 Marvel VS Capcom 2 TE FightStick for Xbox 360 beef Joytech Neo SE Advanced Gamepad cb02 Saitek Cyborg Rumble Pad cb03 Saitek P3200 Rumble Pad cb29 Saitek Aviator Stick AV8R02 f738 Super Street Fighter IV FightStick TE S for Xbox 360 073a Chaplet Systems, Inc. 2230 infrared dongle for remote 073b Suncom Technologies 073c Industrial Electronic Engineers, Inc. 0305 Pole Display (PC305-3415 2 x 20 Line Display) 0322 Pole Display (PC322-3415 2 x 20 Line Display) 0324 Pole Display (LB324-USB 4 x 20 Line Display) 0330 Pole Display (P330-3415 2 x 20 Line Display) 0424 Pole Display (SP324-4415 4 x 20 Line Display) 0450 Pole Display (L450-USB Graphic Line Display) 0505 Pole Display (SPC505-3415 2 x 20 Line Display) 0522 Pole Display (SPC522-3415 2 x 20 Line Display) 0624 Pole Display (SP324-3415 4 x 20 Line Display) 073d Eutron S.p.a. 0000 SmartKey 0005 Crypto Token 0007 CryptoIdentity CCID 0025 SmartKey 3 0c00 Pocket Reader 0d00 StarSign Bio Token 3.0 EU 073e NEC, Inc. 0301 Game Pad 0742 Stollmann 2008 ISDN TA [HFC-S] 2009 ISDN TA [HFC-S] 200a ISDN TA [HFC-S] 0745 Syntech Information Co., Ltd 0746 Onkyo Corp. 4700 Integra MZA-4.7 5500 SE-U55 Audio Device 0747 Labway Corp. 0748 Strong Man Enterprise Co., Ltd 0749 EVer Electronics Corp. 074a Ming Fortune Industry Co., Ltd 074b Polestar Tech. Corp. 074c C-C-C Group PLC 074d Micronas GmbH 3553 Composite USB-Device 3554 Composite USB-Device 3556 Composite USB-Device 074e Digital Stream Corp. 0001 PS/2 Adapter 0002 PS/2 Adapter 0755 Aureal Semiconductor 0757 Network Technologies, Inc. 0a00 SUN Adapter 0758 Carl Zeiss Microscopy GmbH 075b Sophisticated Circuits, Inc. 0001 Kick-off! Watchdog 0763 M-Audio 0115 O2 / KeyRig 25 0117 Trigger Finger 0119 MidAir 0150 M-Audio Uno 0160 M-Audio 1x1 0192 M-Audio Keystation 88es 0193 ProKeys 88 0194 ProKeys 88sx 0195 Oxygen 8 v2 0196 Oxygen 49 0197 Oxygen 61 0198 Axiom 25 0199 Axiom 49 019a Axiom 61 019b KeyRig 49 019c KeyStudio 1001 MidiSport 2x2 1002 MidiSport 2x2 1003 MidiSport 2x2 1010 MidiSport 1x1 1011 MidiSport 1x1 1014 M-Audio Keystation Loader 1015 M-Audio Keystation 1020 Midisport 4x4 1021 MidiSport 4x4 1030 M-Audio MIDISPORT 8x8 1031 MidiSport 8x8/s Loader 1033 MidiSport 8x8/s 1040 M-Audio MidiSport 2x4 Loader 1041 M-Audio MidiSport 2x4 1110 MidiSport 1x1 2001 M Audio Quattro 2002 M Audio Duo 2003 M Audio AudioPhile 2004 M-Audio MobilePre 2006 M-Audio Transit 2007 M-Audio Sonica Theater 2008 M-Audio Ozone 200d M-Audio OmniStudio 200f M-Audio MobilePre 2010 M-Audio Fast Track 2012 M-Audio Fast Track Pro 2013 M-Audio JamLab 2015 M-Audio RunTime DFU 2016 M-Audio RunTime DFU 2019 M-Audio Ozone Academic 201a M-Audio Micro 201b M-Audio RunTime DFU 201d M-Audio Producer 2024 M-Audio Fast Track MKII 2080 M-Audio Fast Track Ultra 2081 M-Audio RunTime DFU / Fast Track Ultra 8R 2803 M-Audio Audiophile DFU 2804 M-Audio MobilePre DFU 2806 M-Audio Transit DFU 2815 M-Audio DFU 2816 M-Audio DFU 281b M-Audio DFU 2880 M-Audio DFU 2881 M-Audio DFU 0764 Cyber Power System, Inc. 0005 Cyber Power UPS 0501 CP1500 AVR UPS 0601 PR1500LCDRT2U UPS 0765 X-Rite, Inc. 5001 Huey PRO Colorimeter 5010 X-Rite Pantone Color Sensor 5020 i1 Display Pro 6003 ColorMunki Smile d094 X-Rite DTP94 [Quato Silver Haze Pro] 0766 Jess-Link Products Co., Ltd 0017 Packard Bell Carbon 001b Packard Bell Go 0204 TopSpeed Cyberlink Remote Control 0767 Tokheim Corp. 0768 Camtel Technology Corp. 0006 Camtel Technology USB TV Genie Pro FM Model TVB330 0023 eHome Infrared Receiver 0769 Surecom Technology Corp. 11f2 EP-9001-g 802.11g 54M WLAN Adapter 11f3 RT2570 11f7 802.11g 54M WLAN Adapter 31f3 RT2573 076a Smart Technology Enablers, Inc. 076b OmniKey AG 0596 CardMan 2020 1021 CardMan 1021 1221 CardMan 1221 1784 CardMan 6020 3021 CardMan 3021 / 3121 3022 CardMan 3121 (HID Technologies) 3610 CardMan 3620 3621 CardMan 3621 3821 CardMan 3821 4321 CardMan 4321 5121 CardMan 5121 5125 CardMan 5125 5321 CardMan 5321 5340 CardMan 5021 CL 6622 CardMan 6121 a011 CCID Smart Card Reader Keyboard a021 CCID Smart Card Reader a022 CardMan Smart@Link c000 CardMan 3x21 CS c001 CardMan 5121 CS 076c Partner Tech 0204 CD7220 Communications Port 0302 RP-600 076d Denso Corp. 076e Kuan Tech Enterprise Co., Ltd 076f Jhen Vei Electronic Co., Ltd 0770 Welch Allyn, Inc - Medical Division 0771 Observator Instruments BV 4455 OMC45III ae0f OMC45III 0772 Your data Our Care 0774 AmTRAN Technology Co., Ltd 0775 Longshine Electronics Corp. 0776 Inalways Corp. 0777 Comda Enterprise Corp. 0778 Volex, Inc. 0779 ON Semiconductor (formerly Fairchild) 0133 FUSB307B 0134 FUSB308B 077a Sankyo Seiki Mfg. Co., Ltd 077b Linksys 08be BEFCMU10 v4 Cable Modem 2219 WUSB11 V2.6 802.11b Adapter 2226 USB200M 100baseTX Adapter 2227 Network Everywhere NWU11B 077c Forward Electronics Co., Ltd 0005 NEC Keyboard 077d Griffin Technology 0223 IMic Audio In/Out 0405 iMate, ADB Adapter 0410 PowerMate 041a PowerWave 04aa SoundKnob 07af iMic 1016 AirClick 627a Radio SHARK 077e Softing AG 008a NetLink Compact MPI/Profibus adapter 0160 EDICblue 0220 VAS5054A 077f Well Excellent & Most Corp. 0780 Sagem Monetel GmbH 1202 ORGA 900 Smart Card Terminal Virtual Com Port 1302 ORGA 6000 Smart Card Terminal Virtual Com Port 1303 ORGA 6000 Smart Card Terminal USB RNDIS df55 ORGA 900/6000 Smart Card Terminal DFU 0781 SanDisk Corp. 0001 SDDR-05a ImageMate CompactFlash Reader 0002 SDDR-31 ImageMate II CompactFlash Reader 0005 SDDR-05b (CF II) ImageMate CompactFlash Reader 0100 ImageMate SDDR-12 0200 SDDR-09 (SSFDC) ImageMate SmartMedia Reader [eusb] 0400 SecureMate SD/MMC Reader 0621 SDDR-86 Imagemate 6-in-1 Reader 0720 Sansa C200 series in recovery mode 0729 Sansa E200 series in recovery mode 0810 SDDR-75 ImageMate CF-SM Reader 0830 ImageMate CF/MMC/SD Reader 1234 Cruzer Mini Flash Drive 5150 SDCZ2 Cruzer Mini Flash Drive (thin) 5151 Cruzer Micro Flash Drive 5153 Cruzer Flash Drive 5204 Cruzer Crossfire 5402 U3 Cruzer Micro 5406 Cruzer Micro U3 5408 Cruzer Titanium U3 540e Cruzer Contour Flash Drive 5530 Cruzer 5567 Cruzer Blade 556b Cruzer Edge 556c Ultra 556d Memory Vault 5571 Cruzer Fit 5575 Cruzer Glide 5576 Cruzer Facet 5577 Cruzer Pop (8GB) 557d Cruzer Force 5580 SDCZ80 Flash Drive 5581 Ultra 5583 Ultra Fit 5588 Extreme Pro 5589 SD8SB8U512G[Extreme 500] 558c Extreme Portable SSD 5590 Ultra Dual 5591 Ultra Flair 5e10 Encrypted 6100 Ultra II SD Plus 2GB 6500 uSSD 5000 7100 Cruzer Mini 7101 Pen Flash 7102 Cruzer Mini 7103 Cruzer Mini 7104 Cruzer Micro Mini 256MB Flash Drive 7105 Cruzer Mini 7106 Cruzer Mini 7112 Cruzer Micro 128MB Flash Drive 7113 Cruzer Micro 256MB Flash Drive 7114 Cruzer Mini 7115 Cruzer Mini 7301 Sansa e100 series (mtp) 7302 Sansa e100 series (msc) 7400 Sansa M200 series (mtp) 7401 Sansa M200 series (msc) 7420 Sansa E200 series (mtp) 7421 Sansa E200 Series (msc) 7422 Sansa E200 series v2 (mtp) 7423 Sansa E200 series v2 (msc) 7430 Sansa M200 series 7431 Sansa M200 series V4 (msc) 7432 Sansa Clip (mtp) 7433 Sansa Clip (msc) 7434 Sansa Clip V2 (mtp) 7435 Sansa Clip V2 (msc) 7450 Sansa C250 7451 Sansa C240 7460 Sansa Express 7480 Sansa Connect 7481 Sansa Connect (in recovery mode) 74b0 Sansa View (msc) 74b1 Sansa View (mtp) 74c0 Sansa Fuze (mtp) 74c1 Sansa Fuze (msc) 74c2 Sansa Fuze V2 (mtp) 74c3 Sansa Fuze V2 (msc) 74d0 Sansa Clip+ (mtp) 74d1 Sansa Clip+ (msc) 74e5 Sansa Clip Zip 8181 Pen Flash 8183 Hi-Speed Mass Storage Device 8185 SDCZ2 Cruzer Mini Flash Drive (older, thick) 8888 Card Reader 8889 SDDR-88 Imagemate 8-in-1 Reader 8919 Card Reader 8989 ImageMate 12-in-1 Reader 9191 ImageMate CF 9219 Card Reader 9292 ImageMate CF Reader/Writer 9393 ImageMate SD-MMC 9595 ImageMate xD-SM 9797 ImageMate MS-PRO 9919 Card Reader 9999 SDDR-99 5-in-1 Reader a7c1 Storage device (SD card reader) a7e8 SDDR-113 MicroMate SDHC Reader b2b3 SDDR-103 MobileMate SD+ Reader b2b5 SDDR-104 MobileMate SD+ Reader b4b5 SDDR-89 V4 ImageMate 12-in-1 Reader b6b7 SDDR-99 V4 ImageMate 5-in-1 Reader b6ba CF SDDR-289 cfc9 SDDR-489 ImageMate Pro Reader 0782 Trackerball 0783 C3PO 0003 LTC31 SmartCard Reader 0006 LTC31v2 0009 KBR36 0010 LTC32 0784 Vivitar, Inc. 0100 Vivicam 2655 1310 Vivicam 3305 1688 Vivicam 3665 1689 Gateway DC-M42/Labtec DC-505/Vivitar Vivicam 3705 2620 AOL Photocam Plus 2888 Polaroid DC700 3330 Nytec ND-3200 Camera 4300 Traveler D1 5260 Werlisa Sport PX 100 / JVC GC-A33 Camera 5300 Pretec dc530 0785 NTT-ME 0001 MN128mini-V ISDN TA 0003 MN128mini-J ISDN TA 0789 Logitec Corp. 0026 LHD Device 0033 DVD Multi-plus unit LDR-H443SU2 0063 LDR Device 0064 LDR-R Device 00b3 DVD Multi-plus unit LDR-H443U2 00cc LHD Device 0105 LAN-TX/U1H2 10/100 Ethernet Adapter [pegasus II] 010c Realtek RTL8187 Wireless 802.11g 54Mbps Network Adapter 0160 LAN-GTJ/U2A 0162 LAN-WN22/U2 Wireless LAN Adapter 0163 LAN-WN12/U2 Wireless LAN Adapter 0164 LAN-W150/U2M Wireless LAN Adapter 0166 LAN-W300N/U2 Wireless LAN Adapter 0168 LAN-W150N/U2 Wireless LAN Adapter 0170 LAN-W300AN/U2 Wireless LAN Adapter 078b Happ Controls, Inc. 0010 Driving UGCI 0020 Flying UGCI 0030 Fighting UGCI 078c GTCO/CalComp 0090 Tablet Adapter 0100 Tablet Adapter 0200 Tablet Adapter 0300 Tablet Adapter 0400 Digitizer (Whiteboard) 078e Brincom, Inc. 0790 Pro-Image Manufacturing Co., Ltd 0791 Copartner Wire and Cable Mfg. Corp. 0792 Axis Communications AB 0793 Wha Yu Industrial Co., Ltd 0794 ABL Electronics Corp. 0795 RealChip, Inc. 0796 Certicom Corp. 0797 Grandtech Semiconductor Corp. 6801 Flatbed Scanner 6802 InkJet Color Printer 8001 SmartCam 801a Typhoon StyloCam 801c Meade Binoculars/Camera 8901 ScanHex SX-35a 8909 ScanHex SX-35b 8911 ScanHex SX-35c 0798 Optelec 0001 Braille Voyager 0640 BC640 0680 BC680 0799 Altera 7651 Programming Unit 079b Sagem 0024 MSO300/MSO301 Fingerprint Sensor 0026 MSO350/MSO351 Fingerprint Sensor & SmartCard Reader 0027 USB-Serial Controller 002f Mobile 0030 Mobile Communication Device 0042 Mobile 0047 CBM/MSO1300 Fingerprint Sensor 004a XG-760A 802.11bg 004b Wi-Fi 11g adapter 0052 MSO1350 Fingerprint Sensor & SmartCard Reader 0056 Agfa AP1100 Photo Printer 005d Mobile Mass Storage 0062 XG-76NA 802.11bg 0078 Laser Pro Monochrome MFP 079d Alfadata Computer Corp. 0201 GamePort Adapter 07a1 Digicom S.p.A. d952 Palladio USB V.92 Modem 07a2 National Technical Systems 07a3 Onnto Corp. 07a4 Be, Inc. 07a6 ADMtek, Inc. 07c2 AN986A Ethernet 0986 AN986 Pegasus Ethernet 8266 Infineon WildCard-USB Wireless LAN Adapter 8511 ADM8511 Pegasus II Ethernet 8513 ADM8513 Pegasus II Ethernet 8515 ADM8515 Pegasus II Ethernet 07aa Corega K.K. 0001 Ether USB-T Ethernet [klsi] 0004 FEther USB-TX Ethernet [pegasus] 000c WirelessLAN USB-11 000d FEther USB-TXS 0011 Wireless LAN USB-11 mini 0012 Stick-11 802.11b Adapter 0017 FEther USB2-TX 0018 Wireless LAN USB-11 mini 2 001a ULUSB-11 Key 001c CG-WLUSB2GT 802.11g Wireless Adapter [Intersil ISL3880] 0020 CG-WLUSB2GTST 802.11g Wireless Adapter [Intersil ISL3887] 002e CG-WLUSB2GPX [Ralink RT2571W] 002f CG-WLUSB2GNL 0031 CG-WLUSB2GS 802.11bg [Atheros AR5523] 003c CG-WLUSB2GNL 003f CG-WLUSB300AGN 0041 CG-WLUSB300GNS 0042 CG-WLUSB300GNM 0043 CG-WLUSB300N rev A2 [Realtek RTL8192U] 0047 CG-WLUSBNM 0051 CG-WLUSB300NM 7613 Stick-11 V2 802.11b Adapter 9601 FEther USB-TXC 07ab Freecom Technologies fc01 IDE bridge fc02 Cable II USB-2 fc03 USB2-IDE IDE bridge fc77 Quattro 3.0 fcd6 Freecom HD Classic fcf6 DataBar fcf8 Freecom Classic SL Network Drive fcfe Hard Drive 80GB 07af Microtech 0004 SCSI-DB25 SCSI Bridge [shuttle] 0005 SCSI-HD50 SCSI Bridge [shuttle] 0006 CameraMate SmartMedia and CompactFlash Card Reader [eusb/shuttle] fc01 Freecom USB-IDE 07b0 Trust Technologies 0001 ISDN TA 0002 ISDN TA128 Plus 0003 ISDN TA128 Deluxe 0005 ISDN TA128 SE 0006 ISDN TA 128 [HFC-S] 0007 ISDN TA [HFC-S] 0008 ISDN TA 07b1 IMP, Inc. 07b2 Motorola BCS, Inc. 0100 SURFboard Voice over IP Cable Modem 0900 SURFboard Gateway 0950 SURFboard SBG950 Gateway 1000 SURFboard SBG1000 Gateway 4100 SurfBoard SB4100 Cable Modem 4200 SurfBoard SB4200 Cable Modem 4210 SurfBoard 4210 Cable Modem 4220 SURFboard SB4220 Cable Modem 4500 CG4500 Communications Gateway 450b CG4501 Communications Gateway 450e CG4500E Communications Gateway 5100 SurfBoard SB5100 Cable Modem 5101 SurfBoard SB5101 Cable Modem 5120 SurfBoard SB5120 Cable Modem (RNDIS) 5121 Surfboard 5121 Cable Modem 6002 MTR7000 Cable Tuning Adapter 7030 WU830G 802.11bg Wireless Adapter [Envara WiND512] 07b3 Plustek, Inc. 0001 OpticPro 1212U Scanner 0003 Scanner 0010 OpticPro U12 Scanner 0011 OpticPro U24 Scanner 0013 OpticPro UT12 Scanner 0014 Scanner 0015 OpticPro U24 Scanner 0017 OpticPro UT12/16/24 Scanner 0204 Scanner 0400 OpticPro 1248U Scanner 0401 OpticPro 1248U Scanner #2 0403 OpticPro U16B Scanner 0404 Scanner 0405 A8 Namecard-s Controller 0406 A8 Namecard-D Controller 0410 Scanner 0412 Scanner 0413 OpticSlim 1200 Scanner 0601 OpticPro ST24 Scanner 0800 OpticPro ST48 Scanner 0807 OpticFilm 7200 scanner 0900 OpticBook 3600 Scanner 090c OpticBook 3600 Plus Scanner 0a06 TVcam VD100 0b00 SmartPhoto F50 0c00 OpticPro ST64 Scanner 0c03 OpticPro ST64+ Scanner 0c04 Optic Film 7200i scanner 0c0c PL806 Scanner 0c26 OpticBook 4600 Scanner 0c2b Mobile Office D428 Scanner 0e08 OpticBook A300 Scanner 1300 OpticBook 3800 Scanner 1301 OpticBook 4800 Scanner 130f Bookreader v200 07b4 Olympus Optical Co., Ltd 0100 Camedia C-2100/C-3000 Ultra Zoom Camera 0102 Camedia E-10/C-220/C-50 Camera 0105 Camedia C-310Z/C-700/C-750UZ/C-755/C-765UZ/C-3040/C-4000/C-5050Z/D-560/C-3020Z Zoom Camera 0109 C-370Z/C-500Z/D-535Z/X-450 010a MAUSB-10 xD and SmartMedia Card Reader 0112 MAUSB-100 xD Card Reader 0113 Mju 500 / Stylus Digital Camera (PTP) 0114 C-350Z Camera 0118 Mju Mini Digital/Mju Digital 500 Camera / Stylus 850 SW 0125 Tough TG-1 Camera 0126 VR340/D750 Digital Camera 0184 P-S100 port 0202 Foot Switch RS-26 0203 Digital Voice Recorder DW-90 0206 Digital Voice Recorder DS-330 0207 Digital Voice Recorder & Camera W-10 0209 Digital Voice Recorder DM-20 020b Digital Voice Recorder DS-4000 020d Digital Voice Recorder VN-240PC 0211 Digital Voice Recorder DS-2300 0218 Foot Switch RS-28 0244 Digital Voice Recorder VN-8500PC 024f Digital Voice Recorder DS-7000 0280 m:robe 100 0295 Digital Voice Recorder VN-541PC 07b5 Mega World International, Ltd 0017 Joystick 0213 Thrustmaster Firestorm Digital 3 Gamepad 0312 Gamepad 9902 GamePad 07b6 Marubun Corp. 07b7 TIME Interconnect, Ltd 07b8 AboCom Systems Inc 110c XX1 1201 IEEE 802.11b Adapter 200c XX2 2573 Wireless LAN Card 2770 802.11n/b/g Mini Wireless LAN USB2.0 Adapter 2870 802.11n/b/g Wireless LAN USB2.0 Adapter 3070 802.11n/b/g Mini Wireless LAN USB2.0 Adapter 3071 802.11n/b/g Mini Wireless LAN USB2.0 Adapter 3072 802.11n/b/g Mini Wireless LAN USB2.0 Adapter 4000 DU-E10 Ethernet [klsi] 4002 DU-E100 Ethernet [pegasus] 4003 1/10/100 Ethernet Adapter 4004 XX4 4007 XX5 400b XX6 400c XX7 401a RTL8151 4102 USB 1.1 10/100M Fast Ethernet Adapter 4104 XX9 420a UF200 Ethernet 5301 GW-US54ZGL 802.11bg 6001 WUG2690 802.11bg Wireless Module [ZyDAS ZD1211+AL2230] 8188 AboCom Systems Inc [WN2001 Prolink Wireless-N Nano Adapter] a001 WUG2200 802.11g Wireless Adapter [Envara WiND512] abc1 DU-E10 Ethernet [pegasus] b000 BWU613 b02a AboCom Bluetooth Device b02b Bluetooth dongle b02c BCM92045DG-Flash with trace filter b02d BCM92045DG-Flash with trace filter b02e BCM92045DG-Flash with trace filter b030 BCM92045DG-Flash with trace filter b031 BCM92045DG-Flash with trace filter b032 BCM92045DG-Flash with trace filter b033 BCM92045DG-Flash with trace filter b21a WUG2400 802.11g Wireless Adapter [Texas Instruments TNETW1450] b21b HWU54DM b21c RT2573 b21d RT2573 b21e RT2573 b21f WUG2700 d011 MP3 Player e001 Mass Storage Device e002 Mass Storage Device e003 Mass Storage Device e004 Mass Storage Device e005 Mass Storage Device e006 Mass Storage Device e007 Mass Storage Device e008 Mass Storage Device e009 Mass Storage Device e00a Mass Storage Device e4f0 Card Reader Driver f101 DSB-560 Modem [atlas] 07bc Canon Computer Systems, Inc. 07bd Webgear, Inc. 07be Veridicom 1935 Elektron Music Machines 07c0 Code Mercenaries Hard- und Software GmbH 1113 JoyWarrior24F8 1116 JoyWarrior24F14 1121 The Claw 1500 IO-Warrior 40 1501 IO-Warrior 24 1502 IO-Warrior 48 1503 IO-Warrior 28 1511 IO-Warrior 24 Power Vampire 1512 IO-Warrior 24 Power Vampire 07c1 Keisokugiken 0068 HKS-0200 USBDAQ 07c4 Datafab Systems, Inc. 0102 USB to LS120 0103 USB to IDE 1234 USB to ATAPI a000 CompactFlash Card Reader a001 CompactFlash & SmartMedia Card Reader [eusb] a002 Disk Drive a003 Datafab-based Reader a004 USB to MMC Class Drive a005 CompactFlash & SmartMedia Card Reader a006 SmartMedia Card Reader a007 Memory Stick Class Drive a103 MDSM-B reader a107 USB to Memory Stick (LC1) Drive a109 LC1 CompactFlash & SmartMedia Card Reader a10b USB to CF+MS(LC1) a200 DF-UT-06 Hama MMC/SD Reader a400 CompactFlash & Microdrive Reader a600 Card Reader a604 12-in-1 Card Reader ad01 Mass Storage Device ae01 Mass Storage Device af01 Mass Storage Device b000 USB to CF(LC1) b001 USB to CF+PCMCIA b004 MMC/SD Reader b006 USB to PCMCIA b00a USB to CF+SD Drive(LC1) b00b USB to Memory Stick(LC1) c010 Kingston FCR-HS2/ATA Card Reader 07c5 APG Cash Drawer 0500 Cash Drawer 07c6 ShareWave, Inc. 0002 Bodega Wireless Access Point 0003 Bodega Wireless Network Adapter 07c7 Powertech Industrial Co., Ltd 07c8 B.U.G., Inc. 0202 MN128-SOHO PAL 07c9 Allied Telesyn International b100 AT-USB100 07ca AVerMedia Technologies, Inc. 0002 AVerTV PVR USB/EZMaker Pro Device 0026 AVerTV 0337 A867 DVB-T dongle 0837 H837 Hybrid ATSC/QAM 1228 MPEG-2 Capture Device (M038) 1830 AVerTV Volar Video Capture (H830) 1871 TD310 DVB-T/T2/C dongle 3835 AVerTV Volar Green HD (A835B) 850a AverTV Volar Black HD (A850) 850b AverTV Red HD+ (A850T) a309 AVerTV DVB-T (A309) a801 AVerTV DVB-T (A800) a815 AVerTV DVB-T Volar X (A815) a827 AVerTV Hybrid Volar HX (A827) a867 AVerTV DVB-T (A867) b300 A300 DVB-T TV receiver b800 MR800 FM Radio e880 MPEG-2 Capture Device (E880) e882 MPEG-2 Capture Device (E882) 07cb Kingmax Technology, Inc. 07cc Carry Computer Eng., Co., Ltd 0000 CF Card Reader 0001 Reader (UICSE) 0002 Reader (UIS) 0003 SM Card Reader 0004 SM/CF/PCMCIA Card Reader 0005 Reader (UISA2SE) 0006 SM/CF/PCMCIA Card Reader 0007 Reader (UISA6SE) 000c SM/CF Card Reader 000d SM/CF Card Reader 000e Reader (UISDA) 000f Reader (UICLIK) 0010 Reader (UISMA) 0012 Reader (UISC6SE-FLASH) 0014 Litronic Fortezza Reader 0030 Mass Storage (UISDMC12S) 0040 Mass Storage (UISDMC13S) 0100 Reader (UID) 0101 Reader (UIM) 0102 Reader (UISDMA) 0103 Reader (UISDMC) 0104 Reader (UISDM) 0200 6-in-1 Card Reader 0201 Mass Storage (UISDMC1S & UISDMC3S) 0202 Mass Storage (UISDMC5S) 0203 Mass Storage (UISMC5S) 0204 Mass Storage (UIM4/5S & UIM7S) 0205 Mass Storage (UIS4/5S & UIS7S) 0206 Mass Storage (UISDMC10S & UISDMC11S) 0207 Mass Storage (UPIDMA) 0208 Mass Storage (UCFC II) 0210 Mass Storage (UPIXXA) 0213 Mass Storage (UPIDA) 0214 Mass Storage (UPIMA) 0215 Mass Storage (UPISA) 0217 Mass Storage (UPISDMA) 0223 Mass Storage (UCIDA) 0224 Mass Storage (UCIMA) 0225 Mass Storage (UIS7S) 0227 Mass Storage (UCIDMA) 0234 Mass Storage (UIM7S) 0235 Mass Storage (UIS4S-S) 0237 Velper (UISDMC4S) 0300 6-in-1 Card Reader 0301 6-in-1 Card Reader 0303 Mass Storage (UID10W) 0304 Mass Storage (UIM10W) 0305 Mass Storage (UIS10W) 0308 Mass Storage (UIC10W) 0309 Mass Storage (UISC3W) 0310 Mass Storage (UISDMA2W) 0311 Mass Storage (UISDMC14W) 0320 Mass Storage (UISDMC4W) 0321 Mass Storage (UISDMC37W) 0330 WINTERREADER Reader 0350 9-in-1 Card Reader 0500 Mass Storage 0501 Mass Storage 07cd Elektor 0001 USBuart Serial Port 07ce Nidec Copal c007 DPB-4000 c009 DPB-6000 c010 CPB-7000 07cf Casio Computer Co., Ltd 1001 QV-8000SX/5700/3000EX Digicam; Exilim EX-M20 1003 Exilim EX-S500 1004 Exilim EX-Z120 1011 USB-CASIO PC CAMERA 1116 EXILIM EX-Z19 1125 Exilim EX-H10 Digital Camera (mass storage mode) 1133 Exilim EX-Z350 Digital Camera (mass storage mode) 1225 Exilim EX-H10 Digital Camera (PictBridge mode) 1233 Exilim EX-Z350 Digital Camera (PictBridge mode) 2002 E-125 Cassiopeia Pocket PC 3801 WMP-1 MP3-Watch 4001 Label Printer KL-P1000 4007 CW50 Device 4104 Cw75 Device 4107 CW-L300 Device 4500 LV-20 Digital Camera 6101 fx-9750gII 6102 fx-CP400 6801 PL-40R 6802 MIDI Keyboard 6803 CTK-3500 (MIDI keyboard) 07d0 Dazzle 0001 Digital Video Creator I 0002 Global Village VideoFX Grabber 0003 Fusion Model DVC-50 Rev 1 (NTSC) 0004 DVC-800 (PAL) Grabber 0005 Fusion Video and Audio Ports 0006 DVC 150 Loader Device 0007 DVC 150 0327 Fusion Digital Media Reader 1001 DM-FLEX DFU Adapter 1002 DMHS2 DFU Adapter 1102 CF Reader/Writer 1103 SD Reader/Writer 1104 SM Reader/Writer 1105 MS Reader/Writer 1106 xD/SM Reader/Writer 1202 MultiSlot Reader/Writer 2000 FX2 DFU Adapter 2001 eUSB CompactFlash Reader 4100 Kingsun SF-620 Infrared Adapter 4101 Connectivity Cable (CA-42 clone) 4959 Kingsun KS-959 Infrared Adapter 07d1 D-Link System 13ec VvBus for Helium 2xx 13ed VvBus for Helium 2xx 13f1 DSL-302G Modem 13f2 DSL-502G Router 3300 DWA-130 802.11n Wireless N Adapter(rev.E) [Realtek RTL8191SU] 3302 DWA-130 802.11n Wireless N Adapter(rev.C2) [Realtek RTL8191SU] 3303 DWA-131 802.11n Wireless N Nano Adapter(rev.A1) [Realtek RTL8192SU] 3304 FR-300USB 802.11bgn Wireless Adapter 3a07 WUA-2340 RangeBooster G Adapter(rev.A) [Atheros AR5523] 3a08 WUA-2340 RangeBooster G Adapter(rev.A) (no firmware) [Atheros AR5523] 3a09 DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.A2) [Atheros AR9170+AR9104] 3a0d DWA-120 802.11g Wireless 108G Adapter [Atheros AR5523] 3a0f DWA-130 802.11n Wireless N Adapter(rev.D) [Atheros AR9170+AR9102] 3a10 DWA-126 802.11n Wireless Adapter [Atheros AR9271] 3b01 AirPlus G DWL-G122 Wireless Adapter(rev.D) [Marvell 88W8338+88W8010] 3b10 DWA-142 RangeBooster N Adapter [Marvell 88W8362+88W8060] 3b11 DWA-130 802.11n Wireless N Adapter(rev.A1) [Marvell 88W8362+88W8060] 3c03 AirPlus G DWL-G122 Wireless Adapter(rev.C1) [Ralink RT2571W] 3c04 WUA-1340 3c05 EH103 Wireless G Adapter 3c06 DWA-111 802.11bg Wireless Adapter [Ralink RT2571W] 3c07 DWA-110 Wireless G Adapter(rev.A1) [Ralink RT2571W] 3c09 DWA-140 RangeBooster N Adapter(rev.B1) [Ralink RT2870] 3c0a DWA-140 RangeBooster N Adapter(rev.B2) [Ralink RT3072] 3c0b DWA-110 Wireless G Adapter(rev.B) [Ralink RT2870] 3c0d DWA-125 Wireless N 150 Adapter(rev.A1) [Ralink RT3070] 3c0e WUA-2340 RangeBooster G Adapter(rev.B) [Ralink RT2070] 3c0f AirPlus G DWL-G122 Wireless Adapter(rev.E1) [Ralink RT2070] 3c10 DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.A1) [Atheros AR9170+AR9104] 3c11 DWA-160 Xtreme N Dual Band USB Adapter(rev.B) [Ralink RT2870] 3c13 DWA-130 802.11n Wireless N Adapter(rev.B) [Ralink RT2870] 3c15 DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT2870] 3c16 DWA-125 Wireless N 150 Adapter(rev.A2) [Ralink RT3070] 3e02 DWM-156 3.75G HSUPA Adapter 5100 Remote NDIS Device a800 DWM-152 3.75G HSUPA Adapter f101 DBT-122 Bluetooth fc01 DBT-120 Bluetooth Adapter 07d2 Aptio Products, Inc. 07d3 Cyberdata Corp. 07d5 Radiant Systems 07d7 GCC Technologies, Inc. 07da Arasan Chip Systems 07de Diamond Multimedia 2820 VC500 Video Capture Dongle 07df David Electronics Co., Ltd 07e0 NCP engineering GmbH 4742 VPN GovNet Box 07e1 Ambient Technologies, Inc. 5201 V.90 Modem 07e2 Elmeg GmbH & Co., Ltd 07e3 Planex Communications, Inc. 07e4 Movado Enterprise Co., Ltd 0967 SCard R/W CSR-145 0968 SCard R/W CSR-145 07e5 QPS, Inc. 05c2 IDE-to-USB2.0 PCA 5c01 Que! CDRW 07e6 Allied Cable Corp. 07e7 Mirvo Toys, Inc. 07e8 Labsystems 07ea Iwatsu Electric Co., Ltd 07eb Double-H Technology Co., Ltd 07ec Taiyo Electric Wire & Cable Co., Ltd 07ee Torex Retail (formerly Logware) 0002 Cash Drawer I/F 07ef STSN 0001 Internet Access Device 07f2 Microcomputer Applications, Inc. 0001 KEYLOK II 07f6 Circuit Assembly Corp. 07f7 Century Corp. 0005 ScanLogic/Century Corporation uATA 011e Century USB Disk Enclosure 07f9 Dotop Technology, Inc. 07fa DrayTek Corp. 0778 miniVigor 128 ISDN TA 0846 ISDN TA [HFC-S] 0847 ISDN TA [HFC-S] 1012 BeWAN ADSL USB ST (grey) 1196 BWIFI-USB54AR 802.11bg a904 BeWAN ADSL a905 BeWAN ADSL ST 07fc Thomann 1113 SWISSONIC EasyKeys61 Midikeyboard 07fd Mark of the Unicorn 0000 FastLane MIDI Interface 0001 MIDI Interface 0002 MOTU Audio for 64 bit 0004 MicroBook 0008 M Series 07ff Unknown 00ff Portable Hard Drive ffff Mad Catz Gamepad 0801 MagTek 0001 Mini Swipe Reader (Keyboard Emulation) 0002 Mini Swipe Reader 0003 Magstripe Insert Reader 0802 Mako Technologies, LLC 0803 Zoom Telephonics, Inc. 1300 V92 Faxmodem 3095 V.92 56K Mini External Modem Model 3095 4310 4410a Wireless-G Adapter [Intersil ISL3887] 4410 4410b Wireless-G Adapter [ZyDAS ZD1211B] 5241 Cable Modem 5551 DSL Modem 9700 2986L FaxModem 9800 Cable Modem a312 Wireless-G 0809 Genicom Technology, Inc. 080a Evermuch Technology Co., Ltd 080b Cross Match Technologies 0002 Fingerprint Scanner (After ReNumeration) 0010 300LC Series Fingerprint Scanner (Before ReNumeration) 080c Datalogic S.p.A. 0300 Gryphon D120 Barcode Scanner 0400 Gryphon D120 Barcode Scanner 0500 Gryphon D120 Barcode Scanner 0600 Gryphon M100 Barcode Scanner 080d Teco Image Systems Co., Ltd 0102 Hercules Scan@home 48 0104 3.2Slim 0110 UMAX AstraSlim 1200 Scanner 0810 Personal Communication Systems, Inc. 0001 Dual PSX Adaptor 0002 Dual PCS Adaptor 0003 PlayStation Gamepad e001 Twin controller e501 SNES Gamepad 0813 Mattel, Inc. 0001 Intel Play QX3 Microscope 0002 Dual Mode Camera Plus 0819 eLicenser 0101 License Management and Copy Protection 081a MG Logic 1000 Duo Pen Tablet 081b Indigita Corp. 0600 Storage Adapter 0601 Storage Adapter 081c Mipsys 081e AlphaSmart, Inc. df00 Handheld 081f Manta e401 MM812 0822 Reudo Corp. 2001 IRXpress Infrared Device 0825 GC Protronics 0826 Data Transit 0827 BroadLogic, Inc. 0828 Sato Corp. 0829 DirecTV Broadband, Inc. (Telocity) 082d Handspring 0100 Visor 0200 Treo 0300 Treo 600 0400 Handheld 0500 Handheld 0600 Handheld 0830 Palm, Inc. 0001 m500 0002 m505 0003 m515 0004 Handheld 0005 Handheld 0006 Handheld 0010 Handheld 0011 Handheld 0012 Handheld 0013 Handheld 0014 Handheld 0020 i705 0021 Handheld 0022 Handheld 0023 Handheld 0024 Handheld 0030 Handheld 0031 Tungsten W 0032 Handheld 0033 Handheld 0034 Handheld 0040 m125 0041 Handheld 0042 Handheld 0043 Handheld 0044 Handheld 0050 m130 0051 Handheld 0052 Handheld 0053 Handheld 0054 Handheld 0060 Tungsten C/E/T/T2/T3 / Zire 71 0061 Lifedrive / Treo 650/680 / Tunsten E2/T5/TX / Centro / Zire 21/31/72 / Z22 0062 Handheld 0063 Handheld 0064 Handheld 0070 Zire 0071 Handheld 0072 Handheld 0080 Serial Adapter [for Palm III] 0081 Handheld 0082 Handheld 00a0 Treo 800w 0101 Pre 0832 Kouwell Electronics Corp. 5850 Cable 0833 Sourcenext Corp. 012e KeikaiDenwa 8 with charger 039f KeikaiDenwa 8 0835 Action Star Enterprise Co., Ltd 0836 TrekStor 2836 i.Beat mood 0839 Samsung Techwin Co., Ltd 0005 Digimax Camera 0008 Digimax 230 Camera 0009 Digimax 340 000a Digimax 410 000e Digimax 360 0010 Digimax 300 1003 Digimax 210SE 1005 Digimax 220 1009 Digimax V4 1012 6500 Document Camera 103f Digimax S500 1058 S730 Camera 1064 Digimax D830 Camera 1542 Digimax 50 Duo 3000 Digimax 35 MP3 083a Accton Technology Corp. 1046 10/100 Ethernet [pegasus] 1060 HomeLine Adapter 1f4d SMC8013WG Broadband Remote NDIS Device 3046 10/100 Series Adapter 3060 1/10/100 Adapter 3501 2664W 3502 WN3501D Wireless Adapter 3503 T-Sinus 111 Wireless Adapter 4501 T-Sinus 154data 4502 Siemens S30853-S1016-R107 802.11g Wireless Adapter [Intersil ISL3886] 4505 SMCWUSB-G 802.11bg 4507 SMCWUSBT-G2 802.11g Wireless Adapter [Atheros AR5523] 4521 Siemens S30863-S1016-R107-2 802.11g Wireless Adapter [Intersil ISL3887] 4531 T-Com Sinus 154 data II [Intersil ISL3887] 5046 SpeedStream 10/100 Ethernet [pegasus] 5501 Wireless Adapter 11g 6500 Cable Modem 6618 802.11n Wireless Adapter 7511 Arcadyan 802.11N Wireless Adapter 7512 Arcadyan 802.11N Wireless Adapter 7522 Arcadyan 802.11N Wireless Adapter 8522 Arcadyan 802.11N Wireless Adapter 8541 WN4501F 802.11g Wireless Adapter [Intersil ISL3887] a512 Arcadyan 802.11N Wireless Adapter a618 SMCWUSBS-N EZ Connect N Draft 11n Wireless Adapter [Ralink RT2870] a701 SMCWUSBS-N3 EZ Connect N Wireless Adapter [Ralink RT3070] b004 CPWUE001 USB/Ethernet Adapter b522 SMCWUSBS-N2 EZ Connect N Wireless Adapter [Ralink RT2870] bb01 BlueExpert Bluetooth Device c003 802.11b Wireless Adapter c501 Zoom 4410 Wireless-G [Intersil ISL3887] c561 802.11a/g Wireless Adapter d522 Speedport W 102 Stick IEEE 802.11n USB 2.0 Adapter e501 ZD1211B e503 Arcadyan WN4501 802.11b/g e506 WUS-201 802.11bg f501 802.11g Wireless Adapter f502 802.11g Wireless Adapter f522 Arcadyan WN7512 802.11n 083f Global Village b100 TelePort V.90 Fax/Modem 0840 Argosy Research, Inc. 0060 Storage Adapter Bridge Module 0841 Rioport.com, Inc. 0001 Rio 500 0844 Welland Industrial Co., Ltd 0846 NetGear, Inc. 1001 EA101 10 Mbps 10BASE-T Ethernet [Kawasaki LSI KL5KLUSB101B] 1002 Ethernet 1020 FA101 Fast Ethernet USB 1.1 1040 FA120 Fast Ethernet USB 2.0 [Asix AX88172 / AX8817x] 1100 Managed Switch M4100 series, M5300 series, M7100 series 4110 MA111(v1) 802.11b Wireless [Intersil Prism 3.0] 4200 WG121(v1) 54 Mbps Wireless [Intersil ISL3886] 4210 WG121(v2) 54 Mbps Wireless [Intersil ISL3886] 4220 WG111(v1) 54 Mbps Wireless [Intersil ISL3886] 4230 MA111(v2) 802.11b Wireless [SIS SIS 162] 4240 WG111(v1) rev 2 54 Mbps Wireless [Intersil ISL3887] 4260 WG111v3 54 Mbps Wireless [realtek RTL8187B] 4300 WG111U Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX] 4301 WG111U (no firmware) Double 108 Mbps Wireless [Atheros AR5004X / AR5005UX] 5f00 WPN111 802.11g Wireless Adapter [Atheros AR5523] 68e1 LB1120-100NAS 6a00 WG111v2 54 Mbps Wireless [RealTek RTL8187L] 7100 WN121T RangeMax Next Wireless-N [Marvell TopDog] 9000 WN111(v1) RangeMax Next Wireless [Marvell 88W8362+88W8060] 9001 WN111(v2) RangeMax Next Wireless [Atheros AR9170+AR9101] 9010 WNDA3100v1 802.11abgn [Atheros AR9170+AR9104] 9011 WNDA3100v2 802.11abgn [Broadcom BCM4323] 9012 WNDA4100 802.11abgn 3x3:3 [Ralink RT3573] 9014 WNDA3100v3 802.11abgn 2x2:2 [MediaTek MT7632U] 9018 WNDA3200 802.11abgn Wireless Adapter [Atheros AR7010+AR9280] 9020 WNA3100(v1) Wireless-N 300 [Broadcom BCM43231] 9021 WNA3100M(v1) Wireless-N 300 [Realtek RTL8192CU] 9030 WNA1100 Wireless-N 150 [Atheros AR9271] 9040 WNA1000 Wireless-N 150 [Atheros AR9170+AR9101] 9041 WNA1000M 802.11bgn [Realtek RTL8188CUS] 9042 On Networks N150MA 802.11bgn [Realtek RTL8188CUS] 9043 WNA1000Mv2 802.11bgn [Realtek RTL8188CUS?] 9050 A6200 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] 9051 A6200v2 802.11a/b/g/n/ac (2x2) Wireless Adapter [Realtek RTL8812AU] 9052 A6100 AC600 DB Wireless Adapter [Realtek RTL8811AU] 9054 Nighthawk A7000 802.11ac Wireless Adapter AC1900 [Realtek 8814AU] a001 PA101 10 Mbps HPNA Home Phoneline RJ-1 f001 On Networks N300MA 802.11bgn [Realtek RTL8192CU] 084d Minton Optic Industry Co., Inc. 0001 Jenoptik JD800i 0003 S-Cam F5/D-Link DSC-350 Digital Camera 0011 Argus DC3500 Digital Camera 0014 Praktica DC 32 0019 Praktica DPix3000 0025 Praktica DC 60 1001 ScanHex SX-35d 084e KB Gear 0001 JamCam Camera 1001 Jam Studio Tablet 1002 Pablo Tablet 084f Empeg 0001 Empeg-Car Mark I/II Player 0850 Fast Point Technologies, Inc. 0851 Macronix International Co., Ltd 1542 SiPix Blink 1543 Maxell WS30 Slim Digital Camera, or Pandigital PI8004W01 digital photo frame a168 MXIC 0852 CSEM 0853 Topre Corporation 0100 HHKB Professional 0119 RealForce 105UB 0200 RealForce Compact Keyboard 0854 ActiveWire, Inc. 0100 I/O Board 0101 I/O Board, rev1 0856 B&B Electronics ac01 uLinks USOTL4 RS422/485 Adapter 0858 Hitachi Maxell, Ltd 3102 Bluetooth Device ffff Maxell module with BlueCore in DFU mode 0859 Minolta Systems Laboratory, Inc. 085a Xircom 0001 Portstation Dual Serial Port 0003 Portstation Paraller Port 0008 Ethernet 0009 Ethernet 000b Portstation Dual PS/2 Port 0021 1 port to Serial Converter 0022 Parallel Port 0023 2 port to Serial Converter 0024 Parallel Port 0026 PortGear SCSI 0027 1 port to Serial Converter 0028 PortGear to SCSI Converter 0032 PortStation SCSI Module 003c Bluetooth Adapter 0299 Colorvision, Inc. Monitor Spyder 8021 1 port to Serial 8023 2 port to Serial 8027 PGSDB9 Serial Port 085c ColorVision, Inc. 0100 Spyder 1 0200 Spyder 2 0300 Spyder 3 0400 Spyder 4 0862 Teletrol Systems, Inc. 0863 Filanet Corp. 0864 NetGear, Inc. 4100 MA101 802.11b Adapter 4102 MA101 802.11b Adapter 0867 Data Translation, Inc. 9812 ECON Data acquisition unit 9816 DT9816 ECON data acquisition module 9836 DT9836 data acquisition card 086a Emagic Soft- und Hardware GmbH 0001 Unitor8 0002 AMT8 0003 MT4 086c DeTeWe - Deutsche Telephonwerke AG & Co. 1001 Eumex 504PC ISDN TA 1002 Eumex 504PC (FlashLoad) 1003 TA33 ISDN TA 1004 TA33 (FlashLoad) 1005 Eumex 604PC HomeNet 1006 Eumex 604PC HomeNet (FlashLoad) 1007 Eumex 704PC DSL 1008 Eumex 704PC DSL (FlashLoad) 1009 Eumex 724PC DSL 100a Eumex 724PC DSL (FlashLoad) 100b OpenCom 30 100c OpenCom 30 (FlashLoad) 100d BeeTel Home 100 100e BeeTel Home 100 (FlashLoad) 1011 USB2DECT 1012 USB2DECT (FlashLoad) 1013 Eumex 704PC LAN 1014 Eumex 704PC LAN (FlashLoad) 1019 Eumex 504 SE 101a Eumex 504 SE (Flash-Mode) 1021 OpenCom 40 1022 OpenCom 40 (FlashLoad) 1023 OpenCom 45 1024 OpenCom 45 (FlashLoad) 1025 Sinus 61 data 1029 dect BOX 102c Eumex 604PC HomeNet [FlashLoad] 1030 Eumex 704PC DSL [FlashLoad] 1032 OpenCom 40 [FlashLoad] 1033 OpenCom 30 plus 1034 OpenCom 30 plus (FlashLoad) 1041 Eumex 220PC 1042 Eumex 220PC (FlashMode) 1055 Eumex 220 Version 2 ISDN TA 1056 Eumex 220 Version 2 ISDN TA (Flash-Mode) 2000 OpenCom 1000 086e System TALKS, Inc. 1920 SGC-X2UL 086f MEC IMEX, Inc. 0870 Metricom 0001 Ricochet GS 0871 SanDisk, Inc. 0001 SDDR-01 Compact Flash Reader 0002 SDDR-31 Compact Flash Reader 0005 SDDR-05 Compact Flash Reader 0873 Xpeed, Inc. 0874 A-Tec Subsystem, Inc. 0879 Comtrol Corp. 087c Adesso/Kbtek America, Inc. 087d Jaton Corp. 5704 Ethernet 087e Fujitsu Computer Products of America 087f QualCore Logic Inc. 0880 APT Technologies, Inc. 0883 Recording Industry Association of America (RIAA) 0885 Boca Research, Inc. 0886 XAC Automation Corp. 0630 Intel PC Camera CS630 0887 Hannstar Electronics Corp. 088a TechTools 1002 DigiView DV3100 088b MassWorks, Inc. 4944 MassWorks ID-75 TouchScreen 088c Swecoin AB 2030 Ticket Printer TTP 2030 088e iLok 5036 Portable secure storage for software licenses 0892 DioGraphy, Inc. 0101 Smartdio Reader/Writer 0894 TSI Incorporated 0010 Remote NDIS Network Device 0897 Lauterbach 0001 ICE In-Circuit Emulator 0002 Power Debug/Power Debug II 0004 PowerDebug 0005 PowerDebug PRO 089c United Technologies Research Cntr. 089d Icron Technologies Corp. 089e NST Co., Ltd 089f Primex Aerospace Co. 08a5 e9, Inc. 08a6 Toshiba TEC 0051 B-SV4 08a8 Andrea Electronics 08a9 CWAV Inc. 0005 USBee ZX 0009 USBee SX 0012 USBee AX-Standard 0013 USBee AX-Plus 0014 USBee AX-Pro 0015 USBee DX 08ac Macraigor Systems LLC 2024 usbWiggler 08ae Macally (Mace Group, Inc.) 08b0 Metrohm 0006 814 Sample Processor 0015 857 Titrando 001a 852 Titrando 08b4 Sorenson Vision, Inc. 08b7 NATSU 0001 Playstation adapter 08b8 J. Gordon Electronic Design, Inc. 01f4 USBSIMM1 08b9 RadioShack Corp. (Tandy) 08bb Texas Instruments 2702 PCM2702 16-bit stereo audio DAC 2704 PCM2704 16-bit stereo audio DAC 2705 PCM2705 stereo audio DAC 2706 PCM2706 stereo audio DAC 2707 PCM2707 stereo audio DAC 27c4 PCM2704C stereo audio DAC 27c5 PCM2705C stereo audio DAC 27c6 PCM2706C stereo audio DAC 27c7 PCM2707C stereo audio DAC 2900 PCM2900 Audio Codec 2901 PCM2901 Audio Codec 2902 PCM2902 Audio Codec 2904 PCM2904 Audio Codec 2910 PCM2912 Audio Codec 2912 PCM2912A Audio Codec 29b0 PCM2900B Audio CODEC 29b2 PCM2902 Audio CODEC 29b3 PCM2903B Audio CODEC 29b6 PCM2906B Audio CODEC 29c0 PCM2900C Audio CODEC 29c2 PCM2902C Audio CODEC 29c3 PCM2903C Audio CODEC 29c6 PCM2906C Audio CODEC 08bd Citizen Watch Co., Ltd 0208 CLP-521 Label Printer 1100 X1-USB Floppy 08c3 Precise Biometrics 0001 100 SC 0002 100 A 0003 100 SC BioKeyboard 0006 100 A BioKeyboard 0100 100 MC ISP 0101 100 MC FingerPrint and SmartCard Reader 0300 100 AX 0400 100 SC 0401 150 MC 0402 200 MC FingerPrint and SmartCard Reader 0404 100 SC Upgrade 0405 150 MC Upgrade 0406 100 MC Upgrade 08c4 Proxim, Inc. 0100 Skyline 802.11b Wireless Adapter 02f2 Farallon Home Phoneline Adapter 08c7 Key Nice Enterprise Co., Ltd 08c8 2Wire, Inc. 08c9 Nippon Telegraph and Telephone Corp. 08ca Aiptek International, Inc. 0001 Tablet 0010 Tablet 0020 APT-6000U Tablet 0021 APT-2 Tablet 0022 Tablet 0023 Tablet 0024 Tablet 0100 Pen Drive 0102 DualCam 0103 Pocket DV Digital Camera 0104 Pocket DVII 0105 Mega DV(Disk) 0106 Pocket DV3100+ 0107 Pocket DV3100 0109 Nisis DV4 Digital Camera 010a Trust 738AV LCD PV Mass Storage 0111 PenCam VGA Plus 2008 Mini PenCam 2 2010 Pocket CAM 3 Mega (webcam) 2011 Pocket CAM 3 Mega (storage) 2016 PocketCam 2 Mega 2018 Pencam SD 2M 2019 Pencam SD 2M (mass storage mode) 2020 Slim 3000F 2022 Slim 3200 2024 Pocket DV3500 2028 Pocket Cam4M 2040 Pocket DV4100M 2042 Pocket DV5100M Composite Device 2043 Pocket DV5100M (Disk) 2060 Pocket DV5300 08cd Jue Hsun Ind. Corp. 08ce Long Well Electronics Corp. 08cf Productivity Enhancement Products 08d1 smartBridges, Inc. 0001 smartNIC Ethernet [catc] 0003 smartNIC 2 PnP Ethernet 08d3 Virtual Ink 08d4 Fujitsu Siemens Computers 0009 SCR SmartCard Reader 08d8 IXXAT Automation GmbH 0002 USB-to-CAN compact 0003 USB-to-CAN II 0100 USB-to-CAN 08d9 Increment P Corp. 08dd Billionton Systems, Inc. 0112 Wireless LAN Adapter 0113 Wireless LAN Adapter 0986 USB-100N Ethernet [pegasus] 0987 USBLP-100 HomePNA Ethernet [pegasus] 0988 USBEL-100 Ethernet [pegasus] 1986 10/100 LAN Adapter 2103 DVB-T TV-Tuner Card-R 8511 USBE-100 Ethernet [pegasus2] 90ff USB2AR Ethernet 08de ??? 7a01 802.11b Adapter 08df Spyrus, Inc. 0001 Rosetta Token V1 0002 Rosetta Token V2 0003 Rosetta Token V3 0a00 Lynks Interface 08e3 Olitec, Inc. 0002 USB-RS232 Bridge 0100 Interface ADSL 0101 Interface ADSL 0102 ADSL 0301 RNIS ISDN TA [HFC-S] 08e4 Pioneer Corp. 0184 DDJ-WeGO 0185 DDJ-WeGO2 08e5 Litronic 08e6 Gemalto (was Gemplus) 0001 GemPC-Touch 430 0430 GemPC430 SmartCard Reader 0432 GemPC432 SmartCard Reader 0435 GemPC435 SmartCard Reader 0437 GemPC433 SL SmartCard Reader 1359 UA SECURE STORAGE TOKEN 2202 Gem e-Seal Pro Token 3437 GemPC Twin SmartCard Reader 3438 GemPC Key SmartCard Reader 3478 PinPad Smart Card Reader 34ec Compact Smart Card Reader Writer 4433 GemPC433-Swap 5501 GemProx-PU Contactless Smart Card Reader 5503 Prox-DU Contactless Interface ace0 UA HYBRID TOKEN 08e7 Pan-International Wire & Cable 08e8 Integrated Memory Logic 08e9 Extended Systems, Inc. 0100 XTNDAccess IrDA Dongle 08ea Ericsson, Inc., Blue Ridge Labs 00c9 ADSL Modem HM120dp Loader 00ca ADSL WAN Modem HM120dp 00ce HM230d Virtual Bus for Helium abba USB Driver for Bluetooth Wireless Technology abbb Bluetooth Device in DFU State 08ec M-Systems Flash Disk Pioneers 0001 TravelDrive 2C 0002 TravelDrive 2C 0005 TravelDrive 2C 0008 TravelDrive 2C 0010 DiskOnKey 0011 DiskOnKey 0012 TravelDrive 2C 0014 TravelDrive 2C 0015 Kingston DataTraveler ELITE 0016 Kingston DataTraveler U3 0020 TravelDrive Intuix U3 2GB 0021 TravelDrive 0022 TravelDrive 0023 TravelDrive 0024 TravelDrive 0025 TravelDrive 0026 TravelDrive 0027 TravelDrive 0028 TravelDrive 0029 TravelDrive 0030 TravelDrive 0822 TravelDrive 2C 0832 Hi-Speed Mass Storage Device 0834 M-Disk 220 0998 Kingston Data Traveler2.0 Disk Driver 0999 Kingston Data Traveler2.0 Disk Driver 1000 TravelDrive 2C 2000 TravelDrive 2C 2038 TravelDrive 2039 TravelDrive 204a TravelDrive 204b TravelDrive 08ed MediaTek Inc. 0002 CECT M800 memory card 08ee CCSI/Hesso 08f0 Corex Technologies 0005 CardScan 800c 08f1 CTI Electronics Corp. 08f2 Gotop Information Inc. 007f Super Q2 Tablet 08f5 SysTec Co., Ltd 08f6 Logic 3 International, Ltd 08f7 Vernier 0001 LabPro 0002 EasyTemp/Go!Temp 0003 Go!Link 0004 Go!Motion 08f8 Keen Top International Enterprise Co., Ltd 08f9 Wipro Technologies 08fa Caere 08fb Socket Communications 08fc Sicon Cable Technology Co., Ltd 08fd Digianswer A/S 0001 Bluetooth Device 08ff AuthenTec, Inc. 1600 AES1600 1610 AES1600 1660 AES1660 Fingerprint Sensor 1680 AES1660 Fingerprint Sensor 168f AES1660 Fingerprint Sensor 2500 AES2501 2501 AES2501 2502 AES2501 2503 AES2501 2504 AES2501 2505 AES2501 2506 AES2501 2507 AES2501 2508 AES2501 2509 AES2501 250a AES2501 250b AES2501 250c AES2501 250d AES2501 250e AES2501 250f AES2501 2510 AES2510 2550 AES2550 Fingerprint Sensor 2580 AES2501 Fingerprint Sensor 2588 AES2501 2589 AES2501 258a AES2501 258b AES2501 258c AES2501 258d AES2501 258e AES2501 258f AES2501 2660 AES2660 Fingerprint Sensor 2680 AES2660 Fingerprint Sensor 268f AES2660 Fingerprint Sensor 2810 AES2810 3400 AES3400 TruePrint Sensor 3401 AES3400 Sensor 3402 AES3400 Sensor 3403 AES3400 Sensor 3404 AES3400 TruePrint Sensor 3405 AES3400 TruePrint Sensor 3406 AES3400 TruePrint Sensor 3407 AES3400 TruePrint Sensor 4902 BioMV with TruePrint AES3500 4903 BioMV with TruePrint AES3400 5500 AES4000 5501 AES4000 TruePrint Sensor 5503 AES4000 TruePrint Sensor 5505 AES4000 TruePrint Sensor 5507 AES4000 TruePrint Sensor 55ff AES4000 TruePrint Sensor. 5700 AES3500 Fingerprint Reader 5701 AES3500 TruePrint Sensor 5702 AES3500 TruePrint Sensor 5703 AES3500 TruePrint Sensor 5704 AES3500-BZ TruePrint Sensor 5705 AES3500-BZ TruePrint Sensor 5706 AES3500-BZ TruePrint Sensor 5707 AES3500-BZ TruePrint Sensor 5710 AES3500 TruePrint Sensor 5711 AES3500 TruePrint Sensor 5712 AES3500 TruePrint Sensor 5713 AES3500 TruePrint Sensor 5714 AES3500-BZ TruePrint Sensor 5715 AES3500-BZ TruePrint Sensor 5716 AES3500-BZ TruePrint Sensor 5717 AES3500-BZ TruePrint Sensor 5730 AES3500 TruePrint Sensor 5731 AES3500 TruePrint Sensor 5732 AES3500 TruePrint Sensor 5733 AES3500 TruePrint Sensor 5734 AES3500-BZ TruePrint Sensor 5735 AES3500-BZ TruePrint Sensor 5736 AES3500-BZ TruePrint Sensor 5737 AES3500-BZ TruePrint Sensor afe3 FingerLoc Sensor Module (Anchor) afe4 FingerLoc Sensor Module (Anchor) afe5 FingerLoc Sensor Module (Anchor) afe6 FingerLoc Sensor Module (Anchor) fffd AES2510 Sensor (USB Emulator) ffff Sensor (Emulator) 0900 Pinnacle Systems, Inc. 0901 VST Technologies 0001 Hard Drive Adapter (TPP) 0002 SigmaDrive Adapter (TPP) 0906 Faraday Technology Corp. 0908 Siemens AG 01f4 SIMATIC NET CP 5711 01fe SIMATIC NET PC Adapter A2 04b1 MediSET 04b2 NC interface 04b3 keyboard front panel Cockpit 04b4 SCR_CCID 2701 ShenZhen SANZHAI Technology Co.,Ltd Spy Pen VGA 0909 Audio-Technica Corp. 090a Trumpion Microelectronics, Inc. 1001 T33520 Flash Card Controller 1100 Comotron C3310 MP3 player 1200 MP3 player 1540 Digitex Container Flash Disk 090b Neurosmith 090c Silicon Motion, Inc. - Taiwan (formerly Feiya Technology Corp.) 0371 Silicon Motion SM371 Camera 0373 Silicon Motion Camera 037a Silicon Motion Camera 037b Silicon Motion Camera 037c 300k Pixel Camera 1000 Flash Drive 1132 5-in-1 Card Reader 337b Silicon Motion Camera 3710 Silicon Motion Camera 3720 Silicon Motion Camera 37bc HP Webcam-101 Integrated Camera 37c0 Silicon Motion Camera 6000 SD/SDHC Card Reader (SG365 / FlexiDrive XC+) 6200 microSD card reader 71b3 SM731 Camera 837b Silicon Motion Camera 937b Silicon Motion Camera b370 Silicon Motion SM370 Camera b371 Silicon Motion SM371 Camera f37d Endoscope camera 090d Multiport Computer Vertriebs GmbH 090e Shining Technology, Inc. 090f Fujitsu Devices, Inc. 0910 Alation Systems, Inc. 0911 Philips Speech Processing 0c1c SpeechMike III 149a SpeechMike II Pro Plus LFH5276 2512 SpeechMike Pro 0912 Voquette, Inc. 0915 GlobeSpan, Inc. 0001 DSL Modem 0002 ADSL ATM Modem 0005 LAN Modem 2000 802.11 Adapter 2002 802.11 Adapter 8000 ADSL LAN Modem 8005 DSL-302G Modem 8101 ADSL WAN Modem 8102 DSL-200 ADSL Modem 8103 DSL-200 ADSL Modem 8104 DSL-200 Modem 8400 DSL Modem 8401 DSL Modem 8402 DSL Modem 8500 DSL Modem 8501 DSL Modem 0917 SmartDisk Corp. 0001 eFilm Reader-11 SM/CF 0002 eFilm Reader-11 SM 0003 eFilm Reader-11 CF 0200 FireFly 0201 FireLite 0202 STORAGE ADAPTER (FirePower) 0204 FlashTrax Storage 0205 STORAGE ADAPTER (CrossFire) 0206 FireFly 20G HDD 0207 FireLite 020f STORAGE ADAPTER (FireLite) da01 eFilm Reader-11 Test ffff eFilm Reader-11 (Class/PDR) 0919 Tiger Electronics 0100 Fast Flicks Digital Camera 091e Garmin International 0003 GPS (various models) 0004 iQue 3600 0200 Data Card Programmer (install) 086e Forerunner 735XT 097f Forerunner 235 1200 Data Card Programmer 21a5 etrex Cx (msc) 2236 nuvi 360 2271 Edge 605/705 2295 Colorado 300 22b6 eTrex Vista HCx (Mass Storage mode) 231b Oregon 400t 2353 Nüvi 205T 2380 Oregon series 23cc nüvi 1350 2459 GPSmap 62/78 series 2491 Edge 800 2518 eTrex 10 2519 eTrex 30 2535 Edge 800 253c GPSmap 62sc 255b Nuvi 2505LM 2613 Edge 200 TWN 26a1 Nuvi 55 2802 fenix 3 28db Drive 5 47fb nuviCam 4cdb Fenix 6 0920 Echelon Co. 7500 Network Interface 0921 GoHubs, Inc. 1001 GoCOM232 Serial 0922 Dymo-CoStar Corp. 0007 LabelWriter 330 0009 LabelWriter 310 0013 LabelManager 400 0019 LabelWriter 400 001a LabelWriter 400 Turbo 0020 LabelWriter 450 0400 LabelWriter SE450 1001 LabelManager PnP 8003 M10 Digital Postal Scale 8004 M25 Digital Postal Scale 8009 S250 Digital Postal Scale 0923 IC Media Corp. 010f SIIG MobileCam 0924 Xerox 23dd DocuPrint M760 (X760_USB) 3ce8 Phaser 3428 Printer 3cea Phaser 3125 3cec Phaser 3250 3d5b Phaser 6115MFP TWAIN Scanner 3d6d WorkCentre 6015N/NI 420f WorkCentre PE220 Series 421f M20 Scanner 423b Printing Support 4274 Xerox Phaser 3635MFPX ffef WorkCenter M15 fffb DocuPrint M750 (X750_USB) 0925 Lakeview Research 0005 Gamtec.,Ltd SmartJoy PLUS Adapter 03e8 Wii Classic Controller Adapter 1031 WiseGroup Ltd, Gameport Controller 1700 PS/SS/N64 Joypad 3881 Saleae Logic 8101 Phidgets, Inc., 1-Motor PhidgetServo v2.0 8104 Phidgets, Inc., 4-Motor PhidgetServo v2.0 8800 WiseGroup Ltd, MP-8800 Quad Joypad 8866 WiseGroup Ltd, MP-8866 Dual Joypad 0927 Summus, Ltd 0928 PLX Technology, Inc. (formerly Oxford Semiconductor, Ltd) 8000 Firmware uploader ffff Blank Oxford Device 0929 American Biometric Co. 092a Toshiba Information & Industrial Sys. And Services 092b Sena Technologies, Inc. 4210 20S - Bluetooth Motorcycle headset & universal intercom 092f Northern Embedded Science/CAVNEX 0004 JTAG-4 0005 JTAG-5 0930 Toshiba Corp. 0009 Gigabeat F/X (HDD audio player) 000c Gigabeat F (mtp) 0010 Gigabeat S (mtp) 01bf 2.5"External Hard Disk 0200 Integrated Bluetooth (Taiyo Yuden) 021c Atheros AR3012 Bluetooth 0301 PCX1100U Cable Modem (WDM) 0302 PCX2000 Cable Modem (WDM) 0305 Cable Modem PCX3000 0307 Cable Modem PCX2500 0308 PCX2200 Cable Modem (WDM) 0309 PCX5000 Cable Modem (WDM) 030b Cable Modem PCX2600 0501 Bluetooth Controller 0502 Integrated Bluetooth 0503 Bluetooth Controller 0505 Integrated Bluetooth 0506 Integrated Bluetooth 0507 Bluetooth Adapter 0508 Integrated Bluetooth HCI 0509 BT EDR Dongle 0706 PocketPC e740 0707 Pocket PC e330 Series 0708 Pocket PC e350 Series 0709 Pocket PC e750 Series 070a Pocket PC e400 Series 070b Pocket PC e800 Series 0a07 WLM-10U1 802.11abgn Wireless Adapter [Ralink RT3572] 0a08 WLM-20U2/GN-1080 802.11abgn Wireless Adapter [Atheros AR7010+AR9280] 0a0b WLU5053 802.11abgn Wireless Module [Broadcom BCM43236B] 0a13 AX88179 Gigabit Ethernet [Toshiba] 0b05 PX1220E-1G25 External hard drive 0b09 PX1396E-3T01 External hard drive 0b1a STOR.E ALU 2S 1300 Wireless Broadband (CDMA EV-DO) SM-Bus Minicard Status Port 1301 Wireless Broadband (CDMA EV-DO) Minicard Status Port 1302 Wireless Broadband (3G HSDPA) SM-Bus Minicard Status Port 1303 Wireless Broadband (3G HSDPA) Minicard Status Port 1308 Broadband (3G HSDPA) SM-Bus Minicard Diagnostics Port 130b F3507g Mobile Broadband Module 130c F3607gw Mobile Broadband Module 1311 F3607gw v2 Mobile Broadband Module 1400 Memory Stick 2GB 140b Memory Stick 64GB 642f TravelDrive 6506 TravelDrive 2C 6507 TravelDrive 2C 6508 TravelDrive 2C 6509 TravelDrive 2C 6510 TravelDrive 2C 6517 TravelDrive 2C 6518 TravelDrive 2C 6519 Kingston DataTraveler 2.0 USB Stick 651a TravelDrive 2C 651b TravelDrive 2C 651c TravelDrive 2C 651d TravelDrive 2C 651e TravelDrive 2C 651f TravelDrive 2C 6520 TravelDrive 2C 6521 TravelDrive 2C 6522 TravelDrive 2C 6523 TravelDrive 6524 TravelDrive 6525 TravelDrive 6526 TravelDrive 6527 TravelDrive 6528 TravelDrive 6529 TravelDrive 652a TravelDrive 652b TravelDrive 652c TravelDrive 652d TravelDrive 652f TravelDrive 6530 TravelDrive 6531 TravelDrive 6532 256M Stick 6533 512M Stick 6534 TravelDrive 653c Kingston DataTraveler 2.0 Stick (512M) 653d Kingston DataTraveler 2.0 Stick (1GB) 653e Flash Memory 6540 TransMemory Flash Memory 6544 TransMemory-Mini / Kingston DataTraveler 2.0 Stick 6545 Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick a002 SunplusIT SATA bridge 0931 Harmonic Data Systems, Ltd 0932 Crescentec Corp. 0300 VideoAdvantage 0302 Syntek DC-112X 0320 VideoAdvantage 0482 USB2.0 TVBOX 1100 DC-1100 Video Enhamcement Device 1112 Veo Web Camera a311 Video Enhancement Device 0933 Quantum Corp. 0934 Spirent Communications 0936 NuTesla 000a Moebius 000b iMoebius 000c Rhythmedics 6 BioData Integrator 000d Hypurius 000e Millennius 000f Purius 0030 Composite Device, Mass Storage Device (Flash Drive) amd HID 003c Rhythmedics HID Bootloader 0939 Lumberg, Inc. 0b15 Toshiba Stor.E Alu 2 0b16 Toshiba StorE HDD 093a Pixart Imaging, Inc. 0007 CMOS 100K-R Rev. 1.90 010e Digital camera, CD302N/Elta Medi@ digi-cam/HE-501A 010f Argus DC-1610/DC-1620/Emprex PCD3600/Philips P44417B keychain camera/Precision Mini,Model HA513A/Vivitar Vivicam 55 020f Bullet Line Photo Viewer 050f Mars-Semi Pc-Camera 2460 Q-TEC WEBCAM 100 2468 SoC PC-Camera 2470 SoC PC-Camera 2471 SoC PC-Camera 2500 USB Optical Mouse 2510 Optical Mouse 2521 Optical Mouse 2600 Typhoon Easycam USB 330K (newer)/Typhoon Easycam USB 2.0 VGA 1.3M/Sansun SN-508 2601 SPC 610NC Laptop Camera 2603 PAC7312 Camera 2608 PAC7311 Trust WB-3300p 260e PAC7311 Gigaware VGA PC Camera:Trust WB-3350p:SIGMA cam 2350 260f PAC7311 SnakeCam 2621 PAC731x Trust Webcam 2622 Webcam Genius 2624 Webcam 2628 Webcam Genius iLook 300 2700 GE 1.3 MP MiniCam Pro 093b Plextor Corp. 0010 Storage Adapter 0011 PlexWriter 40/12/40U 0012 PlexWriter 48/24/48U 0041 PX-708A DVD RW 0042 PX-712UF DVD RW a002 ConvertX M402U XLOADER a003 ConvertX AV100U A/V Capture Audio a004 ConvertX TV402U XLOADER a005 ConvertX TV100U A/V Capture a102 ConvertX M402U A/V Capture a104 ConvertX PX-TV402U/NA 093c Intrepid Control Systems, Inc. 0601 ValueCAN 0701 NeoVI Blue vehicle bus interface 093d InnoSync, Inc. 093e J.S.T. Mfg. Co., Ltd 093f Olympia Telecom Vertriebs GmbH 0940 Japan Storage Battery Co., Ltd 0941 Photobit Corp. 0942 i2Go.com, LLC 0943 HCL Technologies India Private, Ltd 0944 KORG, Inc. 0001 PXR4 4-Track Digital Recorder 0020 KAOSS Pad KP3 Dynamic Effect/Sampler 0023 KAOSSILATOR PRO Dynamic Phrase Synthesizer 010d nanoKEY MIDI keyboard 010e nanoPAD pad controller 010f nanoKONTROL studio controller 0117 nanoKONTROL2 MIDI Controller 0f03 K-Series K61P MIDI studio controller 0945 Pasco Scientific 0948 Kronauer music in digital 0301 USB Pro (24/48) 0302 USB Pro (24/96 playback) 0303 USB Pro (24/96 record) 0304 USB Pro (16/48) 1105 USB One 094b Linkup Systems Corp. 0001 neonode N2 094d Cable Television Laboratories 094f Yano 0101 U640MO-03 05fc METALWEAR-HDD 0951 Kingston Technology 0008 Ethernet 000a KNU101TX 100baseTX Ethernet 1539 Iron Key D300 (Virtual CD-ROM and USB Stick) 1600 DataTraveler II Pen Drive 1601 DataTraveler II+ Pen Drive 1602 DataTraveler Mini 1603 DataTraveler 1GB/2GB Pen Drive 1606 Eee PC 701 SD Card Reader [ENE UB6225] 1607 DataTraveler 100 160b DataTraveler 2.0 (2GB) 160d DataTraveler Vault Privacy 160e DT110P/1GB Capless 1613 DataTraveler DT101C Flash Drive 1616 DataTraveler Locker 4GB 161a Dell HyperVisor internal flash drive 1621 DataTraveler 150 (32GB) 1624 DataTraveler G2 1625 DataTraveler 101 II 162a DataTraveler 112 4GB Pen Drive 162b DataTraveler HyperX 3.0 162d DataTraveler 102 1630 DataTraveler 200 (32GB) 1642 DT101 G2 1643 DataTraveler G3 1653 Data Traveler 100 G2 8 GiB 1656 DataTraveler Ultimate G2 1660 Data Traveller 108 1665 Digital DataTraveler SE9 1666 DataTraveler 100 G3/G4/SE9 G2/50 1689 DataTraveler SE9 168a DataTraveler Micro 168c DT Elite 3.0 16a4 HyperX 7.1 Audio 16b3 HyperX Savage 16d2 HX-KB4BL1-US [HYPERX Alloy FPS Pro] 16d4 HyperX SavageEXO [0382] 16d5 DataTraveler Elite G2 16df HyperX QuadCast 16e4 HyperX Pulsefire Raid 0954 RPM Systems Corp. 0955 NVIDIA Corp. 7005 Bootloader 7018 T186 [Tegra Parker] 701a U-Boot running on Tegra 7020 L4T (Linux for Tegra) running on Tegra 7030 T30 [Tegra 3] recovery mode 7100 Tegra Device 7140 T124 [Tegra K1/Logan 32-bit] 7210 SHIELD Controller 7321 Switch [Tegra Erista] recovery mode 7721 T210 [TX1 Tegra Erista] recovery mode 7820 T20 [Tegra 2] recovery mode 7c18 T186 [TX2 Tegra Parker] recovery mode b400 SHIELD (debug) b401 SHIELD cf05 SHIELD Tablet (debug) cf06 SHIELD Tablet cf07 SHIELD Tablet cf08 SHIELD Tablet cf09 SHIELD Tablet 0956 BSquare Corp. 0957 Agilent Technologies, Inc. 0200 E-Video DC-350 Camera 0202 E-Video DC-350 Camera 0407 33220A Waveform Generator 0518 82357B GPIB Interface 0a07 34411A Multimeter 1507 33210A Waveform Generator 1745 Test and Measurement Device (IVI) 1f01 N5181A MXG Analog Signal Generator 2918 U2702A oscilloscope fb18 LC Device 0958 CompuLink Research, Inc. 0959 Cologne Chip AG 2bd0 Intelligent ISDN (Ver. 3.60.04) [HFC-S] 095a Portsmith 3003 Express Ethernet 095b Medialogic Corp. 095c K-Tec Electronics 095d Polycom, Inc. 0001 Polycom ViaVideo 0964 BITRAN 0967 Acer NeWeb Corp. 0204 WarpLink 802.11b Adapter 0968 Catalyst Enterprises, Inc. 096e Feitian Technologies, Inc. 0005 ePass2000 0006 HID Dongle (for OEMs - manufacturer string is "OEM") 0120 Microcosm Ltd Dinkey 0305 ePass2000Auto 0309 ePass3000GM 0401 ePass3000 0405 Zzkey Dongle 0608 SC Reader KP382 0702 ePass3003 0703 ePass3003Auto 0802 ePass2000 (G&D STARCOS SPK 2.4) 0807 ePass2003 0971 Gretag-Macbeth AG 2000 i1 Pro 2001 i1 Monitor 2003 Eye-One display 2005 Huey 2007 ColorMunki Photo 0973 Schlumberger 0001 e-gate Smart Card 0974 Datagraphix, a business unit of Anacomp 0975 OL'E Communications, Inc. 0976 Adirondack Wire & Cable 0977 Lightsurf Technologies 0978 Beckhoff GmbH 0979 Jeilin Technology Corp., Ltd 0222 Keychain Display 0224 JL2005A Toy Camera 0226 JL2005A Toy Camera 0227 JL2005B/C/D Toy Camera 097a Minds At Work LLC 0001 Digital Wallet 097b Knudsen Engineering, Ltd 097c Marunix Co., Ltd 097d Rosun Technologies, Inc. 097e Biopac Systems Inc. 0035 MP35 v1.0 097f Barun Electronics Co., Ltd 0981 Oak Technology, Ltd 0984 Apricorn 0040 SATA Wire (2.5") 0200 Hard Drive Storage (TPP) 1407 Secure Key 3.0 0985 cab Produkttechnik GmbH & Co KG 0045 Mach4/200 Label Printer 00a3 A3/200 or A3/300 Label Printer 0986 Matsushita Electric Works, Ltd. 098c Vitana Corp. 098d INDesign 098e Integrated Intellectual Property, Inc. 098f Kenwood TMI Corp. 0993 Gemstar eBook Group, Ltd 0001 REB1100 eBook Reader 0002 eBook 0996 Integrated Telecom Express, Inc. 099a Zippy Technology Corp. 0638 Sanwa Supply Inc. Small Keyboard 2620 Graphics tablet [Polostar PT1001, Zeniq PT1001, Leogics PT1001] 610c EL-610 Super Mini Electron luminescent Keyboard 6330 SANWA Supply Inc. Slim Keyboard 713a WK-713 Multimedia Keyboard 7160 Hyper Slim Keyboard 099e Trimble Navigation, Ltd 09a3 PairGain Technologies 09a4 Contech Research, Inc. 09a5 VCON Telecommunications 09a6 Poinchips 8001 Mass Storage Device 09a7 Data Transmission Network Corp. 09a8 Lin Shiung Enterprise Co., Ltd 09a9 Smart Card Technologies Co., Ltd 09aa Intersil Corp. 1000 Prism GT 802.11b/g Adapter 3642 Prism 2.x 802.11b Adapter 09ab Japan Cash Machine Co., Ltd. 09ae Tripp Lite 0002 Any Device (see discussion) 09b0 Fargo 2400 HDP5000 09b2 Franklin Electronic Publishers, Inc. 0001 eBookman Palm Computer 09b3 Altius Solutions, Inc. 09b4 MDS Telephone Systems 09b5 Celltrix Technology Co., Ltd 09bc Grundig 0002 MPaxx MP150 MP3 Player 09be MySmart.Com 0001 MySmartPad 09bf Auerswald GmbH & Co. KG 00c0 COMpact 2104 ISDN PBX 00db COMpact 4410/2206 ISDN 00dc COMpact 4406 DSL (PBX) 00dd COMpact 2204 (PBX) 00de COMpact 2104 (Rev.2 PBX) 00e0 COMmander Business (PBX) 00e2 COMmander Basic.2 (PBX) 00f1 COMfort 2000 (System telephone) 00f2 COMfort 1200 (System telephone) 00f5 COMfortel 2500 (System telephone) 8000 COMpact 2104 DSL (DSL modem) 8001 COMpact 4406 DSL (DSL modem) 8002 Analog/ISDN Converter (Line converter) 8005 WG-640 (Automatic event dialer) 09c0 Genpix Electronics, LLC 0136 Axon CNS, MultiClamp 700B 0202 8PSK DVB-S tuner 0203 Skywalker-1 DVB-S tuner 0204 Skywalker-CW3K DVB-S tuner 0205 Skywalker-CW3K DVB-S tuner 0206 Skywalker-2 DVB-S tuner 09c1 Arris Interactive LLC 1337 TOUCHSTONE DEVICE 09c2 Nisca Corp. 09c3 HID Global 0007 Reader V2 0008 ZFG-9800-AC SmartCard Reader 0014 ActivIdentity ActivKey SIM USB Token 0028 Crescendo Key 0029 Crescendo Key 002a Crescendo Key 002b Crescendo Key 002c Crescendo Key 002e Crescendo Key 09c4 ACTiSYS Corp. 0011 ACT-IR2000U IrDA Dongle 09c5 Memory Corp. 09ca BMC Messsysteme GmbH 5544 PIO 09cb FLIR Systems 1001 Network Adapter 1002 Ex-Series RNDIS interface 1004 Ex-Series UVC interface 1005 Ex-Series RNDIS and UVC interface 1006 Ex-Series RNDIS and MSD interface 1007 Ex-Series UVC and MSD interface 1008 Serial Port 1996 FLIR ONE Camera 4007 Breach 09cc Workbit Corp. 0404 BAFO USB-ATA/ATAPI Bridge Controller 09cd Psion Dacom Home Networks, Ltd 2001 Psion WaveFinder DAB radio receiver 09ce City Electronics, Ltd 09cf Electronics Testing Center, Taiwan 09d1 NeoMagic, Inc. 09d2 Vreelin Engineering, Inc. 09d3 Com One 0001 ISDN TA / Light Rider 128K 000b Bluetooth Adapter class 2 09d7 Hexagon NovAtel Inc. 0100 GPS/GNSS/SPAN sensor 09d8 ELATEC GmbH 0320 TWN3 Multi125 0406 TWN4 MIFARE NFC 09d9 KRF Tech, Ltd 09da A4Tech Co., Ltd. 0006 Optical Mouse WOP-35 / Trust 450L Optical Mouse 000a Optical Mouse Opto 510D / OP-620D 000e X-F710F Optical Mouse 3xFire Gaming Mouse 0018 Trust Human Interface Device 001a Wireless Mouse & RXM-15 Receiver 002a Wireless Optical Mouse NB-30 022b Wireless Mouse (Battery Free) 024f RF Receiver and G6-20D Wireless Optical Mouse 0260 KV-300H Isolation Keyboard 032b Wireless Mouse (Battery Free) 09da Bloody V8 Mouse 1068 Bloody A90 Mouse 112c Bloody V5 Mouse 3a60 Bloody V8M Core 2 Mouse 8090 X-718BK Oscar Optical Gaming Mouse 9033 X-718BK Optical Mouse 9066 F3 V-Track Gaming Mouse 9090 XL-730K / XL-750BK / XL-755BK Mice f613 Bloody V7M Mouse 09db Measurement Computing Corp. 0075 MiniLab 1008 0076 PMD-1024 007a PMD-1208LS 0081 USB-1616FS 0082 USB-1208FS 0088 USB-1616FS internal hub 09dc Aimex Corp. 09dd Fellowes, Inc. 09df Addonics Technologies Corp. 09e1 Intellon Corp. 5121 MicroLink dLAN 09e5 Jo-Dan International, Inc. 09e6 Silutia, Inc. 09e7 Real 3D, Inc. 09e8 AKAI Professional M.I. Corp. 0045 MPK Mini Mk II MIDI Controller 0062 MPD16 MIDI Pad Controller Unit 006d EWI electronic wind instrument 0071 MPK25 MIDI Keyboard 0076 LPK25 MIDI Keyboard 09e9 Chen-Source, Inc. 09eb IM Networks, Inc. 4331 iRhythm Tuner Remote 09ef Xitel 0101 MD-Port DG2 MiniDisc Interface 09f3 GoFlight, Inc. 0018 GF-46 Multi-Mode Display Module 0028 RP-48 Combination Pushbutton-Rotary Module 0048 LGTII - Landing Gear and Trim Control Module 0064 MCPPro - Airliner Mode Control Panel (Autopilot) 0300 EFIS - Electronic Flight Information System 09f5 AresCom 0168 Network Adapter 0188 LAN Adapter 0850 Adapter 09f6 RocketChips, Inc. 09f7 Edu-Science (H.K.), Ltd 09f8 SoftConnex Technologies, Inc. 09f9 Bay Associates 09fa Mtek Vision 09fb Altera 6001 Blaster 09ff Gain Technology Corp. 0a00 Liquid Audio 0a01 ViA, Inc. 0a05 Unknown Manufacturer 0001 Hub 7211 hub 0a07 Ontrak Control Systems Inc. 0064 ADU100 Data Acquisition Interface 0078 ADU120 Data Acquisition Interface 0082 ADU130 Data Acquisition Interface 00c8 ADU200 Relay I/O Interface 00d0 ADU208 Relay I/O Interface 00da ADU218 Solid-State Relay I/O Interface 0a0b Cybex Computer Products Co. 0a0d Servergy, Inc 2514 CTS-1000 Internal Hub 0a11 Xentec, Inc. 0a12 Cambridge Silicon Radio, Ltd 0001 Bluetooth Dongle (HCI mode) 0002 Frontline Test Equipment Bluetooth Device 0003 Nanosira 0004 Nanosira WHQL Reference Radio 0005 Nanosira-Multimedia 0006 Nanosira-Multimedia WHQL Reference Radio 0007 Nanosira3-ROM 0008 Nanosira3-ROM 0009 Nanosira4-EDR WHQL Reference Radio 000a Nanosira4-EDR-ROM 000b Nanosira5-ROM 0042 SPI Converter 0043 Bluetooth Device 0100 Casira with BlueCore2-External Module 0101 Casira with BlueCore2-Flash Module 0102 Casira with BlueCore3-Multimedia Module 0103 Casira with BlueCore3-Flash Module 0104 Casira with BlueCore4-External Module 0105 Casira with BlueCore4-Multimedia Module 1000 Bluetooth Dongle (HID proxy mode) 1010 Bluetooth Device 1011 Bluetooth Device 1012 Bluetooth Device ffff USB Bluetooth Device in DFU State 0a13 Telebyte, Inc. 0a14 Spacelabs Medical, Inc. 0a15 Scalar Corp. 0a16 Trek Technology (S) PTE, Ltd 1111 ThumbDrive 8888 IBM USB Memory Key 9988 Trek2000 TD-G2 0a17 Pentax Corp. 0004 Optio 330 0006 Optio S / S4 0007 Optio 550 0009 Optio 33WR 000a Optio 555 000c Optio 43WR (mass storage mode) 000d Optio 43WR 0015 Optio S40/S5i 003b Optio 50 (mass storage mode) 003d Optio S55 0041 Optio S5z 0043 *ist DL 0047 Optio S60 0052 Optio 60 Digital Camera 006e K10D 0070 K100D 0093 K200D 00a7 Optio E50 1001 EI2000 Camera powered by Digita! 0a18 Heidelberger Druckmaschinen AG 0a19 Hua Geng Technologies, Inc. 0a21 Medtronic Physio Control Corp. 8001 MMT-7305WW [Medtronic Minimed CareLink] 0a22 Century Semiconductor USA, Inc. 0a27 Datacard Group 0102 SP35 0a2c AK-Modul-Bus Computer GmbH 0008 GPIO Ports 0a34 TG3 Electronics, Inc. 0101 TG82tp 0110 Deck 82-key backlit keyboard 0a35 Radikal Technologies 002a SAC - Software Assigned Controller 008a SAC Hub 0a39 Gilat Satellite Networks, Ltd 0a3a PentaMedia Co., Ltd 0163 KN-W510U 1.0 Wireless LAN Adapter 0a3c NTT DoCoMo, Inc. 0a3d Varo Vision 0a3f Swissonic AG 0a43 Boca Systems, Inc. 0a46 Davicom Semiconductor, Inc. 0268 ST268 6688 ZT6688 Fast Ethernet Adapter 8515 ADMtek ADM8515 NIC 9000 DM9000E Fast Ethernet Adapter 9601 DM9601 Fast Ethernet Adapter 0a47 Hirose Electric 0a48 I/O Interconnect 3233 Multimedia Card Reader 3239 Multimedia Card Reader 3258 Dane Elec zMate SD Reader 3259 Dane Elec zMate CF Reader 5000 MediaGear xD-SM 500a Mass Storage Device 500f Mass Storage Device 5010 Mass Storage Device 5011 Mass Storage Device 5014 Mass Storage Device 5020 Mass Storage Device 5021 Mass Storage Device 5022 Mass Storage Device 5023 Mass Storage Device 5024 Mass Storage Device 5025 Mass Storage Device 0a4a Ploytec GmbH a400 AUDIO JUNCTION 2.0 0a4b Fujitsu Media Devices, Ltd 0a4c Computex Co., Ltd 15d9 OPTICAL MOUSE 0a4d Evolution Electronics, Ltd 0064 MK-225 Driver 0065 MK-225C Driver 0066 MK-225C Driver 0067 MK-425C Driver 0078 MK-37 Driver 0079 MK-37C Driver 007a MK-37C Driver 008c TerraTec MIDI MASTER 008d MK-249C Driver 008e MK-249C MIDI Keyboard 008f MK-449C Driver 0090 Keystation 49e Driver 0091 Keystation 61es Driver 00a0 MK-361 Driver 00a1 MK-361C Driver 00a2 MK-361C Driver 00a3 MK-461C MIDI Keyboard 00b5 Keystation Pro 88 Driver 00d2 E-Keys Driver 00f0 UC-16 Driver 00f1 X-Session Driver 00f5 UC-33e MIDI Controller 0a4e Steinberg Soft-und Hardware GmbH 0a4f Litton Systems, Inc. 0a50 Mimaki Engineering Co., Ltd 0a51 Sony Electronics, Inc. 0a52 Jebsee Electronics Co., Ltd 0a53 Portable Peripheral Co., Ltd 1000 Scanner 2000 Q-Scan A6 Scanner 2001 Q-Scan A6 Scanner 2013 Media Drive A6 Scanner 2014 Media Drive A6 Scanner 2015 BizCardReader 600C 2016 BizCardReader 600C 202a Scanshell-CSSN 3000 Q-Scan A8 Scanner 3002 Q-Scan A8 Reader 3015 BizCardReader 300G 302a LM9832 - PA570 Mini Business Card Scanner [Targus] 5001 BizCardReader 900C 0a5a Electronics For Imaging, Inc. 0a5b EAsics NV 0a5c Broadcom Corp. 0201 iLine10(tm) Network Adapter 0bdc 802.11a/b/g/n/ac Wireless Adapter 2000 Bluetooth Device 2001 Bluetooth Device 2009 BCM2035 Bluetooth 200a BCM2035 Bluetooth dongle 200f Bluetooth Controller 201d Bluetooth Device 201e IBM Integrated Bluetooth IV 2020 Bluetooth dongle 2021 BCM2035B3 Bluetooth Adapter 2033 BCM2033 Bluetooth 2035 BCM2035 Bluetooth 2038 Blutonium Device 2039 BCM2045 Bluetooth 2045 Bluetooth Controller 2046 Bluetooth Device 2047 Bluetooth Device 205e Bluetooth Device 2100 Bluetooth 2.0+eDR dongle 2101 BCM2045 Bluetooth 2102 ANYCOM Blue USB-200/250 2110 BCM2045B (BDC-2) [Bluetooth Controller] 2111 ANYCOM Blue USB-UHE 200/250 2120 2045 Bluetooth 2.0 USB-UHE Device with trace filter 2121 BCM2210 Bluetooth 2122 Bluetooth 2.0+EDR dongle 2123 Bluetooth dongle 2130 2045 Bluetooth 2.0 USB-UHE Device with trace filter 2131 2045 Bluetooth 2.0 Device with trace filter 2145 BCM2045B (BDC-2.1) [Bluetooth Controller] 2148 BCM92046DG-CL1ROM Bluetooth 2.1 Adapter 2150 BCM2046 Bluetooth Device 2151 Bluetooth 2154 BCM92046DG-CL1ROM Bluetooth 2.1 UHE Dongle 216a BCM43142A0 Bluetooth 216c BCM43142A0 Bluetooth Device 216d BCM43142A0 Bluetooth 4.0 216f BCM20702A0 Bluetooth 217d HP Bluethunder 217f BCM2045B (BDC-2.1) 2198 Bluetooth 3.0 Device 219b Bluetooth 2.1 Device 21b1 HP Bluetooth Module 21b4 BCM2070 Bluetooth 2.1 + EDR 21b9 BCM2070 Bluetooth 2.1 + EDR 21ba BCM2070 Bluetooth 2.1 + EDR 21bb BCM2070 Bluetooth 2.1 + EDR 21bc BCM2070 Bluetooth 2.1 + EDR 21bd BCM2070 Bluetooth 2.1 + EDR 21d7 BCM43142 Bluetooth 4.0 21e1 HP Portable SoftSailing 21e3 HP Portable Valentine 21e6 BCM20702 Bluetooth 4.0 [ThinkPad] 21e8 BCM20702A0 Bluetooth 4.0 21ec BCM20702A0 Bluetooth 4.0 21f1 HP Portable Bumble Bee 22be BCM2070 Bluetooth 3.0 + HS 4500 BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth) 4502 Keyboard (Boot Interface Subclass) 4503 Mouse (Boot Interface Subclass) 5800 BCM5880 Secure Applications Processor 5801 BCM5880 Secure Applications Processor with fingerprint swipe sensor 5802 BCM5880 Secure Applications Processor with fingerprint touch sensor 5803 BCM5880 Secure Applications Processor with secure keyboard 5804 BCM5880 Secure Applications Processor with fingerprint swipe sensor 6300 Pirelli Remote NDIS Device 6410 BCM20703A1 Bluetooth 4.1 + LE bd11 BCM4320 802.11bg Wireless Adapter bd12 BCM4326U 802.11bg Wireless Adapter bd13 BCM4323 802.11abgn Wireless Adapter bd16 BCM4319 802.11bgn Wireless Adapter bd17 BCM43236 802.11abgn Wireless Adapter bd1d BCM43526 802.11a/b/g/n/ac (2x2) Wireless Adapter bd1e BCM43143 802.11bgn (1x1) Wireless Adapter bd1f BCM43242 802.11abgn Wireless Adapter d11b Eminent EM4045 [Broadcom 4320 USB] 0a5d Diatrend Corp. 0a5f Zebra 0009 LP2844 Printer 0050 P120i / WM120i 0080 GK420d Label Printer 0081 GK420t Label Printer 0084 GX420d Desktop Label Printer 008b HC100 wristbands Printer 008c ZP 450 Printer 00d1 Zebra GC420d Label Printer 0110 ZD500 Desktop Label Printer 930a Printer 0a62 MPMan 0010 MPMan MP-F40 MP3 Player 0a66 ClearCube Technology 0a67 Medeli Electronics Co., Ltd 0a68 Comaide Corp. 0a69 Chroma ate, Inc. 0a6b Green House Co., Ltd 0001 Compact Flash R/W with MP3 player 000f FlashDisk 0a6c Integrated Circuit Systems, Inc. 0a6d UPS Manufacturing 0a6e Benwin 0a6f Core Technology, Inc. 0400 Xanboo 0a70 International Game Technology 0a71 VIPColor Technologies USA, Inc. 0001 VP485 Printer 0a72 Sanwa Denshi 0a73 Mackie Designs 0002 XD-2 [Spike] 0a7d NSTL, Inc. 0a7e Octagon Systems Corp. 0a80 Rexon Technology Corp., Ltd 0a81 Chesen Electronics Corp. 0101 Keyboard 0103 Keyboard 0203 Mouse 0205 PS/2 Keyboard+Mouse Adapter 0701 USB Missile Launcher ff01 Wireless Missile Launcher 0a82 Syscan 4600 TravelScan 460/464 6605 ScanShell 800N 0a83 NextComm, Inc. 0a84 Maui Innovative Peripherals 0a85 Idexx Labs 0a86 NITGen Co., Ltd 0a89 Aktiv 0001 Guardant Stealth/Net 0002 Guardant ID 0003 Guardant Stealth 2 0004 Rutoken 0005 Guardant Fidus 0006 Guardant Stealth 3 0007 Guardant Stealth 2 0008 Guardant Stealth 3 Sign/Time 0009 Guardant Code 000a Guardant Sign Pro 000b Guardant Sign Pro HID 000c Guardant Stealth 3 Sign/Time 000d Guardant Code HID 000f Guardant System Firmware Update 0020 Rutoken S 0025 Rutoken lite 0026 Rutoken lite HID 002a Rutoken Mass Storage 002b Guardant Mass Storage 0030 Rutoken ECP 0040 Rutoken ECP HID 0060 Rutoken Magistra 0061 Rutoken Magistra 0069 Reader 0080 Rutoken PinPad Ex 0081 Rutoken PinPad In 0082 Rutoken PinPad 2 0a8d Picturetel 0a8e Japan Aviation Electronics Industry, Ltd 2011 Filter Driver For JAE XMC R/W 0a90 Candy Technology Co., Ltd 0a91 Globlink Technology, Inc. 3801 Targus PAKP003 Mouse 0a92 EGO SYStems, Inc. 0011 SYS WaveTerminal U2A 0021 GIGAPort 0031 GIGAPortAG 0053 AudioTrak Optoplay 0061 Waveterminal U24 0071 MAYA EX7 0091 Maya 44 00b1 MAYA EX5 1000 MIDI Mate 1010 RoMI/O 1020 M4U 1030 M8U 1090 KeyControl49 10a0 KeyControl25 0a93 C Technologies AB 0002 C-Pen 10 0005 MyPen Light 000d Input Pen 0010 C-Pen 20 0a93 PayPen 0a94 Intersense 0aa3 Lava Computer Mfg., Inc. 0aa4 Develco Elektronik 0aa5 First International Digital 0002 irock! 500 Series 0801 MP3 Player 0aa6 Perception Digital, Ltd 0101 Hercules Jukebox 1501 Store 'n' Go HD Drive 0aa7 Wincor Nixdorf International GmbH 0100 POS Keyboard, TA58P-USB 0101 POS Keyboard, TA85P-USB 0102 POS Keyboard, TA59-USB 0103 POS Keyboard, TA60-USB 0104 SNIkey Keyboard, SNIKey-KB-USB 0200 Operator Display, BA63-USB 0201 Operator Display, BA66-USB 0202 Operator Display & Scanner, XiCheck-BA63 0203 Operator Display & Scanner, XiCheck-BA66 0204 Graphics Operator Display, BA63GV 0300 POS Printer (printer class mode), TH210 0301 POS Printer (native mode), TH210 0302 POS Printer (printer class mode), TH220 0303 POS Printer (native mode), TH220 0304 POS Printer, TH230 0305 Lottery Printer, XiPrintPlus 0306 POS Printer (printer class mode), TH320 0307 POS Printer (native mode), TH320 0308 POS Printer (printer class mode), TH420 0309 POS Printer (native mode), TH420 030a POS Printer, TH200B 0400 Lottery Scanner, Xiscan S 0401 Lottery Scanner, Xiscan 3 0402 Programmable Magnetic Swipe Card Reader, MSRP-USB 0500 IDE Adapter 0501 Hub Printer Interface 0502 Hub SNIKey Keyboard 4304 Banking Printer TP07 4305 Banking Printer TP07c 4500 WN Central Special Electronics 0aa8 TriGem Computer, Inc. 0060 TG 11Mbps WLAN Mini Adapter 1001 DreamComboM4100 3002 InkJet Color Printer 8001 TG_iMON 8002 TG_KLOSS a001 TG_X2 a002 TGVFD_KLOSS ffda iMON_VFD 0aa9 Baromtec Co. f01b Medion MD 6242 MP3 Player 0aaa Japan CBM Corp. 0aab Vision Shape Europe SA 0aac iCompression, Inc. 0aad Rohde & Schwarz GmbH & Co. KG 0003 NRP-Z21 000c NRP-Z11 0013 NRP-Z22 0014 NRP-Z23 0015 NRP-Z24 0016 NRP-Z51 0017 NRP-Z52 0018 NRP-Z55 0019 NRP-Z56 0021 NRP-Z91 0023 NRP-Z81 002c NRP-Z31 002d NRP-Z37 002f NRP-Z27 0051 NRP-Z28 0052 NRP-Z98 0062 NRP-Z92 0070 NRP-Z57 0083 NRP-Z85 0095 NRP-Z86 0117 HMF / HMP / HMS-X / HMO series Oscilloscopes 0118 HMF / HMP / HMS-X / HMO series Oscilloscopes 0119 HMF / HMP / HMS-X / HMO series Oscilloscopes 0aae NEC infrontia Corp. (Nitsuko) 0aaf Digitalway Co., Ltd 0ab0 Arrow Strong Electronics Co., Ltd 0ab1 FEIG ELECTRONIC GmbH 0002 OBID RFID-Reader 0004 OBID classic-pro 0aba Ellisys 8001 Tracker 110 Protocol Analyzer 8002 Explorer 200 Protocol Analyzer 0abe Stereo-Link 0101 SL1200 DAC 0abf Diolan 3370 I2C/SPI Adapter - U2C-12 0ac3 Sanyo Semiconductor Company Micro 0ac4 Leco Corp. 0ac5 I & C Corp. 0ac6 Singing Electrons, Inc. 0ac7 Panwest Corp. 0ac8 Z-Star Microelectronics Corp. 0301 Web Camera 0302 ZC0302 Webcam 0321 Vimicro generic vc0321 Camera 0323 Luxya WC-1200 USB 2.0 Webcam 0328 A4Tech PK-130MG 0336 Elecom UCAM-DLQ30 301b ZC0301 Webcam 303b ZC0303 Webcam 305b ZC0305 Webcam 307b USB 1.1 Webcam 332d Vega USB 2.0 Camera 3343 Sirius USB 2.0 Camera 3370 Traveler TV 6500 SF Dia-scanner 3420 Venus USB2.0 Camera c001 Sony embedded vimicro Camera c002 Visual Communication Camera VGP-VCC1 c302 Vega USB 2.0 Camera c303 Saturn USB 2.0 Camera c326 Namuga 1.3M Webcam c33f Webcam c412 Lenovo IdeaCentre Web Camera c429 Lenovo ThinkCentre Web Camera c42d Lenovo IdeaCentre Web Camera 0ac9 Micro Solutions, Inc. 0000 Backpack CD-ReWriter 0001 BACKPACK 2 Cable 0010 BACKPACK 0011 Backpack 40GB Hard Drive 0110 BACKPACK 0111 BackPack 1234 BACKPACK 0aca OPEN Networks Ltd 1060 OPEN NT1 Plus II 0acc Koga Electronics Co. 0acd ID Tech 0300 IDT1221U RS-232 Adapter 0401 Spectrum III Hybrid Smartcard Reader 0630 Spectrum III Mag-Only Insert Reader (SPT3-355 Series) USB-CDC 0810 SecurePIN (IDPA-506100Y) PIN Pad 2030 ValueMag Magnetic Stripe Reader 3710 ViVOpay Kiosk III 0ace ZyDAS 1201 ZD1201 802.11b 1211 ZD1211 802.11g 1215 ZD1211B 802.11g 1221 ZD1221 802.11n 1602 ZyXEL Omni FaxModem 56K 1608 ZyXEL Omni FaxModem 56K UNO 1611 ZyXEL Omni FaxModem 56K Plus 2011 Virtual media for 802.11bg 20ff Virtual media for 802.11bg a211 ZD1211 802.11b/g Wireless Adapter b215 802.11bg 0acf Intoto, Inc. 0ad0 Intellix Corp. 0ad1 Remotec Technology, Ltd 0ad2 Service & Quality Technology Co., Ltd 0ada Data Encryption Systems Ltd. 0005 DK2 0ae3 Allion Computer, Inc. 0ae4 Taito Corp. 0ae7 Neodym Systems, Inc. 0ae8 System Support Co., Ltd 0ae9 North Shore Circuit Design L.L.P. 0aea SciEssence, LLC 0aeb TTP Communications, Ltd 0aec Neodio Technologies Corp. 2101 SmartMedia Card Reader 2102 CompactFlash Card Reader 2103 MMC/SD Card Reader 2104 MemoryStick Card Reader 2201 SmartMedia+CompactFlash Card Reader 2202 SmartMedia+MMC/SD Card Reader 2203 SmartMedia+MemoryStick Card Reader 2204 CompactFlash+MMC/SD Card Reader 2205 CompactFlash+MemoryStick Card Reader 2206 MMC/SD+MemoryStick Card Reader 2301 SmartMedia+CompactFlash+MMC/SD Card Reader 2302 SmartMedia+CompactFlash+MemoryStick Card Reader 2303 SmartMedia+MMC/SD+MemoryStick Card Reader 2304 CompactFlash+MMC/SD+MemoryStick Card Reader 3016 MMC/SD+Memory Stick Card Reader 3050 ND3050 8-in-1 Card Reader 3060 1.1 FS Card Reader 3101 MMC/SD Card Reader 3102 MemoryStick Card Reader 3201 MMC/SD+MemoryStick Card Reader 3216 HS Card Reader 3260 7-in-1 Card Reader 5010 ND5010 Card Reader 0af0 Option 5000 UMTS Card 6000 GlobeTrotter 3G datacard 6300 GT 3G Quad UMTS/GPRS Card 6600 GlobeTrotter 3G+ datacard 6711 GlobeTrotter Express 7.2 v2 6971 Globetrotter HSDPA Modem 7251 Globetrotter HSUPA Modem (aka iCON HSUPA E) 7501 Globetrotter HSUPA Modem (icon 411 aka "Vodafone K3760") 7601 Globetrotter MO40x 3G Modem (GTM 382) 7701 Globetrotter HSUPA Modem (aka icon 451) d055 Globetrotter GI0505 [iCON 505] 0af6 Silver I Co., Ltd 0af7 B2C2, Inc. 0101 Digital TV USB Receiver (DVB-S/T/C / ATSC) 0af9 Hama, Inc. 0010 USB SightCam 100 0011 Micro Innovations IC50C Webcam 0afa DMC Co., Ltd. 07d2 Controller Board for Projected Capacitive Touch Screen DUS3000 0afc Zaptronix Ltd 0afd Tateno Dennou, Inc. 0afe Cummins Engine Co. 0aff Jump Zone Network Products, Inc. 0b00 INGENICO 0b05 ASUSTek Computer, Inc. 0001 MeMO Pad HD 7 (CD-ROM mode) 0301 MyPal A696 GPS PDA 1101 Mass Storage (UISDMC4S) 1706 WL-167G v1 802.11g Adapter [Ralink RT2571] 1707 WL-167G v1 802.11g Adapter [Ralink RT2571] 1708 Mass Storage Device 170b Multi card reader 170c WL-159g 802.11bg [ZyDAS ZD1211B+AL2230] 170d 802.11b/g Wireless Network Adapter 1712 BT-183 Bluetooth 2.0+EDR adapter 1715 2045 Bluetooth 2.0 Device with trace filter 1716 Bluetooth Device 1717 WL169gE 802.11g Adapter [Broadcom 4320 USB] 171b A9T wireless 802.11bg 171c 802.11b/g Wireless Network Adapter 171f My Cinema U3000 Mini [DiBcom DiB7700P] 1723 WL-167G v2 802.11g Adapter [Ralink RT2571W] 1724 RT2573 1726 Laptop OLED Display 172a 802.11n Network Adapter 172b 802.11n Network Adapter 1731 802.11n Network Adapter 1732 802.11n Network Adapter 1734 AF-200 173c BT-183 Bluetooth 2.0 173f My Cinema U3100 Mini 1742 802.11n Network Adapter 1743 Xonar U1 Audio Station 1751 BT-253 Bluetooth Adapter 175b Laptop OLED Display 1760 802.11n Network Adapter 1761 USB-N11 802.11n Network Adapter [Ralink RT2870] 1774 Gobi Wireless Modem (QDL mode) 1776 Gobi Wireless Modem 1779 My Cinema U3100 Mini Plus [AF9035A] 1784 USB-N13 802.11n Network Adapter (rev. A1) [Ralink RT3072] 1786 USB-N10 802.11n Network Adapter [Realtek RTL8188SU] 1788 BT-270 Bluetooth Adapter 1791 WL-167G v3 802.11n Adapter [Realtek RTL8188SU] 179c Bluetooth Adapter 179d USB-N53 802.11abgn Network Adapter [Ralink RT3572] 179e Eee Note EA800 (network mode) 179f Eee Note EA800 (tablet mode) 17a0 Xonar U3 sound card 17a1 Eee Note EA800 (mass storage mode) 17ab USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU] 17ba N10 Nano 802.11n Network Adapter [Realtek RTL8192CU] 17c2 ROG Spitfire 17c7 WL-330NUL 17c9 USB-AC53 802.11a/b/g/n/ac Wireless Adapter [Broadcom BCM43526] 17cb Broadcom BCM20702A0 Bluetooth 17d1 AC51 802.11a/b/g/n/ac Wireless Adapter [Mediatek MT7610U] 17d2 USB-AC56 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] 17d3 USB-N10 v2 802.11b/g/n Wireless Adapter [MediaTek MT7601U] 17db USB-AC50 802.11a/b/g/n/ac (1x1) Wireless Adapter [MediaTek MT7610U] 17e8 USB-N14 802.11b/g/n (2x2) Wireless Adapter [Ralink RT5372] 17eb USB-AC55 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7612U] 17f5 Xonar U5 sound card 180a Broadcom BCM20702 Single-Chip Bluetooth 4.0 + LE 1817 USB-AC68 802.11a/b/g/n/ac (4x4) Wireless Adapter [Realtek RTL8814AU] 1825 Qualcomm Bluetooth 4.1 18f0 Realtek 8188EUS [USB-N10 Nano] 4c80 Transformer Pad TF300TG 4c90 Transformer Pad Infinity TF700 4c91 Transformer Pad Infinity TF700 (Debug mode) 4ca0 Transformer Pad TF701T 4ca1 Transformer Pad TF701T (Debug mode) 4d00 Transformer Prime TF201 4d01 Transformer Prime TF201 (debug mode) 4daf Transformer Pad Infinity TF700 (Fastboot) 5410 MeMO Pad HD 7 (MTP mode) 5412 MeMO Pad HD 7 (PTP mode) 550f Fonepad 7 6101 Cable Modem 620a Remote NDIS Device 7772 Zenfone GO (ZB500KL) (MTP mode) 7773 Zenfone GO (ZB500KL) (Debug, MTP mode) 7774 Zenfone GO (ZB500KL) (RNDIS mode) 7775 Zenfone GO (ZB500KL) (Debug, RNDIS mode) 7776 Zenfone GO (ZB500KL) (PTP mode) 7777 Zenfone GO (ZB500KL) (Debug, PTP mode) b700 Broadcom Bluetooth 2.1 0b0b Datamax-O'Neil 106e Datamax E-4304 0b0c Todos AB 0009 Todos Argos Mini II Smart Card Reader 001e e.dentifier2 (ABN AMRO electronic banking card reader NL) 002e C200 smartcard controller (Nordea card reader) 003f Todos C400 smartcard controller (Handelsbanken card reader) 0050 Argos Mini II Smart Card Reader (CCID) 0b0d ProjectLab 0000 CenturyCD 0b0e GN Netcom 0305 Jabra EVOLVE Link MS 0311 Jabra EVOLVE 65 0312 enc060:Buttons Volume up/down/mute + phone [Jabra] 0343 Jabra UC VOICE 150a 0348 Jabra UC VOICE 550a MS 034c Jabra UC Voice 750 MS 034d Jabra UC VOICE 750 0410 Jabra SPEAK 410 0420 Jabra SPEAK 510 0422 Jabra SPEAK 510 USB 0933 Jabra Freeway 094d GN Netcom / Jabra REVO Wireless 1017 Jabra PRO 930 1022 Jabra PRO 9450, Type 9400BS (DECT Headset) 1041 Jabra PRO 9460 1900 Jabra Biz 1900 2007 GN 2000 Stereo Corded Headset 2456 Jabra SPEAK 810 245e Jabra Link 370 620c Jabra BT620s 9330 Jabra GN9330 Headset a346 Jabra Engage 75 Stereo a50a Alienware Wireless Gaming Headset AW988 0b0f AVID Technology 0400 DNxID 0b10 Pcally 0b11 I Tech Solutions Co., Ltd 0b1e Electronic Warfare Assoc., Inc. (EWA) 8007 Blackhawk USB560-BP JTAG Emulator 0b1f Insyde Software Corp. 0b20 TransDimension, Inc. 0b21 Yokogawa Electric Corp. 0b22 Japan System Development Co., Ltd 0b23 Pan-Asia Electronics Co., Ltd 0b24 Link Evolution Corp. 0b27 Ritek Corp. 0b28 Kenwood Corp. 0b2c Village Center, Inc. 0b30 PNY Technologies, Inc. 0006 SM Media-Shuttle Card Reader 0b33 Contour Design, Inc. 0020 ShuttleXpress 0030 ShuttlePro v2 0401 RollerMouse Free 2 0700 RollerMouse Pro 08a0 Perfit Mouse 1000 RollerMouse Red 1010 Vidamic Technomouse IQ 0b37 Hitachi ULSI Systems Co., Ltd 0b38 Gear Head 0003 Keyboard 0010 107-Key Keyboard 0b39 Omnidirectional Control Technology, Inc. 0001 Composite USB PS2 Converter 0109 USB TO Ethernet 0421 Serial 0801 USB-Parallel Bridge 0901 OCT To Fast Ethernet Converter 0c03 LAN DOCK Serial Converter 0b3a IPaxess 0b3b Tekram Technology Co., Ltd 0163 TL-WN320G 1.0 WLAN Adapter 1601 Allnet 0193 802.11b Adapter 1602 ZyXEL ZyAIR B200 802.11b Adapter 1612 AIR.Mate 2@net 802.11b Adapter 1613 802.11b Wireless LAN Adapter 1620 Allnet Wireless Network Adapter [Envara WiND512] 1630 QuickWLAN 802.11bg 5630 802.11bg 6630 ZD1211 0b3c Olivetti Techcenter a010 Simple_Way Printer/Scanner/Copier c000 Olicard 100 c700 Olicard 100 (Mass Storage mode) 0b3e Kikusui Electronics Corp. 0b41 Hal Corp. 0011 Crossam2+USB IR commander 0b43 Play.com, Inc. 0003 PS2 Controller Converter 0005 GameCube Adaptor 0b47 Sportbug.com, Inc. 0b48 TechnoTrend AG 1003 Technotrend/Hauppauge USB-Nova 1004 TT-PCline 1005 Technotrend/Hauppauge USB-Nova 1006 Technotrend/Hauppauge DEC3000-s 1007 TT-micro plus Device 1008 Technotrend/Hauppauge DEC2000-t 1009 Technotrend/Hauppauge DEC2540-t 3001 DVB-S receiver 3002 DVB-C receiver 3003 DVB-T receiver 3004 TT TV-Stick 3005 TT TV-Stick (8kB EEPROM) 3006 TT-connect S-2400 DVB-S receiver 3007 TT-connect S2-3600 3008 TT-connect 3009 TT-connect S-2400 DVB-S receiver (8kB EEPROM) 300a TT-connect S2-3650 CI 300b TT-connect C-3650 CI 300c TT-connect T-3650 CI 300d TT-connect CT-3650 CI 300e TT-connect C-2400 3011 TT-connect S2-4600 3012 TT-connect CT2-4650 CI 3014 TT-TVStick CT2-4400 3015 TT-connect CT2-4650 CI 3017 TT-connect S2-4650 CI 0b49 ASCII Corp. 064f Trance Vibrator 0b4b Pine Corp. Ltd. 0100 D'music MP3 Player 0b4d Graphtec America, Inc. 110a Graphtec CC200-20 1123 Electronic Cutting Tool [Silhouette Portrait] 0b4e Musical Electronics, Ltd 6500 MP3 Player 8028 MP3 Player 8920 MP3 Player 0b50 Dumpries Co., Ltd 0b51 Comfort Keyboard Co. 0020 Comfort Keyboard 0b52 Colorado MicroDisplay, Inc. 0b54 Sinbon Electronics Co., Ltd 0b56 TYI Systems, Ltd 0b57 Beijing HanwangTechnology Co., Ltd 0b59 Lake Communications, Ltd 0b5a Corel Corp. 0b5f Green Electronics Co., Ltd 0b60 Nsine, Ltd 0b61 NEC Viewtechnology, Ltd 0b62 Orange Micro, Inc. 000b Bluetooth Device 0059 iBOT2 Webcam 0b63 ADLink Technology, Inc. 0b64 Wonderful Wire Cable Co., Ltd 0b65 Expert Magnetics Corp. 0b66 Cybiko Inc. 0041 Xtreme 0b67 Fairbanks Scales 555e SCB-R9000 0b69 CacheVision 0b6a Maxim Integrated Products a132 WUP-005 [Nintendo Wii U Pro Controller] 0b6f Nagano Japan Radio Co., Ltd 0b70 PortalPlayer, Inc. 00ba iRiver H10 20GB 0b71 SHIN-EI Sangyo Co., Ltd 0b72 Embedded Wireless Technology Co., Ltd 0b73 Computone Corp. 0b75 Roland DG Corp. 0b79 Sunrise Telecom, Inc. 0b7a Zeevo, Inc. 07d0 Bluetooth Dongle 0b7b Taiko Denki Co., Ltd 0b7c ITRAN Communications, Ltd 0b7d Astrodesign, Inc. 0b81 id3 Technologies 0001 Biothentic II smartcard reader with fingerprint sensor 0002 DFU-Enabled Devices (DFU) 0012 BioPAD biometric module (DFU + CDC) 0102 Certis V1 fingerprint reader 0103 Certis V2 fingerprint reader 0200 CL1356T / CL1356T5 / CL1356A smartcard readers (CCID) 0201 CL1356T / CL1356T5 / CL1356A smartcard readers (DFU + CCID) 0220 CL1356A FFPJP smartcard reader (CCID + HID) 0221 CL1356A smartcard reader (DFU + CCID + HID) 0b84 Rextron Technology, Inc. 0b85 Elkat Electronics, Sdn., Bhd. 0b86 Exputer Systems, Inc. 5100 XMC5100 Zippy Drive 5110 XMC5110 Flash Drive 5200 XMC5200 Zippy Drive 5201 XMC5200 Zippy Drive 5202 XMC5200 Zippy Drive 5280 XMC5280 Storage Drive fff0 ISP5200 Debugger 0b87 Plus-One I & T, Inc. 0b88 Sigma Koki Co., Ltd, Technology Center 0b89 Advanced Digital Broadcast, Ltd 0b8c SMART Technologies Inc. 0001 Interactive Whiteboard Controller (SB6) (HID) 00c3 Sympodium ID350 0b95 ASIX Electronics Corp. 1720 10/100 Ethernet 1780 AX88178 1790 AX88179 Gigabit Ethernet 6802 AX68002 KVM Switch SoC 7720 AX88772 772a AX88772A Fast Ethernet 772b AX88772B 7e2b AX88772B Fast Ethernet Controller 0b96 Sewon Telecom 0b97 O2 Micro, Inc. 7732 Smart Card Reader 7761 Oz776 1.1 Hub 7762 Oz776 SmartCard Reader 7772 OZ776 CCID Smartcard Reader 0b98 Playmates Toys, Inc. 0b99 Audio International, Inc. 0b9b Dipl.-Ing. Stefan Kunde 4012 Reflex RC-controller Interface 0b9d Softprotec Co. 0b9f Chippo Technologies 0baf U.S. Robotics 00e5 USR6000 00eb USR1120 802.11b Adapter 00ec 56K Faxmodem 00f1 SureConnect ADSL ATM Adapter 00f2 SureConnect ADSL Loader 00f5 SureConnect ADSL ATM Adapter 00f6 SureConnect ADSL Loader 00f7 SureConnect ADSL ATM Adapter 00f8 SureConnect ADSL Loader 00f9 SureConnect ADSL ATM Adapter 00fa SureConnect ADSL Loader 00fb SureConnect ADSL Ethernet/USB Router 0111 USR5420 802.11g Adapter [Broadcom 4320 USB] 0118 U5 802.11g Adapter 011b Wireless MAXg Adapter [Broadcom 4320] 0121 USR5423 802.11bg Wireless Adapter [ZyDAS ZD1211B] 0303 USR5637 56K Faxmodem 6112 FaxModem Model 5633 0bb0 Concord Camera Corp. 0100 Sound Vision Stream 5007 3340z/Rollei DC3100 0bb1 Infinilink Corp. 0bb2 Ambit Microsystems Corp. 0302 U10H010 802.11b Wireless Adapter [Intersil PRISM 3] 6098 USB Cable Modem 0bb3 Ofuji Technology 0bb4 HTC (High Tech Computer Corp.) 0001 Android Phone via mass storage [Wiko Cink Peax 2] 00ce mmO2 XDA GSM/GPRS Pocket PC 00cf SPV C500 Smart Phone 0306 Vive Hub Bluetooth 4.1 (Broadcom BCM920703) 0a01 PocketPC Sync 0a02 Himalaya GSM/GPRS Pocket PC 0a03 PocketPC Sync 0a04 PocketPC Sync 0a05 PocketPC Sync 0a06 PocketPC Sync 0a07 Magician PocketPC SmartPhone / O2 XDA 0a08 PocketPC Sync 0a09 PocketPC Sync 0a0a PocketPC Sync 0a0b PocketPC Sync 0a0c PocketPC Sync 0a0d PocketPC Sync 0a0e PocketPC Sync 0a0f PocketPC Sync 0a10 PocketPC Sync 0a11 PocketPC Sync 0a12 PocketPC Sync 0a13 PocketPC Sync 0a14 PocketPC Sync 0a15 PocketPC Sync 0a16 PocketPC Sync 0a17 PocketPC Sync 0a18 PocketPC Sync 0a19 PocketPC Sync 0a1a PocketPC Sync 0a1b PocketPC Sync 0a1c PocketPC Sync 0a1d PocketPC Sync 0a1e PocketPC Sync 0a1f PocketPC Sync 0a20 PocketPC Sync 0a21 PocketPC Sync 0a22 PocketPC Sync 0a23 PocketPC Sync 0a24 PocketPC Sync 0a25 PocketPC Sync 0a26 PocketPC Sync 0a27 PocketPC Sync 0a28 PocketPC Sync 0a29 PocketPC Sync 0a2a PocketPC Sync 0a2b PocketPC Sync 0a2c PocketPC Sync 0a2d PocketPC Sync 0a2e PocketPC Sync 0a2f PocketPC Sync 0a30 PocketPC Sync 0a31 PocketPC Sync 0a32 PocketPC Sync 0a33 PocketPC Sync 0a34 PocketPC Sync 0a35 PocketPC Sync 0a36 PocketPC Sync 0a37 PocketPC Sync 0a38 PocketPC Sync 0a39 PocketPC Sync 0a3a PocketPC Sync 0a3b PocketPC Sync 0a3c PocketPC Sync 0a3d PocketPC Sync 0a3e PocketPC Sync 0a3f PocketPC Sync 0a40 PocketPC Sync 0a41 PocketPC Sync 0a42 PocketPC Sync 0a43 PocketPC Sync 0a44 PocketPC Sync 0a45 PocketPC Sync 0a46 PocketPC Sync 0a47 PocketPC Sync 0a48 PocketPC Sync 0a49 PocketPC Sync 0a4a PocketPC Sync 0a4b PocketPC Sync 0a4c PocketPC Sync 0a4d PocketPC Sync 0a4e PocketPC Sync 0a4f PocketPC Sync 0a50 SmartPhone (MTP) 0a51 SPV C400 / T-Mobile SDA GSM/GPRS Pocket PC 0a52 SmartPhone Sync 0a53 SmartPhone Sync 0a54 SmartPhone Sync 0a55 SmartPhone Sync 0a56 SmartPhone Sync 0a57 SmartPhone Sync 0a58 SmartPhone Sync 0a59 SmartPhone Sync 0a5a SmartPhone Sync 0a5b SmartPhone Sync 0a5c SmartPhone Sync 0a5d SmartPhone Sync 0a5e SmartPhone Sync 0a5f SmartPhone Sync 0a60 SmartPhone Sync 0a61 SmartPhone Sync 0a62 SmartPhone Sync 0a63 SmartPhone Sync 0a64 SmartPhone Sync 0a65 SmartPhone Sync 0a66 SmartPhone Sync 0a67 SmartPhone Sync 0a68 SmartPhone Sync 0a69 SmartPhone Sync 0a6a SmartPhone Sync 0a6b SmartPhone Sync 0a6c SmartPhone Sync 0a6d SmartPhone Sync 0a6e SmartPhone Sync 0a6f SmartPhone Sync 0a70 SmartPhone Sync 0a71 SmartPhone Sync 0a72 SmartPhone Sync 0a73 SmartPhone Sync 0a74 SmartPhone Sync 0a75 SmartPhone Sync 0a76 SmartPhone Sync 0a77 SmartPhone Sync 0a78 SmartPhone Sync 0a79 SmartPhone Sync 0a7a SmartPhone Sync 0a7b SmartPhone Sync 0a7c SmartPhone Sync 0a7d SmartPhone Sync 0a7e SmartPhone Sync 0a7f SmartPhone Sync 0a80 SmartPhone Sync 0a81 SmartPhone Sync 0a82 SmartPhone Sync 0a83 SmartPhone Sync 0a84 SmartPhone Sync 0a85 SmartPhone Sync 0a86 SmartPhone Sync 0a87 SmartPhone Sync 0a88 SmartPhone Sync 0a89 SmartPhone Sync 0a8a SmartPhone Sync 0a8b SmartPhone Sync 0a8c SmartPhone Sync 0a8d SmartPhone Sync 0a8e SmartPhone Sync 0a8f SmartPhone Sync 0a90 SmartPhone Sync 0a91 SmartPhone Sync 0a92 SmartPhone Sync 0a93 SmartPhone Sync 0a94 SmartPhone Sync 0a95 SmartPhone Sync 0a96 SmartPhone Sync 0a97 SmartPhone Sync 0a98 SmartPhone Sync 0a99 SmartPhone Sync 0a9a SmartPhone Sync 0a9b SmartPhone Sync 0a9c SmartPhone Sync 0a9d SmartPhone Sync 0a9e SmartPhone Sync 0a9f SmartPhone Sync 0b03 Ozone Mobile Broadband 0b04 Hermes / TyTN / T-Mobile MDA Vario II / O2 Xda Trion 0b05 P3600 0b06 Athena / Advantage x7500 / Dopod U1000 / T-Mobile AMEO 0b0c Elf / Touch / P3450 / T-Mobile MDA Touch / O2 Xda Nova / Dopod S1 0b1f Sony Ericsson XPERIA X1 0b2f Rhodium 0b51 Qtek 8310 mobile phone [Tornado Noble] 0bce Vario MDA 0c01 Dream / ADP1 / G1 / Magic / Tattoo / FP1 0c02 Dream / ADP1 / G1 / Magic / Tattoo (Debug) 0c03 Android Phone [Fairphone First Edition (FP1)] 0c13 Diamond 0c1f Sony Ericsson XPERIA X1 0c5f Snap 0c86 Sensation 0c87 Desire (debug) 0c8d EVO 4G (debug) 0c91 Vision 0c94 Vision 0c97 Legend 0c99 Desire (debug) 0c9e Incredible 0ca2 Desire HD (debug mode) 0ca5 Android Phone [Evo Shift 4G] 0cab Desire / Desire HD / Hero / Thunderbolt (HTC Sync Mode) 0cae T-Mobile MyTouch 4G Slide [Doubleshot] 0de5 One (M7) 0dea M7_UL [HTC One] 0f25 One M8 0f63 Desire 610 Via MTP 0f64 Desire 601 0fb4 Remote NDIS based Device 0ff0 One Mini (M4) 0ff8 Desire HD (Tethering Mode) 0ff9 Desire / Desire HD / Hero / Thunderbolt (Charge Mode) 0ffe Desire HD (modem mode) 0fff Android Fastboot Bootloader 2008 Android Phone via MTP [MT65xx] 200b Android Phone via PTP [Wiko Cink Peax 2] 2134 Vive Hub (SMSC USB2137B) 2744 Vive Hub (HTC CB USB2) 2c87 Vive 0bb5 Murata Manufacturing Co., Ltd 0bb6 Network Alchemy 0bb7 Joytech Computer Co., Ltd 0bb8 Hitachi Semiconductor and Devices Sales Co., Ltd 0bb9 Eiger M&C Co., Ltd 0bba ZAccess Systems 0bbb General Meters Corp. 0bbc Assistive Technology, Inc. 0bbd System Connection, Inc. 0bc0 Knilink Technology, Inc. 0bc1 Fuw Yng Electronics Co., Ltd 0bc2 Seagate RSS LLC 0502 ST3300601CB-RK 300 GB External Hard Drive 0503 ST3250824A [Barracuda 7200.9] 2000 Storage Adapter V3 (TPP) 2100 FreeAgent Go 2200 FreeAgent Go FW 2300 Expansion Portable 231a Expansion Portable 231c Expansion Portable 2320 USB 3.0 bridge [Portable Expansion Drive] 2321 Expansion Portable 2322 SRD0NF1 Expansion Portable (STEA) 2340 FreeAgent External Hard Drive 3000 FreeAgent Desktop 3008 FreeAgent Desk 1TB 3101 FreeAgent XTreme 640GB 3312 SRD00F2 Expansion Desktop Drive (STBV) 331a Desktop HDD 5TB (ST5000DM000) 3320 SRD00F2 [Expansion Desktop Drive] 3322 SRD0NF2 [Expansion Desktop Drive] 3323 Seagate RSS LLC 3332 Expansion 3343 desktop drive stgy8000400 5020 FreeAgent GoFlex 5021 FreeAgent GoFlex USB 2.0 5030 FreeAgent GoFlex Upgrade Cable STAE104 5031 FreeAgent GoFlex USB 3.0 5032 SATA cable 5070 FreeAgent GoFlex Desk 5071 FreeAgent GoFlex Desk 50a1 FreeAgent GoFlex Desk 50a5 FreeAgent GoFlex Desk USB 3.0 5121 FreeAgent GoFlex 5161 FreeAgent GoFlex dock 6126 Maxtor D3 Station 5TB 61b5 Maxtor HX-M201TCB [M3 Portable 2TB] 61b6 Maxtor HX-M101TCB/GM [M3 Portable 1TB] 61b7 Maxtor M3 Portable a003 Backup Plus a0a1 Backup Plus Desktop a0a4 Backup Plus Desktop Drive aa14 STJ4000400 [Seagate Basic Portable Drive 4TB] ab00 Slim Portable Drive ab1e Backup Plus Portable Drive ab20 Backup Plus Portable Drive ab21 Backup Plus Slim ab24 Backup Plus Portable Drive ab26 Backup Plus Slim Portable Drive 1 TB ab28 Seagate Backup Plus Portable 5TB SRD00F1 ab2d SRD00F1 [Backup Plus Ultra Slim] ab31 Backup Plus Desktop Drive (5TB) ab34 Backup Plus ab38 Backup Plus Hub (Mass Storage) ab44 Backup Plus Hub ac20 Backup Plus Slim 2TB 0bc3 IPWireless, Inc. 0001 UMTS-TDD (TD-CDMA) modem 0bc4 Microcube Corp. 0bc5 JCN Co., Ltd 0bc6 ExWAY, Inc. 0bc7 X10 Wireless Technology, Inc. 0001 ActiveHome (ACPI-compliant) 0002 Firecracker Interface (ACPI-compliant) 0003 VGA Video Sender (ACPI-compliant) 0004 X10 Receiver 0005 Wireless Transceiver (ACPI-compliant) 0006 Wireless Transceiver (ACPI-compliant) 0007 Wireless Transceiver (ACPI-compliant) 0008 Wireless Transceiver (ACPI-compliant) 0009 Wireless Transceiver (ACPI-compliant) 000a Wireless Transceiver (ACPI-compliant) 000b Transceiver (ACPI-compliant) 000c Transceiver (ACPI-compliant) 000d Transceiver (ACPI-compliant) 000e Transceiver (ACPI-compliant) 000f Transceiver (ACPI-compliant) 0bc8 Telmax Communications 0bc9 ECI Telecom, Ltd 0bca Startek Engineering, Inc. 0bcb Perfect Technic Enterprise Co., Ltd 0bd7 Andrew Pargeter & Associates a021 Amptek DP4 multichannel signal analyzer 0bda Realtek Semiconductor Corp. 0103 USB 2.0 Card Reader 0104 Mass Storage Device 0106 Mass Storage Device 0107 Mass Storage Device 0108 Mass Storage Device 0109 microSDXC Card Reader [Hama 00091047] 0111 RTS5111 Card Reader Controller 0113 Mass Storage Device 0115 Mass Storage Device (Multicard Reader) 0116 RTS5116 Card Reader Controller 0117 Mass Storage Device 0118 Mass Storage Device 0119 Storage Device (SD card reader) 0129 RTS5129 Card Reader Controller 0138 RTS5138 Card Reader Controller 0139 RTS5139 Card Reader Controller 0151 Mass Storage Device (Multicard Reader) 0152 Mass Storage Device 0153 3-in-1 (SD/SDHC/SDXC) Card Reader 0156 Mass Storage Device 0157 Mass Storage Device 0158 USB 2.0 multicard reader 0159 RTS5159 Card Reader Controller 0161 Mass Storage Device 0168 Mass Storage Device 0169 Mass Storage Device 0171 Mass Storage Device 0176 Mass Storage Device 0178 Mass Storage Device 0179 RTL8188ETV Wireless LAN 802.11n Network Adapter 0184 RTS5182 Card Reader 0186 Card Reader 0301 multicard reader 0307 Card Reader 0316 Card Reader 0326 Card reader 0411 Hub 0811 Realtek 8812AU/8821AU 802.11ac WLAN Adapter [USB Wireless Dual-Band Adapter 2.4/5Ghz] 0821 RTL8821A Bluetooth 1724 RTL8723AU 802.11n WLAN Adapter 1a2b RTL8188GU 802.11n WLAN Adapter (Driver CDROM Mode) 2831 RTL2831U DVB-T 2832 RTL2832U DVB-T 2838 RTL2838 DVB-T 5401 RTL 8153 USB 3.0 hub with gigabit ethernet 5411 RTS5411 Hub 568c Integrated Webcam HD 570c Asus laptop camera 5730 HP 2.0MP High Definition Webcam 5751 Integrated Webcam 5775 HP "Truevision HD" laptop camera 5776 HP Truevision HD integrated webcam 57b3 Acer 640 × 480 laptop camera 57cc HD Webcam - Realtek Semiconductor 57cf HD WebCam 57da Built-In Video Camera 58c2 Integrated Webcam HD 58c8 Integrated Webcam HD 8150 RTL8150 Fast Ethernet Adapter 8151 RTL8151 Adapteon Business Mobile Networks BV 8152 RTL8152 Fast Ethernet Adapter 8153 RTL8153 Gigabit Ethernet Adapter 8171 RTL8188SU 802.11n WLAN Adapter 8172 RTL8191SU 802.11n WLAN Adapter 8174 RTL8192SU 802.11n WLAN Adapter 8176 RTL8188CUS 802.11n WLAN Adapter 8178 RTL8192CU 802.11n WLAN Adapter 8179 RTL8188EUS 802.11n Wireless Network Adapter 817f RTL8188RU 802.11n WLAN Adapter 8187 RTL8187 Wireless Adapter 8189 RTL8187B Wireless 802.11g 54Mbps Network Adapter 818b RTL8192EU 802.11b/g/n WLAN Adapter 8192 RTL8191SU 802.11n Wireless Adapter 8193 RTL8192DU 802.11an WLAN Adapter 8197 RTL8187B Wireless Adapter 8198 RTL8187B Wireless Adapter 8199 RTL8187SU 802.11g WLAN Adapter 8723 RTL8723A Bluetooth 8812 RTL8812AU 802.11a/b/g/n/ac 2T2R DB WLAN Adapter 8813 RTL8814AU 802.11a/b/g/n/ac Wireless Adapter 881a RTL8812AU-VS 802.11a/b/g/n/ac 2T2R DB WLAN Adapter 8821 RTL8821A Bluetooth 9210 RTL9210 M.2 NVME Adapter a811 RTL8811AU 802.11a/b/g/n/ac WLAN Adapter b009 Realtek Bluetooth 4.2 Adapter b00a Realtek Bluetooth 4.2 Adapter b00b Realtek Bluetooth 4.2 Adapter b023 RTL8822BE Bluetooth 4.2 Adapter b711 RTL8188GU 802.11n WLAN Adapter (After Modeswitch) b720 RTL8723BU 802.11b/g/n WLAN Adapter b723 RTL8723B Bluetooth b728 RTL8723B Bluetooth b72a RTL8723B Bluetooth b812 RTL88x2bu [AC1200 Techkey] f179 RTL8188FTV 802.11b/g/n 1T1R 2.4G WLAN Adapter 0bdb Ericsson Business Mobile Networks BV 1000 BV Bluetooth Device 1002 Bluetooth Device 1.2 1049 C3607w Mobile Broadband Module 1900 F3507g Mobile Broadband Module 1902 F3507g v2 Mobile Broadband Module 1904 F3607gw Mobile Broadband Module 1905 F3607gw v2 Mobile Broadband Module 1906 F3607gw v3 Mobile Broadband Module 1909 F3307 v2 Mobile Broadband Module 190a F3307 Mobile Broadband Module 190b C3607w v2 Mobile Broadband Module 1926 H5321 gw Mobile Broadband Module 0bdc Y Media Corp. 0bdd Orange PCS 0be2 Kanda Tsushin Kogyo Co., Ltd 0be3 TOYO Corp. 0be4 Elka International, Ltd 0be5 DOME imaging systems, Inc. 0be6 Dong Guan Humen Wonderful Wire Cable Factory 0bed MEI 1100 CASHFLOW SC 1101 Series 2000 Combo Acceptor 0bee LTK Industries, Ltd 0bef Way2Call Communications 0bf0 Pace Micro Technology PLC c010 EHD100SD 0bf1 Intracom S.A. 0001 netMod Driver Ver 2.4.17 (CAPI) 0002 netMod Driver Ver 2.4 (CAPI) 0003 netMod Driver Ver 2.4 (CAPI) 0bf2 Konexx 0bf6 Addonics Technologies, Inc. 0103 Storage Device 1234 Storage Device a000 Cable 205 (TPP) a001 Cable 205 a002 IDE Bridge 0bf7 Sunny Giken, Inc. 0bf8 Fujitsu Siemens Computers 1001 Fujitsu Pocket Loox 600 PDA 1006 SmartCard Reader 2A 1007 Connect2Air E-5400 802.11g Wireless Adapter 1009 Connect2Air E-5400 D1700 802.11g Wireless Adapter [Intersil ISL3887] 100c Keyboard FSC KBPC PX 100f miniCard D2301 802.11bg Wireless Module [SiS 163U] 1017 Keyboard KB SCR 101f Fujitsu Full HD Pro Webcam 0bfb Grass Valley Group 0200 TURBO iDDR Front Panel 0bfd Kvaser AB 0004 USBcan II 000b Leaf Light HS 000e Leaf SemiPro HS 0c00 FireFly Mouse Mat 1607 Apex M500 0c04 MOTO Development Group, Inc. 0c05 Appian Graphics 0c06 Hasbro Games, Inc. 0c07 Infinite Data Storage, Ltd 0c08 Agate 0378 Q 16MB Storage Device 0c09 Comjet Information System a5a5 Litto Version USB2.0 0c0a Highpoint Technologies, Inc. 6124 RocketStor 6124V 0c0b Dura Micro, Inc. (Acomdata) 27cb 6-in-1 Flash Reader and Writer 27d7 Multi Memory reader/writer MD-005 27da Multi Memory reader/writer MD-005 27dc Multi Memory reader/writer MD-005 27e7 3,5'' HDD case MD-231 27ee 3,5'' HDD case MD-231 2814 3,5'' HDD case MD-231 2815 3,5'' HDD case MD-231 281d 3,5'' HDD case MD-231 5fab Storage Adaptor a109 CF/SM Reader and Writer a10c SD/MS Reader and Writer b001 USB 2.0 Mass Storage IDE adapter b004 MMC/SD Reader and Writer 0c12 Zeroplus 0005 PSX Vibration Feedback Converter / Intec Wireless Controller for Xbox 0030 PSX Vibration Feedback Converter 700e Logic Analyzer (LAP-C-16032) 8801 Nyko Xbox Controller 8802 Xbox Controller 8809 Red Octane Ignition Xbox DDR Pad 880a Pelican Eclipse PL-2023 8810 Xbox Controller 9902 VibraX 0c15 Iris Graphics 0c16 Gyration, Inc. 0002 RF Technology Receiver 0003 RF Technology Receiver 0008 RF Technology Receiver 0080 eHome Infrared Receiver 0081 eHome Infrared Receiver 0c17 Cyberboard A/S 0c18 SynerTek Korea, Inc. 0c19 cyberPIXIE, Inc. 0c1a Silicon Motion, Inc. 0c1b MIPS Technologies 0c1c Hang Zhou Silan Electronics Co., Ltd 0c1f Magicard 1800 Tango 2E 0c22 Tally Printer Corp. 0c23 Lernout + Hauspie 0c24 Taiyo Yuden 0001 Bluetooth Adaptor 0002 Bluetooth Device2 0005 Bluetooth Device(BC04-External) 000b Bluetooth Device(BC04-External) 000c Bluetooth Adaptor 000e Bluetooth Device(BC04-External) 000f Bluetooth Device (V2.0+EDR) 0010 Bluetooth Device(BC04-External) 0012 Bluetooth Device(BC04-External) 0018 Bluetooth Device(BC04-External) 0019 Bluetooth Device 0021 Bluetooth Device (V2.1+EDR) 0c24 Bluetooth Device(SAMPLE) ffff Bluetooth module with BlueCore in DFU mode 0c25 Sampo Corp. 0310 Scream Cam 0c26 Prolific Technology Inc. 0018 USB-Serial Controller [Icom Inc. OPC-478UC] 002b Icom Inc. IC-R30 0c27 RFIDeas, Inc 232a pcProx Plus RFID Reader (CDC serial) 3bfa pcProx Card Reader 0c2e Metrologic Instruments 0007 Metrologic MS7120 Barcode Scanner (IBM SurePOS mode) 0200 MS7120 Barcode Scanner 0204 Metrologic MS7120 Barcode Scanner (keyboard mode) 0206 Metrologic MS4980 Barcode Scanner 0700 Metrologic MS7120 Barcode Scanner (uni-directional serial mode) 0720 Metrologic MS7120 Barcode Scanner (bi-directional serial mode) 0a64 [Stratos 2700] 0b61 Vuquest 3310g 0b6a Vuquest 3310 Area-Imaging Scanner 0b81 Barcode scanner Voyager 1400g Series 0c30 Mutoh Industries Ltd 6010 Kona 1400 Cutting Plotter 0c35 Eagletron, Inc. 0c36 E Ink Corp. 0c37 e.Digital 0c38 Der An Electric Wire & Cable Co., Ltd 0c39 IFR 0c3a Furui Precise Component (Kunshan) Co., Ltd 0c3b Komatsu, Ltd 0c3c Radius Co., Ltd 0c3d Innocom, Inc. 0c3e Nextcell, Inc. 0c40 ELMCU 8000 2.4GHz receiver 0c44 Motorola iDEN 0021 iDEN P2k0 Device 0022 iDEN P2k1 Device 03a2 iDEN Smartphone 41d9 i1 phone 0c45 Microdia 0011 EBUDDY 0520 MaxTrack Wireless Mouse 1018 Compact Flash storage memory card reader 1020 Mass Storage Reader 1028 Mass Storage Reader 1030 Mass Storage Reader 1031 Sonix Mass Storage Device 1032 Mass Storage Reader 1033 Sonix Mass Storage Device 1034 Mass Storage Reader 1035 Mass Storage Reader 1036 Mass Storage Reader 1037 Sonix Mass Storage Device 1050 CF Card Reader 1058 HDD Reader 1060 iFlash SM-Direct Card Reader 1061 Mass Storage Reader 1062 Mass Storage Reader 1063 Sonix Mass Storage Device 1064 Mass Storage Reader 1065 Mass Storage Reader 1066 Mass Storage Reader 1067 Mass Storage Reader 1158 A56AK 184c VoIP Phone 1a90 2M pixel Microscope Camera (with capture button) [Andonstar V160] 5004 Redragon Mitra RGB Keyboard 5101 2.4G Wireless Device [Rii MX3] 6001 Genius VideoCAM NB 6005 Sweex Mini Webcam 6007 VideoCAM Eye 6009 VideoCAM ExpressII 600d TwinkleCam USB camera 6011 PC Camera (SN9C102) 6019 PC Camera (SN9C102) 6024 VideoCAM ExpressII 6025 VideoCAM ExpressII 6028 Typhoon Easycam USB 330K (older) 6029 Triplex i-mini PC Camera 602a Meade ETX-105EC Camera 602b VideoCAM NB 300 602c Clas Ohlson TWC-30XOP Webcam 602d VideoCAM ExpressII 602e VideoCAM Messenger 6030 VideoCAM ExpressII 603f VideoCAM ExpressII 6040 CCD PC Camera (PC390A) 606a CCD PC Camera (PC390A) 607a CCD PC Camera (PC390A) 607b Win2 PC Camera 607c CCD PC Camera (PC390A) 607e CCD PC Camera (PC390A) 6080 Audio (Microphone) 6082 VideoCAM Look 6083 VideoCAM Look 608c VideoCAM Look 608e VideoCAM Look 608f PC Camera (SN9C103 + OV7630) 60a8 VideoCAM Look 60aa VideoCAM Look 60ab PC Camera 60af VideoCAM Look 60b0 Genius VideoCam Look 60c0 PC Camera with Mic (SN9C105) 60c8 Win2 PC Camera 60cc PC Camera with Mic (SN9C105) 60ec PC Camera with Mic (SN9C105) 60ef Win2 PC Camera 60fa PC Camera with Mic (SN9C105) 60fb Composite Device 60fc PC Camera with Mic (SN9C105) 60fe Audio (Microphone) 6108 Win2 PC Camera 6122 PC Camera (SN9C110) 6123 PC Camera (SN9C110) 6128 PC Camera (SN9C325 + OM6802) 612a PC Camera (SN9C325) 612c PC Camera (SN9C110) 612e PC Camera (SN9C110) 612f PC Camera (SN9C110) 6130 PC Camera (SN9C120) 6138 Win2 PC Camera 613a PC Camera (SN9C120) 613b Win2 PC Camera 613c PC Camera (SN9C120) 613e PC Camera (SN9C120) 6143 PC Camera (SN9C120 + SP80708) 6240 PC Camera (SN9C201 + MI1300) 6242 PC Camera (SN9C201 + MI1310) 6243 PC Camera (SN9C201 + S5K4AAFX) 6248 PC Camera (SN9C201 + OV9655) 624b PC Camera (SN9C201 + CX1332) 624c PC Camera (SN9C201 + MI1320) 624e PC Camera (SN9C201 + SOI968) 624f PC Camera (SN9C201 + OV9650) 6251 PC Camera (SN9C201 + OV9650) 6253 PC Camera (SN9C201 + OV9650) 6260 PC Camera (SN9C201 + OV7670ISP) 6262 PC Camera (SN9C201 + OM6802) 6270 PC Camera (SN9C201 + MI0360/MT9V011 or MI0360SOC/MT9V111) U-CAM PC Camera NE878, Whitcom WHC017, ... 627a PC Camera (SN9C201 + S5K53BEB) 627b PC Camera (SN9C201 + OV7660) 627c PC Camera (SN9C201 + HV7131R) 627f PC Camera (SN9C201 + OV965x + EEPROM) 6280 PC Camera with Microphone (SN9C202 + MI1300) 6282 PC Camera with Microphone (SN9C202 + MI1310) 6283 PC Camera with Microphone (SN9C202 + S5K4AAFX) 6288 PC Camera with Microphone (SN9C202 + OV9655) 628a PC Camera with Microphone (SN9C202 + ICM107) 628b PC Camera with Microphone (SN9C202 + CX1332) 628c PC Camera with Microphone (SN9C202 + MI1320) 628e PC Camera with Microphone (SN9C202 + SOI968) 628f PC Camera with Microphone (SN9C202 + OV9650) 62a0 PC Camera with Microphone (SN9C202 + OV7670ISP) 62a2 PC Camera with Microphone (SN9C202 + OM6802) 62b0 PC Camera with Microphone (SN9C202 + MI0360/MT9V011 or MI0360SOC/MT9V111) 62b3 PC Camera with Microphone (SN9C202 + OV9655) 62ba PC Camera with Microphone (SN9C202 + S5K53BEB) 62bb PC Camera with Microphone (SN9C202 + OV7660) 62bc PC Camera with Microphone (SN9C202 + HV7131R) 62be PC Camera with Microphone (SN9C202 + OV7663) 62c0 Sonix USB 2.0 Camera 62e0 MSI Starcam Racer 6300 PC Microscope camera 6310 Sonix USB 2.0 Camera 6321 HP Integrated Webcam 6340 Camera 6341 Defender G-Lens 2577 HD720p Camera 6366 Webcam Vitade AF 63e0 Sonix Integrated Webcam 63f1 Integrated Webcam 63f8 Sonix Integrated Webcam 6409 Webcam 6413 Integrated Webcam 6417 Integrated Webcam 6419 Integrated Webcam 641d 1.3 MPixel Integrated Webcam 6433 Laptop Integrated Webcam HD (Composite Device) 643f Dell Integrated HD Webcam 644d 1.3 MPixel Integrated Webcam 6480 Sonix 1.3 MP Laptop Integrated Webcam 648b Integrated Webcam 64ad Dell Laptop Integrated Webcam HD 64bd Sony Visual Communication Camera 64d0 Integrated Webcam 64d2 Integrated Webcam 651b HP Webcam 652f Backlit Gaming Keyboard 6705 Integrated HD Webcam 670c Integrated Webcam HD 6710 Integrated Webcam 6712 Integrated Webcam HD 671d Integrated_Webcam_HD 7401 TEMPer Temperature Sensor 7402 TEMPerHUM Temperature & Humidity Sensor 7403 Foot Switch 7404 Foot switch FS1-P 8000 DC31VC 8006 Dual Mode Camera (8006 VGA) 800a Vivitar Vivicam3350B 0c46 WaveRider Communications, Inc. 0c4a ALGE-TIMING GmbH 0889 Timy 088a Timy 2 0c4b Reiner SCT Kartensysteme GmbH 0100 cyberJack e-com/pinpad 0300 cyberJack pinpad(a) 0400 cyberJack e-com(a) 0401 cyberJack pinpad(a2) 0500 cyberJack RFID standard dual interface smartcard reader 0501 cyberJack RFID comfort dual interface smartcard reader 0502 cyberJack compact 0504 cyberJack go / go plus 0505 cyberJack wave 9102 cyberJack RFID basis contactless smartcard reader 0c4c Needham's Electronics 0021 EMP-21 Universal Programmer 0c52 Sealevel Systems, Inc. 2101 SeaLINK+232 2102 SeaLINK+485 2103 SeaLINK+232I 2104 SeaLINK+485I 2211 SeaPORT+2/232 (Port 1) 2212 SeaPORT+2/485 (Port 1) 2213 SeaPORT+2 (Port 1) 2221 SeaPORT+2/232 (Port 2) 2222 SeaPORT+2/485 (Port 2) 2223 SeaPORT+2 (Port 2) 2411 SeaPORT+4/232 (Port 1) 2412 SeaPORT+4/485 (Port 1) 2413 SeaPORT+4 (Port 1) 2421 SeaPORT+4/232 (Port 2) 2422 SeaPORT+4/485 (Port 2) 2423 SeaPORT+4 (Port 2) 2431 SeaPORT+4/232 (Port 3) 2432 SeaPORT+4/485 (Port 3) 2433 SeaPORT+4 (Port 3) 2441 SeaPORT+4/232 (Port 4) 2442 SeaPORT+4/485 (Port 4) 2443 SeaPORT+4 (Port 4) 2811 SeaLINK+8/232 (Port 1) 2812 SeaLINK+8/485 (Port 1) 2813 SeaLINK+8 (Port 1) 2821 SeaLINK+8/232 (Port 2) 2822 SeaLINK+8/485 (Port 2) 2823 SeaLINK+8 (Port 2) 2831 SeaLINK+8/232 (Port 3) 2832 SeaLINK+8/485 (Port 3) 2833 SeaLINK+8 (Port 3) 2841 SeaLINK+8/232 (Port 4) 2842 SeaLINK+8/485 (Port 4) 2843 SeaLINK+8 (Port 4) 2851 SeaLINK+8/232 (Port 5) 2852 SeaLINK+8/485 (Port 5) 2853 SeaLINK+8 (Port 5) 2861 SeaLINK+8/232 (Port 6) 2862 SeaLINK+8/485 (Port 6) 2863 SeaLINK+8 (Port 6) 2871 SeaLINK+8/232 (Port 7) 2872 SeaLINK+8/485 (Port 7) 2873 SeaLINK+8 (Port 7) 2881 SeaLINK+8/232 (Port 8) 2882 SeaLINK+8/485 (Port 8) 2883 SeaLINK+8 (Port 8) 9020 SeaLINK+422 a02a SeaLINK+8 (Port 1+2) a02b SeaLINK+8 (Port 3+4) a02c SeaLINK+8 (Port 5+6) a02d SeaLINK+8 (Port 7+8) 0c53 ViewPLUS, Inc. 0c54 Glory, Ltd 0c55 Spectrum Digital, Inc. 0510 Spectrum Digital XDS510 JTAG Debugger 0540 SPI540 5416 TMS320C5416 DSK 6416 TMS320C6416 DDB 0c56 Billion Bright, Ltd 0c57 Imaginative Design Operation Co., Ltd 0c58 Vidar Systems Corp. 0c59 Dong Guan Shinko Wire Co., Ltd 0c5a TRS International Mfg., Inc. 0c5e Xytronix Research & Design 0c60 Apogee Electronics Corp. 0001 MiniMe 0002 MiniDAC 0003 ONE 0004 GiO 0007 Duet 0009 Jam 000a Jam Bootloader 000b MiC 000c MiC Bootloader 8007 Duet DFU Mode 0c62 Chant Sincere Co., Ltd 0c63 Toko, Inc. 0c64 Signality System Engineering Co., Ltd 0c65 Eminence Enterprise Co., Ltd 0c66 Rexon Electronics Corp. 0c67 Concept Telecom, Ltd 0c6a ACS 0005 Color 320 x 240 LCD Display Terminal with Touchscreen 0c6c JETI Technische Instrumente GmbH 04b2 Specbos 1201 0c70 MCT Elektronikladen 0000 USB08 Development board 0747 Eye Movement Recorder [Visagraph]/[ReadAlyzer] 0c72 PEAK System 000c PCAN-USB 000d PCAN Pro 0c74 Optronic Laboratories Inc. 0002 OL 700-30 Goniometer 0c76 JMTek, LLC. 0001 Mass Storage Controller 0002 Mass Storage Controller 0003 USBdisk 0004 Mass Storage Controller 0005 Transcend Flash disk 0006 Transcend JetFlash 0007 Mass Storage Device 1600 Ion Quick Play LP turntable 1605 SSS Headphone Set 1607 audio controller 5663 Audio Device 0c77 Sipix Group, Ltd 1001 SiPix Web2 1002 SiPix SC2100 1010 SiPix Snap 1011 SiPix Blink 2 1015 SiPix CAMeleon 0c78 Detto Corp. 0c79 NuConnex Technologies Pte., Ltd 0c7a Wing-Span Enterprise Co., Ltd 0c86 NDA Technologies, Inc. 0c88 Kyocera Wireless Corp. 0021 Handheld 17da Qualcomm Kyocera CDMA Technologies MSM 0c89 Honda Tsushin Kogyo Co., Ltd 0c8a Pathway Connectivity, Inc. 0c8b Wavefly Corp. 0c8c Coactive Networks 0c8d Tempo 0c8e Cesscom Co., Ltd 6000 Luxian Series 0c8f Applied Microsystems 0c94 Cryptera a000 EPP 1217 0c98 Berkshire Products, Inc. 1140 USB PC Watchdog 0c99 Innochips Co., Ltd 0c9a Hanwool Robotics Corp. 0c9b Jobin Yvon, Inc. 0c9c Brand Innovators BV 1511 BI-1511 Laser Simulator 1512 BI-1512 Syncbus Monitor 1514 BI-1514 HPC 1532 BI-1532 GPC 0c9d SemTek 0170 3873 Manual Insert card reader 0ca2 Zyfer 0ca3 Sega Corp. 0ca4 ST&T Instrument Corp. 0ca5 BAE Systems Canada, Inc. 0ca6 Castles Technology Co., Ltd 0010 EZUSB PC/SC Smart Card Reader 0050 EZ220PU Reader Controller 1077 Bludrive Family Smart Card Reader 107e Reader Controller 2010 myPad110 PC/SC Smart Card Reader 3050 EZ710 Smart Card Reader 0ca7 Information Systems Laboratories 0caa Allied Telesis KK. 3001 AT-VT-Kit3 Serial Adapter 0cad Motorola CGISS 1007 APX Series Consolette 1020 MOTOTRBO Series Radio (Portable) 1030 APX Series Radio (Portable) 1031 APX Series Radio (Mobile) 1602 IMPRES Battery Data Reader 9001 PowerPad Pocket PC Device 0cae Ascom Business Systems, Ltd 0caf Buslink 2507 Hi-Speed USB-to-IDE Bridge Controller 2515 Flash Disk Embedded Hub 2516 Flash Disk Security Device 2517 Flash Disk Mass Storage Device 25c7 Hi-Speed USB-to-IDE Bridge Controller 3a00 Hard Drive 3a20 Mass Storage Device 3acd Mass Storage Device 0cb0 Flying Pig Systems 0cb1 Innovonics, Inc. 0cb6 Celestix Networks, Pte., Ltd 0cb7 Singatron Enterprise Co., Ltd 0cb8 Opticis Co., Ltd 0cba Trust Electronic (Shanghai) Co., Ltd 0cbb Shanghai Darong Electronics Co., Ltd 0cbc Palmax Technology Co., Ltd 0101 Pocket PC P6C 0201 Personal Digital Assistant 0301 Personal Digital Assistant P6M+ 0401 Pocket PC 0cbd Pentel Co., Ltd (Electronics Equipment Div.) 0cbe Keryx Technologies, Inc. 0cbf Union Genius Computer Co., Ltd 0cc0 Kuon Yi Industrial Corp. 0cc1 Given Imaging, Ltd 0cc2 Timex Corp. 0cc3 Rimage Corp. 0cc4 emsys GmbH 0cc5 Sendo 0cc6 Intermagic Corp. 0cc8 Technotools Corp. 0cc9 BroadMAX Technologies, Inc. 0cca Amphenol 0ccb SKNet Co., Ltd 0ccc Domex Technology Corp. 0ccd TerraTec Electronic GmbH 0012 PHASE 26 0013 PHASE 26 0014 PHASE 26 0015 Flash Update for TerraTec PHASE 26 0021 Cameo Grabster 200 0023 Mystify Claw 0028 Aureon 5.1 MkII 0032 MIDI HUBBLE 0035 Miditech Play'n Roll 0036 Cinergy 250 Audio 0037 Cinergy 250 Audio 0038 Cinergy T² DVB-T Receiver 0039 Grabster AV 400 003b Cinergy 400 003c Grabster AV 250 0042 Cinergy Hybrid T XS 0043 Cinergy T XS 004e Cinergy T XS 004f Cinergy Analog XS 0055 Cinergy T XE (Version 1, AF9005) 005c Cinergy T² 0069 Cinergy T XE (Version 2, AF9015) 006b Cinergy HT PVR (EU) 0072 Cinergy Hybrid T 0077 Aureon Dual USB 0078 Cinergy T XXS 0086 Cinergy Hybrid XE 008e Cinergy HTC XS 0096 Grabby 0097 Cinergy T RC MKII 0099 AfaTech 9015 [Cinergy T Stick Dual] 00a5 Cinergy Hybrid Stick 00a9 RTL2838 DVB-T COFDM Demodulator [TerraTec Cinergy T Stick Black] 00b3 NOXON DAB/DAB+ Stick 00b9 WDR DAB/DAB+ Stick 00e0 NOXON DAB/DAB+ Stick V2 0102 Cinergy S2 Stick 0105 Cinergy S2 Box 10a7 TerraTec G3 10ad Cinergy H5 Rev. 2 0cd4 Bang Olufsen 0101 BeolinkPC2 0cd5 LabJack Corporation 0003 U3 0009 UE9 0cd6 Scheidt & Bachmann 000c S&B TPU 000e S&B BKV 0011 Money Coin Unit 0cd7 NewChip S.r.l. 0cd8 JS Digitech, Inc. 2007 Smart Card Reader/JSTU-9700 0cd9 Hitachi Shin Din Cable, Ltd 0cde Z-Com 0001 XI-750 802.11b Wireless Adapter [Atmel AT76C503A] 0002 XI-725/726 Prism2.5 802.11b Adapter 0003 Sagem 802.11b Dongle 0004 Sagem 802.11b Dongle 0005 XI-735 Prism3 802.11b Adapter 0006 XG-300 802.11b Adapter 0008 XG-703A 802.11g Wireless Adapter [Intersil ISL3887] 0009 (ZD1211)IEEE 802.11b+g Adapter 0011 ZD1211 0012 AR5523 0013 AR5523 driver (no firmware) 0014 NB 802.11g Wireless LAN Adapter(3887A) 0015 XG-705A 802.11g Wireless Adapter [Intersil ISL3887] 0016 NB 802.11g Wireless LAN Adapter(3887A) 0018 NB 802.11a/b/g Wireless LAN Adapter(3887A) 001a 802.11bg 001c 802.11b/g Wireless Network Adapter 0020 AG-760A 802.11abg Wireless Adapter [ZyDAS ZD1211B] 0022 802.11b/g/n Wireless Network Adapter 0023 UB81 802.11bgn 0025 802.11b/g/n USB Wireless Network Adapter 0026 UB82 802.11abgn 0027 Sphairon Homelink 1202 802.11n Wireless Adapter [Atheros AR9170] 0ce5 Validation Technologies International 0003 Matrix 0ce9 Pico Technology 1001 PicoScope3000 series PC Oscilloscope 1007 PicoScope 2000 series PC Oscilloscope 1008 PicoScope 5000 series PC Oscilloscope 1009 PicoScope 4000 series PC Oscilloscope 100e PicoScope 6000 series PC Oscilloscope 1012 PicoScope 3000A series PC Oscilloscope 1016 PicoScope 2000A series PC Oscilloscope 1018 PicoScope 4000A series PC Oscilloscope 1200 PicoScope 2000 series PC Oscilloscope 1201 PicoScope 3000 series PC Oscilloscope 1202 PicoScope 4000 series PC Oscilloscope 1203 PicoScope 5000 series PC Oscilloscope 1204 PicoScope 6000 series PC Oscilloscope 1211 PicoScope 3000 series PC Oscilloscope 1212 PicoScope 4000 series PC Oscilloscope 0cf1 e-Conn Electronic Co., Ltd 0cf2 ENE Technology, Inc. 6220 SD Card Reader (SG361) 6225 SD card reader (UB6225) 6230 SD Card Reader (UB623X) 6250 SD card reader (UB6250) 0cf3 Qualcomm Atheros Communications 0001 AR5523 0002 AR5523 (no firmware) 0003 AR5523 0004 AR5523 (no firmware) 0005 AR5523 0006 AR5523 (no firmware) 0036 AR9462 Bluetooth 1001 Thomson TG121N [Atheros AR9001U-(2)NG] 1002 TP-Link TL-WN821N v2 / TL-WN822N v1 802.11n [Atheros AR9170] 1006 TP-Link TL-WN322G v3 / TL-WN422G v2 802.11g [Atheros AR9271] 1010 3Com 3CRUSBN275 802.11abgn Wireless Adapter [Atheros AR9170] 20ff AR7010 (no firmware) 3000 AR3011 Bluetooth (no firmware) 3002 AR3011 Bluetooth 3004 AR3012 Bluetooth 4.0 3005 AR3011 Bluetooth 3007 AR3012 Bluetooth 4.0 (no firmware) 3008 Bluetooth (AR3011) 311d Bluetooth 311f AR3012 Bluetooth 7015 TP-Link TL-WN821N v3 / TL-WN822N v2 802.11n [Atheros AR7010+AR9287] 9170 AR9170 802.11n 9271 AR9271 802.11n 9378 QCA9377-7 b002 Ubiquiti WiFiStation 802.11n [Atheros AR9271] b003 Ubiquiti WiFiStationEXT 802.11n [Atheros AR9271] e006 Dell Wireless 1802 Bluetooth 4.0 LE e300 QCA61x4 Bluetooth 4.0 0cf4 Fomtex Corp. 0cf5 Cellink Co., Ltd 0cf6 Compucable Corp. 0cf7 ishoni Networks 0cf8 Clarisys, Inc. 0750 Claritel-i750 - vp 0cf9 Central System Research Co., Ltd 0cfa Inviso, Inc. 0cfc Minolta-QMS, Inc. 2301 Magicolor 2300 DL 2350 Magicolor 2350EN/3300 3100 Magicolor 3100 7300 Magicolor 5450/5550 0cff SAFA MEDIA Co., Ltd. 0320 SR-380N 0d06 telos EDV Systementwicklung GmbH 0d08 UTStarcom 0602 DV007 [serial] 0603 DV007 [storage] 0d0b Contemporary Controls 0d0c Astron Electronics Co., Ltd 0d0d MKNet Corp. 0d0e Hybrid Networks, Inc. 0d0f Feng Shin Cable Co., Ltd 0d10 Elastic Networks 0001 StormPort (WDM) 0d11 Maspro Denkoh Corp. 0d12 Hansol Electronics, Inc. 0d13 BMF Corp. 0d14 Array Comm, Inc. 0d15 OnStream b.v. 0d16 Hi-Touch Imaging Technologies Co., Ltd 0001 PhotoShuttle 0002 Photo Printer 730 series 0004 Photo Printer 63xPL/PS 0007 P510K 0009 P72x Series 000a P728L 000b P510L 000d P518A 000e P910L 0010 M610 0100 Photo Printer 63xPL/PS 0102 Photo Printer 64xPS 0103 Photo Printer 730 series 0104 Photo Printer 63xPL/PS 0105 Photo Printer 64xPS 010e P510S 0110 P110S 0111 P510Si 0112 P518S 0200 Photo Printer 64xDL 0309 CS-200e 030a CS-220e 0501 P75x Series 0502 P52x Series 0503 P310L 050a P310W 050f P530D 0800 X610 0d17 NALTEC, Inc. 0d18 coaXmedia 0d19 Hank Connection Industrial Co., Ltd 0d28 NXP 0204 ARM mbed 0d2f Andamiro 0002 Pump It Up Pad 0d32 Leo Hui Electric Wire & Cable Co., Ltd 0d33 AirSpeak, Inc. 0d34 Rearden Steel Technologies 0d35 Dah Kun Co., Ltd 0d3a Posiflex Technologies, Inc. 0206 Series 3xxx Cash Drawer 0207 Series 3xxx Cash Drawer 0500 Magnetic Stripe Reader 0d3c Sri Cable Technology, Ltd 0d3d Tangtop Technology Co., Ltd 0001 HID Keyboard 0040 PS/2 Adapter 0d3e Fitcom, inc. 0d3f MTS Systems Corp. 0d40 Ascor, Inc. 0d41 Ta Yun Terminals Industrial Co., Ltd 0d42 Full Der Co., Ltd 0d46 Kobil Systems GmbH 2012 KAAN Standard Plus (Smartcard reader) 3003 mIDentity Light / KAAN SIM III 3014 Smart Token 4000 mIDentity (mass storage) 4001 mIDentity Basic/Classic (composite device) 4081 mIDentity Basic/Classic (installationless) 0d48 Promethean Limited 0001 ACTIVboard 0004 ACTIVboard 0100 Audio 0d49 Maxtor 3000 Drive 3005 Personal Storage 3000LS 3010 3000LE Drive 3100 Hi-Speed USB-IDE Bridge Controller 3200 Personal Storage 3200 5000 5000XT Drive 5010 5000LE Drive 5020 Mobile Hard Disk Drive 7000 OneTouch 7010 OneTouch 7100 OneTouch II 300GB External Hard Disk 7310 OneTouch 4 7410 Mobile Hard Disk Drive (1TB) 7450 Basics Portable USB Device 0d4a NF Corp. 0d4b Grape Systems, Inc. 0d4c Tedas AG 0d4d Coherent, Inc. 0d4e Agere Systems Netherland BV 047a WLAN Card 1000 Wireless Card Model 0801 1001 Wireless Card Model 0802 0d4f EADS Airbus France 0d50 Cleware GmbH 0011 USB-Temp2 Thermometer 0030 Multiplexer 0040 F4 foot switch 0d51 Volex (Asia) Pte., Ltd 0d53 HMI Co., Ltd 0d54 Holon Corp. 0d55 ASKA Technologies, Inc. 0d56 AVLAB Technology, Inc. 0d57 Solomon Microtech, Ltd 0d59 TRC Simulators b.v. 02a8 Digital Clock 0d5c SMC Networks, Inc. a001 SMC2662W (v1) EZ Connect 802.11b Wireless Adapter [Atmel AT76C503A] a002 SMC2662W v2 / SMC2662W-AR / Belkin F5D6050 [Atmel at76c503a] 0d5e Myacom, Ltd 2346 BT Digital Access adapter 0d5f CSI, Inc. 0d60 IVL Technologies, Ltd 0d61 Meilu Electronics (Shenzhen) Co., Ltd 0d62 Darfon Electronics Corp. 0003 Smartcard Reader 0004 Keyboard 001b Keyboard 001c Benq X120 Internet Keyboard Pro 0306 M530 Mouse 0800 Magic Wheel 2021 AM805 Keyboard 2026 TECOM Bluetooth Device 2050 Mouse 2106 Dell L20U Multimedia Keyboard 910e HP Business Slim Keyboard a100 Optical Mouse 0d63 Fritz Gegauf AG 0d64 DXG Technology Corp. 0105 Dual Mode Digital Camera 1.3M 0107 Horus MT-409 Camera 0108 Dual Mode Digital Camera 0202 Dual Mode Video Camera Device 0303 DXG-305V Camera 1001 SiPix Stylecam/UMAX AstraPix 320s 1002 Fashion Cam 01 Dual-Mode DSC (Video Camera) 1003 Fashion Cam Dual-Mode DSC (Controller) 1021 D-Link DSC 350F 1208 Dual Mode Still Camera Device 2208 Mass Storage 3105 Dual Mode Digital Camera Disk 3108 Digicam Mass Storage Device 5566 Contour Roam Model 1600 0d65 KMJP Co., Ltd 0d66 TMT 0d67 Advanet, Inc. 0d68 Super Link Electronics Co., Ltd 0d69 NSI 0d6a Megapower International Corp. 0d6b And-Or Logic 0d70 Try Computer Co., Ltd 0d71 Hirakawa Hewtech Corp. 0d72 Winmate Communication, Inc. 0d73 Hit's Communications, Inc. 0d76 MFP Korea, Inc. 0d77 Power Sentry/Newpoint 0d78 Japan Distributor Corp. 0d7a MARX Datentechnik GmbH 0001 CrypToken 0d7b Wellco Technology Co., Ltd 0d7c Taiwan Line Tek Electronic Co., Ltd 0d7d Phison Electronics Corp. 0100 PS1001/1011/1006/1026 Flash Disk 0110 Gigabyte FlexDrive 0120 Disk Pro 64MB 0124 GIGABYTE Disk 0240 I/O-Magic/Transcend 6-in-1 Card Reader 110e NEC uPD720121/130 USB-ATA/ATAPI Bridge 1240 Apacer 6-in-1 Card Reader 2.0 1270 Wolverine SixPac 6000 1300 Flash Disk 1320 PS2031 Flash Disk 1400 Attache 256MB USB 2.0 Flash Drive 1420 PS2044 Pen Drive 1470 Vosonic X's-Drive II+ VP2160 1620 USB Disk Pro 1900 USB Thumb Drive 0d7e American Computer & Digital Components 2507 Hi-Speed USB-to-IDE Bridge Controller 2517 Hi-Speed Mass Storage Device 25c7 Hi-Speed USB-to-IDE Bridge Controller 0d7f Essential Reality LLC 0100 P5 Glove glove controller 0d80 H.R. Silvine Electronics, Inc. 0d81 TechnoVision 0d83 Think Outside, Inc. 0d87 Dolby Laboratories Inc. 0d89 Oz Software 0d8a King Jim Co., Ltd 0101 TEPRA PRO 0d8b Ascom Telecommunications, Ltd 0d8c C-Media Electronics, Inc. 0001 Audio Device 0002 Composite Device 0003 Sound Device 0004 CM6631A Audio Processor 0005 Blue Snowball 0006 Storm HP-USB500 5.1 Headset 000c Audio Adapter 000d Composite Device 000e Audio Adapter (Planet UP-100, Genius G-Talk) 0014 Audio Adapter (Unitek Y-247A) 001f CM108 Audio Controller 0102 CM106 Like Sound Device 0103 CM102-A+/102S+ Audio Controller 0104 CM103+ Audio Controller 0105 CM108 Audio Controller 0107 CM108 Audio Controller 010f CM108 Audio Controller 0115 CM108 Audio Controller 0139 Multimedia Headset [Gigaware by Ignition L.P.] 013c CM108 Audio Controller 0201 CM6501 5000 Mass Storage Controller 5200 Mass Storage Controller(0D8C,5200) b213 USB Phone CM109 (aka CT2000,VPT1000) 0d8d Promotion & Display Technology, Ltd 0234 V-234 Composite Device 0550 V-550 Composite Device 0551 V-551 Composite Device 0552 V-552 Composite Device 0651 V-651 Composite Device 0652 V-652 Composite Device 0653 V-653 Composite Device 0654 V-654 Composite Device 0655 V-655 Composite Device 0656 V-656 Composite Device 0657 V-657 Composite Device 0658 V-658 Composite Device 0659 V-659 Composite Device 0660 V-660 Composite Device 0661 V-661 Composite Device 0662 V-662 Composite Device 0850 V-850 Composite Device 0851 V-851 Composite Device 0852 V-852 Composite Device 0901 V-901 Composite Device 0902 V-902 Composite Device 0903 V-903 Composite Device 4754 Voyager DMP Composite Device bb00 Bloomberg Composite Device bb01 Bloomberg Composite Device bb02 Bloomberg Composite Device bb03 Bloomberg Composite Device bb04 Bloomberg Composite Device bb05 Bloomberg Composite Device fffe Global Tuner Composite Device ffff Voyager DMP Composite Device 0d8e Global Sun Technology, Inc. 0163 802.11g 54 Mbps Wireless Dongle 1621 802.11b Wireless Adapter 3762 Cohiba 802.11g Wireless Mini adapter [Intersil ISL3887] 3763 802.11g Wireless dongle 7100 802.11b Adapter 7110 WL-210 / WU210P 802.11b Wireless Adapter [Atmel AT76C503A] 7605 TRENDnet TEW-224UB 802.11b Wireless Adapter [Atmel AT76C503A] 7801 AR5523 7802 AR5523 (no firmware) 7811 AR5523 7812 AR5523 (no firmware) 7a01 PRISM25 802.11b Adapter 0d8f Pitney Bowes 0d90 Sure-Fire Electrical Corp. 0d96 Skanhex Technology, Inc. 0000 Jenoptik JD350 video 3300 SX330z Camera 4100 SX410z Camera 4102 MD 9700 Camera 4104 Jenoptik JD-4100z3s 410a Medion 9801/Novatech SX-410z 5200 SX-520z Camera 0d97 Santa Barbara Instrument Group 0001 SBIG Astronomy Camera (without firmware) 0101 SBIG Astronomy Camera (with firmware) 0d98 Mars Semiconductor Corp. 0300 Avaya Wireless Card 1007 Discovery Kids Digital Camera 0d99 Trazer Technologies, Inc. 0d9a RTX AS 0001 Bluetooth Device 0d9b Tat Shing Electrical Co. 0d9c Chee Chen Hi-Technology Co., Ltd 0d9d Sanwa Supply, Inc. 0d9e Avaya 0300 Wireless Card 0d9f Powercom Co., Ltd 0001 Uninterruptible Power Supply 0002 Black Knight PRO / WOW Uninterruptible Power Supply (Cypress HID->COM RS232) 00a2 Imperial Uninterruptible Power Supply (HID PDC) 00a3 Smart King PRO Uninterruptible Power Supply (HID PDC) 00a4 WOW Uninterruptible Power Supply (HID PDC) 00a5 Vanguard Uninterruptible Power Supply (HID PDC) 00a6 Black Knight PRO Uninterruptible Power Supply (HID PDC) 0da0 Danger Research 0da1 Suzhou Peter's Precise Industrial Co., Ltd 0da2 Land Instruments International, Ltd 0da3 Nippon Electro-Sensory Devices Corp. 0da4 Polar Electro Oy 0001 Interface 0003 FlowLink 0008 Loop 0da7 IOGear, Inc. 0da8 softDSP Co., Ltd 0001 SDS 200A Oscilloscope 0dab Cubig Group 0100 DVR/CVR-M140 MP3 Player 0dad Westover Scientific 0db0 Micro Star International 1020 PC2PC WLAN Card 1967 Bluetooth Dongle 3713 Primo 73 3801 Motorola Bluetooth 2.1+EDR Device 3870 MS-3870 802.11bgn Wireless Module [Ralink RT3070] 3871 MS-3871 802.11bgn Wireless Module [Ralink RT8070] 4011 Medion Flash XL V2.0 Card Reader 4023 Lexar Mobile Card Reader 4600 802.11b/g Turbo Wireless Adapter 5501 Mass Storage Device 5502 Mass Storage Device 5513 MP3 Player 5515 MP3 Player 5516 MP3 Player 5580 Mega Sky 580 DVB-T Tuner [M902x] 5581 Mega Sky 580 DVB-T Tuner [GL861] 6823 UB11B/MS-6823 802.11b Wi-Fi adapter 6826 IEEE 802.11g Wireless Network Adapter 6855 Bluetooth Device 6861 MSI-6861 802.11g WiFi adapter 6865 RT2570 6869 RT2570 6874 RT2573 6877 RT2573 6881 Bluetooth Class I EDR Device 688a Bluetooth Class I EDR Device 6899 802.11bgn 1T1R Mini Card Wireless Adapter 6970 MS-6970 BToes Bluetooth adapter 697a Bluetooth Dongle 6982 Medion Flash XL Card Reader a861 RT2573 a874 RT2573 a970 Bluetooth dongle a97a Bluetooth EDR Device b970 Bluetooth EDR Device b97a Bluetooth EDR Device ffff Bluetooth Adapter in DFU mode 0db1 Wen Te Electronics Co., Ltd 0db2 Shian Hwi Plug Parts, Plastic Factory 0db3 Tekram Technology Co., Ltd 0db4 Chung Fu Chen Yeh Enterprise Corp. 0db5 Access IS 0139 Barcode Module - CDC serial 013a Barcode Module - Virtual Keyboard 013b Barcode Module - HID 0160 NFC and Smartcard Module (NSM) 0164 NFC and Smartcard Module (NSM)with 4 SAM slots 0db7 ELCON Systemtechnik 0002 Goldpfeil P-LAN 0dba Digidesign 1000 Mbox 1 [Mbox] 3000 Mbox 2 b011 Eleven Rack 0dbc A&D Medical 0003 AND Serial Cable [AND Smart Cable] 0dbe Jiuh Shiuh Precision Industry Co., Ltd 0dbf Jess-Link International 0002 SmartDongle Security Key 0200 HDD Storage Solution 021b USB-2.0 IDE Adapter 0300 Storage Adapter 0333 Storage Adapter 0502 FSC Storagebird XL hard disk 0707 ZIV Drive 0dc0 G7 Solutions (formerly Great Notions) 0dc1 Tamagawa Seiki Co., Ltd 0dc3 Athena Smartcard Solutions, Inc. 0801 ASEDrive III 0802 ASEDrive IIIe 1104 ASEDrive IIIe KB 1701 ASEKey 1702 ASEKey 0dc4 inXtron, Inc. 0040 Mass Storage Device 0041 Mass Storage Device 0042 Mass Storage Device 0101 Hi-Speed Mass Storage Device 0209 SK-3500 S2 020a Oyen Digital MiniPro 2.5" hard drive enclosure 0290 Mass Storage Device [NT2 U3.1] 0dc5 SDK Co., Ltd 0dc6 Precision Squared Technology Corp. 2301 Wireless Touchpad Keyboard 0dc7 First Cable Line, Inc. 0dcd NetworkFab Corp. 0001 Remote Interface Adapter 0002 High Bandwidth Codec 0dd0 Access Solutions 1002 Triple Talk Speech Synthesizer 0dd1 Contek Electronics Co., Ltd 0dd2 Power Quotient International Co., Ltd 0003 Mass Storage (P) 0dd3 MediaQ 0dd4 Custom Engineering SPA 0237 K80 80mm Thermal Printer 0dd5 California Micro Devices 0dd7 Kocom Co., Ltd 0dd8 Netac Technology Co., Ltd 0562 Netac Portable SSD Z6s 1060 USB-CF-Card e007 OnlyDisk U222 Pendrive f607 OnlyDisk U210 1G flash drive [U-SAFE] 0dd9 HighSpeed Surfing 0dda Integrated Circuit Solution, Inc. 0001 Multi-Card Reader 6in1 0002 Multi-Card Reader 7in1 0003 Flash Disk 0005 Internal Multi-Card Reader 6in1 0008 SD single card reader 0009 MS single card reader 000a MS+SD Dual Card Reader 000b SM single card reader 0101 All-In-One Card Reader 0102 All-In-One Card Reader 0301 MP3 Player 0302 Multi-Card MP3 Player 1001 Multi-Flash Disk 2001 Multi-Card Reader 2002 Q018 default PID 2003 Multi-Card Reader 2005 Datalux DLX-1611 16in1 Card Reader 2006 All-In-One Card Reader 2007 USB to ATAPI bridge 2008 All-In-One Card Reader 2013 SD/MS Combo Card Reader 2014 SD/MS Single Card Reader 2023 card reader SD/MS DEMO board with ICSI brand name (MaskROM version) 2024 card reader SD/MS DEMO board with Generic brand name (MaskROM version) 2026 USB2.0 Card Reader 2027 USB 2.0 Card Reader 2315 UFD MP3 player (model 2) 2318 UFD MP3 player (model 1) 2321 UFD MP3 player 0ddb Tamarack, Inc. 0ddd Datelink Technology Co., Ltd 0dde Ubicom, Inc. 0de0 BD Consumer Healthcare 0de7 USBmicro 0191 U401 Interface card 01a5 U421 interface card 01c3 U451 relay interface card 0dea UTECH Electronic (D.G.) Co., Ltd. 0ded Novasonics 0dee Lifetime Memory Products 4010 Storage Adapter 0def Full Rise Electronic Co., Ltd 0df4 NET&SYS 0201 MNG-2005 0df6 Sitecom Europe B.V. 0001 C-Media VOIP Device 0004 Bluetooth 2.0 Adapter 100m 0007 Bluetooth 2.0 Adapter 10m 000b Bluetooth 2.0 Adapter DFU 000d WL-168 Wireless Network Adapter 54g 0017 WL-182 Wireless-N Network USB Card 0019 Bluetooth 2.0 adapter 10m CN-512v2 001 001a Bluetooth 2.0 adapter 100m CN-521v2 001 002b WL-188 Wireless Network 300N USB Adapter 002c WL-301 Wireless Network 300N USB Adapter 002d WL-302 Wireless Network 300N USB dongle 0036 WL-603 Wireless Adapter 0039 WL-315 Wireless-N USB Adapter 003b WL-321 Wireless USB Gaming Adapter 300N 003c WL-323 Wireless-N USB Adapter 003d WL-324 Wireless USB Adapter 300N 003e WL-343 Wireless USB Adapter 150N X1 003f WL-608 Wireless USB Adapter 54g 0040 WL-344 Wireless Adapter 300N X2 [Ralink RT3071] 0041 WL-329 Wireless Dualband USB adapter 300N 0042 WL-345 Wireless USB adapter 300N X3 0045 WL-353 Wireless USB Adapter 150N Nano 0047 WL-352v1 Wireless USB Adapter 300N 002 0048 WL-349v1 Wireless Adapter 150N 002 [Ralink RT3070] 0049 WL-356 Wireless Adapter 300N 004a WL-358v1 Wireless Micro USB Adapter 300N X3 002 004b WL-349v3 Wireless Micro Adapter 150N X1 [Realtek RTL8192SU] 004c WL-352 802.11n Adapter [Realtek RTL8191SU] 0050 WL-349v4 Wireless Micro Adapter 150N X1 [Ralink RT3370] 0056 LN-031 10/100/1000 Ethernet Adapter 005d WLA-2000 v1.001 WLAN [RTL8191SU] 0060 WLA-4000 802.11bgn [Ralink RT3072] 0062 WLA-5000 802.11abgn [Ralink RT3572] 006f WLA-5100 0072 AX88179 Gigabit Ethernet [Sitecom] 061c LN-028 Network USB 2.0 Adapter 214a IDE/SATA Combo Adapter [CN-330] 21f4 44 St Bluetooth Device 2200 Sitecom bluetooth2.0 class 2 dongle CN-512 2208 Sitecom bluetooth2.0 class 2 dongle CN-520 2209 Sitecom bluetooth2.0 class 1 dongle CN-521 3068 DC-104v2 ISDN Adapter [HFC-S] 9071 WL-113 rev 1 Wireless Network USB Adapter 9075 WL-117 Hi-Speed USB Adapter 90ac WL-172 Wireless Network USB Adapter 54g Turbo 9712 WL-113 rev 2 Wireless Network USB Adapter 0df7 Mobile Action Technology, Inc. 0620 MA-620 Infrared Adapter 0700 MA-700 Bluetooth Adapter 0720 MA-720 Bluetooth Adapter 0722 Bluetooth Dongle 0730 MA-730/MA-730G Bluetooth Adapter 0800 Data Cable 0820 Data Cable 0900 MA i-gotU Travel Logger GPS 1800 Generic Card Reader 1802 Card Reader 0dfa Toyo Communication Equipment Co., Ltd 0dfc GeneralTouch Technology Co., Ltd 0001 Touchscreen 0003 MultiTouch TouchScreen(Dualtouch) 0101 5-point Touch Screen d107 MultiTouch TouchScreen 0e03 Nippon Systemware Co., Ltd 0e08 Winbest Technology Co., Ltd 0e0b Amigo Technology Inc. 9031 802.11n Wireless USB Card 9041 802.11n Wireless USB Card 0e0c Gesytec 0101 LonUSB LonTalk Network Adapter 0e0d PicoQuant GmbH 0003 PicoHarp 300 0e0f VMware, Inc. 0001 Device 0002 Virtual USB Hub 0003 Virtual Mouse 0004 Virtual CCID 0005 Virtual Mass Storage 0006 Virtual Keyboard 000a Virtual Sensors 8001 Root Hub 8002 Root Hub 8003 Root Hub f80a Smoker FX2 0e16 JMTek, LLC 0e17 Walex Electronic, Ltd 0e1a Unisys 0e1b Crewave 0e1e Green Hills Software 0e20 Pegasus Technologies Ltd. 0101 NoteTaker 0200 Seiko Instruments InkLink Handwriting System 0e21 Cowon Systems, Inc. 0300 iAudio CW200 0400 MP3 Player 0500 iAudio M3 0510 iAudio X5, subpack USB port 0513 iAudio X5, side USB port 0520 iAudio M5, side USB port 0601 iAudio G3 0681 iAUDIO E2 0700 iAudio U3 0751 iAudio 7 0760 iAUDIO U5 / iAUDIO G2 0800 Cowon D2 (UMS mode) 0801 Cowon D2 (MTP mode) 0910 iAUDIO 9 0920 J3 0e22 Symbian Ltd. 0e23 Liou Yuane Enterprise Co., Ltd 0e25 VinChip Systems, Inc. 0e26 J-Phone East Co., Ltd 0e30 HeartMath LLC 0e34 Micro Computer Control Corp. 0e35 3Pea Technologies, Inc. 0e36 TiePie engineering 0009 Handyscope HS3 000b Handyscope HS4 000f Handyscope HS4-DIFF (br) 0010 Handyscope HS2 0011 TiePieSCOPE HS805 (br) 0012 TiePieSCOPE HS805 0013 Handyprobe HP3 0014 Handyprobe HP3 0018 Handyprobe HP2 001b Handyscope HS5 0042 TiePieSCOPE HS801 00fd USB To Parallel adapter 00fe USB To Parallel adapter 0e38 Stratitec, Inc. 0e39 Smart Modular Technologies, Inc. 0137 Bluetooth Device 0e3a Neostar Technology Co., Ltd 1100 CW-1100 Wireless Network Adapter 0e3b Mansella, Ltd 0e41 Line6, Inc. 4147 TonePort GX 414d Pod HD500 4156 POD HD Desktop 4250 BassPODxt 4252 BassPODxt Pro 4642 BassPODxt Live 4650 PODxt Live 4750 GuitarPort 5044 PODxt 5050 PODxt Pro 534d SeaMonkey 0e44 Sun-Riseful Technology Co., Ltd. 0e48 Julia Corp., Ltd 0100 CardPro SmartCard Reader 0e4a Shenzhen Bao Hing Electric Wire & Cable Mfr. Co. 0e4c Radica Games, Ltd 1097 Gamester Controller 1103 Gamester Reflex 2390 Jtech Controller 3510 Gamester for Xbox 7288 funkey reader 0e50 TechnoData Interware 0001 Matrix USB-Key 0002 Matrixlock Dongle (HID) 0e55 Speed Dragon Multimedia, Ltd 110a Tanic S110-SG1 + ISSC IS1002N [Slow Infra-Red (SIR) & Bluetooth 1.2 (Class 2) Adapter] 110b MS3303H USB-to-Serial Bridge 0e56 Kingston Technology Company, Inc. 6021 K-PEX 100 0e5a Active Co., Ltd 0e5b Union Power Information Industrial Co., Ltd 0e5c Bitland Information Technology Co., Ltd 6118 LCD Device 6119 remote receive and control device 6441 C-Media Sound Device 0e5d Neltron Industrial Co., Ltd 0e5e Conwise Technology Co., Ltd. 6622 CW6622 0e66 Hawking Technologies 0001 HWUN1 Hi-Gain Wireless-300N Adapter w/ Upgradable Antenna [Ralink RT2870] 0003 HWDN1 Hi-Gain Wireless-300N Dish Adapter [Ralink RT2870] 0009 HWUN2 Hi-Gain Wireless-150N Adapter w/ Upgradable Antenna [Ralink RT2770] 000b HWDN2 Hi-Gain Wireless-150N Dish Adapter [Ralink RT2770] 0013 HWUN3 Hi-Gain Wireless-N Adapter [Ralink RT3070] 0015 HWDN2 Rev. E Hi-Gain Wireless-150N Dish Adapter [Realtek RTL8191SU] 0017 HAWNU1 Hi-Gain Wireless-150N Network Adapter with Range Amplifier [Ralink RT3070] 0018 Wireless-N Network Adapter [Ralink RT2870] 400b UF100 10/100 Network Adapter 400c UF100 Ethernet [pegasus2] 0e67 Fossil, Inc. 0002 Wrist PDA 0e6a Megawin Technology Co., Ltd 0101 MA100 [USB-UART Bridge IC] 02c0 Defender Gaming Keyboard 030b Truly Ergonomic Computer Keyboard (Device Firmware Update mode) 030c Truly Ergonomic Computer Keyboard 6001 GEMBIRD Flexible keyboard KB-109F-B-DE 7f5c BPF-015 Key Chain Photo Frame 0e6f Logic3 0003 Freebird wireless Controller 0005 Eclipse wireless Controller 0006 Edge wireless Controller 0008 After Glow Pro Controller 0105 Disney's High School Musical 3 Dance Pad for Xbox 360 0113 Afterglow AX.1 Gamepad 011f Rock Candy Wired Controller for Xbox 360 0128 Wireless PS3 Controller 0131 PDP EA Sports Controller 0133 Wired Controller 0139 Afterglow Prismatic Wired Controller for Xbox One 013a PDP Xbox One Controller 0146 Rock Candy Wired Controller for Xbox One 0147 PDP Marvel Controller for Xbox One 015c PDP Arcade Stick for Xbox One 0161 Camo Wired Controller for Xbox One 0162 Xbox One Wired Controller 0163 Legendary Collection Deliverer of Truth 0164 Battlefield 1 Wired Controller for Xbox One 0165 Titanfall 2 Wired Controller for Xbox One 0201 Pelican PL-3601 0213 Afterglow Gamepad for Xbox 360 021f Rock Candy Gamepad for Xbox 360 0246 Rock Candy Gamepad for Xbox One 0301 Controller 0346 Rock Candy Wired Controller for Xbox One 0401 Controller 0413 Afterglow AX.1 Gamepad for Xbox 360 0501 Wired Controller f501 Hi-TEC Essentials Wired Gamepad f900 Afterglow AX.1 0e70 Tokyo Electronic Industry Co., Ltd 0e72 Hsi-Chin Electronics Co., Ltd 0e75 TVS Electronics, Ltd 0e79 Archos, Inc. 1106 Pocket Media Assistant - PMA400 1204 Gmini XS 200 1306 504 Portable Multimedia Player 1330 5 Tablet 1332 5 IMT 1416 32 IT 1417 A43 IT 14ad 97 Titanium HD 150e 80 G9 3001 40 Titanium 0e7b On-Tech Industry Co., Ltd 0e7e Gmate, Inc. 0001 Yopy 3000 PDA 1001 YP3X00 PDA 0e82 Ching Tai Electric Wire & Cable Co., Ltd 0e83 Shin An Wire & Cable Co. 0e8c Well Force Electronic Co., Ltd 0e8d MediaTek Inc. 0002 phone (mass storage mode) [Doro Primo 413] 0003 MT6227 phone 0004 MT6227 phone 0023 S103 / Powertel M6200 00a5 GSM modem [Medion Surfstick Model:S4222] 1806 Samsung SE-208 Slim Portable DVD Writer 1836 Samsung SE-S084 Super WriteMaster Slim External DVD writer 1887 Slim Portable DVD Writer 1956 Samsung SE-506 Portable BluRay Disc Writer 2000 MT65xx Preloader 2008 Cyrus Technology CS 24 3329 Qstarz BT-Q1000XT 7612 MT7612U 802.11a/b/g/n/ac Wireless Adapter 763e MT7630e Bluetooth Adapter 7668 MT7668 2x2 Dual Band Dual Concurrent 802.11a/b/g/n/ac WiFi with MU-MIMO and Bluetooth 5.0 Radios 0e8f GreenAsia Inc. 0003 MaxFire Blaze2 0012 Joystick/Gamepad 0016 4 port USB 1.1 hub UH-174 0020 USB to PS/2 Adapter 0021 Multimedia Keyboard Controller 0022 multimedia keyboard controller 0201 SmartJoy Frag Xpad/PS2 adaptor 3008 Xbox Controller 300a steering Wheel 0e90 WiebeTech, LLC 0100 Storage Adapter V1 0e91 VTech Engineering Canada, Ltd 0e92 C's Glory Enterprise Co., Ltd 0e93 eM Technics Co., Ltd 0e95 Future Technology Co., Ltd 0e96 Aplux Communications, Ltd c001 TRUST 380 USB2 SPACEC@M 0e97 Fingerworks, Inc. 0908 Composite HID (Keyboard and Mouse) 0e98 Advanced Analogic Technologies, Inc. 0e99 Parallel Dice Co., Ltd 0e9a TA HSING Industries, Ltd 0e9b ADTEC Corp. 0e9c Streamzap, Inc. 0000 Streamzap Remote Control 0e9f Tamura Corp. 0ea0 Ours Technology, Inc. 2126 7-in-1 Card Reader 2153 SD Card Reader Key 2168 Transcend JetFlash 2.0 / Astone USB Drive / Intellegent Stick 2.0 2213 WinDroid N287 AH7N2502.013317 6803 OTI-6803 Flash Disk 6808 OTI-6808 Flash Disk 6828 OTI-6828 Flash Disk 6858 OTi-6858 serial adapter 0ea6 Nihon Computer Co., Ltd 0ea7 MSL Enterprises Corp. 0ea8 CenDyne, Inc. 0ead Humax Co., Ltd 0eb0 NovaTech 9020 NovaTech NV-902W 9021 RT2573 0eb1 WIS Technologies, Inc. 6666 WinFast WalkieTV TV Loader 6668 WinFast WalkieTV TV Loader 7007 WinFast WalkieTV WDM Capture 0eb2 Y-S Electronic Co., Ltd 0eb3 Saint Technology Corp. 0eb7 Endor AG 0eb8 Mettler Toledo 2200 Ariva Scale f000 BC60 Scale 0ebb Thermo Fisher Scientific 0002 FT-IR Spectrometer 0ebe VWeb Corp. 0ebf Omega Technology of Taiwan, Inc. 0ec0 LHI Technology (China) Co., Ltd 0ec1 Abit Computer Corp. 0ec2 Sweetray Industrial, Ltd 0ec3 Axell Co., Ltd 0ec4 Ballracing Developments, Ltd 0ec5 GT Information System Co., Ltd 0ec6 InnoVISION Multimedia, Ltd 0ec7 Theta Link Corp. 1008 So., Show 301 Digital Camera 0ecd Lite-On IT Corp. 1400 CD\RW 40X a100 LDW-411SX DVD/CD Rewritable Drive 0ece TaiSol Electronics Co., Ltd 0ecf Phogenix Imaging, LLC 0ed1 WinMaxGroup 6660 Flash Disk 64M-C 6680 Flash Disk 64M-B 7634 MP3 Player 0ed2 Kyoto Micro Computer Co., Ltd 0ed3 Wing-Tech Enterprise Co., Ltd 0ed5 Fiberbyte e000 USB-inSync Device f000 Fiberbyte USB-inSync Device f201 Fiberbyte USB-inSync DAQ-2500X 0eda Noriake Itron Corp. 0edf e-MDT Co., Ltd 2060 FID irock! 100 Series 0ee0 Shima Seiki Mfg., Ltd 0ee1 Sarotech Co., Ltd 0ee2 AMI Semiconductor, Inc. 0ee3 ComTrue Technology Corp. 1000 Image Tank 1.5 0ee4 Sunrich Technology, Ltd 0690 SATA 3 Adapter 0eee Digital Stream Technology, Inc. 8810 Mass Storage Drive 0eef D-WAV Scientific Co., Ltd 0001 Titan6001 Surface Acoustic Wave Touchscreen Controller [eGalax] 0002 Touchscreen Controller(Professional) 7200 Touchscreen Controller 7904 Multitouch Capacitive Touchscreen eGalaxTouch EXC7904-21v00_T13 [IIyama Prolite T1932-MSC] a802 eGalaxTouch EXC7920 b10e eGalaxTouch EXC3000 c000 Multitouch Capacitive Touchscreen eGalaxTouch EXC3188-4643-08.00.00.00 Sirius_4643 PCAP3188UR Series [IIyama Prolite PLT1932MSC] 0ef0 Hitachi Cable, Ltd 0ef1 Aichi Micro Intelligent Corp. 0ef2 I/O Magic Corp. 0ef3 Lynn Products, Inc. 0ef4 DSI Datotech 0ef5 PointChips 2202 Flash Disk 2366 Flash Disk 0ef6 Yield Microelectronics Corp. 0ef7 SM Tech Co., Ltd (Tulip) 0efd Oasis Semiconductor 0efe Wem Technology, Inc. 0f03 Unitek UPS Systems 0001 Alpha 1200Sx 0f06 Visual Frontier Enterprise Co., Ltd 0f08 CSL Wire & Plug (Shen Zhen) Co. 0f0c CAS Corp. 0f0d Hori Co., Ltd 000a Dead or Alive 4 FightStick for Xbox 360 000c Horipad EX Turbo for Xbox 360 000d Fighting Stick EX2 for Xbox 360 0011 Real Arcade Pro 3 0016 Real Arcade Pro.EX for Xbox 360 001b Real Aracde Pro.VX 0063 Real Arcade Pro Hayabusa for Xbox One 0067 Horipad One 0078 Real Arcade Pro V Kai for Xbox One / Xbox 360 0090 Horipad Ultimate 00c1 HORIPAD for Nintendo Switch 0f0e Energy Full Corp. 0f0f Silego Technology Inc 0006 GreenPak Universal Dev Board (Active Mode) 8006 GreenPak Universal Dev Board (Reset Mode) 0f11 LD Didactic GmbH 1000 CASSY-S 1010 Pocket-CASSY 1020 Mobile-CASSY 1080 Joule and Wattmeter 1081 Digital Multimeter P 1090 UMI P 1100 X-Ray Apparatus 1101 X-Ray Apparatus 1200 VideoCom 2000 COM3LAB 2010 Terminal Adapter 2020 Network Analyser 2030 Converter Control Unit 2040 Machine Test System 0f12 Mars Engineering Corp. 0f13 Acetek Technology Co., Ltd 0f14 Ingenico 0012 Vital'Act 3S 0038 XIRING Smart Card Terminal LEO V2 0f18 Finger Lakes Instrumentation 0002 CCD 0006 Focuser 0007 Filter Wheel 000a ProLine CCD 000b Color Filter Wheel 4 000c PDF2 000d Guider 0f19 Oracom Co., Ltd 0f1b Onset Computer Corp. 0f1c Funai Electric Co., Ltd 0f1d Iwill Corp. 0f21 IOI Technology Corp. 0f22 Senior Industries, Inc. 0f23 Leader Tech Manufacturer Co., Ltd 0f24 Flex-P Industries, Snd., Bhd. 0f2d ViPower, Inc. 0f2e Geniality Maple Technology Co., Ltd 0f2f Priva Design Services 0f30 Jess Technology Co., Ltd 001c PS3 Guitar Controller Dongle 010b Philips Recoil 0110 Dual Analog Rumble Pad 0111 Colour Rumble Pad 0202 Joytech Advanced Controller 0208 Xbox & PC Gamepad 8888 BigBen XBMiniPad Controller 0f31 Chrysalis Development 0f32 YFC-BonEagle Electric Co., Ltd 0f37 Kokuyo Co., Ltd 0f38 Nien-Yi Industrial Corp. 0f39 TG3 Electronics 0404 Recreated ZX Spectrum Keyboard 0876 Keyboard [87 Francium Pro] 1086 DK2108SZ Keyboard [Ducky Zero] 0f3d Airprime, Incorporated 0112 CDMA 1xEVDO PC Card, PC 5220 0f41 RDC Semiconductor Co., Ltd 0f42 Nital Consulting Services, Inc. 0f44 Polhemus ef11 Patriot (firmware not loaded) ef12 Patriot ff11 Liberty (firmware not loaded) ff12 Liberty 0f49 Evolis SA 0a00 Zenius 0f4b St. John Technology Co., Ltd 0f4c WorldWide Cable Opto Corp. 0f4d Microtune, Inc. 1000 Bluetooth Dongle 0f4e Freedom Scientific 0f52 Wing Key Electrical Co., Ltd 0f53 Dongguan White Horse Cable Factory, Ltd 0f54 Kawai Musical Instruments Mfg. Co., Ltd 0101 MP6 Stage Piano 0f55 AmbiCom, Inc. 0f5c Prairiecomm, Inc. 0f5d NewAge International, LLC 9455 Compact Drive 0f5f Key Technology Corp. 0f60 NTK, Ltd 0f61 Varian, Inc. 0f62 Acrox Technologies Co., Ltd 1001 Targus Mini Trackball Optical Mouse 0f63 LeapFrog Enterprises 0010 Leapster Explorer 0022 Leap Reader 0500 Fly Fusion 0600 Leap Port Turbo 0700 POGO 0800 Didj 0900 TAGSchool 0a00 Leapster 2 0b00 Crammer 0c00 Tag Jr 0d00 My Pal Scout 0e00 Tag32 0f00 Tag64 1000 Kiwi16 1100 Leapster L2x 1111 Fly Fusion 1300 Didj UK/France (Leapster Advance) 0f68 Kobe Steel, Ltd 0f69 Dionex Corp. 0f6a Vibren Technologies, Inc. 0f6e INTELLIGENT SYSTEMS 0100 IS-CGB-EMULATOR 0201 GameBoy Advance Flash Gang Writer 0202 IS-AGB-CAPTURE 0300 IS-DOL-VIEWER 0400 IS-NITRO-EMULATOR 0401 IS-NITRO-UIC 0402 IS-NITRO-WRITER 0403 IS-NITRO-CAPTURE 0404 IS-NITRO-EMULATOR (DS Lite) 0500 IS-TWL-DEBUGGER 0501 IS-TWL-CAPTURE 0f73 DFI 0f78 Guntermann & Drunck GmbH 0f7c DQ Technology, Inc. 0f7d NetBotz, Inc. 0f7e Fluke Corp. 0f88 VTech Holdings, Ltd 3012 RT2570 3014 ZD1211B 0f8b Yazaki Corp. 0f8c Young Generation International Corp. 0f8d Uniwill Computer Corp. 0f8e Kingnet Technology Co., Ltd 0f8f Soma Networks 0f97 CviLux Corp. 0f98 CyberBank Corp. 0f9c Hyun Won, Inc. 0301 M-Any Premium DAH-610 MP3/WMA Player 0332 mobiBLU DAH-1200 MP3/Ogg Player 0f9e Lucent Technologies 0fa3 Starconn Electronic Co., Ltd 0fa4 ATL Technology 0fa5 Sotec Co., Ltd 0fa7 Epox Computer Co., Ltd 0fa8 Logic Controls, Inc. 0faf Winpoint Electronic Corp. 0fb0 Haurtian Wire & Cable Co., Ltd 0fb1 Inclose Design, Inc. 0fb2 Juan-Chern Industrial Co., Ltd 0fb6 Heber Ltd 3fc3 Firefly X10i I/O Board (with firmware) 3fc4 Firefly X10i I/O Board (without firmware) 0fb8 Wistron Corp. 0002 eHome Infrared Receiver 0fb9 AACom Corp. 0fba San Shing Electronics Co., Ltd 0fbb Bitwise Systems, Inc. 0fc1 Mitac Internatinal Corp. 0fc2 Plug and Jack Industrial, Inc. 0fc5 Delcom Engineering 1222 I/O Development Board 0fc6 Dataplus Supplies, Inc. 0fca Research In Motion, Ltd. 0001 Blackberry Handheld 0004 Blackberry Handheld 0006 Blackberry Pearl 0008 Blackberry Pearl 8001 Blackberry Handheld 8004 Blackberry 8007 Blackberry Handheld 8010 Blackberry Playbook (Connect to Windows mode) 8011 Blackberry Playbook (Connect to Mac mode) 8014 Blackberry Handheld Z30 8020 Blackberry Playbook (CD-Rom mode) 8037 Blackberry PRIV 0fce Sony Ericsson Mobile Communications AB 0076 W910i (Multimedia mode) 00af V640i Phone [PTP Camera] 00d4 C902 [MTP] 00d9 C702 Phone 0112 W995 Walkman Phone 014e J108i Cedar (MTP mode) 015a Xperia Pro [Media Transfer Protocol] 0166 Xperia Mini Pro 0167 ST15i (Xperia mini) 0169 Xperia S 0172 Xperia P 0177 Xperia Ion [Mass Storage] 0188 ST26i 019c C6833 019e C6903 01a5 SO-04F 01a7 D5503 01ba D6603 [Xperia Z3] 01bb D5803 [Xperia Z3 Compact] (MTP mode) 01e0 F5122 [Xperia X dual] (MTP mode) 01e8 F5321 [Xperia X Compact] (MTP mode) 01f9 H8314 [Xperia XZ2 Compact] 1010 WMC Modem 10af V640i Phone [PictBridge] 10d4 C902 Phone [PictBridge] 2105 W715 Phone 2137 Xperia X10 mini (USB debug) 2138 Xperia X10 mini pro (Debug) 2149 Xperia X8 (debug) 214e J108i Cedar (Windows-driver mode) 3137 Xperia X10 mini 3138 Xperia X10 mini pro 3149 Xperia X8 514f Xperia arc S [Adb-Enable Mode] 5169 Xperia S [Adb-Enable Mode] 5177 Xperia Ion [Debug Mode] 518c C1605 [Xperia E dual] MTD mode 51a7 D5503 (Xperia Z1 Compact) 51e0 F5122 [Xperia X dual] (developer mode) 614f Xperia X12 (debug mode) 6166 Xperia Mini Pro 618c C1605 [Xperia E dual] MSC mode 715a Xperia Pro [Tethering] 7166 Xperia Mini Pro (Tethering mode) 7177 Xperia Ion [Tethering] 71f4 G8441 (Xperia XZ1 Compact) [Tethering] 71f9 H8314 [Xperia XZ2 Compact] (Tethering) 8004 9000 Phone [Mass Storage] 81f4 G8441 (Xperia XZ1 Compact) [Tethering] adde C2005 (Xperia M dual) in service mode c1e0 F5122 [Xperia X dual] (MIDI mode) c1e8 F5321 [Xperia X Compact] (MIDI mode) c1f9 H8314 [Xperia XZ2 Compact] (MIDI) d008 V800-Vodafone 802SE Phone d016 K750i Phone d017 K608i Phone d019 VDC EGPRS Modem d025 520 WMC Data Modem d028 W800i d038 W850i Phone d039 K800i (phone mode) d041 K510i Phone d042 W810i Phone d043 V630i Phone d046 K610i Phone d065 W960i Phone (PC Suite) d076 W910i (Phone mode) d079 K530 Phone d089 W580i Phone (mass storage) d0a1 K810 d0af V640i Phone d0cf MD300 Mobile Broadband Modem d0d4 C902 Phone [Modem] d0e1 MD400 Mobile Broadband Modem d12a U100i Yari Phone d12e Xperia X10 d14e J108i Cedar (modem mode) e000 K810 (PictBridge mode) e039 K800i (msc mode) e042 W810i Phone e043 V630i Phone [Mass Storage] e075 K850i e076 W910i (Mass storage) e089 W580i Phone e090 W200 Phone (Mass Storage) e0a1 K810 (Mass Storage mode) e0a3 W660i e0af V640i Phone [Mass Storage] e0d4 C902 Phone [Mass Storage] e0ef C905 Phone [Mass Storage] e0f3 W595 e105 W705 e112 W995 Phone (Mass Storage) e12e X10i Phone e133 Vivaz e14e J108i Cedar (mass-storage mode) e14f Xperia Arc/X12 e15a Xperia Pro [Mass Storage Class] e161 Xperia Ray e166 Xperia Mini Pro e167 XPERIA mini e19b C2005 [Xperia M dual] (Mass Storage) e1a9 D5303 e1aa D2303 e1ad D5103 e1b0 D6708 e1b5 D2004 e1ba D6683 e1bb SO-02G e1bc D2203 e1c0 SGP621 e1c2 D2533 e1c9 E6553 e1cf SGP771 f0fa MN800 / Smartwatch 2 (DFU mode) 0fcf Dynastream Innovations, Inc. 1003 ANT Development Board 1004 ANTUSB Stick 1006 ANT Development Board 1008 ANTUSB2 Stick 1009 ANTUSB-m Stick 0fd0 Tulip Computers B.V. 0fd1 Giant Electronics Ltd. 0fd2 Seac Banche 0001 RDS 6000 0fd4 Tenovis GmbH & Co., KG 0fd5 Direct Access Technology, Inc. 0fd9 Elgato Systems GmbH 0011 EyeTV Diversity 0018 EyeTV Hybrid 0020 EyeTV DTT Deluxe 0021 EyeTV DTT 002a EyeTV Sat 002c EyeTV DTT Deluxe v2 0033 Video Capture 0037 Video Capture v2 0060 Stream Deck 0063 Stream Deck Mini 006c Stream Deck XL 006d Stream Deck original V2 0fda Quantec Networks GmbH 0100 quanton flight control 0fdc Micro Plus 0fde Oregon Scientific ca01 WMRS200 weather station ca05 CM160 ca08 WMR300 Professional Weather System 0fe0 Osterhout Design Group 0100 Bluetooth Mouse 0101 Bluetooth IMU 0200 Bluetooth Keypad 0fe2 Air Techniques 0fe4 IN-Tech Electronics, Ltd 0fe5 Greenconn (U.S.A.), Inc. 0fe6 ICS Advent 8101 DM9601 Fast Ethernet Adapter 811e Parallel Adapter 9700 DM9601 Fast Ethernet Adapter 0fe9 DVICO 4020 TViX M-6500 9010 FusionRemote IR receiver db00 FusionHDTV DVB-T (MT352+LgZ201) (uninitialized) db01 FusionHDTV DVB-T (MT352+LgZ201) (initialized) db10 FusionHDTV DVB-T (MT352+Thomson7579) (uninitialized) db11 FusionHDTV DVB-T (MT352+Thomson7579) (initialized) db78 FusionHDTV DVB-T Dual Digital 4 (ZL10353+xc2028/xc3028) (initialized) 0fea United Computer Accessories 0feb CRS Electronic Co., Ltd 0fec UMC Electronics Co., Ltd 0fed Access Co., Ltd 0fee Xsido Corp. 0fef MJ Research, Inc. 0ff6 Core Valley Co., Ltd 0ff7 CHI SHING Computer Accessories Co., Ltd 0ffc Clavia DMI AB 0021 Nord Stage 2 002a Nord Piano 4 0ffd EarlySense ff00 OEM 0fff Aopen, Inc. 1000 Speed Tech Corp. 153b TerraTec Electronic GmbH 1001 Ritronics Components (S) Pte., Ltd 1003 Sigma Corp. 0003 SD14 0100 SD9/SD10 8781 Dock UD-01 1004 LG Electronics, Inc. 1fae U8120 3G Cellphone 6000 Various Mobile Phones 6005 T5100 6018 GM360/GD510/GW520/KP501 618e Ally/Optimus One/Vortex (debug mode) 618f Ally/Optimus One 61c5 P880 / Charge only 61c6 Vortex (msc) 61cc Optimus S 61da G2 Android Phone [tethering mode] 61f1 Optimus Android Phone [LG Software mode] 61f9 Optimus (Various Models) MTP Mode 61fc Optimus 3 61fe Optimus Android Phone [USB tethering mode] 627f G3 (VS985) Android Phone (MTP/Download mode) 6300 G2/Optimus Android Phone [Charge mode] 631c LM-X420xxx/G2/Optimus Android Phone (charge mode) 631d Optimus Android Phone (Camera/PTP Mode) 631e LM-X420xxx/G2/Optimus Android Phone (PTP/camera mode) 631f Optimus Android Phone (Charge Mode) 633a Ultimate 2 Android Phone L41C 633e LM-X420xxx/G2/G3 Android Phone (MTP/download mode) 6344 LM-X420xxx/G2 Android Phone (USB tethering mode) 6348 LM-X420xxx Android Phone (MIDI mode) 6356 Optimus Android Phone [Virtual CD mode] 6800 CDMA Modem 7000 LG LDP-7024D(LD)USB 91c8 P880 / USB tethering a400 Renoir (KC910) 1005 Apacer Technology, Inc. 1001 MP3 Player 1004 MP3 Player 1006 MP3 Player b113 Handy Steno/AH123 / Handy Steno 2.0/HT203 b155 Disk Module b223 CD-RW + 6in1 Card Reader Digital Storage / Converter 1006 iRiver, Ltd. 3001 iHP-100 3002 iHP-120/140 MP3 Player 3003 H320/H340 3004 H340 (mtp) 1009 Emuzed, Inc. 000e eHome Infrared Receiver 0013 Angel MPEG Device 0015 Lumanate Wave PAL SECAM DVBT Device 0016 Lumanate Wave NTSC/ATSC Combo Device 100a AV Chaseway, Ltd 2402 MP3 Player 2404 MP3 Player 2405 MP3 Player 2406 MP3 Player a0c0 MP3 Player 100b Chou Chin Industrial Co., Ltd 100d Netopia, Inc. 3342 Cayman 3352 DSL Modem 3382 3380 Series Network Interface 6072 DSL Modem 9031 Motorola 802.11n Dualband USB Wireless Adapter 9032 Motorola 802.11n 5G USB Wireless Adapter cb01 Cayman 3341 Ethernet DSL Router 1010 Fukuda Denshi Co., Ltd 1011 Mobile Media Tech. 0001 AccFast Mp3 1012 SDKM Fibres, Wires & Cables Berhad 1013 TST-Touchless Sensor Technology AG 1014 Densitron Technologies PLC 1015 Softronics Pty., Ltd 1016 Xiamen Hung's Enterprise Co., Ltd 1017 Speedy Industrial Supplies, Pte., Ltd 9015 M625 [Vendor: DELUX] 1019 Elitegroup Computer Systems (ECS) 0c55 Flash Reader, Desknote UCR-61S2B 0f38 Infrared Receiver 1020 Labtec 0006 Wireless Keyboard 000a Wireless Optical Mouse 0106 Wireless Optical Mouse/Keyboard 1022 Shinko Shoji Co., Ltd 1025 Hyper-Paltek 005e USB DVB-T device 005f USB DVB-T device 0300 MP3 Player 0350 MP3 Player 1026 Newly Corp. 1027 Time Domain 1028 Inovys Corp. 1029 Atlantic Coast Telesys 102a Ramos Technology Co., Ltd 102b Infotronic America, Inc. 102c Etoms Electronics Corp. 6151 Q-Cam Sangha CIF 6251 Q-Cam VGA ff0c Joytech Wireless Advanced Controller 102d Winic Corp. 1031 Comax Technology, Inc. 1032 C-One Technology Corp. 1033 Nucam Corp. 0068 3,5'' HDD case MD-231 1038 SteelSeries ApS 0100 Ideazon Zboard 1260 Arctis 7 wireless adapter 1361 Ideazon Sensei 1410 SRW-S1 [Simraceway Steering Wheel] 1720 Mouse 1039 devolo AG 0824 1866 802.11bg [Texas Instruments TNETW1450] 2140 dsl+ 1100 duo 103a PSA f000 Actia Evo XS 103d Stanton 0100 ScratchAmp 0101 ScratchAmp 1043 iCreate Technologies Corp. 160f Wireless Network Adapter 4901 AV-836 Video Capture Device 8006 Flash Disk 32-256 MB 8012 Flash Disk 256 MB 1044 Chu Yuen Enterprise Co., Ltd 7001 Gigabyte U7000 DVB-T tuner 7002 Gigabyte U8000 DVB-T tuner 7004 Gigabyte U7100 DVB-T tuner 7005 Gigabyte U7200 DVB-T tuner [AF9035] 7006 Gigabyte U6000 DVB-T tuner [em2863] 8001 GN-54G 8002 GN-BR402W 8003 GN-WLBM101 8004 GN-WLBZ101 802.11b Adapter 8005 GN-WLBZ201 802.11b Adapter 8006 GN-WBZB-M 802.11b Adapter 8007 GN-WBKG 8008 GN-WB01GS 800a GN-WI05GS 800b GN-WB30N 802.11n WLAN Card 800c GN-WB31N 802.11n USB WLAN Card 800d GN-WB32L 802.11n USB WLAN Card 1046 Winbond Electronics Corp. [hex] 6694 Generic W6694 USB 8901 Bluetooth Device 9967 W9967CF/W9968CF Webcam IC 1048 Targus Group International 2010 4-Port hub 104b Mylex / Buslogic 104c AMCO TEC International, Inc. 104d Newport Corporation 1003 Model-52 LED Light Source Power Supply and Driver 3001 ESP301 3 Axis Motion Controller 104f WB Electronics 0001 Infinity Phoenix 0002 Smartmouse 0003 FunProgrammer 0004 Infinity Unlimited 0006 Infinity Smart 0007 Infinity Smart module 0008 Infinity CryptoKey 0009 RE-BL PlayStation 3 IR-to-Bluetooth converter 1050 Yubico.com 0010 Yubikey (v1 or v2) 0110 Yubikey NEO(-N) OTP 0111 Yubikey NEO(-N) OTP+CCID 0112 Yubikey NEO(-N) CCID 0113 Yubikey NEO(-N) U2F 0114 Yubikey NEO(-N) OTP+U2F 0115 Yubikey NEO(-N) U2F+CCID 0116 Yubikey NEO(-N) OTP+U2F+CCID 0120 Yubikey Touch U2F Security Key 0200 Gnubby U2F 0211 Gnubby 0401 Yubikey 4/5 OTP 0402 Yubikey 4/5 U2F 0403 Yubikey 4/5 OTP+U2F 0404 Yubikey 4/5 CCID 0405 Yubikey 4/5 OTP+CCID 0406 Yubikey 4/5 U2F+CCID 0407 Yubikey 4/5 OTP+U2F+CCID 0410 Yubikey plus OTP+U2F 1053 Immanuel Electronics Co., Ltd 1054 BMS International Beheer N.V. 5004 DSL 7420 Loader 5005 DSL 7420 LAN Modem 1055 Complex Micro Interconnection Co., Ltd 1056 Hsin Chen Ent Co., Ltd 1057 ON Semiconductor 1058 Western Digital Technologies, Inc. 0200 FireWire USB Combo 0400 External HDD 0500 hub 0701 WD Passport (WDXMS) 0702 WD Passport (WDXMS) 0704 My Passport Essential (WDME) 0705 My Passport Elite (WDML) 070a My Passport Essential (WDBAAA), My Passport for Mac (WDBAAB), My Passport Essential SE (WDBABM), My Passport SE for Mac (WDBABW) 070b My Passport Elite (WDBAAC) 070c My Passport Studio (WDBAAE) 071a My Passport Essential (WDBAAA) 071d My Passport Studio (WDBALG) 0730 My Passport Essential (WDBACY) 0732 My Passport Essential SE (WDBGYS) 0740 My Passport Essential (WDBACY) 0741 My Passport Ultra 0742 My Passport Essential SE (WDBGYS) 0748 My Passport (WDBKXH, WDBY8L) 07a8 My Passport (WDBBEP), My Passport for Mac (WDBLUZ) 07ae My Passport Edge for Mac (WDBJBH) 07ba PiDrive (WDLB) 0810 My Passport Ultra (WDBZFP) 0816 My Passport Air (WDBBLW) 0820 My Passport Ultra (WDBMWV, WDBZFP) 0822 My Passport Ultra (WDBBUZ) 0824 My Passport Slim (WDBPDZ) 0830 My Passport Ultra (WDBZFP) 0837 My Passport Ultra (WDBBKD) 0900 MyBook Essential External HDD 0901 My Book Essential Edition (Green Ring) (WDG1U) 0902 My Book Pro Edition (WDG1T) 0903 My Book Premium Edition 0905 My Book Pro Edition II (WD10000C033-001) 0910 My Book Essential Edition (Green Ring) (WDG1U) 1001 Elements Desktop (WDE1U) 1003 WD Elements Desktop (WDE1UBK) 1010 Elements Portable (WDBAAR) 1021 Elements Desktop (WDBAAU) 1023 Elements SE Portable (WDBABV) 1042 Elements SE Portable (WDBPCK) 1048 Elements Portable (WDBU6Y) 1078 Elements Portable (WDBUZG) 107c Elements Desktop (WDBWLG) 10a2 Elements SE Portable (WDBPCK) 10a8 Elements Portable (WDBUZG) 10b8 Elements Portable (WDBU6Y, WDBUZG) 1100 My Book Essential Edition 2.0 (WDH1U) 1102 My Book Home Edition (WDH1CS) 1103 My Book Studio 1104 My Book Mirror Edition (WDH2U) 1105 My Book Studio II 1110 My Book Essential (WDBAAF), My Book for Mac (WDBAAG) 1111 My Book Elite (WDBAAH) 1112 My Book Studio (WDBAAJ), My Book Studio LX (WDBACH) 1123 My Book 3.0 (WDBABP) 1130 My Book Essential (WDBACW) 1140 My Book Essential (WDBACW) 1170 My Book Essential 3TB (WDBACW0030HBK) 1230 My Book (WDBFJK) 1235 My Book (WDBFJK0040HBK) 2599 My Passport Ultra (WD40NMZW) 259d My Passport Ultra (WDBBKD) 259f My Passport Ultra (WD10JMVW) 25a1 Elements / My Passport 25a2 Elements 25A2 25a3 Elements Desktop (WDBWLG) 25da My Book (WDBFJK) 25e1 My Passport (WD20NMVW) 25e2 My Passport (WD40NMZW) 25ee My Book 25EE 25f3 My Passport SSD (WDBK3E) 25fa easystore Portable 5TB (WDBKUZ0050) 25fb easystore Desktop (WDBCKA) 2603 My Passport Game Storage for PS4 4TB (WDBZGE0040) 2624 easystore Portable 5TB (WDBKUZ0050) 2626 My Passport (WDBPKJ) 30a0 SATA adapter cable 1059 Giesecke & Devrient GmbH 000b StarSign Bio Token 3.0 105b Foxconn International, Inc. e065 BCM43142A0 Bluetooth module 105c Hong Ji Electric Wire & Cable (Dongguan) Co., Ltd 105d Delkin Devices, Inc. 105e Valence Semiconductor Design, Ltd 105f Chin Shong Enterprise Co., Ltd 1060 Easthome Industrial Co., Ltd 1063 Motorola Electronics Taiwan, Ltd [hex] 1555 MC141555 Hub 4100 SB4100 USB Cable Modem 1065 CCYU Technology 0020 USB-DVR2 Dev Board 2136 EasyDisk ED1064 1068 Micropi Elettronica 0001 CPUSB - V 1.8 - software-rights management key 106a Loyal Legend, Ltd 106c Curitel Communications, Inc. 1101 CDMA 2000 1xRTT USB modem (HX-550C) 1102 Packet Service 1103 Packet Service Diagnostic Serial Port (WDM) 1104 Packet Service Diagnostic Serial Port (WDM) 1105 Composite Device 1106 Packet Service Diagnostic Serial Port (WDM) 1301 Composite Device 1302 Packet Service Diagnostic Serial Port (WDM) 1303 Packet Service 1304 Packet Service 1401 Composite Device 1402 Packet Service 1403 Packet Service Diagnostic Serial Port (WDM) 1501 Packet Service 1502 Packet Service Diagnostic Serial Port (WDM) 1503 Packet Service 1601 Packet Service 1602 Packet Service Diagnostic Serial Port (WDM) 1603 Packet Service 2101 AudioVox 8900 Cell Phone 2102 Packet Service 2103 Packet Service Diagnostic Serial Port (WDM) 2301 Packet Service 2302 Packet Service Diagnostic Serial Port (WDM) 2303 Packet Service 2401 Packet Service Diagnostic Serial Port (WDM) 2402 Packet Service 2403 Packet Service Diagnostic Serial Port (WDM) 2501 Packet Service 2502 Packet Service Diagnostic Serial Port (WDM) 2503 Packet Service 2601 Packet Service 2602 Packet Service Diagnostic Serial Port (WDM) 2603 Packet Service 3701 Broadband Wireless modem 3702 Pantech PX-500 3714 PANTECH USB MODEM [UM175] 3716 UMW190 Modem 3721 Option Beemo (GI0801) LTE surfstick 3b14 Option Beemo (GI0801) LTE surfstick 3eb4 Packet Service Diagnostic Serial Port (WDM) 4101 Packet Service Diagnostic Serial Port (WDM) 4102 Packet Service 4301 Composite Device 4302 Packet Service Diagnostic Serial Port (WDM) 4401 Composite Device 4402 Packet Service 4501 Packet Service 4502 Packet Service Diagnostic Serial Port (WDM) 4601 Composite Device 4602 Packet Service Diagnostic Serial Port (WDM) 5101 Packet Service 5102 Packet Service Diagnostic Serial Port (WDM) 5301 Packet Service Diagnostic Serial Port (WDM) 5302 Packet Service 5401 Packet Service 5402 Packet Service Diagnostic Serial Port (WDM) 5501 Packet Service Diagnostic Serial Port (WDM) 5502 Packet Service 5601 Packet Service Diagnostic Serial Port (WDM) 5602 Packet Service 7101 Composite Device 7102 Packet Service a000 Packet Service a001 Packet Service Diagnostic Serial Port (WDM) c100 Packet Service c200 Packet Service c500 Packet Service Diagnostic Serial Port (WDM) e200 Packet Service 106d San Chieh Manufacturing, Ltd 106e ConectL 106f Money Controls 0009 CT10x Coin Transaction 000a CR10x Coin Recycler 000c Xchange 1076 GCT Semiconductor, Inc. 0031 Bluetooth Device 0032 Bluetooth Device 8002 LU150 LTE Modem [Yota LU150] 107b Gateway, Inc. 3009 eHome Infrared Transceiver 55b2 WBU-110 802.11b Wireless Adapter [Intersil PRISM 3] 55f2 WGU-210 802.11g Adapter [Intersil ISL3886] 107d Arlec Australia, Ltd 107e Midoriya Electric Co., Ltd 107f KidzMouse, Inc. 1082 Shin-Etsukaken Co., Ltd 1083 Canon Electronics, Inc. 160c CR-55 160f DR-1210C 1614 DR-4010C 1617 DR-2510C 1618 DR-X10C 161a CR-25 161b DR-2010C Scanner 161d DR-3010C 1620 DR-7090C 1622 DR-9050C 1623 DR-7550C 1624 DR-6050C 1626 DR-6010C 162c P-150 Scanner 1638 DR-6030C 1639 CR-135i 163e DR-M160 163f DR-M140 1640 DR-C125 1641 DR-P215 1648 FSU-201 164a DR-C130 164b DR-P208 164f DR-G1130 1650 DR-G1100 1651 DR-C120 1654 DR-F120 1657 DR-M1060 1658 DR-C225 1659 DR-P215II 165d DR-P208II 1084 Pantech Co., Ltd 108a Chloride Power Protection 108b Grand-tek Technology Co., Ltd 0005 HID Keyboard/Mouse PS/2 Translator 108c Robert Bosch GmbH 017e GTC 400 C 108e Lotes Co., Ltd. 1091 Numerik Jena 8101 Absoflex 1099 Surface Optics Corp. 109a DATASOFT Systems GmbH 109b Hisense 9109 CROSSCALL Trekker-M1 Core (MTP-Mode) 9118 Medion P4013 Mobile 9119 CROSSCALL Trekker-M1 Core (PTP-Mode) f009 CROSSCALL Trekker-M1 Core (CD-ROM-Mode) 109f eSOL Co., Ltd 3163 Trigem Mobile SmartDisplay84 3164 Trigem Mobile SmartDisplay121 10a0 Hirotech, Inc. 10a3 Mitsubishi Materials Corp. 10a9 SK Teletech Co., Ltd 1102 Sky Love Actually IM-U460K 1104 Sky Vega IM-A650S 1105 VEGA Android composite 1106 VEGA Android composite 1107 VEGA Android composite 1108 VEGA Android composite 1109 VEGA Android composite 6021 SIRIUS alpha 6031 Pantech Android composite 6032 Pantech Android composite 6033 Pantech Android composite 6034 Pantech Android composite 6035 Pantech Android composite 6036 Pantech Android composite 6037 Pantech Android composite 6050 Pantech Android composite 6051 Pantech Android composite 6052 Pantech Android composite 6053 Pantech Android composite 6054 Pantech Android composite 6055 Pantech Android composite 6056 Pantech Android composite 6057 Pantech Android composite 6058 Pantech Android composite 6059 Pantech Android composite 6080 MHS291LVW LTE Modem [Verizon Jetpack 4G LTE Mobile Hotspot MHS291L] (Zero CD Mode) 6085 MHS291LVW LTE Modem [Verizon Jetpack 4G LTE Mobile Hotspot MHS291L] (Modem Mode) 7031 Pantech Android composite 7032 Pantech Android composite 7033 Pantech Android composite 7034 Pantech Android composite 7035 Pantech Android composite 7036 Pantech Android composite 7037 Pantech Android composite 10aa Cables To Go 10ab USI Co., Ltd 1002 Bluetooth Device 1003 BC02-EXT in DFU 1005 Bluetooth Adptr 1006 BC04-EXT in DFU 10c5 Sony-Ericsson / Samsung DataCable 10ac Honeywell, Inc. 10ae Princeton Technology Corp. 10af Liebert Corp. 0000 UPS 0001 PowerSure PSA UPS 0002 PowerSure PST UPS 0003 PowerSure PSP UPS 0004 PowerSure PSI UPS 0005 UPStation GXT 2U UPS 0006 UPStation GXT UPS 0007 Nfinity Power Systems UPS 0008 PowerSure Interactive UPS 10b5 Comodo (PLX?) 9060 Test Board 10b8 DiBcom 0bb8 DVB-T reference design (MOD300) (cold) 0bb9 DVB-T reference design (MOD300) (warm) 0bc6 DVB-T reference design (MOD3000P) (cold) 0bc7 DVB-T reference design (MOD3000P) (warm) 10bb TM Technology, Inc. 10bc Dinging Technology Co., Ltd 10bd TMT Technology, Inc. 1427 Ethernet 10bf SmartHome 0001 SmartHome PowerLinc 10c3 Universal Laser Systems, Inc. 00a4 ULS PLS Series Laser Engraver Firmware Loader 00a5 ULS Print Support 10c4 Silicon Labs 0002 F32x USBXpress Device 0003 CommandIR 800a SPORTident 800b AES 8030 K4JRG Ham Radio devices 8044 USB Debug Adapter 804e Software Bisque Paramount ME 80a9 CP210x to UART Bridge Controller 80c4 Infrared Thermometer Adapter 80ca ATM2400 Sensor Device 813f tams EasyControl 8149 West Mountain Radio Computerized Battery Analyzer 814a West Mountain Radio RIGblaster P&P 814b West Mountain Radio RIGtalk 818a Silicon Labs FM Radio Reference Design 81e8 Zephyr BioHarness 834b Infrared Online Sensor Adapter 834e Infrared Sensor Adapter 8460 Sangoma Wanpipe VoiceTime 8461 Sangoma U100 8470 Juniper Networks BX Series System Console 8477 Balluff RFID Reader 8496 SiLabs Cypress FW downloader 8497 SiLabs Cypress EVB 84fb Infrared Blackbody Adapter 8508 RS485 Adapter 8605 dilitronics ESoLUX solar lighting controller 8660 Netronics CANdoISO 86bc C8051F34x AudioDelay [AD-340] 8789 C8051F34x Extender & EDID MGR [EMX-DVI] 87be C8051F34x HDMI Audio Extractor [EMX-HD-AUD] 8863 C8051F34x Bootloader 8897 C8051F38x HDMI Splitter [UHBX] 88c9 AES HID device 8918 C8051F38x HDMI Audio Extractor [VSA-HA-DP] 8973 C8051F38x HDMI Extender [UHBX-8X] 89c6 SPORTident HID device 89e1 C8051F38x HDMI Extender [UHBX-SW3-WP] 89fb Qivicon ZigBee Stick 8a3c C8051F38x HDBaseT Receiver [UHBX-R-XT] 8a6c C8051F38x 4K HDMI Audio Extractor [EMX-AMP] 8acb C8051F38x HDBaseT Wall Plate Receiver with IR, RS-232, and PoH [UHBX-R-WP] 8af8 C8051F38x 4K HDMI Audio Extractor w/Audio Amplifier, HDBT Input, Line Audio Input RS-232 Ports and IP Control [VSA-X21] 8b8c C8051F38x 4K HDMI Audio Extractor w/Audio Amplifier, HDBT Input, Line Audio Input RS-232 Ports and IP Control [SC-3H] 8db5 C8051F38x CATx HDMI Receiver with USB [EX-HDU-R] 8db6 C8051F38x CATx HDMI Receiver ea60 CP210x UART Bridge ea61 CP210x UART Bridge ea63 CP210x UART Bridge ea70 CP2105 Dual UART Bridge ea71 CP2108 Quad UART Bridge ea80 CP2110 HID UART Bridge ea90 CP2112 HID I2C Bridge ea91 CP2112 HID SMBus/I2C Bridge for CP2614 Evaluation Kit ea93 CP2112 HID SMBus/I2C Bridge for CP2615 Evaluation Kit eab0 CP2114 I2S Audio Bridge eac0 CP2614 MFi Accessory Digital Audio Bridge eac1 CP2615 I2S Audio Bridge eac9 EFM8UB1 Bootloader eaca EFM8UB2 Bootloader eacb EFM8UB3 Bootloader 10c5 Sanei Electric, Inc. 819a FM Radio 10c6 Intec, Inc. 10cb Eratech 10cc GBM Connector Co., Ltd 1101 MP3 Player 10cd Kycon, Inc. 10ce Silicon Labs 0007 Shinko/Sinfonia CHC-S1245 000e Shinko/Sinfonia CHC-S2145 0019 Shinko/Sinfonia CHC-S6145 001d Shinko/Sinfonia CHC-S6245 001e Ciaat Brava 21 0039 Sinfonia CHC-S2245 10ce Sinfonia CHC-S2245 ea6a MobiData EDGE USB Modem 10cf Velleman Components, Inc. 2011 R-Engine MPEG2 encoder/decoder 5500 8055 Experiment Interface Board (address=0) 5501 8055 Experiment Interface Board (address=1) 5502 8055 Experiment Interface Board (address=2) 5503 8055 Experiment Interface Board (address=3) 10d1 Hottinger Baldwin Measurement 0101 USB-Module for Spider8, CP32 0202 CP22 - Communication Processor 0301 CP42 - Communication Processor 10d2 RayComposer - R. Adams 5243 RayComposer 10d4 Man Boon Manufactory, Ltd 10d5 Uni Class Technology Co., Ltd 0004 PS/2 Converter 5552 KVM Human Interface Composite Device (Keyboard/Mouse ports) 55a2 2Port KVMSwitcher 5a08 Dual Bay Docking Station 10d6 Actions Semiconductor Co., Ltd 0c02 BioniQ 1001 Tablet 1000 MP3 Player 1100 MPMan MP-Ki 128 MP3 Player/Recorder 1101 D-Wave 2GB MP4 Player / AK1025 MP3/MP4 Player 2200 Acer MP-120 MP3 player 8888 ADFU Device ff51 ADFU Device ff61 MP4 Player ff66 Craig 2GB MP3/Video Player 10de Authenex, Inc. 10df In-Win Development, Inc. 0500 iAPP CR-e500 Card reader 10e0 Post-Op Video, Inc. 10e1 CablePlus, Ltd 10e2 Nada Electronics, Ltd 10ec Vast Technologies, Inc. 10f0 Nexio Co., Ltd 2002 iNexio Touchscreen controller 10f1 Importek 1a08 Internal Webcam 1a1e Laptop Integrated Webcam 1.3M 1a2a Laptop Integrated Webcam 1a2e HP Truevision HD Integrated Webcam 10f5 Turtle Beach 0200 Audio Advantage Roadie 0231 Ear Force P11 Headset 10f5 EarForce PX21 Gaming Headset 10f8 Cesys GmbH 3201 CeboLC 3202 CeboStick 3203 CeboMSA64 3204 CeboDFN 3205 PSAA2304W_CASC c401 USBV4F unconfigured c402 EFM01 unconfigured c403 MISS2 unconfigured c404 CID unconfigured c405 USBS6 unconfigured c406 OP_MISS2 unconfigured c407 NanoUsb uncofigured c481 USBV4F c482 EFM01 c483 MISS2 c484 CID c485 USBS6 c486 OP_MISS2 c487 NanoUsb c501 EFM02 unconfigured c502 EFM02/B unconfigured c503 EFM03 unconfigured c581 EFM02 c582 EFM02/B c583 EFM03 10fb Pictos Technologies, Inc. 10fd Anubis Electronics, Ltd 7e50 FlyCam Usb 100 804d Typhoon Webshot II Webcam [zc0301] 8050 FlyCAM-USB 300 XP2 de00 WinFast WalkieTV WDM Capture Driver. 10fe Thrane & Thrane 000c TT-3750 BGAN-XL Radio Module 1100 VirTouch, Ltd 0001 VTPlayer VTP-1 Braille Mouse 1101 EasyPass Industrial Co., Ltd 0001 FSK Electronics Super GSM Reader 1108 Brightcom Technologies, Ltd 110a Moxa Technologies Co., Ltd. 1110 UPort 1110 1150 UPort 1150 1-Port RS-232/422/485 1250 UPort 1250 2-Port RS-232/422/485 1251 UPort 1250I 2-Port RS-232/422/485 with Isolation 1410 UPort 1410 4-Port RS-232 1450 UPort 1450 4-Port RS-232/422/485 1451 UPort 1450I 4-Port RS-232/422/485 with Isolation 1613 UPort 1610-16 16-Port RS-232 1618 UPort 1610-8 8-Port RS-232 1653 UPort 1650-16 16-Port RS-232/422/485 1658 UPort 1650-8 8-Port RS-232/422/485 1110 Analog Devices Canada, Ltd (Allied Telesyn) 5c01 Huawei MT-882 Remote NDIS Network Device 6489 ADSL ETH/USB RTR 9000 ADSL LAN Adapter 9001 ADSL Loader 900f AT-AR215 DSL Modem 9010 AT-AR215 DSL Modem 9021 ADSL WAN Adapter 9022 ADSL Loader 9023 ADSL WAN Adapter 9024 ADSL Loader 9031 ADSL LAN Adapter 9032 ADSL Loader 1111 Pandora International Ltd. 8888 Evolution Device 1112 YM ELECTRIC CO., Ltd 1113 Medion AG a0a2 Active Sync device 111e VSO Electric Co., Ltd 112a RedRat 0001 RedRat3 IR Transceiver 0005 RedRat3II IR Transceiver 112e Master Hill Electric Wire and Cable Co., Ltd 112f Cellon International, Inc. 1130 Tenx Technology, Inc. 0001 BlyncLight 0002 iBuddy 0004 iBuddy Twins 0202 Rocket Launcher 6604 MCE IR-Receiver 6606 U+P Mouse 660c Foot Pedal/Thermometer 6626 Key 6806 Keychain photo frame c301 Digital Photo viewer [Wallet Pix] f211 TP6911 Audio Headset 1131 Integrated System Solution Corp. 1001 KY-BT100 Bluetooth Adapter 1002 Bluetooth Device 1003 Bluetooth Device 1004 Bluetooth Device 1132 Toshiba Corp., Digital Media Equipment [hex] 4331 PDR-M4/M5/M70 Digital Camera 4332 PDR-M60 Digital Camera 4333 PDR-M2300/PDR-M700 4334 PDR-M65 4335 PDR-M61 4337 PDR-M11 4338 PDR-M25 1136 CTS Electronincs 3131 CTS LS515 113c Arin Tech Co., Ltd 113d Mapower Electronics Co., Ltd 113f Integrated Biometrics, LLC 1020 Watson Two-Finger Roll Scanner 1100 Columbo Single-Finger Scanner 1141 V One Multimedia, Pte., Ltd 1142 CyberScan Technologies, Inc. 0709 Cyberview High Speed Scanner 1145 Japan Radio Company 0001 AirH PHONE AH-J3001V/J3002V 1146 Shimane SANYO Electric Co., Ltd. 1147 Ever Great Electric Wire and Cable Co., Ltd 114b Sphairon Access Systems GmbH 0110 Turbolink UB801R WLAN Adapter 0150 Turbolink UB801RE Wireless 802.11g 54Mbps Network Adapter [RTL8187] 114c Tinius Olsen Testing Machine Co., Inc. 114d Alpha Imaging Technology Corp. 114f Wavecom 1234 Fastrack Xtend FXT001 Modem 115b Salix Technology Co., Ltd. 1162 Secugen Corp. 1163 DeLorme Publishing, Inc. 0100 Earthmate GPS (orig) 0200 Earthmate GPS (LT-20, LT-40) 2020 Earthmate GPS (PN-40) 1164 YUAN High-Tech Development Co., Ltd 0300 ELSAVISION 460D 0601 Analog TV Tuner 0900 TigerBird BMP837 USB2.0 WDM Encoder 0bc7 Digital TV Tuner 521b MC521A mini Card ATSC Tuner 6601 Digital TV Tuner Card [RTL2832U] 1165 Telson Electronics Co., Ltd 1166 Bantam Interactive Technologies 1167 Salient Systems Corp. 1168 BizConn International Corp. 116e Gigastorage Corp. 116f Silicon 10 Technology Corp. 0005 Flash Card Reader c108 Flash Card Reader c109 Flash Card Reader 1175 Shengyih Steel Mold Co., Ltd 117d Santa Electronic, Inc. 117e JNC, Inc. 1182 Venture Corp., Ltd 1183 Compaq Computer Corp. [hex] (Digital Dream ??) 0001 DigitalDream l'espion XS 19c7 ISDN TA 4008 56k FaxModem 504a PJB-100 Personal Jukebox 1184 Kyocera Elco Corp. 1188 Bloomberg L.P. 1189 Acer Communications & Multimedia 0893 EP-1427X-2 Ethernet Adapter [Acer] 118f You Yang Technology Co., Ltd 1190 Tripace 1191 Loyalty Founder Enterprise Co., Ltd 1196 Yankee Robotics, LLC 0010 Trifid Camera without code 0011 Trifid Camera 1197 Technoimagia Co., Ltd 1198 StarShine Technology Corp. 1199 Sierra Wireless, Inc. 0019 AC595U 0021 AC597E 0024 MC5727 CDMA modem 0110 Composite Device 0112 CDMA 1xEVDO PC Card, AirCard 580 0120 AC595U 0218 MC5720 Wireless Modem 6467 MP Series Network Adapter 6468 MP Series Network Adapter 6469 MP Series Network Adapter 6802 MC8755 Device 6803 MC8765 Device 6804 MC8755 Device 6805 MC8765 Device 6812 MC8775 Device 6820 AC875 Device 6832 MC8780 Device 6833 MC8781 Device 683a MC8785 Device 683c Mobile Broadband 3G/UMTS (MC8790 Device) 6850 AirCard 880 Device 6851 AirCard 881 Device 6852 AirCard 880E Device 6853 AirCard 881E Device 6854 AirCard 885 Device 6856 ATT "USB Connect 881" 6870 MC8780 Device 6871 MC8781 Device 6893 MC8777 Device 68a3 MC8700 Modem 68aa 4G LTE adapter 9000 Gobi 2000 Wireless Modem (QDL mode) 9001 Gobi 2000 Wireless Modem 9002 Gobi 2000 Wireless Modem 9003 Gobi 2000 Wireless Modem 9004 Gobi 2000 Wireless Modem 9005 Gobi 2000 Wireless Modem 9006 Gobi 2000 Wireless Modem 9007 Gobi 2000 Wireless Modem 9008 Gobi 2000 Wireless Modem 9009 Gobi 2000 Wireless Modem 900a Gobi 2000 Wireless Modem 9011 MC8305 Modem 9013 Sierra Wireless Gobi 3000 Modem device (MC8355) 9041 EM7305 Modem 9055 Gobi 9x15 Multimode 3G/4G LTE Modem (NAT mode) 9057 Gobi 9x15 Multimode 3G/4G LTE Modem (IP passthrough mode) 9071 AirPrime MC7455 3G/4G LTE Modem 9079 EM7455 119a ZHAN QI Technology Co., Ltd 119b ruwido austria GmbH 0400 Infrared Keyboard V2.01 11a0 Chipcon AS eb11 CC2400EB 2.0 ZigBee Sniffer 11a3 Technovas Co., Ltd 8031 MP3 Player 8032 MP3 Player 11aa GlobalMedia Group, LLC 1518 iREZ K2 11ab Exito Electronics Co., Ltd 11ac Nike 6565 FuelBand 11b0 ATECH FLASH TECHNOLOGY 6208 PRO-28U 6298 Kingston SNA-DC/U 11be R&D International NV f0a0 Martin Maxxyz DMX 11c0 Betop 5506 Gamepad 11c5 Inmax 0521 IMT-0521 Smartcard Reader 11c9 Nacon 55f0 GC-100XF 11ca VeriFone Inc 0201 MX870/MX880 0207 PIN Pad VX 810 0220 PIN Pad VX 805 11db Topfield Co., Ltd. 1000 PVR 1100 PVR 11e6 K.I. Technology Co. Ltd. 11f5 Siemens AG 0001 SX1 0003 Mobile phone USB cable 0004 X75 0005 SXG75/EF81 0008 UMTS/HSDPA Data Card 0101 RCU Connect 11f6 Prolific 2001 Willcom WSIM 11f7 Alcatel (?) 02df Serial cable (v2) for TD-10 Mobile Phone 1203 TSC Auto ID Technology Co., Ltd 0140 TTP-245C 1209 Generic 0001 pid.codes Test PID 0002 pid.codes Test PID 0003 pid.codes Test PID 0004 pid.codes Test PID 0005 pid.codes Test PID 0006 pid.codes Test PID 0007 pid.codes Test PID 0008 pid.codes Test PID 0009 pid.codes Test PID 000a pid.codes Test PID 000b pid.codes Test PID 000c pid.codes Test PID 000d pid.codes Test PID 000e pid.codes Test PID 000f pid.codes Test PID 0010 pid.codes Test PID 01c0 Input Club Kiibohd Device 01cb Input Club Kiibohd Device Bootloader 0256 Schwalm & Tate LLC pISO Raspberry Pi Hat 053a Hackerspace San Salvador HSSV SAMR21-Mote 0cbd Andrzej Szombierski kuku.eu.org keyboard 0d32 ODrive Robotics ODrive v3 1001 InterBiometrics Hub 1002 InterBiometrics Relais 1003 InterBiometrics IBSecureCam-P 1004 InterBiometrics IBSecureCam-O 1005 InterBiometrics IBSecureCam-N 1006 InterBiometrics Mini IO-Board 1007 e-radionica.com Croduino SAMD 1986 dgrubb Jaguar Tap 1ab5 Arachnid Labs Tsunami 1ab6 Arachnid Labs Tsunami Bootloader 2000 Zygmunt Krynicki Lantern Brightness Sensor 2001 OSHEC Pi-pilot opensource and openhardware autopilot system 2002 Peter Lawrence PIC16F1-USB-DFU-Bootloader 2003 Peter Lawrence SAMDx1-USB-DFU-Bootloader 2004 GCBASIC Serial CDC Stack 2005 GCBASIC OakTree Stack 2006 GCBASIC Simulation Stack 2016 Cupkee 2017 Benjamin Shockley Mini SAM 2020 Captain Credible Gate Crystal 2048 Housedillon.com MRF49XA Transceiver 2100 TinyFPGA B1 and B2 Boards 2101 TinyFPGA A-Series Programmer 2200 Dygma Shortcut Bootloader 2201 Dygma Shortcut Keyboard 2222 LabConnect Signalgenerator 2300 Keyboardio Model 01 Bootloader 2301 Keyboardio Model 01 2323 bytewerk.org candleLight 2327 K.T.E.C. Bootloader Device 2328 K.T.E.C. Keyboard Device 2333 Kai Ryu Kimera 2334 Kai Ryu Staryu 2335 Portwell Sense8 2336 Portwell Sense8 2337 /Dev /Net 2342 Andreas Bogk Big Red Button 2345 VV-Soft Simple Generic HID IO 2357 KarolKucza TinyPassword 2400 phooky Snap-Pad 2488 Peter Lawrence CMSIS-DAP Dapper Miser 2552 ProjectIota Electrolink 2600 Majenko Technologies chipKIT Lenny 2635 Sevinz GameBot 2800 Entropic Engineering Triangulation 2801 Entropic Engineering Object Manipulation 2a00 mooware Wii adapter 2a01 mooware SNES adapter 3000 lloyd3000 3100 OpenSimHardware Pedals & Buttons Controller 317e Codecrete Wirekite 3210 OSH Lab, LLC Magic Keys 3333 LabConnect Digitalnetzteil 345b kinX Hub 345c kinX Keyboard Controller 3690 Kigakudoh TouchMIDI32 4096 CynaraKrewe Cynara 414c Adi Linden 414d Adi Linden 4242 Komakallio Astrophotography Community KomaHub Remote Power Switch 4256 CuVoodoo BusVoodoo multi-protocol debugging adapter 4321 mooltipass Offline Password Keeper Bootloader 4322 mooltipass Arduino Sketch 4356 CuVoodoo firmware 4443 j1rie IRMP_STM32 Bootloader 4444 j1rie IRMP_STM32 4545 SlothCo Enterprises Teletype Adapter 4646 SmartPID SPC1000 4748 Kate Gray GHETT-iO Bootloader 4750 Chris Pavlina (c4757p) C4-x computer (development interface) 4757 Chris Pavlina (c4757p) WCP52 Gain/Phase Analyzer 4801 Wojciech Krutnik NVMemProg 4c60 MightyPork GEX module 4c61 MightyPork GEX wireless dongle 4d53 mindsensors.com NXTCam5 5038 frotz.net mdebug rswd protocol 5039 frotz.net lpcboot protocol 5050 trebb ISO50 5070 SoloHacker security key [SoloKey] 50b0 boot for security key [SoloKey] 5222 telavivmakers attami 53c0 SatoshiLabs TREZOR Bootloader 53c1 SatoshiLabs TREZOR 5432 Open Programmer 5457 Openlab.Taipei Taiwanduino 571c StreetoArcade PancadariaStick 5a22 ikari_01 sd2snes 6000 Pulsar Heavy Industries Cenx4 600d Makdaam N93 Interface 6464 Electric Exploits Shinewave 6502 jj1bdx avrhwrng v2rev1 6570 Iowa Scaled Engineering, LLC CKT-AVRPROGRAMMER 6666 Talpa Chen VSFLogic 6667 SensePost Universal Serial aBUSe - Generic HID 6742 NPK Cubitel Atomic Force Microscope 6809 Tach Radio Doppelganger 6948 MySensors Sensebender Gateway BootLoader 6949 MySensors Sensebender Gateway 6bcf blaste Gameboy Cart Flasher 7000 Secalot Dongle 7001 Secalot Bootloader 70b1 Sutajio Ko-Usagi (Kosagi) Tomu 7331 Dangerous Prototypes Bus Pirate Next Gen CDC 7332 Dangerous Prototypes Bus Pirate Next Gen Logic Analyzer 7401 Beststream-jp Tool_CDC 7530 PotentialLabs Refflion - IoT Development Board - Bootloader 7531 PotentialLabs Refflion - IoT Development Board - Sketch 7551 The Tessel Project Tessel 2 7777 circuitvalley IO Board V3 7778 circuitvalley IO Board V3 Bootloader 7950 PIC18F87J94 Bootloader [GenII] 7951 PIC18F87J94 Application [GenII] 7952 PIC18F87J94 Bootloader [GenIII/IV] 7953 PIC18F87J94 Application [GenIII/IV] 7954 PIC18F87J94 Application [GenIII/IV] 7bd0 pokey9000 Tiny Bit Dingus 8000 Autonomii NODii 2 8086 MisfitTech Nano Zero Bootloader 8087 MisfitTech Nano Zero 8123 Danyboard M0 bootloader 812a Danyboard M0 813a MickMad HACK Bootloader 813b MickMad HACK Sketch 8242 Tom Wimmenhove Electronics NBS-DAC 192/24 UAC1 8243 Tom Wimmenhove Electronics NBS-DAC 192/24 UAC2 8472 Shantea Controls OpenDeck 8661 ProgHQ TL866 programmer 8844 munia.io MUNIA 8888 Blinkinlabs POV Pendant 8889 Blinkinlabs POV Pendant (bootloader) 8b00 ReSwitched Libtransistor Serial Console 9021 Connected Community Hackerspace ESPlant 9317 Sutajio Ko-Usagi (Kosagi) Palawan-Tx 9999 Sandeepan Sengupta CodeBridge Infineo 9db5 PD Buddy Sink a033 area0x33 Memtype a100 KB LES Narsil analog breakout a10c KB LES Aminoacid Synthesizer a1e5 Atreus Keyboards Atreus Keyboard a3a4 MK::Box MK::Kbd a3a5 MK::Box MK::Kbd Bootloader a55a Forever Young Software ATTINY2313 a602 Robotips RTBoard a7ea area3001 Knixx SW04 a800 sowbug.com WebLight a8b0 Intelectron BootWare a8b1 Intelectron FrameWare aa00 Serg Oskin LinuxCNC HID Extender aa0b Open Bionics ab3d 3DArtists Alligator board abba CoinWISE SafeWISE abc0 Omzlo controller abcd Sandeepan Sengupta CodeBridge abd1 OpenMV Cam acdc Gediminas Zukaitis midi-grid ace5 SimAces Panel Ace aced Open Lighting Project Ja Rule Device acee Open Lighting Project Ja Rule Bootloader adb0 tibounise ADB converter adda MicroPython Boards b007 Konsgn Global_Boot b00b CrapLab Random Device b010 IObitZ CodeBridge b01d WyoLum VeloKey b058 Model B, LLC Holoseat b0b0 Monero Hardware Monero Bootloader b100 ptrandem iBizi b101 IObitZ Infineo b195 flehrad Big Switch PCB bab1 ElectronicCats Meow Meow babe brunofreitas.com STM32 HID Bootloader bad1 Gregory POTEAU CommLinkUSB bad2 Gregory POTEAU XLinkUSB bade Semarme SemarmeHID bb00 keyplus split keyboard firmware bb01 keyplus xusb bootloader bb02 keyplus nRF24 wireless keyboard dongle bb03 keyplus nrf24lu1p-512 bootloader bb05 keyplus kp_boot_32u4 bootloader beba serasidis.gr STM32 HID Bootloader beef Modal MC-USB c001 Cynteract Alpha c0c0 Geppetto_Electronics Orthrus c0c1 Michael Bemmerl cookie-mouse c0ca Jean THOMAS DirtyJTAG c0d3 Samy Kamkar USBdriveby c0da Monero Hardware Monero Firmware c0de KMRH Labs SBL Brain c0f5 unethi PERswitch c1aa Proyecto CIAA Computadora Industrial Abierta Argentina c1b1 Chibitronics Love-to-Code c311 bg nerilex GB-USB-Link ca1c KnightOS Generic Hub ca1d KnightOS MTP Device caea Open Music Kontrollers Chimaera cafe ii iigadget cc14 trebb NaN-15 cc86 Manfred's Technologies Anastasia Bootloader ceb0 KG4LNE GE-FlashUSB cf20 Smart Citizen SCK 2.0 d00d Monero Hardware Monero Developer d017 empiriKit empiriKit Controller d11d Koi Science DI-Lambda AVR d3d8 Duet3d Duet 0.8.5 d706 SkyBean SkyDrop da42 Devan Lai dap42 debug access probe daa0 darknao btClubSportWheel dada Rebel Technology OWL db42 Devan Lai dapboot DFU bootloader dc21 FPGA-Computer Dual Charger dddd Stephan Electronics OpenCVMeter dead chaosfield.at AVR-Ruler deaf CrapLab 4chord MIDI ded1 ManCave Made Quark One deed Kroneum Time Tracker df00 D.F.Mac. @TripArts Music mi:muz:tuch df01 D.F.Mac. @TripArts Music mi:muz:can df02 D.F.Mac. @TripArts Music mi:muz:can-lite e116 Elijah Motornyy open-oscilloscope-stm32f3 e1ec FreeSRP e4ee trebb keytee e500 GitleMikkelsen Helios Laser DAC eaea Pinscape Controller eb01 RobotMaker.club EB1 eba7 VictorGrigoryev USBscope ee00 Explore Embedded SODA(SWD OpenSource Debug Adapter) ee02 Explore Embedded Explore M3 VCOM ee03 Explore Embedded Explore M3 DFU ee2c jaka USB2RS485 effa EffigyLabs atmega32u4-USB-LUFA-Bootloader effe EffigyLabs Control Pedal f000 Uniti ARC f00d RomanStepanov Shifter/Pedals Adapter f12e Michael Bemmerl Feuermelder f16a uri_ba Cougar TQS adapter f16c uri_ba adapter for Vipercore's FCC3 Force Sensing Module f380 Windsor Schmidt MD-380 Open Radio Firmware f3fc dRonin Flight controller-Lumenier Lux f49a TimVideos.us & HDMI2USB.tv Projects FPGA Programmer & UART Bridge (PIC based Firmware) fa11 moonglow OpenXHC fa57 3DRacers Pilot Board fa58 3DRacers Pilot Board (Bootloader) fab1 PAP Mechatronic Technology LamDiNao face Protean Synth Craft fade Open Collector dude feed ProgramGyar AVR-IR Sender ffff Life2Device Smart House 120e Hudson Soft Co., Ltd 120f Magellan 524e RoadMate 1475T 5260 Triton Handheld GPS Receiver (300/400/500/1500/2000) 1210 DigiTech 000d RP250 Guitar Multi-Effects Processor 0016 RP500 Guitar Multi-Effects Processor 001b RP155 Guitar Multi-Effects Processor 001c RP255 Guitar Multi-Effects Processor 121e Jungsoft Co., Ltd 3403 Muzio JM250 Audio Player 121f Panini S.p.A. 0001 VisionX without Firmware 0002 VisionX with Firmware 0010 I-Deal 0020 wI-Deal 0021 VisionX Page Scanner Extension 0030 VisionNext 0040 mI:Deal Check Scanner 0041 EverNext Check Scanner 1220 TC Electronic 000a Hall of Fame Reverb 002a Polytune 0032 Ditto X2 Looper 0039 Alter Ego X4 Vintage Echo 1221 Unknown manufacturer 3234 Disk (Thumb drive) 1222 TiPro faca programmable keyboard 1223 SKYCABLE ENTERPRISE. CO., LTD. 1228 Datapaq Limited 0012 Q18 Data Logger 0015 TPaq21/MPaq21 Datalogger 584c XL2 Logger 1230 Chipidea-Microelectronica, S.A. 1233 Denver Electronics 5677 FUSB200 mp3 player 1234 Brain Actuated Technologies 0000 Neural Impulse Actuator Prototype 1.0 [NIA] 4321 Human Interface Device ed02 Emotiv EPOC Developer Headset Wireless Dongle 1235 Focusrite-Novation 0001 ReMOTE Audio/XStation First Edition 0002 Speedio 0003 RemoteSL + ZeroSL 0004 ReMOTE LE 0005 XIOSynth [First Edition] 0006 XStation 0007 XIOSynth 0008 ReMOTE SL Compact 0009 nIO 000a Nocturn 000b ReMOTE SL MkII 000c ZeRO MkII 000e Launchpad 0010 Saffire 6 0011 Ultranova 0012 Nocturn Keyboard 0013 VRM Box 0014 VRM Box Audio Class (2-out) 0015 Dicer 0016 Ultranova 0018 Twitch 0019 Impulse 25 001a Impulse 49 001b Impulse 61 0032 Launchkey 61 0069 Launchpad MK2 0102 LaunchKey Mini MK3 4661 ReMOTE25 8000 Scarlett 18i6 8002 Scarlett 8i6 8006 Focusrite Scarlett 2i2 8008 Saffire 6 800a Scarlett 2i4 800c Scarlett 18i20 800e iTrack Solo 8010 Forte 8012 Scarlett 6i6 8014 Scarlett 18i8 8016 Focusrite Scarlett 2i2 8202 Focusrite Scarlett 2i2 2nd Gen 8203 Focusrite Scarlett 6i6 8204 Scarlett 18i8 2nd Gen 8210 Scarlett 2i2 Camera 8211 Scarlett Solo (3rd Gen.) 8214 Scarlett 18i8 3rd Gen 8215 Scarlett 18i20 3rd Gen 1241 Belkin 0504 Wireless Trackball Keyboard 1111 Mouse 1122 Typhoon Stream Optical Mouse USB+PS/2 1155 Memorex Optical ScrollPro Mouse SE MX4600 1166 MI-2150 Trust Mouse 1177 Mouse [HT82M21A] 1503 Keyboard 1603 Keyboard f767 Keyboard 1243 Holtek Semiconductor, Inc. e000 Unique NFC/RFID reader (keyboard emulation) 124a AirVast 168b PRISM3 WLAN Adapter 4017 PC-Chips 802.11b Adapter 4023 WM168g 802.11bg Wireless Adapter [Intersil ISL3886] 4025 IOGear GWU513 v2 802.11bg Wireless Adapter [Intersil ISL3887] 124b Nyko (Honey Bee) 4d01 Airflo EX Joystick 124c MXI - Memory Experts International, Inc. 3200 Stealth MXP 1GB 125c Apogee Inc. 0010 Alta series CCD 125d JMicron 0580 JM580 125f A-DATA Technology Co., Ltd. 312a Superior S102 312b Superior S102 Pro a15a DashDrive Durable HD710 portable HDD various size a22a DashDrive Elite HE720 500GB a31a HV620 Portable HDD a91a Portable HDD CH91 c08a C008 Flash Drive c81a Flash drive c93a 4GB Pen Drive c96a C906 Flash Drive cb10 Dash Drive UV100 cb20 DashDrive UV110 1260 Standard Microsystems Corp. ee22 SMC2862W-G v3 EZ Connect 802.11g Adapter [Intersil ISL3887] 1264 Covidien Energy-based Devices 1266 Pirelli Broadband Solutions 6302 Fastweb DRG A226M ADSL Router 1267 Logic3 / SpectraVideo plc 0103 G-720 Keyboard 0201 Mouse 0210 LG Optical Mouse 3D-310 a001 JP260 PC Game Pad c002 Wireless Optical Mouse 126c Aristocrat Technologies 126d Bel Stewart 126e Strobe Data, Inc. 126f TwinMOS 0163 Storage device (2gB thumb drive) 1325 Mobile Disk 2168 Mobile Disk III a006 G240 802.11bg 1274 Ensoniq 1275 Xaxero Marine Software Engineering, Ltd. 0002 WeatherFax 2000 Demodulator 0080 SkyEye Weather Satellite Receiver 0090 WeatherFax 2000 Demodulator 1278 Starlight Xpress 0105 SXV-M5 0107 SXV-M7 0109 SXV-M9 0110 SXVF-H16 0115 SXVF-H5 0119 SXV-H9 0135 SXVF-H35 0136 SXVF-H36 0200 SXV interface for paraller MX cameras 0305 SXV-M5C 0307 SXV-M7C 0319 SXV-H9C 0325 SXV-M25C 0326 SXVR-M26C 0507 Lodestar autoguider 0517 CoStar 1283 zebris Medical GmbH 0100 USB-RS232 Adaptor 0110 CMS20 0111 CMS 10 0112 CMS 05 0114 ARCUS digma PC-Interface 0115 SAM Axioquick recorder 0116 SAM Axioquick recorder 0120 emed-X 0121 emed-AT 0130 PDM 0150 CMS10GI (Golf) 1286 Marvell Semiconductor, Inc. 00bc Marvell JTAG Probe 1fab 88W8338 [Libertas] 802.11g 2001 88W8388 802.11a/b/g WLAN 2006 88W8362 802.11n WLAN 203c K30326 802.11bgn Wireless Module [Marvell 88W8786U] 204c Bluetooth and Wireless LAN Composite 8001 BLOB boot loader firmware 1291 Qualcomm Flarion Technologies, Inc. / Leadtek Research, Inc. 0010 FDM 2xxx Flash-OFDM modem 0011 LR7F06/LR7F14 Flash-OFDM modem 1292 Innomedia 0258 Creative Labs VoIP Blaster 4154 Retro Link Atari cable 1293 Belkin Components [hex] 0002 F5U002 Parallel Port [uss720] 2101 104-key keyboard 1294 RISO KAGAKU CORP. 1320 Webmail Notifier 1297 DekTec 020f DTU-215 Multi-Standard Modulator 129b CyberTAN Technology 160b Siemens S30853-S1031-R351 802.11g Wireless Adapter [Atheros AR5523] 160c Siemens S30853-S1038-R351 802.11g Wireless Adapter [Atheros AR5523] 1666 TG54USB 802.11bg 1667 802.11bg 1828 Gigaset USB Adapter 300 12a7 Trendchip Technologies Corp. 12ab Honey Bee Electronic International Ltd. 0004 Dance Pad for Xbox 360 0301 Afterglow Wired Controller for Xbox 360 0303 Mortal Kombat Klassic FightStick for Xbox 360 8809 Dance Dance Revolution Dance Pad 12b8 Zhejiang Xinya Electronic Technology Co., Ltd. 12b9 E28 12ba Licensed by Sony Computer Entertainment America 0032 Wireless Stereo Headset 0042 Wireless Stereo Headset 00ff Rocksmith Guitar Adapter 0100 RedOctane Guitar for PlayStation(R)3 0120 RedOctane Drum Kit for PlayStation(R)3 0200 Harmonix Guitar for PlayStation(R)3 0210 Harmonix Drum Kit for PlayStation(R)3 12bd Gembird d012 JPD Shockforce gamepad d015 Generic 4-button NES USB Controller 12c4 Autocue Group Ltd 0006 Teleprompter Two-button Hand Control (v1) 0008 Teleprompter Foot Control (v1) 12cf DEXIN 0170 Tt eSPORTS BLACK Gaming mouse 600b Cougar 600M Gaming Mouse 12d1 Huawei Technologies Co., Ltd. 1001 E161/E169/E620/E800 HSDPA Modem 1003 E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem 1004 E220 (bis) 1009 U120 1010 ETS2252+ CDMA Fixed Wireless Terminal 1021 U8520 1035 U8120 1037 Ideos 1038 Ideos (debug mode) 1039 Ideos (tethering mode) 1052 MT7-L09 / P7-L10 / Y330-U01 1053 P7-L10 (PTP) 1054 P7-L10 (PTP + debug) 1079 GEM-703LT [Honor/MediaPad X2] 107e P10 smartphone 1404 EM770W miniPCI WCDMA Modem 1406 E1750 140b EC1260 Wireless Data Modem HSD USB Card 140c E180v 1412 EC168c 1436 Broadband stick 1446 HSPA modem 1465 K3765 HSPA 14ac E815 14c3 K5005 Vodafone LTE/UMTS/GSM Modem/Networkcard 14c8 K5005 Vodafone LTE/UMTS/GSM MOdem/Networkcard 14c9 K3770 3G Modem 14cf K3772 14d1 K3770 3G Modem (Mass Storage Mode) 14db E353/E3131 14dc E3372 LTE/UMTS/GSM HiLink Modem/Networkcard 14f1 Gobi 3000 HSPA+ Modem 14fe Modem (Mass Storage Mode) 1501 Pulse 1505 E398 LTE/UMTS/GSM Modem/Networkcard 1506 Modem/Networkcard 150a E398 LTE/UMTS/GSM Modem/Networkcard 1520 K3765 HSPA 1521 K4505 HSPA+ 155a R205 Mobile WiFi (CD-ROM mode) 1573 ME909u-521 mPCIe LTE/GPS card 1575 K5150 LTE modem 15bb ME936 LTE/HSDPA+ 4G modem 15c1 ME906s LTE M.2 Module 15ca E3131 3G/UMTS/HSPA+ Modem (Mass Storage Mode) 1805 AT&T Go Phone U2800A phone 1c05 Broadband stick (modem on) 1c0b E173s 3G broadband stick (modem off) 1c20 R205 Mobile WiFi (Charging) 1d50 ET302s TD-SCDMA/TD-HSDPA Mobile Broadband 1f01 E353/E3131 (Mass storage mode) 1f16 K5150 LTE modem (Mass Storage Mode) 360e Y330-U01 (MTP Mode) 380b WiMAX USB modem(s) 12d2 LINE TECH INDUSTRIAL CO., LTD. 12d3 LINAK 0002 DeskLine CBD Control Box 12d6 EMS Dr. Thomas Wuensche 0444 CPC-USB/ARM7 0888 CPC-USB/M16C 12d7 BETTER WIRE FACTORY CO., LTD. 12d8 Araneus Information Systems Oy 0001 Alea I True Random Number Generator 12e6 Waldorf Music GmbH 0013 Blofeld 12ef Tapwave, Inc. 0100 Tapwave Handheld [Tapwave Zodiac] 12f2 ViewPlus Technologies, Inc. 000a Braille embosser [SpotDot Emprint] 12f5 Dynamic System Electronics Corp. 12f7 Memorex Products, Inc. 1a00 TD Classic 003B 1e23 TravelDrive 2007 Flash Drive 12fd AIN Comm. Technology Co., Ltd 1001 AWU2000b 802.11b Stick 12ff Fascinating Electronics, Inc. 0101 Advanced RC Servo Controller 1306 FM20 Barcode Scanner 1307 Transcend Information, Inc. 0163 256MB/512MB/1GB Flash Drive 0165 2GB/4GB/8GB Flash Drive 0190 Ut190 8 GB Flash Drive with MicroSD reader 0310 SD/MicroSD CardReader [hama]/IT1327E [Basic Line flash drive] 0330 63-in-1 Multi-Card Reader/Writer 0361 CR-75: 51-in-1 Card Reader/Writer [Sakar] 1169 TS2GJF210 JetFlash 210 2GB 1171 Fingerprint Reader 1308 Shuttle, Inc. 0003 VFD Module c001 eHome Infrared Transceiver 1310 Roper 0001 Class 1 Bluetooth Dongle 1312 ICS Electronics 1313 ThorLabs 0010 LC1 Linear Camera (Jungo) 0011 SP1 Spectrometer (Jungo) 0012 SP2 Spectrometer (Jungo) 0110 LC1 Linear Camera (VISA) 0111 SP1 Spectrometer (VISA) 0112 SP2 Spectrometer (VISA) 8001 TXP-Series Slot (TXP5001, TXP5004) 8011 BP1 Slit Beam Profiler 8012 BC106 Camera Beam Profiler 8013 WFS10 Wavefront Sensor 8016 DMP40 Deformable Mirror 8017 BC206 Camera Beam Profiler 8019 BP2 Multi Slit Beam Profiler 8020 PM300 Optical Power Meter 8021 PM300E Optical Power and Energy Meter 8022 PM320E Optical Power and Energy Meter 8025 WFS20 Wavefront Sensor 8030 ER100 Extinction Ratio Meter 8039 PAX1000 Rotating Waveplate Polarimeter 8047 CLD1000 8048 TED4000 8049 LDC4000 804a ITC4000 8058 LC-100 8060 DC3100 8061 DC4100 8062 DC2100 8065 CS2010 8066 DC4104 8070 PM100D 8072 PM100USB Power and Energy Meter Interface 8073 PM106 Wireless Powermeter Photodiode Sensor 8074 PM160T Wireless Powermeter Thermal Sensor 8075 PM400 Handheld Optical Power/Energy Meter 8076 PM101 Serial PD Power Meter 8078 PM100D Compact Power and Energy Meter Console 8080 CCS100 - Compact Spectrometer 8081 CCS100 Compact Spectrometer 8083 CCS125 Spectrometer 8085 CCS150 UV Spectrometer 8087 CCS175 NIR Spectrometer 8089 CCS200 Wide Range Spectrometer 8090 SPCM Single Photon Counter 80a0 LC100 series smart line camera 80b0 PM200 Handheld Power and Energy Meter 80c0 DC2200 80c9 MTD Series 80f0 TSP01 80f1 M2SET Dongle 8180 OCT Probe Controller (OCTH-1300) 8181 OCT Device 131d Natural Point 0155 TrackIR 3 Pro Head Tracker 0156 TrackIR 4 Pro Head Tracker 0158 TrackIR 5 Pro Head Tracker 1325 ams AG 00d6 I2C/SPI InterfaceBoard 0c08 Embedded Linux Sensor Bridge 4002 I2C Dongle 132a Envara Inc. 1502 WiND 802.11abg / 802.11bg WLAN 132b Konica Minolta 0000 Dimage A2 Camera 0001 Minolta DiMAGE A2 (ptp) 0003 Dimage Xg Camera 0006 Dimage Z2 Camera 0007 Minolta DiMAGE Z2 (PictBridge mode) 0008 Dimage X21 Camera 000a Dimage Scan Dual IV AF-3200 (2891) 000b Dimage Z10 Camera 000d Dimage X50 Camera [storage?] 000f Dimage X50 Camera [p2p?] 0010 Dimage G600 Camera 0012 Dimage Scan Elite 5400 II (2892) 0013 Dimage X31 Camera 0015 Dimage G530 Camera 0017 Dimage Z3 Camera 0018 Minolta DiMAGE Z3 (PictBridge mode) 0019 Dimage A200 Camera 0021 Dimage Z5 Camera 0022 Minolta DiMAGE Z5 (PictBridge mode) 002c Dynax 5D camera 2001 Magicolor 2400w 2004 Magicolor 5430DL 2005 Magicolor 2430 DL 2029 Magicolor 5440DL 2030 PagePro 1350E(N) 2033 PagePro 1400W 2043 Magicolor 2530DL 2045 Magicolor 2500W 2049 Magicolor 2490MF 133e Kemper Digital GmbH 0815 Virus TI Desktop 1342 Mobility 0200 EasiDock 200 Hub 0201 EasiDock 200 Keyboard and Mouse Port 0202 EasiDock 200 Serial Port 0203 EasiDock 200 Printer Port 0204 Ethernet 0304 EasiDock Ethernet 1343 Citizen Systems 0002 CW-01 0003 CX / DNP DS40 0004 CX-W / DNP DS80 / Mitsubishi CP3800 0005 CY / DNP DSRX1 0006 CW-02 / OP900ii 0007 DNP DS80DX 0008 DNP DS620 (old) 000a CX-02 000b CX-02W 1345 Sino Lite Technology Corp. 001c Xbox Controller Hub 6006 Defender Wireless Controller 1347 Moravian Instruments 0400 G2CCD USB 1.1 obsolete 0401 G2CCD-S with Sony ICX285 CCD 0402 G2CCD2 0403 G2/G3CCD-I KAI CCD 0404 G2/G3/G4 CCD-F KAF CCD 0405 Gx CCD-I CCD 0406 Gx CCD-F CCD 0410 G1-0400 CCD 0411 G1-0800 CCD 0412 G1-0300 CCD 0413 G1-2000 CCD 0414 G1-1400 CCD 0415 G1-1200 CCD 04b0 Gx CCD-B CCD 04b1 Gx CCD-BI CCD 1348 Katsuragawa Electric Co., Ltd. 134c PanJit International Inc. 0001 Touch Panel Controller 0002 Touch Panel Controller 0003 Touch Panel Controller 0004 Touch Panel Controller 134e Digby's Bitpile, Inc. DBA D Bit 1357 P&E Microcomputer Systems 0089 OpenSDA - CDC Serial Port 0503 USB-ML-12 HCS08/HCS12 Multilink 0504 DEMOJM 1000 Smart Control Touchpad 135e Insta GmbH 0021 Berker KNX Data Interface 0022 Gira KNX Data Interface 0023 JUNG KNX Data Interface 0024 Merten/Schneider Electric KNX Data Interface 0025 Hager KNX Data Interface 0026 Feller KNX Data Interface 135f Control Development Inc. 0110 Linear Spectrograph 0111 Spectrograph - Renumerated 0200 Linear Spectrograph 0201 Spectrograph - Renumerated 0240 MPP Spectrograph 1366 SEGGER 0101 J-Link PLUS 1015 J-Link 136b STEC 136e Andor Technology Ltd. 0012 iXon Ultra CCD 0014 Zyla 5.5 sCMOS camera 1370 Swissbit 0323 Swissmemory cirrusWHITE 6828 Victorinox Flash Drive 1371 CNet Technology Inc. 0001 CNUSB-611AR Wireless Adapter-G [AT76C503] 0002 CNUSB-611AR Wireless Adapter-G [AT76C503] (FiberLine WL-240U) 0013 CNUSB-611 Wireless Adapter [AT76C505] 0014 CNUSB-611 Wireless Adapter [AT76C505] (FiberLine WL-240U) 5743 CNUSB-611 (D) Wireless Adapter [AT76C503] 9022 CWD-854 [RT2573] 9032 CWD-854 rev F 9401 CWD-854 Wireless 802.11g 54Mbps Network Adapter [RTL8187] 1376 Vimtron Electronics Co., Ltd. 1377 Sennheiser electronic GmbH & Co. KG 4000 HDVD800 137b SCAPS GmbH 0002 SCAPS USC-2 Scanner Controller 137c YASKAWA ELECTRIC CORP. 0220 MP Series 0250 SIGMA Series 0401 AC Drive 1385 Netgear, Inc 4250 WG111T 4251 WG111T (no firmware) 5f00 WPN111 RangeMax(TM) Wireless USB 2.0 Adapter 5f01 WPN111 (no firmware) 5f02 WPN111 (no firmware) 6e00 WPNT121 802.11g 240Mbps Wireless Adapter [Airgo AGN300] 138a Validity Sensors, Inc. 0001 VFS101 Fingerprint Reader 0005 VFS301 Fingerprint Reader 0007 VFS451 Fingerprint Reader 0008 VFS300 Fingerprint Reader 0010 VFS Fingerprint sensor 0011 VFS5011 Fingerprint Reader 0015 VFS 5011 fingerprint sensor 0017 VFS 5011 fingerprint sensor 0018 Fingerprint scanner 003c VFS471 Fingerprint Reader 003d VFS491 003f VFS495 Fingerprint Reader 0050 Swipe Fingerprint Sensor 0090 VFS7500 Touch Fingerprint Sensor 0091 VFS7552 Touch Fingerprint Sensor 138e Jungo LTD 9000 Raisonance S.A. STM32 ARM evaluation board / RLink dongle 1390 TOMTOM B.V. 0001 GO 520 T / GO 630 / ONE / ONE XL 5454 Blue & Me 2 7474 GPS Sport Watch [Runner, Multi-Sport] a001 Bandit Action Camera Batt-Stick 1391 IdealTEK, Inc. 1000 URTC-1000 1395 Sennheiser Communications 0025 Headset [PC 8] 0026 SC230 0027 SC260 0028 SC230 CTRL 0029 SC260 CTRL 002a SC230 for Lync 002b SC260 for Lync 002d BTD-800 002e Presence 0030 CEHS-CI 02 0031 U320 Gaming 0032 SC30 for Lync 0033 SC60 for Lync 0034 SC30 Control 0035 SC60 Control 0036 SC630 for Lync 0037 SC660 for Lync 0038 SC630 CTRL 0039 SC660 CTRL 003f SP 20 0040 MB Pro 1/2 0041 SP 20 for Lync 0042 SP 10 0043 SP 10 for Lync 0046 PXC 550 004a MOMENTUM M2 OEBT 004b MOMENTUM M2 AEBT 004f SC230 for MS II 0050 SC260 for MS II 0051 USB-ED CC 01 0058 USB-ED CC 01 for MS 0059 SC40 for MS 005a SC70 for MS 005b SC40 CTRL 005c SC70 CTRL 0060 SCx5 MS 0061 SCx5 CTRL 0064 MB 660 MS 0065 MB 660 0066 SP 20 D UC 0067 SP 20 D MS 006b SC5x5 MS 0072 Headset 3556 USB Headset 1397 BEHRINGER International GmbH 0004 FCA1616 00bc BCF2000 1398 Q-tec 2103 USB 2.0 Storage Device 13ad Baltech 9999 Card reader 13b0 PerkinElmer Optoelectronics 000a Alesis Photon X25 MIDI Controller 13b1 Linksys 000a WUSB54G v2 802.11g Adapter [Intersil ISL3887] 000b WUSB11 v4.0 802.11b Adapter [ALi M4301] 000c WUSB54AG 802.11a/g Adapter [Intersil ISL3887] 000d WUSB54G v4 802.11g Adapter [Ralink RT2500USB] 000e WUSB54GS v1 802.11g Adapter [Broadcom 4320 USB] 0011 WUSB54GP v4.0 802.11g Adapter [Ralink RT2500USB] 0014 WUSB54GS v2 802.11g Adapter [Broadcom 4320 USB] 0018 USB200M 10/100 Ethernet Adapter 001a HU200TS Wireless Adapter 001e WUSBF54G 802.11bg 0020 WUSB54GC v1 802.11g Adapter [Ralink RT73] 0022 WUSB54GX4 802.11g 240Mbps Wireless Adapter [Airgo AGN300] 0023 WUSB54GR 0024 WUSBF54G v1.1 802.11bg 0026 WUSB54GSC v1 802.11g Adapter [Broadcom 4320 USB] 0028 WUSB200 802.11g Adapter [Ralink RT2671] 0029 WUSB300N 802.11bgn Wireless Adapter [Marvell 88W8362+88W8060] 002f AE1000 v1 802.11n [Ralink RT3572] 0031 AM10 v1 802.11n [Ralink RT3072] 0039 AE1200 802.11bgn Wireless Adapter [Broadcom BCM43235] 003a AE2500 802.11abgn Wireless Adapter [Broadcom BCM43236] 003b AE3000 802.11abgn (3x3) Wireless Adapter [Ralink RT3573] 003e AE6000 802.11a/b/g/n/ac Wireless Adapter [MediaTek MT7610U] 003f WUSB6300 802.11a/b/g/n/ac Wireless Adapter [Realtek RTL8812AU] 0041 Gigabit Ethernet Adapter 0042 WUSB6100M 802.11a/b/g/n/ac Wireless Adapter 13b1 WUSB200: Wireless-G Business Network Adapter with Rangebooster 13b2 Alesis 0030 Multimix 8 13b3 Nippon Dics Co., Ltd. 13ba PCPlay 0001 Konig Electronic CMP-KEYPAD12 Numeric Keypad 0017 PS/2 Keyboard+Mouse Adapter 0018 Barcode PCP-BCG4209 13be Ricoh Printing Systems, Ltd. 13ca JyeTai Precision Industrial Co., Ltd. 13cf Wisair Ltd. 1200 Olidata Wireless Multimedia Adapter 13d0 Techsan Electronics Co., Ltd. 2282 TechniSat DVB-PC TV Star 2 13d1 A-Max Technology Macao Commercial Offshore Co. Ltd. 7019 MD 82288 abe6 Wireless 802.11g 54Mbps Network Adapter [RTL8187] 13d2 Shark Multimedia 0400 Pocket Ethernet [klsi] 13d3 IMC Networks 3201 VisionDTV USB-Ter/HAMA USB DVB-T device cold 3202 VisionDTV USB-Ter/HAMA USB DVB-T device warm 3203 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005) 3204 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005) 3205 DNTV Live! Tiny USB2 BDA (No Remote) 3206 DNTV Live! Tiny USB2 BDA (No Remote) 3207 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005) 3208 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005) 3209 DTV-DVB UDST7022BDA DVB-S Box(Without HID) 3211 DTV-DVB Hybrid Analog/Capture / Pinnacle PCTV 310e 3212 DTV-DVB UDTT704C - DVBT/NTSC/PAL Driver(PCM4) 3213 DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver (PCM4) 3214 DTV-DVB UDTT704F -(MiniCard) DVBT/NTSC/PAL Driver(Without HID) 3215 DTV-DVB UDAT7240 - ATSC/NTSC/PAL Driver(PCM4) 3216 DTV-DVB UDTT 7047-USB 2.0 DVB-T Driver 3217 Digital-TV Receiver. 3219 DTV-DVB UDTT7049 - DVB-T Driver(Without HID) 3220 DTV-DVB UDTT 7047M-USB 2.0 DVB-T Driver 3223 DNTV Live! Tiny USB2 BDA (No Remote) 3224 DNTV Live! Tiny USB2 BDA (No Remote) 3226 DigitalNow TinyTwin DVB-T Receiver 3234 DVB-T FTA Half Minicard [RTL2832U] 3236 DTV-DVB UDTT 7047A-USB 2.0 DVB-T Driver 3237 DTV-DVB UDTT 704J - dual DVB-T Driver 3239 DTV-DVB UDTT704D - DVBT/NTSC/PAL Driver(Without HID) 3240 DTV-DVB UDXTTM6010 - A/D Driver(Without HID) 3241 DTV-DVB UDXTTM6010 - A/D Driver(Without HID) 3242 DTV-DVB UDAT7240LP - ATSC/NTSC/PAL Driver(Without HID) 3243 DTV-DVB UDXTTM6010 - A/D Driver(Without HID) 3244 DTV-DVB UDTT 7047Z-USB 2.0 DVB-T Driver 3247 AW-NU222 802.11bgn Wireless Module [Ralink RT2770+RT2720] 3249 Internal Bluetooth 3250 Broadcom Bluetooth 2.1 3262 802.11 n/g/b Wireless LAN USB Adapter 3273 802.11 n/g/b Wireless LAN USB Mini-Card 3274 DVB-T Dongle [RTL2832U] 3282 DVB-T + GPS Minicard [RTL2832U] 3284 Wireless LAN USB Mini-Card 3304 Asus Integrated Bluetooth module [AR3011] 3306 Mediao 802.11n WLAN [Realtek RTL8191SU] 3315 Bluetooth module 3327 AW-NU137 802.11bgn Wireless Module [Atheros AR9271] 3362 Atheros AR3012 Bluetooth 4.0 Adapter 3375 Atheros AR3012 Bluetooth 4.0 Adapter 3392 Azurewave 43228+20702 3394 Bluetooth 3474 Atheros AR3012 Bluetooth 3526 Bluetooth Radio 5070 Webcam 5111 Integrated Webcam 5115 Integrated Webcam 5116 Integrated Webcam 5122 2M Integrated Webcam 5126 PC Cam 5130 Integrated Webcam 5134 Integrated Webcam 5615 Lenovo EasyCamera 5670 HP TrueVision HD 5682 SunplusIT Integrated Camera 5702 UVC VGA Webcam 5710 UVC VGA Webcam 5716 UVC VGA Webcam 5a07 VGA UVC WebCam 7020 DTV-DVB UDST7020BDA DVB-S Box(DVBS for MCE2005) 7022 DTV-DVB UDST7022BDA DVB-S Box(Without HID) 784b XHC Camera 13d7 Guidance Software, Inc. 0001 T5 PATA forensic bridge 000c T8-R2 forensic bridge 13dc ALEREON, INC. 13dd i.Tech Dynamic Limited 13e1 Kaibo Wire & Cable (Shenzhen) Co., Ltd. 13e5 Rane 0001 SL-1 0003 TTM 57SL 13e6 TechnoScope Co., Ltd. 13ea Hengstler 0001 C-56 Thermal Printer 13ec Zydacron 0006 HID Remote Control 13ee MosArt 0001 Optical Mouse 0003 Optical Mouse 13fd Initio Corporation 0550 INIC-1530 PATA Bridge 0840 INIC-1618L SATA 0841 Samsung SE-T084M DVD-RW 0940 ASUS SBW-06D2X-U 1040 INIC-1511L PATA Bridge 1340 Hi-Speed USB to SATA Bridge 160f RocketFish SATA Bridge [INIC-1611] 1640 INIC-1610L SATA Bridge 1669 INIC-1609PN 1840 INIC-1608 SATA bridge 1e40 INIC-1610P SATA bridge 2040 Samsung Writemaster external DVD writer 3920 INIC-3619PN SATA Bridge 3940 external DVD burner ECD819-SU3 3960 INIC-3639 3e40 ZALMAN ZM-VE350 13fe Kingston Technology Company Inc. 1a00 512MB/1GB Flash Drive 1a23 512MB Flash Drive 1d00 DataTraveler 2.0 1GB/4GB Flash Drive / Patriot Xporter 4GB Flash Drive 1e00 Flash Drive 2 GB [ICIDU 2 GB] 1e50 U3 Smart Drive 1f00 Kingston DataTraveler / Patriot Xporter 1f23 PS2232 flash drive controller 2240 microSD card reader 3100 2/4 GB stick 3123 Verbatim STORE N GO 4GB 3200 flash drive (2GB, EMTEC) 3600 flash drive (4GB, EMTEC) 3800 Rage XT Flash Drive 3d00 Flash Drive 3e00 Flash Drive 4100 Flash drive 4200 Platinum USB drive mini 5000 USB flash drive (32 GB SHARKOON Accelerate) 5100 Flash Drive 5200 DataTraveler R3.0 5500 Flash drive 6300 SP Mobile C31 (64GB) 1400 Axxion Group Corp. 1402 Bowe Bell & Howell 1403 Sitronix 0001 Digital Photo Frame 0003 Digital Photo Frame (DPF-1104) 1404 Fundamental Software, Inc. cddc Dongle 1409 IDS Imaging Development Systems GmbH 1000 generic (firmware not loaded yet) 1485 uEye UI1485 3240 uEye UI3240 140e Telechips, Inc. b011 TCC780X-based player (USB Boot mode) b021 TCC77X-based players (USB Boot mode) 1410 Novatel Wireless 1110 Merlin S620 1120 Merlin EX720 1130 Merlin S720 1400 Merlin U730/U740 (Vodafone) 1410 Merlin U740 (non-Vodafone) 1430 Merlin XU870 1450 Merlin X950D 2110 Ovation U720/MCD3000 2410 Expedite EU740 2420 Expedite EU850D/EU860D/EU870D 4100 U727 4400 Ovation MC930D/MC950D 9010 Expedite E362 a001 Gobi Wireless Modem a008 Gobi Wireless Modem (QDL mode) b001 Ovation MC551 1415 Nam Tai E&E Products Ltd. or OmniVision Technologies, Inc. 0000 Sony SingStar USBMIC 0020 Sony Wireless SingStar 2000 Sony Playstation Eye 1419 ABILITY ENTERPRISE CO., LTD. 1421 Sensor Technology 0605 Sentech Camera 1424 Posnet Polska S.A. 1001 Temo 1002 Thermal 1003 Neo 1004 Combo DF 1005 Thermal-A 1006 Thermal FV 1007 Bingo HS 1008 Thermal HS FV 1009 Thermal FV EJ 100a Thermal HD 100b Thermal 100c Neo 100d Ergo 100e Trio 1010 Thermal HS FV EJ 1011 Neo EJ 1012 Thermal-A 1013 Thermal-A EJ 1014 Mobile 1015 Temo HS 1016 Mobile HS 1017 TH230+ FV EJ 1018 4610-1NR FV EJ 1429 Vega Technologies Industrial (Austria) Co. 142a Thales E-Transactions 0003 Artema Hybrid 0005 Artema Modular 0043 medCompact 142b Arbiter Systems, Inc. 03a5 933A Portable Power Sentinel 1430 RedOctane 0150 wireless receiver for skylanders wii 4734 Guitar Hero4 hub 4748 Guitar Hero X-plorer 474b Guitar Hero MIDI interface 8888 TX6500+ Dance Pad f801 Controller 1431 Pertech Resources, Inc. 1435 Wistron NeWeb 0427 UR054g 802.11g Wireless Adapter [Intersil ISL3887] 0711 UR055G 802.11bg 0804 AR9170+AR9104 802.11abgn Wireless Adapter 0826 AR5523 0827 AR5523 (no firmware) 0828 AR5523 0829 AR5523 (no firmware) 1436 Denali Software, Inc. 143c Altek Corporation 1443 Digilent 0007 Development board JTAG 1446 X.J.GROUP 6a73 Stamps.com Model 510 5LB Scale 6a78 DYMO Endicia 75lb Digital Scale 1451 Force Dimension 0301 haptic device 0302 haptic device 0400 haptic device 0401 delta.x haptic device 0402 omega.x haptic device 0403 sigma.x haptic device 0404 haptic controller 0405 dedicated haptic device 0406 dedicated haptic device 0407 dedicated haptic device 0408 dedicated haptic device 1452 Dai Nippon Printing, Inc 8b01 DS620 9001 DS820 1453 Radio Shack 4026 26-183 Serial Cable 1456 Extending Wire & Cable Co., Ltd. 1457 First International Computer, Inc. 5117 OpenMoko Neo1973 kernel usbnet (g_ether, CDC Ethernet) mode 5118 OpenMoko Neo1973 Debug board (V2+) 5119 OpenMoko Neo1973 u-boot cdc_acm serial port 511a HXD8 u-boot usbtty CDC ACM Mode 511b SMDK2440 u-boot usbtty CDC ACM mode 511c SMDK2443 u-boot usbtty CDC ACM mode 511d QT2410 u-boot usbtty CDC ACM mode 5120 OpenMoko Neo1973 u-boot usbtty generic serial 5121 OpenMoko Neo1973 kernel mass storage (g_storage) mode 5122 OpenMoko Neo1973 / Neo Freerunner kernel cdc_ether USB network 5123 OpenMoko Neo1973 internal USB CSR4 module 5124 OpenMoko Neo1973 Bluetooth Device ID service 145f Trust 0106 K56 V92 Modem 013d PC Camera (SN9C201 + OV7660) 013f Megapixel Auto Focus Webcam 0142 WB-6250X Webcam 015a WB-8300X 2MP Webcam 0161 15901 802.11bg Wireless Adapter [Realtek RTL8187L] 0167 Widescreen 3MP Webcam 0176 Isla Keyboard 019f 17676 Webcam 01e5 Keyboard [GXT 830] 0212 Panora Widescreen Graphic Tablet 023f Mouse [GXT 168] 1460 Tatung Co. 9150 eHome Infrared Transceiver 1461 Staccato Communications 1462 Micro Star International 5512 MegaStick-1 Flash Stick 8807 DIGIVOX mini III [af9015] 146b BigBen Interactive 0601 Controller for Xbox 360 0902 Wired Mini PS3 Game Controller 1472 Huawei-3Com 0007 Aolynk WUB300g [ZyDAS ZD1211] 0009 Aolynk WUB320g 147a Formosa Industrial Computing, Inc. e015 eHome Infrared Receiver e016 eHome Infrared Receiver e017 eHome Infrared Receiver e018 eHome Infrared Receiver e02c Infrared Receiver e03a eHome Infrared Receiver e03c eHome Infrared Receiver e03d 2 Channel Audio e03e Infrared Receiver [IR605A/Q] 147e Upek 1000 Biometric Touchchip/Touchstrip Fingerprint Sensor 1001 TCS5B Fingerprint sensor 1002 Biometric Touchchip/Touchstrip Fingerprint Sensor 2016 Biometric Touchchip/Touchstrip Fingerprint Sensor 2020 TouchChip Fingerprint Coprocessor (WBF advanced mode) 3000 TCS1C EIM/Cypress Fingerprint sensor 3001 TCS1C EIM/STM32 Fingerprint sensor 147f Hama GmbH & Co., KG 1482 Vaillant 1005 VRD PC-Interface 1484 Elsa AG [hex] 1746 Ecomo 19H99 Monitor 7616 Elsa Hub 1485 Silicom 0001 U2E 0002 Psion Gold Port Ethernet 1487 DSP Group, Ltd. 148e EVATRONIX SA 148f Ralink Technology, Corp. 1000 Motorola BC4 Bluetooth 3.0+HS Adapter 1706 RT2500USB Wireless Adapter 2070 RT2070 Wireless Adapter 2570 RT2570 Wireless Adapter 2573 RT2501/RT2573 Wireless Adapter 2671 RT2601/RT2671 Wireless Adapter 2770 RT2770 Wireless Adapter 2870 RT2870 Wireless Adapter 3070 RT2870/RT3070 Wireless Adapter 3071 RT3071 Wireless Adapter 3072 RT3072 Wireless Adapter 3370 RT3370 Wireless Adapter 3572 RT3572 Wireless Adapter 3573 RT3573 Wireless Adapter 5370 RT5370 Wireless Adapter 5372 RT5372 Wireless Adapter 5572 RT5572 Wireless Adapter 7601 MT7601U Wireless Adapter 760b MT7601U Wireless Adapter 761a MT7610U ("Archer T2U" 2.4G+5G WLAN Adapter 9020 RT2500USB Wireless Adapter 9021 RT2501USB Wireless Adapter 1491 Futronic Technology Co. Ltd. 0020 FS81 Fingerprint Scanner Module 0088 Fingerprint Scanner Model FS88 1493 Suunto 0010 Bluebird [Ambit] 0019 Duck [Ambit2] 001a Colibri [Ambit2 S] 001b Emu [Ambit3 Peak] 001c Finch [Ambit3 Sport] 001d Greentit [Ambit2 R] 001e Ibisbill [Ambit3 Run] 1497 Panstrong Company Ltd. 1498 Microtek International Inc. a090 DVB-T Tuner 149a Imagination Technologies 069b PURE Digital Evoke-1XT Tri-band 2107 DBX1 DSP core 14aa WideView Technology Inc. 0001 Avermedia AverTV DVBT USB1.1 (cold) 0002 Avermedia AverTV DVBT USB1.1 (warm) 0201 AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (cold) 0221 WT-220U DVB-T dongle 022b WT-220U DVB-T dongle 0301 AVermedia/Yakumo/Hama/Typhoon DVB-T USB2.0 (warm) 14ad CTK Corporation 14ae Printronix Inc. 14af ATP Electronics Inc. 14b0 StarTech.com Ltd. 3410 Serial Adapter ICUSB2321X [TUSB3410I] 14b2 Ralink Technology, Corp. 3a93 Topcom 802.11bg Wireless Adapter [Atheros AR5523] 3a95 Toshiba WUS-G06G-JT 802.11bg Wireless Adapter [Atheros AR5523] 3a98 Airlink101 AWLL4130 802.11bg Wireless Adapter [Atheros AR5523] 3c02 Conceptronic C54RU v2 802.11bg Wireless Adapter [Ralink RT2571] 3c05 rt2570 802.11g WLAN 3c06 Conceptronic C300RU v1 802.11bgn Wireless Adapter [Ralink RT2870] 3c07 802.11n adapter 3c09 802.11n adapter 3c22 Conceptronic C54RU v3 802.11bg Wireless Adapter [Ralink RT2571W] 3c23 Airlink101 AWLL6080 802.11bgn Wireless Adapter [Ralink RT2870] 3c24 NEC NP01LM 802.11abg Wireless Adapter [Ralink RT2571W] 3c25 DrayTek Vigor N61 802.11bgn Wireless Adapter [Ralink RT2870] 3c27 Airlink101 AWLL6070 802.11bgn Wireless Adapter [Ralink RT2770] 3c28 Conceptronic C300RU v2 802.11bgn Wireless Adapter [Ralink RT2770] 3c2b NEC NP02LM 802.11bgn Wireless Adapter [Ralink RT3072] 3c2c Keebox W150NU 802.11bgn Wireless Adapter [Ralink RT3070] 14c0 Rockwell Automation, Inc. 14c2 Gemlight Computer, Ltd 0250 Storage Adapter V2 0350 Storage Adapter V2 14c8 Zytronic 0005 Touchscreen Controller 14cd Super Top 1212 microSD card reader (SY-T18) 121c microSD card reader 121f microSD CardReader SY-T18 123a SD/MMC/RS-MMC Card Reader 125c SD card reader 127b SDXC Reader 168a Elecom Co., Ltd MR-K013 Multicard Reader 6116 M6116 SATA Bridge 6600 M110E PATA bridge 6700 Card Reader 6900 Card Reader 8123 SD MMC Reader 8125 SD MMC Reader 8601 4-Port hub 8608 Hub [Super Top] 14d8 JAMER INDUSTRIES CO., LTD. 14dd Raritan Computer, Inc. 1007 D2CIM-VUSB KVM connector 14e0 WiNRADiO Communications 0501 WR-G528e 'CHEETAH' 14e1 Dialogue Technology Corp. 5000 PenMount 5000 Touch Controller 14e5 SAIN Information & Communications Co., Ltd. 14ea Planex Communications ab10 GW-US54GZ ab11 GU-1000T ab13 GW-US54Mini 802.11bg 14ed Shure Inc. 1000 MV5 1002 MV51 1003 MVi 1004 SHA900 1005 KSE1500 1011 MV88+ 1100 ANIUSB-MATRIX 1101 P300 29b6 X2u Adapter 3000 RMCE-USB 14f7 TechniSat Digital GmbH 0001 SkyStar 2 HD CI 0002 SkyStar 2 HD CI 0003 CableStar Combo HD CI 0004 AirStar TeleStick 2 0500 DVB-PC TV Star HD 1500 Ellisys 1501 Pine-Tum Enterprise Co., Ltd. 1504 Bixolon CO LTD 001f SRP-350II Thermal Receipt Printer 1508 Fibocom 1509 First International Computer, Inc. 0a01 LI-3100 Area Meter 0a02 LI-7000 CO2/H2O Gas Analyzer 0a03 C-DiGit Blot Scanner 9242 eHome Infrared Transceiver 1513 medMobile 0444 medMobile 1514 Actel 2003 FlashPro3 Programmer 2004 FlashPro3 Programmer 2005 FlashPro3 Programmer 1516 CompUSA 1603 Flash Drive 8628 Pen Drive 1518 Cheshire Engineering Corp. 0001 HDReye High Dynamic Range Camera 0002 HDReye (before firmware loads) 1519 Comneon 0020 HSIC Device 151f Opal Kelly Incorporated 0020 XEM3001v1 0021 XEM3001v2 0022 XEM3010 0023 XEM3005 0028 XEM3050 002b XEM5010 002c XEM6001 002d XEM6010-LX45 002e XEM6010-LX150 0030 XEM6006-LX16 0033 XEM6002-LX9 0034 XEM7001-A15 0036 XEM7010-A50 0037 XEM7010-A200 0120 ZEM4310 0121 XEM6310-LX45 0122 XEM6310-LX150 0123 XEM6310MT-LX45T 0125 XEM7350-K70T 0126 XEM7350-K160T 0127 XEM7350-K410T 0128 XEM6310MT-LX150T 0129 ZEM5305-A2 012b XEM7360-K160T 012c XEM7360-K410T 012d ZEM5310-A4 0130 XEM7310-A75 0131 XEM7310-A200 1520 Bitwire Corp. 1524 ENE Technology Inc 6680 UTS 6680 1527 Silicon Portals 0200 YAP Phone (no firmware) 0201 YAP Phone 1529 UBIQUAM Co., Ltd. 3100 CDMA 1xRTT USB Modem (U-100/105/200/300/520) 152a Thesycon Systemsoftware & Consulting GmbH 8350 NET Gmbh iCube Camera 8400 INI DVS128 840d INI DAViS 841a INI DAViS FX3 152b MIR Srl 0001 spirobank II 0002 spirolab III 0003 MiniSpir 0004 Oxi 0005 spiros II 0006 smiths spirobank II 0007 smiths spirobank G-USB 0008 smiths MiniSpir 0009 spirobank G-USB 000a smiths Oxi 000b smiths spirolab III 000c chorus III 000d spirolab III Bw 000e spirolab III 000f easySpiro 0010 Spirotel converter 0011 spirobank 0012 spiro3 Zimmer 0013 spirotel serial 0014 spirotel II 0015 spirodoc 152d JMicron Technology Corp. / JMicron USA Technology Corp. 0539 JMS539/567 SuperSpeed SATA II/III 3.0G/6.0G Bridge 0551 JMS551 SuperSpeed two ports SATA 3Gb/s bridge 0561 JMS551 - Sharkoon SATA QuickPort Duo 0562 JMS567 SATA 6Gb/s bridge 0567 JMS567 SATA 6Gb/s bridge 0576 Gen1 SATA 6Gb/s Bridge 0578 JMS578 SATA 6Gb/s 0583 JMS583Gen 2 to PCIe Gen3x2 Bridge 0770 Alienware Integrated Webcam 1561 JMS561U two ports SATA 6Gb/s bridge 1576 External Disk 3.0 2329 JM20329 SATA Bridge 2335 ATA/ATAPI Bridge 2336 Hard Disk Drive 2337 ATA/ATAPI Bridge 2338 JM20337 Hi-Speed USB to SATA & PATA Combo Bridge 2339 JM20339 SATA Bridge 2352 ATA/ATAPI Bridge 2509 JMS539, JMS551 SATA 3Gb/s bridge 2551 JMS551 SATA 3Gb/s bridge 2561 CEB-2235S-U3 external RAID box 2566 JMS566 SATA 3Gb/s bridge 2590 JMS567 SATA 6Gb/s bridge 3562 JMS567 SATA 6Gb/s bridge 3569 JMS566 SATA 3Gb/s bridge 578e JMS578 SATA 6Gb/s bridge 8561 salcar docking station two disks 152e LG (HLDS) 1640 INIC-1605 SATA Bridge 2507 PL-2507 IDE Controller 2571 GP08NU6W DVD-RW e001 GSA-5120D DVD-RW 1532 Razer USA, Ltd 0001 RZ01-020300 Optical Mouse [Diamondback] 0002 Diamondback Optical Mouse 0003 Krait Mouse 0005 Boomslang CE 0007 DeathAdder Mouse 0009 Gaming Mouse [Tempest Habu] 000a Mamba (Wired) 000c Lachesis 000d DiamondBack 3G 000e Megalodon 000f Mamba (Wireless) 0012 Gaming Mouse [Salmosa] 0013 Orochi 2011 0015 Naga Mouse 0016 DeathAdder 3.5G 0017 RZ01-0035 Laser Gaming Mouse [Imperator] 0019 Marauder 001a Spectre 001b Gaming Headset 001c RZ01-0036 Optical Gaming Mouse [Abyssus] 001e Lachesis (5600 DPI) 001f Naga Epic (Wired) 0020 Abyssus 1800 0021 Naga Epic Dock (Wireless, Bluetooth) 0022 Gaming Mouse [TRON] 0023 Gaming Keyboard [TRON] 0024 Mamba 2012 (Wired) 0025 Mamba 2012 (Wireless) 0029 DeathAdder Black Edition 002a Gaming Mouse [Star Wars: The Old Republic] 002b Gaming Keyboard [Star Wars: The Old Republic] 002c Gaming Headset [Star Wars: The Old Republic] 002e RZ01-0058 Gaming Mouse [Naga 2012] 002f Imperator 2012 0031 Gaming Mouse Dock [Star Wars: The Old Republic] 0032 Ouroboros 2012 (Wired) 0033 Ouroboros 2012 (Wireless) 0034 Taipan 0035 Krait 2013 Essential 0036 RZ01-0075, Gaming Mouse [Naga Hex (Red)] 0037 DeathAdder 2013 0038 DeathAdder 1800 0039 Orochi 2013 003e Naga Epic Chroma (Wired) 003f Naga Epic Chroma (Wireless) 0040 Naga 2014 0041 Naga Hex 0042 Abyssus 2014 0043 DeathAdder Chroma 0044 Mamba Chroma (Wired) 0045 Mamba Chroma (Wireless) 0046 Mamba 2015 Tournament Edition [RZ01-01370100-R3] 0048 Orochi 2015 (Wired) 004a RZ03-0133 Gaming Lapboard, Keyboard Mouse Combo, Dongle [Turret Dongle] 004c Diamondback Chroma 004d DeathAdder 2000 (Cynosa Pro Bundle) 004f RZ01-0145, Gaming Mouse [DeathAdder 2000 (Alternate)] 0050 Naga Hex V2 0053 Naga Chroma 0054 DeathAdder 3500 0056 Orochi 2015 (Wireless) 0059 RZ01-0212 Gaming Mouse [Lancehead (Wired)] 005a RZ01-0212 Gaming Mouse [Lancehead (Wireless)] 005b Abyssus V2 005c DeathAdder Elite 005e Abyssus 2000 005f DeathAdder 2000 0060 RZ01-0213 Gaming Mouse [Lancehead Tournament Edition] 0062 Atheris 0064 Basilisk 0065 RZ01-0265, Gaming Mouse [Basilisk Essential] 0067 Naga Trinity 0068 Gaming Mouse Mat [Firefly Hyperflux] 0069 Gaming Mouse [Mamba Hyperflux] 006a Abyssus Elite (D.Va Edition) 006b Abyssus Essential 006c Mamba Elite (Wired) 006e DeathAdder Essential 006f RZ01-0257 Gaming Mouse [Lancehead Wireless (2019, Wireless, Receiver)] 0070 RZ01-0257 Gaming Mouse [Lancehead Wireless (2019, Wired)] 0071 RZ01-0254 Gaming Mouse [DeathAdder Essential White Edition] 0072 Mamba 2018 (Wireless) 0073 Mamba 2018 (Wired) 0078 Viper (wired) 007a RC30-0305 Gaming Mouse [Viper Ultimate (Wired)] 007b RC30-0305 Gaming Mouse Dongle [Viper Ultimate (Wireless)] 007e RC30-030502 Mouse Dock 0083 RC30-0315, Gaming Mouse [Basilisk X HyperSpeed] 0084 RZ01-0321 Gaming Mouse [DeathAdder V2] 0085 RZ01-0316 Gaming Mouse [Basilisk V2] 0086 Gaming Mouse [Basilisk Ultimate, Wired] 0088 Gaming Mouse [Basilisk Ultimate, Wireless, Receiver] 008a RZ01-0325, Gaming Mouse [Viper Mini] 0101 Copperhead Mouse 0102 Tarantula Keyboard 0103 Gaming Keyboard [Reclusa] 0105 Gaming Keyboard [ProType] 0106 Gaming Keyboard [ProType] 0109 Lycosa Keyboard 010b Gaming Keyboard [Arctosa] 010d BlackWidow Ultimate 2012 010e BlackWidow Classic (Alternate) 010f Anansi 0110 Cyclosa 0111 Nostromo 0113 RZ07-0074 Gaming Keypad [Orbweaver] 0114 DeathStalker Ultimate 0116 Blade Pro (2015) 0118 RZ03-0080, Gaming Keyboard [Deathstalker Essential] 0119 Gaming Keyboard [Lycosa] 011a BlackWidow Ultimate 2013 011b BlackWidow Classic 011c BlackWidow Tournament Edition Stealth 011d Blade 2013 011e Gaming Keyboard Dock [Edge Keyboard Dock] 011f Deathstalker Essential 2014 0200 Gaming Keyboard [Reclusa] 0201 Tartarus 0202 DeathStalker Expert 0203 BlackWidow Chroma 0204 DeathStalker Chroma 0205 Blade Stealth 0207 Orbweaver Chroma keypad 0208 Tartarus Chroma 0209 BlackWidow Tournament Edition Chroma 020d Cynosa Pro keyboard (Cynosa Pro Bundle) 020f Blade QHD 0210 Blade Pro (Late 2016) 0211 BlackWidow Chroma (Overwatch) 0214 BlackWidow Ultimate 2016 0215 Core 0216 BlackWidow X Chroma 0217 BlackWidow X Ultimate 021a BlackWidow X Tournament Edition Chroma 021b Gaming Keyboard [BlackWidow X Tournament Edition] 021e Ornata Chroma 021f Ornata 0220 Blade Stealth (2016) 0221 RZ03-0203 Gaming Keyboard [BlackWidow Chroma V2] 0224 Blade (Late 2016) 0225 Blade Pro (2017) 0226 Huntsman Elite 0227 Huntsman 0228 BlackWidow Elite 022a Cynosa Chroma 022b Tartarus V2 022c Cynosa Chroma Pro 022d Blade Stealth (Mid 2017) 022f Blade Pro FullHD (2017) 0232 Blade Stealth (Late 2017) 0233 Blade 15 (2018) 0234 Blade Pro 17 (2019) 0235 BlackWidow Lite (2018) 0237 BlackWidow Essential 0239 Blade Stealth (2019) 023a Blade 15 (2019) Advanced 023b Blade 15 (2018) Base Model 023f RZ03-0274 Gaming Keyboard [Cynosa Lite] 0240 Blade 15 (2018) Mercury 0241 BlackWidow (2019) 0243 Huntsman Tournament Edition 0244 RZ07-0311 Gaming Keypad [Tartarus Pro] 0245 Blade 15 (Mid 2019) Mercury 0246 Blade 15 (Mid 2019) Base Model 024a Blade Stealth (Late 2019) 024b Gaming Laptop [Blade 15 Advanced (Late 2019)] 024c Gaming Laptop [Blade Pro (Late 2019)] 024d Blade 15 Studio Edition (2019) 0253 RZ09-0330, Gaming Laptop [Blade 15 Advanced (Early 2020)] 0255 RZ09-0328, Gaming Laptop [Blade 15 Base Model (2020)] 0256 RZ09--0329, Gaming Laptop [Blade Pro 17 Full HD (2020)] 025d RZ03-0338, Gaming Keyboard [Ornata V2] 0300 RZ06-0063 Motion Sensing Controllers [Hydra] 0401 Gaming Arcade Stick [Panthera] 0501 Kraken 7.1 0502 Gaming Headset [Kraken USB] 0504 Kraken 7.1 Chroma 0506 Kraken 7.1 (Alternate Version) 0510 Kraken 7.1 V2 0511 RZ19-0229 Gaming Microphone 0514 Electra V2 USB 0517 Nommo Chroma 0518 Nommo Pro 051a Nari Ultimate 051c Nari (Wireless) 051d Nari (Wired) 051e RC30-026902, Gaming Headset [Nari Essential, Wireless, Receiver] 051f RC30-026901, Gaming Headset [Nari Essential, Wired] 0520 Kraken Tournament Edition 0521 Kraken Kitty Edition 0527 RZ04-0318 Gaming Headset [Kraken Ultimate] 0904 R201-0282 Gaming Keyboard, Mouse Combination [Turret For Xbox One] 0a00 Atrox Arcade Stick for Xbox One 0a02 ManO'War 0a03 Wildcat 0a15 RZ06-0199, Gaming Controller [Wolverine Tournament Edition] 0c00 RZ02-0135 Hard Gaming Mouse Mat [Firefly] 0c01 Goliathus 0c02 Goliathus Extended 0c04 Firefly V2 0e03 Gaming Webcam [Kiyo] 0f03 Tiamat 7.1 V2 0f07 Chroma Mug Holder 0f08 Base Station Chroma 0f09 Chroma HDK 0f0d Laptop Stand Chroma 0f13 Lian Li O11 Dynamic Razer Edition 0f1a Core X Chroma 1000 Gaming Controller [Raiju] 1004 Gaming Controller [Raiju Ultimate Wired] 1007 Gaming Controller [Raiju 2 Tournament Edition (USB)] 1008 Gaming Flightstick [Panthera Evo] 1009 Gaming Controller [Raiju 2 Ultimate Edition (BT)] 100a Gaming Controller [Raiju 2 Tournament Edition (BT)] 110d Bootloader (Alternate) 800e Bootloader 153b TerraTec Electronic GmbH 1181 Cinergy S2 PCIe Dual Port 1 1182 Cinergy S2 PCIe Dual Port 2 1546 U-Blox AG 01a4 Antaris 4 01a5 [u-blox 5] 01a6 [u-blox 6] 01a7 [u-blox 7] 01a8 [u-blox 8] 1102 LISA-U2 1547 SG Intec Ltd & Co KG 1000 SG-Lock[U2] 154a Celectronic GmbH 8180 CARD STAR/medic2 154b PNY 000f Flash Drive 0010 USB 2.0 Flash Drive 0048 Flash Drive 004d 8 GB Flash Drive 0053 Flash Drive 0057 32GB Micro Slide Attache Flash Drive 005b Flash Drive 0062 Flash Drive 007a Classic Attache Flash Drive 5408 2.5in drive enclosure 6000 Flash Drive 6545 FD Device fa05 Flash Drive 154d ConnectCounty Holdings Berhad 154e D&M Holdings, Inc. (Denon/Marantz) 3000 Marantz RC9001 Remote Control 154f SNBC CO., Ltd 1554 Prolink Microsystems Corp. 5010 PV-D231U(RN)-F [PixelView PlayTV SBTVD Full-Seg] 1557 OQO 0002 model 01 WiFi interface 0003 model 01 Bluetooth interface 0a80 Gobi Wireless Modem (QDL mode) 7720 model 01+ Ethernet 8150 model 01 Ethernet interface 1568 Sunf Pu Technology Co., Ltd 156f Quantum Corporation 1570 ALLTOP TECHNOLOGY CO., LTD. 157b Ketron SRL 157e TRENDnet 3006 TEW-444UB EU [TRENDnet] 3007 TEW-444UB EU (no firmware) 300a TEW-429UB 802.11bg 300b TEW-429UB 802.11bg 300c TEW-429UF A1 802.11bg Wireless Adapter [ZyDAS ZD1211B] 300d TEW-429UB C1 802.11bg 300e SMC SMCWUSB-N 802.11bgn 2x2:2 Wireless Adapter [Ralink RT2870] 3012 TEW-604UB 802.11bg Wireless Adapter [Atheros AR5523] 3013 TEW-645UB 802.11bgn 1x2:2 Wireless Adapter [Ralink RT2770] 3204 Allnet ALL0298 v2 802.11bg 3205 Allnet ALL0283 [AR5523] 3206 Allnet ALL0283 [AR5523](no firmware) 3207 TEW-509UB A1 802.11abg Wireless Adapter [ZyDAS ZD1211] 3208 TEW-509UB 1.1R 802.11abg Wireless Adapter 1582 Fiberline 6003 WL-430U 802.11bg 1587 SMA Technologie AG 158d Oakley Inc. 158e JDS Uniphase Corporation (JDSU) 0820 SmartPocket Class Device 1598 Kunshan Guoji Electronics Co., Ltd. 15a2 Freescale Semiconductor, Inc. 0038 9S08JS Bootloader 003b USB2CAN Application for ColdFire DEMOJM board 0041 i.MX51 SystemOnChip in RecoveryMode 0042 OSBDM - Debug Port 004e i.MX53 SystemOnChip in RecoveryMode 004f i.MX28 SystemOnChip in RecoveryMode 0052 i.MX50 SystemOnChip in RecoveryMode 0054 i.MX 6Dual/6Quad SystemOnChip in RecoveryMode 0061 i.MX 6Solo/6DualLite SystemOnChip in RecoveryMode 006a Vybrid series SystemOnChip in RecoveryMode 0076 i.MX 7Solo/7Dual SystemOnChip in RecoveryMode 0080 i.MX 6ULL SystemOnChip in RecoveryMode 15a4 Afatech Technologies, Inc. 1000 AF9015/AF9035 DVB-T stick 1001 AF9015/AF9035 DVB-T stick 1336 SDHC/MicroSD/MMC/MS/M2/CF/XD Flash Card Reader 9015 AF9015 DVB-T USB2.0 stick 9016 AF9015 DVB-T USB2.0 stick 15a8 Teams Power Limited 15a9 Gemtek 0002 SparkLAN WL-682 802.11bg Wireless Adapter [Intersil ISL3887] 0004 WUBR-177G [Ralink RT2571W] 0006 Wireless 11n USB Adapter 0010 802.11n USB Wireless Card 0012 WUBR-208N 802.11abgn Wireless Adapter [Ralink RT2870] 002d WLTUBA-107 [Yota 4G LTE] 15aa Gearway Electronics (Dong Guan) Co., Ltd. 15ad VMware Inc. 15ba Olimex Ltd. 0003 OpenOCD JTAG 0004 OpenOCD JTAG TINY 002a ARM-USB-TINY-H JTAG interface 002b ARM-USB-OCD-H JTAG+RS232 003c TERES Keyboard+Touchpad 15c0 XL Imaging 0001 2M pixel Microscope Camera 0002 3M pixel Microscope Camera 0003 1.3M pixel Microscope Camera (mono) 0004 1.3M pixel Microscope Camera (colour) 0005 3M pixel Microscope Camera (Mk 2) 0006 2M pixel Microscope Camera (with capture button) 0007 3M pixel Microscope Camera (with capture button) 0008 1.3M pixel Microscope Camera (colour, with capture button) 0009 1.3M pixel Microscope Camera (colour, with capture button) 000a 2M pixel Microscope Camera (Mk 2) 0010 1.3M pixel "Tinycam" 0101 3M pixel Microscope Camera 15c2 SoundGraph Inc. 0036 LC16M VFD Display/IR Receiver 0038 GD01 MX LCD Display/IR Receiver 0042 Antec Veris Multimedia Station E-Z IR Receiver ffda iMON PAD Remote Controller ffdc iMON PAD Remote Controller 15c5 Advance Multimedia Internet Technology Inc. (AMIT) 0008 WL532U 802.11g Adapter 15c6 Laboratoires MXM 1000 DigistimSP (cold) 1001 DigistimSP (warm) 1002 DigimapSP USB (cold) 1003 DigimapSP USB (warm) 1004 DigistimSP (cold) 1005 DigistimSP (warm) 1100 Odyssee (cold) 1101 Odyssee (warm) 1200 Digispy 15c8 KTF Technologies 3201 EVER EV-W100/EV-W250 15c9 D-Box Technologies 15ca Textech International Ltd. 00c3 Mini Optical Mouse 0101 MIDI Interface cable 1806 MIDI Interface cable 15d5 Coulomb Electronics Ltd. 15d9 Trust International B.V. 0a33 Optical Mouse 0a37 Mouse 0a41 MI-2540D [Optical mouse] 0a4c USB+PS/2 Optical Mouse 0a4d Optical Mouse 0a4e AM-5400 [Optical Mouse] 0a4f Optical Mouse 15dc Hynix Semiconductor Inc. 15e0 Seong Ji Industrial Co., Ltd. 15e1 RSA 2007 RSA SecurID (R) Authenticator 15e4 Numark 0024 Mixtrack 003c DJ2GO2 Touch 0140 ION VCR 2 PC / Video 2 PC 3f00 Power A Mini Pro Elite 3f0a Airflo Wired Controller for Xbox 360 3f10 Batarang controller for Xbox 360 15e8 SohoWare 9100 NUB100 Ethernet [pegasus] 9110 10/100 USB Ethernet 15e9 Pacific Digital Corp. 04ce MemoryFrame MF-570 1968 MemoryFrame MF-570 1969 Digital Frame 15ec Belcarra Technologies Corp. 15f4 HanfTek 0001 HanfTek UMT-010 USB2.0 DVB-T (cold) 0025 HanfTek UMT-010 USB2.0 DVB-T (warm) 0131 Astrometa DVB-T/T2/C FM & DAB receiver [RTL2832P] 0135 Astrometa T2hybrid 1604 Tascam 10c0 Dell Integrated Hub 8000 US-428 Audio/Midi Controller (without fw) 8001 US-428 Audio/Midi Controller 8004 US-224 Audio/Midi Controller (without fw) 8005 US-224 Audio/Midi Controller 8006 US-122 Audio/Midi Interface (without fw) 8007 US-122 Audio/Midi Interface 1605 ACCES I/O Products, Inc. 0001 DIO-32 (No Firmware Yet) 0002 USB-DIO-48 (No Firmware Yet) 0003 USB-DIO-96 (No Firmware Yet) 0004 USB-DIO-32I (No Firmware Yet) 0005 USB-DIO24 (based on -CTR6) (No Firmware Yet) 0006 USB-DIO24-CTR6 (No Firmware Yet) 1606 Umax 0002 Astra 1236U Scanner 0010 Astra 1220U 0030 Astra 1600U/2000U 0050 Scanner 0060 Astra 3400/3450 0070 Astra 4400/4450 0130 Astra 2100U 0160 Astra 5400U 0170 Uniscan D50 0230 Astra 2200/2200SU 0350 Astra 4800/4850 Scanner 1030 Astra 4000U 1220 Genesys Logic Scanner Controller NT5.0 2010 AstraCam Digital Camera 2020 AstraCam 1000 2030 AstraCam 1800 Digital Camera 1608 Inside Out Networks [hex] 0001 EdgePort/4 Serial Port 0002 Edgeport/8 0003 Rapidport/4 0004 Edgeport/4 0005 Edgeport/2 0006 Edgeport/4i 0007 Edgeport/2i 0008 Edgeport/8 000c Edgeport/421 000d Edgeport/21 000e Edgeport/4 000f Edgeport/8 0010 Edgeport/2 0011 Edgeport/4 0012 Edgeport/416 0014 Edgeport/8i 0018 Edgeport/412 0019 Edgeport/412 001a Edgeport/2+2i 0101 Edgeport/4 0105 Edgeport/2 0106 Edgeport/4i 0107 Edgeport/2i 010c Edgeport/421 010d Edgeport/21 0110 Edgeport/2 0111 Edgeport/4 0112 Edgeport/416 0114 Edgeport/8i 0201 Edgeport/4 0203 Rapidport/4 0204 Edgeport/4 0205 Edgeport/2 0206 Edgeport/4i 0207 Edgeport/2i 020c Edgeport/421 020d Edgeport/21 020e Edgeport/4 020f Edgeport/8 0210 Edgeport/2 0211 Edgeport/4 0212 Edgeport/416 0214 Edgeport/8i 0215 Edgeport/1 0216 EPOS/44 0217 Edgeport/42 021a Edgeport/2+2i 021b Edgeport/2c 021c Edgeport/221c 021d Edgeport/22c 021e Edgeport/21c 021f Edgeport/62 0240 Edgeport/1 0241 Edgeport/1i 0242 Edgeport/4s 0243 Edgeport/8s 0244 Edgeport/8 0245 Edgeport/22c 0301 Watchport/P 0302 Watchport/M 0303 Watchport/W 0304 Watchport/T 0305 Watchport/H 0306 Watchport/E 0307 Watchport/L 0308 Watchport/R 0309 Watchport/A 030a Watchport/D 030b Watchport/D 030c Power Management Port 030e Power Management Port 030f Watchport/G 0310 Watchport/Tc 0311 Watchport/Hc 1403 MultiTech Systems MT4X56 Modem 1a17 Agilent Technologies (E6473) 160a VIA Technologies, Inc. 3184 VIA VNT-6656 [WiFi 802.11b/g USB Dongle] 160e INRO 0001 E2USBKey 1614 Amoi Electronics 0404 WMA9109 UMTS Phone 0600 Vodafone VDA GPS / Toschiba Protege G710 0804 WP-S1 Phone 1617 Sony Corp. 2002 NVX-P1 Personal Navigation System 1619 L & K Precision Technology Co., Ltd. 161c Digitech Systems 0002 DTC-02U [Digi Touch Controller] 1621 Wionics Research 1628 Stonestreet One, Inc. 162a Airgo Networks Inc. 162f WiQuest Communications, Inc. 1630 2Wire, Inc. 0005 802.11g Wireless Adapter [Intersil ISL3886] 0011 PC Port 10 Mps Adapter ff81 802.11b Wireless Adapter [Lucent/Agere Hermes I] 1631 Good Way Technology 6200 GWUSB2E c019 RT2573 1633 AIM GmbH 4510 ASC1553 4520 ASC429 4560 ASC-FDX 1645 Entrega [hex] 0001 1S Serial Port 0002 2S Serial Port 0003 1S25 Serial Port 0004 4S Serial Port 0005 E45 Ethernet [klsi] 0006 Parallel Port 0007 U1-SC25 SCSI 0008 Ethernet 0016 Bi-directional to Parallel Printer Converter 0080 1 port to Serial Converter 0081 1 port to Serial Converter 0093 1S9 Serial Port 8000 EZ-USB 8001 1 port to Serial 8002 2x Serial Port 8003 1 port to Serial 8004 2U4S serial/usb hub 8005 Ethernet 8080 1 port to Serial 8081 1 port to Serial 8093 PortGear Serial Port 1649 SofTec Microsystems 0102 uDART In-Circuit Debugger 0200 SpYder USBSPYDER08 164a ChipX 164c Matrix Vision GmbH 0101 mvBlueFOX camera (no firmware) 0103 mvBlueFOX camera 0201 mvBlueLYNX-X intelligent camera (bootloader) 0203 mvBlueLYNX-X intelligent camera 1657 Struck Innovative Systeme GmbH 3150 SIS3150 USB2.0 to VME interface 165b Frontier Design Group 8101 Tranzport Control Surface fad1 Alphatrack Control Surface 165c Kondo Kagaku 0002 Serial Adapter 0006 FT232 [ICS adapter HS] 0008 FT232 [Dual adapter HS] 1660 Creatix Polymedia GmbH 1667 GIGA-TMS INC. 0005 PCR330A RFID Reader (125 kHz, keyboard emulation) 1668 Actiontec Electronics, Inc. [hex] 0009 Gateway 0333 Modem 0358 InternetPhoneWizard 0405 Gateway 0408 Prism2.5 802.11b Adapter 0413 Gateway 0421 Prism2.5 802.11b Adapter 0441 IBM Integrated Bluetooth II 0500 BTM200B BlueTooth Adapter 1050 802UIG-1 802.11g Wireless Mini Adapter [Intersil ISL3887] 1200 802AIN Wireless N Network Adapter [Atheros AR9170+AR9101] 1441 IBM Integrated Bluetooth II 2441 BMDC-2 IBM Bluetooth III w.56k 3441 IBM Integrated Bluetooth III 6010 Gateway 6097 802.11b Wireless Adapter 6106 802UI3(B) 802.11b Wireless Adapter [Intersil PRISM 3] 7605 UAT1 Wireless Ethernet Adapter 1669 PiKRON Ltd. [hex] 1001 uLan2USB Converter - PS1 protocol 166a Clipsal 0101 C-Bus Multi-room Audio Matrix Switcher 0201 C-Bus Pascal Automation Controller 0301 C-Bus Wireless PC Interface 0303 C-Bus interface 0304 C-Bus Black and White Touchscreen 0305 C-Bus Spectrum Colour Touchscreen 0401 C-Bus Architectural Dimmer 1677 China Huada Integrated Circuit Design (Group) Co., Ltd. (CIDC Group) 0103 Token 1679 Total Phase 2001 Beagle Protocol Analyzer 2002 Cheetah SPI Host Adapter 167b Pure Digital Technologies, Inc. 2009 Flip Ultra U1120 1680 Golden Bridge Electech Inc. a332 DVB-T Dongle [RTL2832U] 1681 Prevo Technologies, Inc. 0001 Tuner's Dashboard 0002 DocuBrain(R) Tubachron 0003 DocuBrain(R) I2C 0004 DocuBrain(R) WWVB Receiver 0005 DocuBrain(R) WWVB Transmitter 1682 Maxwise Production Enterprise Ltd. 1684 Godspeed Computer Corp. 1685 Delock 0200 Infrared adapter 1686 ZOOM Corporation 0045 Handy Recorder stereo mix 01c0 Zoom Handy Recorder card reader 01c5 Zoom Handy Recorder multi track 03d5 LiveTrak L-12 1687 Kingmax Digital Inc. 5289 FlashDisk 6211 FlashDisk 6213 FlashDisk 1688 Saab AB 1689 Razer USA, Ltd fd00 Onza Tournament Edition controller fd01 Onza Classic Edition fe00 Sabertooth Elite 168c Atheros Communications 0001 AR5523 0002 AR5523 (no firmware) 1690 Askey Computer Corp. [hex] 0001 Arcaze Gamepad 0101 Creative Modem Blaster DE5670 0102 V1456 VQE-R2 Modem [conexant] 0103 1456 VQE-R3 Modem [conexant] 0104 HCF V90 Data Fax RTAD Modem 0107 HCF V.90 Data,Fax,RTAD Modem 0109 MagicXpress V.90 Pocket Modem [conexant] 0203 Voyager ADSL Modem Loader 0204 Voyager ADSL Modem 0205 DSL Modem 0206 GlobeSpan ADSL WAN Modem 0208 DSL Modem 0209 Voyager 100 ADSL Modem 0211 Globespan Virata ADSL LAN Modem 0212 DSL Modem 0213 HM121d DSL Modem 0214 HM121d DSL Modem 0215 Voyager 105 ADSL Modem 0701 WLAN 0710 SMCWUSBT-G 0711 SMCWUSBT-G (no firmware) 0712 AR5523 0713 AR5523 (no firmware) 0715 Name: Voyager 1055 Laptop 802.11g Adapter [Broadcom 4320] 0722 RT2573 0726 Wi-Fi Wireless LAN Adapter 0740 802.11n Wireless LAN Card 0901 Voyager 205 ADSL Router 2000 naturaSign Pad Standard 2001 naturaSign Pad Standard fe12 Bootloader 1696 Hitachi Video and Information System, Inc. 1697 VTec Test, Inc. 16a5 Shenzhen Zhengerya Cable Co., Ltd. 16a6 Unigraf 3000 VTG-3xxx Video Test Generator family 4000 VTG-4xxx Video Test Generator family 5000 VTG-5xxx Video Test Generator family 5001 VTG-5xxx Special (update) mode of VTG-5xxx family 16ab Global Sun Technology 7801 AR5523 7802 AR5523 (no firmware) 7811 AR5523 7812 AR5523 (no firmware) 16ac Dongguan ChingLung Wire & Cable Co., Ltd. 16b4 iStation 0801 U43 16b5 Persentec, Inc. 0002 Otto driving companion 16c0 Van Ooijen Technische Informatica 03e8 free for internal lab use 1000 03e9 free for internal lab use 1001 03ea free for internal lab use 1002 03eb free for internal lab use 1003 03ec free for internal lab use 1004 03ed free for internal lab use 1005 03ee free for internal lab use 1006 03ef free for internal lab use 1007 03f0 free for internal lab use 1008 03f1 free for internal lab use 1009 0477 Teensy Rebootor 0478 Teensy Halfkay Bootloader 0479 Teensy Debug 047a Teensy Serial 047b Teensy Serial+Debug 047c Teensy Keyboard 047d Teensy Keyboard+Debug 047e Teensy Mouse 047f Teensy Mouse+Debug 0480 Teensy RawHID 0481 Teensy RawHID+Debug 0482 Teensyduino Keyboard+Mouse+Joystick 0483 Teensyduino Serial 0484 Teensyduino Disk 0485 Teensyduino MIDI 0486 Teensyduino RawHID 0487 Teensyduino Serial+Keyboard+Mouse+Joystick 0488 Teensyduino Flight Sim Controls 05b5 BU0836 05dc shared ID for use with libusb 05dd BlackcatUSB2 05de Flashcat 05df HID device except mice, keyboards, and joysticks 05e1 Free shared USB VID/PID pair for CDC devices 05e4 Free shared USB VID/PID pair for MIDI devices 06b4 USB2LPT with 2 interfaces 06b5 USB2LPT with 3 interfaces (native, HID, printer) 074e DSP-Weuffen USB-HPI-Programmer 074f DSP-Weuffen USB2-HPI-Programmer 0762 Osmocom SIMtrace 076b OpenPCD 13.56MHz RFID Reader 076c OpenPICC 13.56MHz RFID Simulator (native) 08ac OpenBeacon USB stick 08ca Alpermann+Velte Universal Display 08cb Alpermann+Velte Studio Clock 08cc Alpermann+Velte SAM7S MT Boot Loader 08cd Alpermann+Velte SAM7X MT Boot Loader 09ce LINKUSB 0a32 jbmedia Light-Manager Pro 27d8 libusb-bound devices 27d9 HID device except mice, keyboards, and joysticks 27da Mouse 27db Keyboard 27dc Joystick 27dd CDC-ACM class devices (modems) 27de MIDI class devices 294a Eye Movement Recorder [Visagraph] 294b Eye Movement Recorder [ReadAlyzer] 16ca Wireless Cables, Inc. 1502 Bluetooth Dongle 16cc silex technology, Inc. 16d0 MCS 0436 Xylanta Ltd, XSP Device 0498 Braintechnology USB-LPS 0504 RETRO Innovations ZoomFloppy 054b GrauTec ReelBox OLED Display (external) 05be EasyLogic Board 05f0 Superior Freedom Programmable IR Remote 06cc Trinamic TMCM-3110 06f0 Axium AX-R4C Controller 06f1 Axium AX-R1D Controller 06f9 Gabotronics Xminilab 0726 Autonomic M400 Amplifier 0727 Autonomic M800 Amplifier 0753 Digistump DigiSpark 075c AB-1.x UAC1 [Audio Widget] 075d AB-1.x UAC2 [Audio Widget] 07cc Xylanta Ltd, Saint3 Device 07f8 Axium AX-R4D Controller 080a S2E1 Interface 0830 DMXControl Projects e.V., Nodle U1 0831 DMXControl Projects e.V., Desklamp 0832 DMXControl Projects e.V., Nodle U2 0833 DMXControl Projects e.V., Nodle R4S 0870 Kaufmann Automotive GmbH, RKS+CAN Interface 09f2 Axium AX-1250 Amplifier 09f4 Axium AX-Mini4 Amplifier 0b03 AIS Receiver [dAISy] 0b7d Autonomic M801 Amplifier 0b7e Autonomic M401 Amplifier 0b7f Autonomic M120e Amplifier 0bd4 codesrc SCSI2SD 0c9b Fermium LABS srl/LabTrek srl Hall Effect Apparatus 0d3c InputStick BT4.0 0e1e AtomMiner 16d1 Suprema Inc. 0401 SUP-SFR400(A) BioMini Fingerprint Reader 16d3 Frontline Test Equipment, Inc. 16d5 AnyDATA Corporation 6202 CDMA/UMTS/GPRS modem 6501 CDMA 2000 1xRTT/EV-DO Modem 6502 CDMA/UMTS/GPRS modem 6603 ADU-890WH modem 16d6 JABLOCOM s.r.o. 8000 GDP-04 desktop phone 8001 EYE-02 8003 GDP-04 modem 8004 Bootloader 8005 GDP-04i 8007 BTP-06 modem 16d8 CMOTECH Co., Ltd. 5141 CMOTECH CDMA Technologies modem 5533 CCU-550 CDMA EV-DO modem 5543 CDMA 2000 1xRTT/1xEVDO modem 6280 CMOTECH CDMA Technologies modem 6803 CNU-680 CDMA EV-DO modem 8001 Gobi 2000 Wireless Modem (QDL mode) 8002 Gobi 2000 Wireless Modem 16dc Wiener, Plein & Baus 0001 CC 000b VM 0010 PL512 Power Supply System 0011 MARATON Power Supply System 0012 MPOD Multi Channel Power Supply System 0015 CML Control, Measurement and Data Logging System 16de Telemecanique 16df King Billion Electronics Co., Ltd. 16f0 GN Hearing A/S 0001 Speedlink Programming Interface 0003 Airlink Wireless Programming Interface 0004 Accessory Programming Interface 16f5 Futurelogic Inc. 1702 FDI-MATELEC 0002 Encodeur 1706 BlueView Technologies, Inc. 1707 ARTIMI 170b Swissonic 0011 MIDI-USB 1x1 170d Avnera 1711 Leica Microsystems 0101 DFC-365FX camera 3020 IC80 HD Camera 1724 Meyer Instruments (MIS) 0115 PAXcam5 1725 Vitesse Semiconductor 1726 Axesstel, Inc. 1000 wireless modem 2000 wireless modem 3000 wireless modem 172f Waltop International Corp. 0022 Tablet 0024 Tablet 0025 Tablet 0026 Tablet 0031 Slim Tablet 12.1" 0032 Slim Tablet 5.8" 0034 Slim Tablet 12.1" 0038 Genius G-Pen F509 0500 Media Tablet 14.1" 0501 Media Tablet 10.6" 0502 Sirius Battery Free Tablet 1733 Cellink Technology Co., Ltd 0101 RF Wireless Optical Mouse OP-701 1736 CANON IMAGING SYSTEM TECHNOLOGIES INC. 1737 802.11g Adapter [Linksys WUSB54GC v3] 0039 USB1000 Gigabit Notebook Adapter 0070 WUSB100 v1 RangePlus Wireless Network Adapter [Ralink RT2870] 0071 WUSB600N v1 Dual-Band Wireless-N Network Adapter [Ralink RT2870] 0073 WUSB54GC v2 802.11g Adapter [Realtek RTL8187B] 0075 WUSB54GSC v2 802.11g Adapter [Broadcom 4326U] 0077 WUSB54GC v3 802.11g Adapter [Ralink RT2070L] 0078 WUSB100 v2 RangePlus Wireless Network Adapter [Ralink RT3070] 0079 WUSB600N v2 Dual-Band Wireless-N Network Adapter [Ralink RT3572] 173a Roche 2198 Accu-Chek Mobile 21ca ACCU-CHEK Mobile Model U1 173d QSENN 0002 GP-K7000 keyboard 1740 Senao 0100 EUB1200AC AC1200 DB Wireless Adapter [Realtek RTL8812AU] 0600 EUB600v1 802.11abgn Wireless Adapter [Ralink RT3572] 0605 LevelOne WUA-0605 N_Max Wireless USB Adapter 0615 LevelOne WUA-0615 N_Max Wireless USB Adapter 1000 NUB-350 802.11g Wireless Adapter [Intersil ISL3887] 2000 NUB-8301 802.11bg 3701 EUB-3701 EXT 802.11g Wireless Adapter [Ralink RT2571W] 9603 RTL8188S WLAN Adapter 9701 EnGenius 802.11n Wireless USB Adapter 9702 EnGenius 802.11n Wireless USB Adapter 9703 EnGenius 802.11n Wireless USB Adapter 9705 EnGenius 802.11n Wireless USB Adapter 9706 EUB9706 802.11n Wireless Adapter [Ralink RT3072] 9801 EUB9801 802.11abgn Wireless Adapter [Ralink RT3572] 1743 General Atomics 1748 MQP Electronics 0101 Packet-Master USB12 174c ASMedia Technology Inc. 07d1 Transcend ESD400 Portable SSD (USB 3.0) 1151 ASM1151W 1153 ASM1153 SATA 3Gb/s bridge 2074 ASM1074 High-Speed hub 3074 ASM1074 SuperSpeed hub 5106 ASM1051 SATA 3Gb/s bridge 5136 ASM1053 SATA 3Gb/s bridge 51d6 ASM1051W SATA 3Gb/s bridge 55aa ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge 174f Syntek 1105 SM-MS/Pro-MMC-XD Card Reader 110b HP Webcam 1122 HP Webcam 1169 Lenovo EasyCamera 1403 Integrated Webcam 1404 USB Camera device, 1.3 MPixel Web Cam 1758 XYZ printing cameraR2 1759 XYZ printing cameraL2 5212 USB 2.0 UVC PC Camera 5a11 PC Camera 5a31 Sonix USB 2.0 Camera 5a35 Sonix 1.3MPixel USB 2.0 Camera 6a31 Web Cam - Asus A8J, F3S, F5R, VX2S, V1S 6a33 Web Cam - Asus F3SA, F9J, F9S 6a51 2.0MPixel Web Cam - Asus Z96J, Z96S, S96S 6a54 Web Cam 6d51 2.0Mpixel Web Cam - Eurocom D900C 8a12 Syntek 0.3MPixel USB 2.0 UVC PC Camera 8a33 Syntek USB 2.0 UVC PC Camera a311 1.3MPixel Web Cam - Asus A3A, A6J, A6K, A6M, A6R, A6T, A6V, A7T, A7sv, A7U a312 1.3MPixel Web Cam a821 Web Cam - Packard Bell BU45, PB Easynote MX66-208W aa11 Web Cam 1753 GERTEC Telecomunicacoes Ltda. c901 PPC900 Pinpad Terminal 1756 ENENSYS Technologies 0006 DiviPitch 1759 LucidPort Technology, Inc. 1761 ASUSTek Computer, Inc. (wrong ID) 0b05 802.11n Network Adapter (wrong ID - swapped vendor and device) 1770 MSI ff00 steel series rgb keyboard 1772 System Level Solutions, Inc. 1776 Arowana 501c 300K CMOS Camera 1777 Microscan Systems, Inc. 0003 MicroHAWK ID-20 177f Sweex 0004 MM004V5 Photo Key Chain (Digital Photo Frame) 1.5" 0153 LW153 802.11n Adapter [ralink rt3070] 0154 LW154 802.11bgn (1x1:1) Wireless Adapter [Realtek RTL8188SU] 0313 LW313 802.11n Adapter [ralink rt2770 + rt2720] 1781 Multiple Vendors 07df Axium AX-800DAV Amplifier 07e1 Axium AX-KPC Keypad 07e2 Axium AX-KPD Keypad 07e3 Axium AX-400DA Amplifier 083e MetaGeek Wi-Spy 083f MetaGeek Wi-Spy 2.4x 0938 Iguanaworks USB IR Transceiver 0941 qNimble Quark 0a96 raphnet.net usb_game12 0a97 raphnet.net SNES mouse adapter 0a98 raphnet.net USBTenki 0a99 raphnet.net NES 0a9a raphnet.net Gamecube/N64 controller 0a9b raphnet.net DB9Joy 0a9c raphnet.net Intellivision 0a9d raphnet.net 4nes4snes 0a9e raphnet.net Megadrive multitap 0a9f raphnet.net MultiDB9joy 0bad Mantracourt Load Cell 0c30 Telldus TellStick 0c31 Telldus TellStick Duo 0c9f USBtiny 1eef OpenAPC SecuKey 1ef0 E1701 Modular Controller Card 1ef1 E1701 Modular Controller Card 1ef2 E1803 Compact Controller Card 1782 Spreadtrum Communications Inc. 3d00 F200n mobile phone 1784 TopSeed Technology Corp. 0001 eHome Infrared Transceiver 0004 RF Combo Device 0006 eHome Infrared Transceiver 0007 eHome Infrared Transceiver 0008 eHome Infrared Transceiver 000a eHome Infrared Transceiver 0011 eHome Infrared Transceiver 1787 ATI AIB 1788 ShenZhen Litkconn Technology Co., Ltd. 178e ASUSTek Computer, Inc. (wrong ID) 0b05 CrossLink cable 2GB (wrong ID - swapped vendor and device) 1796 Printrex, Inc. 1797 JALCO CO., LTD. 1799 Thales Norway A/S 7051 Belkin F5D7051 802.11g Adapter v1000 [Broadcom 4320] 8051 Belkin F5D8051 v2 802.11bgn Wireless Adapter [Marvell 88W8362] 179d Ricavision International, Inc. 0010 Internal Infrared Transceiver 17a0 Samson Technologies Corp. 0001 C01U condenser microphone 0002 Q1U dynamic microphone 0100 C03U multi-pattern microphone 0101 UB1 boundary microphone 0120 Meteorite condenser microphone 0130 Go Mic Direct 0132 Go Mic Mobile wireless receiver 0200 StudioDock monitors (internal hub) 0201 StudioDock monitors (audio) 0210 StudioGT monitors 0211 StudioGT monitors [CM6400] 0240 Go Mic Connect 0241 G-Track Pro microphone 0301 Q2U handheld microphone with XLR 0302 GoMic compact condenser microphone 0303 C01U Pro condenser microphone 0304 Q2U handheld mic with XLR 0305 GoMic compact condenser mic 0310 Meteor condenser microphone 0311 Satellite condenser microphone 1616 RXD1 wireless receiver b241 G-Track Pro firmware update b311 Satellite firmware update 17a4 Concept2 0001 Performance Monitor 3 0002 Performance Monitor 4 17a5 Advanced Connection Technology Inc. 17a7 MICOMSOFT CO., LTD. 17a8 Kamstrup A/S 0001 Optical Eye/3-wire 0005 M-Bus Master MultiPort 250D 0010 444MHz Radio Mesh Frontend 0011 444MHz RF sniffer 0012 870MHz Radio Mesh Frontend 0013 870MHz RF sniffer 17b3 Grey Innovation 0004 Linux-USB Midi Gadget 17b5 Lunatone 0010 MFT Sensor 17ba SAURIS GmbH 0001 SAU510-USB [no firmware] 0510 SAU510-USB and SAU510-USB plus JTAG Emulators 0511 SAU510-USB Iso Plus JTAG Emulator 0520 SAU510-USB Nano JTAG Emulator 1511 Onboard Emulator on SAUModule development kit 17c3 Singim International Corp. 17cc Native Instruments 041c Audio 2 DJ 041d Traktor Audio 2 0808 Maschine Controller 0815 Audio Kontrol 1 0839 Audio 4 DJ 0d8d Guitarrig Mobile 1001 Komplete Audio 6 1110 Maschine Mikro 1915 Session I/O 1940 RigKontrol3 1969 RigKontrol2 1978 Audio 8 DJ 2280 Medion MDPNA1500 in card reader mode 2305 Traktor Kontrol X1 4711 Kore Controller 4712 Kore Controller 2 baff Traktor Kontrol S4 17cf Hip Hing Cable & Plug Mfy. Ltd. 17d0 Sanford L.P. 17d3 Korea Techtron Co., Ltd. 17e9 DisplayLink 0051 USB VGA Adaptor 0198 DisplayLink 019e Overfly FY-1016A 028f HIS Multi-View II 030b HP T100 0377 Plugable UD-160-A (M) 0378 Plugable UGA-2K-A 0379 Plugable UGA-125 037a Plugable UGA-165 037b Plugable USB-VGA-165 037c Plugable DC-125 037d Plugable USB2-HDMI-165 410a HDMI Adapter 430a HP Port Replicator (Composite Device) 430f Kensington Dock (Composite Device) 4312 S2340T 436e Dell D3100 Docking Station ff10 I1659FWUX {AOC Powered Monitor] 17eb Cornice, Inc. 17ef Lenovo 1000 ThinkPad X6 UltraBase 1003 Integrated Smart Card Reader 1004 Integrated Webcam 1005 ThinkPad X200 Ultrabase (42X4963 ) 1008 Hub 100a ThinkPad Mini Dock Plus Series 3 100f ThinkPad Ultra Dock Hub 1010 ThinkPad Ultra Dock Hub 1020 ThinkPad Dock Hub 1021 ThinkPad Dock Hub [Cypress HX2VL] 3049 ThinkPad OneLink integrated audio 304b AX88179 Gigabit Ethernet [ThinkPad OneLink GigaLAN] 304f RTL8153 Gigabit Ethernet [ThinkPad OneLink Pro Dock] 3060 ThinkPad Dock 3062 ThinkPad Dock Ethernet [Realtek RTL8153B] 3063 ThinkPad Dock Audio 3066 ThinkPad Thunderbolt 3 Dock MCU 3069 ThinkPad TBT3 LAN 306a ThinkPad Thunderbolt 3 Dock Audio 3815 ChipsBnk 2GB USB Stick 4802 Vc0323+MI1310_SOC Camera 4807 UVC Camera 480c Integrated Webcam 480d Integrated Webcam [R5U877] 480e Integrated Webcam [R5U877] 480f Integrated Webcam [R5U877] 4810 Integrated Webcam [R5U877] 4811 Integrated Webcam [R5U877] 4812 Integrated Webcam [R5U877] 4813 Integrated Webcam [R5U877] 4814 Integrated Webcam [R5U877] 4815 Integrated Webcam [R5U877] 4816 Integrated Webcam 481c Integrated Webcam 481d Integrated Webcam 6004 ISD-V4 Tablet Pen 6007 Smartcard Keyboard 6009 ThinkPad Keyboard with TrackPoint 600e Optical Mouse 6014 Mini Wireless Keyboard N5901 6019 M-U0025-O Mouse 6022 Ultraslim Plus Wireless Keyboard and Mouse 6025 ThinkPad Travel Mouse 602d Black Silk Keyboard 6032 Wireless Dongle for Keyboard and Mouse 6044 ThinkPad Laser Mouse 6047 ThinkPad Compact Keyboard with TrackPoint 604b Precision Wireless Mouse 608d Optical Mouse 609b Professional Wireless Keyboard and Mouse Combo 609c Professional Wireless Keyboard 7203 Ethernet adapter [U2L 100P-Y1] 7205 Thinkpad LAN 7217 VGA adapter 7423 IdeaPad A1 Tablet 7435 A789 (Mass Storage mode, with debug) 743a A789 (Mass Storage mode) 7497 A789 (MTP mode) 7498 A789 (MTP mode, with debug) 749a A789 (PTP mode) 749b A789 (PTP mode, with debug) 7604 A760 (Mass Storage mode) 7605 A760 (Mass Storage mode, with debug) 760a A760 (MTP mode) 760b A760 (MTP mode, with debug) 760c A760 (PTP mode) 760d A760 (PTP mode, with debug) 76fc B8000-H (Yoga Tablet 10) (mass storage) 76fd B8000-H (Yoga Tablet 10) (debug , mass storage) 76fe B8000-H (Yoga Tablet 10) (MTP) 76ff B8000-H (Yoga Tablet 10) (debug , MTP) 7702 B8000-H (Yoga Tablet 10) (PTP) 7703 B8000-H (Yoga Tablet 10) (debug , PTP) 7704 B8000-H (Yoga Tablet 10) (USB tether) 7705 B8000-H (Yoga Tablet 10) (debug , USB tether) 7706 B8000-H (Yoga Tablet 10) (zerocd) 7707 B8000-H (Yoga Tablet 10) (debug , zerocd) 785f TAB 2 A7-10 Tablet b000 Virtual Keyboard and Mouse b001 Ethernet b003 Virtual Keyboard and Mouse / Mass Storage f003 MEDION LIFETAB X10605 MTP mode 17f4 WaveSense aaaa Jazz Blood Glucose Meter 17f5 K.K. Rocky 17f6 Unicomp, Inc. 0709 Model M Keyboard 0822 Ruffian 6 Keyboard v3 [Model M] 1809 Advantech 4604 USB-4604 4761 USB-4761 Portable Data Acquisition Module 1822 Twinhan 3201 VisionDTV USB-Ter/HAMA USB DVB-T device cold 3202 VisionDTV USB-Ter/HAMA USB DVB-T device warm 1831 Gwo Jinn Industries Co., Ltd. 1832 Huizhou Shenghua Industrial Co., Ltd. 183d VIVOphone 0010 VoiceKey 1843 Vaisala 1849 ASRock Incorporation 184f K2L GmbH 0012 MOCCA compact 1852 GYROCOM C&C Co., LTD 7022 Fiio E10 7921 Audiotrak ProDigy CUBE 7922 Audiotrak DR.DAC2 DX [GYROCOM C&C] 1854 Memory Devices Ltd. 185b Compro 3020 K100 Infrared Receiver 3082 K100 Infrared Receiver v2 d000 Compro Videomate DVB-U2000 - DVB-T USB cold d001 Compro Videomate DVB-U2000 - DVB-T USB warm 1861 Tech Technology Industrial Company 1862 Teridian Semiconductor Corp. 1870 Nexio Co., Ltd 0001 iNexio Touchscreen controller 1871 Aveo Technology Corp. 0101 UVC camera (Bresser microscope) 0141 Camera 0d01 USB2.0 Camera 1873 Navilock ee93 EasyLogger 187c Alienware Corporation 0511 AlienFX Mobile lighting 0513 Gaming Desktop [Aurora R4] 0550 LED controller 0600 Dual Compatible Game Pad 187f Siano Mobile Silicon 0010 Stallar Board 0100 Stallar Board 0200 Nova A 0201 Nova B 0202 Nice 0300 Vega 0301 VeNice 1892 Vast Technologies, Inc. 1894 Topseed 5632 Atek Tote Remote 5641 TSAM-004 Presentation Remote 1897 Evertop Wire Cable Co. 189f 3Shape A/S 0002 Legato2 3D Scanner 18a4 CSSN 0001 Snapshell IDR 18a5 Verbatim, Ltd 0214 Portable Hard Drive 0216 External Hard Drive 0218 External Hard Drive 0224 Store 'n' Go Micro Plus 0227 Pocket Hard Drive 022b Portable Hard Drive (Store'n'Go) 0237 Portable Harddrive 0243 Flash Drive (Store'n'Go) 0245 Store'n'Stay 0302 Flash Drive 0304 Store 'n' Go 0408 Store 'n' Go 4123 Store N Go 18b1 Petalynx 0037 Maxter Remote Control 18b4 e3C Technologies 1001 DUTV007 1002 EC168 (v5) based USB DVB-T receiver 1689 DUTV009 fffa EC168 (v2) based USB DVB-T receiver fffb EC168 (v3) based USB DVB-T receiver 18b6 Mikkon Technology Limited 18b7 Zotek Electronic Co., Ltd. 18c5 AMIT Technology, Inc. 0002 CG-WLUSB2GO 0008 CG-WLUSB2GNR Corega Wireless USB Adapter 0012 CG-WLUSB10 Corega Wireless USB Adapter 18cd Ecamm cafe Pico iMage 18d1 Google Inc. 0001 Onda V972 (storage access) 0003 Android-powered device using AllWinner Technology SoC 0006 Onda V972 MTP 0008 Onda V972 PTP (camera) 0d02 Celkon A88 2d00 Android Open Accessory device (accessory) 2d01 Android Open Accessory device (accessory + ADB) 2d02 Android Open Accessory device (audio) 2d03 Android Open Accessory device (audio + ADB) 2d04 Android Open Accessory device (accessory + audio) 2d05 Android Open Accessory device (accessory + audio + ADB) 4e11 Nexus One 4e12 Nexus One (debug) 4e13 Nexus One (tether) 4e20 Nexus S (fastboot) 4e21 Nexus S 4e22 Nexus S (debug) 4e24 Nexus S (tether) 4e30 Galaxy Nexus (fastboot) 4e40 Nexus 7 (fastboot) 4e41 Nexus 7 (MTP) 4e42 Nexus 7 (debug) 4e43 Nexus 7 (PTP) 4e44 Nexus 7 2012 (PTP) 4ee0 Nexus/Pixel Device (fastboot) 4ee1 Nexus/Pixel Device (MTP) 4ee2 Nexus/Pixel Device (MTP + debug) 4ee3 Nexus/Pixel Device (tether) 4ee4 Nexus/Pixel Device (tether+ debug) 4ee5 Nexus/Pixel Device (PTP) 4ee6 Nexus/Pixel Device (PTP + debug) 4ee7 Nexus/Pixel Device (charging + debug) 4ee8 Nexus/Pixel Device (MIDI) 4ee9 Nexus/Pixel Device (MIDI + debug) 5033 Pixel earbuds 7102 Toshiba Thrive tablet b004 Pandigital / B&N Novel 9" tablet d001 Nexus 4 (fastboot) d002 Nexus 4 (debug) d00d Xiaomi Mi/Redmi 2 (fastboot) d109 LG G2x MTP d10a LG G2x MTP (debug) 18d5 Starline International Group Limited 18d9 Kaba 01a0 B-Net 91 07 18dc LKC Technologies, Inc. 18dd Planon System Solutions Inc. 1000 DocuPen RC800 18e3 Fitipower Integrated Technology Inc 7102 Multi Card Reader (Internal) 9101 All-in-1 Card Reader 9102 Multi Card Reader 9512 Webcam 18e8 Qcom 6144 LR802UA 802.11b Wireless Adapter [ALi M4301AU] 6196 RT2573 6229 RT2573 6232 Wireless 802.11g 54Mbps Network Adapter [RTL8187] 18ea Matrox Graphics, Inc. 0002 DualHead2Go [Analog Edition] 0004 TripleHead2Go [Digital Edition] 18ec Arkmicro Technologies Inc. 3118 USB to IrDA adapter [ARK3116T] 3188 ARK3188 UVC Webcam 3299 Webcam Carrefour 3366 Bresser Biolux NV 5850 CVBS / S-Video Capture Device [UVC] 18ef ELV Elektronik AG e014 FS20PCE e015 FS20PCS e01a Bedien-Anzeige-Terminal 18f8 [Maxxter] 0f97 Optical Gaming Mouse [Xtrem] 0f99 Optical gaming mouse 1142 Optical gaming mouse 1486 X5s ZEUS Macro Pro Gaming Mouse 18fb Scriptel Corporation 01c0 ST1501-STN 01c1 ST1526-STN 01c2 ST1501-PYJ 01c3 ST1501B-PYJ 01c4 ST1501-PUN 01c5 ST1401-STN 01c7 ST1526-PYJ 01c8 ST1501-ECA 01c9 ST1476-STN 01cb ST1571-STN 0200 ST1500 0201 ST1550 0202 ST1525 0204 ST1400 0206 ST1475 0207 ST1570 18fd FineArch Inc. 1901 GE Healthcare 0015 Nemo Tracker 1908 GEMBIRD 0102 Digital Photo Frame 0226 MicroSD Card Reader/Writer 1315 Digital Photo Frame 1320 DM8261 Flashdisc 2070 Honk HK-5002 USB Speaker 2220 Buildwin Media-Player 2311 Generic UVC 1.00 camera [AppoTech AX2311] 190d Motorola GSG 1914 Alco Digital Devices Limited 1915 Nordic Semiconductor ASA 000c Wireless Desktop nRF24L01 CX-1766 0101 HP Prime Wireless Kit [FOK65AA] (Flash mode) 2233 Linksys WUSB11 v2.8 802.11b Adapter [Atmel AT76C505] 2234 Linksys WUSB54G v1 OEM 802.11g Adapter [Intersil ISL3886] 2235 Linksys WUSB54GP v1 OEM 802.11g Adapter [Intersil ISL3886] 2236 Linksys WUSB11 v3.0 802.11b Adapter [Intersil PRISM 3] 7777 Bitcraze Crazyradio (PA) dongle 191c Innovative Technology LTD 4104 Banknote validator NV-150 1923 FitLinxx 0002 Personal SyncPoint 1926 NextWindow 0003 1900 HID Touchscreen 0006 1950 HID Touchscreen 0064 1950 HID Touchscreen 0065 1950 HID Touchscreen 0066 1950 HID Touchscreen 0067 1950 HID Touchscreen 0068 1950 HID Touchscreen 0069 1950 HID Touchscreen 0071 1950 HID Touchscreen 0072 1950 HID Touchscreen 0073 1950 HID Touchscreen 0074 1950 HID Touchscreen 0075 1950 HID Touchscreen 0076 1950 HID Touchscreen 0077 1950 HID Touchscreen 0078 1950 HID Touchscreen 0079 1950 HID Touchscreen 007a 1950 HID Touchscreen 007e 1950 HID Touchscreen 007f 1950 HID Touchscreen 0080 1950 HID Touchscreen 0081 1950 HID Touchscreen 0082 1950 HID Touchscreen 0083 1950 HID Touchscreen 0084 1950 HID Touchscreen 0085 1950 HID Touchscreen 0086 1950 HID Touchscreen 0087 1950 HID Touchscreen 0dbf HID Touchscreen 0dc2 HID Touchscreen 1928 Proceq SA 0400 Equotip Piccolo 192f Avago Technologies, Pte. 0000 Mouse 0416 ADNS-5700 Optical Mouse Controller (3-button) 0616 ADNS-5700 Optical Mouse Controller (5-button) 0916 ADNS-2710 Optical Mouse Controller 1930 Shenzhen Xianhe Technology Co., Ltd. 1931 Ningbo Broad Telecommunication Co., Ltd. 1934 Feature Integration Technology Inc. (Fintek) 0602 F71610 or F71612 Consumer Infrared Receiver/Transceiver 0702 Integrated Consumer Infrared Receiver/Transceiver 5168 F71610A or F71612A Consumer Infrared Receiver/Transceiver 1935 Elektron Music Machines 000d Elektron Digitakt 1938 Meinberg Funkuhren GmbH & Co. KG 0501 TCR51USB IRIG Time Code Reader 0502 TCR600USB IRIG Time Code Reader 1941 Dream Link 8021 WH1080 Weather Station / USB Missile Launcher 1943 Sensoray Co., Inc. 2250 Model 2250 MPEG and JPEG Capture Card 2253 Model 2253 Audio/Video Codec Card 2255 Model 2255 4 Channel Capture Card 2257 Model 2257 4 Channel Capture Card 2263 Model 2263 UVC HD Audio/Video Codec Card a250 Model 2250 MPEG and JPEG Capture Card (cold) a253 Model 2253 Audio/Video Codec Card (cold) 1949 Lab126, Inc. 0002 Amazon Kindle 0004 Amazon Kindle 3/4/Paperwhite 0006 Amazon Kindle Fire 0008 Amazon Kindle Fire HD 8.9" 000a Amazon Kindle Fire 2nd generation (2012) 0331 Kindle Fire HD 8 (2018) 0417 Amazon Zukey; clone of Yubikey 4 OTP+U2F 0800 Fire Phone 194f PreSonus Audio Electronics, Inc. 0101 AudioBox 22 VSL 0102 AudioBox 44 VSL 0103 AudioBox 1818 VSL 0201 FaderPort 0301 AudioBox 1951 Hyperstone AG 1953 Ironkey Inc. 0202 S200 2GB Rev. 1 1954 Radiient Technologies 195d Itron Technology iONE 2030 Func KB-460 Gaming Keyboard 7002 Libra-Q11 IR remote 7006 Libra-Q26 / 1.0 Remote 7777 Scorpius wireless keyboard 7779 Scorpius-P20MT 1963 IK Multimedia 0005 iRig KEYS 0046 UNO Synth 1965 Uniden Corporation 0016 HomePatrol-1 0018 UBC125XLT 001a BCD436HP Scanner 1967 CASIO HITACHI Mobile Communications Co., Ltd. 196b Wispro Technology Inc. 1970 Dane-Elec Corp. USA 0000 Z Mate 16GB 1973 Spectralink Corporation 0002 Pivot recovery 0003 Pivot Media Transfer Protocol 0004 Pivot Media Transfer Protocol 1975 Dongguan Guneetal Wire & Cable Co., Ltd. 1976 Chipsbrand Microelectronics (HK) Co., Ltd. 1307 microSD Card Reader 6025 CBM2090 Flash Drive 1977 T-Logic 0111 TL203 MP3 Player and Voice Recorder 197d Leuze electronic 0222 BCL 508i 1980 Storage Appliance Corporation 0808 Clickfree C2 Slimline (527SE) 1989 Nuconn Technology Corp. 198f Beceem Communications Inc. 0210 BCS200 WiMAX Adapter 0220 BCSM250 WiMAX Adapter 1990 Acron Precision Industrial Co., Ltd. 1995 Trillium Technology Pty. Ltd. 3202 REC-ADPT-USB (recorder) 3203 REC-A-ADPT-USB (recorder) 1996 PixeLINK 3010 Camera Release 4 3011 OEM Camera 3012 e-ImageData Corp. ScanPro 1997 Shenzhen Riitek Technology Co., Ltd 0409 wireless mini keyboard with touchpad 2433 wireless mini keyboard with touchpad 199b MicroStrain, Inc. 3065 3DM-GX3-25 Orientation Sensor 199e The Imaging Source Europe GmbH 8101 DFx 21BU04 Camera 8457 DFK AFU130-L53 camera 199f Benica Corporation 19a5 HARRIS Corp. 0004 Remote NDIS Network Device 0012 RF-7800S Secure Personal Radio 0401 Mass Storage Device 0402 Falcon III RF-7800V family RNDIS 19a8 Biforst Technology Inc. 19ab Bodelin 1000 ProScope HR 19af S Life 6611 Celestia VoIP Phone 19b2 Batronix 0010 BX32 Batupo 0011 BX32P Barlino 0012 BX40 Bagero 0013 BX48 Batego 19b4 Celestron 0002 SkyScout Personal Planetarium 0101 Handheld Digital Microscope 44302 19b5 B & W Group 19b6 Infotech Logistic, LLC 19b9 Data Robotics 4b10 Drobo 8d20 Drobo Elite 19c2 Futuba 6a11 MDM166A Fluorescent Display 19ca Mindtribe 0001 Sandio 3D HID Mouse 19cf Parrot SA 0001 MiniKit Slim handsfree car kit in firmware update mode 19d1 BYD 19d2 ZTE WCDMA Technologies MSM 0001 CDMA Wireless Modem 0002 MF632/ONDA ET502HS/MT505UP 0007 TU25 WiMAX Adapter [Beceem BCS200] 0017 MF669 0031 MF110/MF627/MF636 0037 ONDA MC503HSA 0039 MF100 0063 K3565-Z HSDPA 0064 MF627 AU 0083 MF190 0103 MF112 0104 K4505-Z 0117 MF667 0146 MF 195E (HSPA+ Modem) 0167 MF820 4G LTE 0172 AX226 WIMAX MODEM (After Modeswitch) 0325 LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard 0326 LTE4G O2 ZTE MF821D LTE/UMTS/GSM Modem/Networkcard 0501 Lever Cell Phone Model Z936L 1001 K3805-Z vodafone WCDMA/GSM Modem - storage mode (made by ZTE) 1002 K3805-Z vodafone WCDMA/GSM Modem/Networkcard (made by ZTE) 1008 K3570-Z 1010 K3571-Z 1017 K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard 1018 K5006-Z vodafone LTE/UMTS/GSM Modem/Networkcard 1203 MF691 [ T-Mobile webConnect Rocket 2.0] 1217 MF652 1218 MF652 1270 MF667 2000 MF627/MF628/MF628+/MF636+ HSDPA/HSUPA fff2 Gobi Wireless Modem (QDL mode) fff3 Gobi Wireless Modem 19db KFI Printers 02f1 NAUT324C 19e1 WeiDuan Electronic Accessory (S.Z.) Co., Ltd. 19e8 Industrial Technology Research Institute 19ef Pak Heng Technology (Shenzhen) Co., Ltd. 19f7 RODE Microphones 0001 Podcaster 19fa Gampaq Co.Ltd 0607 GAME CONTROLLER 0703 Steering Wheel 19fd MTI Instruments Inc. 19ff Dynex 0102 1.3MP Webcam 0201 Rocketfish Wireless 2.4G Laser Mouse 0220 RF-HDWEBLT RocketFish HD WebCam 0238 DX-WRM1401 Mouse 0239 Bluetooth 4.0 Adapter [Broadcom, 1.12, BCM20702A0] 1a08 Bellwood International, Inc. 1a0a USB-IF non-workshop badd USB OTG Compliance test device 1a12 KES Co., Ltd. 1a1d Veho 0407 Mimi WiFi speakers 1a25 Amphenol East Asia Ltd. 1a2a Seagate Branded Solutions 1a2c China Resource Semico Co., Ltd 0021 Keyboard 0024 Multimedia Keyboard 2124 Keyboard 2d23 Keyboard 427c Backlit Keyboard [Cougar Vantar] 1a32 Quanta Microsystems, Inc. 0304 802.11n Wireless LAN Card 1a34 ACRUX 0802 Gamepad 1a36 Biwin Technology Ltd. 1a40 Terminus Technology Inc. 0101 Hub 0201 FE 2.1 7-port Hub 1a41 Action Electronics Co., Ltd. 1a44 VASCO Data Security International 0001 Digipass 905 SmartCard Reader 1a4a Silicon Image 1a4b SafeBoot International B.V. 1a5a Tandberg Data 1a61 Abbott Diabetes Care 3410 CoPilot System Cable 3650 FreeStyle Libre 3850 FreeStyle Optium/Precision Neo 3950 FreeStyle Libre 2 1a64 Mastervolt 0000 MasterBus Link 1a6a Spansion Inc. 1a6d SamYoung Electronics Co., Ltd 1a6e Global Unichip Corp. 1a6f Sagem Orga GmbH 1a72 Physik Instrumente 1008 E-861 PiezoWalk NEXACT Controller 1a79 Bayer Health Care LLC 6002 Contour 6210 Contour Next Link 2.4 glucometer 6300 Contour next link 7410 Contour Next 7800 Contour Plus One 1a7b Lumberg Connect GmbH & Co. KG 1a7c Evoluent 0068 VerticalMouse 3 0168 VerticalMouse 3 Wireless 0191 VerticalMouse 4 0195 VerticalMouse C Wireless 1a7e Meltec Systementwicklung 1001 UFT75, UT150, UT60 1003 Thermostick 1a81 Holtek Semiconductor, Inc. 1004 Wireless Dongle 2.4 GHZ HT82D40REW 1701 Wireless dongle 2004 Keyboard 2203 Laser Gaming mouse 2204 Optical Mouse 2205 Laser Mouse 4001 Keyboard 1a86 QinHeng Electronics 5512 CH341 in EPP/MEM/I2C mode, EPP/I2C adapter 5523 CH341 in serial mode, usb to serial port converter 5584 CH341 in parallel mode, usb to printer port converter 7523 CH340 serial converter 752d CH345 MIDI adapter 7584 CH340S e008 HID-based serial adapater 1a89 Dynalith Systems Co., Ltd. 1a8b SGS Taiwan Ltd. 1a8d BandRich, Inc. 1002 BandLuxe 3.5G HSDPA Adapter 1009 BandLuxe 3.5G HSPA Adapter 100d 4G LTE adapter 1a98 Leica Camera AG 1aa4 Data Drive Thru, Inc. 1aa5 UBeacon Technologies, Inc. 1aa6 eFortune Technology Corp. 1aab Silvercreations Software AG 7736 sceye (Gen 2) 7737 sceye (Gen 3) 7738 sceye (Gen 4, 3 Mpix) 7750 sceyeS (Gen 5, 5 MPix) 1aad KeeTouch 0001 Touchscreen 1ab1 Rigol Technologies 04b0 DS6000 SERIES 04be DS4000 SERIES 04ce DS1xx4Z/MSO1xxZ series 0588 DS1000 SERIES 1ab2 Allied Vision 0001 Vision device 1acb Salcomp Plc 1acc Midiplus Co, Ltd. 0103 AudioLink plus 4x4 2.9.28 1ad1 Desay Wire Co., Ltd. 1ad4 APS 0002 KM290-HRS 1adb Schweitzer Engineering Laboratories, Inc 0001 C662 Serial Cable 0003 CDC Ethernet Gadget 1ae4 ic-design Reinhard Gottinger GmbH 1ae7 X-TENSIONS 0381 VS-DVB-T 380U (af9015 based) 0525 X-Tensions ISDN TA XC-525 [HFC-S USB] 2001 SpeedLink Snappy Mic webcam (SL-6825-SBK) 9003 SpeedLink Vicious And Devine Laplace webcam, white (VD-1504-SWT) 9004 SpeedLink Vicious And Devine Laplace webcam, black (VD-1504-SBK) 1aed High Top Precision Electronic Co., Ltd. 1aef Conntech Electronic (Suzhou) Corporation 1af1 Connect One Ltd. 1af3 Kingsis Technology Corporation 0001 ZOWIE Gaming mouse 1afe A. Eberle GmbH & Co. KG 0001 PQ Box 100 1b04 Meilhaus Electronic GmbH 0630 ME-630 0940 ME-94 0950 ME-95 0960 ME-96 1000 ME-1000 100a ME-1000 100b ME-1000 1400 ME-1400 140a ME-1400A 140b ME-1400B 140c ME-1400C 140d ME-1400D 140e ME-1400E 14ea ME-1400EA 14eb ME-1400EB 1604 ME-1600/4U 1608 ME-1600/8U 160c ME-1600/12U 160f ME-1600/16U 168f ME-1600/16U8I 4610 ME-4610 4650 ME-4650 4660 ME-4660 4661 ME-4660I 4662 ME-4660 4663 ME-4660I 4670 ME-4670 4671 ME-4670I 4672 ME-4670S 4673 ME-4670IS 4680 ME-4680 4681 ME-4680I 4682 ME-4680S 4683 ME-4680IS 6004 ME-6000/4 6008 ME-6000/8 600f ME-6000/16 6014 ME-6000I/4 6018 ME-6000I/8 601f ME-6000I/16 6034 ME-6000ISLE/4 6038 ME-6000ISLE/8 603f ME-6000ISLE/16 6044 ME-6000/4/DIO 6048 ME-6000/8/DIO 604f ME-6000/16/DIO 6054 ME-6000I/4/DIO 6058 ME-6000I/8/DIO 605f ME-6000I/16/DIO 6074 ME-6000ISLE/4/DIO 6078 ME-6000ISLE/8/DIO 607f ME-6000ISLE/16/DIO 6104 ME-6100/4 6108 ME-6100/8 610f ME-6100/16 6114 ME-6100I/4 6118 ME-6100I/8 611f ME-6100I/16 6134 ME-6100ISLE/4 6138 ME-6100ISLE/8 613f ME-6100ISLE/16 6144 ME-6100/4/DIO 6148 ME-6100/8/DIO 614f ME-6100/16/DIO 6154 ME-6100I/4/DIO 6158 ME-6100I/8/DIO 615f ME-6100I/16/DIO 6174 ME-6100ISLE/4/DIO 6178 ME-6100ISLE/8/DIO 617f ME-6100ISLE/16/DIO 6259 ME-6200I/9/DIO 6359 ME-6300I/9/DIO 810a ME-8100A 810b ME-8100B 820a ME-8200A 820b ME-8200B 1b0e BLUTRONICS S.r.l. 1078 BLUDRIVE II CCID 1079 BLUDRIVE II CCID 1080 WRITECHIP II CCID 1b12 Eventide 0011 ModFactor 1b1c Corsair 0890 Flash Padlock 0a00 SP2500 Speakers 0a60 Vengeance K60 Keyboard 0c04 Link Cooling Node 0c06 RM-Series C-Link Adapter 0c0a Hydro Series H115i Liquid CPU Cooler 0c0b Lighting Node Pro 0c0c Lighting Node Loader 0c22 iCUE H150i RGB PRO XT Liquid CPU Cooler 1a01 Flash Voyager GT 1a03 Voyager 3.0 1a09 Voyager GT 3.0 1a0a Survivor Stealth Flash Drive 1a0b Flash Voyager LS 1a0e Voyager GTX 1a14 Voyager Vega 1a15 Voyager Slider Flash Drive 1a90 Flash Voyager GT 1ab1 Voyager 1b04 Raptor K50 Keyboard 1b07 Vengeance K65 Gaming Keyboard 1b08 Vengeance K95 Keyboard 1b09 Vengeance K70R keyboard 1b11 K95 RGB Mechanical Gaming Keyboard 1b13 Vengeance K70RGB keyboard 1b20 STRAFE RGB Gaming Keyboard 1b2d K95 RGB Platinum Keyboard [RGP0056] 1b2e Corsair Corsair Gaming M65 Pro RGB Mouse 1b2f Sabre RGB [CH-9303011-XX] 1b3d Corsair Corsair Gaming K55 RGB Keyboard 1b5e Harpoon Wireless Mouse 1b65 Harpoon Wireless Dongle 1c00 Controller for Corsair Link 1c02 AX1500i Power Supply 1c05 HX750i Power Supply 1c07 HX1000i Power Supply 1c08 HX1200i Power Supply 1c0b RM750i Power Supply 1c0c RM850i Power Supply 1c1a Corsair CORSAIR Lighting Node CORE 1b1e General Imaging / General Electric 1003 A1250 1b1f eQ-3 Entwicklung GmbH c00f HM-CFG-USB/HM-CFG-USB-2 [HomeMatic Configuration adapter] c020 HmIP-RFUSB 1b20 MStar Semiconductor, Inc. 1b22 WiLinx Corp. 1b24 Telegent Systems, Inc. 4001 TLG2300 Hybrid TV Device 1b26 Cellex Power Products, Inc. 1b27 Current Electronics Inc. 1b28 NAVIsis Inc. 1b32 Ugobe Life Forms, Inc. 0064 Pleo robotic dinosaur 1b36 ViXS Systems, Inc. 1b3b iPassion Technology Inc. 2933 PC Camera/Webcam controller 2935 PC Camera/Webcam controller 2936 PC Camera/Webcam controller 2937 PC Camera/Webcam controller 2938 PC Camera/Webcam controller 2939 PC Camera/Webcam controller 2950 PC Camera/Webcam controller 2951 PC Camera/Webcam controller 2952 PC Camera/Webcam controller 2953 PC Camera/Webcam controller 2955 PC Camera/Webcam controller 2956 PC Camera/Webcam controller 2957 PC Camera/Webcam controller 2958 PC Camera/Webcam controller 2959 PC Camera/Webcam controller 2960 PC Camera/Webcam controller 2961 PC Camera/Webcam controller 2962 PC Camera/Webcam controller 2963 PC Camera/Webcam controller 2965 PC Camera/Webcam controller 2966 PC Camera/Webcam controller 2967 PC Camera/Webcam controller 2968 PC Camera/Webcam controller 2969 PC Camera/Webcam controller 1b3f Generalplus Technology Inc. 0c52 808 Camera #9 (mass storage mode) 2002 808 Camera #9 (web-cam mode) 2003 GPD6000 [Digital MP3 Player] 1b47 Energizer Holdings, Inc. 0001 CHUSB Duo Charger (NiMH AA/AAA USB smart charger) 1b48 Plastron Precision Co., Ltd. 1b52 ARH Inc. 2101 FXMC Neural Network Controller 2102 FXMC Neural Network Controller V2 2103 FXMC Neural Network Controller V3 4101 Passport Reader CLR device 4201 Passport Reader PRM device 4202 Passport Reader PRM extension device 4203 Passport Reader PRM DSP device 4204 Passport Reader PRMC device 4205 Passport Reader CSHR device 4206 Passport Reader PRMC V2 device 4301 Passport Reader MRZ device 4302 Passport Reader MRZ DSP device 4303 Passport Reader CSLR device 4401 Card Reader 4501 Passport Reader RFID device 4502 Passport Reader RFID AIG device 6101 Neural Network Controller 6202 Fingerprint Reader device 6203 Fingerprint Scanner device 8101 Camera V1 8102 Recovery / Camera V2 8103 Camera V3 1b59 K.S. Terminals Inc. 1b5a Chao Zhou Kai Yuan Electric Co., Ltd. 1b65 The Hong Kong Standards and Testing Centre Ltd. 1b71 Fushicai 0050 Encore ENUTV-4 Analog TV Tuner 3002 USBTV007 Video Grabber [EasyCAP] 1b72 ATERGI TECHNOLOGY CO., LTD. 1b73 Fresco Logic 1000 xHC1 Controller 1b75 Ovislink Corp. 3072 AirLive WN-360USB adapter 8171 WN-370USB 802.11bgn Wireless Adapter [Realtek RTL8188SU] 8187 AirLive WL-1600USB 802.11g Adapter [Realtek RTL8187L] 9170 AirLive X.USB 802.11abgn [Atheros AR9170+AR9104] a200 AirLive WN-200USB wireless 11b/g/n dongle 1b76 Legend Silicon Corp. 1b80 Afatech c810 MC810 [af9015] d393 DVB-T receiver [RTL2832U] d396 UB396-T [RTL2832U] d397 DVB-T receiver [RTL2832U] d398 DVB-T receiver [RTL2832U] d700 FM Radio SnapMusic Mobile 700 (FM700) e297 Conceptronic DVB-T CTVDIGRCU V3.0 e302 CVBS / S-Video Capture Device [Pinnacle Dazzle / UB315-E] e34c UB435-Q ATSC TV Stick e383 DVB-T UB383-T [af9015] e385 DVB-T UB385-T [af9015] e386 DVB-T UB385-T [af9015] e399 DVB-T KWorld PlusTV 399U [af9015] e39a DVB-T395U [af9015] e39b DVB-T395U [af9015] e401 Sveon STV22 DVB-T [af9015] e409 IT9137FN Dual DVB-T [KWorld UB499-2T] 1b86 Dongguan Guanshang Electronics Co., Ltd. 1b88 ShenMing Electron (Dong Guan) Co., Ltd. 1b8c Altium Limited 1b8d e-MOVE Technology Co., Ltd. 1b8e Amlogic, Inc. 1b8f MA LABS, Inc. 1b96 N-Trig 0001 Duosense Transparent Electromagnetic Digitizer 1b98 YMax Communications Corp. 1b99 Shenzhen Yuanchuan Electronic 1ba1 JINQ CHERN ENTERPRISE CO., LTD. 1ba2 Lite Metals & Plastic (Shenzhen) Co., Ltd. 1ba4 Ember Corporation 0001 InSight USB Link 0002 EM358 Virtual COM Port 1ba6 Abilis Systems 1ba8 China Telecommunication Technology Labs 1bad Harmonix Music 0002 Rock Band Guitar for Xbox 360 0003 Rock Band Drum Kit for Xbox 360 0130 Ion Drum Rocker for Xbox 360 028e Controller 3330 Rock Band 3 Keyboard wii interface f016 Controller f018 Street Fighter IV SE FightStick for Xbox 360 f019 BrawlStick for Xbox 360 f021 Ghost Recon Future Soldier Gamepad for Xbox 360 f023 MLG Pro Circuit Controller for Xbox 360 f025 Call of Duty Controller for Xbox 360 f027 FPS Pro Controller for Xbox 360 f028 Street Fighter IV FightPad for Xbox 360 f02e FightPad f030 MC2 MicroCON Racing Wheel for Xbox 360 f036 MicroCON Gamepad Pro for Xbox 360 f038 Street Fighter IV FightStick TE for Xbox 360 f039 Marvel VS Capcom 2 Tournament Stick for Xbox 360 f03a Street Fighter X Tekken FightStick Pro for Xbox 360 f03d Street Fighter IV Arcade Stick TE for Xbox 360 f03e MLG Arcade FightStick TE for Xbox 360 f03f Soulcalibur FightStick for Xbox 360 f042 Arcade FightStick TE S+ for Xbox 360 f080 FightStick TE2 for Xbox 360 f501 Horipad EX2 Turbo for Xbox 360 f502 Real Arcade Pro.VX SA for Xbox 360 f503 Fighting Stick VX for Xbox 360 f504 Real Arcade Pro.EX f505 Fighting Stick EX2B for Xbox 360 f506 Real Arcade Pro.EX Premium VLX for Xbox 360 f900 Controller f901 GameStop Controller f903 Tron Controller for Xbox 360 f904 PDP Versus Fighting Pad for Xbox 360 f906 Mortal Kombat FightStick for Xbox 360 f907 Afterglow Gamepad fa01 Gamepad fd00 Razer Onza Tournament Edition fd01 Razer Onza Classic Edition 1bae Vuzix Corporation 0002 VR920 Immersive Eyewear 1bbb T & A Mobile Phones 0003 Alcatel one touch 4030D modem connection 0017 HSPA Data Card 007a Alcatel OneTouch (firmware upgrade mode) 011e Alcatel One Touch L100V / Telekom Speedstick LTE II 0169 Alcatel ONE TOUCH Fierce 0195 Alcatel OneTouch L850V / Telekom Speedstick LTE a00e Vodafone Smart Tab 4G f000 Alcatel OneTouch (mass storage mode) f017 Alcatel One Touch L100V / Telekom Speedstick LTE II 1bbd Videology Imaging Solutions, Inc. 0060 1.3MP Mono Camera 0066 1.3MP Mono Camera 0067 1.3MP Mono Camera 1bc0 Beijing Senseshield Technology Co.,Ltd. 0013 Elitee-e 0014 Elite4 0020 iToken 0021 Mikey 0051 Elite5 0055 Elite5 v3.x 485d EliteIV 1bc4 Ford Motor Co. 1bc5 AVIXE Technology (China) Ltd. 1bc7 Telit Wireless Solutions 0020 HE863 0021 HE910 0022 GE910-QUAD 0023 HE910-D ECM 0032 LE910-EU V2 1003 UC864-E 1004 UC864-G 1005 CC864-DUAL 1006 CC864-SINGLE 1010 DE910-DUAL 1011 CE910-DUAL 1012 UE910 V2 1101 ME910C1 110a ME310 1200 LE920 (old firmware) 1201 LE910 / LE920 1bce Contac Cable Industrial Limited 1bcf Sunplus Innovation Technology Inc. 0005 Optical Mouse 0007 Optical Mouse 053a Targa Silvercrest OMC807-C optische Funkmaus 05c5 SPRF2413A [2.4GHz Wireless Keyboard/Mouse Receiver] 05cf Micro keyboard & mouse receiver 08a0 Gaming mouse [Philips SPK9304] 0c31 SPIF30x Serial-ATA bridge 2281 SPCA2281 Web Camera 2880 Dell HD Webcam 2883 Asus Webcam 2885 ASUS Webcam 2888 HP Universal Camera 2895 Dell Integrated Webcam 28a2 Dell Integrated Webcam 28a6 DELL XPS Integrated Webcam 28ae Laptop Integrated Webcam HD 28bd Dell Integrated HD Webcam 2985 Laptop Integrated Webcam HD 2b83 Laptop Integrated Webcam FHD 2b91 Dell E5570 integrated webcam 2b97 Laptop Integrated Webcam FHD 2c6e Laptop Integrated WebCam HD 1bd0 Hangzhou Riyue Electronic Co., Ltd. 1bd5 BG Systems, Inc. 1bda University Of Southampton 0010 Power Board v4 Rev B 0011 Student Robotics SBv4B 1bde P-TWO INDUSTRIES, INC. 1bef Shenzhen Tongyuan Network-Communication Cables Co., Ltd 1bf0 RealVision Inc. 1bf5 Extranet Systems Inc. 1bf6 Orient Semiconductor Electronics, Ltd. 1bfd TouchPack 1268 Touch Screen 1368 Touch Screen 1568 Capacitive Touch Screen 1668 IR Touch Screen 1688 Resistive Touch Screen 2968 Touch Screen 5968 Touch Screen 6968 Touch Screen 1c02 Kreton Corporation 1c04 QNAP System Inc. 2074 ASM1074 High-Speed hub 3074 ASM1074 SuperSpeed hub 1c05 Shenxhen Stager Electric ea75 G540 Programmer 1c0c Ionics EMS, Inc. 0102 Plug Computer 1c0d Relm Wireless 1c10 Lanterra Industrial Co., Ltd. 1c11 Input Club Inc. b04d ErgoDox Infinity 1c13 ALECTRONIC LIMITED 1c1a Datel Electronics Ltd. 0100 Action Replay DS "3DS/DSi/DS/Lite Compatible" 1c1b Volkswagen of America, Inc. 1c1f Goldvish S.A. 1c20 Fuji Electric Device Technology Co., Ltd. 1c21 ADDMM LLC 1c22 ZHONGSHAN CHIANG YU ELECTRIC CO., LTD. 1c26 Shanghai Haiying Electronics Co., Ltd. 1c27 HuiYang D & S Cable Co., Ltd. 1c28 PMD Technologies c003 CamCube c004 CamBoard c005 ConceptCam c006 CamBoard 22 c007 CamBoard nano c008 CamBoard mod c009 CamBoard plus c00a DigiCam c00d CamBoard pico LDD c00f CamBoard pico 1c29 Elster GmbH 0001 ExMFE5 Simulator 10fc enCore device 1c31 LS Cable Ltd. 1c34 SpringCard 7241 Prox'N'Roll RFID Scanner 1c37 Authorizer Technologies, Inc. 6190 U2F Fido-compliant cryptotoken 1c3d NONIN MEDICAL INC. 1c3e Wep Peripherals 1c40 EZPrototypes 0533 TiltStick 0534 i2c-tiny-usb interface 0535 glcd2usb interface 0536 Swiss ColorPAL 0537 MIST Board 1c49 Cherng Weei Technology Corp. 1c4b Geratherm Medical AG 026f Spirostik 1c4f SiGma Micro 0002 Keyboard TRACER Gamma Ivory 0003 HID controller 000e Genius KB-120 Keyboard 0026 Keyboard 0032 Optical Mouse with Scroll Wheel 0034 XM102K Optical Wheel Mouse 0063 Touchpad (integrated in detachable keyboard of Chuwi SurBook) 0065 Optical Wheel Mouse [Rapoo N1130] 3000 Micro USB Web Camera 3002 WebCam SiGma Micro 1c57 Zalman Tech Co., Ltd. 1e45 FPSGUN FG1000 Mouse 1c6b Philips & Lite-ON Digital Solutions Corporation a220 DVD Writer Slimtype eSAU108 a222 DVD Writer Slimtype eTAU108 a223 DVD Writer Slimtype eUAU108 1c6c Skydigital Inc. 1c71 Humanware Inc c004 Braille Note Apex (braille terminal mode) 1c73 AMT 861f Anysee E30 USB 2.0 DVB-T Receiver 1c75 Arturia 0288 KeyStep 1c77 Kaetat Industrial Co., Ltd. 1c78 Datascope Corp. 1c79 Unigen Corporation 1c7a LighTuning Technology Inc. 0577 Fingerprint Sensor 0603 ES603 Swipe Fingerprint Sensor 0801 Fingerprint Reader 1c7b LUXSHARE PRECISION INDUSTRY (SHENZHEN) CO., LTD. 1c82 Atracsys 0200 spryTrac 1c83 Schomaecker GmbH 0001 RS150 V2 0002 RFID card reader 0003 Communicator 0005 Mobile RFID Reader 1c87 2N TELEKOMUNIKACE a.s. 1c88 Somagic, Inc. 0007 SMI Grabber (EasyCAP DC60+ clone) (no firmware) [SMI-2021CBE] 003c SMI Grabber (EasyCAP DC60+ clone) [SMI-2021CBE] 1c89 HONGKONG WEIDIDA ELECTRON LIMITED 1c8e ASTRON INTERNATIONAL CORP. 1c98 ALPINE ELECTRONICS, INC. 1c9e OMEGA TECHNOLOGY 6061 WL-72B 3.5G MODEM 1ca0 ACCARIO Inc. 1ca1 Symwave 18ab SATA bridge 1cac Kinstone a332 C8 Webcam b288 C18 Webcam 1cb3 Aces Electronic Co., Ltd. 1cb4 OPEX CORPORATION 1cb6 IdeaCom Technology Inc. 6681 IDC6681 1cbe Luminary Micro Inc. 0002 CDC serial port [TivaWare] 00fd In-Circuit Debug Interface 00ff Stellaris ROM DFU Bootloader 0166 CANAL USB2CAN 0240 McGill Robotics TM4C Microcontroller 1cbf FORTAT SKYMARK INDUSTRIAL COMPANY 1cc0 PlantSense 1cca NextWave Broadband Inc. 1ccd Bodatong Technology (Shenzhen) Co., Ltd. 1cd4 adp corporation 1cd5 Firecomms Ltd. 1cd6 Antonio Precise Products Manufactory Ltd. 1cde Telecommunications Technology Association (TTA) 1cdf WonTen Technology Co., Ltd. 1ce0 EDIMAX TECHNOLOGY CO., LTD. 1ce1 Amphenol KAE 1cf1 Dresden Elektronik 0001 Sensor Terminal Board 0004 Wireless Handheld Terminal 0017 deRFusbSniffer 2.4 GHz 0018 deRFusb24E001 0019 deRFusb14E001 001a deRFusb23E00 001b deRFusb13E00 001c deRFnode 001d deRFnode / gateway 0022 deUSB level shifter 0023 deRFusbSniffer Sub-GHz 0025 deRFusb23E06 0027 deRFusb13E06 0030 ZigBee gateway [ConBee II] 1cfc ANDES TECHNOLOGY CORPORATION 1cfd Flextronics Digital Design Japan, LTD. 1d03 iCON 0028 iCreativ MIDI Controller 1d07 Solid-Motion 1d08 NINGBO HENTEK DRAGON ELECTRONICS CO., LTD. 1d09 TechFaith Wireless Technology Limited 1026 HSUPA Modem FLYING-LARK46-VER0.07 [Flying Angel] 1d0a Johnson Controls, Inc. The Automotive Business Unit 1d0b HAN HUA CABLE & WIRE TECHNOLOGY (J.X.) CO., LTD. 1d0d TDKMedia 0214 Trans-It Drive 1d0f Sonix Technology Co., Ltd. 1d14 ALPHA-SAT TECHNOLOGY LIMITED 1d17 C-Thru Music Ltd. 0001 AXiS-49 Harmonic Table MIDI Keyboard 1d19 Dexatek Technology Ltd. 1101 DK DVB-T Dongle 1102 DK mini DVB-T Dongle 1103 DK 5217 DVB-T Dongle 1104 MSI DigiVox Micro HD 6105 Video grabber 610a Video grabber 8202 DK DVBC/T DONGLE 1d1f Diostech Co., Ltd. 1d20 SAMTACK INC. 1d27 ASUS 0601 Xtion 1d34 Dream Cheeky 0001 Fidget 0002 Fidget (Basketball) 0003 Fidget (Golf Ball) 0004 Webmail Notifier 0008 button 000a Mailbox Friends Alert 000d Big Red Button 0013 LED Message Board 0020 Stress Ball 1d45 Touch 1d45 Foxlink Optical touch sensor 459d BenQ F5 465c Harrier Mini by EE 1d4d PEGATRON CORPORATION 0002 Ralink RT2770/2720 802.11b/g/n Wireless LAN Mini-USB Device 000c Ralink RT3070 802.11b/g/n Wireless Lan USB Device 000e Ralink RT3070 802.11b/g/n Wireless Lan USB Device 1d50 OpenMoko, Inc. 1db5 IDBG (DFU) 1db6 IDBG 5117 Neo1973/FreeRunner kernel usbnet (g_ether, CDC Ethernet) mode 5118 Neo1973/FreeRunner Debug board (V2+) 5119 Neo1973/FreeRunner u-boot cdc_acm serial port 511a HXD8 u-boot usbtty CDC ACM Mode 511b SMDK2440 u-boot usbtty CDC ACM mode 511c SMDK2443 u-boot usbtty CDC ACM mode 511d QT2410 u-boot usbtty CDC ACM mode 5120 Neo1973/FreeRunner u-boot usbtty generic serial 5121 Neo1973/FreeRunner kernel mass storage (g_storage) mode 5122 Neo1973/FreeRunner kernel cdc_ether USB network 5123 Neo1973/FreeRunner internal USB CSR4 module 5124 Neo1973/FreeRunner Bluetooth Device ID service 5300 Rockbox 530e iriver H10 20GB (Rockbox) 530f iriver H10 5/6GB (Rockbox) 5314 Apple iPod Color/Photo (Rockbox) 5315 Apple iPod Nano 1g (Rockbox) 5316 Apple iPod Video (Rockbox) 5318 Apple iPod 4g Grayscale (Rockbox) 5319 Apple iPod Mini 1g (Rockbox) 531a Apple iPod Mini 2g (Rockbox) 531c Apple iPod Nano 2g (Rockbox) 531d Apple iPod Classic/6G (Rockbox) 5321 Cowon D2 (Rockbox) 5329 Toshiba Gigabeat S (Rockbox) 5332 Sandisk Sansa e200 series (Rockbox) 5334 Sandisk Sansa c200 series (Rockbox) 5337 Sandisk Sansa Clip (Rockbox) 5338 Sandisk Sansa e200v2 series (Rockbox) 5339 Sandisk Sansa m200 v4 series (Rockbox) 533a Sandisk Sansa Fuze (Rockbox) 533b Sandisk Sansa c200v2 series (Rockbox) 533c Sandisk Sansa Clipv2 (Rockbox) 533e Sandisk Sansa Clip+ (Rockbox) 533f Sandisk Sansa Fuze v2 (Rockbox) 5340 Sandisk Sansa Fuze+ (Rockbox) 5341 Sandisk Sansa Zip (Rockbox) 5342 Sandisk Sansa Connect (Rockbox) 5346 Olympus M:Robe 500i (Rockbox) 5347 Olympus m:robe MR-100 (Rockbox) 5359 Creative Zen X-Fi Style (Rockbox) 535d Creative Zen X-Fi2 (Rockbox) 535e Creative Zen X-Fi3 (Rockbox) 5360 Creative Zen X-Fi (Rockbox) 5361 Creative ZEN Mozaic (Rockbox) 5362 Creative Zen (Rockbox) 5364 Philips GoGear SA9200 (Rockbox) 5365 Philips GoGear HDD16x0 (Rockbox) 5366 Philips GoGear HDD63x0 (Rockbox) 5378 Onda VX747 (Rockbox) 5379 Onda VX767 (Rockbox) 537b Onda VX777 (Rockbox) 538c Samsung YH-820 (Rockbox) 538d Samsung YH-920 (Rockbox) 538e Samsung YH-925 (Rockbox) 53a0 Packard Bell Vibe 500 (Rockbox) 53b4 Rockchip 27xx generic (Rockbox) 53be HiFiMAN HM-60x (Rockbox) 53bf HiFiMAN HM-801 (Rockbox) 53d2 HiFi E.T. MA9 (Rockbox) 53d3 HiFi E.T. MA9C (Rockbox) 53d4 HiFi E.T. MA8 (Rockbox) 53d5 HiFi E.T. MA8C (Rockbox) 53dc Sony NWZ-E370/E380 series (Rockbox) 53dd Sony NWZ-E360 series (Rockbox) 53e6 IHIFI 760 (Rockbox) 53e7 IHIFI 960 (Rockbox) 53ff Generic Rockbox device 6000 Ubertooth Zero 6001 Ubertooth Zero (DFU) 6002 Ubertooth One 6003 Ubertooth One (DFU) 6004 LeoLipo 6005 LED Flower S 6006 LED Cube 6007 LED Flower 6008 Kisbee 802.15.4 transceiver 6009 Adjacent Reality Tracker 600a AVR Programmer 600b Hypna Go Go 600c CatNip LPC1343 development board 600d Enhanced RoboBrrd Brain board 600e OpenRISC Ordb2a-ep4ce22 development board 600f Paparazzi Lisa/M (DFU) 6010 OpenPipe: OSHW Bagpipes MIDI controller 6011 LeoLipo (DFU) 6012 Universal C64 Cartridge 6013 DiscFerret magnetic disc analyser (bootloader) 6014 DiscFerret magnetic disc analyser 6015 Smoothieboard 6016 phInterface 6017 Black Magic Debug Probe (DFU) 6018 Black Magic Debug Probe (Application) 6019 4pi 5 axis motion controller 601a Paparazzi Lisa/M 601b IST-2 chronograph for bullet speeds 601c EPOSMote II 601d UDS18B20 temperature sensor 601e 5x5 STM32 prototyping board 601f uNSF 6020 Toad3 6021 AlphaSphere 6022 LightPack 6023 Pixelkit 6024 Illucia 6025 Keyglove (HID) 6026 Keyglove (Serial) 6027 Key64 Keyboard 6028 Teensy 2.0 Development Board [ErgoDox Keyboard] 6029 Marlin 2.0 (Serial) 602a Marlin 2.0 (Mass Storage) 602b FPGALink 602c 5nes5snes (5x8) 602d 5nes5snes (4x12) 602e Flexibity 602f K-copter 6030 USB-oscope 6031 Handmade GSM GPS tracker 6032 ncrmnt.org uISP 6033 frobiac / adnw keyboard 6034 Tiflomag Ergo 2 6035 FreeLaserTag Gun 6036 FreeLaserTag Big Brother 6037 FreeLaserTag Node 6038 Monaka 6039 eXtreme Feedback Device 603a TiLDA 603b Raspiface 603c Paparazzi (bootloader) 603d Paparazzi (Serial) 603e Paparazzi (Mass Storage) 603f airGuitar 6040 moco 6041 AlphaSphere (bootloader) 6042 Dspace robot controller 6043 pc-power 6044 open-usb-can (DFU) 6045 open-usb-can 6046 mimus-weigand 6047 RfCat Chronos Dongle 6048 RfCat Dons Dongle 6049 RfCat Chronos bootloader 604a RfCat Dons bootloader 604b HackRF Jawbreaker Software-Defined Radio 604c Makibox A6 604d Paella Pulse height analyzer 604e Miniscope v2b 604f Miniscope v2c 6050 GoodFET 6051 pinocc.io 6052 APB Team Robotic Development Board 6053 Darkgame Controller 6054 Satlab/AAUSAT3 BlueBox 6055 RADiuS ER900TRS-02 transciever with SMA Connector 6056 The Glitch 6057 OpenPipe MIDI Shield 6058 Novena OTG port 6059 xser serial 605a Daisho test 605b RfCat YARD Stick One 605c YARD Stick One bootloader 605d Funky Sensor v2 605e Blinkiverse Analog LED Fader 605f Small DIP package Cypress FX2 6060 Data logger using the Cypress FX2 6061 Power Manager 6062 WhiteRabbit console and Wishbone bridge 6063 CPC FPGA 6064 CPC FPGA (DFU) 6065 CPC FPGA (Serial) 6066 Nuand BladeRF 6067 Orbotron 9000 (Serial) 6068 Orbotron 9000 (HID) 6069 xser (DFU) 606a xser (legacy) 606b S08-245, urJtag compatible firmware for S08JS 606c Blinkytape full-color light tape 606d TinyG open source motion controller 606e Reefangel Evolution 1.0 606f Geschwister Schneider CAN adapter 6070 Open Pinball Project 6071 The Glitch HID 6072 The Glitch Disk 6073 The Glitch Serial 6074 The Glitch MIDI 6075 The Glitch RawHID 6076 Vultureprog BIOS chip programmer 6077 PaintDuino 6078 DTplug 6079 Mood Light 607a Fadecandy 607b RCDongle for IR remote control 607c OpenVizsla USB sniffer/analyzer 607d Spark Core Arduino-compatible board with WiFi 607e OSHUG Wuthering multi-tool 607f Spark Core Arduino-compatible board with WiFi (bootloader) 6080 arcin arcade controller 6081 BladeRF (bootloader) 6082 Facecandy (DFU) 6083 LightUp (bootloader) 6084 arcin arcade controller (DFU) 6085 IRKit for controlloing home electronics from iOS devices 6086 OneRNG entropy device 6087 Blinkytape (alternate endpoint config) 6088 picp PIC16F145x based PIC16F145x programmer 6089 Great Scott Gadgets HackRF One SDR 608a BLEduino 608b Loctronix ASR-2300 SDR/motion sensing module 608c Fx2lafw 608d Fx2lafw 608e Fx2lafw 608f Fx2lafw 6090 Fx2lafw 6091 Fx2lafw 6092 Fx2lafw 6093 Fx2lafw 6094 Fx2lafw 6095 Fx2lafw 6096 LightUp (sketch) 6097 Tessel JavaScript enabled Microcontroller with built-in WiFi 6098 RFIDler 6099 RASDR Radio Astronomy SDR Rx Interface 609a RASDR Radio Astronomy SDR Tx Interface 609b RASDR Radio Astronomy SDR (bootloader) 609c antiAFK keyboard 609d PIC16F145x bootloader 609e Clyde Lamp by Fabule (bootloader) 609f Clyde Lamp by Fabule (sketch) 60a0 Smoothiepanel robotic control interface 60a1 Airspy 60a2 barebox (DFU) 60a3 keyboard (bootloader) 60a4 Papilio Duo (AVR) 60a5 Papilio Duo (FPGA) 60a6 HydraBus/HydraNFC (bootloader) 60a7 HydraBus/HydraNFC 60a8 reserved 60a9 Blinky Light Controller (DFU) 60aa Blinky Light Controller 60ab AllPixel 60ac OpenBLT generic microcontroller (bootloader) 60ad Clasic Gamepad Adapter (NES) 60ae Clasic Gamepad Adapter (N64) 60af Clasic Gamepad Adapter (DB9) 60b0 Waterott Arduino based Clock (caterina bootloader) 60b1 Drinkbot (processing) 60b2 Drinkbot (OTG-tablet support) 60b3 calc.pw password generator device (standard) 60b4 calc.pw password generator device (enhanced) 60b5 TimVideos' HDMI2USB (FX2) - Unconfigured device 60b6 TimVideos' HDMI2USB (FX2) - Firmware load/upgrade 60b7 TimVideos' HDMI2USB (FX2) - HDMI/DVI Capture Device 60b8 TimVideos' HDMI2USB (Soft+UTMI) - Unconfigured device 60b9 TimVideos' HDMI2USB (Soft+UTMI) - Firmware upgrade 60ba TimVideos' HDMI2USB (Soft+UTMI) - HDMI/DVI Capture Device 60bc Simple CC25xx programmer / serial board 60bd Open Source control interface for multimedia applications 60be Pixelmatix Aurora (bootloader) 60bf Pixelmatix Aurora 60c0 Nucular Keyboard adapter 60c1 BrewBit Model-T pOSHW temperature controller for homebrewers (bootloader) 60c2 BrewBit Model-T pOSHW temperature controller for homebrewers 60c3 X Antenna Tracker arduino board 60c4 CAN bus communication device 60c5 PIC16F1 bootloader 60c6 USBtrng hardware random number generator 60c7 Zubax GNSS positioning module for light UAV systems 60c8 Xlink data transfer and control system for Commodore C64 60c9 random number generator 60ca FinalKey password manager 60cb PteroDAQ Data Acquisition on FRDM-KL25Z and future boards 60cc LamDiNao 60cd Open Lighting DMX512 / RDM widget 60de Cryptech.is random number generator 60df Numato Opsis HDMI2USB board (unconfigured) 60e0 Numato Opsis HDMI2USB board (JTAG Programming Mode) 60e1 Numato Opsis HDMI2USB board (User Mode) 60e2 Osmocom SIMtrace 2 (DFU) 60e3 Osmocom SIMtrace 2 60e4 3D printed racing game - (Catalina CDC bootloader) 60e5 3D printed racing game 60e6 replacement for GoodFET/FaceDancer - GreatFet 60e7 replacement for GoodFET/FaceDancer - GreatFet target 60e8 Alpen Clack keyboard 60e9 keyman64 keyboard itercepter 60ea Wiggleport FPGA-based I/O board 60eb candleLight CAN adapter 60ec Duet 2 WiFi or Duet 2 Ethernet 3D printer control electronics 60ed Duet 2 Maestro 3D printer control electronics 60ee Duet 3 motion control electronics 60f0 UDAD-T1 data aquisition device (boot) 60f1 UDAD-T1 data aquisition device 60f2 UDAD-T2 data aquisition device (boot) 60f3 UDAD-T2 data aquisition device 60f4 Uniti ARC motor controller 60f5 EightByEight Blinky Badge (DFU) 60f6 EightByEight Blinky Badge 60f7 cardio NFC/RFID card reader (bootloader) 60f8 cardio NFC/RFID card reader 60fc OnlyKey Two-factor Authentication and Password Solution 6100 overlay64 video overlay module 6104 ScopeFun open source instrumentation 6108 Myriad-RF LimeSDR 610c Magic Keys (boot) 610d Magic Keys 6114 MIDI key 6118 Thomson MO5 keyboard 6122 Ultimate Hacking Keyboard 614c dwtk In-Circuit Emulator 8085 Box0 (box0-v5) cc15 rad1o badge for CCC summer camp 2015 1d57 Xenta 0005 Wireless Receiver (Keyboard and Mouse) 0006 Wireless Receiver (RC Laser Pointer) 000c Optical Mouse 130f 2.4Ghz wireless optical mouse receiver 2400 Wireless Mouse Receiver 32da 2.4GHz Receiver (Keyboard and Mouse) 83d0 Click-mouse! ac01 Wireless Receiver (Keyboard and Mouse) ac02 ViFit Activity Tracker ac08 RFID Receiver (Keyboard) ad02 SE340D PC Remote Control ad03 [T3] 2.4GHz and IR Air Mouse Remote Control af01 AUVIO Universal Remote Receiver for PlayStation 3 af03 Wireless Receiver fa20 2.4GHz Wireless Reciever (Mini Keyboard & Mouse) 1d5b Smartronix, Inc. 1d5c Fresco Logic 2000 FL2000/FL2000DX VGA/DVI/HDMI Adapter 1d6b Linux Foundation 0001 1.1 root hub 0002 2.0 root hub 0003 3.0 root hub 0100 PTP Gadget 0101 Audio Gadget 0102 EEM Gadget 0103 NCM (Ethernet) Gadget 0104 Multifunction Composite Gadget 0105 FunctionFS Gadget 0200 Qemu Audio Device 1d88 Mahr GmbH 0001 Measurement Device [MarECon] 0002 Probe 0003 Surface Measurement [PS10] 1d90 Citizen 201e PPU-700 2037 CL-S631 Barcode Printer 20f0 Thermal Receipt Printer [CT-E351] 1d9d Sigma Sport 1010 Docking Station Topline 2009 1011 Docking Station Topline 2012 1012 Docking Station Topline 2016 1dd2 Leo Bodnar Electronics Ltd 1dd3 Dajc Inc. 0001 Expert I/O 1000 1de1 Actions Microelectronics Co. 1101 Generic Display Device (Mass storage mode) c101 Generic Display Device 1de6 MICRORISC s.r.o. 1e0e Qualcomm / Option f000 iCON 210 UMTS Surfstick 1e10 Point Grey Research, Inc. 2004 Sony 1.3MP 1/3" ICX445 IIDC video camera [Chameleon] 1e17 Mirion Technologies Dosimetry Services Division 0001 instadose dosimeter 1e1d Kanguru Solutions 0165 Secure Pen drive 1101 FlashBlu Flash Drive 1e1f INVIA 1e29 Festo AG & Co. KG 0101 CPX Adapter 0102 CPX Adapter >=HW10.09 [CP2102] 0401 iL3-TP [AT90USB646] 0402 FTDI232 [EasyPort] 0403 FTDI232 [EasyPort Mini] 0404 FTDI232 [Netzteil-GL] 0405 FTDI232 [MotorPrüfstand] 0406 STM32F103 [EasyKit] 0407 LPC2378 [Robotino] 0408 LPC2378 [Robotino-Arm] 0409 LPC2378 [Robotino-Arm Bootloader] 040a LPC2378 [Robotino Bootloader] 040b LPC2378 [Robotino XT] 040c LPC2378 [Robotino XT Bootloader] 040d LPC2378 [Robotino 3] 040e LPC2378 [Robotino 3 Bootloader] 040f LPC2148 [Robotino gripper] 0410 LPC2148 [Robotino IR panel] 0501 CP2102 [CMSP] 0601 CMMP-AS 0602 FTDI232 [CMMS] 1e2d Gemalto M2M GmbH 004f EGS3 GSM/GPRS modem 0054 PH8 wireless module 0058 Wireless Module [Cinterion EHS6] 0059 Wireless Module [Cinterion BGx] 005b Zoom 4625 Modem 0061 ALSx PLSx LTE modem 00a0 Cinterion ELS31-V 1e3d Chipsbank Microelectronics Co., Ltd 198a Flash Disk 2093 CBM209x Flash Drive (OEM) 4082 CBM4082 SD Card Reader 1e41 Cleverscope 0001 CS328A PC Oscilloscope 0004 CS448 1e44 SHIMANO INC. 7220 SM-BCR2 1e4e Cubeternet 0100 WebCam 0102 GL-UPC822 UVC WebCam 0109 EtronTech CMOS based eSP570 WebCam [Onyx Titanium TC101] 1e54 TypeMatrix 2030 2030 USB Keyboard 1e68 TrekStor GmbH & Co. KG 001b DataStation maxi g.u 004c DataStation Pocket Click 0050 DataStation maxi light 1045 ST70408-3 [SurfTab breeze 7.0 quad 3G] (MTP Mode) 1046 ST70408-3 [SurfTab breeze 7.0 quad 3G] (PTP Mode) 1e71 NZXT 0001 Avatar Optical Mouse 170e Kraken X 1711 Grid+ V3 1714 Smart Device 1715 Kraken M22 2006 Smart Device V2 1e74 Coby Electronics Corporation 2211 MP300 2647 2 GB 2 Go Video MP3 Player [MP601-2G] 2659 Coby 4GB Go Video MP3 Player [MP620-4G] 4641 A8705 MP3/Video Player 6511 MP705-8G MP3 player 6512 MP705-4G 7111 MP957 Music and Video Player 1e7b Zurich Instruments 0002 HF2 0003 UHF 0004 MFLI 1e7d ROCCAT 2c24 Pyra Mouse (wired) 2c2e Lua Mouse 2c38 Kiro Mouse 2ced Kone Mouse 2cee Kova 2016 Gray Mouse 2cef Kova 2016 White Mouse 2cf0 Kova 2016 Black Mouse 2cf6 Pyra Mouse (wireless) 2d50 Kova[+] Mouse 2d51 Kone[+] Mouse 2d5a Savu Mouse 2db4 Kone Pure Optical Mouse 2dbe Kone Pure Mouse 2dbf Kone Pure Military Mouse 2dc2 Kone Pure Optical Black Mouse 2dcb Kone Pure SE(L) Mouse 2e22 Kone XTD Mouse 2e23 Kone XTD Optical Mouse 2e27 Kone AIMO Mouse 2e4a Tyon Black Mouse 2e4b Tyon White Mouse 2e7c Nyth Black Mouse 2e7d Nyth White Mouse 2f76 Sova Keyboard 2f94 Sova MK Keyboard 2fa8 Suora Keyboard 2fc6 Skeltr Keyboard 2fda Ryos MK FX Keyboard 30d4 Arvo Keyboard 3138 Ryos MK Keyboard 316a Ryos TKL Keyboard 319c Isku Keyboard 31ce Ryos MK Glow Keyboard 3232 Ryos MK Pro Keyboard 3246 Suora FX Keyboard 3264 Isku FX Keyboard 1e8e Airbus Defence and Space 6001 P8GR 1e91 Other World Computing b0b1 miniStack 1ea7 SHARKOON Technologies GmbH 0030 Trust GXT 158 Orna Laser Gaming Mouse 0064 2.4GHz Wireless rechargeable vertical mouse [More&Better] 0066 [Mediatrack Edge Mini Keyboard] 0907 Keyboard 1002 Vintorez Gaming Mouse 2007 SHARK ZONE K30 Illuminated Gaming Keyboard 1eab Fujian Newland Computer Co., Ltd 0103 HR200 Barcode scanner engine (HID keyboard) 0106 HR200 Barcode scanner engine (Serial CDC) 0110 HR200 Barcode scanner engine (HID Pos) 0c03 HR100/HR3260 cordless/HR3290 cordless/BS80 Barcode scanner engine (HID keyboard) 0c06 HR100/HR3260 cordless/HR3290 cordless/BS80 Barcode scanner engine (USB Serial CDC) 0c10 HR100/HR3260 cordless/HR3290 cordless/BS80 Barcode scanner engine (HID Pos) 0d03 EM2028 Barcode scanner engine (HID keyboard) 0d06 EM2028 Barcode scanner engine (Serial CDC) 0d10 EM2028 Barcode scanner engine (HID Pos) 1303 EM30xx/EM20xx/HR3260 corded/HR200C Barcode scanner engine (HID keyboard) 1306 EM30xx/EM20xx/HR3260 corded/HR200C Barcode scanner engine (USB serial CDC) 1310 EM30xx/EM20xx/HR3260 corded/HR200C Barcode scanner engine (HID Pos) 1403 HR15-xx Barcode scanner engine (HID keyboard) 1406 HR15-xx Barcode scanner engine (Serial CDC) 1410 HR15-xx Barcode scanner engine (HID Pos) 1603 FM100-M/3250 Barcode scanner engine (HID keyboard) 1606 FM100-M/3250 Barcode scanner engine (Serial CDC) 1610 FM100-M/3250 Barcode scanner engine (HID Pos) 1903 EM1300 Barcode scanner engine (HID keyboard) 1906 EM1300 Barcode scanner engine (Serial CDC) 1910 EM1300 Barcode scanner engine (HID Pos) 1a03 HR3290 corded/HR22 Barcode scanner engine (HID keyboard) 1a06 HR3290 corded/HR22 Barcode scanner engine (Serial CDC) 1a10 HR3290 corded/HR22 Barcode scanner engine (HID Pos) 1c03 HR2150 Barcode scanner engine (HID keyboard) 1c06 HR2150 Barcode scanner engine (Serial CDC) 1c10 HR2150 Barcode scanner engine (HID Pos) 1d03 FM430 Barcode scanner engine (HID keyboard) 1d06 FM430 Barcode scanner engine (Serial CDC) 1d10 FM430 Barcode scanner engine (HID Pos) 1e03 HR42 Barcode scanner engine (HID keyboard) 1e06 HR42 Barcode scanner engine (Serial CDC) 1e10 HR42 Barcode scanner engine (HID Pos) 1f03 HR11+ Barcode scanner engine (HID keyboard) 1f06 HR11+ Barcode scanner engine (Serial CDC) 1f10 HR11+ Barcode scanner engine (HID Pos) 2003 EM2037v2 Barcode scanner engine (HID keyboard) 2006 EM2037v2 Barcode scanner engine (Serial CDC) 2010 EM2037v2 Barcode scanner engine (HID Pos) 8003 EM13x5-LD/HR15-70/HR100-70/HR12/HR1150-70 Barcode scanner engine (HID keyboard) 8006 EM13x5-LD/HR15-70/HR100-70/HR12/HR1150-70 Barcode scanner engine (USB Serial CDC) 8010 EM13x5-LD/HR15-70/HR100-70/HR12/HR1150-70 Barcode scanner engine (HID Pos) 8203 EM3080-01/EM3095/FR20/FM30 Barcode scanner engine (HID keyboard) 8206 EM3080-01/EM3095/FR20/FM30 Barcode scanner engine (USB Serial CDC) 8210 EM3080-01/EM3095/FR20/FM30 Barcode scanner engine (HID Pos) 8303 HR2160 Barcode scanner engine (HID keyboard) 8306 HR2160 Barcode scanner engine (Serial CDC) 8310 HR2160 Barcode scanner engine (HID Pos) 1eaf Leaflabs 0003 Maple DFU interface 0004 Maple serial interface 1eb8 Modacom Co., Ltd. 7f00 MW-U3500 WiMAX adapter 1ebb NuCORE Technology, Inc. 1ecb AMTelecom 02e2 JMR1140 [Jiofi] 1ed8 FENDER MUSICAL INSTRUMENTS CORPORATION 0004 Mustang I/II 0005 Mustang III/IV/V 0006 Mustang I/II [Firmware Update] 0007 Mustang III/IV/V [Firmware Update] 0010 Mustang Mini 0011 Mustang Mini [Firmware Update] 0014 Mustang I (V.2) 0016 Mustang IV v.2 1eda AirTies Wireless Networks 2012 Air2210 54 Mbps Wireless Adapter 2210 Air2210 54 Mbps Wireless Adapter 2310 Air2310 150 Mbps Wireless Adapter 2410 Air2410 300 Mbps Wireless Adapter 1edb Blackmagic design bd3b Intensity Shuttle bd46 Mini Converter Analog to SDI bd75 2.5K Cinema Camera (BMCC) 1ee8 ONDA COMMUNICATION S.p.a. 0014 MT833UP 1ef6 EADS Deutschland GmbH 2233 Cassidian NH90 STTE 5064 FDR Interface 5523 Cassidian SSDC Adapter II 5545 Cassidian SSDC Adapter III 5648 RIU CSMU/BSD 564a Cassidian RIU CSMU/BSD Simulator 1f0c CMX Systems 2000 HP StreamSmart 410 [NW278AA] 1f28 Cal-Comp 0020 CDMA USB Modem A600 0021 CD INSTALLER USB Device 1f3a Allwinner Technology 1000 Prestigio PER3464B ebook reader (Mass storage mode) 1002 mediacom XPRO 415 1010 Android device in fastboot mode efe8 sunxi SoC OTG connector in FEL/flashing mode 1f44 The Neat Company 0001 NM-1000 scanner 1f48 H-TRONIC GmbH 0627 Data capturing system 0628 Data capturing and control module 1f4d G-Tek Electronics Group a115 EVOLVEO XtraTV stick [DVB-T] b803 Lifeview LV5TDLX DVB-T [RTL2832U] c803 NotOnlyTV (Lifeview) LV5TDLX DVB-T [RTL2832U] d220 Geniatech T220 DVB-T2 TV Stick 1f52 Systems & Electronic Development FZCO (SEDCO) 0001 Ultima 49 Printer 0002 Ultima 90 Printer 0003 FormsPro 50 Printer 0004 Ultima 90+ Printer 1f6f Aliph 0023 Jawbone Jambox 8000 Jawbone Jambox - Updating 1f75 Innostor Technology Corporation 0611 IS611 SATA/PATA Bridge Controller 0621 IS621 SATA Storage Controller 0888 IS888 SATA Storage Controller 0902 IS902 UFD controller 0916 IS916 Flash Drive 0917 IS917 Mass storage 0918 IS918 Flash Drive 1f82 TANDBERG 0001 PrecisionHD Camera 1f84 Alere, Inc. 1f7e Lateral Flow Engine 1f87 Stantum 0002 Multi-touch HID Controller 1f9b Ubiquiti Networks, Inc. 0241 AirView2-EXT b0b1 UniFi VoIP Phone 1fab Samsung Opto-Electroncs Co., Ltd. 104d ES65 1fac Franklin Wireless 0232 U770 3G/4G Wimax/4G LTE Modem 1fae Lumidigm 0040 M311 Fingerprint Scanner 212c M30x (Mercury) fingerprint sensor 1fb2 Withings 0001 Wi-Fi Body Scale (WBS01) 1fba DERMALOG Identification Systems GmbH 1fbd Delphin Technology AG 0001 Expert Key - Data aquisition system 1fc9 NXP Semiconductors 0003 LPC1343 000c LPC4330FET180 [ARM Cortex M4 + M0] (device firmware upgrade mode) 0082 LPC4330FET180 [ARM Cortex M4 + M0] (mass storage controller mode) 010b PR533 0126 i.MX 7ULP SystemOnChip in RecoveryMode 012b i.MX 8M Dual/8M QuadLite/8M Quad Serial Downloader 5002 PTN5002 [Startech VGA/DVI-D adapter] 8124 SharkRF Bootloader 824c LumiNode1 1fde ILX Lightwave Corporation 0001 UART Bridge 1fe7 Vertex Wireless Co., Ltd. 1000 VW100 series CDMA EV-DO Rev.A modem 1ff7 CVT Electronics.Co.,Ltd 0013 CVTouch Screen (HID) 001a Human Interface Device 1ffb Pololu Corporation 0081 AVR Programmer 0083 Jrk 21v3 Motor Controller 0089 Micro Maestro 6-Servo Controller 008a Mini Maestro 12-Channel Servo Controller 008b Mini Maestro 18-Channel Servo Controller 008c Mini Maestro 24-Channel Servo Controller 00b0 AVR Programmer v2 1fff Ideofy Inc. 2000 CMX Systems 1f0c HP StreamSmart 410 [NW278AA] 2001 D-Link Corp. 0001 DWL-120 WIRELESS ADAPTER 0201 DHN-120 10Mb Home Phoneline Adapter 1a00 DUB-E100 Fast Ethernet Adapter(rev.A) [ASIX AX88172] 1a02 DUB-E100 Fast Ethernet Adapter(rev.C1) [ASIX AX88772] 200c 10/100 Ethernet 3101 DWA-182 AC1200 DB Wireless Adapter(rev.A1) [Broadcom BCM43526] 3200 DWL-120 802.11b Wireless Adapter(rev.E1) [Atmel at76c503a] 3301 DWA-130 802.11n Wireless N Adapter(rev.C1) [Realtek RTL8192U] 3306 DWL-G122 Wireless Adapter(rev.F1) [Realtek RTL8188SU] 3308 DWA-121 802.11n Wireless N 150 Pico Adapter [Realtek RTL8188CUS] 3309 DWA-135 802.11n Wireless N Adapter(rev.A1) [Realtek RTL8192CU] 330a DWA-133 802.11n Wireless N Adapter [Realtek RTL8192CU] 330d DWA-131 802.11n Wireless N Nano Adapter (rev.B1) [Realtek RTL8192CU] 330f DWA-125 Wireless N 150 Adapter(rev.D1) [Realtek RTL8188ETV] 3310 DWA-123 Wireless N 150 Adapter (rev.D1) 3314 DWA-171 AC600 DB Wireless Adapter(rev.A1) [Realtek RTL8811AU] 3315 DWA-182 Wireless AC Dualband Adapter(rev.C) [Realtek RTL8812AU] 3317 DWA-137 Wireless N High-Gain Adapter [Ralink RT5372] 3319 DWA-131 Wireless N Nano Adapter (Rev. E1) [Realtek RTL8192EU] 3500 Elitegroup Computer Systems WLAN card WL-162 3700 DWL-122 802.11b [Intersil Prism 3] 3701 DWL-G120 Spinnaker 802.11g [Intersil ISL3886] 3702 DWL-120 802.11b Wireless Adapter(rev.F) [Intersil ISL3871] 3703 AirPlus G DWL-G122 Wireless Adapter(rev.A1) [Intersil ISL3880] 3704 AirPlus G DWL-G122 Wireless Adapter(rev.A2) [Intersil ISL3887] 3705 AirPlus G DWL-G120 Wireless Adapter(rev.C) [Intersil ISL3887] 3761 IEEE 802.11g USB2.0 Wireless Network Adapter-PN 3a00 DWL-AG132 [Atheros AR5523] 3a01 DWL-AG132 (no firmware) [Atheros AR5523] 3a02 DWL-G132 [Atheros AR5523] 3a03 DWL-G132 (no firmware) [Atheros AR5523] 3a04 DWL-AG122 [Atheros AR5523] 3a05 DWL-AG122 (no firmware) [Atheros AR5523] 3a80 AirPlus Xtreme G DWL-G132 Wireless Adapter 3a81 predator Bootloader Download 3a82 AirPremier AG DWL-AG132 Wireless Adapter 3a83 predator Bootloader Download 3b00 AirPlus DWL-120+ Wireless Adapter [Texas Instruments ACX100USB] 3b01 WLAN Boot Device 3c00 AirPlus G DWL-G122 Wireless Adapter(rev.B1) [Ralink RT2571] 3c01 AirPlus AG DWL-AG122 Wireless Adapter 3c02 AirPlus G DWL-G122 Wireless Adapter 3c05 DUB-E100 Fast Ethernet Adapter(rev.B1) [ASIX AX88772] 3c15 DWA-140 RangeBooster N Adapter(rev.B3) [Ralink RT5372] 3c17 DWA-123 Wireless N 150 Adapter(rev.A1) [Ralink RT3370] 3c19 DWA-125 Wireless N 150 Adapter(rev.A3) [Ralink RT5370] 3c1a DWA-160 802.11abgn Xtreme N Dual Band Adapter(rev.B2) [Ralink RT5572] 3c1b DWA-127 Wireless N 150 High-Gain Adapter(rev.A1) [Ralink RT3070] 3c1e DWA-125 Wireless N 150 Adapter(rev.B1) [Ralink RT5370] 4000 DSB-650C Ethernet [klsi] 4001 DSB-650TX Ethernet [pegasus] 4002 DSB-650TX Ethernet [pegasus] 4003 DSB-650TX-PNA Ethernet [pegasus] 400b 10/100 Ethernet 4102 10/100 Ethernet 4a00 DUB-1312 Gigabit Ethernet Adapter 5100 DSL-200 ADSL ATM Modem 5102 DSL-200 ADSL Loader 5b00 Remote NDIS Network Device 9414 Cable Modem 9b00 Broadband Cable Modem Remote NDIS Device abc1 DSB-650 Ethernet [pegasus] f013 DLink 7 port USB2.0 Hub f103 DUB-H7 7-port USB 2.0 hub f10d Accent Communications Modem f110 DUB-AV300 A/V Capture f111 DBT-122 Bluetooth adapter f112 DUB-T210 Audio Device f116 Formosa 2 f117 Formosa 3 f118 Formosa 4 2002 DAP Technologies 2003 detectomat ea61 dc3500 2006 LenovoMobile 2009 iStorage 5004 datAshur 4GB 5016 datAshur 16GB 5032 datAshur 32GB 200c Reloop 100b Play audio soundcard 2013 PCTV Systems 0242 QuatroStick 510e 0245 PCTV 73ESE 0246 PCTV 74E 0248 PCTV 282E 024c DVB-S2 Stick 460e 024f nanoStick T2 290e 0251 QuatroStick nano 520e 0258 DVB-S2 Stick 461e 025a AndroiDTV 78e 025f tripleStick 292e 0262 microStick 79e 2018 Deutsche Telekom AG 0406 Eumex 800 0408 Eumex 800 2019 PLANEX 3220 GW-US11S WLAN [Atmel AT76C503A] 4901 GW-USSuper300 802.11bgn Wireless Adapter [Realtek RTL8191SU] 4903 GW-USFang300 802.11abgn Wireless Adapter [Realtek RTL8192DU] 4904 GW-USUltra300 802.11abgn Wireless Adapter [Realtek RTL8192DU] 5303 GW-US54GXS 802.11bg 5304 GWUS300 802.11n ab01 GW-US54HP ab24 GW-US300MiniS ab25 GW-USMini2N 802.11n Wireless Adapter [Ralink RT2870] ab28 GW-USNano ab29 GW-USMicro300 ab2a GW-USNano2 802.11n Wireless Adapter [Realtek RTL8188CUS] ab2b GW-USEco300 802.11bgn Wireless Adapter [Realtek RTL8192CU] ab2c GW-USDual300 802.11abgn Wireless Adapter [Realtek RTL8192DU] ab50 GW-US54Mini2 c002 GW-US54SG c007 GW-US54GZL ed02 GW-USMM ed06 GW-US300MiniW 802.11bgn Wireless Adapter ed10 GW-US300Mini2 ed14 GW-USMicroN ed16 GW-USMicroN2W 802.11bgn Wireless Adapter [Realtek RTL8188SU] ed17 GW-USValue-EZ 802.11n Wireless Adapter [Realtek RTL8188CUS] ed18 GW-USHyper300 / GW-USH300N 802.11bgn Wireless Adapter [Realtek RTL8191SU] 201e Haier 2009 CE100 CDMA EVDO 203a PARALLELS 203d Encore Electronics Inc. 1480 ENUWI-N3 [802.11n Wireless N150 Adapter] 2040 Hauppauge 0265 WinTV-dualHD DVB 026d WinTV-dualHD ATSC 0c80 Windham 0c90 Windham 1605 WinTV-HVR 930C HD 1700 CataMount 1800 Okemo A 1801 Okemo B 2000 Tiger Minicard 2009 Tiger Minicard R2 200a Tiger Minicard 2010 Tiger Minicard 2011 WinTV MiniCard [Dell Digital TV Receiver] 2019 Tiger Minicard 2400 WinTV PVR USB2 (Model 24019) 4200 WinTV 4700 WinTV Nova-S-USB2 4902 HD PVR 4903 HS PVR 4982 HD PVR 5500 Windham 5510 Windham 5520 Windham 5530 Windham 5580 Windham 5590 Windham 6500 WinTV HVR-900 6502 WinTV HVR-900 6503 WinTV HVR-930 6513 WinTV HVR-950/HVR-980 6600 WinTV HVR-900H (Model 660xx) 7050 Nova-T Stick 7060 Nova-T Stick 2 7070 Nova-T Stick 3 7240 WinTV HVR-850 8400 WinTV Nova-T-500 9300 WinTV NOVA-T USB2 (cold) 9301 WinTV NOVA-T USB2 (warm) 9941 WinTV Nova-T-500 9950 WinTV Nova-T-500 b123 WinTV-HVR-955Q b138 WinTV-HVR-900 model 00246 [WinTV-T Video] b910 Windham b980 Windham b990 Windham c000 Windham c010 Windham 2047 Texas Instruments 0013 MSP eZ-FET lite 0014 MSP-FET 0200 MSP430 Bootloader 0203 eZ-FET Bootloader 0204 MSP-FET Bootloader 0300 MSP430 CDC Example 0301 MSP430 HID Datapipe Example 0302 MSP430 CDC+HID Example 0309 MSP430 HID Mouse Example 0313 MSP430 CDC+CDC Example 0314 MSP430 HID+HID Example 0315 MSP430 HID Keyboard Example 0316 MSP430 MSC File System Emulation Example 0317 MSP430 MSC SD Card Example 0318 MSP430 MSC Multiple LUNs Example 0319 MSP430 MSC+CDC+HID Example 0320 MSP430 SYSBIOS Tasks MSC+CDC+HID Example 0321 MSP430 SYSBIOS SWIs MSC+CDC+HID Example 0322 MSP430 MSC Double-Buffering Example 0323 MSP430 MSC CD-ROM Example 03df MSP430 User Experiment 03e0 MSP430 User Experiment 03e1 MSP430 User Experiment 03e2 MSP430 User Experiment 03e3 MSP430 User Experiment 03e4 MSP430 User Experiment 03e5 MSP430 User Experiment 03e6 MSP430 User Experiment 03e7 MSP430 User Experiment 03e8 MSP430 User Experiment 03e9 MSP430 User Experiment 03ea MSP430 User Experiment 03eb MSP430 User Experiment 03ec MSP430 User Experiment 03ed MSP430 User Experiment 03ee MSP430 User Experiment 03ef MSP430 User Experiment 03f0 MSP430 User Experiment 03f1 MSP430 User Experiment 03f2 MSP430 User Experiment 03f3 MSP430 User Experiment 03f4 MSP430 User Experiment 03f5 MSP430 User Experiment 03f6 MSP430 User Experiment 03f7 MSP430 User Experiment 03f8 MSP430 User Experiment 03f9 MSP430 User Experiment 03fa MSP430 User Experiment 03fb MSP430 User Experiment 03fc MSP430 User Experiment 03fd MSP430 User Experiment 0401 MSP430 Keyboard Example 0855 Invensense Embedded MotionApp HID Sensor 08f8 FDC2x14/LDC13xx/LDC16xx EVM 0964 Inventio Software MSP430 0a76 GEOKON S-3810A-5 USB-RS485 CONVERTER ffe7 HID v1.00 Device [Improv Device] 2058 Nano River Technology 2058 ViperBoard I2C, SPI, GPIO interface 2077 Taicang T&W Electronics Co. Ltd 9002 W1M100 HSPA/WCDMA Module 2080 Barnes & Noble 0001 nook 0002 NOOKcolor 0003 NOOK Simple Touch 0004 NOOK Tablet 0005 BNTV600 [Nook HD+] 0006 BNTV400 [Nook HD] 0007 BNRV500 [Nook Glowlight] 000a BNRV510 [Nook Glowlight Plus] 000b BNRV520 [Nook Glowlight 3] 000c BNRV700 [Nook Glowlight Plus] 2086 SIMPASS 2087 Cando 0a01 Multi Touch Panel 0a02 Multi Touch Panel 0b03 Multi Touch Panel 20a0 Clay Logic 0006 flirc 4107 GPF Crypto Stick V1.2 4123 IKALOGIC SCANALOGIC 2 414a MDE SPI Interface 415a OpenPilot 415b CopterControl 415c PipXtreme 41e5 BlinkStick 4211 Nitrokey Start 4223 ATSAMD21 [castAR] 428d Electrosense wideband converter 20b1 XMOS Ltd 10ad XUSB Loader f7d1 XTAG2 - JTAG Adapter 20b3 Hanvon 0a18 10.1 Touch screen overlay 20b7 Qi Hardware 0713 Milkymist JTAG/serial 1540 ben-wpan, AT86RF230-based 1db5 IDBG in DFU mode 1db6 IDBG in normal mode 9db1 Glasgow Debug Tool c25b C2 Dongle cb72 ben-wpan, cntr 20bc ShenZhen ShanWan Technology Co., Ltd. 5500 Frostbite controller 20ce Minicircuits 0012 RF Sythesizer 250-4200MHz model SSG-4000LH 0021 RF Switch Matrix 0022 I/O Controller 20df Simtec Electronics 0001 Entropy Key [UDEKEY01] 20f0 L3Harris Technologies 2102 EWLA V2 Module 20f1 NET New Electronic Technology GmbH 0101 iCube3 Camera 20f4 TRENDnet 646b TEW-646UBH High Power 150Mbps Wireless N Adapter [Realtek RTL8188SU] 648b TEW-648UBM 802.11n 150Mbps Micro Wireless N Adapter [Realtek RTL8188CUS] 664b TEW-664UB H/W:V2.0R 804b TEW-804UB 802.11a/b/g/n/ac (1x1) Wireless Adapter [Realtek RTL8811AU] 805b TEW-805UB 300Mbps+867Mbps Wireless AC Adapter [Realtek RTL8812AU] 806b TEW-806UBH 802.11a/b/g/n/ac (1x1) Wireless Adapter [MediaTek MT7610U] 20f7 XIMEA 3001 MQ or MD camera 3002 MU camera 3021 MJ camera 30b3 MQ in U3V mode or MC camera a003 MU camera 2100 RT Systems 0e56 USB62C Radio Cable [Yaesu 857/D - 897/D] 9e50 USB-59 Radio Cable [Yaesu VX-8/D/DR] 9e52 Yaesu VX-7 9e54 CT29B Radio Cable 9e57 RTS01 Radio Cable 9e58 USB63C Radio Cable [Yaesu FTDX-1200] 9e5d K4Y Radio Cable 9e5f FT232RL [RTS05 Serial Cable] 2101 ActionStar 0201 SIIG 4-to-2 Printer Switch 1402 Keyboard/Mouse Switch 2104 Tobii Technology AB 0050 Eye tracker [EYEX2] 0124 Eyechip 2107 RDING TECH CO.,LTD 2109 VIA Labs, Inc. 0210 Hub 0700 VL700 SATA 3Gb/s bridge 0701 VL701 SATA 3Gb/s bridge 0711 VL711 SATA 6Gb/s bridge 0715 VL817 SATA Adaptor 0810 VL81x Hub 0811 Hub 0812 VL812 Hub 0813 VL813 Hub 0820 VL820 Hub 2210 Hub 2811 Hub 2812 VL812 Hub 2813 VL813 Hub 2820 VL820 Hub 3431 Hub 711f External 8110 Hub 2113 Softkinetic 0137 DepthSense 311 (3D) 0145 DepthSense 325 8000 DepthSense 311 (Color) 2116 KT Tech 000a IDE Hard Drive Enclosure 211f CELOT Corporation 6801 CDMA Products 2123 Cheeky Dream 1010 Rocket Launcher 2125 Fiberpro Inc. 0000 Bootloader 0010 MCB-100 Series 2133 signotec GmbH 0001 LCD Signature Pad Sigma 0018 Delta Pen 0019 Delta Touch 001c Kronos Pen 0022 Epsilon Pen 2149 Advanced Silicon S.A. 211b Touchscreen Controller 2306 TS58xxA/TC56xxA [CoolTouch] 2703 TS58xxA/TC56xxA [CoolTouch] 214b Huasheng Electronics 7000 4-port hub [Maxxter ACT-HUB2-4P, HS8836, iSoul ultra-slim] 214e Swiftpoint 0005 Z - Gaming mouse [SM700] 2162 Broadxent (Creative Labs) 2031 Network Blaster Wireless Adapter 500c DE5771 Modem Blaster 8001 Broadxent BritePort DSL Bridge 8010U 2166 JVC Kenwood 600b TH-D74 2184 GW Instek 0005 GDS-3000 Oscilloscope 0006 GDS-3000 Oscilloscope 0011 AFG Function Generator (CDC) 0017 DSO 0018 DSO 0036 AFG-125 Function Generator (CDC) 2188 No brand 0610 Hub 0611 Hub 0620 Hub 0625 Hub 0754 Card Reader 4042 CalDigit Pro Audio 219c Seal One AG 0010 USB 2200 K Secure Sign Token 21a1 Emotiv Systems Pty. Ltd. 0001 EPOC Consumer Headset Wireless Dongle 21a4 Electronic Arts Inc. ac27 SPORTS Active 2 Wireless Controller for PS3 ac40 SPORTS Active 2 Wireless Controller for Wii 21a9 Saleae, Inc. 1001 16-channel Logic Analyzer [Logic16] 1003 Logic 4 1004 Logic8 1005 Logic Pro 8 1006 Logic Pro 16 21ab Planeta Informatica 0010 RC700 NFC SmartCard Reader 0011 DSR700 SmartCard Reader 21b4 AudioQuest 0081 DragonFly 0082 DragonFly Red 21d6 Agecodagis SARL 0002 Seismic recorder [Tellus] 2207 Fuzhou Rockchip Electronics Company 0010 GoClever Tab R83 0011 SmartTab 281a RK2818 in Mask ROM mode 290a RK2918 in Mask ROM mode 292a RK2928 in Mask ROM mode 292c RK3026 in Mask ROM mode 300a RK3066 in Mask ROM mode 300b RK3168 in Mask ROM mode 301a RK3036 in Mask ROM mode 310a RK3066B in Mask ROM mode 310b RK3188 in Mask ROM mode 310c RK3126/RK3128 in Mask ROM mode 310d RK3126 in Mask ROM mode 320a RK3288 in Mask ROM mode 320b RK3228/RK3229 in Mask ROM mode 320c RK3328 in Mask ROM mode 330a RK3368 in Mask ROM mode 330c RK3399 in Mask ROM mode 221a ZTEX GmbH 0100 FPGA Boards 2222 MacAlly 0004 iWebKey Keyboard 0005 ICEKey Keyboard 1001 Generic Hub 2520 Mini Tablet 4050 AirStick joystick 2226 Copper Mountain technologies 2227 SAMWOO Enterprise 3105 SKYDATA SKD-U100 222a ILI Technology Corp. 0001 Multi-Touch Screen 0037 Multi-Touch Screen 2230 Plugable 0001 UD-160-A / M Integrated Hub 0003 DC-125 / M Integrated Hub 2232 Silicon Motion 1005 WebCam SCB-0385N 1024 Webcam SC-13HDL11624N [Namuga Co., Ltd.] 1028 WebCam SC-03FFL11939N 1029 WebCam SC-13HDL11939N 1037 WebCam SC-03FFM12339N 1045 WebCam SC-10HDP12631N 2233 RadioShack Corporation 6323 USB Electronic Scale 2237 Kobo Inc. 4161 eReader White 4163 Touch 4173 Glo 2245 Aspeed Technology, Inc. 1500 AST1500/1510 PC-over-LAN Virtual Hub 224f APDM 0001 Access Point 0002 Docking Station 0004 V2 Opal ACM 0005 V2 Opal 0006 V2 Docking Station 0007 V2 Access Point ACM 0008 V2 Access Point 2256 Faderfox 1007 LV3 MIDI Controller 225d Morpho 0001 FINGER VP Multimodal Biometric Sensor 0008 CBM-E3 Fingerprint Sensor 0009 CBM-V3 Fingerprint Sensor 000a MSO1300-E3 Fingerprint Sensor 000b MSO1300-V3 Fingerprint Sensor 000c MSO1350-E3 Fingerprint Sensor & SmartCard Reader 000d MSO1350-V3 Fingerprint Sensor & SmartCard Reader 000e MorphoAccess SIGMA Biometric Access Control Terminal 9015 Tablet 2 9024 Tablet 2 9039 Tablet 2 secure multifunction biometric tablet 904d Tablet 2 secure multifunction biometric tablet 904e Tablet 2 secure multifunction biometric tablet 9091 Tablet 2 secure multifunction biometric tablet 9092 Tablet 2 secure multifunction biometric tablet f000 Tablet 2 secure multifunction biometric tablet f003 Tablet 2 secure multifunction biometric tablet f006 Tablet 2 secure multifunction biometric tablet f00e Tablet 2 secure multifunction biometric tablet 226e DISPLAX 228d 8D Technologies inc. 0001 Terminal Bike Key Reader 22a4 VERZO Technology 22a6 Pie Digital, Inc. ffff PieKey "beta" 4GB model 4E4F41482E4F5247 (SM3251Q BB) 22a7 Fortinet Technologies 1001 FortiGate Device 22b1 Secret Labs LLC 1000 Netduino MCU pcb 22b8 Motorola PCS 0001 Wally 2.2 chipset 0002 Wally 2.4 chipset 0005 V.60c/V.60i GSM Phone 002e XT1806 0830 2386C-HT820 0833 2386C-HT820 [Flash Mode] 0850 Bluetooth Device 1001 Patriot 1.0 (GSM) chipset 1002 Patriot 2.0 chipset 1005 T280e GSM/GPRS Phone 1101 Patriot 1.0 (TDMA) chipset 1801 Rainbow chipset flash 2035 Bluetooth Device 2805 GSM Modem 2821 T720 GSM Phone 2822 V.120e GSM Phone 2823 Flash Interface 2a01 MSM6050 chipset 2a02 CDMA modem 2a03 MSM6050 chipset flash 2a21 V710 GSM Phone (P2K) 2a22 V710 GSM Phone (AT) 2a23 MSM6100 chipset flash 2a41 MSM6300 chipset 2a42 Usb Modem 2a43 MSM6300 chipset flash 2a61 E815 GSM Phone (P2K) 2a62 E815 GSM Phone (AT) 2a63 MSM6500 chipset flash 2a81 MSM6025 chipset 2a83 MSM6025 chipset flash 2ac1 MSM6100 chipset 2ac3 MSM6100 chipset flash 2d78 XT300[SPICE] 2e82 XT1541 [Moto G 3rd Gen] 2e83 XT1033 [Moto G], PTP mode 3001 A835/E1000 GSM Phone (P2K) 3002 A835/E1000 GSM Phone (AT) 3801 C350L/C450 (P2K) 3802 C330/C350L/C450/EZX GSM Phone (AT) 3803 Neptune LT chipset flash 4001 OMAP 1.0 chipset 4002 A920/A925 UMTS Phone 4003 OMAP 1.0 chipset flash 4008 OMAP 1.0 chipset RDL 41d6 Droid X (Windows media mode) 41d9 Droid/Milestone 41db Droid/Milestone (Debug mode) 41de Droid X (PC mode) 4204 MPx200 Smartphone 4214 MPc GSM 4224 MPx220 Smartphone 4234 MPc CDMA 4244 MPx100 Smartphone 4285 Droid X (Mass storage) 42d9 XT910 [Droid RAZR] 4801 Neptune LTS chipset 4803 Neptune LTS chipset flash 4810 Triplet GSM Phone (storage) 4901 Triplet GSM Phone (P2K) 4902 Triplet GSM Phone (AT) 4903 Neptune LTE chipset flash 4a01 Neptune LTX chipset 4a03 Neptune LTX chipset flash 4a32 L6-imode Phone 5801 Neptune ULS chipset 5803 Neptune ULS chipset flash 5901 Neptune VLT chipset 5903 Neptune VLT chipset flash 6001 Dalhart EZX 6003 Dalhart flash 6004 EZX GSM Phone (CDC Net) 6006 MOTOROKR E6 6008 Dalhart RDL 6009 EZX GSM Phone (P2K) 600a Dalhart EZX config 17 600b Dalhart EZX config 18 600c EZX GSM Phone (USBLAN) 6021 JUIX chipset 6023 JUIX chipset flash 6026 Flash RAM Downloader/miniOS 6027 USBLAN 604c EZX GSM Phone (Storage) 6101 Talon integrated chipset 6401 Argon chipset 6403 Argon chipset flash 6411 ROKR Z6 (print mode) 6415 ROKR Z6 (MTP mode) 6422 ROKR Z6 (modem mode) 6426 ROKR Z6 (storage mode) 6604 Washington CDMA Phone 6631 CDC Modem 7001 Q Smartphone 7086 Atrix 70a8 Xoom Tablet fe01 StarTAC III MS900 22b9 eTurboTouch Technology, Inc. 0006 Touch Screen 22ba Technology Innovation Holdings, Ltd 0108 Double Shock Steering Wheel HID 0109 Double Shock Steering Wheel Hub 22c9 StepOver GmbH 0601 naturaSign Pad Colour 0701 naturaSign Pad Mobile 0801 naturaSign Pad Comfort 0881 naturaSign Pad Flawless 0901 naturaSign Pad Classic 09e1 naturaSign Pad Biometric 0ce1 duraSign Pad Brilliance 0cf1 duraSign Pad Biometric 5.0 0d01 duraSign 10.0 0df1 duraSign Pad Biometric 10.0 22cd Kinova Robotics Inc. 22d4 Laview Technology 1301 Mionix NAOS 8200 [STM32F103 MCU] 1308 Mionix Avior 7000 130c Mionix Naos 7000 1316 Mionix Castor 22d9 OPPO Electronics Corp. 2765 Oppo N1 2767 Oppo Find 5 (X909) 22db Phase One 0003 IQ3 100MP IG030372 22dc Mellanox Technologies 0004 BlueField SOC 22de WeTelecom Incorporated 22df Medicom MTD, Ltd 22e0 secunet Security Networks AG 0002 SINA Flash Drive 0003 SINA ID Token A 22e8 Cambridge Audio 6512 651N Audio 6969 Audio Prototype 7512 751R Audio 770a X70A Audio 850c 851C Audio [Azur 850C] 851d 851D Audio [Azur 851D] ca02 Audio ca04 Audio ca06 AmpMagic dac2 DacMagic Plus dac3 Azur DacMagic 100 dac4 Azur DacMagic 100 dac6 DacMagicXS 2.0 dac8 Audio 2304 Pinnacle Systems, Inc. 0109 Studio PCTV USB (SECAM) 0110 Studio PCTV USB (PAL) 0111 Miro PCTV USB 0112 Studio PCTV USB (NTSC) with FM radio 0201 Systems MovieBox Device 0204 MovieBox USB_B 0205 DVC 150B 0206 Systems MovieBox Deluxe Device 0207 Dazzle DVC90 Video Device 0208 Studio PCTV USB2 020e PCTV 200e 020f PCTV 400e BDA Device 0210 Studio PCTV USB (PAL) with FM radio 0212 Studio PCTV USB (NTSC) 0213 500-USB Device 0214 Studio PCTV USB (PAL) with FM radio 0216 PCTV 60e 0219 PCTV 260e 021a Dazzle DVC100 Audio Device 021b Dazzle DVC130/DVC170 021d Dazzle DVC130 021e Dazzle DVC170 021f PCTV Sat HDTV Pro BDA Device 0222 PCTV Sat Pro BDA Device 0223 DazzleTV Sat BDA Device 0225 Remote Kit Infrared Transceiver 0226 PCTV 330e 0227 PCTV for Mac, HD Stick 0228 PCTV DVB-T Flash Stick 0229 PCTV Dual DVB-T 2001e 022a PCTV 160e 022b PCTV 71e [Afatech AF9015] 0232 PCTV 170e 0236 PCTV 72e [DiBcom DiB7000PC] 0237 PCTV 73e [DiBcom DiB7000PC] 023a PCTV 801e 023b PCTV 801e SE 023d PCTV 340e 023e PCTV 340e SE 0300 Studio Linx Video input cable (NTSC) 0301 Studio Linx Video input cable (PAL) 0302 Dazzle DVC120 0419 PCTV Bungee USB (PAL) with FM radio 061d PCTV Deluxe (NTSC) Device 061e PCTV Deluxe (PAL) Device 2304 1689 230d Teracom 0103 Huwaii 3g wireless modem 2314 INQ Mobile 2318 Shining Technologies, Inc. [hex] 0011 CitiDISK Jr. IDE Enclosure 2319 Tronsmart 0014 TSM01 Air Mouse + Keyboard 232b Pantum Ltd. 0810 P2000 232e EA Elektro-Automatik GmbH & Co. KG 0010 EA-PS-2000 B Series Power Supply 2340 Teleepoch 2341 Arduino SA 0001 Uno (CDC ACM) 0010 Mega 2560 (CDC ACM) 0036 Leonardo Bootloader 003b Serial Adapter (CDC ACM) 003d Due Programming Port 003e Due 003f Mega ADK (CDC ACM) 0042 Mega 2560 R3 (CDC ACM) 0043 Uno R3 (CDC ACM) 0044 Mega ADK R3 (CDC ACM) 0045 Serial R3 (CDC ACM) 0049 ISP 8036 Leonardo (CDC ACM, HID) 8038 Robot Control Board (CDC ACM, HID) 8039 Robot Motor Board (CDC ACM, HID) 2349 P2 Engineering Group, LLC 234b Free Software Initiative of Japan 0000 Gnuk Token 0001 NeuG True RNG 2357 TP-Link 0005 M7350 4G Mi-Fi Router 0100 TL-WN8200ND [Realtek RTL8192CU] 0101 RTL8812AU Archer T4U 802.11ac 0103 Archer T4UH wireless Realtek 8812AU 0105 Archer T1U 802.11a/n/ac Wireless Adapter [MediaTek MT7610U] 0106 Archer T9UH v1 [Realtek RTL8814AU] 0107 TL-WN821N v5/v6 [RTL8192EU] 0108 TL-WN822N Version 4 RTL8192EU 0109 TL-WN823N v2/v3 [Realtek RTL8192EU] 010b Archer T2UHP [MediaTek MT7610U] 010c TL-WN722N v2/v3 [Realtek RTL8188EUS] 010d Archer T4U v2 [Realtek RTL8812AU] 010e Archer T4UH v2 [Realtek RTL8812AU] 010f Archer T4UHP [Realtek RTL8812AU] 0115 Archer T4U ver.3 011e AC600 wireless Realtek RTL8811AU [Archer T2U Nano] 0120 Archer T2U PLUS [RTL8821AU] 012d Archer T3U [Realtek RTL8812BU] 0200 MA 180 Zero CD 0201 HSUPA Modem MA180 0600 UE300 10/100/1000 LAN (mass storage CD-ROM mode) [Realtek RTL8153] 0601 UE300 10/100/1000 LAN (ethernet mode) [Realtek RTL8153] 2366 Bitmanufaktur GmbH 0001 Reserved Prototyping PID 0002 OpenBeacon USB 2 0003 OpenPCD 2 RFID Reader for 13.56MHz 0004 OpenBeacon 0005 Blinkenlights WDIM 0006 Blinkenlights WMCU 0007 OpenBeacon Ethernet EasyReader PoE II - Active 2.4GHz RFID Reader 0008 OpenBeacon WLAN 0009 OpenPCD 2 RFID Reader for 13.56MHz 000a OpenPCD 2 Audio & LCD Display 2367 Teenage Engineering 0002 OP-1 Portable synthesizer 000c OP-Z Portable synthesizer 2368 Peterson Electro-Musical Products Inc. 0001 BBS-1 [BodyBeat Sync] 236a SiBEAM 1965 SB6501 802.11ad Wireless Network Adapter 2373 Pumatronix Ltda 0001 5 MegaPixel Digital Still Camera [DSC5M] 2375 Digit@lway, Inc. 0001 Digital Audio Player 2378 OnLive 100a Universal Wireless Controller 237d Cradlepoint 0400 MC400 2386 Raydium Corporation 3125 Touch System 4328 Touch System 432f Touch System 238b Hytera Communications 0a11 DMR Radio 239a Adafruit 0001 CDC Bootloader 801e Trinket M0 23a0 BIFIT 0001 Token iBank2key 0002 iBank2Key Type M Token 0003 iToken 0008 MS_KEY K - Angara 23a6 Tronical Components GmbH 2000 Gibson Firebird X Pedal Board 2001 Gibson Firebird X Switch Board 23b4 Dental Wings Inc. 0200 DW0200 Color Camera 0300 DW0300 Hight Speed Monochrome Camera 23c7 Gemini 1021 FirstMix 23fc SesKion GmbH 0201 SPI-Simulyzer box for SPI data communication 0202 PSI5-Simulyzer box for PSI5 (Peripheral-Sensor-Interfacs) data communication 0203 SENT-Simulyzer box for SENT data communication 0204 DSI-Simulyzer box for DSI3 data communication 2405 Custom Computer Services, Inc 0002 West Mountain Radio RIGblaster Advantage Audio 0003 West Mountain Radio RIGblaster Advantage 2406 SANHO Digital Electronics Co., Ltd. 6688 PD7X Portable Storage 2420 IRiver 242e Vossloh-Schwabe Deutschland GmbH 0001 DALI Master 0002 LiCS Bootloader Mode 0003 LiCS Running Mode 0004 iProgrammer 0005 NFC programming device 2433 ASETEK b200 [NZXT Kraken X60] 2443 Aessent Technology Ltd 00dc aes220 FPGA Mini-Module 2457 Ocean Optics Inc. 100a HR2000 Spectrometer 1.00.0 1012 HR4000 Spectrometer 2458 Bluegiga Technologies 0001 BLED112 Bluetooth 4.0 Single Mode Dongle 245f Chord Electronics Limited 2464 Nest 0001 Learning Thermostat 0002 Learning Thermostat (2nd Generation) 0010 Protect : Smoke + Carbon Monoxide 0020 Heat Link 2466 Fractal Audio Systems 8003 Axe-Fx II 8010 Axe-FX III 2476 YEI Technology 1040 3-Space Embedded Sensor 2478 Tripp-Lite 2008 U209-000-R Serial Port 248a Maxxter 8366 Wireless Optical Mouse ACT-MUSW-002 8367 Telink Wireless Receiver 249c M2Tech s.r.l. 24a4 Primare AB 0002 I15_v1.06 [Primare Audio DAC] 24ae Shenzhen Rapoo Technology Co., Ltd. 0001 KX Keyboard 0197 meva Barcode Scanner 1813 E9260 Wireless Multi-mode Keyboard 2000 2.4G Wireless Device Serial 2001 5 GHz Wireless Receiver 2003 5GHz Wireless Transceiver 4110 Optical Gaming Mouse [V280] 6000 Wireless Audio 24c0 Chaney Instrument 0003 Model 01036 weather center 24c6 ThrustMaster, Inc. 5000 Razer Atrox Gaming Arcade Stick 5300 PowerA Mini ProEX Controller for Xbox 360 5303 Airflo Wired Controller for Xbox 360 530a ProEX Controller for Xbox 360 531a Pro Ex mini for XBOX 5397 FUS1ON Tournament Controller 541a PowerA CPFA115320-01 [Mini Controller for Xbox One] 542a Spectra for Xbox One 543a PowerA Wired Controller for Xbox One 5500 Horipad EX2 Turbo 5501 Hori Real Arcade Pro.VX-SA for Xbox 360 5502 Hori Fighting Stick VX Alt for Xbox 360 5503 Hori Fighting Edge for Xbox 360 5506 Hori Soulcalibur V Stick for Xbox 360 550d Hori Gem Controller for Xbox 360 550e Real Arcade Pro V Kai for Xbox One / Xbox 360 551a Fusion Pro Controller 561a Fusion Controller for Xbox One 5b00 Ferrari 458 Italia Racing Wheel 5b02 GPX Controller 5d04 Sabertooth Elite fa00 INF-8032385 Disney Infinity Reader fafb Aplay Controller fafd Afterglow Gamepad for Xbox 360 fafe Rock Candy Gamepad for Xbox 360 24cf Lytro, Inc. 00a1 Light Field Camera 24dc Aladdin R.D. 0406 JaCarta SF GOST 24e0 Yoctopuce Sarl 24e1 Paratronic 3001 Adp-usb 3005 Radius 24e3 K-Touch 24ea Meva 0197 Barcode Scanner 24ed Zen Group 044d Chat Headset 24f0 Metadot 0105 Das Keyboard 4 0140 Das Keyboard 4 2020 Das Keyboard 5Q 24ff Acroname Inc. 2500 Ettus Research LLC 0020 USRP B210 0021 USRP B200-mini 0022 USRP B205-mini 0200 USRP B200 2516 Cooler Master Co., Ltd. 0003 Storm Xornet 0004 Storm QuickFire Rapid Mechanical Keyboard 0006 Storm Recon 0007 Storm Sentinel Advance II 0009 Storm Quick Fire PRO 0011 Storm Quick Fire TK 6keys 0014 Storm Quick Fire TK Nkeys 0015 Storm QuickFire Pro/Ultimate keyboard 0017 CM Storm Quick Fire Stealth 001a Storm Quick Fire XT 0020 QuickFire Rapid-i Keyboard 0027 CM Storm Coolermaster Novatouch TKL 002d Alcor mouse 0042 Masterkeys Lite L Combo RGB Keyboard 0044 Masterkeys Lite L Combo RGB Mouse 0046 Masterkeys PRO L 0047 MasterKeys Pro L 0055 MasterKeys L 1006 MasterCase SL600M 9494 Sirus Headset 2520 ANA-U GmbH 0001 EasyPrinter S3 2527 Software Bisque 1388 Paramount 5 2537 Norelsys 1066 NS1066 1068 NS1068/NS1068X SATA Bridge Controller 2544 Energy Micro AS 2546 Ravensburger e301 TipToi Pen 2548 Pulse-Eight 1001 CEC Adapter 1002 CEC Adapter 254e SHF Communication Technologies AG e2b3 SHF 58035 A BiasBoard 2554 ASSA ABLOY AB 2555 Basis Science Inc. 0001 B1 Fitness Band 255e Beijing Bonxeon Technology Co., Ltd. 0001 Device 0002 Dual 2560 e-con Systems c152 See3CAM_CU51 5 Mpx monochrome camera 2563 ShenZhen ShanWan Technology Co., Ltd. 031d DXT Mouse 0523 BM0523 WirelessGamepad 0575 ZD-V+ Wired Gaming Controller 256b Perreaux Industries Ltd 0121 Audiant 80i 256f 3Dconnexion c62e SpaceMouse Wireless (cabled) c62f SpaceMouse Wireless Receiver c631 SpaceMouse Pro Wireless (cabled) c632 SpaceMouse Pro Wireless Receiver c633 SpaceMouse Enterprise c635 SpaceMouse Compact c651 CadMouse Wireless c652 Universal Receiver c654 CadMouse Pro Wireless c657 CadMouse Pro Wireless Left 2573 ESI Audiotechnik GmbH 0017 MAYA22 2574 AVer Information, Inc. 0901 VC520 0910 CAM520 0920 VC320 0930 CAM530 0940 CAM340 0950 VC322 0960 VB342 2575 Weida Hi-Tech Co., Ltd. 2576 AFO Co., Ltd. 0003 TCM 0005 BL [Boot Loader] 0011 THM 2578 Pluscom 4168 2.4GHZ Wireless Arc Folding Mouse 2581 Plug-up 1807 Generic HID Smartcard 1808 WinUSB Smartcard f1d0 FIDO U2F Security Key 258d Sequans Communications 259a TriQuint Semiconductor 25a7 Areson Technology Corp 2410 Laser mouse fa23 2.4G Receiver fa61 Elecom Co., Ltd MR-K013 Multicard Reader 25b5 FlatFrog 0002 Multitouch 3200 25bb Brunner Elektronik AG 0063 PRT.5105 [Yoke] 0064 PRT.5105 [reserved] 0065 PRT.5096 [Battery Management System] 0066 PRT.5096 [Battery Management System] 0067 PRT.5094 0068 PRT.5094 0069 PRT.5119 [Ethernet2CAN LC Gateway] 006a PRT.5113 [CLS CANaerospace Gateway] 006b PRT.5123 006c PRT.5123 [reserved] 006d PRT.5127 00ff MSP430 HID Update Agent 25bf Elegant Invention 0001 Isostick 0002 Isostick updater 25c4 ARCAM 25c6 Vitus Audio (AVA Group A/S) 25c8 Visual Planet Ltd 0014 Single User touchfoil(tm) (SU2-80) 25da Netatmo 0001 Weather Station 25e3 Lumigon 25f0 ShanWan c131 Gioteck PS3 2.4G Wireless Controller 25fb Pentax Ricoh Imaging Co., Ltd 0102 K-5 2604 Tenda 0012 U12 2625 MilDef AB 2626 Aruba Networks ea60 UART Bridge Controller [cp210x] 262a SAVITECH Corp. 100e SA9027 Audio Streaming Controller 10e0 SA9023 Audio Streaming Controller 9020 SA9020 audio controller 9023 SA9023 audio controller 9027 SA9027 audio controller 9226 SA9226 192KHz audio controller 9227 SA9227 384KHz audio controller 9228 SA9228 384KHz/DSD audio controller 2632 TwinMOS 3209 7-in-1 Card Reader 2639 Xsens 0001 MTi-10 IMU 0002 MTi-20 VRU 0003 MTi-30 AHRS 0011 MTi-100 IMU 0012 MTi-200 VRU 0013 MTi-300 AHRS 0017 MTi-G 7xx GNSS/INS 0100 Body Pack 0101 Awinda Station 0102 Awinda Dongle 0103 Sync Station 0200 MTw 0300 Motion Tracker Development Board 0301 MTi Converter d00d Wireless Receiver 264a Thermaltake 1004 Ventus 2650 Electronics For Imaging, Inc. [hex] 1311 eBeam Classic [Luidia] 2659 Sundtek 1101 TNT DVB-T/DAB/DAB+/FM 1201 FM Transmitter/Receiver 1202 MediaTV Analog/FM/DVB-T 1203 MediaTV Analog/FM/DVB-T MiniPCIe 1204 MediaTV Analog/FM/ATSC 1205 SkyTV Ultimate V 1206 MediaTV DVB-T MiniPCIe 1207 Sundtek HD Capture 1208 Sundtek SkyTV Ultimate III 1209 MediaTV Analog/FM/ATSC MiniPCIe 1210 MediaTV Pro III (EU) 1211 MediaTV Pro III (US) 1212 MediaTV Pro III MiniPCIe (EU) 1213 MediaTV Pro III MiniPCIe (US) 2662 Moog Music Inc. 266e Silicon Integrated Systems 2672 GoPro 0004 Hero 3 0006 HERO 3+ Silver Edition 0007 HERO 3+ Black 000e HERO4 Black 0011 Hero 3+ Black 2676 Basler AG ba02 ace ba03 ba03 dart Vision Caera ba04 ba04 pulse Vision Camera ba05 Vision Camera ba06 Vision Camera ba07 Vision Camera ba08 Vision Camera ba09 Vision Camera ba0a Vision Camera ba0b Vision Camera ba0c Vision Camera ba0d Vision Camera ba0e Vision Camera ba0f Vision Camera 2685 Cardo Peripheral Systems LTD 0900 [Packtalk Bold Bluetooth Motorcycle Intercom] 2687 Fitbit Inc. fb01 Base Station 2689 StepOver International GmbH 0601 naturaSign Pad POS 0901 naturaSign Pad Light 0ce1 Pad Vivid US 0cf1 Pad Biometric US 5.0 0d01 duraSign Pad US 10.0 0df1 duraSign Pad Biometric US 10.0 268b Dimension Engineering 0101 DELink 2 0201 Sabertooth 2x32 0405 Evolv DNA 200 0406 Evolv DNA 200 0407 Evolv DNA 200 0408 Evolv DNA 75 0409 Evolv DNA 250 0412 Evolv DNA 60 0413 Evolv DNA 200 0414 Evolv DNA 250 0415 Evolv DNA 75 0416 Evolv DNA 60 0417 Evolv DNA Go 0419 Evolv DNA 250 Color 0423 Evolv DNA 200 0424 Evolv DNA 250 0425 Evolv DNA 75 0426 Evolv DNA 60 8405 Evolv DNA 200 (recovery mode) 8406 Evolv DNA 200 (recovery mode) 8407 Evolv DNA 200 (recovery mode) 8408 Evolv DNA 75 (recovery mode) 8409 Evolv DNA 250 (recovery mode) 8412 Evolv DNA 60 (recovery mode) 8413 Evolv DNA 200 (recovery mode) 8414 Evolv DNA 250 (recovery mode) 8415 Evolv DNA 75 (recovery mode) 8416 Evolv DNA 60 (recovery mode) 8423 Evolv DNA 200 (recovery mode) 8424 Evolv DNA 250 (recovery mode) 8425 Evolv DNA 75 (recovery mode) 8426 Evolv DNA 60 (recovery mode) 26a9 Research Industrial Systems Engineering 0001 Payment Terminal v1.0 26aa Yaesu Musen 0001 FT-1D 000e FTA-550 000f FTA-750 26b5 Electrocompaniet 0002 ECD 2 0003 ECD 2 (Audio Class 1) 0004 PI 2D 0005 PI 2D (Audio Class 1) 0006 ECI 6 0007 ECI 6 (Audio Class 1) 0020 ECI 80 26bd Integral Memory 9917 Fusion Flash Drive 26e2 Ingenieurbuero Dietzsch und Thiele, PartG 26f2 Micromega 0200 MyDac 2707 Bardac Corporation 0005 drive.web 270d Rosand Technologies 1001 R-Idge Bootloader 1002 R-Idge Router 2717 Xiaomi Inc. 0011 100Mbps Network Card Adapter 0360 Mi3W 0368 Mi4 LTE 3801 Mi ANC & Type-C In-Ear Earphones 4106 MediaTek MT7601U [MI WiFi] ff08 Redmi Note 3 (ADB Interface) ff10 Mi/Redmi series (PTP) ff18 Mi/Redmi series (PTP + ADB) ff40 Mi/Redmi series (MTP) ff48 Mi/Redmi series (MTP + ADB) ff60 redmi prime 2 ff68 Mi-4c ff80 Mi/Redmi series (RNDIS) ff88 Mi/Redmi series (RNDIS + ADB) 272a StarLeaf Ltd. 272c Signum Systems 7d13 I-jet 2730 Citizen 0fff CT-S2000/4000/310/CLP-521/621/631/CL-S700 Series 1004 PPU-700 2002 CT-S2000 Thermal Printer (Parallel mode) 200f CT-S310 Label printer 2735 DigitalWay 0003 MPIO HS100 1001 MPIO FY200 1002 MPIO FL100 1003 MPIO FD100 1004 MPIO HD200 1005 MPIO HD300 1006 MPIO FG100 1007 MPIO FG130 1008 MPIO FY300 1009 MPIO FY400 100a MPIO FL300 100b MPIO HS200 100c MPIO FL350 100d MPIO FY500 100e MPIO FY500 100f MPIO FY600 1012 MPIO FL400 1013 MPIO HD400 1014 MPIO HD400 1016 MPIO FY700 1017 MPIO FY700 1018 MPIO FY800 1019 MPIO FY800 101a MPIO FY900 101b MPIO FY900 102b MPIO FL500 102c MPIO FL500 103f MPIO FY570 1040 MPIO FY570 1041 MPIO FY670 1042 MPIO FY670 1043 HCT HMD-180A 1044 HCT HMD-180A 273f Hughski Limited 1000 ColorHug bootloader 1001 ColorHug 1002 ColorHug+ 1003 ColorHug+ Bootloader 1004 ColorHug2 1005 ColorHug2 bootloader 2756 Victor Hasselblad AB 0002 X1D Camera 2759 Philip Morris Products S.A. 0003 IQOS Pocket Charger 2.4 2765 Firstbeat Technologies, Ltd. 0004 Bodyguard 2 2766 LifeScan 0000 OneTouch Verio 2770 NHJ, Ltd 0a01 ScanJet 4600 series 905c Che-Ez Snap SNAP-U/Digigr8/Soundstar TDC-35 9060 A130 9120 Che-ez! Snap / iClick Tiny VGA Digital Camera 9130 TCG 501 913c Argus DC-1730 9150 Mini Cam 9153 iClick 5X 915d Cyberpix S-210S / Little Tikes My Real Digital Camera 930b CCD Webcam(PC370R) 930c CCD Webcam(PC370R) 27a8 Square, Inc. a120 Contactless + Chip Reader 27b8 ThingM 01ed blink(1) 27bd Codethink Ltd. 0001 Slab Node Manager 0002 Slab Node Manager JTAG 27c0 Cadwell Laboratories, Inc. 0818 Paperlike HD-FT 27c6 Shenzhen Goodix Technology Co.,Ltd. 5117 Fingerprint Reader 5201 Fingerprint Reader 5301 Fingerprint Reader 530c Fingerprint Reader 532d Fingerprint 5381 Fingerprint Reader 5385 Fingerprint Reader 538c Fingerprint Reader 5395 Fingerprint Reader 5584 Fingerprint Reader 55b4 Fingerprint Reader 5740 Fingerprint Reader 27d4 Blackstar Amplification Limited 27dd Mindeo 0002 Mindeo Virtual COM Port 27f2 Softnautics LLP 2803 StarLine LLC. 0001 Controller Area Network car alarm module [SLCAN-2] 2806 SIMPASS 0001 N-PASS X1 2817 Signal Hound, Inc. 0002 BB60C Spectrum Analyzer 0004 SM200A Spectrum Analyzer 2818 Codex Digital Limited 0001 Transfer Drive Dock 2821 ASUSTek Computer Inc. 0161 WL-161 802.11b Wireless Adapter [SiS 162U] 160f WL-160g 802.11g Wireless Adapter [Envara WiND512] 3300 WL-140 / Hawking HWU36D 802.11b Wireless Adapter [Intersil PRISM 3] 2822 REFLEXdigital 2833 Oculus VR, Inc. 0001 Rift Developer Kit 1 0021 Rift DK2 0031 Rift CV1 0101 Latency Tester 0137 Quest Headset 0201 Camera DK2 0211 Rift CV1 Sensor 0330 Rift CV1 Audio 1031 Rift CV1 2021 Rift DK2 2031 Rift CV1 3031 Rift CV1 2836 OUYA 286b STANEO SAS 0003 D6BB/D9 seismic digitizer 2886 Seeed Technology Co., Ltd. 0002 Seeeduino Lite 2890 Teknic, Inc 0213 ClearPath 4-axis Comm Hub 2899 Toptronic Industrial Co., Ltd 012c Camera Device 289b Dracal/Raphnet technologies 0001 Gamecube/N64 controller v2.2 0002 2nes2snes 0003 4nes4snes 0004 Gamecube/N64 controller v2.3 0005 Saturn (Joystick mode) 0006 Saturn (Mouse mode) 0007 Famicom controller 0008 Dreamcast (Joystick mode) 0009 Dreamcast (Mouse mode) 000a Dreamcast (Keyboard mode) 000b Gamecube/N64 controller v2.9 (Keyboard mode) 000c Gamecube/N64 controller v2.9 (Joystick mode) 000e VirtualBoy controller 0010 WUSBMote v1.2 (Joystick mode) 0011 WUSBMote v1.2 (Mouse mode) 0012 WUSBMote v1.2.1 (Joystick mode) 0013 WUSBMote v1.2.1 (Mouse mode) 0014 WUSBMote v1.3 (Joystick mode) 0015 WUSBMote v1.3 (Mouse mode) 0016 WUSBMote v1.3 (I2C interface mode) 0017 Gamecube/N64 controller v3.0 0018 Atari Jaguar controller 0019 MultiDB9joy v3 001a MultiDB9joy v3 (multitap mode) 0100 Dual-relay board 0500 Energy meter 0502 Precision barometer 289d Seek Thermal, Inc. 0010 PIR206 Thermal Camera [Seek Compact] 28bd XP-Pen 0920 Star G960 Graphic Tablet 28c7 Ultimaker B.V. 0001 3D printer serial interface 28d4 Devialet 0008 120/200/250/400/800/D-Premier 28de Valve Software 1102 Wired Controller 1142 Wireless Steam Controller 2000 Lighthouse FPGA RX 2012 Virtual Reality Controller [VRC] 2101 Watchman Dongle 2500 Lighthouse Base Station 28e0 PT. Prasimax Inovasi Teknologi 1001 BTS Monitoring Config for Prototype 5740 TRUMON TS-107 5741 TRUMON TS-108 28e9 GDMicroelectronics 0189 GD32 DFU Bootloader (Longan Nano) 28f3 Clover Network, Inc. 2000 Mobile Wi-Fi (C200) 3000 Mini 4000 Flex 28f9 Profitap HQ BV 0001 Profishark 1G Black 0003 Profishark 1G+ 0004 Profishark 1G 0005 Profishark 10G 0006 Profishark 100M 290c R. Hamilton & Co. Ltd. 4b4d Mercury iPod Dock 2912 Audioengine 20c8 D1 24-bit DAC 30c8 D1 24-bit DAC 2916 Yota Devices 2931 Jolla Oy 0a01 Jolla Phone MTP 0a02 Jolla Phone Developer 0a05 Jolla PC connection 0a07 Phone MTP 0afe Jolla charging only 2939 Zaber Technologies Inc. 4959 A-MCB2 495a X-MCB1 495b X-MCB2 49b1 X-MCB1 49b2 X-MCB2 49c1 X-MCC1 49c2 X-MCC2 49c3 X-MCC3 49c4 X-MCC4 2957 Obsidian Research Corporation 0001 Management Console 2961 Miselu 0001 C.24 keyboard 296b Xacti Corporation 3917 CX-WE100 Camera 2972 FiiO Electronics Technology 0007 X3 2nd gen audio player / DAC 298d Next Biometrics 2020 NB-2020-U Fingerprint Reader 29bd Silicon Works 4101 Multi-touch Device 29c1 Taztag 1105 M17-G903-1 [Tazpad] 1107 M17-G903-A [Tazpad] (CCID) 29c2 Lewitt GmbH 0001 DGT 650 0003 DGT 450 0009 DGT 260 0011 Stream 4x5 29c3 Noviga 29e2 Huatune Technology (Shanghai) Co., Ltd. 29e7 Brunel University 29e8 4Links Limited 29ea Kinesis Corporation 0102 Advantage2 Keyboard 29f1 Canaan Creative Co., Ltd 33f1 Avalon nano 1.0 33f2 Avalon USB2IIC Converter 33f3 Avalon nano 2.0 40f1 Avalon4 mini 2a03 dog hunter AG 0001 Linino ONE (bootloader) 0036 Arduino Leonardo (bootloader) 0037 Arduino Micro (bootloader) 0038 Arduino Robot Control (bootloader) 0039 Arduino Robot Motor (bootloader) 003a Arduino Micro ADK rev3 (bootloader) 003b Arduino usb2serial 003c Arduino Explora (bootloader) 003d Arduino Due (usb2serial) 003e Arduino Due 0041 Arduino Yun (bootloader) 0042 Arduino Mega 2560 Rev3 0043 Arduino Uno Rev3 004d Arduino Zero Pro (bootloader) 8001 Linino ONE (CDC ACM) 8036 Arduino Leonardo (CDC ACM) 8037 Arduino Micro (CDC ACM) 8038 Arduino Robot Control (CDC ACM) 8039 Arduino Robot Motor (CDC ACM) 803a Arduino Micro ADK rev3 (CDC ACM) 803c Arduino Explora (CDC ACM) 8041 Arduino Yun (CDC ACM) 804d Arduino Zero Pro (CDC ACM) 2a0e Shenzhen DreamSource Technology Co., Ltd. 2a13 Grabba International 0000 S-Series data capture device 2a19 Numato Systems Pvt. Ltd 1002 Mimas V2 Spartan6 FPGA Development Board 5440 TimVideos' HDMI2USB Opsis (FX2) - Unconfigured device 5441 TimVideos' HDMI2USB Opsis (FX2) - Firmware load/upgrade 5442 TimVideos' HDMI2USB Opsis (FX2) - HDMI/DVI Capture Device 2a1d Oxford Nanopore Technologies, Ltd 0000 MinION 0001 MinION 0010 VolTRAX 0011 VolTRAX 0020 GridION 0021 GridION 2a37 RTD Embedded Technologies, Inc. 5110 UPS35110/UPS25110 2a39 RME 3fb0 Babyface Pro (Class Compliant Mode) 3fc0 Babyface Pro 3fc1 Fireface UFX+ 3fc2 Fireface UFX+ 3fd1 Fireface UFX+ 2a3c Trinamic Motion Control GmbH & Co KG 0100 Stepper Device 0200 BLDC/PMSM Device 0300 Motor Control Device 0400 Motor Control Device 0500 PANdrive(TM) 0600 motionCookie(TM) 0700 Evaluation Device 0800 Interface Device 0900 Generic Device 2a45 Meizu Corp. 0001 MX Phone (BICR) 0c02 MX Phone (MTP & ADB) 0c03 MX Phone (BICR & ADB) 2008 MX Phone (MTP) 200a MX Phone (MTP & ACM & ADB) 200b MX Phone (PTP) 200c MX Phone (PTP & ADB) 2012 MX Phone (MTP & ACM) 2a47 Mundo Reader, S.L. 0c02 bq Aquaris E4.5 201d Tablet Edison 3 903a bq Aquaris U 2a4b EMULEX Corporation 0400 Pilot4 Integrated Hub 2a62 Flymaster Avionics b301 LiveSD b302 NavSD 2a6e Bare Conductive 0003 Touch Board 8003 Touch Board 2a70 OnePlus Technology (Shenzhen) Co., Ltd. 4ee7 ONEPLUS A3010 [OnePlus 3T] / A5010 [OnePlus 5T] / A6003 [OnePlus 6] (Charging + USB debugging modes) 904d A3000 phone (PTP mode) [3T] 904e A3000 phone (PTP mode, with debug) [3T] 2a88 DFU Technology Ltd ffff DFU 2a8d Keysight Technologies, Inc. 2ab6 T+A elektroakustik GmbH & Co KG, Germany 0001 PDP3000HV DAC 0002 MP1000E, MP2000R, MP2500R, MP3100HV 0003 TA HD AUDIO V2 2ac7 Ultrahaptics Ltd. 0101 Evaluation Kit [Dragonfly] 0102 UHDK5 0104 Touchbase 0110 STRATOS Explore 0111 STRATOS Explore DFU 0112 STRATOS Inspire 0113 STRATOS Inspire DFU ffff DFU 2ad1 Picotronic GmbH 7ab8 Turningtable 2ae5 Fairphone B.V. 9015 2 (Mass storage & ADB) 9024 2 (RNDIS & ADB) 9039 2 (MTP & ADB) 904d 2 (PTP) 904e 2 (PTP & ADB) 90de 2 (Charging) f000 2 (Mass storage) f003 2 (MTP) f005 2 (tethering) f00e 2 (RNDIS) 2aec Ambiq Micro, Inc. 6011 Converter 2af4 ROLI Ltd. 0100 Seaboard GRAND 0200 Seaboard RISE 0300 BlueWing Proto 0400 VOICE 0500 BLOCKS 2b03 STEREOLABS f580 ZED camera f582 ZED camera f680 ZED-M camera f681 ZED-M HID Interface f682 ZED-M camera f683 ZED-M HID Interface f684 ZED-M camera 2b0e LeEco 171b Le2 171e Le2 in USB tethering mode 1830 Le1 Pro 1844 Le Max2 2b0e LeEco 6108 Lex720 [LePro 3] in connection sharing usb 610b Lex720 [LePro 3] in Camera mode 610c Lex720 [LePro 3] 610d Lex720 [LePro 3] in debug 2b23 Red Hat, Inc. cafe UsbDk (USB Development Kit) 2b24 KeepKey LLC 0001 Bitcoin Wallet [KeepKey] 0002 Bitcoin Wallet 2b3e NewAE Technology Inc. ace2 CW1173 [ChipWhisperer-Lite] 2b4c ZUK 1004 Z1 MTP 2bc5 Orbbec 3D Technology International, Inc 0401 Astra 0403 Astra Pro 0407 Astra Mini S 2bcc InoTec GmbH Organisationssysteme 2bd6 Coroware, Inc. 4201 RS-485 Controller and Interface [Cypress Semiconductor] 2bd8 ROPEX Industrie-Elektronik GmbH 2c02 Planex Communications 14ea GW-US11H WLAN 2c1a Dolphin Peripherals 0000 Wireless Optical Mouse 2c23 Supermicro Computer Incorporated 1b83 NIC 2c4e Mercucys INC 0100 MW300UM RTL8192EU wifi 2c4f Canon Electronic Business Machines Co., Ltd. 3003 PR Wireless Presenter 2c55 Magic Leap, Inc. a100 ML1 Lightpack (MLDB) b100 ML1 Lightpack (fastboot) c001 ML1 Control (COM) c002 ML1 Control (Bootloader) 2c7c Quectel Wireless Solutions Co., Ltd. 0121 EC21 LTE modem 0125 EC25 LTE modem 0191 EG91 LTE modem 0195 EG95 LTE modem 0296 BG96 CAT-M1/NB-IoT modem 0306 EG06/EP06/EM06 LTE-A modem 0435 AG35 LTE modem 2c97 Ledger 0000 Blue 0001 Nano S 0004 Nano X 2c99 Prusa 0001 i3 MK2S 2c9c Vayyar Imaging Ltd. 1000 Walabot Makers Series 1020 Walabot DIY 1022 Walabot DIY Plus 1030 Walabot Home (vHC) 9100 VNAKit 2c9d Nod Inc 90a0 Goa bac5 Backspin 2ca3 DJI Technology Co., Ltd. 0008 Mavic Mini MR1SD25 Remote controller 2cb7 Fibocom 0210 L830-EB-00 LTE WWAN Modem 2cc0 Hangzhou Zero Zero Infinity Technology Co., Ltd. 2cc2 Lautsprecher Teufel GmbH 2ccf Hypersecu 0880 HyperFIDO 2cd9 Cambrionix Ltd 0804 PowerSync4 USBPD Hub 2cdc Sea & Sun Technology GmbH f232 CTD48Mc CTD Probe 2ce5 InX8 Inc [AKiTiO] 0014 Mass Storage [NT2 U31C] 2cf0 Nuand LLC 5246 bladeRF 5250 bladeRF 2.0 micro 2d1f Wacom Taiwan Information Co. Ltd. 2d25 Kronegger GmbH. 2d2d proxmark.org 504d Proxmark3 2d37 Zhuhai Poskey Technology Co.,Ltd 2d6b NetUP Inc. 7777 Joker TV universal DTV receiver 2d81 Evollve Inc. 4f01 Ozobot Evo 2d84 Zhuhai Poskey Technology Co.,Ltd b806 DT-108B Thermal Label Printer 2dc8 8BitDo 5006 M30 Bluetooth gamepad 5750 Bootloader 6000 SF30 Pro gamepad 6001 SN30/SF30 Pro gamepad ab11 F30 gamepad ab12 N30 gamepad ab20 SN30/SF30 gamepad ab21 SF30 gamepad 2dcf Dialog Semiconductor c951 Audio Class 1.0 Devices c952 Audio Class 2.0 Devices 2def Kirale Technologies 0000 KiNOS Boot DFU 0102 KTWM102 Module 2df2 LIPS Corporation 0213 LIPSedge DL 3D ToF Camera 0215 LIPSedge DL RGB Camera 2102 LIPSedge 5 Megapixel RGB Camera 2e04 HMD Global 0001 Nokia 3310 3G 0002 Nokia 3310 3G 0a14 Nokia 3310 3G c008 Tethering Network Interface c009 Nokia 1 (bootloader) c025 Nokia 8 (MTP mode) c026 Nokia Smartphone c029 Nokia 8 (PTP mode) c031 Nokia 1 (PTP) c03f Nokia 8 (MIDI mode) 2e0e Hatteland Display AS 0001 CAN Gateway 2e24 Hyperkin 0652 Duke Xbox One controller 1688 X91 Xbox One controller 2e3b uSens Inc. 2e57 MEGWARE Computer Vertrieb und Service GmbH 454d SlideSX EnergyMeter 454e SlideSX EnergyMeter DFU 5cba SlideSX / ClustSafe Bus Adapter 2e69 Swift Navigation 1001 Piksi Multi 2e95 SCUF Gaming 7725 Controller 2f76 KeyXentic Inc. 0905 KX905 Smart Terminal 0906 KX906 Smart Card Reader 1906 KX906 Smart Token (Mass Storage) 2fad Definium Technologies 2fb0 Infocrypt 2fb2 Fujitsu, Ltd 2fc0 Sensidyne, LP 0001 Project Archer 2fc6 Comtrue Inc. 6012 UAC2 Device GB 2fe0 Xaptum, Inc. 8b01 XAP-RC-001 ENF Router Card 8b02 XAP-RW-001 ENF Router Card with WiFi 8bde XAP-EA-002 ENF Access Card 8bee XAP-EA-003 ENF Access Card 2fe3 NordicSemiconductor 2fe7 ELGIN S.A. 0001 SMART S@T 2feb Beijing Veikk E-Commerce Co., Ltd. 0004 Veikk A15 Pen Tablet 2ff4 Quixant Plc 3016 Boundary Devices, LLC 0001 Nitrogen Bootloader 3036 Control iD 0001 Print iD 0002 iDBio 3037 Beijing Chushifengmang Technology Development Co.,Ltd. 3057 Kingsis Corporation 0002 ZOWIE Gaming mouse 308f Input Club 0000 Infinity 60% Bootloader 0001 Infinity 60% - Standard 0002 Infinity 60% - Hacker 0003 Infinity Ergodox Bootloader 0004 Infinity Ergodox 0005 WhiteFox Bootloader 0006 WhiteFox - Vanilla 0007 WhiteFox - ISO 0008 WhiteFox - Aria 0009 WhiteFox - Winkeyless 000a WhiteFox - True Fox 000b WhiteFox - Jack of All Trades 000c Infinity 60% LED Bootloader 000d Infinity 60% LED - Standard 000e Infinity 60% LED - Hacker 000f Infinity 60% LED - Alphabet 0010 K-Type Bootloader 0011 K-Type 0012 Kira Bootloader 0013 Kira 0014 Gemini Dawn/Dusk Bootloader 0015 Gemini Dawn/Dusk 0016 Re:Type Bootloader 0017 Re:Type 0018 Re:Type USB Hub 0019 WhiteFox (SAM4S) Bootloader 001a WhiteFox (SAM4S) - Vanilla 001b WhiteFox (SAM4S) - ISO 001c WhiteFox (SAM4S) - Aria 001d WhiteFox (SAM4S) - Winkeyless 001e WhiteFox (SAM4S) - True Fox 001f WhiteFox (SAM4S) - Jack of All Trades 30a4 Blues Wireless 0001 Notecard 30c2 UNPARALLEL Innovation, Lda 1388 SPL Meter 30c9 Luxvisions Innotech Limited 30ee Fujitsu Connected Technologies Limited 1001 F-01L 30f2 Varex Imaging 3111 Hiperscan GmbH 0000 SGS-NT Microspectrometer 3112 Meteca SA 0001 MBC-WB01 (CDC-ACM) 0002 MBC-WB01 (Bootloader) 0003 ABC (CDC ACM) 0004 ABC (Bootloader) 3125 Eagletron 0001 TrackerPod Camera Stand 3136 Navini Networks 3145 SafeLogic Inc. 3147 Tanvas, Inc. 316c SigmaSense, LLC 316d Purism, SPC 4c4b Librem Key 316e SPECINFOSYSTEMS 0001 DIAMOND token 3171 8086 Consultancy 0011 ClusterCTRL DA 0012 ClusterCTRL pHAT 0013 ClusterCTRL A+6 0014 ClusterCTRL Triple 0015 ClusterCTRL Single 3176 Whanam Electronics Co., Ltd 3195 Link Instruments f190 MSO-19 f280 MSO-28 f281 MSO-28 31c9 BeiJing LanXum Computer Technology Co., Ltd. 1001 Printer 1301 Black and White Laser Printer 1501 LaserPrint GA50 series 3200 Alcatel-Lucent Enterprise 2100 ALE 8058s 2101 ALE 8068s 2102 8078s 3219 Smak Tecnologia e Automacao LTDA 0044 SKO44 Optical Keyboard 321c Premio, Inc. 324c CUPRIS Ltd. 326d Agile Display Solutions Co., Ltd 0001 Avocor USB Camera 3275 VidzMedia Pte Ltd 4fb1 MonsterTV P2H 3293 Unhuman Inc. 32b3 TEXA d1a6 TXT Multihub d1a7 TXT Multihub 3333 InLine 3333 2 port KVM switch model 60652K 3334 AEI 1701 Fast Ethernet 3340 Yakumo 043a Mio A701 DigiWalker PPCPhone 0e3a Pocket PC 300 GPS SL / Typhoon MyGuide 3500 a0a3 deltaX 5 BT (D) PDA ffff Mio DigiWalker Sync 3344 Leaguer Microelectronics (LME) 3744 OEM PC Remote 348f ISY 2322 Wireless Presenter 3504 Micro Star f110 Security Key 3538 Power Quotient International Co., Ltd 0001 Travel Flash 0015 Mass Storge Device 0022 Hi-Speed Mass Storage Device 0042 Cool Drive U339 Flash Disk 0054 Flash Drive (2GB) 0901 Traveling Disk U273 (4GB) 3579 DIVA 6901 Media Reader 357d Sharkoon 7788 JMicron JMS567 ATA/ATAPI Bridge 3636 InVibro 3767 Fanatec 0101 Speedster 3 Forceshock Wheel 3838 WEM 0001 5-in-1 Card Reader 1031 2.4G Wireless Mouse 3923 National Instruments Corp. 12c0 DAQPad-6020E 12d0 DAQPad-6507 12e0 NI 4350 12f0 NI 5102 1750 DAQPad-6508 17b0 USB-ISA-Bridge 1820 DAQPad-6020E (68 pin I/O) 1830 DAQPad-6020E (BNC) 1f00 DAQPad-6024E 1f10 DAQPad-6024E 1f20 DAQPad-6025E 1f30 DAQPad-6025E 1f40 DAQPad-6036E 1f50 DAQPad-6036E 2f80 DAQPad-6052E 2f90 DAQPad-6052E 702a GPIB-USB-B 702b GPIB-USB-B Initialization 703c USB-485 RS485 Cable 709b GPIB-USB-HS 7166 USB-8451 716e USB-8451 Firmware Loader 717a USB-6008 717b USB-6009 71d6 USB-6008 OEM 71d7 USB-6009 OEM 71d8 USB-6009 OEM 7254 NI MIO (data acquisition card) firmware updater 729e USB-6251 (OEM) data acquisition card 7346 USB-6229 755b myDAQ 76af USB-6000 76b0 USB-6000 OEM 76bf USB-6001 76c0 USB-6001 OEM 76c4 USB-6002 76c5 USB-6002 OEM 76c6 USB-6003 76c7 USB-6003 OEM 40bb I-O Data 0a09 USB2.0-SCSI Bridge USB2-SC 4101 i-rocks 1301 IR-2510 usb phone 4102 iRiver, Ltd. 1001 iFP-100 series mp3 player 1003 iFP-300 series mp3 player 1005 iFP-500 series mp3 player 1007 iFP-700 series mp3/ogg vorbis player 1008 iFP-800 series mp3/ogg vorbis player 100a iFP-1000 series mp3/ogg vorbis player 1014 T20 series mp3/ogg vorbis player (ums firmware) 1019 T30 1034 T60 1040 M1Player 1041 E100 (ums) 1101 iFP-100 series mp3 player (ums firmware) 1103 iFP-300 series mp3 player (ums firmware) 1105 iFP-500 series mp3 player (ums firmware) 1113 T10 (alternate) 1117 T10 1119 T30 series mp3/ogg/wma player 1141 E100 (mtp) 2002 H10 6GB 2101 H10 20GB (mtp) 2102 H10 5GB (mtp) 2105 H10 5/6GB (mtp) 413c Dell Computer Corp. 0000 DRAC 5 Virtual Keyboard and Mouse 0001 DRAC 5 Virtual Media 0058 Port Replicator 1001 Keyboard Hub 1002 Keyboard Hub 1003 Keyboard Hub 1005 Multimedia Pro Keyboard Hub 2001 Keyboard HID Support 2002 SK-8125 Keyboard 2003 Keyboard SK-8115 2005 RT7D50 Keyboard 2010 Keyboard 2011 Multimedia Pro Keyboard 2100 SK-3106 Keyboard 2101 SK-3205 SmartCard Reader Keyboard 2105 Model L100 Keyboard 2106 QuietKey Keyboard 2107 KB212-B Quiet Key Keyboard 2113 KB216 Wired Keyboard 2134 Hub of E-Port Replicator 21d7 Dell Wireless 5560 HSPA+ Mobile Broadband Modem 2500 DRAC4 Remote Access Card 2501 Keyboard and mouse dongle 2513 internal USB Hub of E-Port Replicator 3010 Optical Wheel Mouse 3012 Optical Wheel Mouse 3016 Optical 5-Button Wheel Mouse 301a Dell MS116 Optical Mouse 301b Universal Bluetooth Receiver 3200 Mouse 4001 Axim X5 4002 Axim X3 4003 Axim X30 4004 Axim Sync 4005 Axim Sync 4006 Axim Sync 4007 Axim Sync 4008 Axim Sync 4009 Axim Sync 4011 Axim X51v 5103 AIO Printer A940 5105 AIO Printer A920 5107 AIO Printer A960 5109 Photo AIO Printer 922 5110 Photo AIO Printer 962 5111 Photo AIO Printer 942 5112 Photo AIO Printer 924 5113 Photo AIO Printer 944 5114 Photo AIO Printer 964 5115 Photo AIO Printer 926 5116 AIO Printer 946 5117 Photo AIO Printer 966 5118 AIO 810 5124 Laser MFP 1815 5128 Photo AIO 928 5133 968 AIO Printer 5200 Laser Printer 5202 Printing Support 5203 Printing Support 5210 Printing Support 5211 1110 Laser Printer 5220 Laser MFP 1600n 5225 Printing Support 5226 Printing Support 5228 Laser Printer 1720dn 5300 Laser Printer 5400 Laser Printer 5401 Laser Printer 5404 1250c Color Printer 5513 WLA3310 Wireless Adapter [Intersil ISL3887] 5534 Hub of E-Port Replicator 5601 Laser Printer 3100cn 5602 Laser Printer 3000cn 5607 MFP Color Laser Printer 3115cn 5631 Laser Printer 5100cn 564a C1765 series Multifunction Color LaserPrinter, Scanner & Copier 5905 Printing Support 8000 BC02 Bluetooth Adapter 8010 TrueMobile Bluetooth Module in 8100 TrueMobile 1180 802.11b Adapter [Intersil PRISM 3] 8102 TrueMobile 1300 802.11g Wireless Adapter [Intersil ISL3880] 8103 Wireless 350 Bluetooth 8104 Wireless 1450 Dual-band (802.11a/b/g) Adapter [Intersil ISL3887] 8105 U2 in HID - Driver 8106 Wireless 350 Bluetooth Internal Card in 8110 Wireless 3xx Bluetooth Internal Card 8111 Wireless 3xx Bluetooth Internal Card in 8114 Wireless 5700 Mobile Broadband (CDMA EV-DO) Minicard Modem 8115 Wireless 5500 Mobile Broadband (3G HSDPA) Minicard Modem 8116 Wireless 5505 Mobile Broadband (3G HSDPA) Minicard Modem 8117 Wireless 5700 Mobile Broadband (CDMA EV-DO) Expresscard Modem 8118 Wireless 5510 Mobile Broadband (3G HSDPA) Expresscard Status Port 8120 Bluetooth adapter 8121 Eastfold in HID 8122 Eastfold in DFU 8123 eHome Infrared Receiver 8124 eHome Infrared Receiver 8126 Wireless 355 Bluetooth 8127 Wireless 355 Module with Bluetooth 2.0 + EDR Technology. 8128 Wireless 5700-Sprint Mobile Broadband (CDMA EV-DO) Mini-Card Status Port 8129 Wireless 5700-Telus Mobile Broadband (CDMA EV-DO) Mini-Card Status Port 8131 Wireless 360 Bluetooth 2.0 + EDR module. 8133 Wireless 5720 VZW Mobile Broadband (EVDO Rev-A) Minicard GPS Port 8134 Wireless 5720 Sprint Mobile Broadband (EVDO Rev-A) Minicard Status Port 8135 Wireless 5720 TELUS Mobile Broadband (EVDO Rev-A) Minicard Diagnostics Port 8136 Wireless 5520 Cingular Mobile Broadband (3G HSDPA) Minicard Diagnostics Port 8137 Wireless 5520 Voda L Mobile Broadband (3G HSDPA) Minicard Status Port 8138 Wireless 5520 Voda I Mobile Broadband (3G HSDPA) Minicard EAP-SIM Port 8140 Wireless 360 Bluetooth 8142 Mobile 360 in DFU 8143 Broadcom BCM20702A0 Bluetooth 8147 F3507g Mobile Broadband Module 8156 Wireless 370 Bluetooth Mini-card 8157 Integrated Keyboard 8158 Integrated Touchpad / Trackstick 8160 Wireless 365 Bluetooth 8161 Integrated Keyboard 8162 Integrated Touchpad [Synaptics] 8171 Gobi Wireless Modem (QDL mode) 8172 Gobi Wireless Modem 8183 F3607gw Mobile Broadband Module 8184 F3607gw v2 Mobile Broadband Module 8185 Gobi 2000 Wireless Modem (QDL mode) 8186 Gobi 2000 Wireless Modem 8187 DW375 Bluetooth Module 818e DW5560 miniPCIe HSPA+ Mobile Broadband Modem 8197 BCM20702A0 Bluetooth Module 81a0 Wireless 5808 Mobile Broadband (Sierra Wireless MC7355 Mini PCIE, 4G UMTS,HSDPA,HSPA+,LTE,1xRTT,EVDO Rev A,GSM,GPRS) 81a3 Hub of E-Port Replicator 81a8 Wireless 5808 Mobile Broadband (Sierra Wireless Mini PCIE, 4G UMTS,HSDPA,HSPA+,LTE,1xRTT,EVDO Rev A,GSM,GPRS) 8501 Bluetooth Adapter 9001 ATA Bridge 9009 Portable Device 9500 USB CP210x UART Bridge Controller [DW700] a001 Hub a005 Internal 2.0 Hub a101 Internal Dual SD Card module a102 iDRAC Virtual NIC a503 AC511 Sound Bar a700 Hub (in 1905FP LCD Monitor) b007 Streak 5 Android Tablet 4146 USBest Technology 9281 Iomega Micro Mini 128MB Flash Drive ba01 Intuix Flash Drive 4168 Targus 1010 Wireless Compact Laser Mouse 4242 USB Design by Example 4201 Buttons and Lights HID device 4220 Echo 1 Camera 4255 GoPro 1000 9FF2 [Digital Photo Display] 2000 HD2-14 [Hero 2 Camera] 4317 Broadcom Corp. 0700 U.S. Robotics USR5426 802.11g Adapter 0701 U.S. Robotics USR5425 Wireless MAXg Adapter 0711 Belkin F5D7051 v3000 802.11g 0720 Dynex DX-BUSB 0721 Dynex DX-EBUSB 4348 WinChipHead 5523 USB->RS 232 adapter with Prolific PL 2303 chipset 5537 13.56Mhz RFID Card Reader and Writer 5584 CH34x printer adapter cable 4572 Shuttle, Inc. 4572 Shuttle PN31 Remote 4586 Panram 1026 Crystal Bar Flash Drive 4670 EMS Production 9394 Game Cube USB Memory Adaptor 64M 46f4 QEMU 4752 Miditech 0011 Midistart-2 4757 GW Instek 2009 PEL-2000 Series Electronic Load (CDC) 2010 PEL-2000 Series Electronic Load (CDC) 4766 Aceeca 0001 MEZ1000 RDA 4855 Memorex 7288 Ultra Traveldrive 160G 2.5" HDD 4971 SimpleTech 1004 Hitachi LifeStudio Desk (3.5" HDD) [w/o flash key] 1013 Touro Desk Pro 1015 Touro Desk 3.0 8001 G-Tech G-DRIVE Mobile cb01 SP-U25/120G cd15 Simple Drive Mini (2.5" HDD) ce07 SimpleDrive (3.5" HDD) ce12 FV-U35 ce17 1TB SimpleDrive II USB External Hard Drive ce18 (re)Drive ce21 JMicron JM20329 SATA Bridge [eg. HITACHI SimpleDrive mini] ce22 Hitachi SimpleTough (3.5" HDD) 4d46 Musical Fidelity 0001 V-Link 0002 V-DAC II 5032 Grandtec 0bb8 Grandtec USB1.1 DVB-T (cold) 0bb9 Grandtec USB1.1 DVB-T (warm) 0fa0 Grandtec USB1.1 DVB-T (cold) 0fa1 Grandtec USB1.1 DVB-T (warm) 50c2 Averatec (?) 4013 WLAN Adapter 5131 MSR 2007 MSR-101U Mini HID magnetic card reader 5173 Sweex 1809 ZD1211 5219 I-Tetra 1001 Cetus CDC Device 5332 Clearly Superior Technologies, Inc. 1300 CST2545-5W (L-Trac) 5345 Owon 1234 PDS6062T Oscilloscope 534c SatoshiLabs 0001 Bitcoin Wallet [TREZOR] 0002 Bitcoin Wallet [TREZOR v2] 534d MacroSilicon 0021 MS210x Video Grabber [EasierCAP] 6021 VGA Display Adapter 5354 Meyer Instruments (MIS) 0017 PAXcam2 544d Transmeta Corp. 5543 UC-Logic Technology Corp. 0002 SuperPen WP3325U Tablet 0003 Tablet WP4030U 0004 Tablet WP5540U 0005 Tablet WP8060U 0041 Genius PenSketch 6x8 Tablet 0042 Tablet PF1209 004a XP-Pen Artist 10S tablet 004d Tablet Monitor MSP19U 0064 Aiptek HyperPen 10000U 3031 Graphics tablet [DrawImage G3, Ugee G3] 5555 Epiphan Systems Inc. 1110 VGA2USB 1120 KVM2USB 2222 DVI2USB 3333 VGA2USB Pro 3337 KVM2USB Pro 3340 VGA2USB LR 3344 KVM2USB LR 3411 DVI2USB Solo 3422 DVI2USB Duo 3500 DVI2USB3 3501 DVI2USB3 Rev3 3510 DVI2USB3_ET 3520 SDI2USB3 55aa OnSpec Electronic, Inc. 0015 Hard Drive 0102 SuperDisk 0103 IDE Hard Drive 0201 DDI to Reader-19 1234 ATAPI Bridge a103 Sandisk SDDR-55 SmartMedia Card Reader b000 USB to CompactFlash Card Reader b004 OnSpec MMC/SD Reader/Writer b00b USB to Memory Stick Card Reader b00c USB to SmartMedia Card Reader b012 Mitsumi FA402M 8-in-2 Card Reader b200 Compact Flash Reader b204 MMC/ SD Reader b207 Memory Stick Reader 5654 Gotview ca42 MasterHD 3 5656 Uni-Trend Group Limited 0832 UT2000/UT3000 Digital Storage Oscilloscope 595a IRTOUCHSYSTEMS Co. Ltd. 0001 Touchscreen 5986 Acer, Inc 0100 Orbicam 0101 USB2.0 Camera 0102 Crystal Eye Webcam 0137 HP Webcam 0141 BisonCam, NB Pro 0149 HP Webcam-101 014c MSI Integrated Webcam 01a6 Lenovo Integrated Webcam 01a7 Lenovo Integrated Webcam 01a9 Lenovo Integrated Webcam 0200 OrbiCam 0202 Fujitsu Webcam 0203 BisonCam NB Pro 1300 0205 Lenovo EasyCamera 0217 Integrated Webcam 0241 BisonCam, NB Pro 0268 SunplusIT INC. Integrated Camera 026a Integrated Camera 0292 Lenovo Integrated Webcam 0294 Lenovo Integrated Webcam 0295 Lenovo Integrated Webcam 0299 Lenovo Integrated Webcam 029c Lenovo EasyCamera 02ac HP TrueVision HD Webcam 02d0 Lenovo Integrated Webcam [R5U877] 02d2 ThinkPad Integrated Camera 02d5 Integrated Camera 03b3 Lenovo Integrated Webcam 03d0 Lenovo Integrated Webcam [R5U877] 0400 BisonCam, NB Pro 0535 Lenovo EasyCamera integrated webcam 055a Lenovo Integrated Webcam 0652 Lenovo EasyCamera 0670 Lenovo EasyCamera 0671 Lenovo EasyCamera 0706 ThinkPad P50 Integrated Camera 2113 SunplusIT Integrated Camera a002 Lenovo EasyCamera Integrated Webcam 59e3 Nonolith Labs 5a57 Zinwell 0260 RT2570 0280 802.11a/b/g/n USB Wireless LAN Card 0282 802.11b/g/n USB Wireless LAN Card 0283 802.11b/g/n USB Wireless LAN Card 0284 802.11a/b/g/n USB Wireless LAN Card 0290 ZW-N290 802.11n [Realtek RTL8192U] 5257 Metronic 495257 wifi 802.11ng 6000 Beholder International Ltd. 0001 Trident TVBOX Video Grabber dec0 TV Wander dec1 TV Voyage 601a Ingenic Semiconductor Ltd. 4740 XBurst Jz4740 boot mode 4760 JZ4760 Boot Device 6022 Xektek 0500 SuperPro Universal Device Programmer 6189 Sitecom 182d LN-029 10/100 Ethernet Adapter 2068 USB to serial cable (v2) 6244 LightingSoft AG 0101 Intelligent Usb Dmx Interface SIUDI5A 0201 Intelligent Usb Dmx Interface SIUDI5C 0300 Intelligent Usb Dmx Interface SIUDI6 Firmware download 0301 Intelligent Usb Dmx Interface SIUDI6C 0302 Intelligent Usb Dmx Interface SIUDI6A 0303 Intelligent Usb Dmx Interface SIUDI6D 0400 Touch Sensitive Intelligent Control Keypad STICK1A 0401 Touch Sensitive Intelligent Control Keypad STICK1A 0410 Intelligent Usb Dmx Interface SIUDI7 Firmware Download 0411 Intelligent Usb Dmx Interface SIUDI7A 0420 Intelligent Usb Dmx Interface SIUDI8A Firmware Download 0421 Intelligent Usb Dmx Interface SIUDI8A 0430 Intelligent Usb Dmx Interface SIUDI8C Firmware Download 0431 Intelligent Usb Dmx Interface SIUDI8C 0440 Intelligent Usb Dmx Interface SIUDI9A Firmware Download 0441 Intelligent Usb Dmx Interface SIUDI9A 0450 Intelligent Usb Dmx Interface SIUDI9C Firmware Download 0451 Intelligent Usb Dmx Interface SIUDI9C 0460 Touch Sensitive Intelligent Control Keypad STICK2 Firmware download 0461 Touch Sensitive Intelligent Control Keypad STICK2 0470 Touch Sensitive Intelligent Control Keypad STICK1B Firmware download 0471 Touch Sensitive Intelligent Control Keypad STICK1B 0480 Touch Sensitive Intelligent Control Keypad STICK3 Firmware download 0481 Touch Sensitive Intelligent Control Keypad STICK3 0490 Intelligent Usb Dmx Interface SIUDI9D Firmware Download 0491 Intelligent Usb Dmx Interface SIUDI9D 0500 Touch Sensitive Intelligent Control Keypad STICK2B Firmware download 0501 Touch Sensitive Intelligent Control Keypad STICK2B 0520 Touch Sensitive Intelligent Control Keypad (STICK2C Firmware download, 32/64bits 0521 Touch Sensitive Intelligent Control Keypad (STICK2C, 32/64bits) 0540 Sunlite Universal Smart Handy Interface (SUSHI1A Firmware download, 32/64bits) 0541 Sunlite Universal Smart Handy Interface (SUSHI1A, 32/64bits) 0570 Touch Sensitive Intelligent Control Keypad (STICK4A Firmware download, 32/64bits) 0571 Touch Sensitive Intelligent Control Keypad (STICK4A, 32/64bits) 0580 Touch Sensitive Intelligent Control Keypad (STICK5A Firmware download, 32/64bits) 0581 Touch Sensitive Intelligent Control Keypad (STICK5A, 32/64bits) 0590 Intelligent Dmx Interface (SIUDI9S Firmware Download, 32/64bits) 0591 Intelligent Dmx Interface (SIUDI9S, 32/64bits) 0600 Intelligent Dmx Interface (SIUDI9M Firmware Download, 32/64bits) 0601 Intelligent Dmx Interface (SIUDI9M, 32/64bits) 0610 Intelligent Dmx Interface SIUDI10A Firmware Download 0611 Intelligent Dmx Interface SIUDI10A 6253 TwinHan Technology Co., Ltd 0100 Ir reciver f. remote control 636c CoreLogic, Inc. 6472 Sony Corp. 01c8 PlayStation Portable [Mass Storage] 6547 Arkmicro Technologies Inc. 0232 ARK3116 Serial 6557 Emtec 5500 Mass Storage Device 8005 Car Key 6615 IRTOUCHSYSTEMS Co. Ltd. 0001 Touchscreen 0020 IRTOUCH InfraRed TouchScreen 0081 TouchScreen 6666 Prototype product Vendor ID 0667 WiseGroup Smart Joy PSX, PS-PC Smart JoyPad 1c40 TELEMIC 802.15.4 Sensor node (Bootloader) 1c41 TELEMIC 802.15.4 Sensor node 2667 JCOP BlueZ Smartcard reader 8802 SmartJoy Dual Plus PS2 converter 8804 WiseGroup SuperJoy Box 5 6677 WiseGroup, Ltd. 8802 SmartJoy Dual Plus PS2 converter 8811 Deluxe Dance Mat 675d Humanscale 062a Switch Mouse 6891 3Com a727 3CRUSB10075 802.11bg [ZyDAS ZD1211] 695c Opera1 3829 Opera1 DVB-S (warm state) 6993 Yealink Network Technology Co., Ltd. b001 VoIP Phone 6a75 Shanghai Jujo Electronics Co., Ltd 7104 CME (Central Music Co.) 2202 UF5/UF6/UF7/UF8 MIDI Master Keyboard 726c StackFoundry LLC 2149 EntropyKing Random Number Generator 7302 Solinftec 0001 HUB 4X232 734c TBS Technologies China 5920 Q-Box II DVB-S2 HD 5928 Q-Box II DVB-S2 HD 7373 Beijing STONE Technology Co. Ltd. 5740 Intelligent TFT-LCD Module 7392 Edimax Technology Co., Ltd 7711 EW-7711UTn nLite Wireless Adapter [Ralink RT3070] 7717 EW-7717UN 802.11n Wireless Adapter [Ralink RT2770] 7718 EW-7718UN 802.11n Wireless Adapter [Ralink RT2870] 7722 EW-7722UTn 802.11n Wireless Adapter [Ralink RT3072] 7733 EW-7733UnD 802.11abgn 3x3:3 [Ralink RT3573] 7811 EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS] 7822 EW-7612UAn V2 802.11n Wireless Adapter [Realtek RTL8192CU] a611 EW-7611ULB 802.11b/g/n and Bluetooth 4.0 Adapter a711 EW-7711MAC 802.11ac Wireless Adapter a811 EW-7811UTC 802.11ac Wireless Adapter b711 EW-7722UAC 802.11a/b/g/n/ac (2x2) Wireless Adapter [MediaTek MT7612U] b822 EW-7822ULC 802.11ac Wireless Adapter [Realtek RTL8812AU] 73d8 Progeny Dental Equipment Specialists 0104 VetPro DR, Size 1 0105 VetPro DR, Size 2 7669 Venable Instruments 350c Model 350c, Frequency Response Analyzer 5140 Model 5140, Frequency Response Analyzer 6305 Model 6305, Frequency Response Analyzer 6320 Model 6320, Frequency Response Analyzer 6340 Model 6340, Frequency Response Analyzer 7405 Model 7405, Frequency Response Analyzer 7420 Model 7420, Frequency Response Analyzer 7440 Model 7440, Frequency Response Analyzer 8805 Model 8805, Frequency Response Analyzer 8820 Model 8820, Frequency Response Analyzer 8840 Model 8840, Frequency Response Analyzer 7825 Other World Computing a2a4 External SATA Hard Drive Adapter cable PA023U3 b0b3 miniStack MAX 8070 ACCES I/O Products, Inc. 8003 USB-DIO-96 8070 USB-AO16-16A 8086 Intel Corp. 0001 AnyPoint (TM) Home Network 1.6 Mbps Wireless Adapter 0044 CPU DRAM Controller 0046 HD Graphics 0100 Personal Audio Player 3000 0101 Personal Audio Player 3000 0110 Easy PC Camera 0120 PC Camera CS120 0180 WiMAX Connection 2400m 0181 WiMAX Connection 2400m 0182 WiMAX Connection 2400m 0186 WiMAX Connection 2400m 0188 WiMAX Connection 2400m 0189 Centrino Advanced-N 6230 Bluetooth adapter 0200 AnyPoint(TM) Wireless II Network 11Mbps Adapter [Atmel AT76C503A] 0431 Pro Video PC Camera 0510 Digital Movie Creator 0630 Pocket PC Camera 0780 CS780 Microphone Input 07d3 BLOB boot loader firmware 07dc Bluetooth 4.0* Smart Ready (low energy) 0b07 RealSense D435 0dad Cherry MiniatureCard Keyboard 1010 AnyPoint(TM) Home Network 10 Mbps Phoneline Adapter 110a Bluetooth Controller from (Ericsson P4A) 110b Bluetooth Controller from (Intel/CSR) 1110 PRO/Wireless LAN Module 1111 PRO/Wireless 2011B 802.11b Adapter [Intersil PRISM 2.5] 1122 Integrated Hub 1134 Hollister Mobile Monitor 1139 In-Target Probe (ITP) 1234 Prototype Reader/Writer 1403 WiMAX Connection 2400m 1405 WiMAX Connection 2400m 1406 WiMAX Connection 2400m 2448 82801 PCI Bridge 3100 PRO/DSL 3220 Modem - WAN 3101 PRO/DSL 3220 Modem 3240 AnyPoint® 3240 Modem - WAN 3241 AnyPoint® 3240 Modem 8602 Miniature Card Slot 8c26 8 Series/C220 Series EHCI #1 8c2d 8 Series/C220 Series EHCI #2 8c31 eXtensible Host Controller 9303 8x930Hx Hub 9500 CE 9500 DVB-T 9890 82930 Test Board beef SCM Miniature Card Reader/Writer c013 Wireless HID Station dead Galileo f001 XScale PXA27x Bulverde flash f1a5 Z-U130 [Value Solid State Drive] 8087 Intel Corp. 0020 Integrated Rate Matching Hub 0024 Integrated Rate Matching Hub 0025 Wireless-AC 9260 Bluetooth Adapter 0029 AX200 Bluetooth 0716 Modem Flashloader 07da Centrino Bluetooth Wireless Transceiver 07dc Bluetooth wireless interface 07eb Oaktrail tablet 0a2a Bluetooth wireless interface 0a2b Bluetooth wireless interface 0a9e Edison 0aa7 Wireless-AC 3168 Bluetooth 0aaa Bluetooth 9460/9560 Jefferson Peak (JfP) 0fff Intel Android Bootloader Interface 8000 Integrated Rate Matching Hub 8001 Integrated Hub 8002 8 channel internal hub 8008 Integrated Rate Matching Hub 800a Hub 80ee VirtualBox 0021 USB Tablet 0022 multitouch tablet 8282 Keio 3201 Retro Adapter 3301 Retro Adapter Mouse 8301 Hapurs 0089 HPBT05R 2.4 G Mini Wireless Touchpad Keyboard 8341 EGO Systems, Inc. 2000 Flashdisk 8564 Transcend Information, Inc. 1000 JetFlash 4000 microSD/SD/CF UHS-II Card Reader [RDF8, RDF9] 6000 digital photo frame PF830 6002 digital photo frame PF830 7000 StoreJet 25H3 8644 Intenso GmbG 8003 Micro Line 800b Micro Line (4GB) 8e06 CH Products, Inc. f700 DT225 Trackball 8ea3 Doosl a02c Wireless Presenter Receiver 9016 Sitecom 182d WL-022 802.11b Adapter 9022 TeVii Technology Ltd. d630 DVB-S S630 d650 DVB-S2 S650 d660 DVB-S2 S660 9148 GeoLab, Ltd # All of GeoLab's devices share the same ID 0004. 0004 R3 Compatible Device 9516 Studiologic 9710 MosChip Semiconductor 7703 MCS7703 Serial Port Adapter 7705 MCS7705 Parallel port adapter 7715 MCS7715 Parallel and serial port adapter 7717 MCS7717 3-port hub with serial and parallel adapter 7720 MCS7720 Dual serial port adapter 7730 MCS7730 10/100 Mbps Ethernet adapter 7780 MCS7780 4Mbps Fast IrDA Adapter 7784 MCS7784 115.2Kb IrDA Adapter 7810 MCS7810 Serial Port Adapter 7820 MCS7820 Dual Serial Port Adapter 7830 MCS7830 10/100 Mbps Ethernet adapter 7832 MCS7832 10/100 Mbps Ethernet adapter 7840 MCS7820/MCS7840 2/4 port serial adapter 9990 MCS9990 PCIe Host Controller 9849 Bestmedia CD Recordable GmbH & Co. KG 0701 Platinum MyDrive HP 9886 Astro Gaming 0015 A50 9999 Odeon 0001 JAF Mobile Phone Flasher Interface 99fa Grandtec 8988 V.cap Camera Device 9ac4 J. Westhues 4b8f ProxMark-3 RFID Instrument 9e88 Marvell Semiconductor, Inc. 9e8f Plug Computer Basic [SheevaPlug] a014 Insignia (Best Buy) b014 Desktop Microphone NS-PAUM50 a108 Ingenic Semiconductor Co.,Ltd 1000 X1000 4775 JZ4775 Boot Device a128 AnMo Electronics Corp. / Dino-Lite (?) 0610 Dino-Lite Digital Microscope (SN9C201 + HV7131R) 0611 Dino-Lite Digital Microscope (SN9C201 + HV7131R) 0612 Dino-Lite Digital Microscope (SN9C120 + HV7131R) 0613 Dino-Lite Digital Microscope (SN9C201 + HV7131R) 0614 Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111) 0615 Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111) 0616 Dino-Lite Digital Microscope (SN9C120 + HV7131R) 0617 Dino-Lite Digital Microscope (SN9C201 + MI1310/MT9M111) 0618 Dino-Lite Digital Microscope (SN9C201 + HV7131R) a168 AnMo Electronics Corporation 0610 Dino-Lite Digital Microscope 0611 Dino-Lite Digital Microscope 0613 Dino-Lite Digital Microscope 0614 Dino-Lite Pro Digital Microscope 0615 Dino-Lite Pro Digital Microscope 0617 Dino-Lite Pro Digital Microscope 0618 Dino-Lite Digital Microscope a466 Haikou Xingong Electronics Co.,Ltd 0a53 TL866II Plus Device Programmer [MiniPRO] a600 ASIX s.r.o. 5500 zuban H2OPS - GPS for canoeing a000 SIGMA Logic Analyzer a002 EMUSB interface pro MU Beta c000 MREL Data Trap II c001 VUTS DMU4 c002 Electrone MASH c005 MREL HTU HandiTrap cable c006 JRC COmeter e110 OK1ZIA Davac 4.x e112 OK1ZIA Antenna rotator e113 OK1ZIA GPIO e114 OK1ZIA HD&Keyb a727 3Com 6893 3CRUSB20075 OfficeConnect Wireless 108Mbps 11g Adapter [Atheros AR5523] 6895 AR5523 6897 AR5523 a88a Clas Ohlsson 3003 PCFree Multimedia Remote Control PC aaaa MXT 8815 microSD CardReader 8816 microSD CardReader ab12 aplic 34cd JMICRON JMS578 SATA 6Gb/s bridge abcd LogiLink 1234 UDisk flash drive 6104 PCCloneEX Lite+ SATA docking station [QP0017] cdee Petcam b58e Blue Microphones 9e84 Yeti Stereo Microphone ba77 Clockmaker 7147 Agterbosch c216 Card Device Expert Co., LTD 0180 MSR90 MagStripe reader c251 Keil Software, Inc. 1705 MCB2300 2710 ULink 2723 ULink-ME c502 AGPTek 0029 Rocker cace CACE Technologies Inc. 0002 AirPCAP Classic 802.11 packet capture adapter 0300 AirPcap NX [Atheros AR9170+AR9104] cd12 SMART TECHNOLOGY INDUSTRIAL LTD. d208 Ultimarc 0310 Mini-PAC Arcade Control Interface d209 Ultimarc 0301 I-PAC Arcade Control Interface 0501 Ultra-Stik Ultimarc Ultra-Stik Player 1 1571 A-PAC Arcade Control Interface d904 LogiLink 0003 Laser Mouse (ID0009A) e2b7 Jie Li 0811 CD002 0812 CD005 MP3 Player e4e4 Xorcom Ltd. 1130 Astribank series 1131 Astribank series 1132 Astribank series 1140 Astribank series 1141 Astribank series 1142 Astribank series 1150 Astribank series 1151 Astribank series 1152 Astribank series 1160 Astribank 2 series 1161 Astribank 2 series 1162 Astribank 2 series eb03 MakingThings 0920 Make Controller Kit eb1a eMPIA Technology, Inc. 17de KWorld V-Stream XPERT DTV - DVB-T USB cold 17df KWorld V-Stream XPERT DTV - DVB-T USB warm 2571 M035 Compact Web Cam 2710 SilverCrest Webcam 2750 ECS Elitegroup G220 integrated Webcam 2761 EeePC 701 integrated Webcam 2776 Combined audio and video input device 2800 EM2800 Video Capture 2801 EM2801 Video Capture 2820 EM2820 Video Capture 2821 EM2820 Video Capture 2840 EM2840 Video Capture 2841 EM2840 Video Capture 2861 EasyCAP DC60+ [EM2861] 2863 Video Grabber 2870 Pinnacle PCTV Stick 2881 EM2881 Video Controller 50a3 Gadmei UTV380 TV Box 50a6 Gadmei UTV330 TV Box 5166 video grabber 28282 5184 VIDBOX NW06 [EM28281] 8179 Terratec Cinergy T2 Stick HD e305 KWorld PlusTV Analog Stick e355 KWorld DVB-T 355U Digital TV Dongle eb2a KWorld ef18 SMART TECHNOLOGY INDUSTRIAL LTD. f003 Hewlett Packard 6002 PhotoSmart C500 f007 Teslong a999 Endoscope Camera b999 Otoscope Camera f182 Leap Motion 0003 Controller f3f0 CCT, Inc 0740 multi-function device 1340 multi-function printer 1440 printer device 1921 printer f4ec Atten Electronics / Siglent Technologies ee38 Digital Storage Oscilloscope f4ed Shenzhen Siglent Co., Ltd. ee37 SDG1010 Waveform Generator ee3a SDG1010 Waveform Generator (TMC mode) f766 Hama 0001 PC-Gamepad "Greystorm" fa11 DyingLight 5afe DyingLight fc08 Conrad Electronic SE 0101 MIDI Cable UA0037 ff00 Power Delivery ffee FNK Tech 0100 Card Reader Controller RTS5101/RTS5111/RTS5116 # List of known device classes, subclasses and protocols # Syntax: # C class class_name # subclass subclass_name <-- single tab # protocol protocol_name <-- two tabs C 00 (Defined at Interface level) C 01 Audio 01 Control Device 02 Streaming 03 MIDI Streaming C 02 Communications 01 Direct Line 02 Abstract (modem) 00 None 01 AT-commands (v.25ter) 02 AT-commands (PCCA101) 03 AT-commands (PCCA101 + wakeup) 04 AT-commands (GSM) 05 AT-commands (3G) 06 AT-commands (CDMA) fe Defined by command set descriptor ff Vendor Specific (MSFT RNDIS?) 03 Telephone 04 Multi-Channel 05 CAPI Control 06 Ethernet Networking 07 ATM Networking 08 Wireless Handset Control 09 Device Management 0a Mobile Direct Line 0b OBEX 0c Ethernet Emulation 07 Ethernet Emulation (EEM) C 03 Human Interface Device 00 No Subclass 00 None 01 Keyboard 02 Mouse 01 Boot Interface Subclass 00 None 01 Keyboard 02 Mouse C 05 Physical Interface Device C 06 Imaging 01 Still Image Capture 01 Picture Transfer Protocol (PIMA 15470) C 07 Printer 01 Printer 00 Reserved/Undefined 01 Unidirectional 02 Bidirectional 03 IEEE 1284.4 compatible bidirectional ff Vendor Specific C 08 Mass Storage 01 RBC (typically Flash) 00 Control/Bulk/Interrupt 01 Control/Bulk 50 Bulk-Only 02 SFF-8020i, MMC-2 (ATAPI) 03 QIC-157 04 Floppy (UFI) 00 Control/Bulk/Interrupt 01 Control/Bulk 50 Bulk-Only 05 SFF-8070i 06 SCSI 00 Control/Bulk/Interrupt 01 Control/Bulk 50 Bulk-Only C 09 Hub 00 Unused 00 Full speed (or root) hub 01 Single TT 02 TT per port C 0a CDC Data 00 Unused 30 I.430 ISDN BRI 31 HDLC 32 Transparent 50 Q.921M 51 Q.921 52 Q.921TM 90 V.42bis 91 Q.932 EuroISDN 92 V.120 V.24 rate ISDN 93 CAPI 2.0 fd Host Based Driver fe CDC PUF ff Vendor specific C 0b Chip/SmartCard C 0d Content Security C 0e Video 00 Undefined 01 Video Control 02 Video Streaming 03 Video Interface Collection C 58 Xbox 42 Controller C dc Diagnostic 01 Reprogrammable Diagnostics 01 USB2 Compliance C e0 Wireless 01 Radio Frequency 01 Bluetooth 02 Ultra WideBand Radio Control 03 RNDIS 02 Wireless USB Wire Adapter 01 Host Wire Adapter Control/Data Streaming 02 Device Wire Adapter Control/Data Streaming 03 Device Wire Adapter Isochronous Streaming C ef Miscellaneous Device 01 ? 01 Microsoft ActiveSync 02 Palm Sync 02 ? 01 Interface Association 02 Wire Adapter Multifunction Peripheral 03 ? 01 Cable Based Association 05 USB3 Vision C fe Application Specific Interface 01 Device Firmware Update 02 IRDA Bridge 03 Test and Measurement 01 TMC 02 USB488 C ff Vendor Specific Class ff Vendor Specific Subclass ff Vendor Specific Protocol # List of Audio Class Terminal Types # Syntax: # AT terminal_type terminal_type_name AT 0100 USB Undefined AT 0101 USB Streaming AT 01ff USB Vendor Specific AT 0200 Input Undefined AT 0201 Microphone AT 0202 Desktop Microphone AT 0203 Personal Microphone AT 0204 Omni-directional Microphone AT 0205 Microphone Array AT 0206 Processing Microphone Array AT 0300 Output Undefined AT 0301 Speaker AT 0302 Headphones AT 0303 Head Mounted Display Audio AT 0304 Desktop Speaker AT 0305 Room Speaker AT 0306 Communication Speaker AT 0307 Low Frequency Effects Speaker AT 0400 Bidirectional Undefined AT 0401 Handset AT 0402 Headset AT 0403 Speakerphone, no echo reduction AT 0404 Echo-suppressing speakerphone AT 0405 Echo-canceling speakerphone AT 0500 Telephony Undefined AT 0501 Phone line AT 0502 Telephone AT 0503 Down Line Phone AT 0600 External Undefined AT 0601 Analog Connector AT 0602 Digital Audio Interface AT 0603 Line Connector AT 0604 Legacy Audio Connector AT 0605 SPDIF interface AT 0606 1394 DA stream AT 0607 1394 DV stream soundtrack AT 0700 Embedded Undefined AT 0701 Level Calibration Noise Source AT 0702 Equalization Noise AT 0703 CD Player AT 0704 DAT AT 0705 DCC AT 0706 MiniDisc AT 0707 Analog Tape AT 0708 Phonograph AT 0709 VCR Audio AT 070a Video Disc Audio AT 070b DVD Audio AT 070c TV Tuner Audio AT 070d Satellite Receiver Audio AT 070e Cable Tuner Audio AT 070f DSS Audio AT 0710 Radio Receiver AT 0711 Radio Transmitter AT 0712 Multitrack Recorder AT 0713 Synthesizer # List of HID Descriptor Types # Syntax: # HID descriptor_type descriptor_type_name HID 21 HID HID 22 Report HID 23 Physical # List of HID Descriptor Item Types # Note: 2 bits LSB encode data length following # Syntax: # R item_type item_type_name R 04 Usage Page R 08 Usage R 14 Logical Minimum R 18 Usage Minimum R 24 Logical Maximum R 28 Usage Maximum R 34 Physical Minimum R 38 Designator Index R 44 Physical Maximum R 48 Designator Minimum R 54 Unit Exponent R 58 Designator Maximum R 64 Unit R 74 Report Size R 78 String Index R 80 Input R 84 Report ID R 88 String Minimum R 90 Output R 94 Report Count R 98 String Maximum R a0 Collection R a4 Push R a8 Delimiter R b0 Feature R b4 Pop R c0 End Collection # List of Physical Descriptor Bias Types # Syntax: # BIAS item_type item_type_name BIAS 0 Not Applicable BIAS 1 Right Hand BIAS 2 Left Hand BIAS 3 Both Hands BIAS 4 Either Hand # List of Physical Descriptor Item Types # Syntax: # PHY item_type item_type_name PHY 00 None PHY 01 Hand PHY 02 Eyeball PHY 03 Eyebrow PHY 04 Eyelid PHY 05 Ear PHY 06 Nose PHY 07 Mouth PHY 08 Upper Lip PHY 09 Lower Lip PHY 0a Jaw PHY 0b Neck PHY 0c Upper Arm PHY 0d Elbow PHY 0e Forearm PHY 0f Wrist PHY 10 Palm PHY 11 Thumb PHY 12 Index Finger PHY 13 Middle Finger PHY 14 Ring Finger PHY 15 Little Finger PHY 16 Head PHY 17 Shoulder PHY 18 Hip PHY 19 Waist PHY 1a Thigh PHY 1b Knee PHY 1c calf PHY 1d Ankle PHY 1e Foot PHY 1f Heel PHY 20 Ball of Foot PHY 21 Big Toe PHY 22 Second Toe PHY 23 Third Toe PHY 24 Fourth Toe PHY 25 Fifth Toe PHY 26 Brow PHY 27 Cheek # List of HID Usages # Syntax: # HUT hi _usage_page hid_usage_page_name # hid_usage hid_usage_name HUT 00 Undefined HUT 01 Generic Desktop Controls 000 Undefined 001 Pointer 002 Mouse 004 Joystick 005 Gamepad 006 Keyboard 007 Keypad 008 Multi-Axis Controller 030 Direction-X 031 Direction-Y 032 Direction-Z 033 Rotate-X 034 Rotate-Y 035 Rotate-Z 036 Slider 037 Dial 038 Wheel 039 Hat Switch 03a Counted Buffer 03b Byte Count 03c Motion Wakeup 03d Start 03e Select 040 Vector-X 041 Vector-Y 042 Vector-Z 043 Vector-X relative Body 044 Vector-Y relative Body 045 Vector-Z relative Body 046 Vector 080 System Control 081 System Power Down 082 System Sleep 083 System Wake Up 084 System Context Menu 085 System Main Menu 086 System App Menu 087 System Menu Help 088 System Menu Exit 089 System Menu Select 08a System Menu Right 08b System Menu Left 08c System Menu Up 08d System Menu Down 090 Direction Pad Up 091 Direction Pad Down 092 Direction Pad Right 093 Direction Pad Left HUT 02 Simulation Controls 000 Undefined 001 Flight Simulation Device 002 Automobile Simulation Device 003 Tank Simulation Device 004 Spaceship Simulation Device 005 Submarine Simulation Device 006 Sailing Simulation Device 007 Motorcycle Simulation Device 008 Sports Simulation Device 009 Airplane Simualtion Device 00a Helicopter Simulation Device 00b Magic Carpet Simulation Device 00c Bicycle Simulation Device 020 Flight Control Stick 021 Flight Stick 022 Cyclic Control 023 Cyclic Trim 024 Flight Yoke 025 Track Control 0b0 Aileron 0b1 Aileron Trim 0b2 Anti-Torque Control 0b3 Autopilot Enable 0b4 Chaff Release 0b5 Collective Control 0b6 Dive Break 0b7 Electronic Countermeasures 0b8 Elevator 0b9 Elevator Trim 0ba Rudder 0bb Throttle 0bc Flight COmmunications 0bd Flare Release 0be Landing Gear 0bf Toe Break 0c0 Trigger 0c1 Weapon Arm 0c2 Weapons Select 0c3 Wing Flaps 0c4 Accelerator 0c5 Brake 0c6 Clutch 0c7 Shifter 0c8 Steering 0c9 Turret Direction 0ca Barrel Elevation 0cb Drive Plane 0cc Ballast 0cd Bicylce Crank 0ce Handle Bars 0cf Front Brake 0d0 Rear Brake HUT 03 VR Controls 000 Unidentified 001 Belt 002 Body Suit 003 Flexor 004 Glove 005 Head Tracker 006 Head Mounted Display 007 Hand Tracker 008 Oculometer 009 Vest 00a Animatronic Device 020 Stereo Enable 021 Display Enable HUT 04 Sport Controls 000 Unidentified 001 Baseball Bat 002 Golf Club 003 Rowing Machine 004 Treadmill 030 Oar 031 Slope 032 Rate 033 Stick Speed 034 Stick Face Angle 035 Stick Heel/Toe 036 Stick Follow Through 038 Stick Type 039 Stick Height 047 Stick Temp 050 Putter 051 1 Iron 052 2 Iron 053 3 Iron 054 4 Iron 055 5 Iron 056 6 Iron 057 7 Iron 058 8 Iron 059 9 Iron 05a 10 Iron 05b 11 Iron 05c Sand Wedge 05d Loft Wedge 05e Power Wedge 05f 1 Wood 060 3 Wood 061 5 Wood 062 7 Wood 063 9 Wood HUT 05 Game Controls 000 Undefined 001 3D Game Controller 002 Pinball Device 003 Gun Device 020 Point Of View 021 Turn Right/Left 022 Pitch Right/Left 023 Roll Forward/Backward 024 Move Right/Left 025 Move Forward/Backward 026 Move Up/Down 027 Lean Right/Left 028 Lean Forward/Backward 029 Height of POV 02a Flipper 02b Secondary Flipper 02c Bump 02d New Game 02e Shoot Ball 02f Player 030 Gun Bolt 031 Gun Clip 032 Gun Selector 033 Gun Single Shot 034 Gun Burst 035 Gun Automatic 036 Gun Safety 037 Gamepad Fire/Jump 038 Gamepad Fun 039 Gamepad Trigger HUT 07 Keyboard 000 No Event 001 Keyboard ErrorRollOver 002 Keyboard POSTfail 003 Keyboard Error Undefined 004 A 005 B 006 C 007 D 008 E 009 F 00a G 00b H 00c I 00d J 00e K 00f L 010 M 011 N 012 O 013 P 014 Q 015 R 016 S 017 T 018 U 019 V 01a W 01b X 01c Y 01d Z 01e 1 and ! (One and Exclamation) 01f 2 and @ (2 and at) 020 3 and # (3 and Hash) 021 4 and $ (4 and Dollar Sign) 022 5 and % (5 and Percent Sign) 023 6 and ^ (6 and circumflex) 024 7 and & (Seven and Ampersand) 025 8 and * (Eight and asterisk) 026 9 and ( (Nine and Parenthesis Left) 027 0 and ) (Zero and Parenthesis Right) 028 Return (Enter) 029 Escape 02a Delete (Backspace) 02b Tab 02c Space Bar 02d - and _ (Minus and underscore) 02e = and + (Equal and Plus) 02f [ and { (Bracket and Braces Left) 030 ] and } (Bracket and Braces Right) 031 \ and | (Backslash and Bar) 032 # and ~ (Hash and Tilde, Non-US Keyboard near right shift) 033 ; and : (Semicolon and Colon) 034 and " (Accent Acute and Double Quotes) 035 ` and ~ (Accent Grace and Tilde) 036 , and < (Comma and Less) 037 . and > (Period and Greater) 038 / and ? (Slash and Question Mark) 039 Caps Lock 03a F1 03b F2 03c F3 03d F4 03e F5 03f F6 040 F7 041 F8 042 F9 043 F10 044 F11 045 F12 046 Print Screen 047 Scroll Lock 048 Pause 049 Insert 04a Home 04b Page Up 04c Delete Forward (without Changing Position) 04d End 04e Page Down 04f Right Arrow 050 Left Arrow 051 Down Arrow 052 Up Arrow 053 Num Lock and Clear 054 Keypad / (Division Sign) 055 Keypad * (Multiplication Sign) 056 Keypad - (Subtraction Sign) 057 Keypad + (Addition Sign) 058 Keypad Enter 059 Keypad 1 and END 05a Keypad 2 and Down Arrow 05b Keypad 3 and Page Down 05c Keypad 4 and Left Arrow 05d Keypad 5 (Tactilei Raised) 05f Keypad 6 and Right Arrow 060 Keypad 7 and Home 061 Keypad 8 and Up Arrow 062 Keypad 8 and Page Up 063 Keypad . (decimal delimiter) and Delete 064 \ and | (Backslash and Bar, UK and Non-US Keyboard near left shift) 065 Keyboard Application (Windows Key for Win95 or Compose) 066 Power (not a key) 067 Keypad = (Equal Sign) 068 F13 069 F14 06a F15 06b F16 06c F17 06d F18 06e F19 06f F20 070 F21 071 F22 072 F23 073 F24 074 Execute 075 Help 076 Menu 077 Select 078 Stop 079 Again 07a Undo 07b Cut 07c Copy 07d Paste 07e Find 07f Mute 080 Volume Up 081 Volume Down 082 Locking Caps Lock 083 Locking Num Lock 084 Locking Scroll Lock 085 Keypad Comma 086 Keypad Equal Sign (AS/400) 087 International 1 (PC98) 088 International 2 (PC98) 089 International 3 (PC98) 08a International 4 (PC98) 08b International 5 (PC98) 08c International 6 (PC98) 08d International 7 (Toggle Single/Double Byte Mode) 08e International 8 08f International 9 090 LANG 1 (Hangul/English Toggle, Korea) 091 LANG 2 (Hanja Conversion, Korea) 092 LANG 3 (Katakana, Japan) 093 LANG 4 (Hiragana, Japan) 094 LANG 5 (Zenkaku/Hankaku, Japan) 095 LANG 6 096 LANG 7 097 LANG 8 098 LANG 9 099 Alternate Erase 09a SysReq/Attention 09b Cancel 09c Clear 09d Prior 09e Return 09f Separator 0a0 Out 0a1 Open 0a2 Clear/Again 0a3 CrSel/Props 0a4 ExSel 0e0 Control Left 0e1 Shift Left 0e2 Alt Left 0e3 GUI Left 0e4 Control Right 0e5 Shift Right 0e6 Alt Rigth 0e7 GUI Right HUT 08 LEDs 000 Undefined 001 NumLock 002 CapsLock 003 Scroll Lock 004 Compose 005 Kana 006 Power 007 Shift 008 Do not disturb 009 Mute 00a Tone Enabke 00b High Cut Filter 00c Low Cut Filter 00d Equalizer Enable 00e Sound Field ON 00f Surround On 010 Repeat 011 Stereo 012 Sampling Rate Detect 013 Spinning 014 CAV 015 CLV 016 Recording Format Detect 017 Off-Hook 018 Ring 019 Message Waiting 01a Data Mode 01b Battery Operation 01c Battery OK 01d Battery Low 01e Speaker 01f Head Set 020 Hold 021 Microphone 022 Coverage 023 Night Mode 024 Send Calls 025 Call Pickup 026 Conference 027 Stand-by 028 Camera On 029 Camera Off 02a On-Line 02b Off-Line 02c Busy 02d Ready 02e Paper-Out 02f Paper-Jam 030 Remote 031 Forward 032 Reverse 033 Stop 034 Rewind 035 Fast Forward 036 Play 037 Pause 038 Record 039 Error 03a Usage Selected Indicator 03b Usage In Use Indicator 03c Usage Multi Indicator 03d Indicator On 03e Indicator Flash 03f Indicator Slow Blink 040 Indicator Fast Blink 041 Indicator Off 042 Flash On Time 043 Slow Blink On Time 044 Slow Blink Off Time 045 Fast Blink On Time 046 Fast Blink Off Time 047 Usage Color Indicator 048 Indicator Red 049 Indicator Green 04a Indicator Amber 04b Generic Indicator 04c System Suspend 04d External Power Connected HUT 09 Buttons 000 No Button Pressed 001 Button 1 (Primary) 002 Button 2 (Secondary) 003 Button 3 (Tertiary) 004 Button 4 005 Button 5 HUT 0a Ordinal 001 Instance 1 002 Instance 2 003 Instance 3 HUT 0b Telephony 000 Unassigned 001 Phone 002 Answering Machine 003 Message Controls 004 Handset 005 Headset 006 Telephony Key Pad 007 Programmable Button 020 Hook Switch 021 Flash 022 Feature 023 Hold 024 Redial 025 Transfer 026 Drop 027 Park 028 Forward Calls 029 Alternate Function 02a Line 02b Speaker Phone 02c Conference 02d Ring Enable 02e Ring Select 02f Phone Mute 030 Caller ID 050 Speed Dial 051 Store Number 052 Recall Number 053 Phone Directory 070 Voice Mail 071 Screen Calls 072 Do Not Disturb 073 Message 074 Answer On/Offf 090 Inside Dial Tone 091 Outside Dial Tone 092 Inside Ring Tone 093 Outside Ring Tone 094 Priority Ring Tone 095 Inside Ringback 096 Priority Ringback 097 Line Busy Tone 098 Recorder Tone 099 Call Waiting Tone 09a Confirmation Tone 1 09b Confirmation Tone 2 09c Tones Off 09d Outside Ringback 0b0 Key 1 0b1 Key 2 0b3 Key 3 0b4 Key 4 0b5 Key 5 0b6 Key 6 0b7 Key 7 0b8 Key 8 0b9 Key 9 0ba Key Star 0bb Key Pound 0bc Key A 0bd Key B 0be Key C 0bf Key D HUT 0c Consumer 000 Unassigned 001 Consumer Control 002 Numeric Key Pad 003 Programmable Buttons 020 +10 021 +100 022 AM/PM 030 Power 031 Reset 032 Sleep 033 Sleep After 034 Sleep Mode 035 Illumination 036 Function Buttons 040 Menu 041 Menu Pick 042 Menu Up 043 Menu Down 044 Menu Left 045 Menu Right 046 Menu Escape 047 Menu Value Increase 048 Menu Value Decrease 060 Data on Screen 061 Closed Caption 062 Closed Caption Select 063 VCR/TV 064 Broadcast Mode 065 Snapshot 066 Still 080 Selection 081 Assign Selection 082 Mode Step 083 Recall Last 084 Enter Channel 085 Order Movie 086 Channel 087 Media Selection 088 Media Select Computer 089 Media Select TV 08a Media Select WWW 08b Media Select DVD 08c Media Select Telephone 08d Media Select Program Guide 08e Media Select Video Phone 08f Media Select Games 090 Media Select Messages 091 Media Select CD 092 Media Select VCR 093 Media Select Tuner 094 Quit 095 Help 096 Media Select Tape 097 Media Select Cable 098 Media Select Satellite 099 Media Select Security 09a Media Select Home 09b Media Select Call 09c Channel Increment 09d Channel Decrement 09e Media Select SAP 0a0 VCR Plus 0a1 Once 0a2 Daily 0a3 Weekly 0a4 Monthly 0b0 Play 0b1 Pause 0b2 Record 0b3 Fast Forward 0b4 Rewind 0b5 Scan Next Track 0b6 Scan Previous Track 0b7 Stop 0b8 Eject 0b9 Random Play 0ba Select Disc 0bb Enter Disc 0bc Repeat 0bd Tracking 0be Track Normal 0bf Slow Tracking 0c0 Frame Forward 0c1 Frame Back 0c2 Mark 0c3 Clear Mark 0c4 Repeat from Mark 0c5 Return to Mark 0c6 Search Mark Forward 0c7 Search Mark Backward 0c8 Counter Reset 0c9 Show Counter 0ca Tracking Increment 0cb Tracking Decrement 0cc Stop/Eject 0cd Play/Pause 0ce Play/Skip 0e0 Volume 0e1 Balance 0e2 Mute 0e3 Bass 0e4 Treble 0e5 Bass Boost 0e6 Surround Mode 0e7 Loudness 0e8 MPX 0e9 Volume Increment 0ea Volume Decrement 0f0 Speed Select 0f1 Playback Speed 0f2 Standard Play 0f3 Long Play 0f4 Extended Play 0f5 Slow 100 Fan Enable 101 Fan Speed 102 Light Enable 103 Light Illumination Level 104 Climate Control Enable 105 Room Temperature 106 Security Enable 107 Fire Alarm 108 Police Alarm 150 Balance Right 151 Balance Left 152 Bass Increment 153 Bass Decrement 154 Treble Increment 155 Treble Decrement 160 Speaker System 161 Channel Left 162 Channel Right 163 Channel Center 164 Channel Front 165 Channel Center Front 166 Channel Side 167 Channel Surround 168 Channel Low Frequency Enhancement 169 Channel Top 16a Channel Unknown 170 Sub-Channel 171 Sub-Channel Increment 172 Sub-Channel Decrement 173 Alternative Audio Increment 174 Alternative Audio Decrement 180 Application Launch Buttons 181 AL Launch Button Configuration Tool 182 AL Launch Button Configuration 183 AL Consumer Control Configuration 184 AL Word Processor 185 AL Text Editor 186 AL Spreadsheet 187 AL Graphics Editor 188 AL Presentation App 189 AL Database App 18a AL Email Reader 18b AL Newsreader 18c AL Voicemail 18d AL Contacts/Address Book 18e AL Calendar/Schedule 18f AL Task/Project Manager 190 AL Log/Jounal/Timecard 191 AL Checkbook/Finance 192 AL Calculator 193 AL A/V Capture/Playback 194 AL Local Machine Browser 195 AL LAN/Wan Browser 196 AL Internet Browser 197 AL Remote Networking/ISP Connect 198 AL Network Conference 199 AL Network Chat 19a AL Telephony/Dialer 19b AL Logon 19c AL Logoff 19d AL Logon/Logoff 19e AL Terminal Local/Screensaver 19f AL Control Panel 1a0 AL Command Line Processor/Run 1a1 AL Process/Task Manager 1a2 AL Select Task/Application 1a3 AL Next Task/Application 1a4 AL Previous Task/Application 1a5 AL Preemptive Halt Task/Application 200 Generic GUI Application Controls 201 AC New 202 AC Open 203 AC CLose 204 AC Exit 205 AC Maximize 206 AC Minimize 207 AC Save 208 AC Print 209 AC Properties 21a AC Undo 21b AC Copy 21c AC Cut 21d AC Paste 21e AC Select All 21f AC Find 220 AC Find and Replace 221 AC Search 222 AC Go To 223 AC Home 224 AC Back 225 AC Forward 226 AC Stop 227 AC Refresh 228 AC Previous Link 229 AC Next Link 22b AC History 22c AC Subscriptions 22d AC Zoom In 22e AC Zoom Out 22f AC Zoom 230 AC Full Screen View 231 AC Normal View 232 AC View Toggle 233 AC Scroll Up 234 AC Scroll Down 235 AC Scroll 236 AC Pan Left 237 AC Pan Right 238 AC Pan 239 AC New Window 23a AC Tile Horizontally 23b AC Tile Vertically 23c AC Format HUT 0d Digitizer 000 Undefined 001 Digitizer 002 Pen 003 Light Pen 004 Touch Screen 005 Touch Pad 006 White Board 007 Coordinate Measuring Machine 008 3D Digitizer 009 Stereo Plotter 00a Articulated Arm 00b Armature 00c Multiple Point Digitizer 00d Free Space Wand 020 Stylus 021 Puck 022 Finger 030 Tip Pressure 031 Barrel Pressure 032 In Range 033 Touch 034 Untouch 035 Tap 036 Quality 037 Data Valid 038 Transducer Index 039 Tablet Function Keys 03a Program Change Keys 03b Battery Strength 03c Invert 03d X Tilt 03e Y Tilt 03f Azimuth 040 Altitude 041 Twist 042 Tip Switch 043 Secondary Tip Switch 044 Barrel Switch 045 Eraser 046 Tablet Pick 047 Confidence 048 Width 049 Height 051 Contact ID 052 Input Mode 053 Device Index 054 Contact Count 055 Maximum Contact Number HUT 0f PID Page 000 Undefined 001 Physical Interface Device 020 Normal 021 Set Effect Report 022 Effect Block Index 023 Parameter Block Offset 024 ROM Flag 025 Effect Type 026 ET Constant Force 027 ET Ramp 028 ET Custom Force Data 030 ET Square 031 ET Sine 032 ET Triangle 033 ET Sawtooth Up 034 ET Sawtooth Down 040 ET Spring 041 ET Damper 042 ET Inertia 043 ET Friction 050 Duration 051 Sample Period 052 Gain 053 Trigger Button 054 Trigger Repeat Interval 055 Axes Enable 056 Direction Enable 057 Direction 058 Type Specific Block Offset 059 Block Type 05A Set Envelope Report 05B Attack Level 05C Attack Time 05D Fade Level 05E Fade Time 05F Set Condition Report 060 CP Offset 061 Positive Coefficient 062 Negative Coefficient 063 Positive Saturation 064 Negative Saturation 065 Dead Band 066 Download Force Sample 067 Isoch Custom Force Enable 068 Custom Force Data Report 069 Custom Force Data 06A Custom Force Vendor Defined Data 06B Set Custom Force Report 06C Custom Force Data Offset 06D Sample Count 06E Set Periodic Report 06F Offset 070 Magnitude 071 Phase 072 Period 073 Set Constant Force Report 074 Set Ramp Force Report 075 Ramp Start 076 Ramp End 077 Effect Operation Report 078 Effect Operation 079 Op Effect Start 07A Op Effect Start Solo 07B Op Effect Stop 07C Loop Count 07D Device Gain Report 07E Device Gain 07F PID Pool Report 080 RAM Pool Size 081 ROM Pool Size 082 ROM Effect Block Count 083 Simultaneous Effects Max 084 Pool Alignment 085 PID Pool Move Report 086 Move Source 087 Move Destination 088 Move Length 089 PID Block Load Report 08B Block Load Status 08C Block Load Success 08D Block Load Full 08E Block Load Error 08F Block Handle 090 PID Block Free Report 091 Type Specific Block Handle 092 PID State Report 094 Effect Playing 095 PID Device Control Report 096 PID Device Control 097 DC Enable Actuators 098 DC Disable Actuators 099 DC Stop All Effects 09A DC Device Reset 09B DC Device Pause 09C DC Device Continue 09F Device Paused 0A0 Actuators Enabled 0A4 Safety Switch 0A5 Actuator Override Switch 0A6 Actuator Power 0A7 Start Delay 0A8 Parameter Block Size 0A9 Device Managed Pool 0AA Shared Parameter Blocks 0AB Create New Effect Report 0AC RAM Pool Available HUT 10 Unicode HUT 14 Alphanumeric Display 000 Undefined 001 Alphanumeric Display 020 Display Attributes Report 021 ASCII Character Set 022 Data Read Back 023 Font Read Back 024 Display Control Report 025 Clear Display 026 Display Enable 027 Screen Saver Delay 028 Screen Saver Enable 029 Vertical Scroll 02a Horizontal Scroll 02b Character Report 02c Display Data 02d Display Status 02e Stat Not Ready 02f Stat Ready 030 Err Not a loadable Character 031 Err Font Data Cannot Be Read 032 Cursur Position Report 033 Row 034 Column 035 Rows 036 Columns 037 Cursor Pixel Positioning 038 Cursor Mode 039 Cursor Enable 03a Cursor Blink 03b Font Report 03c Font Data 03d Character Width 03e Character Height 03f Character Spacing Horizontal 040 Character Spacing Vertical 041 Unicode Character Set HUT 80 USB Monitor 001 Monitor Control 002 EDID Information 003 VDIF Information 004 VESA Version HUT 81 USB Monitor Enumerated Values HUT 82 Monitor VESA Virtual Controls 001 Degauss 010 Brightness 012 Contrast 016 Red Video Gain 018 Green Video Gain 01a Blue Video Gain 01c Focus 020 Horizontal Position 022 Horizontal Size 024 Horizontal Pincushion 026 Horizontal Pincushion Balance 028 Horizontal Misconvergence 02a Horizontal Linearity 02c Horizontal Linearity Balance 030 Vertical Position 032 Vertical Size 034 Vertical Pincushion 036 Vertical Pincushion Balance 038 Vertical Misconvergence 03a Vertical Linearity 03c Vertical Linearity Balance 040 Parallelogram Balance (Key Distortion) 042 Trapezoidal Distortion (Key) 044 Tilt (Rotation) 046 Top Corner Distortion Control 048 Top Corner Distortion Balance 04a Bottom Corner Distortion Control 04c Bottom Corner Distortion Balance 056 Horizontal Moire 058 Vertical Moire 05e Input Level Select 060 Input Source Select 06c Red Video Black Level 06e Green Video Black Level 070 Blue Video Black Level 0a2 Auto Size Center 0a4 Polarity Horizontal Sychronization 0a6 Polarity Vertical Synchronization 0aa Screen Orientation 0ac Horizontal Frequency in Hz 0ae Vertical Frequency in 0.1 Hz 0b0 Settings 0ca On Screen Display (OSD) 0d4 Stereo Mode HUT 84 Power Device Page 000 Undefined 001 iName 002 Present Status 003 Changed Status 004 UPS 005 Power Supply 010 Battery System 011 Battery System ID 012 Battery 013 Battery ID 014 Charger 015 Charger ID 016 Power Converter 017 Power Converter ID 018 Outlet System 019 Outlet System ID 01a Input 01b Input ID 01c Output 01d Output ID 01e Flow 01f Flow ID 020 Outlet 021 Outlet ID 022 Gang 023 Gang ID 024 Power Summary 025 Power Summary ID 030 Voltage 031 Current 032 Frequency 033 Apparent Power 034 Active Power 035 Percent Load 036 Temperature 037 Humidity 038 Bad Count 040 Config Voltage 041 Config Current 042 Config Frequency 043 Config Apparent Power 044 Config Active Power 045 Config Percent Load 046 Config Temperature 047 Config Humidity 050 Switch On Control 051 Switch Off Control 052 Toggle Control 053 Low Voltage Transfer 054 High Voltage Transfer 055 Delay Before Reboot 056 Delay Before Startup 057 Delay Before Shutdown 058 Test 059 Module Reset 05a Audible Alarm Control 060 Present 061 Good 062 Internal Failure 063 Voltage out of range 064 Frequency out of range 065 Overload 066 Over Charged 067 Over Temperature 068 Shutdown Requested 069 Shutdown Imminent 06a Reserved 06b Switch On/Off 06c Switchable 06d Used 06e Boost 06f Buck 070 Initialized 071 Tested 072 Awaiting Power 073 Communication Lost 0fd iManufacturer 0fe iProduct 0ff iSerialNumber HUT 85 Battery System Page 000 Undefined 001 SMB Battery Mode 002 SMB Battery Status 003 SMB Alarm Warning 004 SMB Charger Mode 005 SMB Charger Status 006 SMB Charger Spec Info 007 SMB Selector State 008 SMB Selector Presets 009 SMB Selector Info 010 Optional Mfg. Function 1 011 Optional Mfg. Function 2 012 Optional Mfg. Function 3 013 Optional Mfg. Function 4 014 Optional Mfg. Function 5 015 Connection to SMBus 016 Output Connection 017 Charger Connection 018 Battery Insertion 019 Use Next 01a OK to use 01b Battery Supported 01c SelectorRevision 01d Charging Indicator 028 Manufacturer Access 029 Remaining Capacity Limit 02a Remaining Time Limit 02b At Rate 02c Capacity Mode 02d Broadcast To Charger 02e Primary Battery 02f Charge Controller 040 Terminate Charge 041 Terminate Discharge 042 Below Remaining Capacity Limit 043 Remaining Time Limit Expired 044 Charging 045 Discharging 046 Fully Charged 047 Fully Discharged 048 Conditioning Flag 049 At Rate OK 04a SMB Error Code 04b Need Replacement 060 At Rate Time To Full 061 At Rate Time To Empty 062 Average Current 063 Max Error 064 Relative State Of Charge 065 Absolute State Of Charge 066 Remaining Capacity 067 Full Charge Capacity 068 Run Time To Empty 069 Average Time To Empty 06a Average Time To Full 06b Cycle Count 080 Batt. Pack Model Level 081 Internal Charge Controller 082 Primary Battery Support 083 Design Capacity 084 Specification Info 085 Manufacturer Date 086 Serial Number 087 iManufacturerName 088 iDeviceName 089 iDeviceChemistry 08a Manufacturer Data 08b Rechargeable 08c Warning Capacity Limit 08d Capacity Granularity 1 08e Capacity Granularity 2 08f iOEMInformation 0c0 Inhibit Charge 0c1 Enable Polling 0c2 Reset To Zero 0d0 AC Present 0d1 Battery Present 0d2 Power Fail 0d3 Alarm Inhibited 0d4 Thermistor Under Range 0d5 Thermistor Hot 0d6 Thermistor Cold 0d7 Thermistor Over Range 0d8 Voltage Out Of Range 0d9 Current Out Of Range 0da Current Not Regulated 0db Voltage Not Regulated 0dc Master Mode 0f0 Charger Selector Support 0f1 Charger Spec 0f2 Level 2 0f3 Level 3 HUT 86 Power Pages HUT 87 Power Pages HUT 8c Bar Code Scanner Page (POS) HUT 8d Scale Page (POS) HUT 90 Camera Control Page HUT 91 Arcade Control Page HUT f0 Cash Device 0f1 Cash Drawer 0f2 Cash Drawer Number 0f3 Cash Drawer Set 0f4 Cash Drawer Status HUT ff Vendor Specific # List of Languages # Syntax: # L language_id language_name # dialect_id dialect_name L 0001 Arabic 01 Saudi Arabia 02 Iraq 03 Egypt 04 Libya 05 Algeria 06 Morocco 07 Tunesia 08 Oman 09 Yemen 0a Syria 0b Jordan 0c Lebanon 0d Kuwait 0e U.A.E 0f Bahrain 10 Qatar L 0002 Bulgarian L 0003 Catalan L 0004 Chinese 01 Traditional 02 Simplified 03 Hongkong SAR, PRC 04 Singapore 05 Macau SAR L 0005 Czech L 0006 Danish L 0007 German 01 German 02 Swiss 03 Austrian 04 Luxembourg 05 Liechtenstein L 0008 Greek L 0009 English 01 US 02 UK 03 Australian 04 Canadian 05 New Zealand 06 Ireland 07 South Africa 08 Jamaica 09 Carribean 0a Belize 0b Trinidad 0c Zimbabwe 0d Philippines L 000a Spanish 01 Castilian 02 Mexican 03 Modern 04 Guatemala 05 Costa Rica 06 Panama 07 Dominican Republic 08 Venzuela 09 Colombia 0a Peru 0b Argentina 0c Ecuador 0d Chile 0e Uruguay 0f Paraguay 10 Bolivia 11 El Salvador 12 Honduras 13 Nicaragua 14 Puerto Rico L 000b Finnish L 000c French 01 French 02 Belgian 03 Canadian 04 Swiss 05 Luxembourg 06 Monaco L 000d Hebrew L 000e Hungarian L 000f Idelandic L 0010 Italian 01 Italian 02 Swiss L 0011 Japanese L 0012 Korean 01 Korean L 0013 Dutch 01 Dutch 02 Belgian L 0014 Norwegian 01 Bokmal 02 Nynorsk L 0015 Polish L 0016 Portuguese 01 Portuguese 02 Brazilian L 0017 forgotten L 0018 Romanian L 0019 Russian L 001a Serbian 01 Croatian 02 Latin 03 Cyrillic L 001b Slovak L 001c Albanian L 001d Swedish 01 Swedish 02 Finland L 001e Thai L 001f Turkish L 0020 Urdu 01 Pakistan 02 India L 0021 Indonesian L 0022 Ukrainian L 0023 Belarusian L 0024 Slovenian L 0025 Estonian L 0026 Latvian L 0027 Lithuanian 01 Lithuanian L 0028 forgotten L 0029 Farsi L 002a Vietnamese L 002b Armenian L 002c Azeri 01 Cyrillic 02 Latin L 002d Basque L 002e forgotten L 002f Macedonian L 0036 Afrikaans L 0037 Georgian L 0038 Faeroese L 0039 Hindi L 003e Malay 01 Malaysia 02 Brunei Darassalam L 003f Kazak L 0041 Awahili L 0043 Uzbek 01 Latin 02 Cyrillic L 0044 Tatar L 0045 Bengali L 0046 Punjabi L 0047 Gujarati L 0048 Oriya L 0049 Tamil L 004a Telugu L 004b Kannada L 004c Malayalam L 004d Assamese L 004e Marathi L 004f Sanskrit L 0057 Konkani L 0058 Manipuri L 0059 Sindhi L 0060 Kashmiri 02 India L 0061 Nepali 02 India # HID Descriptor bCountryCode # HID Specification 1.11 (2001-06-27) page 23 # # Syntax: # HCC country_code keymap_type HCC 00 Not supported HCC 01 Arabic HCC 02 Belgian HCC 03 Canadian-Bilingual HCC 04 Canadian-French HCC 05 Czech Republic HCC 06 Danish HCC 07 Finnish HCC 08 French HCC 09 German HCC 10 Greek HCC 11 Hebrew HCC 12 Hungary HCC 13 International (ISO) HCC 14 Italian HCC 15 Japan (Katakana) HCC 16 Korean HCC 17 Latin American HCC 18 Netherlands/Dutch HCC 19 Norwegian HCC 20 Persian (Farsi) HCC 21 Poland HCC 22 Portuguese HCC 23 Russia HCC 24 Slovakia HCC 25 Spanish HCC 26 Swedish HCC 27 Swiss/French HCC 28 Swiss/German HCC 29 Switzerland HCC 30 Taiwan HCC 31 Turkish-Q HCC 32 UK HCC 33 US HCC 34 Yugoslavia HCC 35 Turkish-F # List of Video Class Terminal Types # Syntax: # VT terminal_type terminal_type_name VT 0100 USB Vendor Specific VT 0101 USB Streaming VT 0200 Input Vendor Specific VT 0201 Camera Sensor VT 0202 Sequential Media VT 0300 Output Vendor Specific VT 0301 Generic Display VT 0302 Sequential Media VT 0400 External Vendor Specific VT 0401 Composite Video VT 0402 S-Video VT 0403 Component Video FusionInventory-Agent-2.6/share/pci.ids0000644000175000017500000456522513753636646020370 0ustar gbougardgbougard# # List of PCI ID's # # Version: 2020.11.14 # Date: 2020-11-14 03:15:02 # # Maintained by Albert Pool, Martin Mares, and other volunteers from # the PCI ID Project at https://pci-ids.ucw.cz/. # # New data are always welcome, especially if they are accurate. If you have # anything to contribute, please follow the instructions at the web site. # # This file can be distributed under either the GNU General Public License # (version 2 or higher) or the 3-clause BSD License. # # The database is a compilation of factual data, and as such the copyright # only covers the aggregation and formatting. The copyright is held by # Martin Mares and Albert Pool. # # Vendors, devices and subsystems. Please keep sorted. # Syntax: # vendor vendor_name # device device_name <-- single tab # subvendor subdevice subsystem_name <-- two tabs 0001 SafeNet (wrong ID) 0010 Allied Telesis, Inc (Wrong ID) # This is a relabelled RTL-8139 8139 AT-2500TX V3 Ethernet 0014 Loongson Technology LLC 7a00 Hyper Transport Bridge Controller 7a02 APB (Advanced Peripheral Bus) Controller 7a03 Gigabit Ethernet Controller 7a04 OTG USB Controller 7a05 Vivante GPU (Graphics Processing Unit) 7a06 DC (Display Controller) 7a07 HDA (High Definition Audio) Controller 7a08 SATA AHCI Controller 7a09 PCI-to-PCI Bridge 7a0b SPI Controller 7a0c LPC Controller 7a0f DMA (Direct Memory Access) Controller # Found on some boards with two sockets 7a10 Hyper Transport Bridge Controller 7a14 EHCI USB Controller 7a15 Vivante GPU (Graphics Processing Unit) 7a19 PCI-to-PCI Bridge 7a24 OHCI USB Controller 7a29 PCI-to-PCI Bridge 001c PEAK-System Technik GmbH 0001 PCAN-PCI CAN-Bus controller 001c 0004 2 Channel CAN Bus SJC1000 001c 0005 2 Channel CAN Bus SJC1000 (Optically Isolated) 003d Lockheed Martin-Marietta Corp # Real TJN ID is e159, but they got it wrong several times --mj 0059 Tiger Jet Network Inc. (Wrong ID) 0070 Hauppauge computer works Inc. 7801 WinTV HVR-1800 MCE 0071 Nebula Electronics Ltd. 0095 Silicon Image, Inc. (Wrong ID) 0680 Ultra ATA/133 IDE RAID CONTROLLER CARD # Wrong ID used in subsystem ID of the TELES.S0/PCI 2.x ISDN adapter 00a7 Teles AG (Wrong ID) 0100 nCipher Security 0123 General Dynamics 0128 Dell (wrong ID) # 018a is not LevelOne but there is a board misprogrammed 018a LevelOne 0106 FPC-0106TX misprogrammed [RTL81xx] 01de Oxide Computer Company # probably misprogrammed Intel Atom C2338 on Dell 0K8Y0N board 0200 Dell (wrong ID) # 021b is not Compaq but there is a board misprogrammed 021b Compaq Computer Corporation 8139 HNE-300 (RealTek RTL8139c) [iPaq Networking] 0270 Hauppauge computer works Inc. (Wrong ID) 0291 Davicom Semiconductor, Inc. (Wrong ID) # SpeedStream is Efficient Networks, Inc, a Siemens Company 02ac SpeedStream 1012 1012 PCMCIA 10/100 Ethernet Card [RTL81xx] 02e0 XFX Pine Group Inc. (Wrong ID) 0303 Hewlett-Packard Company (Wrong ID) 0308 ZyXEL Communications Corporation (Wrong ID) 0315 SK-Electronics Co., Ltd. 0357 TTTech Computertechnik AG (Wrong ID) 000a TTP-Monitoring Card V2.0 0432 SCM Microsystems, Inc. 0001 Pluto2 DVB-T Receiver for PCMCIA [EasyWatch MobilSet] 0497 Dell Inc. (wrong ID) 0675 Dynalink 1700 IS64PH ISDN Adapter 1702 IS64PH ISDN Adapter 1703 ISDN Adapter (PCI Bus, DV, W) 1704 ISDN Adapter (PCI Bus, D, C) 0721 Sapphire, Inc. 0731 Jingjia Microelectronics Co Ltd 7200 JM7200 Series GPU 0777 Ubiquiti Networks, Inc. 0795 Wired Inc. 6663 Butane II (MPEG2 encoder board) 6666 MediaPress (MPEG2 encoder board) 07d1 D-Link System Inc 0824 T1042 [Freescale] 0925 VIA Technologies, Inc. (Wrong ID) 0a89 BREA Technologies Inc 0b0b Rhino Equipment Corp. 0105 R1T1 0205 R4FXO 0206 RCB4FXO 4-channel FXO analog telephony card 0305 R4T1 0405 R8FXX 0406 RCB8FXX 8-channel modular analog telephony card 0505 R24FXX 0506 RCB24FXS 24-Channel FXS analog telephony card 0605 R2T1 0705 R24FXS 0706 RCB24FXO 24-Channel FXO analog telephony card 0905 R1T3 Single T3 Digital Telephony Card 0906 RCB24FXX 24-channel modular analog telephony card 0a06 RCB672FXX 672-channel modular analog telephony card 0e11 Compaq Computer Corporation 0001 PCI to EISA Bridge 0002 PCI to ISA Bridge 0046 Smart Array 64xx 0e11 4091 Smart Array 6i 0e11 409a Smart Array 641 0e11 409b Smart Array 642 0e11 409c Smart Array 6400 0e11 409d Smart Array 6400 EM 0049 NC7132 Gigabit Upgrade Module 004a NC6136 Gigabit Server Adapter 005a Remote Insight II board - Lights-Out 007c NC7770 1000BaseTX 007d NC6770 1000BaseTX 0085 NC7780 1000BaseTX 00b1 Remote Insight II board - PCI device 00bb NC7760 00ca NC7771 00cb NC7781 00cf NC7772 00d0 NC7782 00d1 NC7783 00e3 NC7761 0508 Netelligent 4/16 Token Ring 1000 Triflex/Pentium Bridge, Model 1000 2000 Triflex/Pentium Bridge, Model 2000 3032 QVision 1280/p 3033 QVision 1280/p 3034 QVision 1280/p 4000 4000 [Triflex] 4040 Integrated Array 4048 Compaq Raid LC2 4050 Smart Array 4200 4051 Smart Array 4250ES 4058 Smart Array 431 4070 Smart Array 5300 4080 Smart Array 5i 4082 Smart Array 532 4083 Smart Array 5312 4091 Smart Array 6i 409a Smart Array 641 409b Smart Array 642 409c Smart Array 6400 409d Smart Array 6400 EM 6010 HotPlug PCI Bridge 6010 7020 USB Controller a0ec Fibre Channel Host Controller a0f0 Advanced System Management Controller 0e11 b0f3 ProLiant DL360 a0f3 Triflex PCI to ISA Bridge a0f7 PCI Hotplug Controller 8086 002a PCI Hotplug Controller A 8086 002b PCI Hotplug Controller B a0f8 ZFMicro Chipset USB a0fc FibreChannel HBA Tachyon ae10 Smart-2/P RAID Controller 0e11 4030 Smart-2/P Array Controller 0e11 4031 Smart-2SL Array Controller 0e11 4032 Smart Array 3200 Controller 0e11 4033 Smart Array 3100ES Controller 0e11 4034 Smart Array 221 Controller ae29 MIS-L ae2a MPC ae2b MIS-E ae31 System Management Controller ae32 Netelligent 10/100 TX PCI UTP ae33 Triflex Dual EIDE Controller ae34 Netelligent 10 T PCI UTP ae35 Integrated NetFlex-3/P ae40 Netelligent Dual 10/100 TX PCI UTP ae43 Netelligent Integrated 10/100 TX UTP ae69 CETUS-L ae6c Northstar ae6d NorthStar CPU to PCI Bridge b011 Netelligent 10/100 TX Embedded UTP b012 Netelligent 10 T/2 PCI UTP/Coax b01e NC3120 Fast Ethernet NIC b01f NC3122 Fast Ethernet NIC b02f NC1120 Ethernet NIC b030 Netelligent 10/100 TX UTP b04a 10/100 TX PCI Intel WOL UTP Controller b060 Smart Array 5300 Controller b0c6 NC3161 Fast Ethernet NIC b0c7 NC3160 Fast Ethernet NIC b0d7 NC3121 Fast Ethernet NIC b0dd NC3131 Fast Ethernet NIC b0de NC3132 Fast Ethernet Module b0df NC6132 Gigabit Module b0e0 NC6133 Gigabit Module b0e1 NC3133 Fast Ethernet Module b123 NC6134 Gigabit NIC b134 NC3163 Fast Ethernet NIC b13c NC3162 Fast Ethernet NIC b144 NC3123 Fast Ethernet NIC b163 NC3134 Fast Ethernet NIC b164 NC3165 Fast Ethernet Upgrade Module b178 Smart Array 5i/532 0e11 4080 Smart Array 5i 0e11 4082 Smart Array 532 0e11 4083 Smart Array 5312 b1a4 NC7131 Gigabit Server Adapter b200 Memory Hot-Plug Controller b203 Integrated Lights Out Controller b204 Integrated Lights Out Processor c000 Remote Insight Lights-Out Edition f130 NetFlex-3/P ThunderLAN 1.0 f150 NetFlex-3/P ThunderLAN 2.3 0e55 HaSoTec GmbH 0eac SHF Communication Technologies AG 0008 Ethernet Powerlink Managing Node 01 0f62 Acrox Technologies Co., Ltd. 1000 Broadcom / LSI 0001 53c810 1000 1000 LSI53C810AE PCI to SCSI I/O Processor 0002 53c820 0003 53c825 1000 1000 LSI53C825AE PCI to SCSI I/O Processor (Ultra Wide) 0004 53c815 0005 53c810AP 0006 53c860 1000 1000 LSI53C860E PCI to Ultra SCSI I/O Processor 000a 53c1510 0e11 b143 Integrated Dual Channel Wide Ultra2 SCSI Controller 1000 1000 LSI53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Nonintelligent mode) 000b 53C896/897 0e11 6004 EOB003 Series SCSI host adapter 1000 1000 LSI53C896/7 PCI to Dual Channel Ultra2 SCSI Multifunction Controller 1000 1010 LSI22910 PCI to Dual Channel Ultra2 SCSI host adapter 1000 1020 LSI21002 PCI to Dual Channel Ultra2 SCSI host adapter 13e9 1000 6221L-4U (Dual U2W SCSI, dual 10/100TX, graphics) 000c 53c895 1000 1010 LSI8951U PCI to Ultra2 SCSI host adapter 1000 1020 LSI8952U PCI to Ultra2 SCSI host adapter 1de1 3906 DC-390U2B SCSI adapter 1de1 3907 DC-390U2W 000d 53c885 000f 53c875 0e11 7004 Embedded Ultra Wide SCSI Controller 1000 1000 LSI53C876/E PCI to Dual Channel SCSI Controller 1000 1010 LSI22801 PCI to Dual Channel Ultra SCSI host adapter 1000 1020 LSI22802 PCI to Dual Channel Ultra SCSI host adapter 1092 8760 FirePort 40 Dual SCSI Controller 1775 10d0 V5D Single Board Computer Wide Ultra SCSI 1775 10d1 V5D Single Board Computer Ultra SCSI 1de1 3904 DC390F/U Ultra Wide SCSI Adapter 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard 4c53 1050 CT7 mainboard 0010 53C1510 0e11 4040 Integrated Smart Array Controller 0e11 4048 RAID LC2 Controller 1000 1000 53C1510 PCI to Dual Channel Wide Ultra2 SCSI Controller (Intelligent mode) 0012 53c895a 1000 1000 LSI53C895A PCI to Ultra2 SCSI Controller 0013 53c875a 1000 1000 LSI53C875A PCI to Ultra SCSI Controller 0014 MegaRAID Tri-Mode SAS3516 1000 9460 MegaRAID 9460-16i 1000 9480 MegaRAID 9480-8i8e 1000 9481 MegaRAID 9480-8e 1028 1f3a PERC H745 Adapter 1028 1f3b PERC H745 Front 1028 1fd4 PERC H745P MX 1137 020e UCSC-RAID-M5 12G Modular RAID Controller 1d49 0602 ThinkSystem RAID 930-16i 4GB Flash PCIe 12Gb Adapter 1d49 0604 ThinkSystem RAID 930-8e 4GB Flash PCIe 12Gb Adapter 1d49 0607 ThinkSystem RAID 930-16i 8GB Flash PCIe 12Gb Adapter 8086 352d Integrated RAID Module RMSP3AD160F 8086 9460 RAID Controller RSP3TD160F 8086 9480 RAID Controller RSP3MD088F 0015 MegaRAID Tri-Mode SAS3416 1000 9441 MegaRAID 9440-16i 1028 1f3c PERC H345 Adapter 1028 1f3d PERC H345 Front 1d49 0503 ThinkSystem RAID 530-16i PCIe 12Gb Adapter 0016 MegaRAID Tri-Mode SAS3508 1000 9461 MegaRAID 9460-8i 1000 9462 MegaRAID 9460-4i 1000 9463 MegaRAID 9365-28i 1000 9464 MegaRAID 9365-24i 1028 1fc9 PERC H840 Adapter 1028 1fcb PERC H740P Adapter 1028 1fcd PERC H740P Mini 1028 1fcf PERC H740P Mini 1d49 0601 ThinkSystem RAID 930-8i 2GB Flash PCIe 12Gb Adapter 1d49 0603 ThinkSystem RAID 930-24i 4GB Flash PCIe 12Gb Adapter 8086 352e Integrated RAID Module RMSP3CD080F 8086 352f Integrated RAID Module RMSP3HD080E 8086 9461 RAID Controller RSP3DD080F 0017 MegaRAID Tri-Mode SAS3408 1000 9440 MegaRAID 9440-8i 1000 9442 MegaRAID 9440-4i 1d49 0500 ThinkSystem RAID 530-8i PCIe 12Gb Adapter 1d49 0502 ThinkSystem RAID 530-8i Dense Adapter 8086 3528 Integrated RAID RMSP3LD060 8086 3529 Integrated RAID RMSP3LD060 8086 9441 RAID Controller RSP3WD080E 001b MegaRAID Tri-Mode SAS3504 1d49 0605 ThinkSystem RAID 930-4i 2GB Flash Flex Adapter 001c MegaRAID Tri-Mode SAS3404 1d49 0501 ThinkSystem RAID 530-4i Flex Adapter 0020 53c1010 Ultra3 SCSI Adapter 1000 1000 LSI53C1010-33 PCI to Dual Channel Ultra160 SCSI Controller 107b 1040 Server Onboard 53C1010-33 1de1 1020 DC-390U3W 0021 53c1010 66MHz Ultra3 SCSI Adapter 1000 1000 LSI53C1000/1000R/1010R/1010-66 PCI to Ultra160 SCSI Controller 1000 1010 Asus TR-DLS onboard 53C1010-66 103c 1300 Ultra160 SCSI [AB306A] 103c 1310 Ultra160 SCSI [A9918A] 103c 1330 Ultra160 SCSI [A7059A] 103c 1340 Ultra160 SCSI [A7060A] 124b 1070 PMC-USCSI3 4c53 1080 CT8 mainboard 4c53 1300 P017 mezzanine (32-bit PMC) 4c53 1310 P017 mezzanine (64-bit PMC) 002f MegaRAID SAS 2208 IOV [Thunderbolt] 1028 1f39 SPERC8-e 1028 1f3e SPERC 8 0030 53c1030 PCI-X Fusion-MPT Dual Ultra320 SCSI 0e11 00da ProLiant ML 350 1028 0123 LSI Logic 1020/1030 1028 014a LSI Logic 1020/1030 1028 016c PowerEdge 1850 MPT Fusion SCSI/RAID (Perc 4) 1028 0183 LSI Logic 1020/1030 1028 018a PERC 4/IM 1028 1010 LSI U320 SCSI Controller 103c 12c5 Ultra320 SCSI [A7173A] 103c 1323 Core I/O LAN/SCSI Combo [AB314A] 103c 3108 Single Channel Ultra320 SCSI HBA G2 103c 322a SC11Xe Ultra320 Single Channel PCIe x4 SCSI Host Bus Adapter (412911-B21) 124b 1170 PMC-USCSI320 # VMware's emulation of this device. Was missing from the list. 15ad 1976 LSI Logic Parallel SCSI Controller 1734 1052 PRIMERGY BX/RX/TX S2 series onboard SCSI(IME) 0031 53c1030ZC PCI-X Fusion-MPT Dual Ultra320 SCSI 0032 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI 1000 1000 LSI53C1020/1030 PCI-X to Ultra320 SCSI Controller 0033 1030ZC_53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI 0040 53c1035 PCI-X Fusion-MPT Dual Ultra320 SCSI 1000 0033 MegaRAID SCSI 320-2XR 1000 0066 MegaRAID SCSI 320-2XRWS 0041 53C1035ZC PCI-X Fusion-MPT Dual Ultra320 SCSI 0050 SAS1064 PCI-X Fusion-MPT SAS 1028 1f04 SAS 5/E 1028 1f09 SAS 5i/R 0052 MegaRAID SAS-3 3216/3224 [Cutlass] 0053 MegaRAID SAS-3 3216/3224 [Cutlass] 1000 9350 MegaRAID SAS 9341-16i 1000 9351 MegaRAID SAS 9341-24i 0054 SAS1068 PCI-X Fusion-MPT SAS 1028 1f04 SAS 5/E Adapter Controller 1028 1f05 SAS 5/i Adapter Controller 1028 1f06 SAS 5/i Integrated Controller 1028 1f07 SAS 5/iR Integrated RAID Controller 1028 1f08 SAS 5/iR Integrated RAID Controller 1028 1f09 SAS 5/iR Adapter RAID Controller 15ad 1976 SAS Controller 0055 SAS1068 PCI-X Fusion-MPT SAS 1033 8336 SAS1068 0056 SAS1064ET PCI-Express Fusion-MPT SAS 1014 03bb ServeRAID BR10il SAS/SATA Controller v2 8086 34dc AXX4SASMOD RAID Controller 0057 M1064E MegaRAID SAS 8086 346c Embedded Software RAID Technology II (ESTRII) 0058 SAS1068E PCI-Express Fusion-MPT SAS 1000 3140 SAS3081E-R 8-Port SAS/SATA Host Bus Adapter 1028 021d SAS 6/iR Integrated Workstations RAID Controller 1028 1f0e SAS 6/iR Adapter RAID Controller 1028 1f0f SAS 6/iR Integrated Blades RAID Controller 1028 1f10 SAS 6/iR Integrated RAID Controller 103c 3229 SC44Ge Host Bus Adapter 0059 MegaRAID SAS 8208ELP/8208ELP 005a SAS1066E PCI-Express Fusion-MPT SAS 005b MegaRAID SAS 2208 [Thunderbolt] 1000 9265 MegaRAID SAS 9265-8i 1000 9266 MegaRAID SAS 9266-8i 1000 9267 MegaRAID SAS 9267-8i 1000 9268 MegaRAID SAS 9265CV-8i / 9270CV-8i 1000 9269 MegaRAID SAS 9266-4i 1000 9270 MegaRAID SAS 9270-8i 1000 9271 MegaRAID SAS 9271-8i 1000 9272 MegaRAID SAS 9272-8i 1000 9273 MegaRAID SAS 9270CV-8i 1000 9274 MegaRAID SAS 9270-4i 1000 9275 MegaRAID SAS 9271-8iCC 1000 9276 MegaRAID SAS 9271-4i 1000 9285 MegaRAID SAS 9285-8e 1000 9288 MegaRAID SAS 9285CV-8e 1000 9290 MegaRAID SAS 9286-8e 1000 9291 MegaRAID SAS 9286CV-8e 1000 9295 MegaRAID SAS 9286CV-8eCC 1014 040b ServeRAID M5110 SAS/SATA Controller 1014 040c ServeRAID M5120 SAS/SATA Controller 1014 0412 ServeRAID M5110e SAS/SATA Controller 1028 1f2d PERC H810 Adapter 1028 1f30 PERC H710 Embedded 1028 1f31 PERC H710P Adapter 1028 1f33 PERC H710P Mini (for blades) 1028 1f34 PERC H710P Mini (for monolithics) 1028 1f35 PERC H710 Adapter 1028 1f37 PERC H710 Mini (for blades) 1028 1f38 PERC H710 Mini (for monolithics) 15d9 0690 LSI MegaRAID ROMB 8086 3510 RMS25PB080 RAID Controller 8086 3511 RMS25PB040 RAID Controller 8086 3512 RMT3PB080 RAID Controller 8086 3513 Integrated RAID Module RMS25CB080 8086 3514 RMS25CB040 RAID Controller 8086 351c RMS25PB080N RAID Controller 8086 351d RMS25CB080N RAID Controller 8086 9265 RS25DB080 RAID Controller 8086 9268 RS25AB080 RAID Controller 8086 9285 RS25NB008 RAID Controller 8086 9288 RS25SB008 RAID Controller 005c SAS1064A PCI-X Fusion-MPT SAS 005d MegaRAID SAS-3 3108 [Invader] 1000 9361 MegaRAID SAS 9361-8i 1000 9363 MegaRAID SAS 9361-4i 1000 9364 MegaRAID SAS 9364-8i 1000 936a MegaRAID SAS 9364-8i 1000 9380 MegaRAID SAS 9380-8e 1028 1f41 PERC H830 Adapter 1028 1f42 PERC H730P Adapter 1028 1f43 PERC H730 Adapter 1028 1f47 PERC H730P Mini 1028 1f48 PERC H730P Mini (for blades) 1028 1f49 PERC H730 Mini 1028 1f4a PERC H730 Mini (for blades) 1028 1f4d PERC FD33xS 1028 1f4f PERC H730P Slim 1028 1f54 PERC FD33xD 1028 1fd1 PERC H730P MX 17aa 1052 ThinkServer RAID 720i 17aa 1053 ThinkServer RAID 720ix 1bd4 0014 12G SAS3108 2G 1bd4 0015 12G SAS3108 4G 1d49 0600 ThinkSystem RAID 730-8i 1GB Cache PCIe 12Gb Adapter 1d49 0608 ThinkSystem RAID 730-8i 2GB Flash PCIe 12Gb Adapter 1d49 0609 ThinkSystem RAID 730-8i 4GB Flash PCIe 12Gb Adapter 8086 351e RMS3CC080 RAID Controller 8086 351f RMS3CC040 RAID Controller 8086 9360 RS3DC080 RAID Controller 8086 9362 RS3DC040 RAID Controller 8086 9380 RS3SC008 RAID Controller 8086 9381 RS3MC044 RAID Controller 005e SAS1066 PCI-X Fusion-MPT SAS 005f MegaRAID SAS-3 3008 [Fury] 1028 1f44 PERC H330 Adapter 1028 1f4b PERC H330 Mini 1028 1f4c PERC H330 Mini (for blades) 1028 1f4d PERC H330 Embedded (for monolithic) 1054 306a SAS 3004 iMR ROMB 1734 1211 PRAID CP400i [D3307-A12] 1d49 04db ServeRAID M1210 SAS/SATA Controller 1d49 0504 ThinkSystem RAID 520-8i PCIe 12Gb Adapter 0060 MegaRAID SAS 1078 1000 1006 MegaRAID SAS 8888ELP 1000 100a MegaRAID SAS 8708ELP 1000 100e MegaRAID SAS 8884E 1000 100f MegaRAID SAS 8708E 1000 1010 MegaRAID SATA 350-8ELP 1000 1011 MegaRAID SATA 350-4ELP 1000 1012 MegaRAID SAS 8704ELP 1000 1016 MegaRAID SAS 8880EM2 1014 0363 MegaRAID SAS PCI Express ROMB 1014 0364 SystemX MegaRAID SAS 8808E 1014 0365 SystemX MegaRAID SAS 8884E 1014 0379 SystemX MegaRAID SAS 8880EM2 1028 1f0a PERC 6/E Adapter RAID Controller 1028 1f0b PERC 6/i Adapter RAID Controller 1028 1f0c PERC 6/i Integrated RAID Controller 1028 1f0d PERC 6/i Integrated RAID Controller 1028 1f11 CERC 6/i Integrated RAID Controller 1033 835a MegaRAID SAS PCI Express ROMB 1043 824d MegaRAID SAS PCI Express ROMB 1170 002f MegaRAID SAS PCI Express ROMB 1170 0036 MegaRAID SAS PCI Express ROMB 15d9 c080 MegaRAID SAS PCI Express ROMB 17aa 6b7c MegaRAID SAS PCI Express ROMB 18a1 0003 LSI MegaRAID SAS PCI Express ROMB 8086 1006 RAID Controller SRCSAS28EP 8086 100a RAID Controller SRCSAS28EV 8086 1010 RAID Controller SRCSATA28E 8086 34cc Integrated RAID Controller SROMBSAS28E 8086 34cd Integrated RAID Controller SROMBSAS28E 8086 3505 Integrated RAID Controller SROMBSASMP2 0062 SAS1078 PCI-Express Fusion-MPT SAS 1000 0062 SAS1078 PCI-Express Fusion-MPT SAS 0064 SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor] 1000 3030 9200-16e 6Gb/s SAS/SATA PCIe x8 External HBA 1000 30c0 SAS 9201-16i 1000 30d0 9201-16e 6Gb/s SAS/SATA PCIe x8 External HBA 0065 SAS2116 PCI-Express Fusion-MPT SAS-2 [Meteor] 006e SAS2308 PCI-Express Fusion-MPT SAS-2 0070 SAS2004 PCI-Express Fusion-MPT SAS-2 [Spitfire] 1000 3010 SAS9211-4i 1014 040e ServeRAID H1110 0071 MR SAS HBA 2004 0072 SAS2008 PCI-Express Fusion-MPT SAS-2 [Falcon] 1000 3040 9210-8i 1000 3080 9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA] 1000 30b0 9200-8e [LSI SAS 6Gb/s SAS/SATA PCIe x8 External HBA] 1028 1f1c 6Gbps SAS HBA Adapter 1028 1f1d PERC H200 Adapter 1028 1f1e PERC H200 Integrated 1028 1f1f PERC H200 Modular 1028 1f20 PERC H200 Embedded 1028 1f22 PERC H200 Internal Tape Adapter # Fujitsu D2607 SAS2008 HBA controller 1734 1177 HBA Ctrl SAS 6G 0/1 [D2607] 1bd4 000d 6G SAS2008IT 1bd4 000e 6G SAS2008IR 1bd4 000f 6G SAS2008IT SA5248 1bd4 0010 6G SAS2008IR SA5248 8086 350f RMS2LL040 RAID Controller 8086 3700 SSD 910 Series 0073 MegaRAID SAS 2008 [Falcon] 1000 9240 MegaRAID SAS 9240-8i 1000 9241 MegaRAID SAS 9240-4i 1000 92a0 MegaRAID SAS 9220-8i 1014 03b1 ServeRAID M1015 SAS/SATA Controller 1014 040d ServeRAID M1115 SAS/SATA Controller 1028 1f4e PERC H310 Adapter 1028 1f4f PERC H310 Integrated 1028 1f50 PERC H310 Mini Blades 1028 1f51 PERC H310 Mini Monolithics 1028 1f52 PERC H310 Embedded1 1028 1f53 PERC H310 Embedded2 1028 1f54 PERC H310 Reserved 1028 1f78 PERC H310 1054 3035 LSI MegaRAID SAS 9240-8i 1137 0072 2004 iMR ROMB 1137 0073 2008 ROMB 1137 00b0 UCSC RAID SAS 2008M-8i 1137 00b1 UCSC RAID SAS 2008M-8i 1137 00c2 UCS E-Series Double Wide 1137 00c3 UCS E-Series Single Wide 15d9 0400 Supermicro SMC2008-iMR 1734 1177 RAID Ctrl SAS 6G 0/1 (D2607) 17aa 1051 ThinkServer RAID 510i 8086 350d RMS2AF040 RAID Controller 8086 9240 RAID Controller RS2WC080 8086 9241 RAID Controller RS2WC040 0074 SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator] 0076 SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator] 0077 SAS2108 PCI-Express Fusion-MPT SAS-2 [Liberator] 0079 MegaRAID SAS 2108 [Liberator] 1000 9251 MegaRAID SAS 9260-4ix 1000 9256 MegaRAID SAS 9260-8ix 1000 9260 MegaRAID SAS 9260-4i 1000 9261 MegaRAID SAS 9260-8i 1000 9262 MegaRAID SAS 9262-8i 1000 9263 MegaRAID SAS 9261-8i 1000 9264 MegaRAID SAS 9264-8i 1000 9267 MegaRAID SAS 9260CV-4i 1000 9268 MegaRAID SAS 9260CV-8i 1000 9275 MegaRAID SAS 9280-8ex 1000 9276 MR9260-16i 1000 9280 MegaRAID SAS 9280-8e 1000 9281 MegaRAID SAS 9281-8E 1000 9282 MegaRAID SAS 9280-4i4e 1000 9290 MegaRAID SAS 9280DE-24i4e 1014 03b2 ServeRAID M5015 SAS/SATA Controller 1014 03b3 ServeRAID M5025 SAS/SATA Controller 1028 1f15 PERC H800 Adapter 1028 1f16 PERC H700 Adapter 1028 1f17 PERC H700 Integrated 1028 1f18 PERC H700 Modular 1028 1f1a PERC H800 Proto Adapter 1028 1f1b PERC H700 Integrated 1043 8480 PIKE-2108 16PD 1734 1176 RAID Ctrl SAS 6G 5/6 512MB (D2616) 1734 1177 RAID Ctrl SAS 6G 0/1 (D2607) 8086 350b RMS2MH080 RAID Controller 8086 9256 MegaRAID SAS 9260DE-8i RS2BL080DE 8086 9260 RAID Controller RS2BL040 8086 9261 RAID Controller RS2BL080 8086 9264 RAID Controller RT3WB080 Warm Beach (Caster Lite) 8086 9267 RAID Controller RS2VB040 8086 9268 RAID Controller RS2VB080 8086 9275 RAID Controller RS2PI008DE 8086 9276 RAID Controller RS2WG160 8086 9280 RAID Controller RS2PI008 8086 9282 RAID Controller RS2MB044 8086 9290 RAID Controller RS2SG244 007c MegaRAID SAS 1078DE 1014 0395 ServeRAID-AR10is SAS/SATA Controller 007e SSS6200 PCI-Express Flash SSD 1000 0504 Nytro NWD-BLP4-800 1000 0507 Nytro NWD-BLP4-1600 1000 0581 Nytro NWD-BLP4-400 1000 100d Nytro NWD-BFH6-1200 1000 100e Nytro NWD-BFH8-1600 1000 107e Nytro NWD-BFH8-3200 1000 1310 Nytro XP6302-8B1536 1000 1311 Nytro XP6302-8B2048 1000 1314 Nytro XP6302-8B4096 1000 150c Nytro XP6210-4A2048 1000 150f Nytro XP6210-4B2048 1000 160b Nytro XP6209-4A1024 1000 1613 Nytro XP6209-4B2048 108e 050a Nytro ELP4x200_4d_n 108e 0581 Nytro ELP4x100_4d_n 0080 SAS2208 PCI-Express Fusion-MPT SAS-2 0081 SAS2208 PCI-Express Fusion-MPT SAS-2 0082 SAS2208 PCI-Express Fusion-MPT SAS-2 0083 SAS2208 PCI-Express Fusion-MPT SAS-2 0084 SAS2208 PCI-Express Fusion-MPT SAS-2 0085 SAS2208 PCI-Express Fusion-MPT SAS-2 0086 SAS2308 PCI-Express Fusion-MPT SAS-2 15d9 0690 Onboard MegaRAID SAS2208 [Thunderbolt] 15d9 0691 Onboard SAS2308 PCI-Express Fusion-MPT SAS-2 0087 SAS2308 PCI-Express Fusion-MPT SAS-2 1000 3020 9207-8i SAS2.1 HBA 1000 3030 SAS9207-4i4e 1000 3040 9207-8e SAS2.1 HBA 1000 3050 SAS9217-8i 1000 3060 SAS9217-4i4e 1014 0472 N2125 External Host Bus Adapter 1590 0041 H220i 1590 0042 H221 / 9207-8e 1590 0044 H220i 1bd4 0009 6G SAS2308IR 1bd4 000a 6G SAS2308IT 8086 3000 RS25GB008 RAID Controller 8086 3060 RS25FB044 RAID Controller 8086 3516 RMS25JB080 RAID Controller 8086 3517 RMS25JB040 RAID Controller 8086 3518 RMS25KB080 RAID Controller 8086 3519 RMS25KB040 RAID Controller 8086 351a RMS25LB040 RAID Controller 8086 351b RMS25LB080 RAID Controller 008f 53c875J 1092 8000 FirePort 40 SCSI Controller 1092 8760 FirePort 40 Dual SCSI Host Adapter 0090 SAS3108 PCI-Express Fusion-MPT SAS-3 0091 SAS3108 PCI-Express Fusion-MPT SAS-3 0094 SAS3108 PCI-Express Fusion-MPT SAS-3 0095 SAS3108 PCI-Express Fusion-MPT SAS-3 0096 SAS3004 PCI-Express Fusion-MPT SAS-3 0097 SAS3008 PCI-Express Fusion-MPT SAS-3 1000 3090 SAS9311-8i 1000 30a0 SAS9300-8e 1000 30e0 SAS9300-8i 1000 3130 SAS 9300-16i 1028 1f45 HBA330 Adapter 1028 1f46 12Gbps HBA 1028 1f53 HBA330 Mini 1028 1fd2 HBA330 MX 1028 1fd3 HBA330 MMZ # Supermicro AOC-S3008L-L8e uses 0808 for their SAS3008 SAS controller 15d9 0808 AOC-S3008L-L8e 1bd4 0008 12G SAS3008IMR Onboard 1bd4 000b 12G SAS3008IR 1bd4 000c 12G SAS3008IT 1bd4 0011 Inspur 12Gb 8i-3008 IT SAS HBA 1bd4 0012 12Gb SAS3008IR UDM 1bd4 001f 12G SAS3008IR Onboard 1bd4 0020 12G SAS3008IT Onboard 1bd4 0026 12G SAS3008IT RACK 1bd4 0027 12G SAS3008IMR RACK 1bd4 0028 12G SAS3008IR RACK 00ab SAS3516 Fusion-MPT Tri-Mode RAID On Chip (ROC) # 8 Internal and 8 External port channel 9400 HBA 1000 3040 HBA 9400-8i8e 8086 3530 Integrated RAID Module RMSP3JD160J 00ac SAS3416 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) # Channel 16 internal port HBA 1000 3000 HBA 9400-16i # Channel 16 external port HBA 1000 3020 HBA 9400-16e 1028 1fe3 HBA345 Adapter 1028 1fe4 HBA345 Front 1d49 0201 ThinkSystem 430-16i SAS/SATA 12Gb HBA 1d49 0203 ThinkSystem 430-16e SAS/SATA 12Gb HBA 8086 3000 RAID Controller RSP3QD160J 8086 3020 RAID Controller RSP3GD016J 00ae SAS3508 Fusion-MPT Tri-Mode RAID On Chip (ROC) 00af SAS3408 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) 1000 3010 HBA 9400-8i # 9400 Channel 8 external port HBA 1000 3030 HBA 9400-8e 1d49 0200 ThinkSystem 430-8i SAS/SATA 12Gb HBA 1d49 0202 ThinkSystem 430-8e SAS/SATA 12Gb HBA 1d49 0204 ThinkSystem 430-8i SAS/SATA 12Gb Dense HBA # PCIe switch SES management endpoint 00b2 PEX880xx PCIe Gen 4 Switch SES management endpoint 00be SAS3504 Fusion-MPT Tri-Mode RAID On Chip (ROC) 00bf SAS3404 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) 00c0 SAS3324 PCI-Express Fusion-MPT SAS-3 00c1 SAS3324 PCI-Express Fusion-MPT SAS-3 00c2 SAS3324 PCI-Express Fusion-MPT SAS-3 00c3 SAS3324 PCI-Express Fusion-MPT SAS-3 00c4 SAS3224 PCI-Express Fusion-MPT SAS-3 1170 0002 SAS3224 PCI Express to 12Gb HBA MEZZ CARD 00c5 SAS3316 PCI-Express Fusion-MPT SAS-3 00c6 SAS3316 PCI-Express Fusion-MPT SAS-3 00c7 SAS3316 PCI-Express Fusion-MPT SAS-3 00c8 SAS3316 PCI-Express Fusion-MPT SAS-3 00c9 SAS3216 PCI-Express Fusion-MPT SAS-3 00ce MegaRAID SAS-3 3316 [Intruder] 1000 9371 MegaRAID SAS 9361-16i 1000 9390 MegaRAID SAS 9380-8i8e 00cf MegaRAID SAS-3 3324 [Intruder] 1000 9370 MegaRAID SAS 9361-24i 00d0 SAS3716 Fusion-MPT Tri-Mode RAID Controller Chip (ROC) # 9405W 16 internal port channel HBA 1000 3050 HBA 9405W-16i # 9405W 8 internal and 8 external port channel HBA 1000 3070 HBA 9405W-8i8e 00d1 SAS3616 Fusion-MPT Tri-Mode I/O Controller Chip (IOC) # 9405W 16 external port Channel HBA 1000 3080 HBA 9405W-16e # 9405W 16 internal port Channel HBA 1000 3090 HBA 9405W-16i 00d3 MegaRAID Tri-Mode SAS3716W 00e0 Fusion-MPT 12GSAS/PCIe Unsupported SAS39xx 00e1 Fusion-MPT 12GSAS/PCIe SAS39xx 00e2 Fusion-MPT 12GSAS/PCIe Secure SAS39xx 00e3 Fusion-MPT 12GSAS/PCIe Unsupported SAS39xx 00e4 Fusion-MPT 12GSAS/PCIe Unsupported SAS38xx # Invalid part 1028 200b HBA355i Adapter Invalid # Invalid part 1028 200c HBA355i Front Invalid # Invalid part 1028 200d HBA355e Adapter Invalid # Invalid part 1028 200e HBA350i MX Invalid # Soft Secure 00e5 Fusion-MPT 12GSAS/PCIe SAS38xx # Soft Secure 1028 200b HBA355i Adapter # Soft Secure 1028 200c HBA355i Front # Soft Secure 1028 200d HBA355e Adapter # Soft Secure 1028 200e HBA350i MX 1d49 0205 ThinkSystem 440-16i SAS/SATA PCIe Gen4 12Gb Internal HBA 1d49 0206 ThinkSystem 440-16e SAS/SATA PCIe Gen4 12Gb HBA 00e6 Fusion-MPT 12GSAS/PCIe Secure SAS38xx 1000 4050 9500-16i Tri-Mode HBA 1000 4060 9500-8i Tri-Mode HBA 1000 4070 9500-16e Tri-Mode HBA 1000 4080 9500-8e Tri-Mode HBA 1028 200b HBA355i Adapter 1028 200c HBA355i Front 1028 200d HBA355e Adapter 1028 200e HBA350i MX 1d49 0205 ThinkSystem 440-16i SAS/SATA PCIe Gen4 12Gb Internal HBA 1d49 0206 ThinkSystem 440-16e SAS/SATA PCIe Gen4 12Gb HBA 00e7 Fusion-MPT 12GSAS/PCIe Unsupported SAS38xx # Tampered part 1028 200b HBA355i Adapter Tampered # Tampered part 1028 200c HBA355i Front Tampered # Tampered part 1028 200d HBA355e Adapter Tampered # Tampered part 1028 200e HBA350i MX Tampered 02b0 Virtual Endpoint on PCIe Switch 1d49 0001 ThinkSystem 1610-4P NVMe Switch Adapter 1d49 0002 ThinkSystem 810-4P NVMe Switch Adapter 02b1 Virtual Endpoint on PCIe Switch (9749) 1d49 0004 ThinkSystem 1610-8P NVMe Switch Adapter 0407 MegaRAID 1000 0530 MegaRAID 530 SCSI 320-0X RAID Controller 1000 0531 MegaRAID 531 SCSI 320-4X RAID Controller 1000 0532 MegaRAID 532 SCSI 320-2X RAID Controller 1028 0531 PowerEdge Expandable RAID Controller 4/QC 1028 0533 PowerEdge Expandable RAID Controller 4/QC 8086 0530 MegaRAID Intel RAID Controller SRCZCRX 8086 0532 MegaRAID Intel RAID Controller SRCU42X 0408 MegaRAID 1000 0001 MegaRAID SCSI 320-1E RAID Controller 1000 0002 MegaRAID SCSI 320-2E RAID Controller 1025 004d MegaRAID ACER ROMB-2E RAID Controller 1028 0001 PowerEdge RAID Controller PERC4e/SC 1028 0002 PowerEdge RAID Controller PERC4e/DC 1028 0012 PowerEdge RAID Controller RAC4 1028 0015 PowerEdge RAID Controller PERC5 1028 1f03 PowerEdge RAID Controller PERC5 1734 1065 FSC MegaRAID PCI Express ROMB 8086 0002 MegaRAID Intel RAID Controller SRCU42E 8086 3449 MegaRAID Intel RAID Controller SROMBU 0409 MegaRAID 1000 3004 MegaRAID SATA 300-4X RAID Controller 1000 3008 MegaRAID SATA 300-8X RAID Controller 8086 3008 MegaRAID RAID Controller SRCS28X 8086 3431 MegaRAID RAID Controller Alief SROMBU42E 8086 3499 MegaRAID RAID Controller Harwich SROMBU42E 0411 MegaRAID SAS 1068 1000 1001 MegaRAID SAS 8408E 1000 1002 MegaRAID SAS 8480E 1000 1003 MegaRAID SAS 8344ELP 1000 1004 MegaRAID SAS 8308ELP 1000 1008 MegaRAID SAS 84016E 1000 100c MegaRAID SATA 300-12E 1000 100d MegaRAID SATA 300-16E 1000 2004 MegaRAID SATA 300-8ELP 1000 2005 MegaRAID SATA 300-4ELP 1033 8287 MegaRAID SAS PCI Express ROMB 1054 3016 MegaRAID SAS RoMB Server 1734 1081 MegaRAID SAS PCI Express ROMB 1734 10a3 MegaRAID SAS PCI Express ROMB 8086 1001 RAID Controller SRCSAS18E 8086 1003 RAID Controller SRCSAS144E 8086 3500 SROMBSAS18E RAID Controller 8086 3501 SROMBSAS18E RAID Controller 8086 3504 SROMBSAS18E RAID Controller 0413 MegaRAID SAS 1068 [Verde ZCR] 1000 1005 MegaRAID SAS 8300XLP 0621 FC909 Fibre Channel Adapter 0622 FC929 Fibre Channel Adapter 1000 1020 44929 O Dual Fibre Channel card 0623 FC929 LAN 0624 FC919 Fibre Channel Adapter 0625 FC919 LAN 0626 FC929X Fibre Channel Adapter 1000 1010 7202-XP-LC Dual Fibre Channel card 0627 FC929X LAN 0628 FC919X Fibre Channel Adapter 0629 FC919X LAN 0640 FC949X Fibre Channel Adapter 0642 FC939X Fibre Channel Adapter 0646 FC949ES Fibre Channel Adapter 0701 83C885 NT50 DigitalScape Fast Ethernet 0702 Yellowfin G-NIC gigabit ethernet 1318 0000 PEI100X 0804 SA2010 0805 SA2010ZC 0806 SA2020 0807 SA2020ZC 0901 61C102 1000 63C815 10e0 MegaRAID 12GSAS/PCIe Unsupported SAS39xx 1028 1ae0 PERC H755 Adapter - Invalid Device 1028 1ae1 PERC H755 Front - Invalid Device 1028 1ae2 PERC H755N Front - Invalid Device 1028 1ae3 PERC H755 MX - Invalid Device 10e1 MegaRAID 12GSAS/PCIe SAS39xx 1028 1ae0 PERC H755 Adapter 1028 1ae1 PERC H755 Front 1028 1ae2 PERC H755N Front 1028 1ae3 PERC H755 MX 1d49 060a ThinkSystem RAID 940-8i 4GB Flash PCIe Gen4 12Gb Adapter 1d49 060b ThinkSystem RAID 940-8i 8GB Flash PCIe Gen4 12Gb Adapter 1d49 060c ThinkSystem RAID 940-16i 8GB Flash PCIe Gen4 12Gb Adapter 1d49 060d ThinkSystem RAID 940-16i 8GB Flash PCIe Gen4 12Gb Internal Adapter 1d49 060e ThinkSystem RAID 940-32i 8GB Flash PCIe Gen4 12Gb Adapter 1d49 060f ThinkSystem RAID 940-8e 4GB Flash PCIe Gen4 12Gb Adapter 10e2 MegaRAID 12GSAS/PCIe Secure SAS39xx 1028 1ae0 PERC H755 Adapter 1028 1ae1 PERC H755 Front 1028 1ae2 PERC H755N Front 1028 1ae3 PERC H755 MX 1d49 060a ThinkSystem RAID 940-8i 4GB Flash PCIe Gen4 12Gb Adapter 1d49 060b ThinkSystem RAID 940-8i 8GB Flash PCIe Gen4 12Gb Adapter 1d49 060c ThinkSystem RAID 940-16i 8GB Flash PCIe Gen4 12Gb Adapter 1d49 060d ThinkSystem RAID 940-16i 8GB Flash PCIe Gen4 12Gb Internal Adapter 1d49 060e ThinkSystem RAID 940-32i 8GB Flash PCIe Gen4 12Gb Adapter 1d49 060f ThinkSystem RAID 940-8e 4GB Flash PCIe Gen4 12Gb Adapter 10e3 MegaRAID 12GSAS/PCIe Unsupported SAS39xx 1028 1ae0 PERC H755 Adapter - Tampered Device 1028 1ae1 PERC H755 Front - Tampered Device 1028 1ae2 PERC H755N Front - Tampered Device 1028 1ae3 PERC H755 MX - Tampered Device 10e4 MegaRAID 12GSAS/PCIe Unsupported SAS38xx 10e5 MegaRAID 12GSAS/PCIe SAS38xx 10e6 MegaRAID 12GSAS/PCIe Secure SAS38xx 10e7 MegaRAID 12GSAS/PCIe Unsupported SAS38xx 1960 MegaRAID 1000 0518 MegaRAID 518 SCSI 320-2 Controller 1000 0520 MegaRAID 520 SCSI 320-1 Controller 1000 0522 MegaRAID 522 i4 133 RAID Controller 1000 0523 MegaRAID SATA 150-6 RAID Controller 1000 4523 MegaRAID SATA 150-4 RAID Controller 1000 a520 MegaRAID ZCR SCSI 320-0 Controller 1028 0518 MegaRAID 518 DELL PERC 4/DC RAID Controller 1028 0520 MegaRAID 520 DELL PERC 4/SC RAID Controller 1028 0531 PowerEdge Expandable RAID Controller 4/QC 1028 0533 PowerEdge Expandable RAID Controller 4/QC 8086 0520 MegaRAID RAID Controller SRCU41L 8086 0523 MegaRAID RAID Controller SRCS16 3050 SAS2008 PCI-Express Fusion-MPT SAS-2 6001 DX1 Multiformat Broadcast HD/SD Encoder/Decoder 1001 Kolter Electronic 0010 PCI 1616 Measurement card with 32 digital I/O lines 0011 OPTO-PCI Opto-Isolated digital I/O board 0012 PCI-AD/DA Analogue I/O board 0013 PCI-OPTO-RELAIS Digital I/O board with relay outputs 0014 PCI-Counter/Timer Counter Timer board 0015 PCI-DAC416 Analogue output board 0016 PCI-MFB Analogue I/O board 0017 PROTO-3 PCI Prototyping board 9100 INI-9100/9100W SCSI Host # nee ATI Technologies, Inc. 1002 Advanced Micro Devices, Inc. [AMD/ATI] 1304 Kaveri 1305 Kaveri 1306 Kaveri 1307 Kaveri 1308 Kaveri HDMI/DP Audio Controller 17aa 3988 Z50-75 1309 Kaveri [Radeon R6/R7 Graphics] 17aa 3830 Z50-75 130a Kaveri [Radeon R6 Graphics] 130b Kaveri [Radeon R4 Graphics] 130c Kaveri [Radeon R7 Graphics] 130d Kaveri [Radeon R6 Graphics] 130e Kaveri [Radeon R5 Graphics] 130f Kaveri [Radeon R7 Graphics] 1310 Kaveri 1311 Kaveri 1312 Kaveri 1313 Kaveri [Radeon R7 Graphics] 1314 Wrestler HDMI Audio 174b 1001 PURE Fusion Mini 1315 Kaveri [Radeon R5 Graphics] 1316 Kaveri [Radeon R5 Graphics] 1317 Kaveri 1318 Kaveri [Radeon R5 Graphics] 131b Kaveri [Radeon R4 Graphics] 131c Kaveri [Radeon R7 Graphics] 131d Kaveri [Radeon R6 Graphics] 13e9 Ariel 1478 Navi 10 XL Upstream Port of PCI Express Switch 1479 Navi 10 XL Downstream Port of PCI Express Switch 154c Kryptos [Radeon RX 350] 154e Garfield 1551 Arlene 1552 Pooky 1561 Anubis 15d8 Picasso 103c 8615 Pavilion Laptop 15-cw1xxx 17aa 5124 ThinkPad E595 15dd Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series] 103c 83c6 Radeon Vega 8 Mobile 1458 d000 Radeon RX Vega 11 15de Raven/Raven2/Fenghuang HDMI/DP Audio Controller 103c 8615 Pavilion Laptop 15-cw1xxx 17aa 5124 ThinkPad E595 15df Raven/Raven2/Fenghuang/Renoir Cryptographic Coprocessor 103c 8615 Pavilion Laptop 15-cw1xxx 15ff Fenghuang [Zhongshan Subor Z+] 1607 Arden 1636 Renoir 1714 BeaverCreek HDMI Audio [Radeon HD 6500D and 6400G-6600G series] 103c 168b ProBook 4535s 3150 RV380/M24 [Mobility Radeon X600] 103c 0934 nx8220 3151 RV380 GL [FireMV 2400] 3152 RV370/M22 [Mobility Radeon X300] 3154 RV380/M24 GL [Mobility FireGL V3200] 3155 RV380 GL [FireMV 2400] 3171 RV380 GL [FireMV 2400] (Secondary) 3e50 RV380 [Radeon X550/X600] 3e54 RV380 GL [FireGL V3200] 3e70 RV380 [Radeon X550/X600] (Secondary) 4136 RS100 [Mobility IGP 320M] 4137 RS200 [Radeon IGP 340] 4144 R300 [Radeon 9500] 4146 R300 [Radeon 9700 PRO] 4147 R300 GL [FireGL Z1] 4148 R350 [Radeon 9800/9800 SE] 4150 RV350 [Radeon 9550/9600/X1050 Series] 1002 0002 R9600 Pro primary (Asus OEM for HP) 1002 0003 R9600 Pro secondary (Asus OEM for HP) 1002 4722 All-in-Wonder 2006 AGP Edition 1458 4024 GV-R96128D 148c 2064 R96A-C3N 148c 2066 R96A-C3N 174b 7c19 Atlantis Radeon 9600 Pro 174b 7c29 GC-R9600PRO 17ee 2002 Radeon 9600 256Mb Primary 18bc 0101 GC-R9600PRO (Primary) 4151 RV350 [Radeon 9600 Series] 1043 c004 A9600SE 174b 7c37 Radeon 9600SE 128M DDR V/D/VO 4152 RV360 [Radeon 9600/X1050 Series] 1002 0002 Radeon 9600XT 1002 4772 All-in-Wonder 9600 XT 1043 c002 Radeon 9600 XT TVD 1043 c01a A9600XT/TD 1462 9510 RX9600XT (MS-8951) 174b 7c29 Radeon 9600XT 1787 4002 Radeon 9600 XT 4153 RV350 [Radeon 9550] 1043 010c A9550GE/TD 1462 932c RX9550SE-TD128 (MS-8932) 4154 RV350 GL [FireGL T2] 4155 RV350 [Radeon 9600] 4157 RV350 GL [FireGL T2] 4158 68800AX [Graphics Ultra Pro PCI] 4164 R300 [Radeon 9500 PRO] (Secondary) 4165 R300 [Radeon 9700 PRO] (Secondary) 4166 R300 [Radeon 9700 PRO] (Secondary) 4168 RV350 [Radeon 9800 SE] (Secondary) 4170 RV350 [Radeon 9550/9600/X1050 Series] (Secondary) 1002 0003 R9600 Pro secondary (Asus OEM for HP) 1002 4723 All-in-Wonder 2006 AGP Edition (Secondary) 1458 4025 GV-R96128D (Secondary) 148c 2067 R96A-C3N (Secondary) 174b 7c28 GC-R9600PRO (Secondary) 17ee 2003 Radeon 9600 256Mb (Secondary) 18bc 0100 GC-R9600PRO (Secondary) 4171 RV350 [Radeon 9600] (Secondary) 1043 c005 A9600SE (Secondary) 174b 7c36 Radeon 9600SE 128M DDR V/D/VO (secondary) 4172 RV350 [Radeon 9600/X1050 Series] (Secondary) 1002 0003 Radeon 9600XT (Secondary) 1002 4773 All-in-Wonder 9600 XT (Secondary) 1043 c003 A9600XT (Secondary) 1043 c01b A9600XT/TD (Secondary) 174b 7c28 Radeon 9600XT (Secondary) 1787 4003 Radeon 9600 XT (Secondary) 4173 RV350 [Radeon 9550] (Secondary) 1043 010d A9550GE/TD (Secondary) 4242 R200 [All-In-Wonder Radeon 8500 DV] 1002 02aa Radeon 8500 AIW DV Edition 4243 R200 PCI Bridge [All-in-Wonder Radeon 8500DV] 4336 RS100 [Radeon IGP 320M] 1002 4336 Pavilion ze4300 ATI Radeon Mobility U1 (IGP 320 M) 103c 0024 Pavilion ze4400 builtin Video 161f 2029 eMachines M5312 builtin Video 4337 RS200M [Radeon IGP 330M/340M/345M/350M] 1014 053a ThinkPad R40e 103c 0850 Radeon IGP 345M 4341 SB200 AC97 Audio Controller 4342 SB200 PCI to PCI Bridge 4345 SB200 EHCI USB Controller 4346 Crayola 6 [XENOS Parent Die (XBOX 360)] 4347 SB200 OHCI USB Controller #1 4348 SB200 OHCI USB Controller #2 4349 SB200 IDE Controller 434c SB200 PCI to LPC Bridge 434d SB200 AC97 Modem Controller 4353 SB200 SMBus Controller 4354 215CT [Mach64 CT PCI] 4358 Mach64 CX [Graphics Xpression] 4361 SB300 AC'97 Audio Controller 4362 SB300 PCI to PCI Bridge 4363 SB300 SMBus Controller 4365 SB300 USB Controller (EHCI) 4367 SB300 USB Controller (EHCI) 4368 SB300 USB Controller (EHCI) 4369 SB300 IDE Controller 436c SB300 PCI to LPC Bridge 436d SB300 AC97 Modem Controller 436e SB300 Serial ATA Controller 4370 IXP SB400 AC'97 Audio Controller 1025 0079 Aspire 5024WLMMi 1025 0091 Aspire 5032WXMi 103c 2a05 Pavilion t3030.de Desktop PC 103c 308b MX6125 105b 0c81 Realtek ALC 653 107b 0300 MX6421 1462 0131 MS-1013 Notebook 4371 IXP SB4x0 PCI-PCI Bridge 103c 308b MX6125 1462 7217 Aspire L250 4372 IXP SB4x0 SMBus Controller 1025 0080 Aspire 5024WLMMi 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 0131 MS-1013 Notebook 1462 7217 Aspire L250 4373 IXP SB4x0 USB2 Host Controller 1025 0080 Aspire 5024WLMMi 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 7217 Aspire L250 4374 IXP SB4x0 USB Host Controller 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 7217 Aspire L250 4375 IXP SB4x0 USB Host Controller 1025 0080 Aspire 5024WLMMi 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 7217 Aspire L250 4376 IXP SB4x0 IDE Controller 1025 0080 Aspire 5024WLMMi 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 0131 MS-1013 Notebook 1462 7217 Aspire L250 4377 IXP SB4x0 PCI-ISA Bridge 1025 0080 Aspire 5024WLMi 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 7217 Aspire L250 4378 IXP SB400 AC'97 Modem Controller 1025 0080 Aspire 5024WLMMi 103c 308b MX6125 1462 0131 MS-1013 Notebook 4379 IXP SB4x0 Serial ATA Controller 1462 7141 Aspire L250 437a IXP SB400 Serial ATA Controller 1002 4379 4379 Serial ATA Controller 1002 437a 437A Serial ATA Controller 1462 7141 Aspire L250 14f1 8800 Leadtek WinFast TV2000XP Expert 437b IXP SB4x0 High Definition Audio Controller 1002 437b IXP SB4x0 High Definition Audio Controller 10cf 1326 Fujitsu Lifebook A3040 1734 10b8 Realtek High Definition Audio 4380 SB600 Non-Raid-5 SATA 103c 2813 DC5750 Microtower 1179 ff50 Satellite P305D-S8995E 1458 b003 GA-MA790FX-DS5 (rev. 1.0) 1458 b005 Gigabyte GA-MA69G-S3H Motherboard 1462 7327 K9AG Neo2 17f2 5999 KI690-AM2 Motherboard 4381 SB600 SATA Controller (RAID 5 mode) 4382 SB600 AC97 Audio 4383 SBx00 Azalia (Intel HDA) 1019 2120 A785GM-M 103c 1611 Pavilion dm1z-3000 103c 280a DC5750 Microtower 1043 8230 M3A78-EH Motherboard 1043 836c M4A785TD Motherboard 1043 8410 M4A89GTD PRO/USB3 Motherboard 1043 841b M5A88-V EVO 1043 8445 M5A78L LE 105b 0e13 N15235/A74MX mainboard / AMD SB700 1179 ff50 Satellite P305D-S8995E 1458 a022 GA-MA770-DS3rev2.0 Motherboard 1458 a102 GA-880GMA-USB3 17f2 5000 KI690-AM2 Motherboard 4384 SBx00 PCI to PCI Bridge 4385 SBx00 SMBus Controller 1019 2120 A785GM-M 103c 1611 Pavilion DM1Z-3000 103c 280a DC5750 Microtower 1043 82ef M3A78-EH Motherboard 1043 8389 M4A785TD Motherboard 105b 0e13 N15235/A74MX mainboard / AMD SB700 1179 ff50 Satellite P305D-S8995E 1458 4385 GA-MA770-DS3rev2.0 Motherboard 1462 7368 K9AG Neo2 15d9 a811 H8DGU 174b 1001 PURE Fusion Mini 17f2 5000 KI690-AM2 Motherboard 4386 SB600 USB Controller (EHCI) 103c 280a DC5750 Microtower 1179 ff50 Satellite P305D-S8995E 1462 7368 K9AG Neo2 17f2 5000 KI690-AM2 Motherboard 4387 SB600 USB (OHCI0) 103c 280a DC5750 Microtower 1179 ff50 Satellite P305D-S8995E 1462 7368 K9AG Neo2 17f2 5000 KI690-AM2 Motherboard 4388 SB600 USB (OHCI1) 103c 280a DC5750 Microtower 1179 ff50 Satellite P305D-S8995E 1462 7368 K9AG Neo2 17f2 5000 KI690-AM2 Motherboard 4389 SB600 USB (OHCI2) 103c 280a DC5750 Microtower 1179 ff50 Satellite P305D-S8995E 1462 7368 K9AG Neo2 17f2 5000 KI690-AM2 Motherboard 438a SB600 USB (OHCI3) 103c 280a DC5750 Microtower 1179 ff50 Satellite P305D-S8995E 1462 7368 K9AG Neo2 17f2 5000 KI690-AM2 Motherboard 438b SB600 USB (OHCI4) 103c 280a DC5750 Microtower 1179 ff50 Satellite P305D-S8995E 1462 7368 K9AG Neo2 17f2 5000 KI690-AM2 Motherboard 438c SB600 IDE 103c 280a DC5750 Microtower 1179 ff50 Satellite P305D-S8995E 1458 5002 Gigabyte GA-MA69G-S3H Motherboard 1462 7368 K9AG Neo2 17f2 5000 KI690-AM2 Motherboard 438d SB600 PCI to LPC Bridge 103c 280a DC5750 Microtower 1179 ff50 Satellite P305D-S8995E 1462 7368 K9AG Neo2 17f2 5000 KI690-AM2 Motherboard 438e SB600 AC97 Modem 4390 SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] 1043 82ef M3A78-EH Motherboard 1043 8389 M4A785TD Motherboard 105b 0e13 N15235/A74MX mainboard / AMD SB700 1458 b002 GA-MA770-DS3rev2.0 Motherboard 1849 4390 Motherboard (one of many) 4391 SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] 103c 1609 ProLiant MicroServer N36L 103c 1611 Pavilion DM1Z-3000 1043 82ef M3A78-EH Motherboard 1043 8443 M5A88-V EVO 1043 84dd M5A99X EVO (R1.0) SB950 105b 0e13 N15235/A74MX mainboard / AMD SB700 1458 b002 GA-880GMA-USB3 174b 1001 PURE Fusion Mini 4392 SB7x0/SB8x0/SB9x0 SATA Controller [Non-RAID5 mode] 105b 0e13 N15235/A74MX mainboard / AMD SB700 4393 SB7x0/SB8x0/SB9x0 SATA Controller [RAID5 mode] 4394 SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] 4395 SB8x0/SB9x0 SATA Controller [Storage mode] 4396 SB7x0/SB8x0/SB9x0 USB EHCI Controller 1019 2120 A785GM-M 103c 1609 ProLiant MicroServer N36L 103c 1611 Pavilion DM1Z-3000 1043 82ef M3A78-EH Motherboard 1043 8443 M5A88-V EVO 105b 0e13 N15235/A74MX mainboard / AMD SB700 1458 5004 GA-880GMA-USB3 15d9 a811 H8DGU 174b 1001 PURE Fusion Mini 4397 SB7x0/SB8x0/SB9x0 USB OHCI0 Controller 1019 2120 A785GM-M 103c 1609 ProLiant MicroServer N36L 103c 1611 Pavilion DM1Z-3000 1043 82ef M3A78-EH Motherboard 1043 8443 M5A88-V EVO 105b 0e13 N15235/A74MX mainboard / AMD SB700 1458 5004 GA-880GMA-USB3 15d9 a811 H8DGU 174b 1001 PURE Fusion Mini 4398 SB7x0 USB OHCI1 Controller 1019 2120 A785GM-M 1043 82ef M3A78-EH Motherboard 105b 0e13 N15235/A74MX mainboard / AMD SB700 15d9 a811 H8DGU 4399 SB7x0/SB8x0/SB9x0 USB OHCI2 Controller 1019 2120 A785GM-M 1043 82ef M3A78-EH Motherboard 1043 8443 M5A88-V EVO 105b 0e13 N15235/A74MX mainboard / AMD SB700 1458 5004 GA-880GMA-USB3 174b 1001 PURE Fusion Mini 439c SB7x0/SB8x0/SB9x0 IDE Controller 1002 4392 MSI MS-7713 motherboard 1019 2120 A785GM-M 103c 1609 ProLiant MicroServer N36L 1043 82ef M3A78-EH Motherboard 105b 0e13 N15235/A74MX mainboard / AMD SB700 439d SB7x0/SB8x0/SB9x0 LPC host controller 1019 2120 A785GM-M 103c 1609 ProLiant MicroServer N36L 103c 1611 Pavilion DM1Z-3000 1043 82ef M3A78-EH Motherboard 1043 8443 M5A88-V EVO 105b 0e13 N15235/A74MX mainboard / AMD SB700 174b 1001 PURE Fusion Mini 43a0 SB700/SB800/SB900 PCI to PCI bridge (PCIE port 0) 43a1 SB700/SB800/SB900 PCI to PCI bridge (PCIE port 1) 43a2 SB900 PCI to PCI bridge (PCIE port 2) 43a3 SB900 PCI to PCI bridge (PCIE port 3) 4437 RS250 [Mobility Radeon 7000 IGP] 4554 210888ET [Mach64 ET] 4630 XENOS Parent Die (XBOX 360) 4631 XENOS Daughter Die (XBOX 360) 4654 Mach64 VT 4742 Rage 3 [3D Rage PRO AGP 2X] 1002 0040 Rage Pro Turbo AGP 2X 1002 0044 Rage Pro Turbo AGP 2X 1002 0061 Rage Pro AIW AGP 2X 1002 0062 Rage Pro AIW AGP 2X 1002 0063 Rage Pro AIW AGP 2X 1002 0080 Rage Pro Turbo AGP 2X 1002 0084 Rage Pro Turbo AGP 2X 1002 4742 Rage Pro Turbo AGP 2X 1002 8001 Rage Pro Turbo AGP 2X 1028 0082 Rage Pro Turbo AGP 2X 1028 4082 Optiplex GX1 Onboard Display Adapter 1028 8082 Rage Pro Turbo AGP 2X 1028 c082 Rage Pro Turbo AGP 2X 8086 4152 Xpert 98D AGP 2X 8086 464a Rage Pro Turbo AGP 2X 4744 Rage 3 [3D Rage PRO AGP 1X] 1002 4744 Rage Pro Turbo AGP 8086 4d55 Rage 3D Pro AGP 1X [Intel MU440EX] 4749 3D Rage PRO PCI 1002 0061 Rage Pro AIW 1002 0062 Rage Pro AIW 474d Rage XL AGP 2X 1002 0004 Xpert 98 RXL AGP 2X 1002 0008 Xpert 98 RXL AGP 2X 1002 0080 Rage XL AGP 2X 1002 0084 Xpert 98 AGP 2X 1002 474d Rage XL AGP 1033 806a Rage XL AGP 474e Rage XC AGP 1002 474e Rage XC AGP 474f Rage XL 1002 0008 Rage XL 1002 474f Rage XL 4750 3D Rage Pro PCI 1002 0040 Rage Pro Turbo 1002 0044 Rage Pro Turbo 1002 0080 Rage Pro Turbo 1002 0084 Rage Pro Turbo 1002 4750 Rage Pro Turbo 4752 Rage 3 [Rage XL PCI] 0e11 001e Proliant Rage XL 1002 0008 Rage XL 1002 4752 Proliant Rage XL 1002 8008 Rage XL 1014 0240 eServer xSeries server mainboard 1028 00ce PowerEdge 1400 1028 00d1 PowerEdge 2550 1028 00d9 PowerEdge 2500 1028 0134 PowerEdge 600SC 1028 014a PowerEdge 1750 1028 0165 PowerEdge 750 103c 10e1 NetServer Rage XL 103c 3208 ProLiant DL140 G2 107b 6400 6400 Server 1734 007a PRIMERGY RX/TX series onboard VGA 1734 1073 Primergy Econel 200 D2020 mainboard 8086 3411 SDS2 Mainboard 8086 3427 S875WP1-E mainboard 8086 5744 S845WD1-E mainboard 4753 Rage XC 1002 4753 Rage XC 4754 Mach64 GT/GT-B [3D Rage I/II] 4755 Mach64 GT-B [3D Rage II+ DVD] 4756 Rage 2 [3D Rage IIC PCI] 1002 4756 Rage IIC 4757 Rage 2 [3D Rage IIC AGP] 1002 4757 Rage IIC AGP 1028 0089 Rage 3D IIC 1028 008e PowerEdge 1300 onboard video 1028 4082 Rage 3D IIC 1028 8082 Rage 3D IIC 1028 c082 Rage 3D IIC 4758 Mach64 GX [WinTurbo] 4759 Rage 3 [3D Rage IIC PCI] 475a 3D Rage IIC AGP 1002 0084 Rage 3D Pro AGP 2x XPERT 98 1002 0087 Rage 3D IIC 1002 475a Rage IIC AGP 4845 Xilleon 220 HBIU for HDTV2 4846 Xilleon 220 IDE for HDTV2 4847 Xilleon 220 USB for HDTV2 4848 Xilleon 220 DAIO-0 for HDTV2 4849 Xilleon 220 DAIO-1 for HDTV2 484a Xilleon 220 LPC for HDTV2 4850 Xilleon 215 HBIU for X215 4851 Xilleon 215 IDE for X215 4852 Xilleon 215 USB for X215 4853 Xilleon 215 DAIO-0 for X215 4854 Xilleon 215 DAIO-1 for X215 4855 Xilleon 225 HBIU for X225 4856 Xilleon 225 IDE for X225 4857 Xilleon 225 USB for X225 4858 Xilleon 225 DAIO-0 for X225 4859 Xilleon 225 DAIO-1 for X225 4860 Xilleon 210 HBIU for X210 4861 Xilleon 210 IDE for X210 4862 Xilleon 210 USB for X210 4863 Xilleon 210 DAIO-0 for X210 4864 Xilleon 210 DAIO-1 for X210 4865 Xilleon 226 HBIU for X226 4866 Xilleon 226 IDE for X226 4867 Xilleon 226 USB for X226 4868 Xilleon 226 DAIO-0 for X226 4869 Xilleon 226 DAIO-1 for X226 486a Xilleon 240S HBIU for X240S 486b Xilleon 240H HBIU for X240H 486c Xilleon 240S USB for X240S 486d Xilleon 240H USB for X240H 486e Xilleon 250 USB 1.1 for X250 486f Xilleon 260 USB 1.1 for X260 4870 Xilleon 250 HBIU for X250 4871 Xilleon 250 IDE for X250 4872 Xilleon 234/235 HBIU for X234/X235 4873 Xilleon 244/245 HBIU for X244/X245 4874 Xilleon 234/235 USB 1.1 for X234/X235 4875 Xilleon 260 HBIU for X260 4876 Xilleon 260 IDE for X260 4877 Xilleon 244/245 USB 1.1 for X244/X245 4878 Xilleon 270 HBIU for X270 487b Xilleon 242 HBIU for X242 487d Xilleon 242 USB 1.1 for X242 4880 Xilleon 254 HBIU for X254 4881 Xilleon 254 USB 1.1 for X254 4882 Xilleon 255 HBIU for X255 4883 Xilleon 255 USB 1.1 for X255 4884 Xilleon 243 HBIU for X243 4885 Xilleon 243 USB 1.1 for X243 4886 Xilleon 233 HBIU for X233 4887 Xilleon 233 USB 1.1 for X233 4888 Xilleon 143 HBIU for X143 4889 Xilleon 143 HBIU for X143L 488a Xilleon 143 HBIU for X143S 4966 RV250 [Radeon 9000 Series] 10f1 0002 RV250 If [Tachyon G9000 PRO] 148c 2039 RV250 If [Radeon 9000 Pro "Evil Commando"] 1509 9a00 RV250 If [Radeon 9000 "AT009"] 1681 0040 RV250 If [3D prophet 9000] 174b 7176 Radeon 9000 Pro 174b 7192 RV250 If [Radeon 9000 "Atlantis"] 17af 2005 RV250 If [Excalibur Radeon 9000 Pro] 17af 2006 RV250 If [Excalibur Radeon 9000] 496e RV250 [Radeon 9000] (Secondary) 4a49 R420 [Radeon X800 PRO/GTO AGP] 174b 2620 R420 [Radeon X800 GTO AGP] 4a4a R420 [Radeon X800 GT AGP] 4a4b R420 [Radeon X800 AGP Series] 4a4d R420 GL [FireGL X3-256] 4a4e RV420/M18 [Mobility Radeon 9800] 4a4f R420 [Radeon X850 AGP] 4a50 R420 [Radeon X800 XT Platinum Edition AGP] 4a54 R420 [Radeon X800 VE AGP] 1002 4422 All-In-Wonder X800 VE AGP 4a69 R420 [Radeon X800 PRO/GTO] (Secondary) 4a6a R420 [Radeon X800] (Secondary) 4a6b R420 [Radeon X800 XT AGP] (Secondary) 4a70 R420 [Radeon X800 XT Platinum Edition AGP] (Secondary) 4a74 R420 [Radeon X800 VE] (Secondary) 4b49 R481 [Radeon X850 XT AGP] 4b4b R481 [Radeon X850 PRO AGP] 4b4c R481 [Radeon X850 XT Platinum Edition AGP] 4b69 R481 [Radeon X850 XT AGP] (Secondary) 4b6b R481 [Radeon X850 PRO AGP] (Secondary) 4b6c R481 [Radeon X850 XT Platinum Edition AGP] (Secondary) 4c42 Mach64 LT [3D Rage LT PRO AGP] 0e11 b0e7 Rage LT Pro (Compaq Presario 5240) 0e11 b0e8 Rage 3D LT Pro 0e11 b10e 3D Rage LT Pro (Compaq Armada 1750) 1002 0040 Rage LT Pro AGP 2X 1002 0044 Rage LT Pro AGP 2X 1002 4c42 Rage LT Pro AGP 2X 1002 8001 Rage LT Pro AGP 2X 1028 0085 Rage 3D LT Pro 4c46 Rage Mobility 128 AGP 2X/Mobility M3 1002 0155 IBM Thinkpad A22p 1014 0155 Thinkpad A22p 1028 00b1 Latitude C600 4c47 3D Rage IIC PCI / Mobility Radeon 7500/7500C 4c49 3D Rage LT PRO PCI 1002 0004 Rage LT Pro 1002 0040 Rage LT Pro 1002 0044 Rage LT Pro 1002 4c49 Rage LT Pro 4c4d Rage Mobility AGP 2x Series 0e11 b111 Armada M700 0e11 b160 Armada E500 1002 0084 Xpert 98 AGP 2X (Mobility) 1014 0154 ThinkPad A20m/A21m 1028 00aa Latitude CPt 1028 00bb Latitude CPx 1179 ff00 Satellite 1715XCDS laptop 13bd 1019 PC-AR10 4c50 Rage 3 LT [3D Rage LT PRO PCI] 1002 4c50 Rage LT Pro 4c52 M1 [Rage Mobility-M1 PCI] 1033 8112 Versa Note VXi 4c54 264LT [Mach64 LT] 4c57 RV200/M7 [Mobility Radeon 7500] 1014 0517 ThinkPad T30 1014 0530 ThinkPad T4x Series 1028 00e6 Radeon Mobility M7 LW (Dell Inspiron 8100) 1028 012a Latitude C640 1043 1622 Mobility Radeon M7 (L3C/S) 144d c006 Radeon Mobility M7 LW in vpr Matrix 170B4 4c58 RV200/M7 GL [Mobility FireGL 7800] 4c59 RV100/M6 [Rage/Radeon Mobility Series] 0e11 b111 Evo N600c 1014 0235 ThinkPad A30/A30p (2652/2653) 1014 0239 ThinkPad X22/X23/X24 103c 0025 XE4500 Notebook 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 104d 8140 PCG-Z1SP laptop 1509 1930 Medion MD9703 4c66 RV250/M9 GL [Mobility FireGL 9000/Radeon 9000] 1014 054d ThinkPad T41 4c6e RV250/M9 [Mobility Radeon 9000] (Secondary) 4d46 Rage Mobility 128 AGP 4X/Mobility M4 4d52 Theater 550 PRO PCI [ATI TV Wonder 550] 4d53 Theater 550 PRO PCIe 4e44 R300 [Radeon 9700/9700 PRO] 1002 515e Radeon ES1000 1002 5965 Radeon ES1000 4e45 R300 [Radeon 9500 PRO/9700] 1002 0002 Radeon R300 NE [Radeon 9500 Pro] 1681 0002 Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] 4e46 R300 [Radeon 9600 TX] 4e47 R300 GL [FireGL X1] 4e48 R350 [Radeon 9800 Series] 4e49 R350 [Radeon 9800] 4e4a R360 [Radeon 9800 XXL/XT] 1002 4e4a R360 [Radeon 9800 XT] 4e4b R350 GL [FireGL X2 AGP Pro] 4e50 RV350/M10 / RV360/M11 [Mobility Radeon 9600 (PRO) / 9700] 1025 005a TravelMate 290 1025 0064 Extensa 3000 series laptop: ATI RV360/M11 [Mobility Radeon 9700] 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 144d c00c P35 notebook 1462 0311 MSI M510A 1734 1055 Amilo M1420W 4e51 RV350 [Radeon 9550/9600/X1050 Series] 4e52 RV350/M10 [Mobility Radeon 9500/9700 SE] 144d c00c P35 notebook 4e54 RV350/M10 GL [Mobility FireGL T2] 4e56 RV360/M12 [Mobility Radeon 9550] 4e64 R300 [Radeon 9700 PRO] (Secondary) 4e65 R300 [Radeon 9500 PRO] (Secondary) 1002 0003 Radeon R300 NE [Radeon 9500 Pro] 1681 0003 Hercules 3D Prophet 9500 PRO [Radeon 9500 Pro] (Secondary) 4e66 RV350 [Radeon 9600] (Secondary) 4e67 R300 GL [FireGL X1] (Secondary) 4e68 R350 [Radeon 9800 PRO] (Secondary) 4e69 R350 [Radeon 9800] (Secondary) 4e6a RV350 [Radeon 9800 XT] (Secondary) 1002 4e6a R360 [Radeon 9800 XT] (Secondary) 1002 4e71 M10 NQ [Radeon Mobility 9600] 4e71 RV350/M10 [Mobility Radeon 9600] (Secondary) 4f72 RV250 [Radeon 9000 Series] 4f73 RV250 [Radeon 9000 Series] (Secondary) 5044 All-In-Wonder 128 PCI 1002 0028 Rage 128 AIW 1002 0029 Rage 128 AIW 5046 Rage 4 [Rage 128 PRO AGP 4X] 1002 0004 Rage Fury Pro 1002 0008 Rage Fury Pro/Xpert 2000 Pro 1002 0014 Rage Fury Pro 1002 0018 Rage Fury Pro/Xpert 2000 Pro 1002 0028 Rage 128 Pro AIW AGP 1002 002a Rage 128 Pro AIW AGP 1002 0048 Rage Fury Pro 1002 2000 Rage Fury MAXX AGP 4x (TMDS) (VGA device) 1002 2001 Rage Fury MAXX AGP 4x (TMDS) (Extra device?!) 5050 Rage 4 [Rage 128 PRO PCI / Xpert 128 PCI] 1002 0008 Xpert 128 5052 Rage 4 [Rage 128 PRO AGP 4X] 5144 R100 [Radeon 7200 / All-In-Wonder Radeon] 1002 0008 Radeon 7000/Radeon VE 1002 0009 Radeon 7000/Radeon 1002 000a Radeon 7000/Radeon 1002 001a Radeon 7000/Radeon 1002 0029 Radeon AIW 1002 0038 Radeon 7000/Radeon 1002 0039 Radeon 7000/Radeon 1002 008a Radeon 7000/Radeon 1002 00ba Radeon 7000/Radeon 1002 0139 Radeon 7000/Radeon 1002 028a Radeon 7000/Radeon 1002 02aa Radeon AIW 1002 053a Radeon 7000/Radeon 5148 R200 GL [FireGL 8800] 1002 010a FireGL 8800 64Mb 1002 0152 FireGL 8800 128Mb 1002 0162 FireGL 8700 32Mb 1002 0172 FireGL 8700 64Mb 514c R200 [Radeon 8500/8500 LE] 1002 003a Radeon R200 QL [Radeon 8500 LE] 1002 013a Radeon 8500 148c 2026 R200 QL [Radeon 8500 Evil Master II Multi Display Edition] 1681 0010 Radeon 8500 [3D Prophet 8500 128Mb] 174b 7149 Radeon 8500 LE 1787 0f08 Radeon R200 QL [PowerMagic Radeon 8500] 514d R200 [Radeon 9100] 5157 RV200 [Radeon 7500/7500 LE] 1002 013a Radeon 7500 1002 0f2b ALL-IN-WONDER VE PCI 1002 103a Dell Optiplex GX260 1458 4000 RV200 QW [RADEON 7500 PRO MAYA AR] 148c 2024 RV200 QW [Radeon 7500LE Dual Display] 148c 2025 RV200 QW [Radeon 7500 Evil Master Multi Display Edition] 148c 2036 RV200 QW [Radeon 7500 PCI Dual Display] 174b 7146 RV200 QW [Radeon 7500 LE] 174b 7147 Radeon 7500 LE 174b 7161 Radeon RV200 QW [Radeon 7500 LE] 17af 0202 RV200 QW [Excalibur Radeon 7500LE] 5159 RV100 [Radeon 7000 / Radeon VE] 1002 000a Radeon 7000/Radeon VE 1002 000b Radeon 7000 1002 0038 Radeon 7000/Radeon VE 1002 003a Radeon 7000/Radeon VE 1002 00ba Radeon 7000/Radeon VE 1002 013a Radeon 7000/Radeon VE 1002 0908 XVR-100 (supplied by Sun) # The IBM card doubles as an ATI PCI video adapter 1014 029a Remote Supervisor Adapter II (RSA2) 1014 02c8 eServer xSeries server mainboard 1028 016c PowerEdge 1850 Embedded Radeon 7000/VE 1028 016d PowerEdge 2850 Embedded Radeon 7000-M 1028 0170 PowerEdge 6850 Embedded Radeon 7000/VE 1028 019a PowerEdge SC1425 103c 1292 Radeon 7000 1043 c00a A7000/T/64M 1458 4002 RV100 QY [RADEON 7000 PRO MAYA AV Series] 148c 2003 RV100 QY [Radeon 7000 Multi-Display Edition] 148c 2023 RV100 QY [Radeon 7000 Evil Master Multi-Display] 148c 2081 RV6DE 174b 0280 Radeon RV100 QY [Radeon 7000/VE] 174b 7112 Radeon VE 7000 174b 7c28 Radeon VE 7000 DDR 1787 0202 RV100 QY [Excalibur Radeon 7000] 17ee 1001 Radeon 7000 64MB DDR + DVI 515e ES1000 1028 01bb PowerEdge 1955 Embedded ATI ES1000 1028 01df PowerEdge SC440 1028 01e6 PowerEdge 860 1028 01f0 PowerEdge R900 Embedded ATI ES1000 1028 0205 PowerEdge 2970 Embedded ATI ES1000 1028 020b PowerEdge T605 Embedded ATI ES1000 1028 020f PowerEdge R300 Embedded ATI ES1000 1028 0210 PowerEdge T300 Embedded ATI ES1000 1028 0221 PowerEdge R805 Embedded ATI ES1000 1028 0223 PowerEdge R905 Embedded ATI ES1000 1028 0225 PowerEdge T105 Embedded ATI ES1000 1028 023c PowerEdge R200 Embedded ATI ES1000 103c 1304 Integrity iLO2 Advanced KVM VGA [AD307A] 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 5245 Rage 128 GL PCI 1002 0008 Xpert 128 1002 0028 Rage 128 AIW 1002 0029 Rage 128 AIW 1002 0068 Rage 128 AIW 5246 Rage 128 (Rage 4) series 1002 0004 Magnum/Xpert 128/Xpert 99 1002 0008 Rage 128 AGP 2x 1002 0028 Rage 128 AIW AGP 1002 0044 Rage Fury/Xpert 128/Xpert 2000 1002 0068 Rage 128 AIW AGP 1002 0448 Rage Fury 524b Rage 128 VR PCI 524c Rage 128 VR AGP 1002 0008 Xpert 99/Xpert 2000 1002 0088 Xpert 99 534d Rage 128 4X AGP 4x 1002 0008 Xpert 99/Xpert 2000 1002 0018 Xpert 2000 5354 Mach 64 VT 1002 5654 Mach 64 reference 5446 Rage 128 PRO Ultra AGP 4x 1002 0004 Rage Fury Pro 1002 0008 Rage Fury Pro/Xpert 2000 Pro 1002 0018 Rage Fury Pro/Xpert 2000 Pro 1002 0028 Rage 128 AIW Pro AGP 1002 0029 Rage 128 AIW 1002 002a Rage 128 AIW Pro AGP 1002 002b Rage 128 AIW 1002 0048 Xpert 2000 Pro 5452 Rage 128 PRO Ultra4XL VR-R AGP 1002 001c Rage 128 Pro 4XL 103c 1279 Rage 128 Pro 4XL 5460 RV370/M22 [Mobility Radeon X300] 1775 1100 CR11/VR11 Single Board Computer 5461 RV370/M22 [Mobility Radeon X300] 5462 RV380/M24C [Mobility Radeon X600 SE] 5464 RV370/M22 GL [Mobility FireGL V3100] 5549 R423 [Radeon X800 GTO] 554a R423 [Radeon X800 XT Platinum Edition] 554b R423 [Radeon X800 GT/SE] 1002 0302 Radeon X800 SE 554d R480 [Radeon X800 GTO2/XL] 1002 0322 All-In-Wonder X800 XL 1458 2124 GV-R80L256V-B (AGP) 554e R430 [All-In-Wonder X800 GT] 554f R430 [Radeon X800] 5550 R423 GL [FireGL V7100] 5551 R423 GL [FireGL V5100] 5569 R423 [Radeon X800 PRO] (Secondary) 556b R423 [Radeon X800 GT] (Secondary) 556d R480 [Radeon X800 GTO2/XL] (Secondary) 1458 2125 GV-R80L256V-B (AGP) 556f R430 [Radeon X800] (Secondary) 5571 R423 GL [FireGL V5100] (Secondary) 564b RV410/M26 GL [Mobility FireGL V5000] 564f RV410/M26 [Mobility Radeon X700 XL] 5652 RV410/M26 [Mobility Radeon X700] 5653 RV410/M26 [Mobility Radeon X700] 1025 0080 Aspire 5024WLMi 103c 0940 Compaq NW8240 Mobile Workstation 5654 Mach64 VT [Video Xpression] 1002 5654 Mach64VT Reference 5655 264VT3 [Mach64 VT3] 5656 Mach64 VT4 [Video Xpression+] 5657 RV410 [Radeon X550 XTX / X700] 5830 RS300 Host Bridge 5831 RS300 Host Bridge 5832 RS300 Host Bridge 5833 RS300 Host Bridge 5834 RS300 [Radeon 9100 IGP] 5835 RS300M [Mobility Radeon 9100 IGP] 5838 RS300 AGP Bridge 5854 RS480 [Radeon Xpress 200 Series] (Secondary) 5874 RS480 [Radeon Xpress 1150] (Secondary) 5940 RV280 [Radeon 9200 PRO] (Secondary) 17af 2021 Excalibur Radeon 9250 (Secondary) 5941 RV280 [Radeon 9200] (Secondary) 1458 4019 Radeon 9200 174b 7c12 Radeon 9200 17af 200d Excalibur Radeon 9200 18bc 0050 GC-R9200-C3 (Secondary) 5944 RV280 [Radeon 9200 SE PCI] 5950 RS480/RS482/RS485 Host Bridge 1025 0080 Aspire 5024WLMMi 103c 280a DC5750 Microtower 103c 2a20 Pavilion t3030.de Desktop PC 103c 308b MX6125 1462 0131 MS-1013 Notebook 1462 7217 Aspire L250 5951 RX480/RX482 Host Bridge 5952 RD580 Host Bridge 5954 RS480 [Radeon Xpress 200 Series] 1002 5954 RV370 [Radeon Xpress 200G Series] 5955 RS480M [Mobility Radeon Xpress 200] 1002 5955 RS480 0x5955 [Radeon XPRESS 200M 5955 (PCIE)] 103c 308b MX6125 1462 0131 MS-1013 Notebook 5956 RD790 Host Bridge 5957 RX780/RX790 Host Bridge 1849 5957 A770CrossFire Motherboard 5958 RD780 Host Bridge 5960 RV280 [Radeon 9200 PRO / 9250] 17af 2020 Excalibur Radeon 9250 5961 RV280 [Radeon 9200] 1002 2f72 All-in-Wonder 9200 Series 1019 4c30 Radeon 9200 VIVO 12ab 5961 YUAN SMARTVGA Radeon 9200 1458 4018 Radeon 9200 174b 7c13 Radeon 9200 17af 200c Excalibur Radeon 9200 18bc 0050 Radeon 9200 Game Buster 18bc 0051 GC-R9200-C3 18bc 0053 Radeon 9200 Game Buster VIVO 5962 RV280 [Radeon 9200] 5964 RV280 [Radeon 9200 SE] 1002 5964 Radeon 9200 SE, 64-bit 128MB DDR, 200/166MHz 1043 c006 Radeon 9200 SE / TD / 128M 1458 4018 Radeon 9200 SE 1458 4032 Radeon 9200 SE 128MB 147b 6191 R9200SE-DT 148c 2073 CN-AG92E 174b 7c13 Radeon 9200 SE 1787 5964 Excalibur 9200SE VIVO 128M 17af 2012 Radeon 9200 SE Excalibur 18bc 0170 Sapphire Radeon 9200 SE 128MB Game Buster 18bc 0173 GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] 5965 RV280 GL [FireMV 2200 PCI] 5974 RS482/RS485 [Radeon Xpress 1100/1150] 103c 280a DC5750 Microtower 1462 7141 Aspire L250 5975 RS482M [Mobility Radeon Xpress 200] 5978 RX780/RD790 PCI to PCI bridge (external gfx0 port A) 1849 5957 A770CrossFire Motherboard 5979 RD790 PCI to PCI bridge (external gfx0 port B) 597a RD790 PCI to PCI bridge (PCI express gpp port A) 597b RX780/RD790 PCI to PCI bridge (PCI express gpp port B) 597c RD790 PCI to PCI bridge (PCI express gpp port C) 597d RX780/RD790 PCI to PCI bridge (PCI express gpp port D) 597e RD790 PCI to PCI bridge (PCI express gpp port E) 1849 5957 A770CrossFire Motherboard 597f RD790 PCI to PCI bridge (PCI express gpp port F) 1849 5957 A770CrossFire Motherboard 5980 RD790 PCI to PCI bridge (external gfx1 port A) 5981 RD790 PCI to PCI bridge (external gfx1 port B) 5982 RD790 PCI to PCI bridge (NB-SB link) 5a10 RD890 Northbridge only dual slot (2x16) PCI-e GFX Hydra part 5a11 RD890 Northbridge only single slot PCI-e GFX Hydra part 5a12 RD890 Northbridge only dual slot (2x8) PCI-e GFX Hydra part 15d9 a811 H8DGU 5a13 RD890S/SR5650 Host Bridge 5a14 RD9x0/RX980 Host Bridge 5a15 RD890 PCI to PCI bridge (PCI express gpp port A) 5a16 RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GFX port 0) 5a17 RD890/RD9x0 PCI to PCI bridge (PCI Express GFX port 1) 5a18 RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 0) 15d9 a811 H8DGU 5a19 RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 1) 5a1a RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 2) 5a1b RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 3) 5a1c RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 4) 5a1d RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 5) 5a1e RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP2 Port 0) 5a1f RD890/RD990 PCI to PCI bridge (PCI Express GFX2 port 0) 15d9 a811 H8DGU 5a20 RD890/RD990 PCI to PCI bridge (PCI Express GFX2 port 1) 5a23 RD890S/RD990 I/O Memory Management Unit (IOMMU) 5a31 RC410 Host Bridge 5a33 RS400 Host Bridge 5a34 RS4xx PCI Express Port [ext gfx] 5a36 RC4xx/RS4xx PCI Express Port 1 5a37 RC4xx/RS4xx PCI Express Port 2 5a38 RC4xx/RS4xx PCI Express Port 3 5a39 RC4xx/RS4xx PCI Express Port 4 5a3f RC4xx/RS4xx PCI Bridge [int gfx] 1462 7217 Aspire L250 5a41 RS400 [Radeon Xpress 200] 5a42 RS400M [Radeon Xpress 200M] 5a61 RC410 [Radeon Xpress 200/1100] 5a62 RC410M [Mobility Radeon Xpress 200M] 5b60 RV370 [Radeon X300] 1043 002a Extreme AX300SE-X 1043 032e Extreme AX300/TD 1458 2102 GV-RX30S128D (X300SE) 1462 0400 RX300SE-TD128E (MS-8940 REV:200) 1462 0402 RX300SE-TD128E (MS-8940) 174b 0500 Radeon X300 (PCIE) 196d 1086 X300SE HM 5b62 RV370 [Radeon X600/X600 SE] 5b63 RV370 [Radeon X300/X550/X1050 Series] 5b64 RV370 GL [FireGL V3100] 5b65 RV370 GL [FireMV 2200] 5b66 RV370X 5b70 RV370 [Radeon X300 SE] # RX300SE-TD128E 1462 0403 Radeon X300 SE 128MB DDR 174b 0501 Radeon X300 SE 196d 1087 Radeon X300 SE HyperMemory 5b72 RV380 [Radeon X300/X550/X1050 Series] (Secondary) 5b73 RV370 [Radeon X300/X550/X1050 Series] (Secondary) 5b74 RV370 GL [FireGL V3100] (Secondary) 5b75 RV370 GL [FireMV 2200] (Secondary) 5c61 RV280/M9+ [Mobility Radeon 9200 AGP] 5c63 RV280/M9+ [Mobility Radeon 9200 AGP] 1002 5c63 Apple iBook G4 2004 144d c00c P30 notebook 5d44 RV280 [Radeon 9200 SE] (Secondary) 1458 4019 Radeon 9200 SE (Secondary) 1458 4032 Radeon 9200 SE 128MB 147b 6190 R9200SE-DT (Secondary) 174b 7c12 Radeon 9200 SE (Secondary) 1787 5965 Excalibur 9200SE VIVO 128M (Secondary) 17af 2013 Radeon 9200 SE Excalibur (Secondary) 18bc 0171 Radeon 9200 SE 128MB Game Buster (Secondary) 18bc 0172 GC-R9200L(SE)-C3H [Radeon 9200 Game Buster] 5d45 RV280 GL [FireMV 2200 PCI] (Secondary) 5d48 R423/M28 [Mobility Radeon X800 XT] 5d49 R423/M28 GL [Mobility FireGL V5100] 5d4a R423/M28 [Mobility Radeon X800] 5d4d R480 [Radeon X850 XT Platinum Edition] 5d4e R480 [Radeon X850 SE] 5d4f R480 [Radeon X800 GTO] 5d50 R480 GL [FireGL V7200] 5d52 R480 [Radeon X850 XT] 1002 0b12 PowerColor X850XT PCIe (Primary) 5d57 R423 [Radeon X800 XT] 5d6d R480 [Radeon X850 XT Platinum Edition] (Secondary) 5d6f R480 [Radeon X800 GTO] (Secondary) 5d72 R480 [Radeon X850 XT] (Secondary) 1002 0b13 PowerColor X850XT PCIe (Secondary) 5d77 R423 [Radeon X800 XT] (Secondary) 5e48 RV410 GL [FireGL V5000] 5e49 RV410 [Radeon X700 Series] 5e4a RV410 [Radeon X700 XT] 5e4b RV410 [Radeon X700 PRO] 5e4c RV410 [Radeon X700 SE] 5e4d RV410 [Radeon X700] 148c 2116 Bravo X700 5e4f RV410 [Radeon X700] 1569 1e4f Radeon X550 XT 5e6b RV410 [Radeon X700 PRO] (Secondary) 5e6d RV410 [Radeon X700] (Secondary) 148c 2117 Bravo X700 (Secondary) 5f57 R423 [Radeon X800 XT] 6600 Mars [Radeon HD 8670A/8670M/8750M] 103c 1952 ProBook 455 G1 6601 Mars [Radeon HD 8730M] 103c 2100 FirePro M4100 6604 Opal XT [Radeon R7 M265/M365X/M465] 1025 0776 Aspire V5 Radeon R7 M265 103c 8006 FirePro M4170 103c 814f Litho XT [Radeon R7 M365X] 103c 82aa Litho XT [Radeon R7 M465] 17aa 3643 Radeon R7 A360 6605 Opal PRO [Radeon R7 M260X] 103c 2259 FirePro M4150 6606 Mars XTX [Radeon HD 8790M] 1028 0684 FirePro W4170M 6607 Mars LE [Radeon HD 8530M / R5 M240] 6608 Oland GL [FirePro W2100] 13cc 3d28 MXRT-2600 6610 Oland XT [Radeon HD 8670 / R7 250/350] 1019 0030 Radeon HD 8670 1028 2120 Radeon R7 250 1028 2322 Radeon R7 250 1462 2910 Radeon HD 8670 1462 2911 Radeon HD 8670 148c 7350 Radeon R7 350 1642 3c81 Radeon HD 8670 1642 3c91 Radeon HD 8670 1642 3f09 Radeon R7 350 6611 Oland [Radeon HD 8570 / R5 430 OEM / R7 240/340 / Radeon 520 OEM] 1028 210b Radeon R5 240 OEM 1642 1869 Radeon 520 OEM 174b 4248 Radeon R7 240 OEM 174b a240 Radeon R7 240 OEM 174b d340 Radeon R7 340 OEM 1b0a 90d3 Radeon R7 240 OEM 6613 Oland PRO [Radeon R7 240/340] 148c 7340 Radeon R7 340 1682 7240 R7 240 2048 MB 6631 Oland 6640 Saturn XT [FirePro M6100] 106b 014b Tropo XT [Radeon R9 M380 Mac Edition] 6641 Saturn PRO [Radeon HD 8930M] 6646 Bonaire XT [Radeon R9 M280X] 6647 Saturn PRO/XT [Radeon R9 M270X/M280X] 1043 223d N551ZU laptop Radeon R9 M280X 6649 Bonaire [FirePro W5100] 1002 0b0c FirePro W4300 103c 0b0c Bonaire [FirePro W4300] 103c 230c FirePro W5100 13cc 3d2a MXRT-5600 664d Bonaire [FirePro W5100 / Barco MXRT-5600] 6650 Bonaire 6651 Bonaire 6658 Bonaire XTX [Radeon R7 260X/360] 1043 048f R7260X-DC2OC-2GD5 1043 04d3 AMD Radeon R7 260X 148c 0907 Radeon R7 360 1682 0907 Radeon R7 360 1682 7360 Radeon R7 360 665c Bonaire XT [Radeon HD 7790/8770 / R7 360 / R9 260/360 OEM] 1043 0452 Radeon HD 7790 DirectCU II OC # R7790-1GD5/OC 1462 2930 Radeon HD 7790 OC 1462 2932 Radeon HD 8770 1462 2934 Radeon R9 260 OEM 1462 2938 Radeon R9 360 OEM 148c 0907 Radeon R7 360 148c 9260 Radeon R9 260 OEM 148c 9360 Radeon R9 360 OEM 1682 0907 Radeon R7 360 # FX-779A-CDB4 / FX-779A-CDBC 1682 3310 Radeon HD 7790 Black Edition 2 GB # 100356OCL / 11210-01-20G 174b e253 Radeon HD 7790 Dual-X OC 1787 2329 Radeon HD 7790 TurboDuo 665d Bonaire [Radeon R7 200 Series] 665f Tobago PRO [Radeon R7 360 / R9 360 OEM] 1028 0b04 Radeon R9 360 OEM 1462 2938 Radeon R9 360 OEM 1462 3271 Radeon R9 360 OEM 1682 7360 Radeon R7 360 6660 Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / Radeon 520 Mobile] 1028 05ea Radeon HD 8670M 1028 06bf Radeon R5 M335 103c 1970 Radeon HD 8670M 103c 80be Radeon R5 M330 103c 8136 Radeon R5 M330 103c 8329 Radeon R7 M520 17aa 3633 Radeon R5 A330 17aa 3804 Radeon R5 M330 17aa 3809 Radeon R5 M330 17aa 381a Radeon R5 M430 17aa 390c Radeon R5 M330 6663 Sun PRO [Radeon HD 8570A/8570M] 1025 0846 Radeon HD 8570A 17aa 3805 Radeon HD 8570M 6664 Jet XT [Radeon R5 M240] 6665 Jet PRO [Radeon R5 M230 / R7 M260DX / Radeon 520 Mobile] 17aa 1309 Z50-75 Radeon R7 M260DX 17aa 368f Radeon R5 A230 6667 Jet ULT [Radeon R5 M230] 666f Sun LE [Radeon HD 8550M / R5 M230] 66a0 Vega 20 [Radeon Instinct] 66a1 Vega 20 66a2 Vega 20 66a3 Vega 20 66a7 Vega 20 [Radeon Pro Vega 20] 66af Vega 20 [Radeon VII] 6704 Cayman PRO GL [FirePro V7900] 6707 Cayman LE GL [FirePro V5900] 6718 Cayman XT [Radeon HD 6970] 6719 Cayman PRO [Radeon HD 6950] 671c Antilles [Radeon HD 6990] 671d Antilles [Radeon HD 6990] 671f Cayman CE [Radeon HD 6930] 6720 Blackcomb [Radeon HD 6970M/6990M] 1028 048f Radeon HD 6990M 1028 0490 Alienware M17x R3 Radeon HD 6970M 1028 04a4 FirePro M8900 1028 04ba Radeon HD 6990M 1028 053f FirePro M8900 106b 0b00 Radeon HD 6970M 1558 5102 Radeon HD 6970M 1558 5104 Radeon HD 6990M 1558 7201 Radeon HD 6990M 174b e188 Radeon HD 6970M 6738 Barts XT [Radeon HD 6870] # HD-687A-ZDFC 1682 3103 Radeon HD 8670 1787 201a Barts XT [Radeon HD 6870 X2] 1787 201b Barts XT [Radeon HD 6870 X2] 6739 Barts PRO [Radeon HD 6850] 1043 03b4 EAH6850 [Radeon HD 6850] 673e Barts LE [Radeon HD 6790] 148c 7720 Radeon HD 7720 OEM 6740 Whistler [Radeon HD 6730M/6770M/7690M XT] 1019 238c Radeon HD 6730M 1019 238e Radeon HD 6730M 1019 2391 Radeon HD 6730M 1019 2392 Radeon HD 6770M 1028 04a3 Precision M4600 1028 053e FirePro M5950 103c 1630 FirePro M5950 103c 1631 FirePro M5950 103c 164b Radeon HD 6730M 103c 164e Radeon HD 6730M 103c 1657 Radeon HD 6770M 103c 1658 Radeon HD 6770M 103c 165a Radeon HD 6770M 103c 165b Radeon HD 6770M 103c 1688 Radeon HD 6770M 103c 1689 Radeon HD 6770M 103c 168a Radeon HD 6770M 103c 185e Radeon HD 7690M XT 103c 3388 Radeon HD 6770M 103c 3389 Radeon HD 6770M 103c 3582 Radeon HD 6770M 103c 366c Radeon HD 6730M 1043 1d02 Radeon HD 6730M 1043 1d12 Radeon HD 6730M 104d 9084 Radeon HD 6730M 104d 9085 Radeon HD 6730M 144d b074 Radeon HD 6730M 144d b077 Radeon HD 6730M 144d b084 Radeon HD 6730M 144d b088 Radeon HD 6730M 17aa 3982 Radeon HD 6730M 6741 Whistler [Radeon HD 6630M/6650M/6750M/7670M/7690M] 1019 238e Radeon HD 6650M 1019 238f Radeon HD 6650M 1025 0379 Radeon HD 6650M 1025 037b Radeon HD 6650M 1025 037e Radeon HD 6650M 1025 0382 Radeon HD 6650M 1025 0384 Radeon HD 6650M 1025 0385 Radeon HD 6650M 1025 0386 Radeon HD 6650M 1025 0387 Radeon HD 6650M 1025 0388 Radeon HD 6650M 1025 0442 Radeon HD 6650M 1025 0451 Radeon HD 6650M 1025 0489 Radeon HD 6650M 1025 048b Radeon HD 6650M 1025 048c Radeon HD 6650M 1025 050a Radeon HD 6650M 1025 050b Radeon HD 6650M 1025 050c Radeon HD 6650M 1025 050e Radeon HD 6650M 1025 050f Radeon HD 6650M 1025 0513 Radeon HD 6650M 1025 0514 Radeon HD 6650M 1025 0515 Radeon HD 6650M 1025 0516 Radeon HD 6650M 1025 051e Radeon HD 6650M 1025 051f Radeon HD 6650M 1025 0520 Radeon HD 6650M 1025 0521 Radeon HD 6650M 1025 052a Radeon HD 6650M 1025 0555 Radeon HD 6650M 1025 0556 Radeon HD 6650M 1025 055d Radeon HD 6650M 1025 055e Radeon HD 6650M 1025 056d Radeon HD 6650M 1025 059a Radeon HD 6650M 1025 059b Radeon HD 6650M 1025 059e Radeon HD 6650M 1025 059f Radeon HD 6650M 1025 0600 Radeon HD 6650M 1025 0605 Radeon HD 6650M 1025 0606 Radeon HD 6650M 1025 0619 Radeon HD 6650M 1028 04c1 Radeon HD 6630M 1028 04c5 Radeon HD 6630M 1028 04cd Radeon HD 6630M 1028 04d7 Radeon HD 6630M 1028 04d9 Radeon HD 6630M 1028 052d Radeon HD 6630M 103c 1617 Radeon HD 6650M 103c 1646 Radeon HD 6750M 103c 1647 Radeon HD 6650M 103c 164b Radeon HD 6650M 103c 164e Radeon HD 6650M 103c 1688 Radeon HD 6750M 103c 1689 Radeon HD 6750M 103c 168a Radeon HD 6750M 103c 1860 Radeon HD 7690M 103c 3385 Radeon HD 6630M 103c 3560 Radeon HD 6750M 103c 358d Radeon HD 6750M 103c 3590 Radeon HD 6750M 103c 3593 Radeon HD 6750M 103c 366c Radeon HD 6650M 1043 1cd2 Radeon HD 6650M 1043 2121 Radeon HD 6650M 1043 2122 Radeon HD 6650M 1043 2123 Radeon HD 6650M 1043 2125 Radeon HD 7670M 1043 2127 Radeon HD 7670M 104d 907b Radeon HD 6630M 104d 9080 Radeon HD 6630M 104d 9081 Radeon HD 6630M 106b 00e2 MacBookPro8,2 [Core i7, 15", Late 2011] 1179 fd63 Radeon HD 6630M 1179 fd65 Radeon HD 6630M 144d c093 Radeon HD 6650M 144d c0ac Radeon HD 6650M 144d c0b3 Radeon HD 6750M 144d c539 Radeon HD 6630M 144d c609 Radeon HD 6630M 152d 0914 Radeon HD 6650M 17aa 21e1 Radeon HD 6630M 17aa 3970 Radeon HD 6650M 17aa 3976 Radeon HD 6650M 1854 0907 Radeon HD 6650M 6742 Whistler LE [Radeon HD 6610M/7610M] 1002 6570 Turks [Radeon HD 6570] 1019 2393 Radeon HD 6610M 1043 1d82 K53SK Laptop Radeon HD 7610M 1179 fb22 Radeon HD 7610M 1179 fb23 Radeon HD 7610M 1179 fb27 Radeon HD 7610M 1179 fb2a Radeon HD 7610M 1179 fb2c Radeon HD 7610M 1179 fb30 Radeon HD 7610M 1179 fb31 Radeon HD 7610M 1179 fb32 Radeon HD 7610M 1179 fb38 Radeon HD 7610M 1179 fb39 Radeon HD 7610M 1179 fb3a Radeon HD 7610M 1179 fb3b Radeon HD 7610M 1179 fb40 Radeon HD 7610M 1179 fb41 Radeon HD 7610M 1179 fb47 Radeon HD 7610M 1179 fb48 Radeon HD 7610M 1179 fb49 Radeon HD 7610M 1179 fb51 Radeon HD 7610M 1179 fb52 Radeon HD 7610M 1179 fb53 Radeon HD 7610M 1179 fb56 Radeon HD 7610M 1179 fb81 Radeon HD 7610M 1179 fb82 Radeon HD 7610M 1179 fb83 Radeon HD 7610M 1179 fc56 Radeon HD 7610M 1179 fcd4 Radeon HD 7610M 1179 fcee Radeon HD 7610M 1458 6570 Turks [Radeon HD 6570] 1462 6570 Turks [Radeon HD 6570] 148c 6570 Turks [Radeon HD 6570] 1682 6570 Turks [Radeon HD 6570] 174b 5570 Turks [Radeon HD 5570] 174b 6570 Turks [Radeon HD 6570] 174b 7570 Turks [Radeon HD 7570] 174b 8510 Turks [Radeon HD 8510] 174b 8570 Turks [Radeon HD 8570] 1787 6570 Turks [Radeon HD 6570] 17af 6570 Turks [Radeon HD 6570] 8086 2111 Radeon HD 6625M 6743 Whistler [Radeon E6760] 6749 Turks GL [FirePro V4900] 15c3 2b06 MED-X4900 674a Turks GL [FirePro V3900] 13cc 3d22 MXRT-2500 15c3 0106 MED-X3900 6750 Onega [Radeon HD 6650A/7650A] 1462 2670 Radeon HD 6670A 17aa 3079 Radeon HD 7650A 17aa 307a Radeon HD 6650A 17aa 3087 Radeon HD 7650A 17aa 3618 Radeon HD 6650A 17aa 3623 Radeon HD 6650A 17aa 3627 Radeon HD 6650A 6751 Turks [Radeon HD 7650A/7670A] 1028 0548 Radeon HD 7650A 1462 2671 Radeon HD 7670A 1462 2672 Radeon HD 7670A 1462 2680 Radeon HD 7650A 1462 2681 Radeon HD 7650A 17aa 3087 Radeon HD 7650A 6758 Turks XT [Radeon HD 6670/7670] 1028 0b0e Radeon HD 6670 103c 6882 Radeon HD 6670 1462 250a Radeon HD 7670 148c 7670 Radeon HD 7670 1545 7670 Radeon HD 7670 1682 3300 Radeon HD 7670 174b 7670 Radeon HD 7670 174b e181 Radeon HD 6670 1787 2309 Radeon HD 6670 6759 Turks PRO [Radeon HD 6570/7570/8550] 103c 3130 Radeon HD 6570 1043 0403 Radeon HD 6570 1462 2500 Radeon HD 6570 1462 2509 Radeon HD 7570 148c 7570 Radeon HD 7570 1642 3a67 Radeon HD 6570 1682 3280 Radeon HD 7570 1682 3530 Radeon HD 8550 174b 7570 Radeon HD 7570 174b e142 Radeon HD 6570 174b e181 Radeon HD 6570 1b0a 908f Radeon HD 6570 1b0a 9090 Radeon HD 6570 1b0a 9091 Radeon HD 6570 1b0a 9092 Radeon HD 6570 1b0a 909e Radeon HD 6570 1b0a 90b5 Radeon HD 7570 1b0a 90b6 Radeon HD 7570 675b Turks [Radeon HD 7600 Series] 675d Turks PRO [Radeon HD 7570] 675f Turks LE [Radeon HD 5570/6510/7510/8510] 148c 6510 Radeon HD 6510 148c 6530 Radeon HD 6530 148c 7510 Radeon HD 7510 1545 7570 Radeon HD 7570 174b 6510 Radeon HD 6510 174b 7510 Radeon HD 7510 174b 8510 Radeon HD 8510 1787 2012 Radeon HD 5570 2GB GDDR3 1787 2314 Radeon HD 5570 1GB DDR2/GDDR3 6760 Seymour [Radeon HD 6400M/7400M Series] 1002 0124 Radeon HD 6470M 1002 0134 Radeon HD 6470M 1019 238b Radeon HD 6470M 1019 238e Radeon HD 6470M 1019 2390 Radeon HD 6470M 1019 9985 Radeon HD 6470M 1028 04c1 Radeon HD 6470M 1028 04c3 Radeon HD 6470M 1028 04ca Radeon HD 6470M 1028 04cb Radeon HD 6470M 1028 04cc Vostro 3350 1028 04d1 Radeon HD 6470M 1028 04d3 Radeon HD 6470M 1028 04d7 Radeon HD 6470M 1028 0502 Radeon HD 6470M 1028 0503 Radeon HD 6470M 1028 0506 Radeon HD 6470M 1028 0507 Radeon HD 6470M 1028 0514 Radeon HD 6470M 1028 051c Radeon HD 6450M 1028 051d Radeon HD 6450M 103c 161a Radeon HD 6470M 103c 161b Radeon HD 6470M 103c 161e Radeon HD 6470M 103c 161f Radeon HD 6470M 103c 1622 Radeon HD 6450M 103c 1623 Radeon HD 6450M 103c 164a Radeon HD 6470M 103c 164d Radeon HD 6470M 103c 1651 Radeon HD 6470M 103c 1656 Radeon HD 6490M 103c 1658 Radeon HD 6490M 103c 1659 Radeon HD 6490M 103c 165b Radeon HD 6490M 103c 165d Radeon HD 6470M 103c 165f Radeon HD 6470M 103c 1661 Radeon HD 6470M 103c 1663 Radeon HD 6470M 103c 1665 Radeon HD 6470M 103c 1667 Radeon HD 6470M 103c 1669 Radeon HD 6470M 103c 166b Radeon HD 6470M 103c 166c Radeon HD 6470M 103c 166e Radeon HD 6470M 103c 1670 Radeon HD 6470M 103c 1672 Radeon HD 6470M 103c 167a Radeon HD 6470M 103c 167b Radeon HD 6470M 103c 167d Radeon HD 6490M 103c 167f Radeon HD 6490M 103c 168c Radeon HD 6470M 103c 168f Radeon HD 6470M 103c 1694 Radeon HD 6470M 103c 1696 Radeon HD 6470M 103c 1698 Radeon HD 6470M 103c 169a Radeon HD 6470M 103c 169c Radeon HD 6490M 103c 1855 Radeon HD 7450M 103c 1859 Radeon HD 7450M 103c 185c Radeon HD 7450M 103c 185d Radeon HD 7470M 103c 185f Radeon HD 7470M 103c 1863 Radeon HD 7450M 103c 355c Radeon HD 6490M 103c 355f Radeon HD 6490M 103c 3563 Radeon HD 6470M 103c 3565 Radeon HD 6470M 103c 3567 Radeon HD 6470M 103c 3569 Radeon HD 6470M 103c 3581 Radeon HD 6490M 103c 3584 Radeon HD 6470M 103c 358c Radeon HD 6490M 103c 358f Radeon HD 6490M 103c 3592 Radeon HD 6490M 103c 3596 Radeon HD 6490M 103c 366b Radeon HD 6470M 103c 3671 FirePro M3900 103c 3673 Radeon HD 6470M 1043 100a Radeon HD 7470M 1043 100c Radeon HD 6470M 1043 101b Radeon HD 6470M 1043 101c Radeon HD 6470M 1043 102a Radeon HD 7450M 1043 102c Radeon HD 6470M 1043 104b Radeon HD 7470M 1043 105d Radeon HD 7470M 1043 106b Radeon HD 7470M 1043 106d Radeon HD 7470M 1043 107d Radeon HD 7470M 1043 1cb2 Radeon HD 6470M 1043 1d22 Radeon HD 6470M 1043 1d32 Radeon HD 6470M 1043 2001 Radeon HD 6470M 1043 2002 Radeon HD 7470M 1043 2107 Radeon HD 7470M 1043 2108 Radeon HD 7470M 1043 2109 Radeon HD 7470M 1043 84a0 Radeon HD 6470M 1043 84e9 Radeon HD 6470M 1043 8515 Radeon HD 7470M 1043 8517 Radeon HD 7470M 1043 855a Radeon HD 7470M 104d 907b Radeon HD 6470M 104d 9081 Radeon HD 6470M 104d 9084 Radeon HD 6470M 104d 9085 Radeon HD 6470M 1179 0001 Radeon HD 6450M 1179 0003 Radeon HD 6450M 1179 0004 Radeon HD 6450M 1179 fb22 Radeon HD 7470M 1179 fb23 Radeon HD 7470M 1179 fb2c Radeon HD 7470M 1179 fb31 Radeon HD 7470M 1179 fb32 Radeon HD 7470M 1179 fb33 Radeon HD 7470M 1179 fb38 Radeon HD 7470M 1179 fb39 Radeon HD 7470M 1179 fb3a Radeon HD 7470M 1179 fb40 Radeon HD 7470M 1179 fb41 Radeon HD 7470M 1179 fb42 Radeon HD 7470M 1179 fb47 Radeon HD 7470M 1179 fb48 Radeon HD 7470M 1179 fb51 Radeon HD 7470M 1179 fb52 Radeon HD 7470M 1179 fb53 Radeon HD 7470M 1179 fb81 Radeon HD 7470M 1179 fb82 Radeon HD 7470M 1179 fb83 Radeon HD 7470M 1179 fc51 Radeon HD 6470M 1179 fc52 Radeon HD 7470M 1179 fc56 Radeon HD 7470M 1179 fcd3 Radeon HD 7470M 1179 fcd4 Radeon HD 7470M 1179 fcee Radeon HD 7470M 1179 fdee Radeon HD 7470M 144d b074 Radeon HD 6470M 144d b084 Radeon HD 6470M 144d c095 Radeon HD 6470M 144d c0b3 Radeon HD 6490M 144d c538 Radeon HD 6470M 144d c581 Radeon HD 6470M 144d c589 Radeon HD 6470M 144d c609 Radeon HD 7470M 144d c625 Radeon HD 7470M 144d c636 Radeon HD 7450M 1462 10ac Radeon HD 6470M 152d 0916 Radeon HD 6470M 17aa 21e5 Radeon HD 6470M 17aa 3900 Radeon HD 7450M 17aa 3902 Radeon HD 7450M 17aa 3969 Radeon HD 6470M 17aa 3970 Radeon HD 7450M 17aa 3976 Radeon HD 6470M 17aa 397b Radeon HD 6470M 17aa 397d Radeon HD 6470M 17aa 5101 Radeon HD 7470M 17aa 5102 Radeon HD 7450M 17aa 5103 Radeon HD 7450M 17aa 5106 Radeon HD 7450M 1854 0897 Radeon HD 6470M 1854 0900 Radeon HD 6470M 1854 0908 Radeon HD 6470M 1854 2015 Radeon HD 6470M 6761 Seymour LP [Radeon HD 6430M] 6763 Seymour [Radeon E6460] 6764 Seymour [Radeon HD 6400M Series] 6765 Seymour [Radeon HD 6400M Series] 6766 Caicos 6767 Caicos 6768 Caicos 6770 Caicos [Radeon HD 6450A/7450A] 17aa 308d Radeon HD 7450A 17aa 3623 Radeon HD 6450A 17aa 3627 Radeon HD 6450A 17aa 3629 Radeon HD 6450A 17aa 363c Radeon HD 6450A 17aa 3658 Radeon HD 7470A 6771 Caicos XTX [Radeon HD 8490 / R5 235X OEM] 6772 Caicos [Radeon HD 7450A] 6778 Caicos XT [Radeon HD 7470/8470 / R5 235/310 OEM] 1019 0024 Radeon HD 7470 1019 0027 Radeon HD 8470 1028 2120 Radeon HD 7470 1462 b491 Radeon HD 8470 1462 b492 Radeon HD 8470 1462 b493 Radeon HD 8470 OEM 1462 b499 Radeon R5 235 OEM 1642 3c65 Radeon HD 8470 1642 3c75 Radeon HD 8470 174b 8145 Radeon HD 8470 174b d145 Radeon R5 235 OEM 174b d335 Radeon R5 310 OEM 174b e145 Radeon HD 7470 17aa 3694 Radeon R5 A220 6779 Caicos [Radeon HD 6450/7450/8450 / R5 230 OEM] 1019 0016 Radeon HD 6450 1019 0017 Radeon HD 6450 1019 0018 Radeon HD 6450 1028 2120 Radeon HD 6450 103c 2128 Radeon HD 6450 103c 2aee Radeon HD 7450A 1092 6450 Radeon HD 6450 1462 2125 Radeon HD 6450 1462 2346 Radeon HD 7450 1462 2490 Radeon HD 6450 1462 2494 Radeon HD 6450 1462 2496 Radeon HD 7450 148c 7450 Radeon HD 7450 148c 8450 Radeon HD 8450 OEM 1545 7470 Radeon HD 7470 1642 3a65 Radeon HD 6450 1642 3a66 Radeon HD 7450 1642 3a75 Radeon HD 6450 1642 3a76 Radeon HD 7450 1682 3200 Radeon HD 7450 174b 7450 Radeon HD 7450 174b e127 Radeon HD 6450 174b e153 Radeon HD 6450 174b e164 Radeon HD 6450 1 GB DDR3 174b e180 Radeon HD 6450 174b e201 Radeon HD 6450 17af 8450 Radeon HD 8450 OEM 1b0a 9096 Radeon HD 6450 1b0a 9097 Radeon HD 6450 1b0a 90a8 Radeon HD 6450A 1b0a 90b1 Radeon HD 6450 1b0a 90b3 Radeon HD 7450A 1b0a 90bb Radeon HD 7450A 677b Caicos PRO [Radeon HD 7450] 6780 Tahiti XT GL [FirePro W9000] 6784 Tahiti [FirePro Series Graphics Adapter] 6788 Tahiti [FirePro Series Graphics Adapter] 678a Tahiti PRO GL [FirePro Series] 1002 030c FirePro W8000 1002 0310 FirePro S9000 1002 0420 Radeon Sky 700 1002 0422 Radeon Sky 900 1002 0710 FirePro S9050 1002 0b0e FirePro S10000 Passive 1002 0b2a FirePro S10000 1028 030c FirePro W8000 1028 0710 FirePro S9000 6798 Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X] 1002 3000 Tahiti XT2 [Radeon HD 7970 GHz Edition] 1002 3001 Tahiti XTL [Radeon R9 280X] 1002 4000 Radeon HD 8970 OEM 1043 041c HD 7970 DirectCU II 1043 0420 HD 7970 DirectCU II TOP 1043 0444 HD 7970 DirectCU II TOP 1043 0448 HD 7970 DirectCU II TOP 1043 044a Tahiti XT2 [Matrix HD 7970] 1043 044c Tahiti XT2 [Matrix HD 7970 Platinum] 1043 3001 Tahiti XTL [ROG Matrix R9 280X] 1043 3006 Tahiti XTL [Radeon R9 280X DirectCU II TOP] 1043 9999 ARES II 106b 0127 FirePro D700 106b 0128 FirePro D700 1092 3000 Tahiti XT2 [Radeon HD 7970 GHz Edition] 1458 2261 Tahiti XT2 [Radeon HD 7970 GHz Edition OC] # GV-R928XOC-3GD 1458 3001 Tahiti XTL [Radeon R9 280X OC] 1462 2774 HD 7970 TwinFrozr III Boost Edition OC 1682 3001 Tahiti XTL [Radeon R9 280X] 1682 3211 Double D HD 7970 Black Edition # FX-797A-TNBC 1682 3213 HD 7970 Black Edition 1682 3214 Double D HD 7970 1787 201c HD 7970 IceQ X² # Radeon HD 7970 X2 1787 2317 Radeon HD 7990 1787 3000 Tahiti XT2 [Radeon HD 7970 GHz Edition] 679a Tahiti PRO [Radeon HD 7950/8950 OEM / R9 280] 1002 0b01 Radeon HD 8950 OEM 1002 3000 Tahiti PRO2 [Radeon HD 7950 Boost] 1462 3000 Radeon HD 8950 OEM 174b a003 Radeon R9 280 679b Malta [Radeon HD 7990/8990 OEM] 1002 0b28 Radeon HD 8990 OEM 1002 0b2a Radeon HD 7990 1462 8036 Radeon HD 8990 OEM 148c 8990 Radeon HD 8990 OEM 679e Tahiti LE [Radeon HD 7870 XT] 106b 0125 FirePro D500 106b 0126 FirePro D500 1787 2328 Radeon HD 7870 Black Edition 2 GB GDDR5 [2GBD5-2DHV3E] 679f Tahiti 67a0 Hawaii XT GL [FirePro W9100] 1002 0335 FirePro S9150 1002 0735 FirePro S9170 1028 031f FirePro W9100 1028 0335 FirePro S9150 67a1 Hawaii PRO GL [FirePro W8100] 1002 0335 FirePro S9100 1028 0335 FirePro S9100 67a2 Hawaii GL 67a8 Hawaii 67a9 Hawaii 67aa Hawaii 67b0 Hawaii XT / Grenada XT [Radeon R9 290X/390X] 1028 0b00 Grenada XT [Radeon R9 390X] 103c 6566 Radeon R9 390X 1043 046a R9 290X DirectCU II 1043 046c R9 290X DirectCU II OC 1043 0474 Matrix R9 290X Platinum 1043 0476 ARES III 1043 04d7 Radeon R9 390X 1043 04db Radeon R9 390X 1043 04df Radeon R9 390X 1043 04e9 Radeon R9 390X 1458 227c R9 290X WindForce 3X OC 1458 2281 R9 290X WindForce 3X OC 1458 228c R9 290X WindForce 3X 1458 228d R9 290X WindForce 3X OC 1458 2290 R9 290X WindForce 3X 1458 22bc Radeon R9 390X 1458 22c1 Grenada PRO [Radeon R9 390] 1462 2015 Radeon R9 390X 1462 3070 R9 290X Lightning 1462 3071 R9 290X Lightning 1462 3072 R9 290X Lightning LE 1462 3080 R9 290X Gaming 1462 3082 R9 290X Gaming OC 148c 2347 Devil 13 Dual Core R9 290X 148c 2357 Grenada XT [Radeon R9 390X] 1682 9290 Double Dissipation R9 290X 1682 9395 Grenada XT [Radeon R9 390X] 174b 0e34 Radeon R9 390X 174b e282 Vapor-X R9 290X Tri-X OC 174b e285 R9 290X Tri-X OC 174b e324 Grenada XT2 [Radeon R9 390X] 1787 2020 R9 290X IceQ X² Turbo 1787 2357 Grenada XT [Radeon R9 390X] 67b1 Hawaii PRO [Radeon R9 290/390] 1043 04dd STRIX R9 390 148c 2358 Radeon R9 390 174b e324 Sapphire Nitro R9 390 67b9 Vesuvius [Radeon R9 295X2] 67be Hawaii LE 67c0 Ellesmere [Radeon Pro WX 7100 Mobile] 67c2 Ellesmere [Radeon Pro V7300X / V7350x2] 67c4 Ellesmere [Radeon Pro WX 7100] 1002 0336 Radeon Pro Duo 1002 1336 Radeon Pro Duo 67c7 Ellesmere [Radeon Pro WX 5100] 67ca Ellesmere [Polaris10] 67cc Ellesmere [Polaris10] 67cf Ellesmere [Polaris10] 67d0 Ellesmere [Radeon Pro V7300X / V7350x2] 67d7 Ellesmere [Radeon Pro WX 5100 / Barco MXRT-6700] 67df Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] 1002 0b37 Radeon RX 480 1028 1722 Radeon RX 570X 1028 1723 Radeon RX 580X # OEM card found in desktops sold by HP. 103c 840e Radeon RX 580 4GB 1043 04a8 Radeon RX 480 1043 04b0 Radeon RX 470 1043 04fb Radeon RX 480 1043 04fd Radeon RX 480 8GB 1043 056a Radeon RX 590 106b 0161 Radeon Pro 580 106b 0162 Radeon Pro 575 106b 0163 Radeon Pro 570 1458 22f0 Radeon RX 570 1458 22f7 Radeon RX 570 Gaming 4G 1462 3411 Radeon RX 470 1462 3413 Radeon RX 480 Gaming X 8GB 1462 3416 Radeon RX 570 1462 3418 Radeon RX 580 Armor 4G OC 1462 341b Radeon RX 570 Armor 8G OC 1462 341e Radeon RX 570 Armor 4G OC 1462 8a92 Radeon RX 580 148c 2372 Radeon RX 480 [Red Dragon] 148c 2373 Radeon RX 470 148c 2377 Red Devil RX 580 8G Golden # https://www.techpowerup.com/vgabios/?manufacturer=Powercolor&model=RX+580 148c 2378 Radeon RX 580 148c 2379 Radeon RX 570 4G [Red Dragon] 1682 9470 Radeon RX 470 1682 9480 Radeon RX 480 1682 9588 Radeon RX 580 XTR 1682 c570 Radeon RX 570 1682 c580 Radeon RX 580 174b e347 Radeon RX 470/480 174b e349 Radeon RX 470 1787 a470 Radeon RX 470 1787 a480 Radeon RX 480 1849 5001 Phantom Gaming X RX 580 OC 1849 5030 Phantom Gaming D Radeon RX580 8G OC 1da2 e353 Radeon RX 570 Pulse 4GB 1da2 e366 Nitro+ Radeon RX 570/580/590 1da2 e387 Radeon RX 570 Pulse 4GB 67e0 Baffin [Radeon Pro WX 4170] 103c 8270 Radeon Pro WX 4170 103c 8272 Radeon Pro WX 4170 67e1 Baffin [Polaris11] 67e3 Baffin [Radeon Pro WX 4100] 67e8 Baffin [Radeon Pro WX 4130/4150] 1028 075d Radeon Pro WX 4150 1028 07b0 Radeon Pro WX 4130/4150 1028 07b1 Radeon Pro WX 4130 1028 175d Radeon Pro WX 4150 1028 17b0 Radeon Pro WX 4130/4150 1028 17b1 Radeon Pro WX 4130 103c 8275 Radeon Pro WX 4150 103c 8277 Radeon Pro WX 4150 67e9 Baffin [Polaris11] 67eb Baffin [Radeon Pro V5300X] 67ef Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X] 1025 1367 RX560X 4GB 1028 1703 RX 560D OEM OC 2 GB 103c 3421 Radeon RX 460 1043 0561 AREZ Radeon RX 560 106b 0160 Radeon Pro 460 106b 0166 Radeon Pro 455 106b 0167 Radeon Pro 450 106b 0179 Radeon Pro 560 106b 017a Radeon Pro 555 106b 018f Radeon Pro 560X 106b 0190 Radeon Pro 555X 1642 1727 Polaris 21 XL [Radeon RX 560D] 1682 956d Polaris 21 XL [Radeon RX 560D] 67ff Baffin [Radeon RX 550 640SP / RX 560/560X] 1002 0b04 Radeon RX 560 1028 1721 Radeon RX 560X 1028 1726 Radeon RX 560DX 103c 8479 Radeon RX 560X Mobile 1043 04bc Radeon RX 560 1043 052f Radeon RX 560 1458 22ed Radeon RX 560 148c 2381 Radeon RX 560 1682 9560 Radeon RX 560 1da2 e348 Radeon RX 560 1da2 e367 Radeon RX 550 640SP 6800 Wimbledon XT [Radeon HD 7970M] 1002 0124 Radeon HD 7970M 8086 2110 Radeon HD 7970M 8086 2111 Radeon HD 7970M 6801 Neptune XT [Radeon HD 8970M] 1002 0124 Radeon HD 8970M 1462 1117 Radeon R9 M290X 8086 2110 Radeon HD 8970M 8086 2111 Radeon HD 8970M 6802 Wimbledon 6806 Neptune 6808 Pitcairn XT GL [FirePro W7000] 1002 0310 FirePro S7000 1002 0420 Radeon Sky 500 103c 030c MED-X7000 13cc 3d25 MXRT-7500 15c3 030c MED-X7000 6809 Pitcairn LE GL [FirePro W5000] 13cc 3d23 MXRT-5500 13cc 3d24 MXRT-5550 15c3 0b06 MED-X5000 6810 Curacao XT / Trinidad XT [Radeon R7 370 / R9 270X/370X] 106b 012a FirePro D300 106b 012b FirePro D300 148c 0908 Radeon R9 370 OEM 1682 7370 Radeon R7 370 6811 Curacao PRO [Radeon R7 370 / R9 270/370 OEM] 1028 0b00 Trinidad PRO [Radeon R9 370 OEM] 1043 2016 Trinidad PRO [Radeon R9 370 OEM] 1458 2016 Trinidad PRO [Radeon R9 370 OEM] 1462 2016 Trinidad PRO [Radeon R9 370 OEM] 1462 3050 R9 270 Gaming OC 148c 2016 Trinidad PRO [Radeon R9 370 OEM] 1682 2015 Trinidad PRO [Radeon R7 370] 174b 2015 NITRO Radeon R7 370 174b 2016 Trinidad PRO [Radeon R9 370 OEM] 1787 2016 Trinidad PRO [Radeon R9 370 OEM] 6816 Pitcairn 6817 Pitcairn 6818 Pitcairn XT [Radeon HD 7870 GHz Edition] 1002 0b05 Radeon HD 8870 OEM 174b 8b04 Radeon HD 8860 6819 Pitcairn PRO [Radeon HD 7850 / R7 265 / R9 270 1024SP] 1043 042c Radeon HD 7850 1682 7269 Radeon R9 270 1024SP 1682 9278 Radeon R9 270 1024SP 174b a008 Radeon R9 270 1024SP 174b e221 Radeon HD 7850 2GB GDDR5 DVI-I/DVI-D/HDMI/DP 6820 Venus XTX [Radeon HD 8890M / R9 M275X/M375X] 103c 1851 Radeon HD 7750M 17aa 3643 Radeon R9 A375 17aa 3801 Radeon R9 M275 17aa 3824 Radeon R9 M375 1da2 e26a Radeon R7 250 6821 Venus XT [Radeon HD 8870M / R9 M270X/M370X] 1002 031e FirePro SX4000 1028 05cc FirePro M5100 1028 15cc FirePro M5100 106b 0149 Radeon R9 M370X Mac Edition 6822 Venus PRO [Radeon E8860] 6823 Venus PRO [Radeon HD 8850M / R9 M265X] 6825 Heathrow XT [Radeon HD 7870M] 1028 053f FirePro M6000 1028 05cd FirePro M6000 1028 15cd FirePro M6000 103c 176c FirePro M6000 8086 2111 Chelsea PRO 6826 Chelsea LP [Radeon HD 7700M Series] 6827 Heathrow PRO [Radeon HD 7850M/8850M] 6828 Cape Verde PRO [FirePro W600] 15c3 2b1e MED-X6000 6829 Cape Verde 682a Venus PRO 682b Cape Verde PRO / Venus LE / Tropo PRO-L [Radeon HD 8830M / R7 250 / R7 M465X] 0128 079c Radeon R7 465X 1462 3012 Radeon R7 250 682c Cape Verde GL [FirePro W4100] 682d Chelsea XT GL [FirePro M4000] 682f Chelsea LP [Radeon HD 7730M] 103c 1851 Radeon HD 7750M 6835 Cape Verde PRX [Radeon R9 255 OEM] 6837 Cape Verde LE [Radeon HD 7730/8730] 1462 2796 Radeon HD 8730 1462 8092 Radeon HD 8730 148c 8730 Radeon HD 8730 1787 3000 Radeon HD 6570 683d Cape Verde XT [Radeon HD 7770/8760 / R7 250X] 1002 0030 Radeon HD 8760 OEM 1019 0030 Radeon HD 8760 OEM 103c 6890 Radeon HD 8760 OEM 1043 8760 Radeon HD 8760 OEM 1462 2710 R7770-PMD1GD5 174b 8304 Radeon HD 8760 OEM 683f Cape Verde PRO [Radeon HD 7750/8740 / R7 250E] 1462 2790 Radeon HD 8740 1462 2791 Radeon HD 8740 1642 3b97 Radeon HD 8740 6840 Thames [Radeon HD 7500M/7600M Series] 1025 050e Radeon HD 7670M 1025 050f Radeon HD 7670M 1025 0513 Radeon HD 7670M 1025 0514 Radeon HD 7670M 1025 056d Radeon HD 7670M 1025 059a Radeon HD 7670M 1025 059b Radeon HD 7670M 1025 059e Radeon HD 7670M 1025 0600 Radeon HD 7670M 1025 0606 Radeon HD 7670M 1025 0696 Radeon HD 7650M 1025 0697 Radeon HD 7650M 1025 0698 Radeon HD 7650M 1025 0699 Radeon HD 7650M 1025 0757 Radeon HD 7670M 1028 056a Radeon HD 7670M 1028 056e Radeon HD 7670M 1028 0598 Radeon HD 7670M 1028 059d Radeon HD 7670M 1028 05a3 Radeon HD 7670M 1028 05b9 Radeon HD 7670M 1028 05bb Radeon HD 7670M 103c 1789 FirePro M2000 103c 17f1 Radeon HD 7570M 103c 17f4 Radeon HD 7650M 103c 1813 Radeon HD 7590M 103c 182f Radeon HD 7670M 103c 1830 Radeon HD 7670M 103c 1835 Radeon HD 7670M 103c 183a Radeon HD 7670M 103c 183c Radeon HD 7670M 103c 183e Radeon HD 7670M 103c 1840 Radeon HD 7670M 103c 1842 Radeon HD 7670M 103c 1844 Radeon HD 7670M 103c 1848 Radeon HD 7670M 103c 184a Radeon HD 7670M 103c 184c Radeon HD 7670M 103c 1895 Radeon HD 7670M 103c 1897 Radeon HD 7670M 103c 18a5 Radeon HD 7670M 103c 18a7 Radeon HD 7670M 103c 18f4 Radeon HD 7670M 1043 100a Radeon HD 7670M 1043 104b Radeon HD 7670M 1043 10dc Radeon HD 7670M 1043 2121 Radeon HD 7670M 1043 2122 Radeon HD 7670M 1043 2123 Radeon HD 7670M 1043 2125 Radeon HD 7670M 1043 2127 Radeon HD 7670M 1179 fb11 Radeon HD 7670M 1179 fb22 Radeon HD 7670M 1179 fb23 Radeon HD 7670M 1179 fb2c Radeon HD 7670M 1179 fb31 Radeon HD 7670M 1179 fb32 Radeon HD 7670M 1179 fb38 Radeon HD 7670M 1179 fb39 Radeon HD 7670M 1179 fb3a Radeon HD 7670M 1179 fb40 Radeon HD 7670M 1179 fb41 Radeon HD 7670M 1179 fb47 Radeon HD 7670M 1179 fb48 Radeon HD 7670M 1179 fb51 Radeon HD 7670M 1179 fb52 Radeon HD 7670M 1179 fb53 Radeon HD 7670M 1179 fb81 Radeon HD 7670M 1179 fb82 Radeon HD 7670M 1179 fb83 Radeon HD 7670M 1179 fc56 Radeon HD 7670M 1179 fcd4 Radeon HD 7670M 1179 fcee Radeon HD 7670M 144d c0c5 Radeon HD 7690M 144d c0ce Radeon HD 7670M 144d c0da Radeon HD 7670M 17aa 3970 Radeon HD 7670M 17aa 397b Radeon HD 7670M 17aa 5101 Radeon HD 7670M 17aa 5102 Radeon HD 7670M 17aa 5103 Radeon HD 7670M 6841 Thames [Radeon HD 7550M/7570M/7650M] 1028 0561 Radeon HD 7650M 1028 056c Radeon HD 7650M 1028 057f Radeon HD 7570M 103c 17f1 Radeon HD 7570M 103c 17f4 Radeon HD 7650M 103c 1813 Radeon HD 7570M 103c 183a Radeon HD 7650M 103c 183c Radeon HD 7650M 103c 183e Radeon HD 7650M 103c 1840 Radeon HD 7650M 103c 1842 Radeon HD 7650M 103c 1844 Radeon HD 7650M 1043 100a Radeon HD 7650M 1043 104b Radeon HD 7650M 1043 10dc Radeon HD 7650M 1043 2134 Radeon HD 7650M 1179 0001 Radeon HD 7570M 1179 0002 Radeon HD 7570M 1179 fb43 Radeon HD 7550M 1179 fb91 Radeon HD 7550M 1179 fb92 Radeon HD 7550M 1179 fb93 Radeon HD 7550M 1179 fba2 Radeon HD 7550M 1179 fba3 Radeon HD 7550M 144d c0c7 Radeon HD 7550M 6842 Thames LE [Radeon HD 7000M Series] 6843 Thames [Radeon HD 7670M] 6860 Vega 10 [Radeon Instinct MI25] 1002 0c35 Radeon PRO V320 1002 6c75 Radeon PRO V320 106b 017c Radeon Pro Vega 64 6861 Vega 10 XT [Radeon PRO WX 9100] 6862 Vega 10 XT [Radeon PRO SSG] 6863 Vega 10 XTX [Radeon Vega Frontier Edition] 6864 Vega 10 [Radeon Pro V340] 6867 Vega 10 XL [Radeon Pro Vega 56] 6868 Vega 10 [Radeon PRO WX 8100/8200] 686c Vega 10 [Radeon Instinct MI25 MxGPU] 687f Vega 10 XL/XT [Radeon RX Vega 56/64] 1002 0b36 RX Vega64 1002 6b76 RX Vega64 1458 230c Radeon RX VEGA 56 GAMING OC 8G 6880 Lexington [Radeon HD 6550M] 103c 163c Pavilion dv6 Radeon HD 6550M 6888 Cypress XT [FirePro V8800] 6889 Cypress PRO [FirePro V7800] 1002 0301 FirePro V7800P 13cc 3d1f MXRT-7400 688a Cypress XT [FirePro V9800] 1002 030c FirePro V9800P 688c Cypress XT GL [FireStream 9370] 688d Cypress PRO GL [FireStream 9350] 6898 Cypress XT [Radeon HD 5870] 1002 0b00 Radeon HD 5870 Eyefinity⁶ Edition 106b 00d0 Radeon HD 5870 Mac Edition # R5870-PM2D1G 1462 8032 Radeon HD 5870 1 GB GDDR5 174b 6870 Radeon HD 6870 1600SP Edition 6899 Cypress PRO [Radeon HD 5850] # EAH5850 1043 0330 Radeon HD 5850 174b 237b Radeon HD 5850 X2 174b 6850 Radeon HD 6850 1440SP Edition 689b Cypress PRO [Radeon HD 6800 Series] 689c Hemlock [Radeon HD 5970] 1043 0352 ARES 689d Hemlock [Radeon HD 5970] 689e Cypress LE [Radeon HD 5830] 68a0 Broadway XT [Mobility Radeon HD 5870] 1028 12ef FirePro M7820 103c 1520 FirePro M7820 68a1 Broadway PRO [Mobility Radeon HD 5850] 106b 00cc iMac MC511 Mobility Radeon HD 5850 MXM Module 68a8 Granville [Radeon HD 6850M/6870M] 1025 0442 Radeon HD 6850M 1025 0451 Radeon HD 6850M 1025 050a Radeon HD 6850M 1025 050b Radeon HD 6850M 1025 050c Radeon HD 6850M 1025 050e Radeon HD 6850M 1025 050f Radeon HD 6850M 1025 0513 Radeon HD 6850M 1025 0514 Radeon HD 6850M 1025 0515 Radeon HD 6850M 1025 0516 Radeon HD 6850M 1025 0525 Radeon HD 6850M 1025 0526 Radeon HD 6850M 1025 056d Radeon HD 6850M 1028 048f Radeon HD 6870M 1028 0490 Radeon HD 6870M 1028 04b9 Radeon HD 6870M 1028 04ba Radeon HD 6870M 103c 159b Radeon HD 6850M 144d c0ad Radeon HD 6850M 68a9 Juniper XT [FirePro V5800] 13cc 3d1e MXRT-5400 13cc 3d20 MXRT-5450 68b8 Juniper XT [Radeon HD 5770] 106b 00cf MacPro5,1 [Mac Pro 2.8GHz DDR3] 68b9 Juniper LE [Radeon HD 5670 640SP Edition] 68ba Juniper XT [Radeon HD 6770] 68be Juniper PRO [Radeon HD 5750] 148c 3000 Radeon HD 6750 68bf Juniper PRO [Radeon HD 6750] 174b 6750 Radeon HD 6750 68c0 Madison [Mobility Radeon HD 5730 / 6570M] 1019 2383 Mobility Radeon HD 5730 1028 02a2 Mobility Radeon HD 5730 1028 02fe Mobility Radeon HD 5730 1028 0419 Mobility Radeon HD 5730 103c 147d Mobility Radeon HD 5730 103c 1521 Madison XT [FirePro M5800] 103c 1593 Mobility Radeon HD 6570 103c 1596 Mobility Radeon HD 6570 103c 1599 Mobility Radeon HD 6570 1043 1c22 Mobility Radeon HD 5730 17aa 3927 Mobility Radeon HD 5730 17aa 3952 Mobility Radeon HD 5730 17aa 3978 Radeon HD 6570M 68c1 Madison [Mobility Radeon HD 5650/5750 / 6530M/6550M] 1025 0205 Mobility Radeon HD 5650 1025 0293 Mobility Radeon HD 5650 1025 0294 Mobility Radeon HD 5650 1025 0296 Mobility Radeon HD 5650 1025 0308 Mobility Radeon HD 5650 1025 030a Mobility Radeon HD 5650 1025 0311 Mobility Radeon HD 5650 1025 0312 Mobility Radeon HD 5650 1025 031c Mobility Radeon HD 5650 1025 031d Mobility Radeon HD 5650 1025 033d Mobility Radeon HD 5650 1025 033e Mobility Radeon HD 5650 1025 033f Mobility Radeon HD 5650 1025 0346 Mobility Radeon HD 5650 1025 0347 Aspire 7740G 1025 0348 Mobility Radeon HD 5650 1025 0356 Mobility Radeon HD 5650 1025 0357 Mobility Radeon HD 5650 1025 0358 Mobility Radeon HD 5650 1025 0359 Mobility Radeon HD 5650 1025 035a Mobility Radeon HD 5650 1025 035b Mobility Radeon HD 5650 1025 035c Mobility Radeon HD 5650 1025 035d Mobility Radeon HD 5650 1025 035e Mobility Radeon HD 5650 1025 0360 Mobility Radeon HD 5650 1025 0362 Mobility Radeon HD 5650 1025 0364 Mobility Radeon HD 5650 1025 0365 Mobility Radeon HD 5650 1025 0366 Mobility Radeon HD 5650 1025 0367 Mobility Radeon HD 5650 1025 0368 Mobility Radeon HD 5650 1025 036c Mobility Radeon HD 5650 1025 036d Mobility Radeon HD 5650 1025 036e Mobility Radeon HD 5650 1025 036f Mobility Radeon HD 5650 1025 0372 Mobility Radeon HD 5650 1025 0373 Mobility Radeon HD 5650 1025 0377 Mobility Radeon HD 5650 1025 0378 Mobility Radeon HD 5650 1025 0379 Mobility Radeon HD 5650 1025 037a Mobility Radeon HD 5650 1025 037b Mobility Radeon HD 5650 1025 037e Mobility Radeon HD 5650 1025 037f Mobility Radeon HD 5650 1025 0382 Mobility Radeon HD 5650 1025 0383 Mobility Radeon HD 5650 1025 0384 Mobility Radeon HD 5650 1025 0385 Mobility Radeon HD 5650 1025 0386 Mobility Radeon HD 5650 1025 0387 Mobility Radeon HD 5650 1025 0388 Mobility Radeon HD 5650 1025 038b Mobility Radeon HD 5650 1025 038c Mobility Radeon HD 5650 1025 039a Mobility Radeon HD 5650 1025 0411 Mobility Radeon HD 5650 1025 0412 Mobility Radeon HD 5650 1025 0418 Mobility Radeon HD 5650 1025 0419 Mobility Radeon HD 5650 1025 0420 Mobility Radeon HD 5650 1025 0421 Mobility Radeon HD 5650 1025 0425 Mobility Radeon HD 5650 1025 042a Mobility Radeon HD 5650 1025 042e Mobility Radeon HD 5650 1025 042f Mobility Radeon HD 5650 1025 0432 Mobility Radeon HD 5650 1025 0433 Mobility Radeon HD 5650 1025 0442 Mobility Radeon HD 5650 1025 044c Mobility Radeon HD 5650 1025 044e Mobility Radeon HD 5650 1025 0451 Mobility Radeon HD 5650 1025 0454 Mobility Radeon HD 5650 1025 0455 Mobility Radeon HD 5650 1025 0475 Mobility Radeon HD 5650 1025 0476 Mobility Radeon HD 5650 1025 0487 Mobility Radeon HD 5650 1025 0489 Mobility Radeon HD 5650 1025 0498 Mobility Radeon HD 5650 1025 0517 Radeon HD 6550M 1025 051a Radeon HD 6550M 1025 051b Radeon HD 6550M 1025 051c Radeon HD 6550M 1025 051d Radeon HD 6550M 1025 0525 Radeon HD 6550M 1025 0526 Radeon HD 6550M 1025 052b Radeon HD 6550M 1025 052c Radeon HD 6550M 1025 053c Radeon HD 6550M 1025 053d Radeon HD 6550M 1025 053e Radeon HD 6550M 1025 053f Radeon HD 6550M 1025 0607 Radeon HD 6550M 1028 041b Mobility Radeon HD 5650 1028 0447 Mobility Radeon HD 5650 1028 0448 Mobility Radeon HD 5650 1028 0456 Mobility Radeon HD 5650 1028 0457 Mobility Radeon HD 5650 103c 1436 Mobility Radeon HD 5650 103c 1437 Mobility Radeon HD 5650 103c 1440 Mobility Radeon HD 5650 103c 1448 Mobility Radeon HD 5650 103c 1449 Mobility Radeon HD 5650 103c 144a Mobility Radeon HD 5650 103c 144b Mobility Radeon HD 5650 103c 147b Mobility Radeon HD 5650 103c 149c Mobility Radeon HD 5650 103c 149e Mobility Radeon HD 5650 103c 1521 Madison Pro [FirePro M5800] 1043 1bc2 Mobility Radeon HD 5650 104d 9071 Mobility Radeon HD 5650 104d 9077 Mobility Radeon HD 5650 104d 9081 Mobility Radeon HD 5650 1179 fd00 Mobility Radeon HD 5650 1179 fd12 Mobility Radeon HD 5650 1179 fd1a Mobility Radeon HD 5650 1179 fd30 Mobility Radeon HD 5650 1179 fd31 Mobility Radeon HD 5650 1179 fd50 Mobility Radeon HD 5650 1179 fd52 Radeon HD 6530M 1179 fd63 Radeon HD 6530M 1179 fd65 Radeon HD 6530M 1179 fdd0 Mobility Radeon HD 5650 1179 fdd2 Radeon HD 6530M 144d c07e Mobility Radeon HD 5650 144d c085 Mobility Radeon HD 5650 14c0 0043 Mobility Radeon HD 5650 14c0 004d Mobility Radeon HD 5650 17aa 3928 Mobility Radeon HD 5650 17aa 3951 Mobility Radeon HD 5650 17aa 3977 Radeon HD 6550M 68c7 Pinewood [Mobility Radeon HD 5570/6550A] 1462 2241 Mobility Radeon HD 5570 1462 2243 Mobility Radeon HD 5570 1462 2244 Mobility Radeon HD 5570 1462 2245 Radeon HD 6550A 1462 2246 Radeon HD 6550A 68c8 Redwood XT GL [FirePro V4800] 68c9 Redwood PRO GL [FirePro V3800] 13cc 3d1d MXRT-2400 68d8 Redwood XT [Radeon HD 5670/5690/5730] 1028 68e0 Radeon HD 5670 174b 5690 Radeon HD 5690 174b 5730 Radeon HD 5730 174b e151 Radeon HD 5670 1787 3000 Radeon HD 5730 17af 3010 Radeon HD 5730 17af 3011 Radeon HD 5690 68d9 Redwood PRO [Radeon HD 5550/5570/5630/6510/6610/7570] 103c 6870 Radeon HD 5570 103c 6872 Radeon HD 5570 1043 03ce Radeon HD 5550 1462 2151 Radeon HD 5570 1462 2240 Radeon HD 5570 148c 3000 Radeon HD 6510 148c 3001 Radeon HD 6610 1545 5550 Radeon HD 5550 1545 7570 Radeon HD 7570 1642 3985 Radeon HD 5570 1642 3996 Radeon HD 5570 174b 3000 Radeon HD 6510 174b 6510 Radeon HD 6510 174b 6610 Radeon HD 6610 174b e142 Radeon HD 5570 1787 3000 Radeon HD 6510 17af 3000 Radeon HD 6510 17af 3010 Radeon HD 5630 68da Redwood LE [Radeon HD 5550/5570/5630/6390/6490/7570] 148c 3000 Radeon HD 6390 148c 3001 Radeon HD 6490 1545 7570 Radeon HD 7570 174b 3000 Radeon HD 6390 174b 5570 Radeon HD 5570 174b 5630 Radeon HD 5630 174b 6490 Radeon HD 6490 1787 3000 Radeon HD 5630 17af 3000 Radeon HD 6390 17af 3010 Radeon HD 5630 68de Redwood 68e0 Park [Mobility Radeon HD 5430/5450/5470] 1028 0404 Mobility Radeon HD 5450 1028 0414 Mobility Radeon HD 5450 1028 0434 Mobility Radeon HD 5450 103c 1433 Mobility Radeon HD 5450 103c 1434 Mobility Radeon HD 5450 103c 1469 Mobility Radeon HD 5450 103c 146b Mobility Radeon HD 5450 103c 1486 TouchSmart tm2-2050er discrete GPU (Mobility Radeon HD 5450) 103c 1622 Mobility Radeon HD 5450 103c 1623 Mobility Radeon HD 5450 103c eeee Mobility Radeon HD 5450 104d 9076 Mobility Radeon HD 5450 1682 304e Caicos [Radeon HD 5450] 1682 6000 Caicos [Radeon HD 5450] 17aa 9e52 FirePro M3800 17aa 9e53 FirePro M3800 68e1 Park [Mobility Radeon HD 5430] 1043 041f Caicos [Radeon HD 7350] 1043 3000 Caicos [Radeon HD 5450] 148c 3000 Caicos [Radeon HD 5450] 148c 3001 Caicos [Radeon HD 6230] 148c 3002 Caicos [Radeon HD 6250] 148c 3003 Caicos [Radeon HD 6350] 148c 7350 Caicos [Radeon HD 7350] 148c 8350 Caicos [Radeon HD 8350] 1545 5450 Caicos [Radeon HD 5450] 1545 7350 Caicos [Radeon HD 7350] 1682 3000 Caicos [Radeon HD 5450] 1682 6000 Caicos [Radeon HD 5450] 1682 7350 Caicos [Radeon HD 7350] 174b 3000 Caicos [Radeon HD 5450] 174b 5470 Caicos [Radeon HD 5470] 174b 6000 Caicos [Radeon HD 5450] 174b 6230 Caicos [Radeon HD 6230] 174b 6350 Caicos [Radeon HD 6350] 174b 7350 Caicos [Radeon HD 7350] 1787 3000 Caicos [Radeon HD 5450] 17af 3000 Caicos [Radeon HD 5450] 17af 3001 Caicos [Radeon HD 6230] 17af 3014 Caicos [Radeon HD 6350] 17af 3015 Caicos [Radeon HD 7350] 17af 8350 Caicos [Radeon HD 8350 OEM] 68e4 Robson CE [Radeon HD 6370M/7370M] 1019 2386 Radeon HD 6350M 1019 2387 Radeon HD 6350M 1019 238d Radeon HD 6370M 1019 238e Radeon HD 6370M 1025 0382 Radeon HD 6370M 1025 0489 Radeon HD 6370M 1025 048a Radeon HD 6370M 1025 048b Radeon HD 6370M 1025 048c Radeon HD 6370M 1028 04c1 Radeon HD 6370M 1028 04ca Radeon HD 6370M 1028 04cc Radeon HD 6370M 1028 04cd Radeon HD 6370M 1028 04d7 Radeon HD 6370M 103c 1411 Radeon HD 6370M 103c 1421 Radeon HD 6370M 103c 1426 Radeon HD 6370M 103c 1428 Radeon HD 6370M 103c 142a Radeon HD 6370M 103c 142b Radeon HD 6370M 103c 143a Radeon HD 6370M 103c 143c Radeon HD 6370M 103c 1445 Radeon HD 6370M 103c 162c Radeon HD 6370M 103c 162d Radeon HD 6370M 103c 162e Radeon HD 6370M 103c 162f Radeon HD 6370M 103c 1639 Radeon HD 6370M 103c 163a Radeon HD 6370M 103c 163b Radeon HD 6370M 103c 163c Radeon HD 6370M 103c 163d Radeon HD 6370M 103c 163e Radeon HD 6370M 103c 163f Radeon HD 6370M 103c 1641 Radeon HD 6370M 103c 1643 Radeon HD 6370M 103c 3578 Radeon HD 6370M 103c 357a Radeon HD 6370M 103c 3673 Radeon HD 6370M 103c 3675 Radeon HD 6370M 1043 1c92 Radeon HD 6370M 1043 84a1 Radeon HD 6370M 1043 84ad Radeon HD 6370M 104d 9081 Radeon HD 6370M 1545 7350 Cedar [Radeon HD 7350] 1558 4510 Radeon HD 6370M 1558 5505 Radeon HD 6370M 174b 5450 Cedar [Radeon HD 5450] 17aa 21dd Radeon HD 6370M 17aa 21e9 Radeon HD 6370M 17aa 3971 Radeon HD 6370M 17aa 3972 Radeon HD 7370M 17aa 397a Radeon HD 6370M/7370M 17aa 397b Radeon HD 6370M/7370M 17aa 397f Radeon HD 7370M 68e5 Robson LE [Radeon HD 6330M] 1179 fd3c Radeon HD 6330M 1179 fd50 Radeon HD 6330M 1179 fd52 Radeon HD 6330M 1179 fd63 Radeon HD 6330M 1179 fd65 Radeon HD 6330M 1179 fd73 Radeon HD 6330M 1179 fd75 Radeon HD 6330M 1179 fdd0 Radeon HD 6330M 1179 fdd2 Radeon HD 6330M 1179 fdea Radeon HD 6330M 1179 fdf8 Radeon HD 6330M 148c 5450 Cedar [Radeon HD 5450] 148c 6350 Cedar [Radeon HD 6350] 148c 7350 Cedar [Radeon HD 7350] 148c 8350 Cedar [Radeon HD 8350] 1545 7350 Cedar [Radeon HD 7350] 68e8 Cedar 68e9 Cedar [ATI FirePro (FireGL) Graphics Adapter] 68f1 Cedar GL [FirePro 2460] 68f2 Cedar GL [FirePro 2270] 68f8 Cedar [Radeon HD 7300 Series] 68f9 Cedar [Radeon HD 5000/6000/7350/8350 Series] 1019 0001 Radeon HD 5450 1019 0002 Radeon HD 5450 1019 0019 Radeon HD 6350 1025 0518 Radeon HD 5450 1025 0519 Radeon HD 5450 1028 010e XPS 8300 1028 2126 Radeon HD 6350 103c 2126 Radeon HD 6350 103c 2aac Radeon HD 5450 103c 2aae Radeon HD 5450 103c 3580 Radeon HD 5450 1043 0386 Radeon HD 5450 1043 03c2 EAH5450 SILENT/DI/512MD2 (LP) 1462 2130 Radeon HD 5450 1462 2131 Radeon HD 5450 1462 2133 Radeon HD 6350 1462 2180 Radeon HD 5450 1462 2181 Radeon HD 5450 1462 2182 Radeon HD 6350 1462 2183 Radeon HD 6350 1462 2230 Radeon HD 5450 1462 2231 Radeon HD 5450 1462 2495 Radeon HD 6350 148c 3001 Radeon HD 5530/6250 148c 3002 Radeon HD 6290 148c 3003 Radeon HD 6230 148c 3004 Radeon HD 6350 148c 7350 Radeon HD 7350 148c 8350 Radeon HD 8350 1545 7350 Radeon HD 7350 1642 3983 Radeon HD 5450 1642 3984 Radeon HD 6350 1642 3987 Radeon HD 6350 1642 3997 Radeon HD 5450 1642 3a05 Radeon HD 5450 1642 3b31 Radeon HD 6350A 1682 3270 Radeon HD 7350 174b 3000 Radeon HD 6230 174b 3987 Radeon HD 6350 174b 5470 Radeon HD 5470 174b 5490 Radeon HD 5490 174b 5530 Radeon HD 5530 174b 6230 Radeon HD 6230 174b 6250 Radeon HD 6250 174b 6290 Radeon HD 6290 174b 6350 Radeon HD 6350 174b 7350 Radeon HD 7350 174b 8350 Radeon HD 8350 174b e127 Radeon HD 5450 174b e145 Radeon HD 5450 174b e153 Radeon HD 5450 1787 3000 Radeon HD 5470 1787 3001 Radeon HD 5530 1787 3002 Radeon HD 5490 17aa 3602 Radeon HD 5450 17aa 3603 Radeon HD 5450 17aa 360f Radeon HD 5450 17aa 3619 Radeon HD 5450 17af 3000 Radeon HD 6250 17af 3001 Radeon HD 6230 17af 3002 Radeon HD 6290 17af 3011 Radeon HD 5470 17af 3012 Radeon HD 5490 17af 3013 Radeon HD 5470 17af 3014 Radeon HD 6350 68fa Cedar [Radeon HD 7350/8350 / R5 220] 1019 0019 Radeon HD 7350 1019 0021 Radeon HD 7350 1019 0022 Radeon HD 7350 1019 0026 Radeon HD 8350 103c 2adf Radeon HD 7350A 103c 2ae8 Radeon HD 7350A 1043 8350 Radeon HD 8350 1462 2128 Radeon HD 7350 1462 2184 Radeon HD 7350 1462 2186 Radeon HD 7350 1462 2495 Radeon HD 7350 1462 b490 Radeon HD 7350 1642 3985 Radeon HD 7350 174b 3510 Radeon HD 8350 174b 3521 Radeon R5 220 174b 3522 Radeon R5 220 174b 7350 Radeon HD 7350 174b 8153 Radeon HD 8350 174b e127 Radeon HD 7350 174b e153 Radeon HD 7350 174b e180 Radeon HD 7350 17af 3015 Radeon HD 7350 68fe Cedar LE 6900 Topaz XT [Radeon R7 M260/M265 / M340/M360 / M440/M445 / 530/535 / 620/625 Mobile] 1025 1056 Radeon R7 M360 / R8 M365DX 1028 0640 Radeon R7 M260/M265 1028 0643 Radeon R7 M260/M265 1028 067f Radeon R7 M260 1028 0767 Radeon R7 M445 1028 0810 Radeon 530 1028 130a Radeon R7 M260 103c 2263 Radeon R7 M260 103c 2269 Radeon R7 M260 103c 22c6 Radeon R7 M260 103c 22c8 Radeon R7 M260 103c 2b45 Radeon R7 A360 103c 808c Radeon R7 M260 103c 8099 Radeon R7 M360 103c 80b5 Radeon R7 M360 103c 80b9 Radeon R7 M360 103c 811c Radeon R7 M340 103c 8226 Radeon R7 M440 10cf 1906 Radeon R7 M260 1170 9979 Radeon R7 M360 1179 f903 Radeon R7 M260 1179 f922 Radeon R7 M260 1179 f923 Radeon R7 M260 1179 f934 Radeon R7 M260 17aa 3822 Radeon R7 M360 17aa 3824 Radeon R7 M360 17aa 5021 Radeon R7 M260 6901 Topaz PRO [Radeon R5 M255] 103c 1318 Radeon R6 M255DX 6907 Meso XT [Radeon R5 M315] 6920 Amethyst [Radeon R9 M395/ M395X Mac Edition] 6921 Amethyst XT [Radeon R9 M295X / M390X] 6929 Tonga XT GL [FirePro S7150] 692b Tonga PRO GL [FirePro W7100] 13cc 3d2b MXRT-7600 692f Tonga XTV GL [FirePro S7150V] 6938 Tonga XT / Amethyst XT [Radeon R9 380X / R9 M295X] 1043 04f5 Radeon R9 380X 1043 04f7 Radeon R9 380X 106b 013a Radeon R9 M295X Mac Edition 1458 22c8 Radeon R9 380X 148c 2350 Radeon R9 380X 1682 9385 Radeon R9 380X 174b e308 Radeon R9 380X Nitro 4G D5 17af 2006 Radeon R9 380X 6939 Tonga PRO [Radeon R9 285/380] 148c 9380 Radeon R9 380 # Make naming scheme consistent 174b e308 Radeon R9 380 Nitro 4G D5 174b e315 Radeon R9 285 693b Tonga PRO GL [FirePro W7100 / Barco MXRT-7600] 694c Polaris 22 XT [Radeon RX Vega M GH] 694e Polaris 22 XL [Radeon RX Vega M GL] 694f Polaris 22 MGL XL [Radeon Pro WX Vega M GL] 6980 Polaris12 6981 Lexa XT [Radeon PRO WX 3200] 6985 Lexa XT [Radeon PRO WX 3100] 6986 Polaris12 6987 Lexa [Radeon 540X/550X/630 / RX 640 / E9171 MCM] 6995 Lexa XT [Radeon PRO WX 2100] 699f Lexa PRO [Radeon 540/540X/550/550X / RX 540X/550/550X] 1028 1720 Radeon RX 550X 148c 2380 Lexa XL [Radeon RX 550] 1da2 e367 Lexa PRO [Radeon RX 550] 69a0 Vega 12 69a1 Vega 12 69a2 Vega 12 69a3 Vega 12 69af Vega 12 [Radeon Pro Vega 20] 6fdf Polaris 20 XL [Radeon RX 580 2048SP] 700f RS100 AGP Bridge 7010 RS200/RS250 AGP Bridge 7100 R520 [Radeon X1800 XT] 7101 R520/M58 [Mobility Radeon X1800 XT] 7102 R520/M58 [Mobility Radeon X1800] 7104 R520 GL [FireGL V7200 / Barco MXTR-5100] 13cc 3d0a MXRT-5100 7109 R520 [Radeon X1800 XL] 1002 0322 All-in-Wonder X1800XL 1002 0d02 Radeon X1800 CrossFire Edition 710a R520 [Radeon X1800 GTO] 1002 0b12 Radeon X1800 GTO² 710b R520 [Radeon X1800 GTO] 710e R520 GL [FireGL V7300] 13cc 3d0c MXRT-5150 710f R520 GL [FireGL V7350] 13cc 3d0e MXRT-7100 7120 R520 [Radeon X1800] (Secondary) 7124 R520 GL [FireGL V7200] (Secondary) 13cc 3d0b MXRT-5100 (Secondary) 7129 R520 [Radeon X1800] (Secondary) 1002 0323 All-In-Wonder X1800 XL (Secondary) 1002 0d03 Radeon X1800 CrossFire Edition (Secondary) 712e R520 GL [FireGL V7300] (Secondary) 13cc 3d0d MXRT-5150 (Secondary) 712f R520 GL [FireGL V7350] (Secondary) 13cc 3d0f MXRT-7100 (Secondary) 7140 RV515 [Radeon X1300/X1550/X1600 Series] 7142 RV515 PRO [Radeon X1300/X1550 Series] 1002 0322 All-in-Wonder 2006 PCI-E Edition 1043 0142 EAX1300PRO/TD/256M 7143 RV505 [Radeon X1300/X1550 Series] 7145 RV515/M54 [Mobility Radeon X1400] 17aa 2006 Thinkpad T60 model 2007 7146 RV515 [Radeon X1300/X1550] 1002 0322 All-in-Wonder 2006 PCI-E Edition 1545 1996 Radeon X1300 512MB PCI-e 7147 RV505 [Radeon X1550 64-bit] 7149 RV515/M52 [Mobility Radeon X1300] 714a RV515/M52 [Mobility Radeon X1300] 7152 RV515 GL [FireGL V3300] 7153 RV515 GL [FireGL V3350] 715f RV505 CE [Radeon X1550 64-bit] 7162 RV515 PRO [Radeon X1300/X1550 Series] (Secondary) 1002 0323 All-in-Wonder 2006 PCI-E Edition (Secondary) 7163 RV505 [Radeon X1550 Series] (Secondary) 7166 RV515 [Radeon X1300/X1550 Series] (Secondary) 1002 0323 All-in-Wonder 2006 PCI-E Edition (Secondary) 1545 1997 Radeon X1300 512MB PCI-e (Secondary) 7167 RV515 [Radeon X1550 64-bit] (Secondary) 7172 RV515 GL [FireGL V3300] (Secondary) 7173 RV515 GL [FireGL V3350] (Secondary) 7181 RV516 [Radeon X1600/X1650 Series] 7183 RV516 [Radeon X1300/X1550 Series] 7186 RV516/M64 [Mobility Radeon X1450] 7187 RV516 [Radeon X1300/X1550 Series] 7188 RV516/M64-S [Mobility Radeon X2300] 103c 30c1 6910p 718a RV516/M64 [Mobility Radeon X2300] 718b RV516/M62 [Mobility Radeon X1350] 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 718c RV516/M62-CSP64 [Mobility Radeon X1350] 718d RV516/M64-CSP128 [Mobility Radeon X1450] 7193 RV516 [Radeon X1550 Series] 7196 RV516/M62-S [Mobility Radeon X1350] 719b RV516 GL [FireMV 2250] 13cc 3d12 MXRT-1150 13cc 3d14 MXRT-2150 719f RV516 [Radeon X1550 Series] 71a0 RV516 [Radeon X1300/X1550 Series] (Secondary) 71a1 RV516 [Radeon X1600/X1650 Series] (Secondary) 71a3 RV516 [Radeon X1300/X1550 Series] (Secondary) 71a7 RV516 [Radeon X1300/X1550 Series] (Secondary) 71bb RV516 GL [FireMV 2250] (Secondary) 13cc 3d13 MXRT-1150 (Secondary) 13cc 3d15 MXRT-2150 (Secondary) 71c0 RV530 [Radeon X1600 XT/X1650 GTO] 1002 e160 Radeon X1650 GTO 174b e160 Radeon X1650 GTO 71c1 RV535 [Radeon X1650 PRO] 174b 0880 Radeon X1700 FSC 71c2 RV530 [Radeon X1600 PRO] 71c3 RV530 [Radeon X1600 PRO] 71c4 RV530/M56 GL [Mobility FireGL V5200] 17aa 2007 ThinkPad T60p 71c5 RV530/M56-P [Mobility Radeon X1600] 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq NW8440 1043 10b2 A6J-Q008 106b 0080 MacBook Pro 71c6 RV530LE [Radeon X1600/X1650 PRO] 71c7 RV535 [Radeon X1650 PRO] 1787 3000 PowerColor X1650 PRO AGP 71ce RV530 [Radeon X1300 XT/X1600 PRO] 71d2 RV530 GL [FireGL V3400] 13cc 3d08 MXRT-2100 71d4 RV530/M66 GL [Mobility FireGL V5250] 71d5 RV530/M66-P [Mobility Radeon X1700] 71d6 RV530/M66-XT [Mobility Radeon X1700] 71de RV530/M66 [Mobility Radeon X1700/X2500] 71e0 RV530 [Radeon X1600] (Secondary) 174b e161 Radeon X1600 GTO (Secondary) 71e1 RV535 [Radeon X1650 PRO] (Secondary) 174b 0881 Radeon X1700 FSC (Secondary) 71e2 RV530 [Radeon X1600] (Secondary) 71e6 RV530 [Radeon X1650] (Secondary) 71e7 RV535 [Radeon X1650 PRO] (Secondary) 1787 3001 Radeon X1650 PRO AGP 71f2 RV530 GL [FireGL V3400] (Secondary) 13cc 3d09 MXRT-2100 (Secondary) 7210 RV550/M71 [Mobility Radeon HD 2300] 7211 RV550/M71 [Mobility Radeon X2300 HD] 7240 R580+ [Radeon X1950 XTX] 1002 0d02 Radeon X1950 CrossFire Edition 7244 R580+ [Radeon X1950 XT] 7248 R580 [Radeon X1950] 7249 R580 [Radeon X1900 XT] 1002 0412 All-In-Wonder X1900 1002 0b12 Radeon X1900 XT/XTX 1002 0d02 Radeon X1900 CrossFire Edition 1043 0160 Radeon X1900 XTX 512 MB GDDR3 724b R580 [Radeon X1900 GT] 1002 0b12 Radeon X1900 (Primary) 1002 0b13 Radeon X1900 (Secondary) 724e R580 GL [FireGL V7350] 7269 R580 [Radeon X1900 XT] (Secondary) 726b R580 [Radeon X1900 GT] (Secondary) 726e R580 [AMD Stream Processor] (Secondary) 7280 RV570 [Radeon X1950 PRO] 7288 RV570 [Radeon X1950 GT] 7291 RV560 [Radeon X1650 XT] 1462 0810 Radeon X1700 SE 7293 RV560 [Radeon X1650 GT] 72a0 RV570 [Radeon X1950 PRO] (Secondary) 72a8 RV570 [Radeon X1950 GT] (Secondary) 72b1 RV560 [Radeon X1650 XT] (Secondary) 72b3 RV560 [Radeon X1650 GT] (Secondary) 7300 Fiji [Radeon R9 FURY / NANO Series] 1002 0b36 Radeon R9 FURY X / NANO 1002 1b36 Radeon Pro Duo 1043 049e Radeon R9 FURY 1043 04a0 Radeon R9 FURY X 174b e329 Radeon R9 FURY 7310 Navi 10 [Radeon Pro W5700X] 7312 Navi 10 [Radeon Pro W5700] 731f Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] 1458 2313 Radeon RX 5700 XT Gaming OC 1da2 e411 Radeon RX 5600 XT 7340 Navi 14 [Radeon RX 5500/5500M / Pro 5500M] 7341 Navi 14 [Radeon Pro W5500] 7347 Navi 14 [Radeon Pro W5500M] 734f Navi 14 [Radeon Pro W5300M] 7360 Navi 12 [Radeon Pro 5600M] 73bf Navi 21 [Radeon RX 6800/6800 XT / 6900 XT] 73c3 Navi 22 73df Navi 22 73ff Navi 23 7833 RS350 Host Bridge 7834 RS350 [Radeon 9100 PRO/XT IGP] 7835 RS350M [Mobility Radeon 9000 IGP] 7838 RS350 AGP Bridge 7910 RS690 Host Bridge 1179 ff50 Satellite P305D-S8995E 17f2 5000 KI690-AM2 Motherboard 7911 RS690/RS740 Host Bridge 1002 7910 RS690/RS740 Host Bridge 7912 RS690/RS740 PCI to PCI Bridge (Internal gfx) 7913 RS690 PCI to PCI Bridge (PCI Express Graphics Port 0) 7915 RS690 PCI to PCI Bridge (PCI Express Port 1) 7916 RS690 PCI to PCI Bridge (PCI Express Port 2) 7917 RS690 PCI to PCI Bridge (PCI Express Port 3) 1002 7910 RS690 PCI to PCI Bridge 7919 RS690 HDMI Audio [Radeon Xpress 1200 Series] 1179 7919 Satellite P305D-S8995E 17f2 5000 KI690-AM2 Motherboard 791e RS690 [Radeon X1200] 1462 7327 K9AG Neo2 17f2 5000 KI690-AM2 Motherboard 791f RS690M [Radeon Xpress 1200/1250/1270] 1179 ff50 Satellite P305D-S8995E 7930 RS600 Host Bridge 7932 RS600 PCI to PCI Bridge (Internal gfx) 7933 RS600 PCI to PCI Bridge (PCI Express Graphics Port 0) 7935 RS600 PCI to PCI Bridge (PCI Express Port 1) 7936 RS600 PCI to PCI Bridge (PCI Express Port 2) 7937 RS690 PCI to PCI Bridge (PCI Express Port 3) 793b RS600 HDMI Audio [Radeon Xpress 1250] 793f RS690M [Radeon Xpress 1200/1250/1270] (Secondary) 7941 RS600 [Radeon Xpress 1250] 7942 RS600M [Radeon Xpress 1250] 796e RS740 [Radeon 2100] 105b 0e13 N15235/A74MX mainboard 9400 R600 [Radeon HD 2900 PRO/XT] 1002 2552 Radeon HD 2900 XT 1002 3000 Radeon HD 2900 PRO 1002 3142 HIS Radeon HD 2900XT 512MB GDDR3 VIVO PCIe 9401 R600 [Radeon HD 2900 XT] 9403 R600 [Radeon HD 2900 PRO] 9405 R600 [Radeon HD 2900 GT] 940a R600 GL [FireGL V8650] 13cc 3d16 MXRT-7200 940b R600 GL [FireGL V8600] 940f R600 GL [FireGL V7600] 9440 RV770 [Radeon HD 4870] 9441 R700 [Radeon HD 4870 X2] 9442 RV770 [Radeon HD 4850] 1002 0502 MSI Radeon HD 4850 512MB GDDR3 174b e810 Radeon HD 4850 512MB GDDR3 9443 R700 [Radeon HD 4850 X2] 9444 RV770 GL [FirePro V8750] 9446 RV770 GL [FirePro V7760] 944a RV770/M98L [Mobility Radeon HD 4850] 944b RV770/M98 [Mobility Radeon HD 4850 X2] 944c RV770 LE [Radeon HD 4830] 944e RV770 CE [Radeon HD 4710] 174b 3261 Radeon HD 4810 9450 RV770 GL [FireStream 9270] 9452 RV770 GL [FireStream 9250] 9456 RV770 GL [FirePro V8700] 945a RV770/M98-XT [Mobility Radeon HD 4870] 9460 RV790 [Radeon HD 4890] 9462 RV790 [Radeon HD 4860] 946a RV770 GL [FirePro M7750] 9480 RV730/M96 [Mobility Radeon HD 4650/5165] 103c 3628 Mobility Radeon HD 4650 [dv6-1190en] 9488 RV730/M96-XT [Mobility Radeon HD 4670] 9489 RV730/M96 GL [Mobility FireGL V5725] 9490 RV730 XT [Radeon HD 4670] 174b e880 Radeon HD 4670 512MB GDDR3 Dual DVI-I/TVO 9491 RV730/M96-CSP [Radeon E4690] 9495 RV730 [Radeon HD 4600 AGP Series] 1002 0028 Radeon HD 4650/4670 AGP 1092 0028 Radeon HD 4670 AGP 512MB DDR2 1458 0028 Radeon HD 4650 AGP 1682 0028 Radeon HD 4650 AGP 174b 0028 Radeon HD 4650 AGP DDR2 9498 RV730 PRO [Radeon HD 4650] 949c RV730 GL [FirePro V7750] 13cc 3d1b MXRT-7300 949e RV730 GL [FirePro V5700] 949f RV730 GL [FirePro V3750] 94a0 RV740/M97 [Mobility Radeon HD 4830] 94a1 RV740/M97-XT [Mobility Radeon HD 4860] 94a3 RV740/M97 GL [FirePro M7740] 94b3 RV740 PRO [Radeon HD 4770] 94b4 RV740 PRO [Radeon HD 4750] 94c1 RV610 [Radeon HD 2400 PRO/XT] 1028 0211 Optiplex 755 1028 0d02 Optiplex 755 94c3 RV610 [Radeon HD 2400 PRO] 1028 0302 Radeon HD 2400 Pro 174b e400 Radeon HD 2400 PRO 18bc 3550 Radeon HD 2400 PRO 94c4 RV610 LE [Radeon HD 2400 PRO AGP] 94c5 RV610 [Radeon HD 2400 LE] 94c7 RV610 [Radeon HD 2350] 94c8 RV610/M74 [Mobility Radeon HD 2400 XT] 94c9 RV610/M72-S [Mobility Radeon HD 2400] 1002 94c9 Radeon HD2400 94cb RV610 [Radeon E2400] 94cc RV610 LE [Radeon HD 2400 PRO PCI] 9500 RV670 [Radeon HD 3850 X2] 9501 RV670 [Radeon HD 3870] 174b e620 Radeon HD 3870 9504 RV670/M88 [Mobility Radeon HD 3850] 9505 RV670 [Radeon HD 3690/3850] 148c 3000 Radeon HD 3850 174b 3000 Radeon HD 3690/3850 1787 3000 Radeon HD 3690 9506 RV670/M88 [Mobility Radeon HD 3850 X2] 9507 RV670 [Radeon HD 3830] 9508 RV670/M88-XT [Mobility Radeon HD 3870] 9509 RV670/M88 [Mobility Radeon HD 3870 X2] 950f R680 [Radeon HD 3870 X2] 9511 RV670 GL [FireGL V7700] 9513 RV670 [Radeon HD 3850 X2] 9515 RV670 PRO [Radeon HD 3850 AGP] 9519 RV670 GL [FireStream 9170] 9540 RV710 [Radeon HD 4550] 954f RV710 [Radeon HD 4350/4550] 1462 1618 R4350 MD512H (MS-V161) 9552 RV710/M92 [Mobility Radeon HD 4330/4350/4550] 1028 1103 M92 [Mobility Radeon HD 4330] # GV-R435OC-512I/FF1 1458 21ac Radeon HD 4350 # GV-R455HM-512I/F41 1458 21ed Radeon HD 4550 # 113-100928-J01 148c 3000 Radeon HD 4350 Go! Green 512MB GDDR3 # 113-2E172001-003 174b 3000 Radeon HD 4350/4550 HyperMemory DDR2 9553 RV710/M92 [Mobility Radeon HD 4530/4570/545v] 1025 015e Mobility Radeon HD 4570 1025 017d Mobility Radeon HD 4570 1025 0205 Mobility Radeon HD 4570 / 545v 1025 0206 Mobility Radeon HD 4570 1025 0237 Mobility Radeon HD 4570 1028 02be Mobility Radeon HD 4570 / 545v 1028 02e8 Mobility Radeon HD 4530 103c 143c Mobility Radeon HD 545v 103c 1446 Mobility Radeon HD 545v 103c 3624 Mobility Radeon HD 4530 103c 3628 Mobility Radeon HD 4530 103c 3636 Mobility Radeon HD 4530 1043 1b32 Mobility Radeon HD 4570 1043 1b42 Mobility Radeon HD 4570 104d 9056 Mobility Radeon HD 4570 1179 ff82 Satellite L505-13T GPU (Mobility Radeon HD 5145) 144d c07f Mobility Radeon HD 545v 144d c571 Mobility Radeon HD 545v 1462 1006 Mobility Radeon HD 545v 17aa 2129 Mobility Radeon HD 545v 17aa 215b Mobility Radeon HD 545v 17aa 21bb Mobility Radeon HD 545v 9555 RV710/M92 [Mobility Radeon HD 4350/4550] 103c 1411 ProBook 4720s GPU (Mobility Radeon HD 4350) 9557 RV711 GL [FirePro RG220] 955f RV710/M92 [Mobility Radeon HD 4330] 9580 RV630 [Radeon HD 2600 PRO] 9581 RV630/M76 [Mobility Radeon HD 2600] 9583 RV630/M76 [Mobility Radeon HD 2600 XT/2700] 106b 0083 iMac 7,1 1734 1107 Mobility Radeon HD 2700 9586 RV630 XT [Radeon HD 2600 XT AGP] 9587 RV630 PRO [Radeon HD 2600 PRO AGP] 9588 RV630 XT [Radeon HD 2600 XT] 1458 216c Radeon HD 2600 XT, 256MB GDDR3, 2x DVI, TV-out, PCIe (GV-RX26T256H) 9589 RV630 PRO [Radeon HD 2600 PRO] # Rebranded HD 2600 PRO 1787 3000 Radeon HD 3610 958a RV630 [Radeon HD 2600 X2] 958b RV630/M76 [Mobility Radeon HD 2600 XT] 958c RV630 GL [FireGL V5600] 13cc 3d18 MXRT-5200 958d RV630 GL [FireGL V3600] 9591 RV635/M86 [Mobility Radeon HD 3650] 1002 9591 Mobility Radeon HD 3650 9593 RV635/M86 [Mobility Radeon HD 3670] 9595 RV635/M86 GL [Mobility FireGL V5700] 9596 RV635 PRO [Radeon HD 3650 AGP] 1043 0028 EAH3650 SILENT/HTDI/512M/A 9597 RV635 PRO [Radeon HD 3650 AGP] 9598 RV635 [Radeon HD 3650/3750/4570/4580] 1002 9598 Mobility Radeon HD 3600 1043 01d6 EAH3650 Silent 1043 3001 Radeon HD 4570 174b 3001 Radeon HD 3750 174b 4580 RV635 PRO [Radeon HD 4580] 17af 3011 RV635 PRO [Radeon HD 4580] 9599 RV635 PRO [Radeon HD 3650 AGP] 95c0 RV620 PRO [Radeon HD 3470] 1002 95c0 Mobility Radeon HD 3470 1028 3243 C120D 95c2 RV620/M82 [Mobility Radeon HD 3410/3430] 95c4 RV620/M82 [Mobility Radeon HD 3450/3470] 1002 95c4 Mobility Radeon HD 3400 95c5 RV620 LE [Radeon HD 3450] 1028 0342 OptiPlex 980 95c6 RV620 LE [Radeon HD 3450 AGP] 95c9 RV620 LE [Radeon HD 3450 PCI] 95cc RV620 GL [FirePro V3700] 95cd RV620 GL [FirePro 2450] 95cf RV620 GL [FirePro 2260] 960f RS780 HDMI Audio [Radeon 3000/3100 / HD 3200/3300] 9610 RS780 [Radeon HD 3200] 1458 d000 GA-MA78GM-S2H Motherboard 9611 RS780C [Radeon 3100] 9612 RS780M [Mobility Radeon HD 3200] 9613 RS780MC [Mobility Radeon HD 3100] 9614 RS780D [Radeon HD 3300] 9615 RS780E [Radeon HD 3200] 9616 RS780L [Radeon 3000] 9640 Sumo [Radeon HD 6550D] 9641 Sumo [Radeon HD 6620G] 9642 SuperSumo [Radeon HD 6370D] 9643 SuperSumo [Radeon HD 6380G] 9644 SuperSumo [Radeon HD 6410D] 9645 SuperSumo [Radeon HD 6410D] 9647 Sumo [Radeon HD 6520G] 9648 Sumo [Radeon HD 6480G] 9649 SuperSumo [Radeon HD 6480G] 964a Sumo [Radeon HD 6530D] 964b Sumo 964c Sumo 964e Sumo 964f Sumo 970f RS880 HDMI Audio [Radeon HD 4200 Series] 1019 2120 A785GM-M 1043 83a2 M4A785TD Motherboard 1043 843e M5A88-V EVO 9710 RS880 [Radeon HD 4200] 1019 2120 A785GM-M 1043 83a2 M4A785TD Motherboard 9712 RS880M [Mobility Radeon HD 4225/4250] 103c 1609 ProLiant MicroServer N36L 9713 RS880M [Mobility Radeon HD 4100] 9714 RS880 [Radeon HD 4290] 9715 RS880 [Radeon HD 4250] 1043 843e M5A88-V EVO # Radeon HD 6250 too? 9802 Wrestler [Radeon HD 6310] 174b 1001 PURE Fusion Mini 9803 Wrestler [Radeon HD 6310] 9804 Wrestler [Radeon HD 6250] 9805 Wrestler [Radeon HD 6250] 9806 Wrestler [Radeon HD 6320] 9807 Wrestler [Radeon HD 6290] 9808 Wrestler [Radeon HD 7340] 9809 Wrestler [Radeon HD 7310] 980a Wrestler [Radeon HD 7290] 9830 Kabini [Radeon HD 8400 / R3 Series] 9831 Kabini [Radeon HD 8400E] 9832 Kabini [Radeon HD 8330] 1849 9832 QC5000-ITX/PH 9833 Kabini [Radeon HD 8330E] 9834 Kabini [Radeon HD 8210] 9835 Kabini [Radeon HD 8310E] 9836 Kabini [Radeon HD 8280 / R3 Series] 9837 Kabini [Radeon HD 8280E] 9838 Kabini [Radeon HD 8240 / R3 Series] 9839 Kabini [Radeon HD 8180] 983d Temash [Radeon HD 8250/8280G] 9840 Kabini HDMI/DP Audio 1849 9840 QC5000-ITX/PH 9850 Mullins [Radeon R3 Graphics] 9851 Mullins [Radeon R4/R5 Graphics] 1179 f928 Beema [Radeon R5 Graphics] 9852 Mullins [Radeon R2 Graphics] 9853 Mullins [Radeon R2 Graphics] 9854 Mullins [Radeon R3E Graphics] 9855 Mullins [Radeon R6 Graphics] 9856 Mullins [Radeon R1E/R2E Graphics] 9857 Mullins [Radeon APU XX-2200M with R2 Graphics] 9858 Mullins 9859 Mullins 985a Mullins 985b Mullins 985c Mullins 985d Mullins 985e Mullins 985f Mullins 9874 Wani [Radeon R5/R6/R7 Graphics] 1002 1871 Radeon R5 Graphics 1002 1e20 Radeon R7 Graphics 1028 06bd Radeon R6 Graphics 103c 2b44 Radeon R6 Graphics 103c 8221 Radeon R5 Graphics 103c 8223 Radeon R5 Graphics 103c 8238 Radeon R7 Graphics 103c 8353 Radeon R7 Graphics 1458 d000 Radeon R7 Graphics 17aa 5113 Radeon R6 Graphics 17aa 5116 Radeon R6 Graphics 17aa 5118 Radeon R5 Graphics 9890 Amur 98c0 Nolan 98e4 Stoney [Radeon R2/R3/R4/R5 Graphics] 9900 Trinity [Radeon HD 7660G] 103c 1985 Pavilion 17-e163sg Notebook PC # AMD A10-5800K CPU 9901 Trinity [Radeon HD 7660D] 9902 Trinity HDMI Audio Controller 103c 194e ProBook 455 G1 Notebook 103c 1985 Pavilion 17-e163sg Notebook PC 9903 Trinity [Radeon HD 7640G] 103c 194e ProBook 455 G1 Notebook 103c 1952 ProBook 455 G1 Notebook 9904 Trinity [Radeon HD 7560D] 9905 Trinity GL [FirePro A300] 9906 Trinity GL [FirePro A320] 9907 Trinity [Radeon HD 7620G] 9908 Trinity [Radeon HD 7600G] 9909 Trinity [Radeon HD 7500G] 990a Trinity [Radeon HD 7500G] 990b Richland [Radeon HD 8650G] 990c Richland [Radeon HD 8670D] 990d Richland [Radeon HD 8550G] 990e Richland [Radeon HD 8570D] 990f Richland [Radeon HD 8610G] 9910 Trinity [Radeon HD 7660G] 9913 Trinity [Radeon HD 7640G] 9917 Trinity [Radeon HD 7620G] 9918 Trinity [Radeon HD 7600G] 9919 Trinity [Radeon HD 7500G] 991e Bishop [Xbox One S APU] 9920 Liverpool [Playstation 4 APU] 9921 Liverpool HDMI/DP Audio Controller 9922 Starshp 9923 Starsha2 [Kingston/Clayton] 9924 Gladius 9925 Kingston/Clayton/Jupiter/Gladius/Montego HDMI Controller 9926 Jupiter 9990 Trinity 2 [Radeon HD 7520G] 9991 Trinity 2 [Radeon HD 7540D] 9992 Trinity 2 [Radeon HD 7420G] 9993 Trinity 2 [Radeon HD 7480D] 9994 Trinity 2 [Radeon HD 7400G] 9995 Richland [Radeon HD 8450G] 9996 Richland [Radeon HD 8470D] 9997 Richland [Radeon HD 8350G] 9998 Richland [Radeon HD 8370D] 9999 Richland [Radeon HD 8510G] 999a Richland [Radeon HD 8410G] 999b Richland [Radeon HD 8310G] 999c Richland [Radeon HD 8650D] # AMD Quad-Core A8-Series APU A8-6500T with Radeon HD 8550D 999d Richland [Radeon HD 8550D] 99a0 Trinity 2 [Radeon HD 7520G] 99a2 Trinity 2 [Radeon HD 7420G] 99a4 Trinity 2 [Radeon HD 7400G] aa00 R600 HDMI Audio [Radeon HD 2900 GT/PRO/XT] aa01 RV635 HDMI Audio [Radeon HD 3650/3730/3750] aa08 RV630 HDMI Audio [Radeon HD 2600 PRO/XT / HD 3610] aa10 RV610 HDMI Audio [Radeon HD 2350 PRO / 2400 PRO/XT / HD 3410] 174b aa10 Radeon HD 2400 PRO 18bc aa10 Radeon HD 2400 PRO aa18 RV670/680 HDMI Audio [Radeon HD 3690/3800 Series] aa20 RV635 HDMI Audio [Radeon HD 3650/3730/3750] aa28 RV620 HDMI Audio [Radeon HD 3450/3470/3550/3570] aa30 RV770 HDMI Audio [Radeon HD 4850/4870] 174b aa30 Radeon HD 4850 512MB GDDR3 PCI-E Dual Slot Fansink aa38 RV710/730 HDMI Audio [Radeon HD 4000 series] 103c 3628 dv6-1190en aa50 Cypress HDMI Audio [Radeon HD 5830/5850/5870 / 6850/6870 Rebrand] aa58 Juniper HDMI Audio [Radeon HD 5700 Series] # 5500, 5600 and mobile 5700 series aa60 Redwood HDMI Audio [Radeon HD 5000 Series] 1025 033d Mobility Radeon HD 5650 1025 0347 Aspire 7740G aa68 Cedar HDMI Audio [Radeon HD 5400/6300/7300 Series] 1028 aa68 XPS 8300 aa80 Cayman/Antilles HDMI Audio [Radeon HD 6930/6950/6970/6990] aa88 Barts HDMI Audio [Radeon HD 6790/6850/6870 / 7720 OEM] aa90 Turks HDMI Audio [Radeon HD 6500/6600 / 6700M Series] 1028 04a3 Precision M4600 aa98 Caicos HDMI Audio [Radeon HD 6450 / 7450/8450/8490 OEM / R5 230/235/235X OEM] 174b aa98 Radeon HD 6450 1GB DDR3 aaa0 Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970] aab0 Oland/Hainan/Cape Verde/Pitcairn HDMI Audio [Radeon HD 7000 Series] aab8 Tiran HDMI Audio aac0 Tobago HDMI Audio [Radeon R7 360 / R9 360 OEM] 1043 aac0 R7260X-DC2OC-2GD5 aac8 Hawaii HDMI Audio [Radeon R9 290/290X / 390/390X] aad8 Tonga HDMI Audio [Radeon R9 285/380] 174b aad8 Radeon R9 285/380 HDMI Audio aae0 Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] aae8 Fiji HDMI/DP Audio [Radeon R9 Nano / FURY/FURY X] aaf0 Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] aaf8 Vega 10 HDMI Audio [Radeon Vega 56/64] ab00 Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] ab08 Polaris 22 HDMI Audio ab10 Lexa HDMI Audio ab18 Vega 12 HDMI Audio ab20 Vega 20 HDMI Audio [Radeon VII] ab38 Navi 10 HDMI Audio ac00 Theater 506 World-Wide Analog Decoder ac01 Theater 506 World-Wide Analog Decoder ac02 TV Wonder HD 600 PCIe ac03 Theater 506 PCIe ac04 Theater 506 USB ac05 Theater 506 USB ac06 Theater 506 External USB ac07 Theater 506 External USB ac08 Theater 506A World-Wide Analog Decoder + Demodulator ac09 Theater 506A World-Wide Analog Decoder + Demodulator ac0a Theater 506A PCIe ac0b Theater 506A PCIe ac0c Theater 506A USB ac0d Theater 506A USB ac0e Theater 506A External USB ac0f Theater 506A External USB ac12 Theater HD T507 (DVB-T) TV tuner/capture device cab0 RS100 Host Bridge cab2 RS200 Host Bridge cab3 RS250 Host Bridge cbb2 RS200 Host Bridge 1003 ULSI Systems 0201 US201 1004 VLSI Technology Inc 0005 82C592-FC1 0006 82C593-FC1 0007 82C594-AFC2 0008 82C596/7 [Wildcat] 0009 82C597-AFC2 000c 82C541 [Lynx] 000d 82C543 [Lynx] 0101 82C532 0102 82C534 [Eagle] 0103 82C538 0104 82C535 0105 82C147 0200 82C975 0280 82C925 0304 QSound ThunderBird PCI Audio 1004 0304 QSound ThunderBird PCI Audio 122d 1206 DSP368 Audio 1483 5020 XWave Thunder 3D Audio 0305 QSound ThunderBird PCI Audio Gameport 1004 0305 QSound ThunderBird PCI Audio Gameport 122d 1207 DSP368 Audio Gameport 1483 5021 XWave Thunder 3D Audio Gameport 0306 QSound ThunderBird PCI Audio Support Registers 1004 0306 QSound ThunderBird PCI Audio Support Registers 122d 1208 DSP368 Audio Support Registers 1483 5022 XWave Thunder 3D Audio Support Registers 0307 SAA7785 ThunderBird PCI Audio 1004 0703 Philips Rhythmic Edge PSC703 1004 0705 Philips Seismic Edge PSC705 1004 0706 Philips Acoustic Edge PSC706 0308 SAA7785 ThunderBird PCI Audio Gameport 0702 VAS96011 [Golden Gate II] 0703 Tollgate 1005 Avance Logic Inc. [ALI] 2064 ALG2032/2064 2128 ALG2364A 2301 ALG2301 2302 ALG2302 2364 ALG2364 2464 ALG2364A 2501 ALG2564A/25128A 1006 Reply Group 1007 NetFrame Systems Inc 1008 Epson 100a Phoenix Technologies 100b National Semiconductor Corporation 0001 DP83810 0002 87415/87560 IDE 000e 87560 Legacy I/O 000f FireWire Controller 0011 NS87560 National PCI System I/O 0012 USB Controller 0020 DP83815 (MacPhyter) Ethernet Controller 103c 0024 Pavilion ze4400 builtin Network 12d9 000c Aculab E1/T1 PMXc cPCI carrier card 1385 f311 FA311 / FA312 (FA311 with WoL HW) 1385 f312 FA312 (rev. A1) Fast Ethernet PCI Adapter 0021 PC87200 PCI to ISA Bridge 0022 DP83820 10/100/1000 Ethernet Controller 1186 4900 DGE-500T 1385 621a GA621 1385 622a GA622T 0028 Geode GX2 Host Bridge 002a CS5535 South Bridge 002b CS5535 ISA bridge 002d CS5535 IDE 002e CS5535 Audio 002f CS5535 USB 0030 Geode GX2 Graphics Processor 0035 DP83065 [Saturn] 10/100/1000 Ethernet Controller 0500 SCx200 Bridge 0501 SCx200 SMI 0502 SCx200, SC1100 IDE controller 100b 0502 IDE Controller 0503 SCx200, SC1100 Audio Controller 100b 0503 XpressAudio controller 0504 SCx200 Video 0505 SCx200 XBus 0510 SC1100 Bridge 100b 0500 GPIO and LPC support bridge 0511 SC1100 SMI & ACPI 100b 0501 SC1100 SMI & ACPI bridge 0515 SC1100 XBus 100b 0505 SC1100 PCI to XBus bridge d001 87410 IDE 100c Tseng Labs Inc 3202 ET4000/W32p rev A 3205 ET4000/W32p rev B 3206 ET4000/W32p rev C 3207 ET4000/W32p rev D 3208 ET6000 4702 ET6300 100d AST Research Inc 100e Weitek 9000 P9000 Viper 9001 P9000 Viper 9002 P9000 Viper 9100 P9100 Viper Pro/SE 1010 Video Logic, Ltd. 1011 Digital Equipment Corporation 0001 DECchip 21050 0002 DECchip 21040 [Tulip] 0004 DECchip 21030 [TGA] 0007 NVRAM [Zephyr NVRAM] 0008 KZPSA [KZPSA] 0009 DECchip 21140 [FasterNet] 1025 0310 21140 Fast Ethernet 10b8 2001 SMC9332BDT EtherPower 10/100 10b8 2002 SMC9332BVT EtherPower T4 10/100 10b8 2003 SMC9334BDT EtherPower 10/100 (1-port) 1109 2400 ANA-6944A/TX Fast Ethernet 1112 2300 RNS2300 Fast Ethernet 1112 2320 RNS2320 Fast Ethernet 1112 2340 RNS2340 Fast Ethernet 1113 1207 EN-1207-TX Fast Ethernet 1186 1100 DFE-500TX Fast Ethernet 1186 1112 DFE-570TX Fast Ethernet 1186 1140 DFE-660 Cardbus Ethernet 10/100 1186 1142 DFE-660 Cardbus Ethernet 10/100 11f6 0503 Freedomline Fast Ethernet 1282 9100 AEF-380TXD Fast Ethernet 1385 1100 FA310TX Fast Ethernet 2646 0001 KNE100TX Fast Ethernet 000a 21230 Video Codec 000d PBXGB [TGA2] 000f DEFPA FDDI PCI-to-PDQ Interface Chip [PFI] 1011 def1 FDDI controller (DEFPA) 103c def1 FDDI controller (3X-DEFPA) 0014 DECchip 21041 [Tulip Pass 3] 1186 0100 DE-530+ 0016 DGLPB [OPPO] 0017 PV-PCI Graphics Controller (ZLXp-L) 0018 Memory Channel interface 0019 DECchip 21142/43 1011 500a DE500A Fast Ethernet 1011 500b DE500B Fast Ethernet 1014 0001 10/100 EtherJet Cardbus 1025 0315 ALN315 Fast Ethernet 1033 800c PC-9821-CS01 100BASE-TX Interface Card 1033 800d PC-9821NR-B06 100BASE-TX Interface Card 103c 125a 10/100Base-TX (PCI) [A5506B] 108d 0016 Rapidfire 2327 10/100 Ethernet 108d 0017 GoCard 2250 Ethernet 10/100 Cardbus 10b8 2005 SMC8032DT Extreme Ethernet 10/100 10b8 8034 SMC8034 Extreme Ethernet 10/100 10ef 8169 Cardbus Fast Ethernet 1109 2a00 ANA-6911A/TX Fast Ethernet 1109 2b00 ANA-6911A/TXC Fast Ethernet 1109 3000 ANA-6922/TX Fast Ethernet 1113 1207 Cheetah Fast Ethernet 1113 2220 Cardbus Fast Ethernet 115d 0002 Cardbus Ethernet 10/100 1179 0203 Fast Ethernet 1179 0204 Cardbus Fast Ethernet 1186 1100 DFE-500TX Fast Ethernet 1186 1101 DFE-500TX Fast Ethernet 1186 1102 DFE-500TX Fast Ethernet 1186 1112 DFE-570TX Quad Fast Ethernet 11f0 4235 21143 [FASTLine-II UTP 10/100] 1259 2800 AT-2800Tx Fast Ethernet 1266 0004 Eagle Fast EtherMAX 12af 0019 NetFlyer Cardbus Fast Ethernet 1374 0001 Cardbus Ethernet Card 10/100 1374 0002 Cardbus Ethernet Card 10/100 1374 0007 Cardbus Ethernet Card 10/100 1374 0008 Cardbus Ethernet Card 10/100 1385 2100 FA510 1395 0001 10/100 Ethernet CardBus PC Card 13d1 ab01 EtherFast 10/100 Cardbus (PCMPC200) 1498 000a TPMC880-10 10/100Base-T and 10Base2 PMC Ethernet Adapter 1498 000b TPMC880-11 Single 10/100Base-T PMC Ethernet Adapter 1498 000c TPMC880-12 Single 10Base2 PMC Ethernet Adapter 14cb 0100 LNDL-100N 100Base-TX Ethernet PC Card 1668 2000 FastNet Pro (PE2000) 2646 0001 KNE100TX 2646 0002 KNE-CB4TX 8086 0001 EtherExpress PRO/100 Mobile CardBus 32 001a Farallon PN9000SX Gigabit Ethernet 0021 DECchip 21052 0022 DECchip 21150 0023 DECchip 21150 0024 DECchip 21152 0025 DECchip 21153 0026 DECchip 21154 0034 56k Modem Cardbus 1374 0003 56k Modem Cardbus 0045 DECchip 21553 0046 DECchip 21554 0e11 4050 Smart Array 4200 Controller 0e11 4051 Smart Array 4250ES Controller 0e11 4058 Smart Array 431 Controller 103c 10c2 NetRAID-4M 12d9 000a IP Telephony card 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard 9005 0364 5400S (Mustang) 9005 0365 5400S (Mustang) 9005 1364 Dell PowerEdge RAID Controller 2 9005 1365 Dell PowerEdge RAID Controller 2 e4bf 1000 CC8-1-BLUES 1065 StrongARM DC21285 1069 0020 DAC960P / DAC1164P 1012 Micronics Computers Inc 1013 Cirrus Logic 0038 GD 7548 0040 GD 7555 Flat Panel GUI Accelerator 004c GD 7556 Video/Graphics LCD/CRT Ctrlr 00a0 GD 5430/40 [Alpine] 00a2 GD 5432 [Alpine] 00a4 GD 5434-4 [Alpine] 00a8 GD 5434-8 [Alpine] 00ac GD 5436 [Alpine] 00b0 GD 5440 00b8 GD 5446 1af4 1100 QEMU Virtual Machine 00bc GD 5480 1013 00bc CL-GD5480 00d0 GD 5462 00d2 GD 5462 [Laguna I] 00d4 GD 5464 [Laguna] 00d5 GD 5464 BD [Laguna] 00d6 GD 5465 [Laguna] 13ce 8031 Barco Metheus 2 Megapixel, Dual Head 13cf 8031 Barco Metheus 2 Megapixel, Dual Head 00e8 GD 5436U 1100 CL 6729 1110 PD 6832 PCMCIA/CardBus Ctrlr 1112 PD 6834 PCMCIA/CardBus Ctrlr 1113 PD 6833 PCMCIA/CardBus Ctrlr 1200 GD 7542 [Nordic] 1202 GD 7543 [Viking] 1204 GD 7541 [Nordic Light] 4000 MD 5620 [CLM Data Fax Voice] 4400 CD 4400 6001 CS 4610/11 [CrystalClear SoundFusion Audio Accelerator] 1014 1010 CS4610 SoundFusion Audio Accelerator 6003 CS 4614/22/24/30 [CrystalClear SoundFusion Audio Accelerator] 1013 4280 Crystal SoundFusion PCI Audio Accelerator 1014 0153 ThinkPad 600X/A20m 153b 112e DMX XFire 1024 153b 1136 SiXPack 5.1+ 1681 0050 Game Theater XP 1681 a010 Gamesurround Fortissimo II 1681 a011 Gamesurround Fortissimo III 7.1 5053 3357 Santa Cruz 6004 CS 4614/22/24 [CrystalClear SoundFusion Audio Accelerator] 6005 Crystal CS4281 PCI Audio 1013 4281 Crystal CS4281 PCI Audio 10cf 10a8 Crystal CS4281 PCI Audio 10cf 10a9 Crystal CS4281 PCI Audio 10cf 10aa Crystal CS4281 PCI Audio 10cf 10ab Crystal CS4281 PCI Audio 10cf 10ac Crystal CS4281 PCI Audio 10cf 10ad Crystal CS4281 PCI Audio 10cf 10b4 Crystal CS4281 PCI Audio 1179 0001 Crystal CS4281 PCI Audio 14c0 000c Crystal CS4281 PCI Audio 1014 IBM 0002 PCI to MCA Bridge 0005 Processor to I/O Controller [Alta Lite] 0007 Processor to I/O Controller [Alta MP] 000a PCI to ISA Bridge (IBM27-82376) [Fire Coral] 0017 CPU to PCI Bridge 0018 TR Auto LANstreamer 001b GXT-150P 001c Carrera 001d SCSI-2 FAST PCI Adapter (82G2675) 0020 GXT1000 Graphics Adapter 0022 PCI to PCI Bridge (IBM27-82351) 002d Processor to I/O Controller [Python] 002e SCSI RAID Adapter [ServeRAID] 1014 002e ServeRAID-3x 1014 022e ServeRAID-4H 0031 2 Port Serial Adapter # AS400 iSeries PCI sync serial card 1014 0031 2721 WAN IOA - 2 Port Sync Serial Adapter 0036 PCI to 32-bit LocalBus Bridge [Miami] 0037 PowerPC to PCI Bridge (IBM27-82660) 003a CPU to PCI Bridge 003c GXT250P/GXT255P Graphics Adapter 003e 16/4 Token ring UTP/STP controller 1014 003e Token-Ring Adapter 1014 00cd Token-Ring Adapter + Wake-On-LAN 1014 00ce 16/4 Token-Ring Adapter 2 1014 00cf 16/4 Token-Ring Adapter Special 1014 00e4 High-Speed 100/16/4 Token-Ring Adapter 1014 00e5 16/4 Token-Ring Adapter 2 + Wake-On-LAN 1014 016d iSeries 2744 Card 0045 SSA Adapter 0046 MPIC interrupt controller 0047 PCI to PCI Bridge 0048 PCI to PCI Bridge 0049 Warhead SCSI Controller 004e ATM Controller (14104e00) 004f ATM Controller (14104f00) 0050 ATM Controller (14105000) 0053 25 MBit ATM Controller 0054 GXT500P/GXT550P Graphics Adapter 0057 MPEG PCI Bridge 0058 SSA Adapter [Advanced SerialRAID/X] 005e GXT800P Graphics Adapter 007c ATM Controller (14107c00) 007d 3780IDSP [MWave] 008b EADS PCI to PCI Bridge 008e GXT3000P Graphics Adapter 0090 GXT 3000P 1014 008e GXT-3000P 0091 SSA Adapter 0095 20H2999 PCI Docking Bridge 0096 Chukar chipset SCSI controller 1014 0097 iSeries 2778 DASD IOA 1014 0098 iSeries 2763 DASD IOA 1014 0099 iSeries 2748 DASD IOA 009f PCI 4758 Cryptographic Accelerator 00a5 ATM Controller (1410a500) 00a6 ATM 155MBPS MM Controller (1410a600) 00b7 GXT2000P Graphics Adapter 1092 00b8 FireGL1 AGP 32Mb 00b8 GXT2000P Graphics Adapter 00be ATM 622MBPS Controller (1410be00) 00dc Advanced Systems Management Adapter (ASMA) 00fc CPC710 Dual Bridge and Memory Controller (PCI-64) 0105 CPC710 Dual Bridge and Memory Controller (PCI-32) 010f Remote Supervisor Adapter (RSA) 0142 Yotta Video Compositor Input 1014 0143 Yotta Input Controller (ytin) 0144 Yotta Video Compositor Output 1014 0145 Yotta Output Controller (ytout) 0156 405GP PLB to PCI Bridge 015e 622Mbps ATM PCI Adapter 0160 64bit/66MHz PCI ATM 155 MMF 016e GXT4000P Graphics Adapter 0170 GXT6000P Graphics Adapter 1092 0172 Fire GL2 1092 0173 Fire GL3 1092 0174 Fire GL4 1092 0184 Fire GL4s 017d GXT300P Graphics Adapter 0180 Snipe chipset SCSI controller 1014 0241 iSeries 2757 DASD IOA 1014 0264 Quad Channel PCI-X U320 SCSI RAID Adapter (2780) 0188 EADS-X PCI-X to PCI-X Bridge 01a7 PCI-X to PCI-X Bridge 01bd ServeRAID Controller 1014 01bd ServeRAID 4Lx 1014 01be ServeRAID-4M 1014 01bf ServeRAID-4L 1014 0208 ServeRAID-4Mx 1014 020e ServeRAID-4Lx 1014 022e ServeRAID-4H 1014 0258 ServeRAID-5i 1014 0259 ServeRAID-5i 01c1 64bit/66MHz PCI ATM 155 UTP 01e6 Cryptographic Accelerator 01ef PowerPC 440GP PCI Bridge 1734 102b PCEAS PCI-X Dual Port ESCON Adapter 1734 10f8 PCEAT PCI-Express Dual Port ESCON Adapter 01ff 10/100 Mbps Ethernet 0219 Multiport Serial Adapter 1014 021a Dual RVX 1014 0251 Internal Modem/RVX 1014 0252 Quad Internal Modem 021b GXT6500P Graphics Adapter 021c GXT4500P Graphics Adapter 0233 GXT135P Graphics Adapter 028c Citrine chipset SCSI controller 1014 028d Dual Channel PCI-X DDR SAS RAID Adapter (572E) 1014 02be Dual Channel PCI-X DDR U320 SCSI RAID Adapter (571B) 1014 02c0 Dual Channel PCI-X DDR U320 SCSI Adapter (571A) 1014 030d PCI-X DDR Auxiliary Cache Adapter (575B) 02a1 Calgary PCI-X Host Bridge 02bd Obsidian chipset SCSI controller 1014 02c1 PCI-X DDR 3Gb SAS Adapter (572A/572C) 1014 02c2 PCI-X DDR 3Gb SAS RAID Adapter (572B/571D) 1014 0338 PCI-X DDR Auxiliary Cache Adapter (575C) 0302 Winnipeg PCI-X Host Bridge 0308 CalIOC2 PCI-E Root Port 0311 FC 5740/1954 4-Port 10/100/1000 Base-TX PCI-X Adapter for POWER 0314 ZISC 036 Neural accelerator card 032d Axon - Cell Companion Chip 1014 03a1 PCIe PowerXCell 8i Cell Accelerator Board 0339 Obsidian-E PCI-E SCSI controller 1014 030a PCIe 3Gb SAS RAID Adapter (574E) 1014 033a PCIe 3Gb SAS Adapter (57B3) 1014 035c PCIe x8 Internal 3Gb SAS adapter (57CC) 1014 0360 PCI-E Auxiliary Cache Adapter (57B7) 033d PCI-E IPR SAS Adapter (FPGA) 1014 033c PCIe2 1.8GB Cache 6Gb SAS RAID Adapter Tri-port (57B5) 1014 0353 PCIe2 3.1GB Cache 6Gb SAS RAID Enclosure (57C3) 1014 0354 PCIe2 6Gb SAS Adapter Dual-port (57C4) 1014 0356 PCIe2 1.8GB Cache 6Gb SAS RAID & SSD Adapter (574D) 1014 035f PCIe2 6Gb SAS Adapter Quad-port (57B2) 034a PCI-E IPR SAS Adapter (ASIC) 1014 033b PCIe2 6Gb SAS RAID Adapter Quad-port (57B4) 1014 0355 PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57B1) 1014 0357 PCIe2 6Gb SAS Adapter Quad-port (57C6) 1014 035d PCIe3 1.8GB Cache RAID SAS Adapter Quad-port 6GB (57C8) 1014 035e PCIe2 3.6GB Cache 6Gb SAS RAID Adapter Quad-port (57CE) 1014 03fb PCIe3 28GB Cache RAID SAS Enclosure 6Gb x 16 (57D5) 1014 03fe PCIe3 x8 Cache SAS RAID Internal Adapter 6Gb (57D8) 1014 03ff PCIe3 x8 SAS RAID Internal Adapter 6Gb (57D7) 1014 0474 PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57EB) 1014 0475 PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EC) 1014 0499 PCIe3 x16 Cache SAS RAID Internal Adapter 6Gb (57ED) 1014 049a PCIe3 x16 SAS RAID Internal Adapter 6Gb (57EE) 1014 04c7 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCA) 1014 04c8 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CD2) 1014 04c9 PCIe3 x 8 Cache SAS RAID Internal Adapter 6GB(2CCD) 03dc POWER8 Host Bridge (PHB3) 044b GenWQE Accelerator Adapter 04aa Flash Adapter 90 (PCIe2 0.9TB) 04c1 POWER9 Host Bridge (PHB4) 04da PCI-E IPR SAS+ Adapter (ASIC) 1014 04fb PCIe3 x16 20GB Cache 12Gb Quad SAS RAID+ Adapter(580B) 1014 04fc PCIe3 x8 12Gb Quad SAS RAID+ Adapter(580A) 04ed Internal Shared Memory (ISM) virtual PCI device 3022 QLA3022 Network Adapter 4022 QLA3022 Network Adapter ffff MPIC-2 interrupt controller 1015 LSI Logic Corp of Canada 1016 ICL Personal Systems 1017 SPEA Software AG 5343 SPEA 3D Accelerator 1018 Unisys Systems 1019 Elitegroup Computer Systems 101a AT&T GIS (NCR) 0005 100VG ethernet 0007 BYNET BIC4G/2C/2G 101a 0019 BYNET BIC2C 101a 001c BYNET BIC2G 101a 001f BYNET BIC4G 0009 PQS Memory Controller 000a BYNET BPCI Adapter 000b BYNET 4 Port BYA Switch (BYA4P) 000c BYNET 4 Port BYA Switch (BYA4G) 0010 NCR AMC Memory Controller 1dc1 BYNET BIC2M/BIC4M/BYA4M 101a 0019 BIC2M 101a 001f BIC4M 101a 0ece BYA4M 1fa8 BYNET Multi-port BIC Adapter (XBIC Based) 101a 00c3 BYNET BIC2SE 101b Vitesse Semiconductor # Maxim VSC452 Super BMC Controller with Video 0452 VSC452 [SuperBMC] 101c Western Digital 0193 33C193A 0196 33C196A 0197 33C197A 0296 33C296A 3193 7193 3197 7197 3296 33C296A 4296 34C296 9710 Pipeline 9710 9712 Pipeline 9712 c24a 90C # ID for Newly Acquired Storage Products from Vitesse 101d Maxim Integrated Products 101e American Megatrends Inc. 0009 MegaRAID 428 Ultra RAID Controller (rev 03) 1960 MegaRAID 101e 0471 MegaRAID 471 Enterprise 1600 RAID Controller 101e 0475 MegaRAID 475 Express 500/500LC RAID Controller 101e 0477 MegaRAID 477 Elite 3100 RAID Controller 101e 0493 MegaRAID 493 Elite 1600 RAID Controller 101e 0494 MegaRAID 494 Elite 1650 RAID Controller 101e 0503 MegaRAID 503 Enterprise 1650 RAID Controller 101e 0511 MegaRAID 511 i4 IDE RAID Controller 101e 0522 MegaRAID 522 i4133 RAID Controller 1028 0471 PowerEdge RAID Controller 3/QC 1028 0475 PowerEdge RAID Controller 3/SC 1028 0493 PowerEdge RAID Controller 3/DC 1028 0511 PowerEdge Cost Effective RAID Controller ATA100/4Ch 103c 60e7 NetRAID-1M 103c 60e8 NetRaid 2M [AMI MegaRaid 493] 9010 MegaRAID 428 Ultra RAID Controller 9030 EIDE Controller 9031 EIDE Controller 9032 EIDE & SCSI Controller 9033 SCSI Controller 9040 Multimedia card 9060 MegaRAID 434 Ultra GT RAID Controller 9063 MegaRAC 101e 0767 Dell Remote Assistant Card 2 101f PictureTel 1020 Hitachi Computer Products 1021 OKI Electric Industry Co. Ltd. 1022 Advanced Micro Devices, Inc. [AMD] 1100 K8 [Athlon64/Opteron] HyperTransport Technology Configuration 1101 K8 [Athlon64/Opteron] Address Map 1102 K8 [Athlon64/Opteron] DRAM Controller 1103 K8 [Athlon64/Opteron] Miscellaneous Control 1200 Family 10h Processor HyperTransport Configuration 1201 Family 10h Processor Address Map 1202 Family 10h Processor DRAM Controller 1203 Family 10h Processor Miscellaneous Control 1204 Family 10h Processor Link Control 1300 Family 11h Processor HyperTransport Configuration 1301 Family 11h Processor Address Map 1302 Family 11h Processor DRAM Controller 1303 Family 11h Processor Miscellaneous Control 1304 Family 11h Processor Link Control 1305 Griffin Function 5 1306 Griffin Function 6 1307 Griffin Function 7 1308 Kaveri Audio Controller 1314 Wrestler/Bheem/Ontario/Krishna Audio Controller 13e0 Ariel Root Complex 13e1 Ariel IOMMU 13e2 Ariel PCIe Dummy Host Bridge 13e3 Ariel PCIe GPP Bridge 13e4 Ariel PCIe Dummy Host Bridge 13e5 Ariel Internal PCIe GPP Bridge 0 to Bus A 13e6 Ariel Internal PCIe GPP Bridge 0 to Bus B 13e7 Ariel SMBus Controller 13e8 Ariel LPC Bridge 13e9 Ariel Internal GPU 13ea Ariel HD Audio Controller 13eb Ariel HD Audio Coprocessor 13ec Ariel Cryptographic Coprocessor 13ed Ariel USB 3.1 Type C: Gen2 x 1port + DP Alt Mode 13ee Ariel USB 3.1 Type A: Gen2 x 2 ports 13ef Ariel ZCN/MP4 13f0 Ariel Device 24: Function 0 13f1 Ariel Device 24: Function 1 13f2 Ariel Device 24: Function 2 13f3 Ariel Device 24: Function 3 13f4 Ariel Device 24: Function 4 13f5 Ariel Device 24: Function 5 13f6 Ariel Device 24: Function 6 13f7 Ariel Device 24: Function 7 1400 Family 15h (Models 10h-1fh) Processor Function 0 1401 Family 15h (Models 10h-1fh) Processor Function 1 1402 Family 15h (Models 10h-1fh) Processor Function 2 1403 Family 15h (Models 10h-1fh) Processor Function 3 1404 Family 15h (Models 10h-1fh) Processor Function 4 1405 Family 15h (Models 10h-1fh) Processor Function 5 1410 Family 15h (Models 10h-1fh) Processor Root Complex 103c 1985 Pavilion 17-e163sg Notebook PC 1412 Family 15h (Models 10h-1fh) Processor Root Port 1022 1234 Trinity A-series APU 1413 Family 15h (Models 10h-1fh) Processor Root Port 1414 Family 15h (Models 10h-1fh) Processor Root Port 1022 1234 Trinity A-series APU 1415 Family 15h (Models 10h-1fh) Processor Root Port 1416 Family 15h (Models 10h-1fh) Processor Root Port 1417 Family 15h (Models 10h-1fh) Processor Root Port 1418 Family 15h (Models 10h-1fh) Processor Root Port 1419 Family 15h (Models 10h-1fh) I/O Memory Management Unit 141a Family 15h (Models 30h-3fh) Processor Function 0 141b Family 15h (Models 30h-3fh) Processor Function 1 141c Family 15h (Models 30h-3fh) Processor Function 2 141d Family 15h (Models 30h-3fh) Processor Function 3 141e Family 15h (Models 30h-3fh) Processor Function 4 141f Family 15h (Models 30h-3fh) Processor Function 5 1422 Family 15h (Models 30h-3fh) Processor Root Complex 1423 Family 15h (Models 30h-3fh) I/O Memory Management Unit 1424 Family 15h (Models 30h-3fh) Processor Root Port 1425 Kaveri P2P Bridge for GFX PCIe Port [1:0] 1426 Family 15h (Models 30h-3fh) Processor Root Port 142e Liverpool Processor HT configuration 142f Liverpool Processor Address Maps 1430 Liverpool Processor DRAM configuration 1431 Liverpool Processor Misc configuration 1432 Liverpool Processor PM configuration 1433 Liverpool Processor NB Performance Monitor 1434 Liverpool Processor SPLL Configuration 1436 Liverpool Processor Root Complex 1437 Liverpool I/O Memory Management Unit 1438 Liverpool UMI PCIe Dummy Host Bridge 1439 Family 16h Processor Functions 5:1 143a Kingston/Clayton/Gladius/Montego Root Complex 143b Kingston/Clayton/Gladius/Montego P2P Bridge for UMI Link 1440 Matisse Device 24: Function 0 1441 Matisse Device 24: Function 1 1442 Matisse Device 24: Function 2 1443 Matisse Device 24: Function 3 1444 Matisse Device 24: Function 4 1445 Matisse Device 24: Function 5 1446 Matisse Device 24: Function 6 1447 Matisse Device 24: Function 7 1448 Renoir Device 24: Function 0 1449 Renoir Device 24: Function 1 144a Renoir Device 24: Function 2 144b Renoir Device 24: Function 3 144c Renoir Device 24: Function 4 144d Renoir Device 24: Function 5 144e Renoir Device 24: Function 6 144f Renoir Device 24: Function 7 1450 Family 17h (Models 00h-0fh) Root Complex 1451 Family 17h (Models 00h-0fh) I/O Memory Management Unit 1452 Family 17h (Models 00h-1fh) PCIe Dummy Host Bridge 1453 Family 17h (Models 00h-0fh) PCIe GPP Bridge 1454 Family 17h (Models 00h-0fh) Internal PCIe GPP Bridge 0 to Bus B 1455 Zeppelin/Renoir PCIe Dummy Function 1456 Family 17h (Models 00h-0fh) Platform Security Processor 1457 Family 17h (Models 00h-0fh) HD Audio Controller 145a Zeppelin/Raven/Raven2 PCIe Dummy Function 145b Zeppelin Non-Transparent Bridge 145c Family 17h (Models 00h-0fh) USB 3.0 Host Controller 145d Zeppelin Switch Upstream (PCIE SW.US) 145e Zeppelin Switch Downstream (PCIE SW.DS) 145f Zeppelin USB 3.0 Host controller 1460 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 0 1461 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 1 1462 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 2 1463 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 3 1464 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 4 1465 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 5 1466 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 6 1467 Family 17h (Models 00h-0fh) Data Fabric: Device 18h; Function 7 1468 Zeppelin Cryptographic Coprocessor NTBCCP 1470 Vega 10 PCIe Bridge 1471 Vega 10 PCIe Bridge 1480 Starship/Matisse Root Complex 1462 7c37 X570-A PRO motherboard 1481 Starship/Matisse IOMMU 1482 Starship/Matisse PCIe Dummy Host Bridge 1483 Starship/Matisse GPP Bridge 1484 Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] 1485 Starship/Matisse Reserved SPP 1486 Starship/Matisse Cryptographic Coprocessor PSPCPP 1487 Starship/Matisse HD Audio Controller 1462 9c37 X570-A PRO motherboard 1488 Starship Reserved SSP 1489 Starship Reserved SSP 148a Starship/Matisse PCIe Dummy Function 148b Starship/Matisse Non-Transparent Bridge 148c Starship USB 3.0 Host Controller 148d Starship/Matisse Switch Upstream (PCIE SW.US) 148e Starship/Matisse Switch Downstream (PCIE SW.DS) 148f Starship Reserved SSP 1490 Starship Device 24; Function 0 1491 Starship Device 24; Function 1 1492 Starship Device 24; Function 2 1493 Starship Device 24; Function 3 1494 Starship Device 24; Function 4 1495 Starship Device 24; Function 5 1496 Starship Device 24; Function 6 1497 Starship Device 24; Function 7 1498 Starship/Matisse PTDMA 1499 Starship/Matisse NVMe 149a Starship PCIe GPP Bridge [1:0] 149b Starship Reserved SSP 149c Matisse USB 3.0 Host Controller 1462 7c37 X570-A PRO motherboard 1510 Family 14h Processor Root Complex 174b 1001 PURE Fusion Mini 1512 Family 14h Processor Root Port 1513 Family 14h Processor Root Port 1514 Family 14h Processor Root Port 1515 Family 14h Processor Root Port 1516 Family 14h Processor Root Port 1530 Family 16h Processor Function 0 1531 Family 16h Processor Function 1 1532 Family 16h Processor Function 2 1533 Family 16h Processor Function 3 1534 Family 16h Processor Function 4 1535 Family 16h Processor Function 5 1536 Family 16h Processor Root Complex 1849 1536 QC5000-ITX/PH 1537 Kabini/Mullins PSP-Platform Security Processor 1538 Family 16h Processor Function 0 1539 Kabini P2P Bridge for PCIe Ports[4:0] 1540 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky HT Configuration 1541 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky Address Maps 1542 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky DRAM Configuration 1543 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky Miscellaneous Configuration 1544 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky PM Configuration 1545 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky NB Performance Monitor 1546 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky Root Complex 1547 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky IOMMU 1548 Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky UMI PCIe Dummy Host Bridge 1549 Kryptos/Cato/Garfield/Garfield+ P2P Bridge for PCIe Port [3:0] 154a Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky Audio Processor 154b Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky Security Processor 154d Kryptos/Cato/Garfield/Garfield+/Arlene/Pooky/Anubis HDMI Controller 154f Anubis Audio Processor 1550 Garfield+/Arlene/Pooky/Anubis SPLL Configuration 1553 Arlene/Pooky P2P Bridge for PCIE (3:0) 155b Anubis Root Complex 155c Anubis IOMMU 155d Anubis UMI PCIe Dummy Bridge 155e Anubis P2P Bridge for PCIe Ports [4:0] 1560 Anubis Security Processor 1566 Family 16h (Models 30h-3fh) Processor Root Complex 1567 Mullins IOMMU 156b Family 16h (Models 30h-3fh) Host Bridge 1570 Family 15h (Models 60h-6fh) Processor Function 0 1571 Family 15h (Models 60h-6fh) Processor Function 1 1572 Family 15h (Models 60h-6fh) Processor Function 2 1573 Family 15h (Models 60h-6fh) Processor Function 3 1574 Family 15h (Models 60h-6fh) Processor Function 4 1575 Family 15h (Models 60h-6fh) Processor Function 5 1576 Family 15h (Models 60h-6fh) Processor Root Complex 1577 Family 15h (Models 60h-6fh) I/O Memory Management Unit 1578 Carrizo Platform Security Processor 1579 Carrizo Audio Processor 157a Family 15h (Models 60h-6fh) Audio Controller 157b Family 15h (Models 60h-6fh) Host Bridge 157c Family 15h (Models 60h-6fh) Processor Root Port 157d Carrizo Audio Dummy Host Bridge 157e Carrizo Audio Controller 1580 Family 16h (Models 30h-3fh) Processor Function 0 1581 Family 16h (Models 30h-3fh) Processor Function 1 1582 Family 16h (Models 30h-3fh) Processor Function 2 1583 Family 16h (Models 30h-3fh) Processor Function 3 1584 Family 16h (Models 30h-3fh) Processor Function 4 1585 Family 16h (Models 30h-3fh) Processor Function 5 1590 Amur/Nolan HT Configuration 1591 Amur/Nolan Address Maps 1592 Amur/Nolan DRAM Configuration 1593 Amur/Nolan Miscellaneous Configuration 1594 Amur/Nolan PM Configuration 1595 Amur/Nolan NB Performance Monitor 1596 Amur/Nolan Root Complex 1597 Amur/Nolan IOMMU 1598 Amur/Nolan Platform Security Processor 1599 Amur/Nolan PCIe Dummy Host Bridge 159d Amur Function 6: Gasket 15b0 Stoney HT Configuration 15b1 Stoney Address Maps 15b2 Stoney DRAM Configuration 15b3 Stoney Miscellaneous Configuration 15b4 Stoney PM Configuration 15b5 Stoney NB Performance Monitor 15bc Stoney PCIe [GFX,GPP] Bridge [4:0] 15be Stoney Audio Processor 15d0 Raven/Raven2 Root Complex 103c 8615 Pavilion Laptop 15-cw1xxx 15d1 Raven/Raven2 IOMMU 103c 8615 Pavilion Laptop 15-cw1xxx 15d2 Raven/Raven2 PCIe Dummy Host Bridge 15d3 Raven/Raven2 PCIe GPP Bridge [6:0] 15d4 FireFlight USB 3.1 15d5 FireFlight USB 3.1 15da Raven/Raven2 PCIe Dummy Host Bridge 15db Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus A 15dc Raven/Raven2 Internal PCIe GPP Bridge 0 to Bus B 15de Raven/Raven2/FireFlight HD Audio Controller 15df Family 17h (Models 10h-1fh) Platform Security Processor 17aa 5124 ThinkPad E595 15e0 Raven USB 3.1 103c 8615 Pavilion Laptop 15-cw1xxx 17aa 5124 ThinkPad E595 15e1 Raven USB 3.1 103c 8615 Pavilion Laptop 15-cw1xxx 17aa 5124 ThinkPad E595 15e2 Raven/Raven2/FireFlight/Renoir Audio Processor 17aa 5124 ThinkPad E595 15e3 Family 17h (Models 10h-1fh) HD Audio Controller 103c 8615 Pavilion Laptop 15-cw1xxx 17aa 5124 ThinkPad E595 15e4 Raven/Raven2/Renoir Sensor Fusion Hub 15e5 Raven2 USB 3.1 15e6 Raven/Raven2/Renoir Non-Sensor Fusion Hub KMDF driver 1022 15e4 Raven/Raven2/Renoir Sensor Fusion Hub 15e8 Raven/Raven2 Device 24: Function 0 15e9 Raven/Raven2 Device 24: Function 1 15ea Raven/Raven2 Device 24: Function 2 15eb Raven/Raven2 Device 24: Function 3 15ec Raven/Raven2 Device 24: Function 4 15ed Raven/Raven2 Device 24: Function 5 15ee Raven/Raven2 Device 24: Function 6 15ef Raven/Raven2 Device 24: Function 7 15f0 FireFlight Device 24: Function 0 15f1 FireFlight Device 24: Function 1 15f2 FireFlight Device 24: Function 2 15f3 FireFlight Device 24: Function 3 15f4 FireFlight Device 24: Function 4 15f5 FireFlight Device 24: Function 5 15f6 FireFlight Device 24: Function 6 15f7 FireFlight Device 24: Function 7 15f8 FireFlight Root Complex 15f9 FireFlight IOMMU 15fa FireFlight PCIe Dummy Host Bridge 15fb FireFlight PCIe GPP Bride 3:0 15fc FireFlight PCIe Dummy Host Bridge 15fd FireFlight Internal PCIe GPP Bridge 0 to Bus A 15fe FireFlight Internal PCIe GPP Bridge 0 to Bus B 15ff FireFlight Bus A; Device 0: Function 0: Internal GPU 1600 Family 15h Processor Function 0 1601 Family 15h Processor Function 1 1602 Family 15h Processor Function 2 1603 Family 15h Processor Function 3 1604 Family 15h Processor Function 4 1605 Family 15h Processor Function 5 1606 Arden Security Processor 1608 Arden Device 18h: Function 0 1609 Arden Device 18h: Function 1 160a Arden Device 18h: Function 2 160b Arden Device 18h: Function 3 160c Arden Device 18h: Function 4 160d Arden Device 18h: Function 5 160e Arden Device 18h: Function 6 160f Arden Device 18h: Function 7 1620 Anubis HT Configuration 1621 Anubis Address Maps 1622 Anubis DRAM Configuration 1623 Anubis Miscellaneous Configuration 1624 Anubis PM Configuration 1625 Anubis NB Performance Monitor 1626 Arden Root Complex 1627 Arden IOMMU 1628 Arden PCIe Dummy Host Bridge 1629 Arden PCIe GPP Bridge 162a Arden Internal PCIe GPP Bridge 0 to bus X 162b Arden PCIe Non-Transparent Bridge 1630 Renoir Root Complex 1631 Renoir IOMMU 1632 Renoir PCIe Dummy Host Bridge 1633 Renoir PCIe GPP Bridge 1634 Renoir PCIe GPP Bridge 1635 Renoir Internal PCIe GPP Bridge to Bus 1637 Renoir HD Audio Controller 1639 Renoir USB 3.1 1641 Renoir 10GbE Controller Port 0 (XGBE0/1) 1642 Renoir WLAN 1643 Renoir BT 1644 Renoir I2S 1700 Family 12h/14h Processor Function 0 1701 Family 12h/14h Processor Function 1 1702 Family 12h/14h Processor Function 2 1703 Family 12h/14h Processor Function 3 1704 Family 12h/14h Processor Function 4 1705 Family 12h Processor Root Complex 1706 Llano P2P Bridge to external GPU 1707 Family 12h Processor Root Port 1708 Family 12h Processor Root Port 1709 Family 12h Processor Root Port 170a Family 12h Processor Root Port 170b Family 12h Processor Root Port 170c Family 12h Processor Root Port 170d Family 12h Processor Root Port 1716 Family 12h/14h Processor Function 5 1718 Family 12h/14h Processor Function 6 1719 Family 12h/14h Processor Function 7 2000 79c970 [PCnet32 LANCE] 1014 2000 NetFinity 10/100 Fast Ethernet 1022 2000 PCnet - Fast 79C971 103c 104c Ethernet with LAN remote power Adapter 103c 1064 Ethernet with LAN remote power Adapter 103c 1065 Ethernet with LAN remote power Adapter 103c 106c Ethernet with LAN remote power Adapter 103c 106e Ethernet with LAN remote power Adapter 103c 10ea Ethernet with LAN remote power Adapter 1113 1220 EN1220 10/100 Fast Ethernet 1259 2450 AT-2450 10/100 Fast Ethernet 1259 2454 AT-2450v4 10Mb Ethernet Adapter 1259 2700 AT-2700TX 10/100 Fast Ethernet 1259 2701 AT-2700FX 100Mb Ethernet 1259 2702 AT-2700FTX 10/100 Mb Fiber/Copper Fast Ethernet 1259 2703 AT-2701FX 1259 2704 AT-2701FTX 10/100 Mb Fiber/Copper Fast Ethernet 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard 4c53 1010 CP5/CR6 mainboard 4c53 1020 VR6 mainboard 4c53 1030 PC5 mainboard 4c53 1040 CL7 mainboard 4c53 1060 PC7 mainboard 2001 79c978 [HomePNA] 1092 0a78 Multimedia Home Network Adapter 1668 0299 ActionLink Home Network Adapter 2003 Am 1771 MBW [Alchemy] 2020 53c974 [PCscsi] 1af4 1100 QEMU Virtual Machine 2040 79c974 2080 CS5536 [Geode companion] Host Bridge 2081 Geode LX Video 2082 Geode LX AES Security Block 208f CS5536 GeodeLink PCI South Bridge 2090 CS5536 [Geode companion] ISA 2091 CS5536 [Geode companion] FLASH 2093 CS5536 [Geode companion] Audio 2094 CS5536 [Geode companion] OHC 2095 CS5536 [Geode companion] EHC 2096 CS5536 [Geode companion] UDC 2097 CS5536 [Geode companion] UOC 209a CS5536 [Geode companion] IDE 3000 ELanSC520 Microcontroller 43a0 Hudson PCI to PCI bridge (PCIE port 0) 43a1 Hudson PCI to PCI bridge (PCIE port 1) 43a2 Hudson PCI to PCI bridge (PCIE port 2) 43a3 Hudson PCI to PCI bridge (PCIE port 3) 43b0 X370 Series Chipset PCIe Upstream Port 1849 43c6 Fatal1ty X370 Professional Gaming 43b1 X399 Series Chipset PCIe Bridge 43b4 300 Series Chipset PCIe Port 43b5 X370 Series Chipset SATA Controller 1849 43c8 Fatal1ty X370 Professional Gaming 43b6 X399 Series Chipset SATA Controller 43b7 300 Series Chipset SATA Controller 43b9 X370 Series Chipset USB 3.1 xHCI Controller 1849 43d0 Fatal1ty X370 Professional Gaming 43ba X399 Series Chipset USB 3.1 xHCI Controller 43bb 300 Series Chipset USB 3.1 xHCI Controller 43c6 400 Series Chipset PCIe Bridge 43c7 400 Series Chipset PCIe Port 43c8 400 Series Chipset SATA Controller 43d5 400 Series Chipset USB 3.1 XHCI Controller 57a3 Matisse PCIe GPP Bridge 57a4 Matisse PCIe GPP Bridge 57ad Matisse Switch Upstream 7006 AMD-751 [Irongate] System Controller 7007 AMD-751 [Irongate] AGP Bridge 700a AMD-IGR4 AGP Host to PCI Bridge 700b AMD-IGR4 PCI to PCI Bridge 700c AMD-760 MP [IGD4-2P] System Controller 700d AMD-760 MP [IGD4-2P] AGP Bridge 700e AMD-760 [IGD4-1P] System Controller 700f AMD-760 [IGD4-1P] AGP Bridge 7400 AMD-755 [Cobra] ISA 7401 AMD-755 [Cobra] IDE 7403 AMD-755 [Cobra] ACPI 7404 AMD-755 [Cobra] USB 7408 AMD-756 [Viper] ISA 7409 AMD-756 [Viper] IDE 740b AMD-756 [Viper] ACPI 740c AMD-756 [Viper] USB 7410 AMD-766 [ViperPlus] ISA 7411 AMD-766 [ViperPlus] IDE 7413 AMD-766 [ViperPlus] ACPI 7414 AMD-766 [ViperPlus] USB 7440 AMD-768 [Opus] ISA 1043 8044 A7M-D Mainboard 7441 AMD-768 [Opus] IDE 7443 AMD-768 [Opus] ACPI 1043 8044 A7M-D Mainboard 7445 AMD-768 [Opus] Audio 7446 AMD-768 [Opus] MC97 Modem 7448 AMD-768 [Opus] PCI 7449 AMD-768 [Opus] USB 7450 AMD-8131 PCI-X Bridge 7451 AMD-8131 PCI-X IOAPIC 7454 AMD-8151 System Controller 7455 AMD-8151 AGP Bridge 7458 AMD-8132 PCI-X Bridge 7459 AMD-8132 PCI-X IOAPIC 7460 AMD-8111 PCI 161f 3017 HDAMB 7461 AMD-8111 USB 7462 AMD-8111 Ethernet 7463 AMD-8111 USB EHCI 7464 AMD-8111 USB OHCI 161f 3017 HDAMB 7468 AMD-8111 LPC 161f 3017 HDAMB 7469 AMD-8111 IDE 1022 2b80 AMD-8111 IDE [Quartet] 161f 3017 HDAMB 746a AMD-8111 SMBus 2.0 746b AMD-8111 ACPI 161f 3017 HDAMB 746d AMD-8111 AC97 Audio 161f 3017 HDAMB 746e AMD-8111 MC97 Modem 756b AMD-8111 ACPI 7800 FCH SATA Controller [IDE mode] 7801 FCH SATA Controller [AHCI mode] 103c 168b ProBook 4535s Notebook 103c 194e ProBook 455 G1 Notebook 17aa 3988 Z50-75 1849 7801 QC5000-ITX/PH 7802 FCH SATA Controller [RAID mode] 7803 FCH SATA Controller [RAID mode] 7804 FCH SATA Controller [AHCI mode] 103c 1985 Pavilion 17-e163sg Notebook PC 7805 FCH SATA Controller [RAID mode] 7806 FCH SD Flash Controller 7807 FCH USB OHCI Controller 103c 194e ProBook 455 G1 Notebook 103c 1985 Pavilion 17-e163sg Notebook PC 17aa 3988 Z50-75 1849 7807 QC5000-ITX/PH 7808 FCH USB EHCI Controller 103c 194e ProBook 455 G1 Notebook 103c 1985 Pavilion 17-e163sg Notebook PC 17aa 3988 Z50-75 1849 7808 QC5000-ITX/PH 7809 FCH USB OHCI Controller 103c 194e ProBook 455 G1 Notebook 17aa 3988 Z50-75 780a Kabini/Mullins SATA Raid/AHCI Mode (DotHill driver) 780b FCH SMBus Controller 103c 194e ProBook 455 G1 Notebook 103c 1985 Pavilion 17-e163sg Notebook PC 17aa 3988 Z50-75 1849 780b QC5000-ITX/PH 780c FCH IDE Controller 780d FCH Azalia Controller 103c 194e ProBook 455 G1 Notebook 103c 1985 Pavilion 17-e163sg Notebook PC 1043 8444 F2A85-M Series 17aa 3988 Z50-75 1849 8892 QC5000-ITX/PH 780e FCH LPC Bridge 103c 194e ProBook 455 G1 Notebook 103c 1985 Pavilion 17-e163sg Notebook PC 17aa 3988 Z50-75 1849 780e QC5000-ITX/PH 780f FCH PCI Bridge 7812 FCH USB XHCI Controller 7813 FCH SD Flash Controller 7814 FCH USB XHCI Controller 103c 194e ProBook 455 G1 Notebook 103c 1985 Pavilion 17-e163sg Notebook PC 17aa 3988 Z50-75 1849 7814 QC5000-ITX/PH 7900 FCH SATA Controller [IDE mode] 7901 FCH SATA Controller [AHCI mode] 103c 8615 Pavilion Laptop 15-cw1xxx 1462 7c37 X570-A PRO motherboard 7902 FCH SATA Controller [RAID mode] 7903 FCH SATA Controller [RAID mode] 7904 FCH SATA Controller [AHCI mode] 7906 FCH SD Flash Controller 7908 FCH USB EHCI Controller 790b FCH SMBus Controller 103c 8615 Pavilion Laptop 15-cw1xxx 1462 7c37 X570-A PRO motherboard 17aa 5124 ThinkPad E595 790e FCH LPC Bridge 103c 8615 Pavilion Laptop 15-cw1xxx 1462 7c37 X570-A PRO motherboard 17aa 5124 ThinkPad E595 790f FCH PCI Bridge 7914 FCH USB XHCI Controller 9600 RS780 Host Bridge 1043 82ee M378A-CM Motherboard 1043 82f1 M3A78-EH Motherboard 9601 RS880 Host Bridge 1019 2120 A785GM-M 103c 1609 ProLiant MicroServer N36L 1043 83a2 M4A785-M Mainboard 1043 843e M5A88-V EVO 9602 RS780/RS880 PCI to PCI bridge (int gfx) 9603 RS780 PCI to PCI bridge (ext gfx port 0) 103c 1609 ProLiant MicroServer N36L 9604 RS780/RS880 PCI to PCI bridge (PCIE port 0) 9605 RS780/RS880 PCI to PCI bridge (PCIE port 1) 9606 RS780 PCI to PCI bridge (PCIE port 2) 103c 1609 ProLiant MicroServer N36L 9607 RS780/RS880 PCI to PCI bridge (PCIE port 3) 9608 RS780/RS880 PCI to PCI bridge (PCIE port 4) 9609 RS780/RS880 PCI to PCI bridge (PCIE port 5) 960a RS780 PCI to PCI bridge (NB-SB link) 960b RS780 PCI to PCI bridge (ext gfx port 1) 1023 Trident Microsystems 0194 82C194 2000 4DWave DX 2001 4DWave NX 122d 1400 Trident PCI288-Q3DII (NX) 2100 CyberBlade XP4m32 2200 XGI Volari XP5 8400 CyberBlade/i7 1023 8400 CyberBlade i7 AGP 8420 CyberBlade/i7d 0e11 b15a CyberBlade i7 AGP 8500 CyberBlade/i1 8520 CyberBlade i1 0e11 b16e CyberBlade i1 AGP 1023 8520 CyberBlade i1 AGP 8620 CyberBlade/i1 1014 0502 ThinkPad R30/T30 1014 1025 Travelmate 352TE 8820 CyberBlade XPAi1 9320 TGUI 9320 9350 GUI Accelerator 9360 Flat panel GUI Accelerator 9382 Cyber 9382 [Reference design] 9383 Cyber 9383 [Reference design] 9385 Cyber 9385 [Reference design] 9386 Cyber 9386 9388 Cyber 9388 9397 Cyber 9397 939a Cyber 9397DVD 9420 TGUI 9420 9430 TGUI 9430 9440 TGUI 9440 9460 TGUI 9460 9470 TGUI 9470 9520 Cyber 9520 9525 Cyber 9525 9540 Cyber 9540 9660 TGUI 9660/938x/968x 9680 TGUI 9680 9682 TGUI 9682 9683 TGUI 9683 9685 ProVIDIA 9685 9750 3DImage 9750 1014 9750 3DImage 9750 1023 9750 3DImage 9750 9753 TGUI 9753 9754 TGUI 9754 9759 TGUI 975 9783 TGUI 9783 9785 TGUI 9785 9850 3DImage 9850 9880 Blade 3D PCI/AGP 1023 9880 Blade 3D 9910 CyberBlade/XP 9930 CyberBlade/XPm 9960 CyberBlade XP2 1024 Zenith Data Systems 1025 Acer Incorporated [ALI] 1435 M1435 1445 M1445 1449 M1449 1451 M1451 1461 M1461 1489 M1489 1511 M1511 1512 ALI M1512 Aladdin 1513 M1513 1521 ALI M1521 Aladdin III CPU Bridge 10b9 1521 ALI M1521 Aladdin III CPU Bridge 1523 ALI M1523 ISA Bridge 10b9 1523 ALI M1523 ISA Bridge 1531 M1531 Northbridge [Aladdin IV/IV+] 1533 M1533 PCI-to-ISA Bridge 10b9 1533 ALI M1533 Aladdin IV/V ISA South Bridge 1535 M1535 PCI Bridge + Super I/O + FIR 1541 M1541 Northbridge [Aladdin V] 10b9 1541 ALI M1541 Aladdin V/V+ AGP+PCI North Bridge 1542 M1542 Northbridge [Aladdin V] 1543 M1543 PCI-to-ISA Bridge + Super I/O + FIR 1561 M1561 Northbridge [Aladdin 7] 1621 M1621 Northbridge [Aladdin-Pro II] 1631 M1631 Northbridge+3D Graphics [Aladdin TNT2] 1641 M1641 Northbridge [Aladdin-Pro IV] 1647 M1647 [MaGiK1] PCI North Bridge 1671 M1671 Northbridge [ALADDiN-P4] 1672 Northbridge [CyberALADDiN-P4] 3141 M3141 3143 M3143 3145 M3145 3147 M3147 3149 M3149 3151 M3151 3307 M3307 MPEG-I Video Controller 3309 M3309 MPEG-II Video w/ Software Audio Decoder 3321 M3321 MPEG-II Audio/Video Decoder 5212 M4803 5215 ALI PCI EIDE Controller 5217 M5217H 5219 M5219 5225 M5225 5229 M5229 5235 M5235 5237 M5237 PCI USB Host Controller 5240 EIDE Controller 5241 PCMCIA Bridge 5242 General Purpose Controller 5243 PCI to PCI Bridge Controller 5244 Floppy Disk Controller 5247 M1541 PCI to PCI Bridge 5251 M5251 P1394 Controller 5427 PCI to AGP Bridge 5451 M5451 PCI AC-Link Controller Audio Device 5453 M5453 PCI AC-Link Controller Modem Device 7101 M7101 PCI PMU Power Management Controller 10b9 7101 M7101 PCI PMU Power Management Controller # should be 1022:9602 9602 AMD RS780/RS880 PCI to PCI bridge (int gfx) 1028 Dell 0001 PowerEdge Expandable RAID Controller 2/Si 1028 0001 PowerEdge 2400 0002 PowerEdge Expandable RAID Controller 3/Di 1028 0002 PowerEdge 4400 1028 00d1 PERC 3/DiV [Viper] 1028 00d9 PERC 3/DiL [Lexus] 0003 PowerEdge Expandable RAID Controller 3/Si 1028 0003 PowerEdge 2450 # PowerEdge Codename Iguana 0004 PowerEdge Expandable RAID Controller 3/Di [Iguana] 1028 0004 PERC 3/DiF [Iguana] 0006 PowerEdge Expandable RAID Controller 3/Di 0007 Remote Access Card III 0008 Remote Access Card III 0009 Remote Access Card III: BMC/SMIC device not present 000a PowerEdge Expandable RAID Controller 3/Di 1028 0106 PERC 3/DiJ [Jaguar] 1028 011b PERC 3/DiD [Dagger] 1028 0121 PERC 3/DiB [Boxster] 000c Embedded Remote Access or ERA/O 000d Embedded Remote Access: BMC/SMIC device 000e PowerEdge Expandable RAID controller 4/Di 000f PowerEdge Expandable RAID controller 4/Di 1028 014a PowerEdge 1750 0010 Remote Access Card 4 0011 Remote Access Card 4 Daughter Card 0012 Remote Access Card 4 Daughter Card Virtual UART 0013 PowerEdge Expandable RAID controller 4 1028 016c PowerEdge Expandable RAID Controller 4e/Si 1028 016d PowerEdge Expandable RAID Controller 4e/Di 1028 016e PowerEdge Expandable RAID Controller 4e/Di 1028 016f PowerEdge Expandable RAID Controller 4e/Di 1028 0170 PowerEdge Expandable RAID Controller 4e/Di 0014 Remote Access Card 4 Daughter Card SMIC interface 0015 PowerEdge Expandable RAID controller 5 1028 1f01 PERC 5/E Adapter RAID Controller 1028 1f02 PERC 5/i Adapter RAID Controller 1028 1f03 PERC 5/i Integrated RAID Controller 0016 PowerEdge Expandable RAID controller S300 1028 1f24 PERC S300 Controller # NV-RAM Adapter used in Dell DR appliances 0073 NV-RAM Adapter 1029 Siemens Nixdorf IS 102a LSI Logic 0000 HYDRA 0010 ASPEN 001f AHA-2940U2/U2W /7890/7891 SCSI Controllers 9005 000f 2940U2W SCSI Controller 9005 0106 2940U2W SCSI Controller 9005 a180 2940U2W SCSI Controller 00c5 AIC-7899 U160/m SCSI Controller 1028 00c5 PowerEdge 2550/2650/4600 00cf AIC-7899P U160/m 1028 0106 PowerEdge 4600 1028 0121 PowerEdge 2650 102b Matrox Electronics Systems Ltd. # DJ: I've a suspicion that 0010 is a duplicate of 0d10. 0010 MGA-I [Impression?] 0100 MGA 1064SG [Mystique] 0518 MGA-II [Athena] 0519 MGA 2064W [Millennium] 051a MGA 1064SG [Mystique] 102b 0100 MGA-1064SG Mystique 102b 051a MGA-1164SG Mystique 220 102b 1100 MGA-1084SG Mystique 102b 1200 MGA-1084SG Mystique 1100 102b MGA-1084SG Mystique 110a 0018 Scenic Pro C5 (D1025) 051b MGA 2164W [Millennium II] 102b 051b MGA-2164W Millennium II 102b 1100 MGA-2164W Millennium II 102b 1200 MGA-2164W Millennium II 102b 2100 MGA-2164W Millennium II 051e MGA 1064SG [Mystique] AGP 051f MGA 2164W [Millennium II] AGP 102b 2100 MGA-2164WA [Millennium II A] 0520 MGA G200 102b dbc2 G200 Multi-Monitor 102b dbc8 G200 Multi-Monitor 102b dbe2 G200 Multi-Monitor 102b dbe8 G200 Multi-Monitor 102b ff03 Millennium G200 SD 102b ff04 Marvel G200 0521 MGA G200 AGP 1014 ff03 Millennium G200 AGP 102b 48e9 Mystique G200 AGP 102b 48f8 Millennium G200 SD AGP 102b 4a60 Millennium G200 LE AGP 102b 4a64 Millennium G200 AGP 102b c93c Millennium G200 AGP 102b c9b0 Millennium G200 AGP 102b c9bc Millennium G200 AGP 102b ca60 Millennium G250 LE AGP 102b ca6c Millennium G250 AGP 102b dbbc Millennium G200 AGP 102b dbc2 Millennium G200 MMS (Dual G200) 102b dbc3 G200 Multi-Monitor 102b dbc8 Millennium G200 MMS (Dual G200) 102b dbd2 G200 Multi-Monitor 102b dbd3 G200 Multi-Monitor 102b dbd4 G200 Multi-Monitor 102b dbd5 G200 Multi-Monitor 102b dbd8 G200 Multi-Monitor 102b dbd9 G200 Multi-Monitor 102b dbe2 Millennium G200 MMS (Quad G200) 102b dbe3 G200 Multi-Monitor 102b dbe8 Millennium G200 MMS (Quad G200) 102b dbf2 G200 Multi-Monitor 102b dbf3 G200 Multi-Monitor 102b dbf4 G200 Multi-Monitor 102b dbf5 G200 Multi-Monitor 102b dbf8 G200 Multi-Monitor 102b dbf9 G200 Multi-Monitor 102b f806 Mystique G200 Video AGP 102b ff00 MGA-G200 AGP 102b ff02 Mystique G200 AGP 102b ff03 Millennium G200A AGP 102b ff04 Marvel G200 AGP 110a 0032 MGA-G200 AGP 0522 MGA G200e [Pilot] ServerEngines (SEP1) 103c 31fa ProLiant DL140 G3 0525 MGA G400/G450 0e11 b16f MGA-G400 AGP 102b 0328 Millennium G400 16Mb SDRAM 102b 0338 Millennium G400 16Mb SDRAM 102b 0378 Millennium G400 32Mb SDRAM 102b 0541 Millennium G450 Dual Head 102b 0542 Millennium G450 Dual Head LX 102b 0543 Millennium G450 Single Head LX 102b 0641 Millennium G450 32Mb SDRAM Dual Head 102b 0642 Millennium G450 32Mb SDRAM Dual Head LX 102b 0643 Millennium G450 32Mb SDRAM Single Head LX 102b 07c0 Millennium G450 Dual Head LE 102b 07c1 Millennium G450 SDR Dual Head LE 102b 0d41 Millennium G450 Dual Head PCI 102b 0d42 Millennium G450 Dual Head LX PCI 102b 0d43 Millennium G450 32Mb Dual Head PCI 102b 0e00 Marvel G450 eTV 102b 0e01 Marvel G450 eTV 102b 0e02 Marvel G450 eTV 102b 0e03 Marvel G450 eTV 102b 0f80 Millennium G450 Low Profile 102b 0f81 Millennium G450 Low Profile 102b 0f82 Millennium G450 Low Profile DVI 102b 0f83 Millennium G450 Low Profile DVI 102b 19d8 Millennium G400 16Mb SGRAM 102b 19f8 Millennium G400 32Mb SGRAM 102b 2159 Millennium G400 Dual Head 16Mb 102b 2179 Millennium G400 MAX/Dual Head 32Mb 102b 217d Millennium G400 Dual Head Max 102b 23c0 Millennium G450 102b 23c1 Millennium G450 102b 23c2 Millennium G450 DVI 102b 23c3 Millennium G450 DVI 102b 2f58 Millennium G400 102b 2f78 Millennium G400 102b 3693 Marvel G400 AGP 102b 5dd0 4Sight II 102b 5f50 4Sight II 102b 5f51 4Sight II 102b 5f52 4Sight II 102b 9010 Millennium G400 Dual Head 1458 0400 GA-G400 1705 0001 Millennium G450 32MB SGRAM 1705 0002 Millennium G450 16MB SGRAM 1705 0003 Millennium G450 32MB 1705 0004 Millennium G450 16MB 0527 Parhelia 102b 0840 Parhelia 128Mb 102b 0850 Parhelia 256MB 102b 0870 MED2mp-DVI 102b 0880 P-256 Edge Overlap Controller 0528 Parhelia 102b 1020 Parhelia 128MB 102b 1030 Parhelia 256 MB Dual DVI 102b 1040 MED2mp-DVI 102b 1050 Sono S20 102b 1060 PJ-30L 102b 1070 PJ-40L 102b 1421 MED5mp 102b 1431 MED3mp-DVI 102b 1451 MED5mp-DVI 102b 1491 MED2mp-DVI 102b 14b1 MED3mp-DVI 102b 14c1 MED5mp-DVI 102b 14e1 Parhelia PCI 256MB 102b 14f1 Parhelia Precision SGT 102b 1501 ATC-4MP 102b 1511 ATC-4MP 102b 1521 TheatreVUE T30 102b 1531 TheatreVUE T20 102b 1541 MED2mp-DVI 102b 1551 MED3mp-DVI 102b 1561 MED5mp-DVI 102b 1571 Parhelia DL256 PCI 102b 1591 Parhelia Precision SDT 102b 15a1 MED4mp-DVI 102b 2011 Parhelia HR256 102b 2021 QID Pro 102b 2061 PJ-40LP 102b 2081 EWS Quad 102b 2411 PPX-OUT8 102b 2421 VPX-OUT8 102b 2441 PPX-OUT4 102b 2451 VPX-OUT4 102b 2491 LPX-OUT4 0530 MGA G200EV 0532 MGA G200eW WPCM450 1028 0235 PowerEdge R710 MGA G200eW WPCM450 1028 0236 PowerEdge R610 MGA G200eW WPCM450 1028 0237 PowerEdge T610 MGA G200eW WPCM450 1028 0287 PowerEdge M610 MGA G200eW WPCM450 1028 028c PowerEdge R410 MGA G200eW WPCM450 1028 028d PowerEdge T410 MGA G200eW WPCM450 1028 029c PowerEdge M710 MGA G200eW WPCM450 1028 02a4 PowerEdge T310 MGA G200eW WPCM450 15d9 0605 X8SIL 15d9 0624 X9SCM-F Motherboard 15d9 066b X9SRL-F 15d9 a811 H8DGU 0533 MGA G200EH 103c 3381 iLO4 0534 G200eR2 1028 04f7 PowerEdge R320 server 0536 Integrated Matrox G200eW3 Graphics Controller 0538 MGA G200eH3 1590 00e4 iLO5 VGA 0540 M91XX 102b 2080 M9140 LP PCIe x16 102b 20c0 Xenia 102b 20c1 Xenia Pro 102b 2100 M9120 PCIe x16 102b 2140 M9125 PCIe x16 102b 2180 M9120 Plus LP PCIe x16 102b 21c0 M9120 Plus LP PCIe x1 102b 2200 VDA1164 Output Board 102b 2240 M9148 LP PCIe x16 102b 2241 M9138 LP PCIe x16 102b 2280 M9188 ATX PCIe x16 102b 22c0 M9128 LP PCIe x16 0550 SV2 102b 00c0 MURA-IPX-I4EF 102b 00c1 MURA-IPX-I4DF 102b 00c3 MURA-IPX-I4DHF 102b 00c5 MURA-IPX-I4EHF 0d10 MGA Ultima/Impression 1000 MGA G100 [Productiva] 102b ff01 Productiva G100 102b ff05 Productiva G100 Multi-Monitor 1001 MGA G100 [Productiva] AGP 102b 1001 MGA-G100 AGP 102b ff00 MGA-G100 AGP 102b ff01 MGA-G100 Productiva AGP 102b ff03 Millennium G100 AGP 102b ff04 MGA-G100 AGP 102b ff05 MGA-G100 Productiva AGP Multi-Monitor 110a 001e MGA-G100 AGP 2007 MGA Mistral 2527 Millennium G550 # PCI\VEN_102B&DEV_2527&SUBSYS_0F42102B&REV_01 102b 0f42 Matrox G550 Low Profile PCI 102b 0f83 Millennium G550 102b 0f84 Millennium G550 Dual Head DDR 32Mb 102b 1e41 Millennium G550 102b 22c0 G550 PCIe 102b 2300 Millennium G550 LP PCIE 2537 Millennium P650/P750 102b 1820 Millennium P750 64MB 102b 1830 Millennium P650 64MB 102b 1850 RAD2mp 102b 1860 RAD3mp 102b 1880 Sono S10 102b 1c10 QID 128MB 102b 2811 Millennium P650 Low-profile PCI 64MB 102b 2821 Millennium P650 Low-profile PCI 102b 2841 RAD PCI 102b 2851 Spectrum PCI 102b 2871 EpicA TC2 102b 2c11 QID Low-profile PCI 102b 2c21 QID LP PCI LW 102b 2c31 QID LP PCI 102b 2c41 EpicA TC4 102b 3001 Extio F1400 102b 3011 Extio F1220 102b 3041 RG-200DL 102b 3051 RG-400SL 102b 3061 Extio F1420 102b 3081 Extio F1240 2538 Millennium P650 PCIe 102b 0847 RAD PCIe 102b 08c7 Millennium P650 PCIe 128MB 102b 0907 Millennium P650 PCIe 64MB 102b 0947 Parhelia APVe 102b 0987 ATC PCIe 4MP 102b 1047 Millennium P650 LP PCIe 128MB 102b 1087 Millennium P650 LP PCIe 64MB 102b 1801 Millennium P650 PCIe x1 102b 2538 Parhelia APVe 102b 3007 QID Low-profile PCIe 102b 3087 Aurora VX3mp 102b 30c7 QID LP PCIe 2539 Millennium P690 102b 0040 Millennium P690 PCIe x16 102b 0042 ONYX 102b 0043 SPECTRA 102b 0080 Millennium P690 Plus LP PCIe x16 102b 0081 Millennium P690 LP PCIe x16 102b 0082 RAD LPX PCIe x16 102b 00c0 Millennium P690 Plus LP PCI 102b 00c2 Millennium P690 LP PCI 102b 00c3 RAD LPX PCI 102b 0101 Millennium P690 PCI 102b 0140 Millennium P690 LP PCIe x1 102b 0180 Display Wall IP Decode 128 MB 4164 Morphis QxT frame grabber 43b4 Morphis Qxt encoding engine 4510 Morphis COM port 4536 VIA Framegrabber 4686 Concord GX (customized Intel 82541) 475b Solios eCL/XCL-B frame grabber 475d Vio frame grabber family 102b 4b90 Vio Duo frame grabber (single channel) 102b 4b91 Vio Duo frame grabber 102b 4b92 Vio Analog frame grabber 102b 4b93 Vio SDI Frame Grabber 102b 4b94 Vio DVI-A frame grabber 475f Solios (single-Full) CL frame grabber 102b 475f Solios eCL/XCL-F frame grabber 102b 4d5f Solios eV-CL (single-Full) frame grabber 102b 4e5f Solios eM-CL (single-Full) frame grabber 47a1 Solios eA/XA frame grabber 102b 4be0 Solios eA/XA (single) frame grabber 102b 4be1 Solios eA/XA (dual) frame grabber 102b 4be2 Solios eA/XA (quad) frame grabber 47a2 Solios COM port 47c1 Solios (dual-Base/single-Medium) CL frame grabber 102b 0000 Solios frame grabber 102b 4b80 Solios eCL/XCL (single-Medium) frame grabber 102b 4b81 Solios eCL/XCL (dual-Base) frame grabber 102b 4d80 Solios eV-CL (single-Medium) frame grabber 102b 4d81 Solios eV-CL (dual-Base) frame grabber 102b 4e80 Solios eM-CL (single-Medium) frame grabber 102b 4e81 Solios eM-CL (dual-Base) frame grabber 47c2 Solios COM port 4949 Radient frame grabber family 102b 0010 Radient eCL (Single-full) frame grabber 102b 0011 Radient eCLV (Single-full) frame grabber 102b 0020 Radient eCL (Dual-base) frame grabber 102b 0030 Radient eCL (Dual-full) frame grabber 102b 0040 Radient eCL (Quad-base) frame grabber 102b 0050 Radient eCL (Golden) frame grabber 102b 1010 Radient eV-CXP (quad CXP-6) frame grabber 102b 1015 Radient eV-CXP (dual CXP-6) frame grabber 102b 1020 Radient eV-CXP (quad CXP-3) frame grabber 102b 1050 Radient eV-CXP (Golden) frame grabber 4cdc Morphis JPEG2000 accelerator 4f54 Morphis (e)Quad frame grabber 4fc5 Morphis (e)Dual frame grabber 5e10 Morphis aux I/O 6573 Shark 10/100 Multiport SwitchNIC 102c Chips and Technologies 00b8 F64310 00c0 F69000 HiQVideo 102c 00c0 F69000 HiQVideo 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard 4c53 1010 CP5/CR6 mainboard 4c53 1020 VR6 mainboard 4c53 1030 PC5 mainboard 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard 00d0 F65545 00d8 F65545 00dc F65548 00e0 F65550 00e4 F65554 00e5 F65555 HiQVPro 0e11 b049 Armada 1700 Laptop Display Controller 1179 0001 Satellite Pro/Satellite 00f0 F68554 00f4 F68554 HiQVision 00f5 F68555 0c30 F69030 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard 4c53 1080 CT8 mainboard 102d Wyse Technology Inc. 50dc 3328 Audio 102e Olivetti Advanced Technology 102f Toshiba America 0009 r4x00 000a TX3927 MIPS RISC PCI Controller 0020 ATM Meteor 155 102f 00f8 ATM Meteor 155 0030 TC35815CF PCI 10/100 Mbit Ethernet Controller 0031 TC35815CF PCI 10/100 Mbit Ethernet Controller with WOL 0032 TC35815CF PCI 10/100 Mbit Ethernet Controller on TX4939 0105 TC86C001 [goku-s] IDE 0106 TC86C001 [goku-s] USB 1.1 Host 0107 TC86C001 [goku-s] USB Device Controller 0108 TC86C001 [goku-s] I2C/SIO/GPIO Controller 0180 TX4927/38 MIPS RISC PCI Controller 0181 TX4925 MIPS RISC PCI Controller 0182 TX4937 MIPS RISC PCI Controller 01b4 Celleb platform IDE interface 01b5 SCC USB 2.0 EHCI controller 01b6 SCC USB 1.1 OHCI controller 1030 TMC Research 1031 Miro Computer Products AG 5601 DC20 ASIC 5607 Video I/O & motion JPEG compressor 5631 Media 3D 6057 MiroVideo DC10/DC30+ 1032 Compaq 1033 NEC Corporation 0000 Vr4181A USB Host or Function Control Unit 0001 PCI to 486-like bus Bridge 0002 PCI to VL98 Bridge 0003 ATM Controller 0004 R4000 PCI Bridge 0005 PCI to 486-like bus Bridge 0006 PC-9800 Graphic Accelerator 0007 PCI to UX-Bus Bridge 0008 PC-9800 Graphic Accelerator 0009 PCI to PC9800 Core-Graph Bridge 0016 PCI to VL Bridge 001a [Nile II] 0021 Vrc4373 [Nile I] 0029 PowerVR PCX1 002a PowerVR 3D 002c Star Alpha 2 002d PCI to C-bus Bridge 0035 OHCI USB Controller 1033 0035 USB Controller 103c 1293 USB add-in card 103c 1294 USB 2.0 add-in card 1179 0001 USB 1186 0035 DUB-C2 USB 2.0 2-port 32-bit cardbus controller 12ee 7000 Root Hub 14c2 0105 PTI-205N USB 2.0 Host Controller 1799 0001 Root Hub 1931 000a GlobeTrotter Fusion Quad Lite (PPP data) 1931 000b GlobeTrotter Fusion Quad Lite (GSM data) 807d 0035 PCI-USB2 (OHCI subsystem) 003b PCI to C-bus Bridge 003e NAPCCARD Cardbus Controller 0046 PowerVR PCX2 [midas] 005a Vrc5074 [Nile 4] 0063 uPD72862 [Firewarden] IEEE1394 OHCI 1.0 Link Controller 0067 PowerVR Neon 250 Chipset 1010 0020 PowerVR Neon 250 AGP 32Mb 1010 0080 PowerVR Neon 250 AGP 16Mb 1010 0088 PowerVR Neon 250 16Mb 1010 0090 PowerVR Neon 250 AGP 16Mb 1010 0098 PowerVR Neon 250 16Mb 1010 00a0 PowerVR Neon 250 AGP 32Mb 1010 00a8 PowerVR Neon 250 32Mb 1010 0120 PowerVR Neon 250 AGP 32Mb 0072 uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr 0074 56k Voice Modem 1033 8014 RCV56ACF 56k Voice Modem 009b Vrc5476 00a5 VRC4173 00a6 VRC5477 AC97 00cd uPD72870 [Firewarden] IEEE1394a OHCI 1.0 Link/3-port PHY Controller 12ee 8011 Root hub 00ce uPD72871 [Firewarden] IEEE1394a OHCI 1.0 Link/1-port PHY Controller 00df Vr4131 00e0 uPD72010x USB 2.0 Controller 1186 f100 DUB-C2 USB 2.0 2-port 32-bit cardbus controller 12ee 7001 Root hub 14c2 0205 PTI-205N USB 2.0 Host Controller 1799 0002 Root Hub 807d 1043 PCI-USB2 (EHCI subsystem) 00e7 uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller 00f2 uPD72874 [Firewarden] IEEE1394a OHCI 1.1 Link/3-port PHY Controller 00f3 uPD6113x Multimedia Decoder/Processor [EMMA2] 010c VR7701 0125 uPD720400 PCI Express - PCI/PCI-X Bridge 013a Dual Tuner/MPEG Encoder 0194 uPD720200 USB 3.0 Host Controller 1028 04a3 Precision M4600 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1043 8413 P8P67 Deluxe Motherboard 104d 907a Vaio VPCF1 1af4 1100 QEMU Virtual Machine 1b96 0001 USB 3.0 PCIe Card 01e7 uPD72873 [Firewarden] IEEE1394a OHCI 1.1 Link/2-port PHY Controller 01f2 uPD72874 [Firewarden] IEEE1394a OHCI 1.1 Link/3-port PHY Controller 1034 Framatome Connectors USA Inc. 1035 Comp. & Comm. Research Lab 1036 Future Domain Corp. 0000 TMC-18C30 [36C70] 1037 Hitachi Micro Systems 1038 AMP, Inc 1039 Silicon Integrated Systems [SiS] 0001 AGP Port (virtual PCI-to-PCI bridge) 0002 AGP Port (virtual PCI-to-PCI bridge) 0003 AGP Port (virtual PCI-to-PCI bridge) 0004 PCI-to-PCI bridge 1039 0000 PCIe x16 port 0006 85C501/2/3 0008 SiS85C503/5513 (LPC Bridge) 0009 5595 Power Management Controller 000a PCI-to-PCI bridge 1039 0000 PCIe x1 port 0016 SiS961/2/3 SMBus controller 0018 SiS85C503/5513 (LPC Bridge) 0163 163 802.11b/g Wireless LAN Adapter 0180 RAID bus controller 180 SATA/PATA [SiS] 0181 SATA 0182 182 SATA/RAID Controller 1734 1095 D2030-A1 0186 AHCI Controller (0106) 0190 190 Ethernet Adapter 0191 191 Gigabit Ethernet Adapter 1043 8139 P5SD2-FM/S mainboard 0200 5597/5598/6326 VGA 1039 0000 SiS5597 SVGA (Shared RAM) 0204 82C204 0205 SG86C205 0300 300/305 PCI/AGP VGA Display Adapter 107d 2720 Leadtek WinFast VR300 0310 315H PCI/AGP VGA Display Adapter 0315 315 PCI/AGP VGA Display Adapter 0325 315PRO PCI/AGP VGA Display Adapter 0330 330 [Xabre] PCI/AGP VGA Display Adapter 0406 85C501/2 0496 85C496 0530 530 Host 0540 540 Host 0550 550 Host 0597 5513C 0601 85C601 0620 620 Host 0630 630 Host 0633 633 Host 0635 635 Host 0645 SiS645 Host & Memory & AGP Controller 0646 SiS645DX Host & Memory & AGP Controller 0648 645xx 0649 SiS649 Host 0650 650/M650 Host 0651 651 Host 0655 655 Host 0660 660 Host 0661 661FX/M661FX/M661MX Host 0662 662 Host 0671 671MX 0730 730 Host 0733 733 Host 0735 735 Host 0740 740 Host 0741 741/741GX/M741 Host 1849 0741 K7S41/K7S41GX motherboard 0745 745 Host 0746 746 Host 0755 755 Host 0760 760/M760 Host 0761 761/M761 Host 1734 1099 D2030-A1 Motherboard 0900 SiS900 PCI Fast Ethernet 1019 0a14 K7S5A motherboard 1039 0900 SiS900 10/100 Ethernet Adapter onboard 1043 8035 CUSI-FX motherboard 1043 80a7 Motherboard P4S800D-X 1462 0900 MS-6701 motherboard 0961 SiS961 [MuTIOL Media IO] 0962 SiS962 [MuTIOL Media IO] LPC Controller 0963 SiS963 [MuTIOL Media IO] LPC Controller 0964 SiS964 [MuTIOL Media IO] LPC Controller 0965 SiS965 [MuTIOL Media IO] 0966 SiS966 [MuTIOL Media IO] 0968 SiS968 [MuTIOL Media IO] 1180 SATA Controller / IDE mode 1182 SATA Controller / RAID mode 1039 0180 SiS 966 4-port SATA controller 1183 SATA Controller / IDE mode 1039 0180 SiS 966 4-port SATA controller 1184 AHCI Controller / RAID mode 1185 AHCI IDE Controller (0106) 3602 83C602 5107 5107 5300 SiS540 PCI Display Adapter 5315 550 PCI/AGP VGA Display Adapter 5401 486 PCI Chipset 5511 5511/5512 5513 5513 IDE Controller 1019 0970 P6STP-FL motherboard 1039 5513 SiS5513 EIDE Controller (A,B step) 1043 8035 CUSI-FX motherboard 1462 7010 MS-6701 motherboard 1631 5513 GA-8SIML Rev1.0 Motherboard 1734 1095 D2030-A1 Motherboard 5517 5517 5571 5571 5581 5581 Pentium Chipset 5582 5582 5591 5591/5592 Host 5596 5596 Pentium Chipset 5597 5597 [SiS5582] 5600 5600 Host 6204 Video decoder & MPEG interface 6205 VGA Controller 6236 6236 3D-AGP 6300 630/730 PCI/AGP VGA Display Adapter 1019 0970 P6STP-FL motherboard 1043 8035 CUSI-FX motherboard 104d 80e2 VAIO PCV-J200 6306 530/620 PCI/AGP VGA Display Adapter 6325 65x/M650/740 PCI/AGP VGA Display Adapter 1039 6325 SiS 651 onboard [Asus P4SC-EA] 1631 1004 SiS 651C onboard [Gigabyte GA-8SIML Rev1.0] 6326 86C326 5598/6326 1039 6326 SiS6326 GUI Accelerator 1092 0a50 SpeedStar A50 1092 0a70 SpeedStar A70 1092 4910 SpeedStar A70 1092 4920 SpeedStar A70 10b0 6326 S6110-B (AGP) 1569 6326 SiS6326 GUI Accelerator 6330 661/741/760 PCI/AGP or 662/761Gx PCIE VGA Display Adapter 1039 6330 [M]661xX/[M]741[GX]/[M]760 PCI/AGP VGA Adapter 1043 8113 SiS Real 256E (ASUS P5S800-VM motherboard) 1458 d000 SiS661FX GUI 2D/3D Accelerator 1734 1099 D2030-A1 6350 770/670 PCIE VGA Display Adapter 6351 771/671 PCIE VGA Display Adapter 7001 USB 1.1 Controller 1019 0a14 K7S5A motherboard 1039 7000 Onboard USB Controller 1462 5470 ECS K7SOM+ motherboard 1462 7010 MS-6701 motherboard 1734 1095 D2030-A1 Motherboard 7002 USB 2.0 Controller 1462 5470 K7SOM+ 5.2C Motherboard 1462 7010 MS-6701 motherboard 1509 7002 Onboard USB Controller 1734 1095 D2030-A1 7007 FireWire Controller 1462 701d MS-6701 7012 SiS7012 AC'97 Sound Controller 1019 0f05 A928 (i-Buddie) 1039 7012 SiS 7012 onboard [Asus P4SC-EA] AC'97 Sound Controller 1043 818f A8S-X Motherboard 13f6 0300 CMI9739(A) on ECS K7S series motherboard 1462 5850 MSI 648 Max (MS-6585) 1462 7010 MS-6701 motherboard 15bd 1001 DFI 661FX motherboard 1734 109f D2030-A1 Motherboard 1849 7012 K7S41GX motherboard # There are may be different modem codecs here (Intel537 compatible and incompatible) 7013 AC'97 Modem Controller 7016 SiS7016 PCI Fast Ethernet Adapter 1039 7016 SiS7016 10/100 Ethernet Adapter 7018 SiS PCI Audio Accelerator 1014 01b6 SiS PCI Audio Accelerator 1014 01b7 SiS PCI Audio Accelerator 1019 7018 SiS PCI Audio Accelerator 1025 000e SiS PCI Audio Accelerator 1025 0018 SiS PCI Audio Accelerator 1039 7018 SiS PCI Audio Accelerator 1043 1453 SiS PCI Audio Accelerator 1043 800b SiS PCI Audio Accelerator 104d 80e2 VAIO PCV-J200 1054 7018 SiS PCI Audio Accelerator 107d 5330 SiS PCI Audio Accelerator 107d 5350 SiS PCI Audio Accelerator 1170 3209 SiS PCI Audio Accelerator 1462 400a SiS PCI Audio Accelerator 14a4 2089 SiS PCI Audio Accelerator 14cd 2194 SiS PCI Audio Accelerator 14ff 1100 SiS PCI Audio Accelerator 152d 8808 SiS PCI Audio Accelerator 1558 1103 SiS PCI Audio Accelerator 1558 2200 SiS PCI Audio Accelerator 1563 7018 SiS PCI Audio Accelerator 15c5 0111 SiS PCI Audio Accelerator 270f a171 SiS PCI Audio Accelerator a0a0 0022 SiS PCI Audio Accelerator 7019 SiS7019 Audio Accelerator 7502 Azalia Audio Controller 1043 81a1 P5SD2-FM/S mainboard 103a Seiko Epson Corporation 103b Tatung Corp. Of America 103c Hewlett-Packard Company 1005 A4977A Visualize EG 1008 Visualize FX 1028 Tach TL Fibre Channel Host Adapter 1029 Tach XL2 Fibre Channel Host Adapter 107e 000f Interphase 5560 Fibre Channel Adapter 9004 9210 1Gb/2Gb Family Fibre Channel Controller 9004 9211 1Gb/2Gb Family Fibre Channel Controller 102a Tach TS Fibre Channel Host Adapter 107e 000e Interphase 5540/5541 Fibre Channel Adapter 9004 9110 1Gb/2Gb Family Fibre Channel Controller 9004 9111 1Gb/2Gb Family Fibre Channel Controller 1030 J2585A DeskDirect 10/100VG NIC 1031 J2585B HP 10/100VG PCI LAN Adapter 103c 1040 J2973A DeskDirect 10BaseT NIC 103c 1041 J2585B DeskDirect 10/100VG NIC 103c 1042 J2970A DeskDirect 10BaseT/2 NIC 1040 J2973A DeskDirect 10BaseT NIC 1041 J2585B DeskDirect 10/100 NIC 1042 J2970A DeskDirect 10BaseT/2 NIC 1048 Diva Serial [GSP] Multiport UART 103c 1049 Tosca Console 103c 104a Tosca Secondary 103c 104b Maestro SP2 103c 1223 Superdome Console 103c 1226 Keystone SP2 103c 1227 Powerbar SP2 103c 1282 Everest SP2 103c 1301 Diva RMP3 1054 PCI Local Bus Adapter 1064 79C970 PCnet Ethernet Controller 108b Visualize FXe 10c1 NetServer Smart IRQ Router 10ed TopTools Remote Control 10f0 rio System Bus Adapter 10f1 rio I/O Controller 1219 NetServer PCI Hot-Plug Controller 121a NetServer SMIC Controller 121b NetServer Legacy COM Port Decoder 121c NetServer PCI COM Port Decoder 1229 zx1 System Bus Adapter 122a zx1 I/O Controller 122e PCI-X Local Bus Adapter 127b sx1000 System Bus Adapter 127c sx1000 I/O Controller 128d Diva [GSP] Management Board 1290 Auxiliary Diva Serial Port 103c 1291 Diva SP2 1291 Auxiliary Diva Serial Port 12b4 zx1 QuickSilver AGP8x Local Bus Adapter 12eb sx2000 System Bus Adapter 12ec sx2000 I/O Controller 12ee PCI-X 2.0 Local Bus Adapter 1302 RMP-3 Shared Memory Driver 1303 RMP-3 (Remote Management Processor) 22f6 iLO5 Virtual USB Controller 1590 00e4 iLO5 Standard Virtual USB Controller 2910 E2910A PCIBus Exerciser 2925 E2925A 32 Bit, 33 MHzPCI Exerciser & Analyzer 3206 Adaptec Embedded Serial ATA HostRAID 3220 Smart Array P600 103c 3225 3 Gb/s SAS RAID 3230 Smart Array Controller 103c 3223 Smart Array P800 103c 3234 P400 SAS Controller 103c 3235 P400i SAS Controller 103c 3237 E500 SAS Controller 103c 323d P700m SAS Controller 3238 Smart Array E200i (SAS Controller) 103c 3211 Smart Array E200i 103c 3212 Smart Array E200 3239 Smart Array Gen9 Controllers 103c 21bd P244br 103c 21be P741m 103c 21bf H240ar 103c 21c0 P440ar 103c 21c1 P840ar 103c 21c2 P440 103c 21c3 P441 103c 21c4 Smart Array 103c 21c5 P841 103c 21c6 H244br 103c 21c7 H240 103c 21c8 H241 103c 21c9 Smart Array 103c 21ca P246br 103c 21cb P840 103c 21cc Smart Array 103c 21cd P240nr 103c 21ce H240nr 323a Smart Array G6 controllers 103c 3241 Smart Array P212 103c 3243 Smart Array P410 103c 3245 Smart Array P410i 103c 3247 Smart Array P411 103c 3249 Smart Array P812 103c 324a Smart Array 712m (Mezzanine RAID controller) 103c 324b Smart Array P711m (Mezzanine RAID controller) 323b Smart Array Gen8 Controllers 103c 3350 P222 103c 3351 P420 103c 3352 P421 103c 3354 P420i 103c 3355 P220i 323c Smart Array Gen8+ Controllers 103c 1920 P430i 103c 1921 P830i 103c 1922 P430 103c 1923 P431 103c 1924 P830 103c 1925 Smart Array 103c 1926 P731m 103c 1928 P230i 3300 Integrated Lights-Out Standard Virtual USB Controller 103c 3304 iLO2 103c 3305 iLO2 103c 3309 iLO2 GXL/iLO3 GXE 103c 330e iLO3 103c 3381 iLO4 3301 Integrated Lights-Out Standard Serial Port 103c 3304 iLO2 103c 3305 iLO2 103c 330e iLO3 103c 3381 iLO4 # Virtual serial port which is presented on a Java applet 3302 Integrated Lights-Out Standard KCS Interface 103c 3304 iLO2 103c 3305 iLO2 103c 330e iLO3 103c 3381 iLO4 3305 Integrated Lights-Out (iLO2) Controller 3306 Integrated Lights-Out Standard Slave Instrumentation & System Support 103c 330e iLO3 103c 3381 iLO4 1590 00e4 iLO5 3307 Integrated Lights-Out Standard Management Processor Support and Messaging # HP DL380 G6 103c 3309 iLO 2 103c 330e iLO3 103c 3381 iLO4 3308 Integrated Lights-Out Standard MS Watchdog Timer 103c 330e iLO3 103c 3381 iLO4 4030 zx2 System Bus Adapter 4031 zx2 I/O Controller 4037 PCIe Local Bus Adapter 9602 AMD RS780/RS880 PCI to PCI bridge (int gfx) 103c 1609 ProLiant MicroServer N36L 103e Solliday Engineering 103f Synopsys/Logic Modeling Group 1040 Accelgraphics Inc. 1041 Computrend 1042 Micron 1000 PC Tech RZ1000 1001 PC Tech RZ1001 3000 Samurai_0 3010 Samurai_1 3020 Samurai_IDE 1043 ASUSTeK Computer Inc. 0464 Radeon R9 270x GPU 0521 RX580 [RX 580 Dual O8G] 0675 ISDNLink P-IN100-ST-D 0675 1704 ISDN Adapter (PCI Bus, D, C) 0675 1707 ISDN Adapter (PCI Bus, DV, W) 10cf 105e ISDN Adapter (PCI Bus, DV, W) # Should be 1022:9602 9602 AMD RS780/RS880 PCI to PCI bridge (int gfx) 1043 83a2 M4A785TD Motherboard 1044 Adaptec (formerly DPT) 1012 Domino RAID Engine a400 SmartCache/Raid I-IV Controller a500 PCI Bridge a501 SmartRAID V Controller 1044 c001 PM1554U2 Ultra2 Single Channel 1044 c002 PM1654U2 Ultra2 Single Channel 1044 c003 PM1564U3 Ultra3 Single Channel 1044 c004 PM1564U3 Ultra3 Dual Channel 1044 c005 PM1554U2 Ultra2 Single Channel (NON ACPI) 1044 c00a PM2554U2 Ultra2 Single Channel 1044 c00b PM2654U2 Ultra2 Single Channel 1044 c00c PM2664U3 Ultra3 Single Channel 1044 c00d PM2664U3 Ultra3 Dual Channel 1044 c00e PM2554U2 Ultra2 Single Channel (NON ACPI) 1044 c00f PM2654U2 Ultra2 Single Channel (NON ACPI) 1044 c014 PM3754U2 Ultra2 Single Channel (NON ACPI) 1044 c015 PM3755U2B Ultra2 Single Channel (NON ACPI) 1044 c016 PM3755F Fibre Channel (NON ACPI) 1044 c01e PM3757U2 Ultra2 Single Channel 1044 c01f PM3757U2 Ultra2 Dual Channel 1044 c020 PM3767U3 Ultra3 Dual Channel 1044 c021 PM3767U3 Ultra3 Quad Channel 1044 c028 PM2865U3 Ultra3 Single Channel 1044 c029 PM2865U3 Ultra3 Dual Channel 1044 c02a PM2865F Fibre Channel 1044 c03c 2000S Ultra3 Single Channel 1044 c03d 2000S Ultra3 Dual Channel 1044 c03e 2000F Fibre Channel 1044 c046 3000S Ultra3 Single Channel 1044 c047 3000S Ultra3 Dual Channel 1044 c048 3000F Fibre Channel 1044 c050 5000S Ultra3 Single Channel 1044 c051 5000S Ultra3 Dual Channel 1044 c052 5000F Fibre Channel 1044 c05a 2400A UDMA Four Channel 1044 c05b 2400A UDMA Four Channel DAC 1044 c064 3010S Ultra3 Dual Channel 1044 c065 3410S Ultra160 Four Channel 1044 c066 3010S Fibre Channel a511 SmartRAID V Controller 1044 c032 ASR-2005S I2O Zero Channel 1044 c035 ASR-2010S I2O Zero Channel c066 3010S Ultra3 Dual Channel 1045 OPTi Inc. a0f8 82C750 [Vendetta] USB Controller c101 92C264 c178 92C178 c556 82X556 [Viper] c557 82C557 [Viper-M] c558 82C558 [Viper-M ISA+IDE] c567 82C750 [Vendetta], device 0 c568 82C750 [Vendetta], device 1 c569 82C579 [Viper XPress+ Chipset] c621 82C621 [Viper-M/N+] c700 82C700 [FireStar] c701 82C701 [FireStar Plus] c814 82C814 [Firebridge 1] c822 82C822 c824 82C824 c825 82C825 [Firebridge 2] c832 82C832 c861 82C861 OHCI USB Host c881 82C881 [FireLink] 1394 OHCI Link Controller c895 82C895 c935 EV1935 ECTIVA MachOne PCIAudio d568 82C825 [Firebridge 2] d721 IDE [FireStar] 1046 IPC Corporation, Ltd. 1047 Genoa Systems Corp 1048 Elsa AG 0c60 Gladiac MX 0d22 Quadro4 900XGL [ELSA GLoria4 900XGL] 1000 QuickStep 1000 3000 QuickStep 3000 8901 Gloria XL 1048 0935 GLoria XL (Virge) 1049 Fountain Technologies, Inc. # nee SGS Thomson Microelectronics 104a STMicroelectronics 0000 STLS2F Host Bridge 0008 STG 2000X 0009 STG 1764X 0010 STG4000 [3D Prophet Kyro Series] 104a 4018 ST PowerVR Kyro (64MB AGP TVO) # 64MB AGP 1681 0010 PowerVR Kyro II [3D Prophet 4500] 1681 0028 3D Prophet 4000XT 1681 c010 3D Prophet 4500 TV-Out 1681 c069 3D Prophet 4000XT 0201 STPC Vega Northbridge 0209 STPC Consumer/Industrial North- and Southbridge 020a STPC Atlas/ConsumerS/Consumer IIA Northbridge 020b STPC Consumer II ISA Bridge 0210 STPC Atlas ISA Bridge 021a STPC Consumer S Southbridge 021b STPC Consumer IIA Southbridge 0220 STPC Industrial PCI to PCCard bridge 0228 STPC Atlas IDE 0229 STPC Vega IDE 0230 STPC Atlas/Vega OHCI USB Controller 0238 STPC Vega LAN 0500 ST70137 [Unicorn] ADSL DMT Transceiver 104a 0500 BeWAN ADSL PCI st 0564 STPC Client Northbridge 0981 21x4x DEC-Tulip compatible 10/100 Ethernet 1746 STG 1764X 2774 21x4x DEC-Tulip compatible 10/100 Ethernet 3520 MPEG-II decoder card 55cc STPC Client Southbridge 104b BusLogic 0140 BT-946C (old) [multimaster 01] 1040 BT-946C (BA80C30) [MultiMaster 10] 8130 Flashpoint LT 104c Texas Instruments 0500 100 MBit LAN Controller 0508 TMS380C2X Compressor Interface 1000 Eagle i/f AS 104c PCI1510 PC card Cardbus Controller 3d04 TVP4010 [Permedia] 3d07 TVP4020 [Permedia 2] 1011 4d10 Comet 1040 000f AccelStar II 1040 0011 AccelStar II 1048 0a31 WINNER 2000 1048 0a32 GLoria Synergy 1048 0a34 GLoria Synergy 1048 0a35 GLoria Synergy 1048 0a36 GLoria Synergy 1048 0a43 GLoria Synergy 1048 0a44 GLoria Synergy 107d 2633 WinFast 3D L2300 1092 0126 FIRE GL 1000 PRO 1092 0127 FIRE GL 1000 PRO 1092 0136 FIRE GL 1000 PRO 1092 0141 FIRE GL 1000 PRO 1092 0146 FIRE GL 1000 PRO 1092 0148 FIRE GL 1000 PRO 1092 0149 FIRE GL 1000 PRO 1092 0152 FIRE GL 1000 PRO 1092 0154 FIRE GL 1000 PRO 1092 0155 FIRE GL 1000 PRO 1092 0156 FIRE GL 1000 PRO 1092 0157 FIRE GL 1000 PRO 1097 3d01 Jeronimo Pro 1102 100f Graphics Blaster Extreme 3d3d 0100 Reference Permedia 2 3D 8000 PCILynx/PCILynx2 IEEE 1394 Link Layer Controller 105e 8003 FireBoard200 1443 8003 FireBoard200 1443 8005 FireBoard400 1443 8006 FireBoard400 e4bf 1010 CF1-1-SNARE e4bf 1020 CF1-2-SNARE e4bf 1040 FireCompact400 8009 TSB12LV22 IEEE-1394 Controller 104d 8032 8032 OHCI i.LINK (IEEE 1394) Controller 1443 8010 FireBoard400-OHCI 8017 PCI4410 FireWire Controller 8019 TSB12LV23 IEEE-1394 Controller 11bd 000a Studio DV500-1394 11bd 000e Studio DV 1443 8010 FireBoard400-OHCI e4bf 1010 CF2-1-CYMBAL 8020 TSB12LV26 IEEE-1394 Controller (Link) 1028 00d8 Precision 530 104d 80e2 VAIO PCV-J200 11bd 000f Studio DV500-1394 11bd 001c Excalibur 4.1 1443 8010 FireBoard400-OHCI 8021 TSB43AA22 IEEE-1394 Controller (PHY/Link Integrated) 104d 80df Vaio PCG-FX403 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 8022 TSB43AB22 IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] 104c 8023 TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link) 8023 TSB43AB22A IEEE-1394a-2000 Controller (PHY/Link) [iOHCI-Lynx] 1028 0168 Precision Workstation 670 Mainboard 103c 088c NC8000 laptop 1043 808b K8N4/A8N Series Mainboard 1043 815b P5W DH Deluxe Motherboard 1443 8023 FireCard400 8086 5044 Desktop Board DP35DP 8024 TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link) 107d 6620 Winfast DV2000 FireWire Controller 1443 8024 FireBoard Blue 1458 1000 Motherboard 8025 TSB82AA2 IEEE-1394b Link Layer Controller 1043 813c P5P series mainboard 1443 8025 FireBoard800 1458 1000 GA-K8N Ultra-9 Mainboard 1546 8025 FWB-PCI01 17fc 8025 GIC3800 8026 TSB43AB21 IEEE-1394a-2000 Controller (PHY/Link) 1025 0035 TravelMate 660 1025 003c Aspire 2001WLCi (Compaq CL50 motherboard) 103c 0025 XE4500 Notebook 103c 006a NX9500 1043 808d A7V333 mainboard. 8027 PCI4451 IEEE-1394 Controller 1028 00e5 Latitude C810 1028 00e6 PCI4451 IEEE-1394 Controller (Dell Inspiron 8100) 8029 PCI4510 IEEE-1394 Controller 1028 0163 Latitude D505 1028 0196 Inspiron 5160 1071 8160 MIM2900 802b PCI7410,7510,7610 OHCI-Lynx Controller 1028 0139 Latitude D400 1028 014e PCI7410,7510,7610 OHCI-Lynx Controller (Latitude D800) 802e PCI7x20 1394a-2000 OHCI Two-Port PHY/Link-Layer Controller 1028 018d Inspiron 700m/710m 8031 PCIxx21/PCIxx11/PCIx515 PC Card Controller 1025 0064 Extensa 3000 series laptop 1025 0080 Aspire 5024WLMi 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 103c 308b MX6125 8032 OHCI Compliant IEEE 1394 Host Controller 1025 0064 Extensa 3000 series laptop 1025 0080 Aspire 5024WLMi 103c 0934 Compaq nw8240/nx8220 103c 099c NX6110/NC6120 103c 308b MX6125 8033 PCIxx21/PCIxx11 Flash Media Controller 1025 0064 Extensa 3000 series laptop 1025 0080 Aspire 5024WLMi 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 103c 308b MX6125 8034 PCIxx21/PCIxx11 SD Host Controller 1025 0080 Aspire 5024WLMi 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 103c 308b MX6125 8035 PCIxx21/PCIxx11 Smart Card Controller 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 8036 PCI6515 Cardbus Controller 8038 PCI6515 SmartCard Controller 8039 PCIxx12 Cardbus Controller 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 104d 902d VAIO VGN-NR120E 803a PCIxx12 OHCI Compliant IEEE 1394 Host Controller 103c 309f nx9420 103c 30a1 NC2400 103c 30a3 Compaq nw8440 104d 902d VAIO VGN-NR120E 803b PCIxx12 Flash Media Controller 103c 309f nx9420 103c 30a3 Compaq nw8440 104d 8212 VAIO VGN-N21E 104d 902d VAIO VGN-NR120E 803c PCIxx12 SDA Standard Compliant SD Host Controller 103c 309f nx9420 103c 30a3 Compaq nw8440 803d PCIxx12 GemCore based SmartCard controller 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 nc8430 103c 30aa nc6310 8101 TSB43DB42 IEEE-1394a-2000 Controller (PHY/Link) 8201 PCI1620 Firmware Loading Function 8204 PCI7410/7510/7610 PCI Firmware Loading Function 1028 0139 Latitude D400 1028 014e Latitude D800 8231 XIO2000(A)/XIO2200A PCI Express-to-PCI Bridge 5678 1234 DC-1394 PCIe 8232 XIO3130 PCI Express Switch (Upstream) 8233 XIO3130 PCI Express Switch (Downstream) 8235 XIO2200A IEEE-1394a-2000 Controller (PHY/Link) 5678 1234 DC-1394 PCIe 823e XIO2213A/B/XIO2221 PCI Express to PCI Bridge [Cheetah Express] 823f XIO2213A/B/XIO2221 IEEE-1394b OHCI Controller [Cheetah Express] 1546 803c FWB-PCIE1X11B 8240 XIO2001 PCI Express-to-PCI Bridge 8241 TUSB73x0 SuperSpeed USB 3.0 xHCI Host Controller 1014 04b2 S824 (8286-42A) 8400 ACX 100 22Mbps Wireless Interface 1186 3b00 DWL-650+ PC Card cardbus 22Mbs Wireless Adapter [AirPlus] 1186 3b01 DWL-520+ 22Mbps PCI Wireless Adapter 1395 2201 WL22-PC 16ab 8501 WL-8305 IEEE802.11b+ Wireless LAN PCI Adapter 8401 ACX 100 22Mbps Wireless Interface 8888 Multicore DSP+ARM KeyStone II SOC 9000 Wireless Interface (of unknown type) 9065 TMS320DM642 9066 ACX 111 54Mbps Wireless Interface 0308 3404 G-102 v1 802.11g Wireless Cardbus Adapter 0308 3406 G-162 v2 802.11g Wireless Cardbus Adapter 104c 9066 WL212 Sitecom Wireless Network PCI-Card 100M (Version 1) # Found in Philips ADSL ANNEX A WLAN Router SNA6500/18 sold by Belgacom 104c 9067 TNETW1130GVF 104c 9096 Trendnet TEW-412PC Wireless PCI Adapter (Version A) 1186 3b04 DWL-G520+ Wireless PCI Adapter 1186 3b05 DWL-G650+ AirPlusG+ CardBus Wireless LAN 1186 3b08 AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.B1) 1385 4c00 WG311v2 802.11g Wireless PCI Adapter 13d1 aba0 SWLMP-54108 108Mbps Wireless mini PCI card 802.11g+ 14ea ab07 GW-NS54GM Wireless Cardbus Adapter 16ec 010d USR5416 802.11g Wireless Turbo PCI Adapter 16ec 010e USR5410 802.11g Wireless Cardbus Adapter 1737 0033 WPC54G v2 802.11g Wireless-G Notebook Adapter 17cf 0032 G-162 v1 802.11g Wireless Cardbus Adapter 17cf 0033 Z-Com XG650 Wireless miniPCI 802.11b/g 187e 340b G-302 v2 802.11g Wireless PCI Adapter 187e 340c G-360 v2 802.11g Wireless PCI Adapter a001 TDC1570 a100 TDC1561 a102 TNETA1575 HyperSAR Plus w/PCI Host i/f & UTOPIA i/f a106 TMS320C6414 TMS320C6415 TMS320C6416 175c 5000 ASI50xx Audio Adapter 175c 6400 ASI6400 Cobranet series 175c 8700 ASI87xx Radio Tuner card ac10 PCI1050 ac11 PCI1053 ac12 PCI1130 ac13 PCI1031 ac15 PCI1131 ac16 PCI1250 1014 0092 ThinkPad 600 ac17 PCI1220 ac18 PCI1260 ac19 PCI1221 ac1a PCI1210 ac1b PCI1450 0e11 b113 Armada M700 1014 0130 ThinkPad 600X/A21m/T20/T22 ac1c PCI1225 0e11 b121 Armada E500 1028 0088 Latitude CPi A400XT ac1d PCI1251A ac1e PCI1211 ac1f PCI1251B ac20 TI 2030 ac21 PCI2031 ac22 PCI2032 PCI Docking Bridge ac23 PCI2250 PCI-to-PCI Bridge ac28 PCI2050 PCI-to-PCI Bridge ac2c PCI2060 PCI-to-PCI Bridge ac30 PCI1260 PC card Cardbus Controller ac40 PCI4450 PC card Cardbus Controller ac41 PCI4410 PC card Cardbus Controller ac42 PCI4451 PC card Cardbus Controller 1028 00e6 PCI4451 PC card CardBus Controller (Inspiron 8100) ac44 PCI4510 PC card Cardbus Controller 1028 0149 Inspiron 5100 1028 0163 Latitude D505 1028 0196 Inspiron 5160 1071 8160 MIM2000 ac46 PCI4520 PC card Cardbus Controller 1014 0552 ThinkPad ac47 PCI7510 PC card Cardbus Controller 1028 0139 Latitude D400 1028 013f Precision M60 1028 014e Latitude D800 ac48 PCI7610 PC Card Cardbus Controller ac49 PCI7410 PC Card Cardbus Controller ac4a PCI7510/7610 CardBus Bridge 1028 0139 Latitude D400 1028 014e Latitude D800 ac4b PCI7610 SD/MMC controller ac4c PCI7610 Memory Stick controller ac50 PCI1410 PC card Cardbus Controller ac51 PCI1420 PC card Cardbus Controller 0e11 004e Evo N600c 1014 0148 ThinkPad A20m 1014 023b ThinkPad T23 1028 00b1 Latitude C600 1028 012a Latitude C640 1033 80cd Versa Note VXi 10cf 1095 Lifebook S-4510/C6155 e4bf 1000 CP2-2-HIPHOP ac52 PCI1451 PC card Cardbus Controller ac53 PCI1421 PC card Cardbus Controller ac54 PCI1620 PC Card Controller 103c 08b0 tc1100 tablet ac55 PCI1520 PC card Cardbus Controller 1014 0512 ThinkPad T30/T40 103c 0025 XE4500 Notebook ac56 PCI1510 PC card Cardbus Controller 1014 0512 ThinkPad R50e 1014 0528 ThinkPad R40e 17aa 2012 ThinkPad T60/R60 series ac60 PCI2040 PCI to DSP Bridge Controller 175c 5100 ASI51xx Audio Adapter 175c 6100 ASI61xx Audio Adapter 175c 6200 ASI62xx Audio Adapter 175c 8800 ASI88xx Audio Adapter 186f 3001 WR-G303 PCI radio receiver 186f 3005 WR-G305 PCI radio receiver 186f 3101 WR-G313 PCI radio receiver 186f 3105 WR-G315 PCI radio receiver ac8d PCI 7620 ac8e PCI7420 CardBus Controller 1028 018d Inspiron 700m/710m ac8f PCI7420/7620 SD/MS-Pro Controller 1028 018d Inspiron 700m/710m b001 TMS320C6424 fe00 FireWire Host Controller fe03 12C01A FireWire Host Controller 104d Sony Corporation 8004 DTL-H2500 [Playstation development board] 8009 CXD1947Q i.LINK Controller 800c DTL-H800 [PS1 sound development board] 8039 CXD3222 i.LINK Controller 8047 PS2 TOOL MRP 8056 Rockwell HCF 56K modem 808a Memory Stick Controller 80ff PS2 Performance Analyzer 814a PS2 Performance Analyzer 8183 ATHENS [PS3 prototype developer interface card] 81b0 BM-1 [PSP TOOL Board Management Device] 81c3 VO-4 [PSP TOOL Video Output Device] 81ce SxS Pro memory card 81ff PS3 TOOL MRP 8200 PS3 TOOL RSX Tracing FPGA 820e CXD9208GP [PS3 PS2 emulation subsystem adapter] # 2nd ID 905c SxS Pro memory card # 2nd ID 907f SxS Pro+ memory card 908f Aeolia ACPI 909e Aeolia Ethernet Controller (Marvell Yukon 2 Family) 909f Aeolia SATA AHCI Controller 90a0 Aeolia SD/MMC Host Controller 90a1 Aeolia PCI Express Glue and Miscellaneous Devices 90a2 Aeolia DMA Controller 90a3 Aeolia Memory (DDR3/SPM) 90a4 Aeolia USB 3.0 xHCI Host Controller 90bc SxS Pro+ memory card 90c8 Belize ACPI 90c9 Belize Ethernet Controller 90ca Belize SATA AHCI Controller 90cb Belize SD/MMC Host Controller 90cc Belize PCI Express Glue and Miscellaneous Devices 90cd Belize DMA Controller 90ce Belize Memory (DDR3/SPM) 90cf Belize USB 3.0 xHCI Host Controller 90d7 Baikal ACPI 90d8 Baikal Ethernet Controller 90d9 Baikal SATA AHCI Controller 90da Baikal SD/MMC Host Controller 90db Baikal PCI Express Glue and Miscellaneous Devices 90dc Baikal DMA Controller 90dd Baikal Memory (DDR3/SPM) 90de Baikal USB 3.0 xHCI Host Controller 104e Oak Technology, Inc 0017 OTI-64017 0107 OTI-107 [Spitfire] 0109 Video Adapter 0111 OTI-64111 [Spitfire] 0217 OTI-64217 0317 OTI-64317 104f Co-time Computer Ltd 1050 Winbond Electronics Corp 0000 NE2000 0001 W83769F 0033 W89C33D 802.11 a/b/g BB/MAC 0105 W82C105 0840 W89C840 1050 0001 W89C840 Ethernet Adapter 1050 0840 W89C840 Ethernet Adapter 0940 W89C940 5a5a W89C940F 6692 W6692 1043 1702 ISDN Adapter (PCI Bus, D, W) 1043 1703 ISDN Adapter (PCI Bus, DV, W) 1043 1707 ISDN Adapter (PCI Bus, DV, W) 144f 1702 ISDN Adapter (PCI Bus, D, W) 144f 1703 ISDN Adapter (PCI Bus, DV, W) 144f 1707 ISDN Adapter (PCI Bus, DV, W) 9921 W99200F MPEG-1 Video Encoder 9922 W99200F/W9922PF MPEG-1/2 Video Encoder 9970 W9970CF 1051 Anigma, Inc. 1052 ?Young Micro Systems 1053 Young Micro Systems 1054 Hitachi, Ltd 3009 2Gbps Fibre Channel to PCI HBA 3009 300a 4Gbps Fibre Channel to PCI-X HBA 300a 300b 4Gbps Fibre Channel to PCI-X HBA 300b 300f ColdFusion 3 Chipset Processor to I/O Controller 3010 ColdFusion 3 Chipset Memory Controller Hub 3011 ColdFusion 3e Chipset Processor to I/O Controller 3012 ColdFusion 3e Chipset Memory Controller Hub 3017 Unassigned Hitachi Shared FC Device 3017 301b Virtual VGA Device 301d PCIe-to-PCIe Bridge with Virtualization IO Assist Feature 3020 FIVE-EX based Fibre Channel to PCIe HBA 302c M001 PCI Express Switch Upstream Port 302d M001 PCI Express Switch Downstream Port 3070 Hitachi FIVE-FX Fibre Channel to PCIe HBA 3505 SH7751 PCI Controller (PCIC) 350e SH7751R PCI Controller (PCIC) 1055 Microchip Technology / SMSC 9130 SLC90E66 [Victory66] IDE 9460 SLC90E66 [Victory66] ISA 9462 SLC90E66 [Victory66] USB 9463 SLC90E66 [Victory66] ACPI e420 LAN9420/LAN9420i 1056 ICL # Motorola made a mistake and used 1507 instead of 1057 in some chips. Please look at the 1507 entry as well when updating this. 1057 Motorola 0001 MPC105 [Eagle] 0002 MPC106 [Grackle] 0003 MPC8240 [Kahlua] 0004 MPC107 0006 MPC8245 [Unity] 0008 MPC8540 0009 MPC8560 0012 MPC8548 [PowerQUICC III] 0100 MC145575 [HFC-PCI] 0431 KTI829c 100VG 1073 Nokia N770 1219 Nokia N800 1801 DSP56301 Digital Signal Processor 14fb 0101 Transas Radar Imitator Board [RIM] 14fb 0102 Transas Radar Imitator Board [RIM-2] 14fb 0202 Transas Radar Integrator Board [RIB-2] 14fb 0611 1 channel CAN bus Controller [CanPci-1] 14fb 0612 2 channels CAN bus Controller [CanPci-2] 14fb 0613 3 channels CAN bus Controller [CanPci-3] 14fb 0614 4 channels CAN bus Controller [CanPci-4] 14fb 0621 1 channel CAN bus Controller [CanPci2-1] 14fb 0622 2 channels CAN bus Controller [CanPci2-2] 14fb 0810 Transas VTS Radar Integrator Board [RIB-4] 175c 4200 ASI4215 Audio Adapter 175c 4300 ASI43xx Audio Adapter 175c 4400 ASI4401 Audio Adapter ecc0 0010 Darla ecc0 0020 Gina ecc0 0030 Layla rev.0 ecc0 0031 Layla rev.1 ecc0 0040 Darla24 rev.0 ecc0 0041 Darla24 rev.1 ecc0 0050 Gina24 rev.0 ecc0 0051 Gina24 rev.1 ecc0 0070 Mona rev.0 ecc0 0071 Mona rev.1 ecc0 0072 Mona rev.2 18c0 MPC8265A/8266/8272 18c1 MPC8271/MPC8272 3052 SM56 Data Fax Modem 3410 DSP56361 Digital Signal Processor ecc0 0050 Gina24 rev.0 ecc0 0051 Gina24 rev.1 ecc0 0060 Layla24 ecc0 0070 Mona rev.0 ecc0 0071 Mona rev.1 ecc0 0072 Mona rev.2 ecc0 0080 Mia rev.0 ecc0 0081 Mia rev.1 ecc0 0090 Indigo ecc0 00a0 Indigo IO ecc0 00b0 Indigo DJ ecc0 0100 3G 4801 Raven 4802 Falcon 4803 Hawk 4806 CPX8216 # MPC7410 PowerPC microprocessor and PCI host bridge 480b MPC7410 4d68 20268 5600 SM56 PCI Modem 1057 0300 SM56 PCI Speakerphone Modem 1057 0301 SM56 PCI Voice Modem 1057 0302 SM56 PCI Fax Modem 1057 5600 SM56 PCI Voice modem 13d2 0300 SM56 PCI Speakerphone Modem 13d2 0301 SM56 PCI Voice modem 13d2 0302 SM56 PCI Fax Modem 1436 0300 SM56 PCI Speakerphone Modem 1436 0301 SM56 PCI Voice modem 1436 0302 SM56 PCI Fax Modem 144f 100c SM56 PCI Fax Modem 1494 0300 SM56 PCI Speakerphone Modem 1494 0301 SM56 PCI Voice modem 14c8 0300 SM56 PCI Speakerphone Modem 14c8 0302 SM56 PCI Fax Modem 1668 0300 SM56 PCI Speakerphone Modem 1668 0302 SM56 PCI Fax Modem 5608 Wildcard X100P 5803 MPC5200 5806 MCF54 Coldfire 5808 MPC8220 5809 MPC5200B 6400 MPC190 Security Processor (S1 family, encryption) 6405 MPC184 Security Processor (S1 family) 1058 Electronics & Telecommunications RSH 1059 Kontron 105a Promise Technology, Inc. 0d30 PDC20265 (FastTrak100 Lite/Ultra100) 1043 8042 AV7266-E South Bridge Promise RAID 105a 4d33 Ultra100 0d38 20263 105a 4d39 Fasttrak66 1275 20275 3318 PDC20318 (SATA150 TX4) 3319 PDC20319 (FastTrak S150 TX4) 105a 3319 FastTrak S150 TX4 4 port SATA PCI board 8086 3427 S875WP1-E mainboard 3371 PDC20371 (FastTrak S150 TX2plus) 3373 PDC20378 (FastTrak 378/SATA 378) 1043 80f5 K8V Deluxe/PC-DL Deluxe motherboard 1462 590d KT6 Delta-FIS2R (MS-6590) 1462 702e K8T NEO FIS2R motherboard 3375 PDC20375 (SATA150 TX2plus) 3376 PDC20376 (FastTrak 376) 1043 809e A7V8X motherboard 3515 PDC40719 [FastTrak TX4300/TX4310] 3519 PDC40519 (FastTrak TX4200) 3570 PDC20771 [FastTrak TX2300] 3571 PDC20571 (FastTrak TX2200) 3574 PDC20579 SATAII 150 IDE Controller 3577 PDC40779 (SATA 300 779) 3d17 PDC40718 (SATA 300 TX4) 3d18 PDC20518/PDC40518 (SATAII 150 TX4) 3d73 PDC40775 (SATA 300 TX2plus) 3d75 PDC20575 (SATAII150 TX2plus) 3f20 PDC42819 [FastTrak TX2650/TX4650] 4302 80333 [SuperTrak EX4350] 4d30 PDC20267 (FastTrak100/Ultra100) 105a 4d33 Ultra100 105a 4d39 FastTrak100 8086 5744 S845WD1-E mainboard 4d33 20246 105a 4d33 20246 IDE Controller 4d38 PDC20262 (FastTrak66/Ultra66) 105a 4d30 Ultra Device on SuperTrak 105a 4d33 Ultra66 105a 4d39 FastTrak66 4d68 PDC20268 [Ultra100 TX2] 105a 4d68 Ultra100 TX2 4d69 20269 105a 4d68 Ultra133TX2 5275 PDC20276 (MBFastTrak133 Lite) 1043 807e A7V333 motherboard. 105a 0275 SuperTrak SX6000 IDE 105a 1275 MBFastTrak133 Lite (tm) Controller (RAID mode) 1458 b001 MBUltra 133 5300 DC5300 6268 PDC20270 (FastTrak100 LP/TX2/TX4) 105a 4d68 FastTrak100 TX2 6269 PDC20271 (FastTrak TX2000) 105a 6269 FastTrak TX2/TX2000 6300 PDC81731 [FastTrak SX8300] 6621 PDC20621 (FastTrak S150 SX4/FastTrak SX4000 lite) 6622 PDC20621 [SATA150 SX4] 4 Channel IDE RAID Controller 6624 PDC20621 [FastTrak SX4100] 6626 PDC20618 (Ultra 618) 6629 PDC20619 (FastTrak TX4000) 7275 PDC20277 (SBFastTrak133 Lite) 8002 SATAII150 SX8 8350 80333 [SuperTrak EX8350/EX16350], 80331 [SuperTrak EX8300/EX16300] 8650 81384 [SuperTrak EX SAS and SATA RAID Controller] 105a 4600 SuperTrak EX4650A 105a 4601 SuperTrak EX4650 105a 4610 SuperTrak EX4650EL 105a 8600 SuperTrak EX8650EL 105a 8601 SuperTrak EX8650A 105a 8602 SuperTrak EX8654 105a 8603 SuperTrak EX8658 105a 8604 SuperTrak EX8650 105a 8610 SuperTrak EX8650M 105a a600 SuperTrak EX12650 105a b600 SuperTrak EX16650 105a b601 SuperTrak EX16654 105a b602 SuperTrak EX16658 8760 PM8010 [SuperTrak EX SAS and SATA 6G RAID Controller] c350 80333 [SuperTrak EX12350] e350 80333 [SuperTrak EX24350] 105b Foxconn International, Inc. 105c Wipro Infotech Limited 105d Number 9 Computer Company 2309 Imagine 128 2339 Imagine 128-II 105d 0000 Imagine 128 series 2 4Mb VRAM 105d 0001 Imagine 128 series 2 4Mb VRAM 105d 0002 Imagine 128 series 2 4Mb VRAM 105d 0003 Imagine 128 series 2 4Mb VRAM 105d 0004 Imagine 128 series 2 4Mb VRAM 105d 0005 Imagine 128 series 2 4Mb VRAM 105d 0006 Imagine 128 series 2 4Mb VRAM 105d 0007 Imagine 128 series 2 4Mb VRAM 105d 0008 Imagine 128 series 2e 4Mb DRAM 105d 0009 Imagine 128 series 2e 4Mb DRAM 105d 000a Imagine 128 series 2 8Mb VRAM 105d 000b Imagine 128 series 2 8Mb H-VRAM 11a4 000a Metheus 5 Megapixel 13cc 0000 Metheus 5 Megapixel 13cc 0004 Metheus 5 Megapixel 13cc 0005 Metheus 5 Megapixel 13cc 0006 Metheus 5 Megapixel 13cc 0008 Metheus 5 Megapixel 13cc 0009 Metheus 5 Megapixel 13cc 000a Metheus 5 Megapixel 13cc 000c Metheus 5 Megapixel 493d Imagine 128 T2R [Ticket to Ride] 11a4 000a Metheus 5 Megapixel, Dual Head 11a4 000b Metheus 5 Megapixel, Dual Head 13cc 0002 Metheus 4 Megapixel, Dual Head 13cc 0003 Metheus 5 Megapixel, Dual Head 13cc 0007 Metheus 5 Megapixel, Dual Head 13cc 0008 Metheus 5 Megapixel, Dual Head 13cc 0009 Metheus 5 Megapixel, Dual Head 13cc 000a Metheus 5 Megapixel, Dual Head 5348 Revolution 4 105d 0037 Revolution IV-FP AGP (For SGI 1600SW) 11a4 0028 PVS5600M 11a4 0038 PVS5600D 105e Vtech Computers Ltd 105f Infotronic America Inc 1060 United Microelectronics [UMC] 0001 UM82C881 0002 UM82C886 0101 UM8673F 0881 UM8881 0886 UM8886F 0891 UM8891A 1001 UM886A 673a UM8886BF 673b EIDE Master/DMA 8710 UM8710 886a UM8886A 8881 UM8881F 8886 UM8886F 888a UM8886A 8891 UM8891A 9017 UM9017F 9018 UM9018 9026 UM9026 e881 UM8881N e886 UM8886N e88a UM8886N e891 UM8891N 1061 I.I.T. 0001 AGX016 0002 IIT3204/3501 1062 Maspar Computer Corp 1063 Ocean Office Automation 1064 Alcatel 1102 Dynamite 2840 (ADSL PCI modem) 1065 Texas Microsystems 1066 PicoPower Technology 0000 PT80C826 0001 PT86C521 [Vesuvius v1] Host Bridge 0002 PT86C523 [Vesuvius v3] PCI-ISA Bridge Master 0003 PT86C524 [Nile] PCI-to-PCI Bridge 0004 PT86C525 [Nile-II] PCI-to-PCI Bridge 0005 National PC87550 System Controller 8002 PT86C523 [Vesuvius v3] PCI-ISA Bridge Slave 1067 Mitsubishi Electric 0301 AccelGraphics AccelECLIPSE 0304 AccelGALAXY A2100 [OEM Evans & Sutherland] 0308 Tornado 3000 [OEM Evans & Sutherland] 1002 VG500 [VolumePro Volume Rendering Accelerator] 1068 Diversified Technology 1069 Mylex Corporation 0001 DAC960P 0002 DAC960PD 0010 DAC960PG 0020 DAC960LA 0050 AcceleRAID 352/170/160 support Device 1069 0050 AcceleRAID 352 support Device 1069 0052 AcceleRAID 170 support Device 1069 0054 AcceleRAID 160 support Device b166 AcceleRAID 600/500/400/Sapphire support Device 1014 0242 iSeries 2872 DASD IOA 1014 0266 Dual Channel PCI-X U320 SCSI Adapter 1014 0278 Dual Channel PCI-X U320 SCSI RAID Adapter 1014 02d3 Dual Channel PCI-X U320 SCSI Adapter 1014 02d4 Dual Channel PCI-X U320 SCSI RAID Adapter 1069 0200 AcceleRAID 400, Single Channel, PCI-X, U320, SCSI RAID 1069 0202 AcceleRAID Sapphire, Dual Channel, PCI-X, U320, SCSI RAID 1069 0204 AcceleRAID 500, Dual Channel, Low-Profile, PCI-X, U320, SCSI RAID 1069 0206 AcceleRAID 600, Dual Channel, PCI-X, U320, SCSI RAID ba55 eXtremeRAID 1100 support Device ba56 eXtremeRAID 2000/3000 support Device 1069 0030 eXtremeRAID 3000 support Device 1069 0040 eXtremeRAID 2000 support Device ba57 eXtremeRAID 4000/5000 support Device 1069 0072 eXtremeRAID 5000 support Device 106a Aten Research Inc 106b Apple Inc. 0001 Bandit PowerPC host bridge 0002 Grand Central I/O 0003 Control Video 0004 PlanB Video-In 0007 O'Hare I/O 000c DOS on Mac 000e Hydra Mac I/O 0010 Heathrow Mac I/O 0017 Paddington Mac I/O 0018 UniNorth FireWire 0019 KeyLargo USB 001e UniNorth Internal PCI 001f UniNorth PCI 0020 UniNorth AGP 0021 UniNorth GMAC (Sun GEM) 0022 KeyLargo Mac I/O 0024 UniNorth/Pangea GMAC (Sun GEM) 0025 KeyLargo/Pangea Mac I/O 0026 KeyLargo/Pangea USB 0027 UniNorth/Pangea AGP 0028 UniNorth/Pangea PCI 0029 UniNorth/Pangea Internal PCI 002d UniNorth 1.5 AGP 002e UniNorth 1.5 PCI 002f UniNorth 1.5 Internal PCI 0030 UniNorth/Pangea FireWire 0031 UniNorth 2 FireWire 106b 5811 iBook G4 2004 0032 UniNorth 2 GMAC (Sun GEM) 0033 UniNorth 2 ATA/100 0034 UniNorth 2 AGP 0035 UniNorth 2 PCI 0036 UniNorth 2 Internal PCI 003b UniNorth/Intrepid ATA/100 003e KeyLargo/Intrepid Mac I/O 003f KeyLargo/Intrepid USB 1af4 1100 QEMU Virtual Machine 0040 K2 KeyLargo USB 0041 K2 KeyLargo Mac/IO 0042 K2 FireWire 0043 K2 ATA/100 0045 K2 HT-PCI Bridge 0046 K2 HT-PCI Bridge 0047 K2 HT-PCI Bridge 0048 K2 HT-PCI Bridge 0049 K2 HT-PCI Bridge 004a CPC945 HT Bridge 004b U3 AGP 004c K2 GMAC (Sun GEM) 004f Shasta Mac I/O 0050 Shasta IDE 0051 Shasta (Sun GEM) 0052 Shasta Firewire 0053 Shasta PCI Bridge 0054 Shasta PCI Bridge 0055 Shasta PCI Bridge 0056 U4 PCIe 0057 U3 HT Bridge 0058 U3L AGP Bridge 0059 U3H AGP Bridge 005b CPC945 PCIe Bridge 0066 Intrepid2 AGP Bridge 0067 Intrepid2 PCI Bridge 0068 Intrepid2 PCI Bridge 0069 Intrepid2 ATA/100 006a Intrepid2 Firewire 006b Intrepid2 GMAC (Sun GEM) 0074 U4 HT Bridge # should be 14e4:1645 1645 Broadcom NetXtreme BCM5701 Gigabit Ethernet 1801 T2 Bridge Controller 1802 T2 Secure Enclave Processor 1803 Apple Audio Device 2001 S1X NVMe Controller 2002 S3ELab NVMe Controller 2003 S3X NVMe Controller 2005 ANS2 NVMe Controller 106c Hynix Semiconductor 8139 8139c 100BaseTX Ethernet Controller 8801 Dual Pentium ISA/PCI Motherboard 8802 PowerPC ISA/PCI Motherboard 8803 Dual Window Graphics Accelerator 8804 LAN Controller 8805 100-BaseT LAN 106d Sequent Computer Systems 106e DFI, Inc 106f City Gate Development Ltd 1070 Daewoo Telecom Ltd 1071 Mitac 8160 Mitac 8060B Mobile Platform 1072 GIT Co Ltd 1073 Yamaha Corporation 0001 3D GUI Accelerator 0002 YGV615 [RPA3 3D-Graphics Controller] 0003 YMF-740 0004 YMF-724 1073 0004 YMF724-Based PCI Audio Adapter 0005 DS1 Audio 1073 0005 DS-XG PCI Audio CODEC 0006 DS1 Audio 0008 DS1 Audio 1073 0008 DS-XG PCI Audio CODEC 000a DS1L Audio 1073 0004 DS-XG PCI Audio CODEC 1073 000a DS-XG PCI Audio CODEC 8086 4d55 DS-XG PCI Audio CODEC [Intel MU440EX] 000c YMF-740C [DS-1L Audio Controller] 107a 000c DS-XG PCI Audio CODEC 000d YMF-724F [DS-1 Audio Controller] 1073 000d DS-XG PCI Audio CODEC 0010 YMF-744B [DS-1S Audio Controller] 1073 0006 DS-XG PCI Audio CODEC 1073 0010 DS-XG PCI Audio CODEC 0012 YMF-754 [DS-1E Audio Controller] 1073 0012 DS-XG PCI Audio Codec 0020 DS-1 Audio 1000 SW1000XG [XG Factory] 2000 DS2416 Digital Mixing Card 1073 2000 DS2416 Digital Mixing Card 1074 NexGen Microsystems 4e78 82c500/1 1075 Advanced Integrations Research 1076 Chaintech Computer Co. Ltd 1077 QLogic Corp. 1016 ISP10160 Single Channel Ultra3 SCSI Processor 1020 ISP1020 Fast-wide SCSI 1022 ISP1022 Fast-wide SCSI 1080 ISP1080 SCSI Host Adapter 1216 ISP12160 Dual Channel Ultra3 SCSI Processor 101e 8471 QLA12160 on AMI MegaRAID 101e 8493 QLA12160 on AMI MegaRAID 1240 ISP1240 SCSI Host Adapter 1280 ISP1280 SCSI Host Adapter 1634 FastLinQ QL45000 Series 40GbE Controller 1077 e4f1 FastLinQ QL45212H 40GbE Adapter 1077 e4f2 FastLinQ QL45211H 40GbE Adapter 1077 e4f3 FastLinQ QL45412H 40GbE Adapter 1077 e4f4 FastLinQ QL45411H 40GbE Adapter 1644 FastLinQ QL45000 Series 100GbE Controller 1077 e4f8 FastLinQ QL45611H 100GbE Adapter 1654 FastLinQ QL45000 Series 50GbE Controller 1077 0032 QL45212 Flex 50Gb 2-port Ethernet Adapter 1590 0223 Synergy 6810C 25/50Gb Ethernet Adapter 1590 0287 Synergy 6820C 25/50Gb CNA 1656 FastLinQ QL45000 Series 25GbE Controller 1077 0033 QL45214 Flex 25Gb 4-port Ethernet Adapter 1077 02a7 QL45212-DE 25GbE Adapter 1077 e4f6 FastLinQ QL45211H 25GbE Adapter 1077 e4f7 FastLinQ QL45212H 25GbE Adapter 1590 0245 10/20/25GbE 2P 4820c CNA 165c FastLinQ QL45000 Series 10/25/40/50GbE Controller (FCoE) 1077 0034 QL45262 Flex 50Gb 2-port Ethernet Adapter w/ iSCSI/FCoE 1077 e4f1 FastLinQ QL45462H 40GbE FCoE Adapter 1077 e4f2 FastLinQ QL45461H 40GbE FCoE Adapter 1590 0245 10/20/25GbE 2P 4820c CNA FCoE 165e FastLinQ QL45000 Series 10/25/40/50GbE Controller (iSCSI) 1077 0034 QL45262 Flex 50Gb 2-port Ethernet Adapter w/ iSCSI/FCoE 1077 e4f1 FastLinQ QL45462H 40GbE iSCSI Adapter 1077 e4f2 FastLinQ QL45461H 40GbE iSCSI Adapter 1590 0245 10/20/25GbE 2P 4820c CNA iSCSI 1664 FastLinQ QL45000 Series Gigabit Ethernet Controller (SR-IOV VF) 1077 e4f1 FastLinQ QL45462H 40GbE Adapter (SR-IOV VF) 1077 e4f2 FastLinQ QL45461H 40GbE Adapter (SR-IOV VF) 1077 e4f3 FastLinQ QL45412H 40GbE Adapter (SR-IOV VF) 1077 e4f4 FastLinQ QL45411H 40GbE Adapter (SR-IOV VF) 1077 e4f6 FastLinQ QL45211H 25GbE Adapter (SR-IOV VF) 1077 e4f7 FastLinQ QL45212H 25GbE Adapter (SR-IOV VF) 1077 e4f8 FastLinQ QL45611H 100GbE Adapter (SR-IOV VF) 1590 0245 10/20/25GbE 2P 4820c CNA SRIOV 2020 ISP2020A Fast!SCSI Basic Adapter 2031 ISP8324-based 16Gb Fibre Channel to PCI Express Adapter 103c 17e7 SN1000Q 16Gb Single Port Fibre Channel Adapter 103c 17e8 SN1000Q 16Gb Dual Port Fibre Channel Adapter 103c 1939 QMH2672 16Gb Dual Port Fibre Channel Adapter 103c 8002 3830C 16G Fibre Channel Host Bus Adapter 2071 ISP2714-based 16/32Gb Fibre Channel to PCIe Adapter 1077 0283 QLE2764 Quad Port 32Gb Fibre Channel to PCIe Adapter 1077 029e QLE2694 Quad Port 16Gb Fibre Channel to PCIe Adapter 1077 02a2 QLE2694L Quad Port 16Gb Fibre Channel to PCIe Adapter 1077 02ad QLE2694U Quad Port 16/32Gb Fibre Channel to PCIe Adapter 2081 ISP2814-based 64/32G Fibre Channel to PCIe Controller 1077 02e1 QLE2874 Quad Port 64GFC PCIe Gen4 x16 Adapter 1077 02e3 QLE2774 Quad Port 32GFC PCIe Gen4 x16 Adapter 2100 QLA2100 64-bit Fibre Channel Adapter 1077 0001 QLA2100 64-bit Fibre Channel Adapter 2200 QLA2200 64-bit Fibre Channel Adapter 1077 0002 QLA2200 2261 ISP2722-based 16/32Gb Fibre Channel to PCIe Adapter 1077 0299 QLE2740 Single Port 32Gb Fibre Channel to PCIe Adapter 1077 029a QLE2742 Dual Port 32Gb Fibre Channel to PCIe Adapter 1077 029b QLE2690 Single Port 16Gb Fibre Channel to PCIe Adapter 1077 029c QLE2692 Dual Port 16Gb Fibre Channel to PCIe Adapter 1077 02a7 QLE2690 Single Port 16Gb FC to PCIe Gen3 x8 Adapter 1077 02a8 QLE2692 Dual Port 16Gb FC to PCIe Gen3 x8 Adapter 1077 02ab QLE2740 Single Port 32Gb FC to PCIe Gen3 x8 Adapter 1077 02ac QLE2742 Dual Port 32Gb FC to PCIe Gen3 x8 Adapter 1077 02b8 2x16Gb QME2692 FC HBA 1077 02b9 2x32Gb QME2742 FC HBA 1590 00f9 StoreFabric SN1100Q 16Gb Single Port Fibre Channel Host Bus Adapter 1590 00fa StoreFabric SN1100Q 16Gb Dual Port Fibre Channel Host Bus Adapter 1590 0203 StoreFabric SN1600Q 32Gb Single Port Fibre Channel Host Bus Adapter 1590 0204 StoreFabric SN1600Q 32Gb Dual Port Fibre Channel Host Bus Adapter 1590 022d 5830C 32Gb Dual Port Fibre Channel Adapter 2281 ISP2812-based 64/32G Fibre Channel to PCIe Controller 1077 02e2 QLE2872 Dual Port 64GFC PCIe Gen4 x8 Adapter 1077 02e4 QLE2772 Dual Port 32GFC PCIe Gen4 x8 Adapter 1077 02ee QLE2870 Single Port 64GFC PCIe Gen4 x8 Adapter 1077 02f0 QLE2770 Single Port 32GFC PCIe Gen4 x8 Adapter 1077 02f2 QLogic 1x32Gb QLE2770 FC HBA 1077 02f3 QLogic 2x32Gb QLE2772 FC HBA 1590 02d3 SN1610Q - 1P Enhanced 32GFC Single Port Fibre Channel Host Bus Adapter 1590 02d4 SN1610Q – 2P Enhanced 32GFC Dual Port Fibre Channel Host Bus Adapter 2300 QLA2300 64-bit Fibre Channel Adapter 2312 ISP2312-based 2Gb Fibre Channel to PCI-X HBA 103c 0131 2Gb Fibre Channel - Single port [A7538A] 103c 12ba 2Gb Fibre Channel - Dual port [A6826A] 2322 ISP2322-based 2Gb Fibre Channel to PCI-X HBA 2422 ISP2422-based 4Gb Fibre Channel to PCI-X HBA 103c 12d7 4Gb Fibre Channel [AB379A] 103c 12dd 4Gb Fibre Channel [AB429A] 2432 ISP2432-based 4Gb Fibre Channel to PCI Express HBA 103c 7040 FC1142SR 4Gb 1-port PCIe Fibre Channel Host Bus Adapter [HPAE311A] 1077 0137 QLE2460 4 GB PCI-X Host-Bus-Adapter 2532 ISP2532-based 8Gb Fibre Channel to PCI Express HBA 1014 041e FC EN0Y/EN12 PCIe2 LP 8 Gb 4-port Fibre Channel Adapter for POWER 103c 3262 StorageWorks 81Q 103c 3263 StorageWorks 82Q 1077 015c QLE2560 PCI Express to 8Gb FC Single Channel 1077 015d QLE2562 PCI Express to 8Gb FC Dual Channel 1077 015e QLE2564 PCI Express to 8Gb FC Quad Channel 1077 0167 QME2572 Dual Port FC8 HBA Mezzanine 1590 00fc StoreFabric 84Q 8Gb Quad Port Fibre Channel Host Bus Adapter 2971 ISP2684 3022 ISP4022-based Ethernet NIC 3032 ISP4032-based Ethernet IPv6 NIC 4010 ISP4010-based iSCSI TOE HBA 4022 ISP4022-based iSCSI TOE HBA 4032 ISP4032-based iSCSI TOE IPv6 HBA 5432 SP232-based 4Gb Fibre Channel to PCI Express HBA 6312 SP202-based 2Gb Fibre Channel to PCI-X HBA 6322 SP212-based 2Gb Fibre Channel to PCI-X HBA 7220 IBA7220 InfiniBand HCA 7322 IBA7322 QDR InfiniBand HCA 8000 10GbE Converged Network Adapter (TCP/IP Networking) 8001 10GbE Converged Network Adapter (FCoE) 1014 03af FC 5708/5270 10 Gb FCoE PCIe Dual Port Adapter for POWER 8020 cLOM8214 1/10GbE Controller 1028 1f64 QMD8262-k 10G DP bNDC KR 103c 3346 CN1000Q Dual Port Converged Network Adapter 103c 3733 NC523SFP 10Gb 2-port Server Adapter 1077 0203 8200 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) 1077 0207 8200 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) 1077 020b 3200 Series Dual Port 10Gb Intelligent Ethernet Adapter 1077 020c 3200 Series Quad Port 1Gb Intelligent Ethernet Adapter 1077 020f 3200 Series Single Port 10Gb Intelligent Ethernet Adapter 1077 0210 QME8242-k 10GbE Dual Port Mezzanine Card 1077 0233 QME8262-k 10GbE Dual Port Mezzanine Card 8021 8200 Series 10GbE Converged Network Adapter (FCoE) 103c 3348 CN1000Q Dual Port Converged Network Adapter 1077 0211 QME8242-k 10GbE Dual Port Mezzanine Card, FCoE 8022 8200 Series 10GbE Converged Network Adapter (iSCSI) 103c 3347 CN1000Q Dual Port Converged Network Adapter 1077 0212 QME8242-k 10GbE Dual Port Mezzanine Card, iSCSI 8030 ISP8324 1/10GbE Converged Network Controller 1077 0243 8300 Series Single Port 10GbE Converged Network Adapter (TCP/IP Networking) 1077 0246 8300 Series Dual Port 10GbE Converged Network Adapter (TCP/IP Networking) 8031 8300 Series 10GbE Converged Network Adapter (FCoE) 8032 8300 Series 10GbE Converged Network Adapter (iSCSI) 8070 FastLinQ QL41000 Series 10/25/40/50GbE Controller 1077 0001 10GE 2P QL41162HxRJ-DE Adapter 1077 0002 10GE 2P QL41112HxCU-DE Adapter 1077 0004 4x10GE QL41164HFCU CNA 1077 0005 QLogic 4x10GE QL41164HMRJ CNA 1077 0006 QLogic 4x10GE QL41164HMCU CNA 1077 0007 QLogic 2x1GE+2x10GE QL41264HMCU CNA 1077 0009 QLogic 2x1GE+2x10GE QL41162HMRJ CNA 1077 000b 25GE 2P QL41262HxCU-DE Adapter 1077 000f 2x25GE QL41262HMKR CNA 1077 0010 2x25GE QL41232HMKR NIC 1077 0011 FastLinQ QL41212HLCU 25GbE Adapter 1077 0012 FastLinQ QL41112H 10GbE Adapter 1077 0019 QL41232HOCU - Dual Port 25/10GbE SFP28 OCP Adapter 1077 0039 QLogic QL41262 PCIe 25Gb 2-Port SFP28 Ethernet Adapter 1077 0053 QLogic 2x25GE QL41232HQCU NIC 1077 0054 2x10GE QL41132HQRJ NIC 1077 0055 QLogic 2x10GE QL41132HQCU NIC 1077 0056 2x10GE QL41132HxRJ NIC 1077 0057 2x25GE QL41232HxCU NIC 1077 0065 QLogic 4x10GE QL41154HQRJ CNA 1077 0066 QLogic 4x10GE QL41154HQCU CNA 1077 0068 10GbE 2p SFP+ QL41132HLCU-HC Adapter 1077 0069 10GbE 2p BASE-T QL41132HQRJ-HC OCP3 Adapter 1077 0070 10GbE 2p BASE-T QL41132HLRJ-HC Adapter 1077 0071 10GbE 2p SFP+ QL41132HQCU-HC OCP3 Adapter 1077 0072 10GbE 4p SFP+ QL41134HLCU-HC Adapter 1077 0073 10/25GbE 2p SFP28 QL41232HQCU-HC OCP3 Adapter 1077 0074 10/25GbE 2p SFP28 QL41232HLCU-HC Adapter 1590 021a 10GbE 2P QL41162HLRJ-HP Adapter 1590 021b 10GbE 2P QL41162HLRJ-HP Adapter 1590 021d 10/25GbE 2P QL41222HLCU-HP Adapter 1590 021e 10/25GbE 2P QL41162HMRJ-HP Adapter 1590 021f 10/25GbE 2P QL41262HMCU-HP Adapter 1590 0220 10/25GbE 2P QL41122HLRJ-HP Adapter 1590 02bd 10Gb 2P 524SFP+ NIC 8080 FastLinQ QL41000 Series 10/25/40/50GbE Controller (FCoE) 1077 0001 10GE 2P QL41162HxRJ-DE Adapter 1077 0002 10GE 2P QL41112HxCU-DE Adapter 1077 0004 4x10GE QL41164HFCU CNA 1077 0005 QLogic 4x10GE QL41164HMRJ CNA 1077 0006 QLogic 4x10GE QL41164HMCU CNA 1077 0007 QLogic 2x1GE+2x10GE QL41264HMCU CNA 1077 0009 QLogic 2x1GE+2x10GE QL41162HMRJ CNA 1077 000b 25GE 2P QL41262HxCU-DE Adapter 1077 000c QLogic 2x25GE QL41262HMCU CNA 1077 000d FastLinQ QL41262H 25GbE FCoE Adapter 1077 000e FastLinQ QL41162H 10GbE FCoE Adapter 1077 000f 2x25GE QL41262HMKR CNA 1590 021a 10GbE 2P QL41162HLRJ-HP Adapter 1590 021b 10GbE 2P QL41162HLRJ-HP Adapter 8084 FastLinQ QL41000 Series 10/25/40/50GbE Controller (iSCSI) 1077 0001 10GE 2P QL41162HxRJ-DE Adapter 1077 0002 10GE 2P QL41112HxCU-DE Adapter 1077 0003 4x10GE QL41164HxRJ CNA 1077 0004 4x10GE QL41164HFCU CNA 1077 0005 QLogic 4x10GE QL41164HMRJ CNA 1077 0006 QLogic 4x10GE QL41164HMCU CNA 1077 0007 QLogic 2x25GE QL41262HMCU CNA 1077 0009 QLogic 2x1GE+2x10GE QL41162HMRJ CNA 1077 000b 25GE 2P QL41262HxCU-DE Adapter 1077 000c QLogic 2x25GE QL41262HMCU CNA 1077 000d FastLinQ QL41262H 25GbE iSCSI Adapter 1077 000e FastLinQ QL41162H 10GbE iSCSI Adapter 1077 000f 2x25GE QL41262HMKR CNA 1077 0065 QLogic 4x10GE QL41154HQRJ CNA 1077 0066 QLogic 4x10GE QL41154HQCU CNA 1590 021a 10GbE 2P QL41162HLRJ-HP Adapter 1590 021b 10GbE 2P QL41162HLRJ-HP Adapter 8090 FastLinQ QL41000 Series Gigabit Ethernet Controller (SR-IOV VF) 1077 0001 25GE 2P QL41262HxCU-DE Adapter 1077 0002 10GE 2P QL41112HxCU-DE Adapter 1077 0003 4x10GE QL41164HxRJ CNA 1077 0004 4x10GE QL41164HFCU CNA 1077 0005 QLogic 4x10GE QL41164HMRJ CNA 1077 0006 QLogic 4x10GE QL41164HMCU CNA 1077 0007 QLogic 2x1GE+2x10GE QL41264HMCU CNA 1077 0009 QLogic 2x1GE+2x10GE QL41162HMRJ CNA 1077 000b 25GE 2P QL41262HxCU-DE Adapter 1077 000c QLogic 2x25GE QL41262HMCU CNA 1077 000d FastLinQ QL41262H 25GbE FCoE Adapter (SR-IOV VF) 1077 000e FastLinQ QL41162H 10GbE iSCSI Adapter (SR-IOV VF) 1077 000f 2x25GE QL41262HMKR CNA 1077 0010 2x25GE QL41232HMKR NIC 1077 0011 FastLinQ QL41212H 25GbE Adapter (SR-IOV VF) 1077 0012 FastLinQ QL41112H 10GbE Adapter (SR-IOV VF) 1077 0053 QLogic 2x25GE QL41232HQCU NIC 1077 0054 QLogic 2x10GE QL41132HQRJ NIC 1077 0055 QLogic 2x10GE QL41132HQCU NIC 1077 0056 2x10GE QL41132HxRJ NIC 1077 0057 2x25GE QL41232HxCU NIC 1077 0065 QLogic 4x10GE QL41154HQRJ CNA 1077 0066 QLogic 4x10GE QL41154HQCU CNA 1590 021a 10GbE 2P QL41162HLRJ-HP Adapter 1590 021b 10GbE 2P QL41162HLRJ-HP Adapter 1590 021e 10/25GbE 2P QL41162HMRJ-HP Adapter 1590 021f 10/25GbE 2P QL41262HMCU-HP Adapter 1590 02bd 10Gb 2P 524SFP+ NIC 8430 ISP8324 1/10GbE Converged Network Controller (NIC VF) 8431 8300 Series 10GbE Converged Network Adapter (FCoE VF) 8432 ISP2432M-based 10GbE Converged Network Adapter (CNA) 1078 Cyrix Corporation 0000 5510 [Grappa] 0001 PCI Master 0002 5520 [Cognac] 0100 5530 Legacy [Kahlua] 0101 5530 SMI [Kahlua] 0102 5530 IDE [Kahlua] 0103 5530 Audio [Kahlua] 0104 5530 Video [Kahlua] 0400 ZFMicro PCI Bridge 0401 ZFMicro Chipset SMI 0402 ZFMicro Chipset IDE 0403 ZFMicro Expansion Bus 1079 I-Bus 107a NetWorth # formerly Gateway 2000 / acquired by Acer Inc. 107b Gateway, Inc. 107c LG Electronics [Lucky Goldstar Co. Ltd] 107d LeadTek Research Inc. 0000 P86C850 107e Interphase Corporation 0001 5515 ATM Adapter [Flipper] 0002 100 VG AnyLan Controller 0004 5526 Fibre Channel Host Adapter 0005 x526 Fibre Channel Host Adapter 0008 5525/5575 ATM Adapter (155 Mbit) [Atlantic] 9003 5535-4P-BRI-ST 9007 5535-4P-BRI-U 9008 5535-1P-SR 900c 5535-1P-SR-ST 900e 5535-1P-SR-U 9011 5535-1P-PRI 9013 5535-2P-PRI 9023 5536-4P-BRI-ST 9027 5536-4P-BRI-U 9031 5536-1P-PRI 9033 5536-2P-PRI 107f Data Technology Corporation 0802 SL82C105 1080 Contaq Microsystems 0600 82C599 c691 Cypress CY82C691 c693 82c693 1081 Supermac Technology 0d47 Radius PCI to NuBUS Bridge 1082 EFA Corporation of America 1083 Forex Computer Corporation 0001 FR710 1084 Parador 1086 J. Bond Computer Systems 1087 Cache Computer 1088 Microcomputer Systems (M) Son 1089 Data General Corporation # Formerly Bit3 Computer Corp. 108a SBS Technologies 0001 VME Bridge Model 617 0010 VME Bridge Model 618 0040 dataBLIZZARD 3000 VME Bridge Model 2706 108c Oakleigh Systems Inc. 108d Olicom 0001 Token-Ring 16/4 PCI Adapter (3136/3137) 0002 16/4 Token Ring 0004 RapidFire OC-3139/3140 Token-Ring 16/4 PCI Adapter 108d 0004 OC-3139/3140 RapidFire Token-Ring 16/4 Adapter 0005 GoCard 3250 Token-Ring 16/4 CardBus PC Card 0006 OC-3530 RapidFire Token-Ring 100 0007 RapidFire 3141 Token-Ring 16/4 PCI Fiber Adapter 108d 0007 OC-3141 RapidFire Token-Ring 16/4 Adapter 0008 RapidFire 3540 HSTR 100/16/4 PCI Adapter 108d 0008 OC-3540 RapidFire HSTR 100/16/4 Adapter 0011 OC-2315 0012 OC-2325 0013 OC-2183/2185 0014 OC-2326 0019 OC-2327/2250 10/100 Ethernet Adapter 108d 0016 OC-2327 Rapidfire 10/100 Ethernet Adapter 108d 0017 OC-2250 GoCard 10/100 Ethernet Adapter 0021 OC-6151/6152 [RapidFire ATM 155] 0022 ATM Adapter 108e Oracle/SUN 0001 EBUS 1000 EBUS 1001 Happy Meal 10/100 Ethernet [hme] 1100 RIO EBUS 108e 1100 RIO EBUS on Blade 100 motherboard 1101 RIO 10/100 Ethernet [eri] 108e 1101 RIO GEM on Blade 100 motherboard 1102 RIO 1394 108e 1102 RIO 1394 on Blade 100 motherboard 1103 RIO USB 108e 1103 RIO USB on Blade 100 motherboard 1647 Broadcom 570x 10/100/1000 Ethernet [bge] 1648 Broadcom 570x 10/100/1000 Ethernet [bge] 16a7 Broadcom 570x 10/100/1000 Ethernet [bge] 16a8 Broadcom 570x 10/100/1000 Ethernet [bge] 2bad GEM 10/100/1000 Ethernet [ge] 5000 Simba Advanced PCI Bridge 108e 5000 Netra AX1105-500 5043 SunPCI Co-processor 5ca0 Crypto Accelerator 6000 [mca] 6300 Intel 21554 PCI-PCI bus bridge [db21554] 6301 Intel 21554 PCI-PCI bus bridge [db21554] 6302 Intel 21554 PCI-PCI bus bridge [db21554] 6303 Intel 21554 PCI-PCI bus bridge [db21554] 6310 Intel 21554 PCI-PCI bus bridge [db21554] 6311 Intel 21554 PCI-PCI bus bridge [db21554] 6312 Intel 21554 PCI-PCI bus bridge [db21554] 6313 Intel 21554 PCI-PCI bus bridge [db21554] 6320 Intel 21554 PCI-PCI bus bridge [db21554] 6323 Intel 21554 PCI-PCI bus bridge [db21554] 6330 Intel 21554 PCI-PCI bus bridge [db21554] 6331 Intel 21554 PCI-PCI bus bridge [db21554] 6332 Intel 21554 PCI-PCI bus bridge [db21554] 6333 Intel 21554 PCI-PCI bus bridge [db21554] 6340 Intel 21554 PCI-PCI bus bridge [db21554] 6343 Intel 21554 PCI-PCI bus bridge [db21554] 6350 Intel 21554 PCI-PCI bus bridge [db21554] 6353 Intel 21554 PCI-PCI bus bridge [db21554] 6722 Intel 21554 PCI-PCI bus bridge [db21554] 676e SunPCiIII 7063 SunPCiII / SunPCiIIpro 8000 Psycho PCI Bus Module 8001 Schizo PCI Bus Module 8002 Schizo+ PCI Bus Module 80f0 PCIe switch [px] 80f8 PCIe switch [px] 9010 PCIe/PCI bridge switch [pxb_plx] 9020 PCIe/PCI bridge switch [pxb_plx] 9102 Davicom Fast Ethernet driver for Davicom DM9102A [dmfe] a000 Psycho UPA-PCI Bus Module [pcipsy] a001 Psycho UPA-PCI Bus Module [pcipsy] 108e a001 Ultra IIe on Blade 100 motherboard a801 Schizo Fireplane-PCI bus bridge module [pcisch] aaaa Multithreaded Shared 10GbE Ethernet Network Controller abba Cassini 10/100/1000 abcd Multithreaded 10-Gigabit Ethernet Network Controller c416 Sun Fire System/System Controller Interface chip [sbbc] 108f Systemsoft 1090 Compro Computer Services, Inc. 4610 PCI RTOM 4620 GPIO HSD 1091 Intergraph Corporation 0020 3D graphics processor 0021 3D graphics processor w/Texturing 0040 3D graphics frame buffer 0041 3D graphics frame buffer 0060 Proprietary bus bridge 00e4 Powerstorm 4D50T 0720 Motion JPEG codec 0780 Intense3D Wildcat 3410 (MSMT496) 07a0 Sun Expert3D-Lite Graphics Accelerator 1091 Sun Expert3D Graphics Accelerator 1092 Diamond Multimedia Systems 0028 Viper V770 1092 4a00 Viper V770 32MB 00a0 Speedstar Pro SE 00a8 Speedstar 64 0550 Viper V550 08d4 Supra 2260 Modem 094c SupraExpress 56i Pro 1001 Video Crunch It 1001 capture card 1092 Viper V330 6120 Maximum DVD 8810 Stealth SE 8811 Stealth 64/SE 8880 Stealth 8881 Stealth 88b0 Stealth 64 88b1 Stealth 64 88c0 Stealth 64 88c1 Stealth 64 88d0 Stealth 64 88d1 Stealth 64 88f0 Stealth 64 88f1 Stealth 64 9999 DMD-I0928-1 "Monster sound" sound chip 1093 National Instruments 0160 PCI-DIO-96 0162 PCI-MIO-16XE-50 0fe1 PXI-8320 1150 PCI-6533 (PCI-DIO-32HS) 1170 PCI-MIO-16XE-10 1180 PCI-MIO-16E-1 1190 PCI-MIO-16E-4 11b0 PXI-6070E 11c0 PXI-6040E 11d0 PXI-6030E 1270 PCI-6032E 1290 PCI-6704 12b0 PCI-6534 1310 PCI-6602 1320 PXI-6533 1330 PCI-6031E 1340 PCI-6033E 1350 PCI-6071E 1360 PXI-6602 13c0 PXI-6508 1490 PXI-6534 14e0 PCI-6110 14f0 PCI-6111 1580 PXI-6031E 15b0 PXI-6071E 1710 PXI-6509 17c0 PXI-5690 17d0 PCI-6503 1870 PCI-6713 1880 PCI-6711 18b0 PCI-6052E 18c0 PXI-6052E 1920 PXI-6704 1930 PCI-6040E 19c0 PCI-4472 1aa0 PXI-4110 1ad0 PCI-6133 1ae0 PXI-6133 1e30 PCI-6624 1e40 PXI-6624 1e50 PXI-5404 2410 PCI-6733 2420 PXI-6733 2430 PCI-6731 2470 PCI-4474 24a0 PCI-4065 24b0 PXI-4200 24f0 PXI-4472 2510 PCI-4472 2520 PCI-4474 27a0 PCI-6123 27b0 PXI-6123 2880 DAQCard-6601 2890 PCI-6036E 28a0 PXI-4461 28b0 PCI-6013 28c0 PCI-6014 28d0 PCI-5122 28e0 PXI-5122 29f0 PXI-7334 2a00 PXI-7344 2a60 PCI-6023E 2a70 PCI-6024E 2a80 PCI-6025E 2ab0 PXI-6025E 2b10 PXI-6527 2b20 PCI-6527 2b80 PXI-6713 2b90 PXI-6711 2c60 PCI-6601 2c70 PXI-6601 2c80 PCI-6035E 2c90 PCI-6703 2ca0 PCI-6034E 2cb0 PCI-7344 2cc0 PXI-6608 2d20 PXI-5600 2db0 PCI-6608 2dc0 PCI-4070 2dd0 PXI-4070 2eb0 PXI-4472 2ec0 PXI-6115 2ed0 PCI-6115 2ee0 PXI-6120 2ef0 PCI-6120 2fd1 PCI-7334 2fd2 PCI-7350 2fd3 PCI-7342 2fd5 PXI-7350 2fd6 PXI-7342 7003 PCI-6551 7004 PXI-6551 700b PXI-5421 700c PCI-5421 701a VXIpc-87xB 701b VXIpc-770 7023 PXI-2593 7027 PCI-MXI-2 Universal 702c PXI-7831R 702d PCI-7831R 702e PXI-7811R 702f PCI-7811R 7030 PCI-CAN (Series 2) 7031 PCI-CAN/2 (Series 2) 7032 PCI-CAN/LS (Series 2) 7033 PCI-CAN/LS2 (Series 2) 7034 PCI-CAN/DS (Series 2) 7035 PXI-8460 (Series 2, 1 port) 7036 PXI-8460 (Series 2, 2 ports) 7037 PXI-8461 (Series 2, 1 port) 7038 PXI-8461 (Series 2, 2 ports) 7039 PXI-8462 (Series 2) 703f PXI-2566 7040 PXI-2567 7044 MXI-4 Connection Monitor 7047 PXI-6653 704c PXI-2530 704f PXI-4220 7050 PXI-4204 7055 PXI-7830R 7056 PCI-7830R 705a PCI-CAN/XS (Series 2) 705b PCI-CAN/XS2 (Series 2) 705c PXI-8464 (Series 2, 1 port) 705d PXI-8464 (Series 2, 2 ports) 705e cRIO-9102 7060 PXI-5610 7064 PXI-1045 Trigger Routing Module 7065 PXI-6652 7066 PXI-6651 7067 PXI-2529 7068 PCI-CAN/SW (Series 2) 7069 PCI-CAN/SW2 (Series 2) 706a PXI-8463 (Series 2, 1 port) 706b PXI-8463 (Series 2, 2 ports) 7073 PCI-6723 7074 PXI-7833R 7075 PXI-6552 7076 PCI-6552 707c PXI-1428 707e PXI-4462 7080 PXI-8430/2 (RS-232) Interface 7081 PXI-8431/2 (RS-485) Interface 7083 PCI-7833R 7085 PCI-6509 7086 PXI-6528 7087 PCI-6515 7088 PCI-6514 708c PXI-2568 708d PXI-2569 70a9 PCI-6528 70aa PCI-6229 70ab PCI-6259 70ac PCI-6289 70ad PXI-6251 70ae PXI-6220 70af PCI-6221 70b0 PCI-6220 70b1 PXI-6229 70b2 PXI-6259 70b3 PXI-6289 70b4 PCI-6250 70b5 PXI-6221 70b6 PCI-6280 70b7 PCI-6254 70b8 PCI-6251 70b9 PXI-6250 70ba PXI-6254 70bb PXI-6280 70bc PCI-6284 70bd PCI-6281 70be PXI-6284 70bf PXI-6281 70c0 PCI-6143 70c3 PCI-6511 70c4 PXI-7330 70c5 PXI-7340 70c6 PCI-7330 70c7 PCI-7340 70c8 PCI-6513 70c9 PXI-6515 70ca PCI-1405 70cc PCI-6512 70cd PXI-6514 70ce PXI-1405 70cf PCIe-GPIB 70d0 PXI-2570 70d1 PXI-6513 70d2 PXI-6512 70d3 PXI-6511 70d4 PCI-6722 70d6 PXI-4072 70d7 PXI-6541 70d8 PXI-6542 70d9 PCI-6541 70da PCI-6542 70db PCI-8430/2 (RS-232) Interface 70dc PCI-8431/2 (RS-485) Interface 70dd PXI-8430/4 (RS-232) Interface 70de PXI-8431/4 (RS-485) Interface 70df PCI-8430/4 (RS-232) Interface 70e0 PCI-8431/4 (RS-485) Interface 70e1 PXI-2532 70e2 PXI-8430/8 (RS-232) Interface 70e3 PXI-8431/8 (RS-485) Interface 70e4 PCI-8430/8 (RS-232) Interface 70e5 PCI-8431/8 (RS-485) Interface 70e6 PXI-8430/16 (RS-232) Interface 70e7 PCI-8430/16 (RS-232) Interface 70e8 PXI-8432/2 (Isolated RS-232) Interface 70e9 PXI-8433/2 (Isolated RS-485) Interface 70ea PCI-8432/2 (Isolated RS-232) Interface 70eb PCI-8433/2 (Isolated RS-485) Interface 70ec PXI-8432/4 (Isolated RS-232) Interface 70ed PXI-8433/4 (Isolated RS-485) Interface 70ee PCI-8432/4 (Isolated RS-232) Interface 70ef PCI-8433/4 (Isolated RS-485) Interface 70f0 PXI-5922 70f1 PCI-5922 70f2 PCI-6224 70f3 PXI-6224 70f6 cRIO-9101 70f7 cRIO-9103 70f8 cRIO-9104 70ff PXI-6723 7100 PXI-6722 7104 PCIx-1429 7105 PCIe-1429 710a PXI-4071 710d PXI-6143 710e PCIe-GPIB 710f PXI-5422 7110 PCI-5422 7111 PXI-5441 7119 PXI-6561 711a PXI-6562 711b PCI-6561 711c PCI-6562 7120 PCI-7390 7121 PXI-5122EX 7122 PCI-5122EX 7123 PXIe-5653 7124 PCI-6510 7125 PCI-6516 7126 PCI-6517 7127 PCI-6518 7128 PCI-6519 7137 PXI-2575 713c PXI-2585 713d PXI-2586 7142 PXI-4224 7144 PXI-5124 7145 PCI-5124 7146 PCI-6132 7147 PXI-6132 7148 PCI-6122 7149 PXI-6122 714c PXI-5114 714d PCI-5114 7150 PXI-2564 7152 PCI-5640R 7156 PXI-1044 Trigger Routing Module 715d PCI-1426 7167 PXI-5412 7168 PCI-5412 716b PCI-6230 716c PCI-6225 716d PXI-6225 716f PCI-4461 7170 PCI-4462 7171 PCI-6010 7174 PXI-8360 7177 PXI-6230 717d PCIe-6251 717f PCIe-6259 7187 PCI-1410 718b PCI-6521 718c PXI-6521 7191 PCI-6154 7193 PXI-7813R 7194 PCI-7813R 7195 PCI-8254R 7197 PXI-5402 7198 PCI-5402 719f PCIe-6535 71a0 PCIe-6536 71a3 PXI-5650 71a4 PXI-5652 71a5 PXI-2594 71a7 PXI-2595 71a9 PXI-2596 71aa PXI-2597 71ab PXI-2598 71ac PXI-2599 71ad PCI-GPIB+ 71ae PCIe-1430 71b7 PXI-1056 Trigger Routing Module 71b8 PXI-1045 Trigger Routing Module 71b9 PXI-1044 Trigger Routing Module 71bb PXI-2584 71bc PCI-6221 (37-pin) 71bf PCIe-1427 71c5 PCI-6520 71c6 PXI-2576 71c7 cRIO-9072 71dc PCI-1588 71e0 PCI-6255 71e1 PXI-6255 71e2 PXI-5406 71e3 PCI-5406 71fc PXI-4022 7209 PCI-6233 720a PXI-6233 720b PCI-6238 720c PXI-6238 7260 PXI-5142 7261 PCI-5142 726d PXI-5651 7273 PXI-4461 7274 PXI-4462 7279 PCI-6232 727a PXI-6232 727b PCI-6239 727c PXI-6239 727e SMBus Controller 1093 75ac PXIe-8388 1093 75ad PXIe-8389 1093 7650 PXIe-8381 1093 8360 PXIe-8360 1093 8370 PXIe-8370 1093 8375 PXIe-8375 7281 PCI-6236 7282 PXI-6236 7283 PXI-2554 7288 PXIe-5611 7293 PCIe-8255R 729d cRIO-9074 72a4 PCIe-4065 72a7 PCIe-6537 72a8 PXI-5152 72a9 PCI-5152 72aa PXI-5105 72ab PCI-5105 72b8 PXI-6682 72d0 PXI-2545 72d1 PXI-2546 72d2 PXI-2547 72d3 PXI-2548 72d4 PXI-2549 72d5 PXI-2555 72d6 PXI-2556 72d7 PXI-2557 72d8 PXI-2558 72d9 PXI-2559 72e8 PXIe-6251 72e9 PXIe-6259 72ef PXI-4498 72f0 PXI-4496 72fb PXIe-6672 730e PXI-4130 730f PXI-5922EX 7310 PCI-5922EX 731c PXI-2535 731d PXI-2536 7322 PXIe-6124 7327 PXI-6529 732c VXI-8360T 7331 PXIe-5602 7332 PXIe-5601 7333 PXI-5900 7335 PXI-2533 7336 PXI-2534 7342 PXI-4461 7349 PXI-5154 734a PCI-5154 7357 PXI-4065 7359 PXI-4495 7370 PXI-4461 7373 sbRIO-9601 7374 IOtech-9601 7375 sbRIO-9602 7378 sbRIO-9641 737d PXI-5124EX 7384 PXI-7851R 7385 PXI-7852R 7386 PCIe-7851R 7387 PCIe-7852R 7390 PXI-7841R 7391 PXI-7842R 7392 PXI-7853R 7393 PCIe-7841R 7394 PCIe-7842R 7397 sbRIO-9611 7398 sbRIO-9612 7399 sbRIO-9631 739a sbRIO-9632 739b sbRIO-9642 73a1 PXIe-4498 73a2 PXIe-4496 73a5 PXIe-5641R 73a7 PXI-8250 Chassis Monitor Module 73a8 PXI-8511 CAN/LS 73a9 PXI-8511 CAN/LS 73aa PXI-8512 CAN/HS 73ab PXI-8512 CAN/HS 73ac PXI-8513 CAN/XS 73ad PXI-8513 CAN/XS 73af PXI-8516 LIN 73b1 PXI-8517 FlexRay 73b2 PXI-8531 CANopen 73b3 PXI-8531 CANopen 73b4 PXI-8532 DeviceNet 73b5 PXI-8532 DeviceNet 73b6 PCI-8511 CAN/LS 73b7 PCI-8511 CAN/LS 73b8 PCI-8512 CAN/HS 73b9 PCI-8512 CAN/HS 73ba PCI-8513 CAN/XS 73bb PCI-8513 CAN/XS 73bd PCI-8516 LIN 73bf PCI-8517 FlexRay 73c0 PCI-8531 CANopen 73c1 PCI-8531 CANopen 73c2 PCI-8532 DeviceNet 73c3 PCI-8532 DeviceNet 73c5 PXIe-2527 73c6 PXIe-2529 73c8 PXIe-2530 73c9 PXIe-2532 73ca PXIe-2569 73cb PXIe-2575 73cc PXIe-2593 73d5 PXI-7951R 73d6 PXI-7952R 73d7 PXI-7953R 73e1 PXI-7854R 73ec PXI-7954R 73ed cRIO-9073 73f0 PXI-5153 73f1 PCI-5153 73f4 PXI-2515 73f6 cRIO-9111 73f7 cRIO-9112 73f8 cRIO-9113 73f9 cRIO-9114 73fa cRIO-9116 73fb cRIO-9118 7404 PXI-4132 7405 PXIe-6674T 7406 PXIe-6674 740e PCIe-8430/16 (RS-232) Interface 740f PCIe-8430/8 (RS-232) Interface 7410 PCIe-8431/16 (RS-485) Interface 7411 PCIe-8431/8 (RS-485) Interface 7414 PCIe-GPIB+ 741c PXI-5691 741d PXI-5695 743c CSC-3059 7448 PXI-2510 7454 PXI-2512 7455 PXI-2514 7456 PXIe-2512 7457 PXIe-2514 745a PXI-6682H 745e PXI-5153EX 745f PCI-5153EX 7460 PXI-5154EX 7461 PCI-5154EX 746d PXIe-5650 746e PXIe-5651 746f PXIe-5652 7472 PXI-2800 7495 PXIe-5603 7497 PXIe-5605 74ae PXIe-2515 74b4 PXI-2531 74b5 PXIe-2531 74c1 PXIe-8430/16 (RS-232) Interface 74c2 PXIe-8430/8 (RS-232) Interface 74c3 PXIe-8431/16 (RS-485) Interface 74c4 PXIe-8431/8 (RS-485) Interface 74d5 PXIe-5630 74d9 PCIe-8432/2 (Isolated RS-232) Interface 74da PCIe-8433/2 (Isolated RS-485) Interface 74db PCIe-8432/4 (Isolated RS-232) Interface 74dc PCIe-8433/4 (Isolated RS-485) Interface 74e8 NI 9148 7515 PCIe-8430/2 (RS-232) Interface 7516 PCIe-8430/4 (RS-232) Interface 7517 PCIe-8431/2 (RS-485) Interface 7518 PCIe-8431/4 (RS-485) Interface 751b cRIO-9081 751c cRIO-9082 7528 PXIe-4497 7529 PXIe-4499 752a PXIe-4492 7539 NI 9157 753a NI 9159 7598 PXI-2571 75a4 PXI-4131A 75b1 PCIe-7854R 75ba PXI-2543 75bb PXIe-2543 75e5 PXI-6683 75e6 PXI-6683H 75ef PXIe-5632 761c VXI-8360LT 761f PXI-2540 7620 PXIe-2540 7621 PXI-2541 7622 PXIe-2541 7626 NI 9154 7627 NI 9155 7638 PXI-2720 7639 PXI-2722 763a PXIe-2725 763b PXIe-2727 763c PXI-4465 764b PXIe-2790 764c PXI-2520 764d PXI-2521 764e PXI-2522 764f PXI-2523 7654 PXI-2796 7655 PXI-2797 7656 PXI-2798 7657 PXI-2799 765d PXI-2542 765e PXIe-2542 765f PXI-2544 7660 PXIe-2544 766d PCIe-6535B 766e PCIe-6536B 766f PCIe-6537B 76a3 PXIe-6535B 76a4 PXIe-6536B 76a5 PXIe-6537B 783e PXI-8368 9020 PXI-2501 9030 PXI-2503 9040 PXI-2527 9050 PXI-2565 9060 PXI-2590 9070 PXI-2591 9080 PXI-2580 9090 PCI-4021 90a0 PXI-4021 a001 PCI-MXI-2 b001 PCI-1408 b011 PXI-1408 b021 PCI-1424 b022 PXI-1424 b031 PCI-1413 b041 PCI-1407 b051 PXI-1407 b061 PCI-1411 b071 PCI-1422 b081 PXI-1422 b091 PXI-1411 b0b1 PCI-1409 b0c1 PXI-1409 b0e1 PCI-1428 c4c4 PXIe/PCIe Device 1093 728a PXIe-5421 1093 728b PXIe-5442 1093 728d PXIe-5451 1093 72a2 PXIe-5122 1093 72da PXIe-5422 1093 72f7 PXIe-6535 1093 72f8 PXIe-6536 1093 72f9 PXIe-6537 1093 7326 PCIe-6509 1093 736c PXIe-4140 1093 738b PXIe-5622 1093 73c4 PXIe-5450 1093 73c7 PXIe-6545 1093 73d4 PXIe-6544 1093 7425 PCIe-6320 1093 7427 PCIe-6321 1093 7428 PXIe-6323 1093 7429 PCIe-6323 1093 742a PXIe-6341 1093 742b PCIe-6341 1093 742c PXIe-6343 1093 742d PCIe-6343 1093 742f PCIe-6351 1093 7431 PCIe-6353 1093 7432 PXIe-6361 1093 7433 PCIe-6361 1093 7434 PXIe-6363 1093 7435 PCIe-6363 1093 7436 PXIe-6356 1093 7437 PXIe-6358 1093 7438 PXIe-6366 1093 7439 PXIe-6368 1093 7468 PXIe-5185 1093 7469 PXIe-5186 1093 7492 PXIe-4300 1093 7498 PXIe-6548 1093 7499 PXIe-6547 1093 74a8 PXIe-4330 1093 74a9 PXIe-4331 1093 74b1 PXIe-4154 1093 74b2 PXIe-4353 1093 74b6 PCIe-1433 1093 74cd PXIe-5643R 1093 74d0 PXIe-7961R 1093 74dd PXIe-6376 1093 74de PXIe-6378 1093 74e2 PXIe-7962R 1093 74e3 PXIe-7965R 1093 74e5 PXIe-4844 1093 74f3 PCIe-5140 1093 753c PXIe-1435 1093 7548 PXIe-5622 (25MHz DDC) 1093 754d PCIe-5155 1093 7551 PXIe-6556 1093 7553 PCIe-1473R 1093 7570 PCIe-1474R 1093 7571 PXIe-1475R 1093 7572 PXIe-1476R 1093 75a2 PXIe-5693 1093 75a3 PXIe-5694 1093 75a5 PXIe-4141 1093 75ce PXIe-7966R 1093 75cf PXIe-4357 1093 75d2 PXIe-RevB-5643R 1093 75d3 PXIe-5644R 1093 75ee PXIe-5645R 1093 7613 PXIe-6555 1093 7619 PXIe-5185 1093 761a PXIe-5186 1093 7629 PXIe-4142 1093 762a PXIe-4143 1093 762b PXIe-4138 1093 762c PXIe-4144 1093 762d PXIe-4145 1093 762e PXIe-5606 1093 7644 PXIe-4841 1093 764a PCIe-8237R-S 1093 7658 PXIe-5162 (4CH) 1093 76ab PXIe-4322 1093 76ad PXIe-4112 1093 76ae PXIe-4113 1093 76b5 PXIe-7971R 1093 76b6 PXIe-7972R 1093 76b7 PXIe-7975R 1093 76b8 PXIe-5696 1093 76b9 PXIe-5654 1093 76c8 PXIe-6614 1093 76c9 PXIe-6612 1093 76cb PXIe-5646R 1093 76cc PXIe-5162 (2CH) 1093 76ce CVS-1459 1093 76d0 PXIe-5160 (2CH) 1093 76d1 PXIe-5160 (4CH) 1093 76dc PXIe-4610 1093 76ec PXIe-2524 1093 76ed PXIe-2525 1093 76ee PXIe-2526 1093 76ef PXIe-2737 1093 76f0 PXIe-2738 1093 76f1 PXIe-2739 1093 76fb PCIe-1473R-LX110 1093 76fc PXIe-5105 1093 76fd PXIe-5114 1093 76fe PXIe-5644R 1093 76ff PXIe-5644R 1093 7700 PXIe-5644R 1093 7701 PXIe-5645R 1093 7702 PXIe-5645R 1093 7703 PXIe-5645R 1093 770c PXIe-4139 1093 7711 PXIe-4464 1093 7712 PXIe-4463 1093 7716 PCIe-6612 1093 771d Unconfigured CA4 Switch 1093 771e PXIe-4339 1093 7735 cRIO-9033 1093 773e PXIe-5624R 1093 774b cRIO-9031 1093 774d cRIO-9034 1093 7755 cRIO-9030 1093 7768 PXIe-2747 1093 7769 PXIe-2748 1093 776a PXIe-2746 1093 7777 PXIe-7976R 1093 7782 PXIe-5646R 1093 7783 PXIe-5646R 1093 7784 PXIe-5646R 1093 7790 PXIe-5170R (4CH) 1093 7791 PXIe-5170R (8CH) 1093 7793 PXIe-5171R (8CH) 1093 77a5 PXIe-6345 1093 77a6 PXIe-6355 1093 77a7 PXIe-6365 1093 77a8 PXIe-6375 1093 77aa CVS-1458 1093 77ad IC-3173 1093 77b4 PXIe-7820R 1093 77b5 PXIe-7821R 1093 77b6 PXIe-7822R 1093 77b9 cRIO-9038 1093 77ba PXIe-4136 1093 77bb PXIe-4137 1093 77c0 PXIe-5624R 1093 77c1 PXIe-5624R 1093 77c2 PXIe-5624R 1093 77ca PXIe-6738 1093 77cb PXIe-6739 1093 77db cRIO-9035 1093 77dc cRIO-9036 1093 77dd cRIO-9039 1093 7802 PXIe-4302 1093 7803 PXIe-4303 1093 7805 PXIe-4305 1093 786f PXIe-4163 1093 788e PXIe-4304 1093 78f8 NI FlexRIO Module (KU035) 1093 78f9 NI FlexRIO Module (KU040) 1093 78fa NI FlexRIO Module (KU060) 1093 78ff PXIe-4162 1093 7995 PXIe-7911R 1093 7996 PXIe-7912R 1093 7997 PXIe-7915R 1093 79d3 NI FlexRIO PCIe Module (KU035) 1093 79d4 NI FlexRIO PCIe Module (KU040) 1093 79d5 NI FlexRIO PCIe Module (KU060) c801 PCI-GPIB c811 PCI-GPIB+ c821 PXI-GPIB c831 PMC-GPIB c840 PCI-GPIB d130 PCI-232/2 Interface d140 PCI-232/4 Interface d150 PCI-232/8 Interface d160 PCI-485/2 Interface d170 PCI-485/4 Interface d190 PXI-8422/2 (Isolated RS-232) Interface d1a0 PXI-8422/4 (Isolated RS-232) Interface d1b0 PXI-8423/2 (Isolated RS-485) Interface d1c0 PXI-8423/4 (Isolated RS-485) Interface d1d0 PXI-8420/2 (RS-232) Interface d1e0 PXI-8420/4 (RS-232) Interface d1f0 PXI-8420/8 (RS-232) Interface d1f1 PXI-8420/16 (RS-232) Interface d230 PXI-8421/2 (RS-485) Interface d240 PXI-8421/4 (RS-485) Interface d250 PCI-232/2 (Isolated) Interface d260 PCI-485/2 (Isolated) Interface d270 PCI-232/4 (Isolated) Interface d280 PCI-485/4 (Isolated) Interface d290 PCI-485/8 Interface d2a0 PXI-8421/8 (RS-485) Interface d2b0 PCI-232/16 Interface e111 PCI-CAN e131 PXI-8461 (1 port) e141 PCI-CAN/LS e151 PXI-8460 (1 port) e211 PCI-CAN/2 e231 PXI-8461 (2 ports) e241 PCI-CAN/LS2 e251 PXI-8460 (2 ports) e261 PCI-CAN/DS e271 PXI-8462 f110 VMEpc-650 f120 VXIpc-650 fe00 VXIpc-87x fe41 VXIpc-860 fe51 VXIpc-74x fe61 VXIpc-850 fe70 VXIpc-880 1094 First International Computers [FIC] # nee CMD Technology Inc 1095 Silicon Image, Inc. 0240 Adaptec AAR-1210SA SATA HostRAID Controller 0640 PCI0640 0643 PCI0643 0646 PCI0646 0647 PCI0647 0648 PCI0648 1043 8025 CUBX motherboard 0649 SiI 0649 Ultra ATA/100 PCI to ATA Host Controller 0e11 005d Integrated Ultra ATA-100 Dual Channel Controller 0e11 007e Integrated Ultra ATA-100 IDE RAID Controller 101e 0649 AMI MegaRAID IDE 100 Controller 0650 PBC0650A 0670 USB0670 1095 0670 USB0670 0673 USB0673 0680 PCI0680 Ultra ATA-133 Host Controller 1095 0680 SiI 0680 ATA/133 Controller 1095 3680 Winic W-680 (Silicon Image 680 based) 3112 SiI 3112 [SATALink/SATARaid] Serial ATA Controller 1095 3112 SiI 3112 SATALink Controller 1095 6112 SiI 3112 SATARaid Controller 9005 0250 SATAConnect 1205SA Host Controller 3114 SiI 3114 [SATALink/SATARaid] Serial ATA Controller 1043 8167 A8N-SLI Deluxe/Premium Mainboard 1095 3114 SiI 3114 SATALink Controller 1095 6114 SiI 3114 SATARaid Controller 3124 SiI 3124 PCI-X Serial ATA Controller 1095 3124 SiI 3124 PCI-X Serial ATA Controller 3132 SiI 3132 Serial ATA Raid II Controller 3512 SiI 3512 [SATALink/SATARaid] Serial ATA Controller 1095 3512 SiI 3512 SATALink Controller 1095 6512 SiI 3512 SATARaid Controller 3531 SiI 3531 [SATALink/SATARaid] Serial ATA Controller 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] 1096 Alacron 1097 Appian Technology 1098 Quantum Designs (H.K.) Ltd 0001 QD-8500 0002 QD-8580 1099 Samsung Electronics Co., Ltd 109a Packard Bell 109b Gemlight Computer Ltd. 109c Megachips Corporation 109d Zida Technologies Ltd. 109e Brooktree Corporation 0310 Bt848 Video Capture 032e Bt878 Video Capture 0350 Bt848 Video Capture 0351 Bt849A Video capture 0369 Bt878 Video Capture 1002 0001 TV-Wonder 1002 0003 TV-Wonder/VE 036c Bt879(??) Video Capture 13e9 0070 Win/TV (Video Section) 036e Bt878 Video Capture 0000 0001 Euresys Picolo PCIe 0070 13eb WinTV Series 0070 ff01 Viewcast Osprey 200 0071 0101 DigiTV PCI 107d 6606 WinFast TV 2000 11bd 0012 PCTV pro (TV + FM stereo receiver) 11bd 001c PCTV Sat (DBC receiver) 127a 0001 Bt878 Mediastream Controller NTSC 127a 0002 Bt878 Mediastream Controller PAL BG 127a 0003 Bt878a Mediastream Controller PAL BG 127a 0048 Bt878/832 Mediastream Controller 144f 3000 MagicTView CPH060 - Video 1461 0002 TV98 Series (TV/No FM/Remote) 1461 0003 AverMedia UltraTV PCI 350 1461 0004 AVerTV WDM Video Capture 1461 0761 AverTV DVB-T 1461 0771 AverMedia AVerTV DVB-T 771 14f1 0001 Bt878 Mediastream Controller NTSC 14f1 0002 Bt878 Mediastream Controller PAL BG 14f1 0003 Bt878a Mediastream Controller PAL BG 14f1 0048 Bt878/832 Mediastream Controller 1822 0001 VisionPlus DVB card 1851 1850 FlyVideo'98 - Video 1851 1851 FlyVideo II 1852 1852 FlyVideo'98 - Video (with FM Tuner) 18ac d500 DViCO FusionHDTV5 Lite 270f fc00 Digitop DTT-1000 # Vendor/ID appear to be randomly chosen aa00 1460 Spectra8 CardA Input0 # Vendor/ID appear to be randomly chosen aa01 1461 Spectra8 CardA Input1 # Vendor/ID appear to be randomly chosen aa02 1462 Spectra8 CardA Input2 # Vendor/ID appear to be randomly chosen aa03 1463 Spectra8 CardA Input3 # Vendor/ID appear to be randomly chosen aa04 1464 Spectra8 CardB Input0 # Vendor/ID appear to be randomly chosen aa05 1465 Spectra8 CardB Input1 # Vendor/ID appear to be randomly chosen aa06 1466 Spectra8 CardB Input2 # Vendor/ID appear to be randomly chosen aa07 1467 Spectra8 CardB Input3 # Vendor/ID appear to be randomly chosen aa08 1468 Spectra8 CardC Input0 # Vendor/ID appear to be randomly chosen aa09 1469 Spectra8 CardC Input1 # Vendor/ID appear to be randomly chosen aa0a 146a Spectra8 CardC Input2 # Vendor/ID appear to be randomly chosen aa0b 146b Spectra8 CardC Input3 # Vendor/ID appear to be randomly chosen aa0c 146c Spectra8 CardD Input0 # Vendor/ID appear to be randomly chosen aa0d 146d Spectra8 CardD Input1 # Vendor/ID appear to be randomly chosen aa0e 146e Spectra8 CardD Input2 # Vendor/ID appear to be randomly chosen aa0f 146f Spectra8 CardD Input3 bd11 1200 PCTV pro (TV + FM stereo receiver) 036f Bt879 Video Capture 127a 0044 Bt879 Video Capture NTSC 127a 0122 Bt879 Video Capture PAL I 127a 0144 Bt879 Video Capture NTSC 127a 0222 Bt879 Video Capture PAL BG 127a 0244 Bt879a Video Capture NTSC 127a 0322 Bt879 Video Capture NTSC 127a 0422 Bt879 Video Capture NTSC 127a 1122 Bt879 Video Capture PAL I 127a 1222 Bt879 Video Capture PAL BG 127a 1322 Bt879 Video Capture NTSC 127a 1522 Bt879a Video Capture PAL I 127a 1622 Bt879a Video Capture PAL BG 127a 1722 Bt879a Video Capture NTSC 14f1 0044 Bt879 Video Capture NTSC 14f1 0122 Bt879 Video Capture PAL I 14f1 0144 Bt879 Video Capture NTSC 14f1 0222 Bt879 Video Capture PAL BG 14f1 0244 Bt879a Video Capture NTSC 14f1 0322 Bt879 Video Capture NTSC 14f1 0422 Bt879 Video Capture NTSC 14f1 1122 Bt879 Video Capture PAL I 14f1 1222 Bt879 Video Capture PAL BG 14f1 1322 Bt879 Video Capture NTSC 14f1 1522 Bt879a Video Capture PAL I 14f1 1622 Bt879a Video Capture PAL BG 14f1 1722 Bt879a Video Capture NTSC 1851 1850 FlyVideo'98 - Video 1851 1851 FlyVideo II 1852 1852 FlyVideo'98 - Video (with FM Tuner) 0370 Bt880 Video Capture 1851 1850 FlyVideo'98 1851 1851 FlyVideo'98 EZ - video 1852 1852 FlyVideo'98 (with FM Tuner) 0878 Bt878 Audio Capture 0000 0001 Euresys Picolo PCIe 0070 13eb WinTV Series 0070 ff01 Viewcast Osprey 200 0071 0101 DigiTV PCI 1002 0001 TV-Wonder 1002 0003 TV-Wonder/VE 11bd 0012 PCTV pro (TV + FM stereo receiver, audio section) 11bd 001c PCTV Sat (DBC receiver) 127a 0001 Bt878 Video Capture (Audio Section) 127a 0002 Bt878 Video Capture (Audio Section) 127a 0003 Bt878 Video Capture (Audio Section) 127a 0048 Bt878 Video Capture (Audio Section) 13e9 0070 Win/TV (Audio Section) 144f 3000 MagicTView CPH060 - Audio 1461 0002 Avermedia PCTV98 Audio Capture 1461 0003 UltraTV PCI 350 1461 0004 AVerTV WDM Audio Capture 1461 0761 AVerTV DVB-T 1461 0771 AverMedia AVerTV DVB-T 771 14f1 0001 Bt878 Video Capture (Audio Section) 14f1 0002 Bt878 Video Capture (Audio Section) 14f1 0003 Bt878 Video Capture (Audio Section) 14f1 0048 Bt878 Video Capture (Audio Section) 1822 0001 VisionPlus DVB Card 18ac d500 DViCO FusionHDTV5 Lite 270f fc00 Digitop DTT-1000 bd11 1200 PCTV pro (TV + FM stereo receiver, audio section) 0879 Bt879 Audio Capture 127a 0044 Bt879 Video Capture (Audio Section) 127a 0122 Bt879 Video Capture (Audio Section) 127a 0144 Bt879 Video Capture (Audio Section) 127a 0222 Bt879 Video Capture (Audio Section) 127a 0244 Bt879 Video Capture (Audio Section) 127a 0322 Bt879 Video Capture (Audio Section) 127a 0422 Bt879 Video Capture (Audio Section) 127a 1122 Bt879 Video Capture (Audio Section) 127a 1222 Bt879 Video Capture (Audio Section) 127a 1322 Bt879 Video Capture (Audio Section) 127a 1522 Bt879 Video Capture (Audio Section) 127a 1622 Bt879 Video Capture (Audio Section) 127a 1722 Bt879 Video Capture (Audio Section) 14f1 0044 Bt879 Video Capture (Audio Section) 14f1 0122 Bt879 Video Capture (Audio Section) 14f1 0144 Bt879 Video Capture (Audio Section) 14f1 0222 Bt879 Video Capture (Audio Section) 14f1 0244 Bt879 Video Capture (Audio Section) 14f1 0322 Bt879 Video Capture (Audio Section) 14f1 0422 Bt879 Video Capture (Audio Section) 14f1 1122 Bt879 Video Capture (Audio Section) 14f1 1222 Bt879 Video Capture (Audio Section) 14f1 1322 Bt879 Video Capture (Audio Section) 14f1 1522 Bt879 Video Capture (Audio Section) 14f1 1622 Bt879 Video Capture (Audio Section) 14f1 1722 Bt879 Video Capture (Audio Section) 0880 Bt880 Audio Capture 2115 BtV 2115 Mediastream controller 2125 BtV 2125 Mediastream controller 2164 BtV 2164 2165 BtV 2165 8230 Bt8230 ATM Segment/Reassembly Ctrlr (SRC) 8472 Bt8472 8474 Bt8474 109f Trigem Computer Inc. 10a0 Meidensha Corporation 10a1 Juko Electronics Ind. Co. Ltd 10a2 Quantum Corporation 10a3 Everex Systems Inc 10a4 Globe Manufacturing Sales 10a5 Smart Link Ltd. 3052 SmartPCI562 56K Modem 5449 SmartPCI561 modem 10a6 Informtech Industrial Ltd. 10a7 Benchmarq Microelectronics 10a8 Sierra Semiconductor 0000 STB Horizon 64 10a9 Silicon Graphics Intl. Corp. 0001 Crosstalk to PCI Bridge 0002 Linc I/O controller 0003 IOC3 I/O controller 0004 O2 MACE 0005 RAD Audio 0006 HPCEX 0007 RPCEX 0008 DiVO VIP 0009 AceNIC Gigabit Ethernet 10a9 8002 AceNIC Gigabit Ethernet 0010 AMP Video I/O 0011 GRIP 0012 SGH PSHAC GSN 0208 SSIM1 SAS Adapter 1001 Magic Carpet 1002 Lithium 1003 Dual JPEG 1 1004 Dual JPEG 2 1005 Dual JPEG 3 1006 Dual JPEG 4 1007 Dual JPEG 5 1008 Cesium 100a IOC4 I/O controller 1504 SSIM1 Fibre Channel Adapter 2001 Fibre Channel 2002 ASDE 4001 TIO-CE PCI Express Bridge 4002 TIO-CE PCI Express Port 8001 O2 1394 8002 G-net NT # PCIe x1 Low Profile 802b REACT external interrupt controller 10aa ACC Microelectronics 0000 ACCM 2188 2051 2051 CPU bridge 5842 2051 ISA bridge 10ab Digicom 10ac Honeywell IAC 10ad Symphony Labs 0001 W83769F 0003 SL82C103 0005 SL82C105 0103 SL82c103 0105 SL82c105 0565 W83C553F/W83C554F 10ae Cornerstone Technology 10af Micro Computer Systems Inc 10b0 CardExpert Technology 10b1 Cabletron Systems Inc 10b2 Raytheon Company 10b3 Databook Inc 3106 DB87144 b106 DB87144 10b4 STB Systems Inc 1b1d Velocity 128 3D 10b4 237e Velocity 4400 10b5 PLX Technology, Inc. 0001 i960 PCI bus interface 0557 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 9030 Digium Tormenta 2 T400P-SS7 or E400P-SS7 Quad T1 or E1 PCI card 1000 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 9030 ATCOM AT400P Quad T1 PCI card 1024 Acromag, Inc. IndustryPack Carrier Card 1042 Brandywine / jxi2, Inc. - PMC-SyncClock32, IRIG A & B, Nasa 36 106a Dual OX16C952 4 port serial adapter [Megawolf Romulus/4] 1076 VScom 800 8 port serial adaptor 1077 VScom 400 4 port serial adaptor 1078 VScom 210 2 port serial and 1 port parallel adaptor 1103 VScom 200 2 port serial adaptor 1146 VScom 010 1 port parallel adaptor 1147 VScom 020 2 port parallel adaptor 2000 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 9030 ATCOM AE400P Quad E1 PCI card 2540 IXXAT CAN-Interface PC-I 04/PCI 2724 Thales PCSM Security Card 3376 Cosateq 4 Port CAN Card 4000 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 9030 Tormenta 3 Varion V400P/ATCOM TE400P Quad E1/T1/J1 PCI card 4001 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 9030 ATCOM A400PE Quad E1 PCI card 4002 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 9030 ATCOM A400PT Quad T1 PCI card 6140 PCI6140 32-bit 33MHz PCI-to-PCI Bridge 6150 PCI6150 32-bit 33MHz PCI-to-PCI Bridge 6152 PCI6152 32-bit 66MHz PCI-to-PCI Bridge 6154 PCI6154 64-bit 66MHz PCI-to-PCI Bridge 6254 PCI6254 64-bit 66MHz PCI-to-PCI Bridge 6466 PCI6466 64-bit 66MHz PCI-to-PCI Bridge 6520 PCI6520 64-bit 133MHz PCI-X-to-PCI-X Bridge 6540 PCI6540 64-bit 133MHz PCI-X-to-PCI-X Bridge 1775 1100 CR11 Single Board Computer 4c53 10e0 PSL09 PrPMC 6541 PCI6540/6466 PCI-PCI bridge (non-transparent mode, primary side) 1775 1100 CR11 Single Board Computer 4c53 10e0 PSL09 PrPMC 6542 PCI6540/6466 PCI-PCI bridge (non-transparent mode, secondary side) 1775 1100 CR11 Single Board Computer 4c53 10e0 PSL09 PrPMC 8111 PEX 8111 PCI Express-to-PCI Bridge 8112 PEX8112 x1 Lane PCI Express-to-PCI Bridge 8114 PEX 8114 PCI Express-to-PCI/PCI-X Bridge 8311 PEX8311 x1 Lane PCI Express-to-Generic Local Bus Bridge 8505 PEX 8505 5-lane, 5-port PCI Express Switch 8508 PEX 8508 8-lane, 5-port PCI Express Switch 8509 PEX 8509 8-lane, 8-port PCI Express Switch 8512 PEX 8512 12-lane, 5-port PCI Express Switch 8516 PEX 8516 Versatile PCI Express Switch 8517 PEX 8517 16-lane, 5-port PCI Express Switch 8518 PEX 8518 16-lane, 5-port PCI Express Switch 8524 PEX 8524 24-lane, 6-port PCI Express Switch 8525 PEX 8525 24-lane, 5-port PCI Express Switch 8532 PEX 8532 Versatile PCI Express Switch 8533 PEX 8533 32-lane, 6-port PCI Express Switch 8547 PEX 8547 48-lane, 3-port PCI Express Switch 8548 PEX 8548 48-lane, 9-port PCI Express Switch 8603 PEX 8603 3-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch 8604 PEX 8604 4-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch 8605 PEX 8605 PCI Express 4-port Gen2 Switch 8606 PEX 8606 6 Lane, 6 Port PCI Express Gen 2 (5.0 GT/s) Switch 8608 PEX 8608 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch 8609 PEX 8609 8-lane, 8-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA 8612 PEX 8612 12-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch 8613 PEX 8613 12-lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch 8614 PEX 8614 12-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch 8615 PEX 8615 12-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA 8616 PEX 8616 16-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch 8617 PEX 8617 16-lane, 4-Port PCI Express Gen 2 (5.0 GT/s) Switch with P2P 8618 PEX 8618 16-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch 8619 PEX 8619 16-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch with DMA 8624 PEX 8624 24-lane, 6-Port PCI Express Gen 2 (5.0 GT/s) Switch [ExpressLane] 13a3 1845 DX1845 Acceleration Card 8625 PEX 8625 24-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch 8632 PEX 8632 32-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch 8636 PEX 8636 36-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Switch 8647 PEX 8647 48-Lane, 3-Port PCI Express Gen 2 (5.0 GT/s) Switch 8648 PEX 8648 48-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch 8649 PEX 8649 48-lane, 12-Port PCI Express Gen 2 (5.0 GT/s) Switch 8664 PEX 8664 64-lane, 16-Port PCI Express Gen 2 (5.0 GT/s) Switch 8680 PEX 8680 80-lane, 20-Port PCI Express Gen 2 (5.0 GT/s) Multi-Root Switch 8696 PEX 8696 96-lane, 24-Port PCI Express Gen 2 (5.0 GT/s) Multi-Root Switch 8717 PEX 8717 16-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch with DMA 8718 PEX 8718 16-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch 8724 PEX 8724 24-Lane, 6-Port PCI Express Gen 3 (8 GT/s) Switch, 19 x 19mm FCBGA 8732 PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch 8734 PEX 8734 32-lane, 8-Port PCI Express Gen 3 (8.0GT/s) Switch 8747 PEX 8747 48-Lane, 5-Port PCI Express Gen 3 (8.0 GT/s) Switch 8748 PEX 8748 48-Lane, 12-Port PCI Express Gen 3 (8 GT/s) Switch, 27 x 27mm FCBGA # This is the Non-Transparent-Bridge Virtualized Port as presented by the PLX PEX 8732 chip, the physical bridges show up at 10b5:8732 87b0 PEX 8732 32-lane, 8-Port PCI Express Gen 3 (8.0 GT/s) Switch 1093 7761 PXIe-8830mc 9016 PLX 9016 8-port serial controller 9030 PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 2695 Hilscher CIF50-PB/DPS Profibus 10b5 2862 Alpermann+Velte PCL PCI LV (3V/5V): Timecode Reader Board 10b5 2906 Alpermann+Velte PCI TS (3V/5V): Time Synchronisation Board 10b5 2940 Alpermann+Velte PCL PCI D (3V/5V): Timecode Reader Board 10b5 2977 IXXAT iPC-I XC16/PCI CAN Board 10b5 2978 SH ARC-PCIu/SH ARC-PCI104/SH ARC-PCIe SOHARD ARCNET card 10b5 3025 Alpermann+Velte PCL PCI L (3V/5V): Timecode Reader Board 10b5 3068 Alpermann+Velte PCL PCI HD (3V/5V): Timecode Reader Board 10b5 3463 Alpermann+Velte PCL PCI D (v2) (3V/5V): Timecode Reader Board 10b5 3591 PLURA PCL PCI L (v2) (3.3V/5V): Time Code Reader Board 12fe 0111 CPCI-ASIO4 (ESD 4-port Serial Interface Board) 1369 9c01 VX222v2 1369 9d01 VX222-Mic 1369 9d02 VX222-Mic 1369 9e01 PCX924v2 1369 9f01 PCX924-Mic 1369 9f02 PCX924-Mic 1369 a001 PCX22v2 1369 a701 LCM220v2 1369 a801 LCM200 1397 3136 4xS0-ISDN PCI Adapter 1397 3137 S2M-E1-ISDN PCI Adapter 1518 0200 ThinkIO-C 15ed 1002 MCCS 8-port Serial Hot Swap 15ed 1003 MCCS 16-port Serial Hot Swap # MIL-STD-1553B Board e1c5 0001 TE1-PCI e1c5 0005 TA1-PCI e1c5 0006 TA1-PCI4 9036 9036 9050 PCI <-> IOBus Bridge 10b5 1067 IXXAT CAN i165 10b5 114e Wasco WITIO PCI168extended 10b5 1169 Wasco OPTOIO32standard 32 digital in, 32 digital out 10b5 1172 IK220 (Heidenhain) 10b5 2036 SatPak GPS 10b5 2221 Alpermann+Velte PCL PCI LV: Timecode Reader Board 10b5 2273 SH ARC-PCI SOHARD ARCNET card 10b5 2431 Alpermann+Velte PCL PCI D: Timecode Reader Board 10b5 2905 Alpermann+Velte PCI TS: Time Synchronisation Board 10b5 3196 Goramo PLX200SYN sync serial card 10b5 9050 PCI-I04 PCI Passive PC/CAN Interface 1369 8901 PCX11+ PCI 1369 8f01 VX222 1369 9401 PCX924 1369 9501 PCX22 1498 0362 TPMC866 8 Channel Serial Card 1522 0001 RockForce 4 Port V.90 Data/Fax/Voice Modem 1522 0002 RockForce 2 Port V.90 Data/Fax/Voice Modem 1522 0003 RockForce 6 Port V.90 Data/Fax/Voice Modem 1522 0004 RockForce 8 Port V.90 Data/Fax/Voice Modem 1522 0010 RockForce2000 4 Port V.90 Data/Fax/Voice Modem 1522 0020 RockForce2000 2 Port V.90 Data/Fax/Voice Modem 15ed 1000 Macrolink MCCS 8-port Serial 15ed 1001 Macrolink MCCS 16-port Serial 15ed 1002 Macrolink MCCS 8-port Serial Hot Swap 15ed 1003 Macrolink MCCS 16-port Serial Hot Swap 5654 2036 OpenSwitch 6 Telephony card 5654 3132 OpenSwitch 12 Telephony card 5654 5634 OpenLine4 Telephony Card d531 c002 PCIntelliCAN 2xSJA1000 CAN bus d84d 4006 EX-4006 1P d84d 4008 EX-4008 1P EPP/ECP d84d 4014 EX-4014 2P d84d 4018 EX-4018 3P EPP/ECP d84d 4025 EX-4025 1S(16C550) RS-232 d84d 4027 EX-4027 1S(16C650) RS-232 d84d 4028 EX-4028 1S(16C850) RS-232 d84d 4036 EX-4036 2S(16C650) RS-232 d84d 4037 EX-4037 2S(16C650) RS-232 d84d 4038 EX-4038 2S(16C850) RS-232 d84d 4052 EX-4052 1S(16C550) RS-422/485 d84d 4053 EX-4053 2S(16C550) RS-422/485 d84d 4055 EX-4055 4S(16C550) RS-232 d84d 4058 EX-4055 4S(16C650) RS-232 d84d 4065 EX-4065 8S(16C550) RS-232 d84d 4068 EX-4068 8S(16C650) RS-232 d84d 4078 EX-4078 2S(16C552) RS-232+1P 9052 PCI9052 PCI <-> IOBus Bridge 9054 PCI9054 32-bit 33MHz PCI <-> IOBus Bridge 10b5 2455 Wessex Techology PHIL-PCI 10b5 2696 Innes Corp AM Radcap card 10b5 2717 Innes Corp Auricon card 10b5 2844 Innes Corp TVS Encoder card 12c7 4001 Intel Dialogic DM/V960-4T1 PCI 12d9 0002 PCI Prosody Card rev 1.5 14b4 d100 Dektec DTA-100 14b4 d114 Dektec DTA-120 16df 0011 PIKA PrimeNet MM PCI 16df 0012 PIKA PrimeNet MM cPCI 8 16df 0013 PIKA PrimeNet MM cPCI 8 (without CAS Signaling) 16df 0014 PIKA PrimeNet MM cPCI 4 16df 0015 PIKA Daytona MM 16df 0016 PIKA InLine MM 9056 PCI9056 32-bit 66MHz PCI <-> IOBus Bridge 10b5 2979 CellinkBlade 11 - CPCI board VoATM AAL1 10b5 3268 IXXAT iPC-I XC16/PCIe CAN Board 10b5 3334 Cambridge Pixel HPx Radar Input Card 10b5 3352 Alpermann+Velte PCL PCIe HD: Timecode Reader Board 10b5 3353 Alpermann+Velte PCL PCIe D: Timecode Reader Board 10b5 3354 Alpermann+Velte PCL PCIe LV: Timecode Reader Board 10b5 3355 Alpermann+Velte PCL PCIe L: Timecode Reader Board 10b5 3415 Alpermann+Velte PCIe TS: Time Synchronisation Board 10b5 3493 Alpermann+Velte PCL PCIe 3G: Timecode Reader Board 10b5 3565 Cambridge Pixel HPx Radar Output Card 1369 c001 LX6464ES 1369 c201 LX1616ES 14b4 d10a DekTec DTA-110T 14b4 d128 Dektec DTA-140 14b4 d140 Dektec DTA-140 1a0e 006f Dektec DTA-111 9060 PCI9060 32-bit 33MHz PCI <-> IOBus Bridge 906d 9060SD 125c 0640 Aries 16000P 906e 9060ES 9080 PCI9080 32-bit; 33MHz PCI <-> IOBus Bridge 103c 10eb (Agilent) E2777B 83K Series Optical Communication Interface 103c 10ec (Agilent) E6978-66442 PCI CIC 10b5 1123 Sectra KK631 encryption board 10b5 9080 9080 [real subsystem ID not set] 12d9 0002 PCI Prosody Card 12df 4422 4422PCI ["Do-All" Telemetry Data Acquisition System] 1369 9601 PCX822np 1369 a102 PCX822v2 1369 a201 PCX442 1369 a301 LCM440v2 1369 a401 VX822 1369 a402 VX822v2 1369 a901 LCM420 1369 aa01 VX820v2 1517 000b ECSG-1R3ADC-PMC Clock synthesizer 9656 PCI9656 PCI <-> IOBus Bridge 1517 000f ECDR-GC314-PMC Receiver 1885 0700 Tsunami FPGA PMC with Altera Stratix S40 1885 0701 Tsunami FPGA PMC with Altera Stratix S30 9733 PEX 9733 33-lane, 9-port PCI Express Gen 3 (8.0 GT/s) Switch 1d49 0001 ThinkSystem 1610-4P NVMe Switch Adapter 1d49 0002 ThinkSystem 810-4P NVMe Switch Adapter 9749 PEX 9749 49-lane, 13-port PCI Express Gen 3 (8.0 GT/s) Switch 1d49 0004 ThinkSystem 1610-8P NVMe Switch Adapter a100 Blackmagic Design DeckLink bb04 B&B 3PCIOSD1A Isolated PCI Serial c001 CronyxOmega-PCI (8-port RS232) d00d PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 9030 Digium Tormenta 2 T400P or E400P Quad T1 or E1 PCI card d33d PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 9030 Tormenta 3 Varion V401PT Quad T1/J1 PCI card d44d PCI9030 32-bit 33MHz PCI <-> IOBus Bridge 10b5 17f6 Allo CP100P/E 1-port E1/T1/J1 PCI/PCIe card 10b5 17f7 Allo CP400P/E 4-port E1/T1/J1 PCI/PCIe card 10b5 17f8 Allo CP200P/E 2-port E1/T1/J1 PCI/PCIe card 10b5 9030 Tormenta 3 Varion V401PE Quad E1 PCI card 10b6 Madge Networks 0001 Smart 16/4 PCI Ringnode 0002 Smart 16/4 PCI Ringnode Mk2 10b6 0002 Smart 16/4 PCI Ringnode Mk2 10b6 0006 16/4 CardBus Adapter 0003 Smart 16/4 PCI Ringnode Mk3 0e11 b0fd Compaq NC4621 PCI, 4/16, WOL 10b6 0003 Smart 16/4 PCI Ringnode Mk3 10b6 0007 Presto PCI Plus Adapter 0004 Smart 16/4 PCI Ringnode Mk1 0006 16/4 Cardbus Adapter 10b6 0006 16/4 CardBus Adapter 0007 Presto PCI Adapter 10b6 0007 Presto PCI 0009 Smart 100/16/4 PCI-HS Ringnode 10b6 0009 Smart 100/16/4 PCI-HS Ringnode 000a Token Ring 100/16/4 Ringnode/Ringrunner 10b6 000a Token Ring 100/16/4 Ringnode/Ringrunner 000b 16/4 CardBus Adapter Mk2 10b6 0008 16/4 CardBus Adapter Mk2 10b6 000b 16/4 Cardbus Adapter Mk2 000c RapidFire 3140V2 16/4 TR Adapter 10b6 000c RapidFire 3140V2 16/4 TR Adapter 1000 Collage 25/155 ATM Client Adapter 1001 Collage 155 ATM Server Adapter 10b7 3Com Corporation 0001 3c985 1000BaseSX (SX/TX) # wrong ID? 9850 0001 3c985B-SX 0013 AR5212 802.11abg NIC (3CRDAG675) 10b7 2031 3CRDAG675 11a/b/g Wireless PCI Adapter 0910 3C910-A01 1006 MINI PCI type 3B Data Fax Modem 1007 Mini PCI 56k Winmodem 10b7 615b Mini PCI 56K Modem 10b7 615c Mini PCI 56K Modem 1201 3c982-TXM 10/100baseTX Dual Port A [Hydra] 1202 3c982-TXM 10/100baseTX Dual Port B [Hydra] 1700 3c940 10/100/1000Base-T [Marvell] 1043 80eb A7V600/P4P800/K8V motherboard 10b7 0010 3C940 Gigabit LOM Ethernet Adapter 10b7 0020 3C941 Gigabit LOM Ethernet Adapter 147b 1407 KV8-MAX3 motherboard 3390 3c339 TokenLink Velocity 3590 3c359 TokenLink Velocity XL 10b7 3590 TokenLink Velocity XL Adapter (3C359/359B) 4500 3c450 HomePNA [Tornado] 5055 3c555 Laptop Hurricane 5057 3c575 Megahertz 10/100 LAN CardBus [Boomerang] 10b7 5a57 3C575 Megahertz 10/100 LAN Cardbus PC Card 5157 3cCFE575BT Megahertz 10/100 LAN CardBus [Cyclone] 10b7 5b57 3C575 Megahertz 10/100 LAN Cardbus PC Card 5257 3cCFE575CT CardBus [Cyclone] 10b7 5c57 FE575C-3Com 10/100 LAN CardBus-Fast Ethernet 5900 3c590 10BaseT [Vortex] 5920 3c592 EISA 10mbps Demon/Vortex 5950 3c595 100BaseTX [Vortex] 5951 3c595 100BaseT4 [Vortex] 5952 3c595 100Base-MII [Vortex] 5970 3c597 EISA Fast Demon/Vortex 5b57 3c595 Megahertz 10/100 LAN CardBus [Boomerang] 10b7 5b57 3C575 Megahertz 10/100 LAN Cardbus PC Card 6000 3CRSHPW796 [OfficeConnect Wireless CardBus] 6001 3com 3CRWE154G72 [Office Connect Wireless LAN Adapter] 6055 3c556 Hurricane CardBus [Cyclone] 6056 3c556B CardBus [Tornado] 10b7 6556 10/100 Mini PCI Ethernet Adapter 6560 3cCFE656 CardBus [Cyclone] 10b7 656a 3CCFEM656 10/100 LAN+56K Modem CardBus 6561 3cCFEM656 10/100 LAN+56K Modem CardBus 10b7 656b 3CCFEM656 10/100 LAN+56K Modem CardBus 6562 3cCFEM656B 10/100 LAN+Winmodem CardBus [Cyclone] 10b7 656b 3CCFEM656B 10/100 LAN+56K Modem CardBus 6563 3cCFEM656B 10/100 LAN+56K Modem CardBus 10b7 656b 3CCFEM656 10/100 LAN+56K Modem CardBus 6564 3cXFEM656C 10/100 LAN+Winmodem CardBus [Tornado] 7646 3cSOHO100-TX Hurricane 7770 3CRWE777 PCI Wireless Adapter [Airconnect] 7940 3c803 FDDILink UTP Controller 7980 3c804 FDDILink SAS Controller 7990 3c805 FDDILink DAS Controller 80eb 3c940B 10/100/1000Base-T 8811 Token ring 9000 3c900 10BaseT [Boomerang] 9001 3c900 10Mbps Combo [Boomerang] 9004 3c900B-TPO Etherlink XL [Cyclone] 10b7 9004 3C900B-TPO Etherlink XL TPO 10Mb 9005 3c900B-Combo Etherlink XL [Cyclone] 10b7 9005 3C900B-Combo Etherlink XL Combo 9006 3c900B-TPC Etherlink XL [Cyclone] 900a 3c900B-FL 10base-FL [Cyclone] 9050 3c905 100BaseTX [Boomerang] 9051 3c905 100BaseT4 [Boomerang] 9054 3C905B-TX Fast Etherlink XL PCI 10b7 9054 3C905B-TX Fast Etherlink XL PCI 9055 3c905B 100BaseTX [Cyclone] 1028 0080 3C905B Fast Etherlink XL 10/100 1028 0081 3C905B Fast Etherlink XL 10/100 1028 0082 3C905B Fast Etherlink XL 10/100 1028 0083 3C905B Fast Etherlink XL 10/100 1028 0084 3C905B Fast Etherlink XL 10/100 1028 0085 3C905B Fast Etherlink XL 10/100 1028 0086 3C905B Fast Etherlink XL 10/100 1028 0087 3C905B Fast Etherlink XL 10/100 1028 0088 3C905B Fast Etherlink XL 10/100 1028 0089 3C905B Fast Etherlink XL 10/100 1028 0090 3C905B Fast Etherlink XL 10/100 1028 0091 3C905B Fast Etherlink XL 10/100 1028 0092 3C905B Fast Etherlink XL 10/100 1028 0093 3C905B Fast Etherlink XL 10/100 1028 0094 3C905B Fast Etherlink XL 10/100 1028 0095 3C905B Fast Etherlink XL 10/100 1028 0096 3C905B Fast Etherlink XL 10/100 1028 0097 3C905B Fast Etherlink XL 10/100 1028 0098 3C905B Fast Etherlink XL 10/100 1028 0099 3C905B Fast Etherlink XL 10/100 10b7 9055 3C905B Fast Etherlink XL 10/100 9056 3c905B-T4 Fast EtherLink XL [Cyclone] 9058 3c905B Deluxe Etherlink 10/100/BNC [Cyclone] 905a 3c905B-FX Fast Etherlink XL FX 100baseFx [Cyclone] 9200 3c905C-TX/TX-M [Tornado] 1028 0095 3C920 Integrated Fast Ethernet Controller 1028 0097 3C920 Integrated Fast Ethernet Controller 1028 00b4 OptiPlex GX110 1028 00d8 Precision 530 1028 00fe Optiplex GX240 1028 012a 3C920 Integrated Fast Ethernet Controller [Latitude C640] 10b7 1000 3C905CX-TX/TX-M Fast Etherlink for PC Management NIC 10b7 7000 10/100 Mini PCI Ethernet Adapter 10f1 2466 Tiger MPX S2466 (3C920 Integrated Fast Ethernet Controller) 144d c005 X10 Laptop 9201 3C920B-EMB Integrated Fast Ethernet Controller [Tornado] 1043 80ab A7N8X Deluxe onboard 3C920B-EMB Integrated Fast Ethernet Controller 9202 3Com 3C920B-EMB-WNM Integrated Fast Ethernet Controller 9210 3C920B-EMB-WNM Integrated Fast Ethernet Controller 9300 3CSOHO100B-TX 910-A01 [tulip] 9800 3c980-TX Fast Etherlink XL Server Adapter [Cyclone] 10b7 9800 3c980-TX Fast Etherlink XL Server Adapter 9805 3c980-C 10/100baseTX NIC [Python-T] 10b7 1201 EtherLink Server 10/100 Dual Port A 10b7 1202 EtherLink Server 10/100 Dual Port B 10b7 9805 3c980 10/100baseTX NIC [Python-T] 10f1 2462 Thunder K7 S2462 9900 3C990-TX [Typhoon] 9902 3CR990-TX-95 [Typhoon 56-bit] 9903 3CR990-TX-97 [Typhoon 168-bit] 9904 3C990B-TX-M/3C990BSVR [Typhoon2] 10b7 1000 3CR990B-TX-M [Typhoon2] 10b7 2000 3CR990BSVR [Typhoon2 Server] 9905 3CR990-FX-95/97/95 [Typhon Fiber] 10b7 1101 3CR990-FX-95 [Typhoon Fiber 56-bit] 10b7 1102 3CR990-FX-97 [Typhoon Fiber 168-bit] 10b7 2101 3CR990-FX-95 Server [Typhoon Fiber 56-bit] 10b7 2102 3CR990-FX-97 Server [Typhoon Fiber 168-bit] 9908 3CR990SVR95 [Typhoon Server 56-bit] 9909 3CR990SVR97 [Typhoon Server 168-bit] 990a 3C990SVR [Typhoon Server] 990b 3C990SVR [Typhoon Server] 10b8 Standard Microsystems Corp [SMC] 0005 83c170 EPIC/100 Fast Ethernet Adapter 1055 e000 LANEPIC 10/100 [EVB171Q-PCI] 1055 e002 LANEPIC 10/100 [EVB171G-PCI] 10b8 a011 EtherPower II 10/100 10b8 a014 EtherPower II 10/100 10b8 a015 EtherPower II 10/100 10b8 a016 EtherPower II 10/100 10b8 a017 EtherPower II 10/100 0006 83c175 EPIC/100 Fast Ethernet Adapter 1055 e100 LANEPIC Cardbus Fast Ethernet Adapter 1055 e102 LANEPIC Cardbus Fast Ethernet Adapter 1055 e300 LANEPIC Cardbus Fast Ethernet Adapter 1055 e302 LANEPIC Cardbus Fast Ethernet Adapter 10b8 a012 LANEPIC Cardbus Fast Ethernet Adapter 13a2 8002 LANEPIC Cardbus Fast Ethernet Adapter 13a2 8006 LANEPIC Cardbus Fast Ethernet Adapter 1000 FDC 37c665 1001 FDC 37C922 a011 83C170QF b106 SMC34C90 # Split off ALi Corporation in 2003 10b9 ULi Electronics Inc. 0101 CMI8338/C3DX PCI Audio Device 0111 C-Media CMI8738/C3DX Audio Device (OEM) 10b9 0111 C-Media CMI8738/C3DX Audio Device (OEM) 0780 Multi-IO Card 0782 Multi-IO Card 1435 M1435 1445 M1445 1449 M1449 1451 M1451 1461 M1461 1489 M1489 1511 M1511 [Aladdin] 1512 M1512 [Aladdin] 1513 M1513 [Aladdin] 1521 M1521 [Aladdin III] 10b9 1521 ALI M1521 Aladdin III CPU Bridge 1523 M1523 10b9 1523 ALI M1523 ISA Bridge 1531 M1531 [Aladdin IV] 1533 M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+] 1014 053b ThinkPad R40e 10b9 1533 ALi M1533 Aladdin IV/V ISA Bridge 1541 M1541 10b9 1541 ALI M1541 Aladdin V/V+ AGP System Controller 1543 M1543 1563 M1563 HyperTransport South Bridge 10b9 1563 ASRock 939Dual-SATA2 Motherboard 1849 1563 ASRock 939Dual-SATA2 Motherboard 1573 PCI to LPC Controller 1575 M1575 South Bridge 1621 M1621 1631 ALI M1631 PCI North Bridge Aladdin Pro III 1632 M1632M Northbridge+Trident 1641 ALI M1641 PCI North Bridge Aladdin Pro IV 1644 M1644/M1644T Northbridge+Trident 1646 M1646 Northbridge+Trident 1647 M1647 Northbridge [MAGiK 1 / MobileMAGiK 1] 1651 M1651/M1651T Northbridge [Aladdin-Pro 5/5M,Aladdin-Pro 5T/5TM] 1671 M1671 Super P4 Northbridge [AGP4X,PCI and SDR/DDR] 1672 M1672 Northbridge [CyberALADDiN-P4] 1681 M1681 P4 Northbridge [AGP8X,HyperTransport and SDR/DDR] 1687 M1687 K8 Northbridge [AGP8X and HyperTransport] 1689 M1689 K8 Northbridge [Super K8 Single Chip] 1695 M1695 Host Bridge 1697 M1697 HTT Host Bridge 3141 M3141 3143 M3143 3145 M3145 3147 M3147 3149 M3149 3151 M3151 3307 M3307 3309 M3309 3323 M3325 Video/Audio Decoder 5212 M4803 5215 MS4803 5217 M5217H 5219 M5219 5225 M5225 5228 M5228 ALi ATA/RAID Controller 5229 M5229 IDE 1014 050f ThinkPad R30 1014 053d ThinkPad R40e 103c 0024 Pavilion ze4400 builtin IDE 103c 0025 XE4500 Notebook 1043 8053 A7A266 Motherboard IDE 1849 5229 ASRock 939Dual-SATA2 Motherboard IDE (PATA) 5235 M5225 5237 USB 1.1 Controller 1014 0540 ThinkPad R40e 103c 0024 Pavilion ze4400 builtin USB 103c 0025 XE4500 Notebook 104d 810f VAIO PCG-U1 USB/OHCI Revision 1.0 10b9 5237 ASRock 939Dual-SATA2 Motherboard 1849 5237 ASRock 939Dual-SATA2 Motherboard 5239 USB 2.0 Controller 10b9 5239 ASRock 939Dual-SATA2 Motherboard 1849 5239 ASRock 939Dual-SATA2 Motherboard 5243 M1541 PCI to AGP Controller 5246 AGP8X Controller 5247 PCI to AGP Controller 5249 M5249 HTT to PCI Bridge 524b PCI Express Root Port 524c PCI Express Root Port 524d PCI Express Root Port 524e PCI Express Root Port 5251 M5251 P1394 OHCI 1.0 Controller 5253 M5253 P1394 OHCI 1.1 Controller 5261 M5261 Ethernet Controller 5263 ULi 1689,1573 integrated ethernet. 5281 ALi M5281 Serial ATA / RAID Host Controller 5287 ULi 5287 SATA 5288 ULi M5288 SATA 1043 8056 A8R-MVP Mainboard 5289 ULi 5289 SATA 5450 Lucent Technologies Soft Modem AMR 5451 M5451 PCI AC-Link Controller Audio Device 1014 0506 ThinkPad R30 1014 053e ThinkPad R40e 103c 0024 Pavilion ze4400 builtin Audio 103c 0025 XE4500 Notebook 5453 M5453 PCI AC-Link Controller Modem Device 5455 M5455 PCI AC-Link Controller Audio Device 10b9 5455 ASRock 939Dual-SATA2 Motherboard 1849 0850 ASRock 939Dual-SATA2 Motherboard 5457 M5457 AC'97 Modem Controller 1014 0535 ThinkPad R40e 103c 0024 Pavilion ze4400 builtin Modem Device 103c 0025 XE4500 Notebook 5459 SmartLink SmartPCI561 56K Modem 545a SmartLink SmartPCI563 56K Modem 5461 HD Audio Controller 5471 M5471 Memory Stick Controller 5473 M5473 SD-MMC Controller 7101 M7101 Power Management Controller [PMU] 1014 0510 ThinkPad R30 1014 053c ThinkPad R40e 103c 0024 Pavilion ze4400 103c 0025 XE4500 Notebook 1849 7101 ASRock 939Dual-SATA2 Motherboard 10ba Mitsubishi Electric Corp. 0301 AccelGraphics AccelECLIPSE 0304 AccelGALAXY A2100 [OEM Evans & Sutherland] 0308 Tornado 3000 [OEM Evans & Sutherland] 10dd 0024 Tornado 3000 1002 VG500 [VolumePro Volume Rendering Accelerator] 10bb Dapha Electronics Corporation 10bc Advanced Logic Research 10bd Surecom Technology 0e34 NE-34 10be Tseng Labs International Co. 10bf Most Inc 10c0 Boca Research Inc. 10c1 ICM Co., Ltd. 10c2 Auspex Systems Inc. 10c3 Samsung Semiconductors, Inc. 10c4 Award Software International Inc. 10c5 Xerox Corporation 10c6 Rambus Inc. 10c7 Media Vision 10c8 Neomagic Corporation 0001 NM2070 [MagicGraph 128] 0002 NM2090 [MagicGraph 128V] 0003 NM2093 [MagicGraph 128ZV] 0004 NM2160 [MagicGraph 128XD] 1014 00ba MagicGraph 128XD 1025 1007 MagicGraph 128XD 1028 0074 MagicGraph 128XD 1028 0075 MagicGraph 128XD 1028 007d MagicGraph 128XD 1028 007e MagicGraph 128XD 1033 802f MagicGraph 128XD 104d 801b MagicGraph 128XD 104d 802f MagicGraph 128XD 104d 830b MagicGraph 128XD 10ba 0e00 MagicGraph 128XD 10c8 0004 MagicGraph 128XD 10cf 1029 MagicGraph 128XD 10f7 8308 MagicGraph 128XD 10f7 8309 MagicGraph 128XD 10f7 830b MagicGraph 128XD 10f7 830d MagicGraph 128XD 10f7 8312 MagicGraph 128XD 0005 NM2200 [MagicGraph 256AV] 1014 00dd ThinkPad 570 1028 0088 Latitude CPi A 0006 NM2360 [MagicMedia 256ZX] 1014 0152 ThinkPad 600X 0016 NM2380 [MagicMedia 256XL+] 10c8 0016 MagicMedia 256XL+ 0025 NM2230 [MagicGraph 256AV+] 0083 NM2093 [MagicGraph 128ZV+] 8005 NM2200 [MagicMedia 256AV Audio] 0e11 b0d1 MagicMedia 256AV Audio Device on Discovery 0e11 b126 MagicMedia 256AV Audio Device on Durango 1014 00dd ThinkPad 390/i1720/i1721 1025 1003 MagicMedia 256AV Audio Device on TravelMate 720 1028 0088 Latitude CPi A 1028 008f MagicMedia 256AV Audio Device on Colorado Inspiron 103c 0007 MagicMedia 256AV Audio Device on Voyager II 103c 0008 MagicMedia 256AV Audio Device on Voyager III 103c 000d MagicMedia 256AV Audio Device on Omnibook 900 10c8 8005 MagicMedia 256AV Audio Device on FireAnt 110a 8005 MagicMedia 256AV Audio Device 14c0 0004 MagicMedia 256AV Audio Device 8006 NM2360 [MagicMedia 256ZX Audio] 8016 NM2380 [MagicMedia 256XL+ Audio] 10c9 Dataexpert Corporation 10ca Fujitsu Microelectr., Inc. 10cb Omron Corporation # nee Mentor ARC Inc 10cc Mai Logic Incorporated 0660 Articia S Host Bridge 0661 Articia S PCI Bridge 10cd Advanced System Products, Inc 1100 ASC1100 1200 ASC1200 [(abp940) Fast SCSI-II] 1300 ASC1300 / ASC3030 [ABP940-U / ABP960-U / ABP3925] 10cd 1310 ASC1300/3030 SCSI adapter 1195 1320 Ultra-SCSI CardBus PC Card REX CB31 2300 ABP940-UW 2500 ABP940-U2W 2700 ABP3950-U3W 10ce Radius # nee Citicorp TTI 10cf Fujitsu Limited. 01ef PCEA4 PCI-Express Dual Port ESCON Adapter 1414 On-board USB 1.1 companion controller 1415 On-board USB 2.0 EHCI controller 1422 E8410 nVidia graphics adapter 142d HD audio (Realtek ALC262) 1430 82566MM Intel 1Gb copper LAN interface 1623 PCEA4 PCI-Express Dual Port ESCON Adapter 2001 mb86605 200c MB86613L IEEE1394 OHCI 1.0 Controller 2010 MB86613S IEEE1394 OHCI 1.1 Controller 2019 MB86295S [CORAL P] 201e MB86296S [CORAL PA] 202b MB86297A [Carmine Graphics Controller] 10d1 FuturePlus Systems Corp. 10d2 Molex Incorporated 10d3 Jabil Circuit Inc 10d4 Hualon Microelectronics 10d5 Autologic Inc. 10d6 Cetia 10d7 BCM Advanced Research 10d8 Advanced Peripherals Labs 10d9 Macronix, Inc. [MXIC] 0431 MX98715 0512 MX98713 0531 MX987x5 1186 1200 DFE-540TX ProFAST 10/100 Adapter 8625 MX86250 8626 Macronix MX86251 + 3Dfx Voodoo Rush 8888 MX86200 10da Compaq IPG-Austin 0508 TC4048 Token Ring 4/16 3390 Tl3c3x9 10db Rohm LSI Systems, Inc. 10dc CERN/ECP/EDU 0001 STAR/RD24 SCI-PCI (PMC) 0002 TAR/RD24 SCI-PCI (PMC) 0021 HIPPI destination 0022 HIPPI source 10dc ATT2C15-3 FPGA 10dd Evans & Sutherland 0100 Lightning 1200 10dd 0023 Lightning 1200 15+16M 10de NVIDIA Corporation 0008 NV1 [STG2000X-B Series] 0009 NV1 [NV1 Series] 0018 NV3 [Riva 128] 0019 NV3 [Riva 128ZX] 0020 NV4 [Riva TNT] 1043 0200 V3400 TNT 1048 0c18 Erazor II SGRAM 1048 0c19 Erazor II 1048 0c1b Erazor II 1048 0c1c Erazor II 1092 0550 Viper V550 1092 0552 Viper V550 1092 4804 Viper V550 1092 4808 Viper V550 1092 4810 Viper V550 1092 4812 Viper V550 1092 4815 Viper V550 1092 4820 Viper V550 with TV out 1092 4822 Viper V550 1092 4904 Viper V550 1092 4914 Viper V550 1092 8225 Viper V550 10b4 273d Velocity 4400 10b4 273e Velocity 4400 10b4 2740 Velocity 4400 10de 0020 Riva TNT 1102 1015 Graphics Blaster CT6710 1102 1016 Graphics Blaster RIVA TNT 0028 NV5 [Riva TNT2 / TNT2 Pro] 1043 0200 AGP-V3800 SGRAM 1043 0201 AGP-V3800 SDRAM 1043 0205 PCI-V3800 1043 4000 AGP-V3800PRO 1048 0c21 Synergy II 1048 0c28 Erazor III 1048 0c29 Erazor III 1048 0c2a Erazor III 1048 0c2b Erazor III 1048 0c31 Erazor III Pro 1048 0c32 Erazor III Pro 1048 0c33 Erazor III Pro 1048 0c34 Erazor III Pro 107d 2134 WinFast 3D S320 II + TV-Out 1092 4804 Viper V770 1092 4a00 Viper V770 1092 4a02 Viper V770 Ultra 1092 5a00 RIVA TNT2/TNT2 Pro 1092 5a40 Viper V770D AGP 1092 6a02 Viper V770 Ultra 1092 7a02 Viper V770 Ultra 10de 0005 RIVA TNT2 Pro 10de 000f Compaq NVIDIA TNT2 Pro 1102 1020 3D Blaster RIVA TNT2 1102 1026 3D Blaster RIVA TNT2 Digital 1462 8806 MS-8806 AGPhantom Graphics Card 14af 5810 Maxi Gamer Xentor 0029 NV5 [Riva TNT2 Ultra] 1043 0200 AGP-V3800 Deluxe 1043 0201 AGP-V3800 Ultra SDRAM 1043 0205 PCI-V3800 Ultra 1048 0c2e Erazor III Ultra 1048 0c2f Erazor III Ultra 1048 0c30 Erazor III Ultra 1102 1021 3D Blaster RIVA TNT2 Ultra 1102 1029 3D Blaster RIVA TNT2 Ultra 1102 102f 3D Blaster RIVA TNT2 Ultra 14af 5820 Maxi Gamer Xentor 32 4843 4f34 Dynamite 002a NV5 [Riva TNT2] 002b NV5 [Riva TNT2] 002c NV5 [Vanta / Vanta LT] 1043 0200 AGP-V3800 Combat SDRAM 1043 0201 AGP-V3800 Combat 1048 0c20 TNT2 Vanta 1048 0c21 TNT2 Vanta 1048 0c25 TNT2 Vanta 16MB 1092 6820 Viper V730 1102 1031 CT6938 VANTA 8MB 1102 1034 CT6894 VANTA 16MB 14af 5008 Maxi Gamer Phoenix 2 002d NV5 [Riva TNT2 Model 64 / Model 64 Pro] 1043 0200 AGP-V3800M 1043 0201 AGP-V3800M 1048 0c3a Erazor III LT 1048 0c3b Erazor III LT 107d 2137 WinFast 3D S325 10de 0006 RIVA TNT2 Model 64/Model 64 Pro 10de 001e M64 AGP4x 1102 1023 CT6892 RIVA TNT2 Value 1102 1024 CT6932 RIVA TNT2 Value 32Mb 1102 102c CT6931 RIVA TNT2 Value [Jumper] 1102 1030 CT6931 RIVA TNT2 Value # S26361-D1243-V116 110a 006f GM1000-16 # S26361-D1243-V216 110a 0081 GM1000-16 1462 8808 MSI-8808 14af 5620 Gamer Cougar Video Edition 1554 1041 Pixelview RIVA TNT2 M64 1569 002d Palit Microsystems Daytona TNT2 M64 0034 MCP04 SMBus 0035 MCP04 IDE 0036 MCP04 Serial ATA Controller 0037 MCP04 Ethernet Controller 0038 MCP04 Ethernet Controller 003a MCP04 AC'97 Audio Controller 003b MCP04 USB Controller 003c MCP04 USB Controller 003d MCP04 PCI Bridge 003e MCP04 Serial ATA Controller 0040 NV40 [GeForce 6800 Ultra] 0041 NV40 [GeForce 6800] 1043 817b V9999 Gamer Edition 107d 2992 WinFast A400 1458 310f Geforce 6800 GV-N6812 0042 NV40 [GeForce 6800 LE] 107d 299b WinFast A400 LE 0043 NV40 [GeForce 6800 XE] 0044 NV40 [GeForce 6800 XT] 0045 NV40 [GeForce 6800 GT] 1043 817d V9999GT 1458 3140 GV-N68T256D 0047 NV40 [GeForce 6800 GS] 1682 2109 GeForce 6800 GS 0048 NV40 [GeForce 6800 XT] 004e NV40GL [Quadro FX 4000] 0050 CK804 ISA Bridge 1043 815a K8N4/A8N Series Mainboard 10f1 2865 Tomcat K8E (S2865) 1458 0c11 GA-K8N Ultra-9 Mainboard 1462 7100 MSI K8N Diamond 1462 7125 K8N Neo4-F mainboard 147b 1c1a KN8-Ultra Mainboard 1565 3402 NF4 AM2L Mainboard 0051 CK804 ISA Bridge 1028 0225 PowerEdge T105 ISA Bridge 0052 CK804 SMBus 1028 0225 PowerEdge T105 SMBus 1043 815a K8N4/A8N Series Mainboard 10f1 2865 Tomcat K8E (S2865) 1458 0c11 GA-K8N Ultra-9 Mainboard 1462 7100 MSI K8N Diamond 1462 7125 K8N Neo4-F mainboard 147b 1c1a KN8-Ultra Mainboard 1565 3402 NF4 AM2L Mainboard 0053 CK804 IDE 1043 815a K8N4/A8N Series Mainboard 10f1 2865 Tomcat K8E (S2865) 1458 5002 GA-K8N Ultra-9 Mainboard 1462 7100 MSI K8N Diamond 1462 7125 K8N Neo4-F mainboard 147b 1c1a KN8-Ultra Mainboard 1565 3402 NF4 AM2L Mainboard 0054 CK804 Serial ATA Controller 1028 0225 PowerEdge T105 Serial ATA 1043 815a A8N Series Mainboard 10f1 2865 Tomcat K8E (S2865) 1458 b003 GA-K8N Ultra-9 Mainboard 1462 7100 MSI K8N Diamond 1462 7125 K8N Neo4-F mainboard 147b 1c1a KN8-Ultra Mainboard 1565 5401 NF4 AM2L Mainboard 0055 CK804 Serial ATA Controller 1028 0225 PowerEdge T105 Serial ATA 1043 815a K8N4/A8N Series Mainboard 10f1 2865 Tomcat K8E (S2865) 1458 b003 GA-K8N Ultra-9 Mainboard 1462 7125 K8N Neo4-F mainboard 147b 1c1a KN8-Ultra Mainboard 1565 5401 NF4 AM2L Mainboard 0056 CK804 Ethernet Controller 0057 CK804 Ethernet Controller 1043 8141 K8N4/A8N Series Mainboard 10de cb84 NF4 Lanparty 10f1 2865 Tomcat K8E (S2865) 1458 e000 GA-K8N Ultra-9 Mainboard 1462 7100 MSI K8N Diamond 1462 7125 K8N Neo4-F mainboard 147b 1c1a KN8-Ultra Mainboard 1565 2501 NF4 AM2L Mainboard 0058 CK804 AC'97 Modem 0059 CK804 AC'97 Audio Controller 1043 812a K8N4/A8N Series Mainboard 10f1 2865 Tomcat K8E (S2865) 1462 7585 K8N Neo4-F mainboard 147b 1c1a KN8-Ultra Mainboard 1565 8211 NF4 AM2L Mainboard 005a CK804 USB Controller 1028 0225 PowerEdge T105 onboard USB 1043 815a K8N4/A8N Series Mainboard 10f1 2865 Tomcat K8E (S2865) 1458 5004 GA-K8N Ultra-9 Mainboard 1462 7100 MSI K8N Diamond 1462 7125 K8N Neo4-F mainboard 147b 1c1a KN8-Ultra Mainboard 1565 3402 NF4 AM2L Mainboard 005b CK804 USB Controller 1028 0225 PowerEdge T105 onboard USB 1043 815a K8N4/A8N Series Mainboard 10f1 2865 Tomcat K8E (S2865) 1458 5004 GA-K8N Ultra-9 Mainboard 1462 7100 MSI K8N Diamond 1462 7125 K8N Neo4-F mainboard 147b 1c1a KN8-Ultra Mainboard 1565 3402 NF4 AM2L Mainboard 005c CK804 PCI Bridge 005d CK804 PCIE Bridge 005e CK804 Memory Controller 1028 0225 PowerEdge T105 Memory Controller 1043 815a A8N Series Mainboard 10de 005e ECS Elitegroup NFORCE3-A939 motherboard. 10f1 2865 Tomcat K8E (S2865) 10f1 2891 Thunder K8SRE Mainboard 1458 5000 GA-K8N Ultra-9 Mainboard 1462 7100 K8N Diamond Mainboard 1462 7125 K8N Neo4-F Mainboard 147b 1c1a KN8-Ultra Mainboard 1565 3402 NF4 AM2L Mainboard 005f CK804 Memory Controller 0060 nForce2 ISA Bridge 1043 80ad A7N8X Mainboard 147b 1c02 NF7-S/NF7 (nVidia-nForce2) 2.X a0a0 03ba UK79G-1394 motherboard 0064 nForce2 SMBus (MCP) 147b 1c02 NF7-S/NF7 (nVidia-nForce2) 2.X a0a0 03bb UK79G-1394 motherboard 0065 nForce2 IDE 10de 0c11 nForce 2 EIDE Controller a0a0 03b2 UK79G-1394 motherboard 0066 nForce2 Ethernet Controller 1043 80a7 A7N8X Mainboard onboard nForce2 Ethernet 10de 0c11 nForce MCP-T Networking Adapter a0a0 03b3 UK79G-1394 motherboard 0067 nForce2 USB Controller 1043 0c11 A7N8X Mainboard a0a0 03b4 UK79G-1394 motherboard 0068 nForce2 USB Controller 1043 0c11 A7N8X Mainboard a0a0 03b4 UK79G-1394 motherboard 006a nForce2 AC97 Audio Controler (MCP) 1043 8095 nForce2 AC97 Audio Controller (MCP) a0a0 0304 UK79G-1394 motherboard 006b nForce Audio Processing Unit 10de 006b nForce2 MCP Audio Processing Unit a0a0 0304 UK79G-1394 motherboard 006c nForce2 External PCI Bridge 006d nForce2 PCI Bridge 006e nForce2 FireWire (IEEE 1394) Controller a0a0 0306 UK79G-1394 motherboard 0080 MCP2A ISA bridge 147b 1c09 NV7 Motherboard 0084 MCP2A SMBus 147b 1c09 NV7 Motherboard 0085 MCP2A IDE 147b 1c09 NV7 Motherboard 0086 MCP2A Ethernet Controller 0087 MCP2A USB Controller 147b 1c09 NV7 Motherboard 0088 MCP2A USB Controller 147b 1c09 NV7 Motherboard 008a MCP2S AC'97 Audio Controller 147b 1c09 NV7 Motherboard 008b MCP2A PCI Bridge 008c MCP2A Ethernet Controller 008e nForce2 Serial ATA Controller 0090 G70 [GeForce 7800 GTX] 0091 G70 [GeForce 7800 GTX] 0092 G70 [GeForce 7800 GT] 0093 G70 [GeForce 7800 GS] 0095 G70 [GeForce 7800 SLI] 0097 G70 [GeForce GTS 250] 0098 G70M [GeForce Go 7800] 0099 G70M [GeForce Go 7800 GTX] 009d G70GL [Quadro FX 4500] 00a0 NV0A [Aladdin TNT2 IGP] 14af 5810 Maxi Gamer Xentor 00c0 NV41 [GeForce 6800 GS] 00c1 NV41 [GeForce 6800] 00c2 NV41 [GeForce 6800 LE] 00c3 NV41 [GeForce 6800 XT] 00c5 NV41 00c6 NV41 00c7 NV41 00c8 NV41M [GeForce Go 6800] 00c9 NV41M [GeForce Go 6800 Ultra] 00cc NV41GLM [Quadro FX Go1400] 00cd NV42GL [Quadro FX 3450/4000 SDI] 10de 029b Quadro FX 3450 00ce NV41GL [Quadro FX 1400] 00cf NV41 00d0 nForce3 LPC Bridge 00d1 nForce3 Host Bridge 00d2 nForce3 AGP Bridge 00d3 CK804 Memory Controller 00d4 nForce3 SMBus 00d5 nForce3 IDE 00d6 nForce3 Ethernet 00d7 nForce3 USB 1.1 00d8 nForce3 USB 2.0 00d9 nForce3 Audio 00da nForce3 Audio 00dd nForce3 PCI Bridge 00df CK8S Ethernet Controller 1043 80a7 K8N-E 105b 0c43 Winfast NF3250K8AA 147b 1c0b NF8 Mainboard 00e0 nForce3 250Gb LPC Bridge 1043 813f K8N-E 10de 0c11 Winfast NF3250K8AA 1462 7030 K8N Neo-FSR v2.0 147b 1c0b NF8 Mainboard 1849 00e0 Motherboard (one of many) 00e1 nForce3 250Gb Host Bridge 1043 813f K8N-E 1462 7030 K8N Neo-FSR v2.0 147b 1c0b NF8 Mainboard 1849 00e1 Motherboard (one of many) 00e2 nForce3 250Gb AGP Host to PCI Bridge 00e3 nForce3 Serial ATA Controller 1043 813f K8N-E 105b 0c43 Winfast NF3250K8AA 147b 1c0b NF8 Mainboard 1849 00e3 Motherboard (one of many) 00e4 nForce 250Gb PCI System Management 1043 813f K8N-E 105b 0c43 Winfast NF3250K8AA 1462 7030 K8N Neo-FSR v2.0 147b 1c0b NF8 Mainboard 1849 00e4 Motherboard (one of many) 00e5 CK8S Parallel ATA Controller (v2.5) 1043 813f K8N-E 105b 0c43 Winfast NF3250K8AA 1462 7030 K8N Neo-FSR v2.0 147b 1c0b NF8 Mainboard 1849 00e5 Motherboard (one of many) f849 00e5 Motherboard (one of many) 00e6 CK8S Ethernet Controller 00e7 CK8S USB Controller 1043 813f K8N-E 105b 0c43 Winfast NF3250K8AA 1462 7030 K8N Neo-FSR v2.0 147b 1c0b NF8 Mainboard 1849 00e7 Motherboard (one of many) 00e8 nForce3 EHCI USB 2.0 Controller 1043 813f K8N-E 105b 0c43 Winfast NF3250K8AA 1462 7030 K8N Neo-FSR v2.0 147b 1c0b NF8 Mainboard 1849 00e8 Motherboard (one of many) 00ea nForce3 250Gb AC'97 Audio Controller 1043 819d K8N-E 105b 0c43 Winfast NF3250K8AA 1462 b010 K8N Neo-FSR v2.0 147b 1c0b NF8 Mainboard 00ed nForce3 250Gb PCI-to-PCI Bridge 00ee nForce3 Serial ATA Controller 2 00f1 NV43 [GeForce 6600 GT] 1043 81a6 N6600GT TD 128M AGP 1043 81c6 N6600GT TD 128M AGP 1458 3150 GV-N66T128VP 1554 1191 PixelView PV-N43UA (128KD) 1682 2119 GeForce 6600 GT AGP 00f2 NV43 [GeForce 6600] 1554 1194 PixelView PV-N43AT (256KD) 1682 211c GeForce 6600 256MB DDR DUAL DVI TV 00f3 NV43 [GeForce 6200] 00f4 NV43 [GeForce 6600 LE] 00f5 G70/G71 [GeForce 7800 GS AGP] 00f6 NV43 [GeForce 6800 GS/XT] 1682 217e XFX GeForce 6800 XTreme 256MB DDR3 AGP 00f8 NV45GL [Quadro FX 3400/4400] 00f9 NV40 [GeForce 6800 GT/GTO/Ultra] 10de 00f9 NV40 [GeForce 6800 GT] 1682 2120 GEFORCE 6800 GT PCI-E 00fa NV39 [GeForce PCX 5750] 00fb NV35 [GeForce PCX 5900] 00fc NV37GL [Quadro FX 330/GeForce PCX 5300] 00fd NV37GL [Quadro PCI-E Series] 00fe NV38GL [Quadro FX 1300] 00ff NV19 [GeForce PCX 4300] 0100 NV10 [GeForce 256 SDR] 1043 0200 AGP-V6600 SGRAM 1043 0201 AGP-V6600 SDRAM 1043 4008 AGP-V6600 SGRAM 1043 4009 AGP-V6600 SDRAM 1048 0c41 Erazor X 1048 0c43 ERAZOR X PCI 1048 0c48 Synergy Force 1102 102d CT6941 GeForce 256 14af 5022 3D Prophet SE 0101 NV10 [GeForce 256 DDR] 1043 0202 AGP-V6800 DDR 1043 400a AGP-V6800 DDR SGRAM 1043 400b AGP-V6800 DDR SDRAM 1048 0c42 Erazor X 107d 2822 WinFast GeForce 256 1102 102e CT6970/CT6971 14af 5021 3D Prophet DDR-DVI 0103 NV10GL [Quadro] 1048 0c40 GLoria II-64 1048 0c44 GLoria II 1048 0c45 GLoria II 1048 0c4a GLoria II-64 Pro 1048 0c4b GLoria II-64 Pro DVII 10a9 9002 VPro VR3 0110 NV11 [GeForce2 MX/MX 400] 1043 4015 AGP-V7100 Pro 1043 4021 V7100 Deluxe Combo 1043 4031 V7100 Pro with TV output 1048 0c60 Gladiac MX 1048 0c61 Gladiac 511PCI 1048 0c63 Gladiac 511TV-OUT 32MB 1048 0c64 Gladiac 511TV-OUT 64MB 1048 0c65 Gladiac 511TWIN 1048 0c66 Gladiac 311 10b0 0001 GeForce2 MX Jumbo TV 10de 0091 Dell OEM GeForce 2 MX 400 10de 00a1 Apple OEM GeForce2 MX 1462 8523 MS-8852 1462 8817 MSI GeForce2 MX400 Pro32S [MS-8817] 14af 7102 3D Prophet II MX 14af 7103 3D Prophet II MX Dual-Display 1545 0023 Xtasy Rev. B2 1554 1081 MVGA-NVG11AM(400) 0111 NV11 [GeForce2 MX200] 0112 NV11M [GeForce2 Go] 0113 NV11GL [Quadro2 MXR/EX/Go] 1028 00e5 Quadro2 Go 0140 NV43 [GeForce 6600 GT] 1458 3125 GV-NX66T128D 1458 3126 GV-NX66T256DE 1462 8939 MS-8983 0141 NV43 [GeForce 6600] 1043 81b0 EN6600 Silencer 107d 593a LR2A22 128MB TV OUT 107d 597b WINFAST PX6600 1458 3124 GV-NX66128DP Turbo Force Edition 0142 NV43 [GeForce 6600 LE] 0143 NV43 [GeForce 6600 VE] 0144 NV43M [GeForce Go 6600] 0145 NV43 [GeForce 6610 XL] 0146 NV43M [GeForce Go6200 TE / 6600 TE] 0147 NV43 [GeForce 6700 XL] 0148 NV43M [GeForce Go 6600] 0149 NV43M [GeForce Go 6600 GT] 014a NV43 [Quadro NVS 440] 014b NV43 014d NV43GL [Quadro FX 550] 014e NV43GL [Quadro FX 540] 014f NV43 [GeForce 6200] 0150 NV15 [GeForce2 GTS/Pro] 1043 4016 V7700 AGP Video Card 1043 402a AGP-V7700 1048 0c50 Gladiac 1048 0c52 Gladiac-64 107d 2840 WinFast GeForce2 GTS with TV output 107d 2842 WinFast GeForce 2 Pro 10de 002e GeForce2 GTS 1462 815a MS-8815 1462 8831 Creative GeForce2 Pro 0151 NV15 [GeForce2 Ti] 1043 405f V7700Ti 1462 5506 Creative 3D Blaster GeForce2 Titanium 1462 8364 MS-8836 0152 NV15 [GeForce2 Ultra] 1048 0c56 GLADIAC Ultra 0153 NV15GL [Quadro2 Pro] 0160 NV44 [GeForce 6500] 0161 NV44 [GeForce 6200 TurboCache] 0162 NV44 [GeForce 6200 SE TurboCache] 0163 NV44 [GeForce 6200 LE] 0164 NV44M [GeForce Go 6200] 0165 NV44 [Quadro NVS 285] 0166 NV44M [GeForce Go 6400] 0167 NV44M [GeForce Go 6200] 0168 NV44M [GeForce Go 6400] 0169 NV44 [GeForce 6250] 016a NV44 [GeForce 7100 GS] 016d NV44 016e NV44 016f NV44 0170 NV17 [GeForce4 MX 460] 1462 8630 MS-8863 0171 NV17 [GeForce4 MX 440] 10b0 0002 Gainward Pro/600 TV 10de 0008 Apple OEM GeForce4 MX 440 1462 8661 G4MX440-VTP 1462 8730 MX440SES-T (MS-8873) 1462 8743 MS-8874 1462 8852 GeForce4 MX440 PCI 147b 8f00 Abit Siluro GeForce4MX440 0172 NV17 [GeForce4 MX 420] 1462 8730 MS-8873 1462 8784 MS-8878 0173 NV17 [GeForce4 MX 440-SE] 0174 NV17M [GeForce4 440 Go] 0175 NV17M [GeForce4 420 Go] 0176 NV17M [GeForce4 420 Go 32M] 103c 08b0 tc1100 tablet 144d c005 X10 Laptop 4c53 1090 Cx9 / Vx9 mainboard 0177 NV17M [GeForce4 460 Go] 0178 NV17GL [Quadro4 550 XGL] 0179 NV17M [GeForce4 440 Go 64M] 10de 0179 GeForce4 MX (Mac) 017a NV17GL [Quadro NVS] 017b NV17GL [Quadro4 550 XGL] 017c NV17GL [Quadro4 500 GoGL] 017f NV17 0181 NV18 [GeForce4 MX 440 AGP 8x] 1043 8063 GeForce4 MX 440 AGP 8X 1043 806f V9180 Magic 1462 8880 MS-StarForce GeForce4 MX 440 with AGP8X 1462 8900 MS-8890 GeForce 4 MX440 AGP8X 1462 9350 MSI GeForce4 MX T8X with AGP8X 147b 8f0d Siluro GF4 MX-8X 1554 1111 PixelView MVGA-NVG18A 0182 NV18 [GeForce4 MX 440SE AGP 8x] 0183 NV18 [GeForce4 MX 420 AGP 8x] 0184 NV18 [GeForce4 MX] 0185 NV18 [GeForce4 MX 4000] 0186 NV18M [GeForce4 448 Go] 0187 NV18M [GeForce4 488 Go] 0188 NV18GL [Quadro4 580 XGL] 0189 NV18 [GeForce4 MX with AGP8X (Mac)] 018a NV18GL [Quadro NVS 280 SD] 018b NV18GL [Quadro4 380 XGL] 018c NV18GL [Quadro NVS 50 PCI] 018d NV18M [GeForce4 448 Go] 0190 G80 [GeForce 8800 GTS / 8800 GTX] 0191 G80 [GeForce 8800 GTX] 0192 G80 [GeForce 8800 GTS] 0193 G80 [GeForce 8800 GTS] 107d 20bd WinFast PX 8800 GTS TDH 0194 G80 [GeForce 8800 Ultra] 0197 G80GL [Tesla C870] 019d G80GL [Quadro FX 5600] 019e G80GL [Quadro FX 4600] 01a0 nForce 220/420 NV1A [GeForce2 MX] 01a4 nForce CPU bridge 01ab nForce 420 Memory Controller (DDR) 01ac nForce 220/420 Memory Controller 01ad nForce 220/420 Memory Controller 01b0 nForce Audio Processing Unit 01b1 nForce AC'97 Audio Controller 01b2 nForce ISA Bridge 01b4 nForce PCI System Management 01b7 nForce AGP to PCI Bridge 01b8 nForce PCI-to-PCI bridge 01bc nForce IDE 01c1 nForce AC'97 Modem Controller 01c2 nForce USB Controller 01c3 nForce Ethernet Controller 01d0 G72 [GeForce 7350 LE] 01d1 G72 [GeForce 7300 LE] 107d 5efa WinFast PX7300LE-TD128 107d 5efb WinFast PX7300LE-TD256 1462 0345 7300LE PCI Express Graphics Adapter 01d2 G72 [GeForce 7550 LE] 01d3 G72 [GeForce 7200 GS / 7300 SE] 1043 8203 EN7300SE 1043 8250 EN7200GS 01d5 G72 01d6 G72M [GeForce Go 7200] 01d7 G72M [Quadro NVS 110M/GeForce Go 7300] 01d8 G72M [GeForce Go 7400] 1028 01d7 XPS M1210 01d9 G72M [GeForce Go 7450] 01da G72M [Quadro NVS 110M] 01db G72M [Quadro NVS 120M] 01dc G72GLM [Quadro FX 350M] 01dd G72 [GeForce 7500 LE] 01de G72GL [Quadro FX 350] 10de 01dc Quadro FX Go350M 01df G72 [GeForce 7300 GS] 01e0 nForce2 IGP2 147b 1c09 NV7 Motherboard 01e8 nForce2 AGP 01ea nForce2 Memory Controller 0 a0a0 03b9 UK79G-1394 motherboard 01eb nForce2 Memory Controller 1 a0a0 03b9 UK79G-1394 motherboard 01ec nForce2 Memory Controller 2 a0a0 03b9 UK79G-1394 motherboard 01ed nForce2 Memory Controller 3 a0a0 03b9 UK79G-1394 motherboard 01ee nForce2 Memory Controller 4 10de 01ee MSI Delta-L nForce2 memory controller a0a0 03b9 UK79G-1394 motherboard 01ef nForce2 Memory Controller 5 a0a0 03b9 UK79G-1394 motherboard 01f0 NV1F C17 [GeForce4 MX IGP] a0a0 03b5 UK79G-1394 motherboard 0200 NV20 [GeForce3] 1043 402f AGP-V8200 DDR 1048 0c70 GLADIAC 920 0201 NV20 [GeForce3 Ti 200] 0202 NV20 [GeForce3 Ti 500] 1043 405b V8200 T5 1545 002f Xtasy 6964 0203 NV20GL [Quadro DCC] 0211 NV48 [GeForce 6800] 0212 NV48 [GeForce 6800 LE] 0215 NV48 [GeForce 6800 GT] 0218 NV48 [GeForce 6800 XT] 0221 NV44A [GeForce 6200] 1043 81e1 N6200/TD/256M/A 3842 a341 256A8N341DX 0222 NV44 [GeForce 6200 A-LE] 0224 NV44 0240 C51PV [GeForce 6150] 1043 81cd A8N-VM CSM 1462 7207 K8NGM2 series 0241 C51 [GeForce 6150 LE] 0242 C51G [GeForce 6100] 105b 0cad Winfast 6100K8MB 0243 C51 PCI Express Bridge 0244 C51 [GeForce Go 6150] 103c 30b5 Presario V3242AU 103c 30b7 Presario V6133CL 10de 0244 GeForce Go 6150 0245 C51 [Quadro NVS 210S/GeForce 6150LE] 0246 C51 PCI Express Bridge 0247 C51 [GeForce Go 6100] 1043 1382 MCP51 PCI-X GeForce Go 6100 0248 C51 PCI Express Bridge 0249 C51 PCI Express Bridge 024a C51 PCI Express Bridge 024b C51 PCI Express Bridge 024c C51 PCI Express Bridge 024d C51 PCI Express Bridge 024e C51 PCI Express Bridge 024f C51 PCI Express Bridge 0250 NV25 [GeForce4 Ti 4600] 0251 NV25 [GeForce4 Ti 4400] 1043 8023 v8440 GeForce 4 Ti4400 10de 0251 PNY GeForce4 Ti 4400 1462 8710 PNY GeForce4 Ti 4400 0252 NV25 [GeForce4 Ti] 0253 NV25 [GeForce4 Ti 4200] 107d 2896 WinFast A250 LE TD (Dual VGA/TV-out/DVI) 147b 8f09 Siluro (Dual VGA/TV-out/DVI) 0258 NV25GL [Quadro4 900 XGL] 0259 NV25GL [Quadro4 750 XGL] 025b NV25GL [Quadro4 700 XGL] 0260 MCP51 LPC Bridge 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81bc A8N-VM CSM Mainboard 1458 5001 GA-M55plus-S3G 1462 7207 K8NGM2 series 0261 MCP51 LPC Bridge 105b 0cad Winfast 6100K8MB 0262 MCP51 LPC Bridge 0263 MCP51 LPC Bridge 0264 MCP51 SMBus 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81bc A8N-VM CSM Mainboard 105b 0cad Winfast 6100K8MB 1462 7207 K8NGM2 series 0265 MCP51 IDE 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81bc A8N-VM CSM Mainboard 1462 7207 K8NGM2 series # Foxconn has used a wrong vendor ID for this one f05b 0cad Winfast 6100K8MB 0266 MCP51 Serial ATA Controller 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81bc A8N-VM CSM Mainboard 1462 7207 K8NGM2 series 0267 MCP51 Serial ATA Controller 103c 2a34 Pavilion a1677c 1043 81bc A8N-VM CSM Mainboard 1462 7207 K8NGM2 series 0268 MCP51 Ethernet Controller 0269 MCP51 Ethernet Controller 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 8141 A8N-VM CSM Mainboard 1462 7207 K8NGM2 series 026a MCP51 MCI 026b MCP51 AC97 Audio Controller 105b 0cad Winfast 6100K8MB 026c MCP51 High Definition Audio 103c 2a34 Pavilion a1677c 103c 30b5 Presario V3242AU 103c 30b7 Presario V6133CL 10de cb84 ASUSTeK Computer Inc. A8N-VM CSM Mainboard 1462 7207 K8NGM2 series 026d MCP51 USB Controller 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81bc A8N-VM CSM Mainboard 105b 0cad Winfast 6100K8MB 1462 7207 K8NGM2 series 026e MCP51 USB Controller 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81bc A8N-VM CSM Mainboard 105b 0cad Winfast 6100K8MB 1462 7207 K8NGM2 series 026f MCP51 PCI Bridge 103c 30b7 Presario V6133CL 0270 MCP51 Host Bridge 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81bc A8N-VM CSM Mainboard 105b 0cad Winfast 6100K8MB 1458 5001 GA-M55plus-S3G 1462 7207 K8NGM2 series 0271 MCP51 PMU 103c 30b5 Presario V3242AU 103c 30b7 Presario V6133CL 0272 MCP51 Memory Controller 0 103c 2a34 Pavilion a1677c 105b 0cad Winfast 6100K8MB 027e C51 Memory Controller 2 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81cd A8N-VM CSM Mainboard 1458 5000 GA-M55plus-S3G 1462 7207 K8NGM2 series 027f C51 Memory Controller 3 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81cd A8N-VM CSM Mainboard 1458 5000 GA-M55plus-S3G 1462 7207 K8NGM2 series 0280 NV28 [GeForce4 Ti 4800] 0281 NV28 [GeForce4 Ti 4200 AGP 8x] 0282 NV28 [GeForce4 Ti 4800 SE] 0286 NV28M [GeForce4 Ti 4200 Go AGP 8x] 0288 NV28GL [Quadro4 980 XGL] 0289 NV28GL [Quadro4 780 XGL] 028c NV28GLM [Quadro4 Go700] 0290 G71 [GeForce 7900 GTX] 0291 G71 [GeForce 7900 GT/GTO] 10de 042b NX7900GTO-T2D512E [7900 GTO] 0292 G71 [GeForce 7900 GS] 0293 G71 [GeForce 7900 GX2] 0294 G71 [GeForce 7950 GX2] 0295 G71 [GeForce 7950 GT] 1043 8225 GeForce 7950 GT 107d 2a68 WinFast PX7950GT TDH 1462 0663 NX7950GT-VT2D512EZ-HD 0297 G71M [GeForce Go 7950 GTX] 0298 G71M [GeForce Go 7900 GS] 0299 G71M [GeForce Go 7900 GTX] 029a G71GLM [Quadro FX 2500M] 029b G71GLM [Quadro FX 1500M] 029c G71GL [Quadro FX 5500] 029d G71GL [Quadro FX 3500] 1028 019b G71GLM [Quadro FX 3500M] 029e G71GL [Quadro FX 1500] 029f G71GL [Quadro FX 4500 X2] # Xbox Graphics Processing Unit (Integrated). GeForce3 derivative (NV20 < NV2A < NV25). 02a0 NV2A [XGPU] 02a5 MCPX CPU Bridge 02a6 MCPX Memory Controller 02e0 G73 [GeForce 7600 GT AGP] 02e0 2249 GF 7600GT 560M 256MB DDR3 DUAL DVI TV 02e1 G73 [GeForce 7600 GS AGP] 1682 222b PV-T73K-UAL3 (256MB) 1682 2247 GF 7600GS 512MB DDR2 02e2 G73 [GeForce 7300 GT AGP] 02e3 G71 [GeForce 7900 GS AGP] 02e4 G71 [GeForce 7950 GT AGP] 1682 2271 PV-T71A-YDF7 (512MB) 02e5 G71 [GeForce 7600 GS AGP] 02f0 C51 Host Bridge 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81cd A8N-VM CSM Mainboard 1462 7207 K8NGM2 series 02f1 C51 Host Bridge 1458 5000 GA-M55plus-S3G 02f2 C51 Host Bridge 02f3 C51 Host Bridge 02f4 C51 Host Bridge 02f5 C51 Host Bridge 02f6 C51 Host Bridge 02f7 C51 Host Bridge 02f8 C51 Memory Controller 5 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81cd A8N-VM CSM Mainboard 1458 5000 GA-M55plus-S3G 1462 7207 K8NGM2 series 02f9 C51 Memory Controller 4 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81cd A8N-VM CSM Mainboard 1458 5000 GA-M55plus-S3G 1462 7207 K8NGM2 series 02fa C51 Memory Controller 0 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81cd A8N-VM CSM Mainboard 1458 5000 GA-M55plus-S3G 1462 7207 K8NGM2 series 02fb C51 PCI Express Bridge 02fc C51 PCI Express Bridge 103c 30b7 Presario V6133CL 02fd C51 PCI Express Bridge 103c 30b7 Presario V6133CL 02fe C51 Memory Controller 1 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81cd A8N-VM CSM Mainboard 1458 5000 GA-M55plus-S3G 1462 7207 K8NGM2 series 02ff C51 Host Bridge 103c 2a34 Pavilion a1677c 103c 30b7 Presario V6133CL 1043 81cd A8N-VM CSM Mainboard 1458 5000 GA-M55plus-S3G 1462 7207 K8NGM2 series 0300 NV30 [GeForce FX] 0301 NV30 [GeForce FX 5800 Ultra] 0302 NV30 [GeForce FX 5800] 0308 NV30GL [Quadro FX 2000] 0309 NV30GL [Quadro FX 1000] 0311 NV31 [GeForce FX 5600 Ultra] 0312 NV31 [GeForce FX 5600] 0314 NV31 [GeForce FX 5600XT] 1043 814a V9560XT/TD 0316 NV31M 0318 NV31GL 031a NV31M [GeForce FX Go5600] 031b NV31M [GeForce FX Go5650] 031c NV31GLM [Quadro FX Go700] 0320 NV34 [GeForce FX 5200] 0321 NV34 [GeForce FX 5200 Ultra] 0322 NV34 [GeForce FX 5200] 1043 02fb V9250 Magic 1043 8180 V9520-X/TD/128M 107d 2967 WinFast A340T 128MB 1462 9110 MS-8911 (FX5200-TD128) 1462 9171 MS-8917 (FX5200-T128) 1462 9360 MS-8936 (FX5200-T128) 1682 1351 GeForce FX 5200 0323 NV34 [GeForce FX 5200LE] 0324 NV34M [GeForce FX Go5200 64M] 1028 0196 Inspiron 5160 103c 006a Pavilion ZD7000 laptop 1071 8160 MIM2000 0325 NV34M [GeForce FX Go5250] 0326 NV34 [GeForce FX 5500] 1458 310d GeForce FX 5500 128 MB 1682 2034 GeForce 5500 256 MB 0327 NV34 [GeForce FX 5100] 0328 NV34M [GeForce FX Go5200 32M/64M] 0329 NV34M [GeForce FX Go5200] 10de 0010 Powerbook G4 032a NV34GL [Quadro NVS 280 PCI] 032b NV34GL [Quadro FX 500/600 PCI] 032c NV34M [GeForce FX Go5300 / Go5350] 032d NV34M [GeForce FX Go5100] 032e NV34 032f NV34 [GeForce FX 5200] 0330 NV35 [GeForce FX 5900 Ultra] 1043 8137 V9950 Ultra / 256 MB 0331 NV35 [GeForce FX 5900] 1043 8145 V9950GE 0332 NV35 [GeForce FX 5900XT] 0333 NV38 [GeForce FX 5950 Ultra] 0334 NV35 [GeForce FX 5900ZT] 1462 9373 FX5900ZT-VTD128 (MS-8937) 0338 NV35GL [Quadro FX 3000] 033f NV35GL [Quadro FX 700] 0341 NV36 [GeForce FX 5700 Ultra] 1462 9380 MS-8938 (FX5700U-TD128) 0342 NV36 [GeForce FX 5700] 0343 NV36 [GeForce FX 5700LE] 0344 NV36 [GeForce FX 5700VE] 0347 NV36M [GeForce FX Go5700] 103c 006a NX9500 0348 NV36M [GeForce FX Go5700] 034c NV36 [Quadro FX Go1000] 034d NV36 034e NV36GL [Quadro FX 1100] 0360 MCP55 LPC Bridge 0361 MCP55 LPC Bridge 1028 0221 PowerEdge R805 MCP55 LPC Bridge 0362 MCP55 LPC Bridge 147b 1c24 KN9 series mainboard 0363 MCP55 LPC Bridge 0364 MCP55 LPC Bridge 1028 0221 PowerEdge R805 MCP55 LPC Bridge 0365 MCP55 LPC Bridge 0366 MCP55 LPC Bridge 0367 MCP55 LPC Bridge 0368 MCP55 SMBus Controller 1028 020c PowerEdge M605 MCP55 SMBus 1028 0221 PowerEdge R805 MCP55 SMBus 147b 1c24 KN9 series mainboard 0369 MCP55 Memory Controller 147b 1c24 KN9 series mainboard 036a MCP55 Memory Controller 036b MCP55 SMU 036c MCP55 USB Controller 1028 020c PowerEdge M605 MCP55 USB Controller 1028 0221 PowerEdge R805 MCP55 USB Controller 147b 1c24 KN9 series mainboard 036d MCP55 USB Controller 1028 020c PowerEdge M605 MCP55 USB Controller 1028 0221 PowerEdge R805 MCP55 USB Controller 147b 1c24 KN9 series mainboard 036e MCP55 IDE 147b 1c24 KN9 series mainboard 0370 MCP55 PCI bridge 0371 MCP55 High Definition Audio 147b 1c24 KN9 series mainboard 0372 MCP55 Ethernet 0373 MCP55 Ethernet 147b 1c24 KN9 series mainboard 0374 MCP55 PCI Express bridge 0375 MCP55 PCI Express bridge 0376 MCP55 PCI Express bridge 0377 MCP55 PCI Express bridge 0378 MCP55 PCI Express bridge 037a MCP55 Memory Controller 037e MCP55 SATA Controller 037f MCP55 SATA Controller 1028 0221 PowerEdge R805 MCP55 SATA Controller 147b 1c24 KN9 series mainboard 038b G73 [GeForce 7650 GS] 0390 G73 [GeForce 7650 GS] 0391 G73 [GeForce 7600 GT] 1458 3427 GV-NX76T128D-RH 1462 0452 NX7600GT-VT2D256E 0392 G73 [GeForce 7600 GS] 1462 0622 NX7600GS-T2D256EH 0393 G73 [GeForce 7300 GT] 10de 0412 NX7300GT-TD256EH 1462 0412 NX7300GT-TD256EH 0394 G73 [GeForce 7600 LE] 0395 G73 [GeForce 7300 GT] 0396 G73 0397 G73M [GeForce Go 7700] 0398 G73M [GeForce Go 7600] 1025 006c Aspire 9814WKMi 0399 G73M [GeForce Go 7600 GT] 039a G73M [Quadro NVS 300M] 039b G73M [GeForce Go 7900 SE] 039c G73GLM [Quadro FX 550M] 10de 039c Quadro FX 560M 039d G73 039e G73GL [Quadro FX 560] 039f G73 03a0 C55 Host Bridge 03a1 C55 Host Bridge 03a2 C55 Host Bridge 03a3 C55 Host Bridge 03a4 C55 Host Bridge 03a5 C55 Host Bridge 03a6 C55 Host Bridge 03a7 C55 Host Bridge 03a8 C55 Memory Controller 03a9 C55 Memory Controller 03aa C55 Memory Controller 03ab C55 Memory Controller 03ac C55 Memory Controller 03ad C55 Memory Controller 03ae C55 Memory Controller 03af C55 Memory Controller 03b0 C55 Memory Controller 03b1 C55 Memory Controller 03b2 C55 Memory Controller 03b3 C55 Memory Controller 03b4 C55 Memory Controller 03b5 C55 Memory Controller 03b6 C55 Memory Controller 03b7 C55 PCI Express bridge 03b8 C55 PCI Express bridge 03b9 C55 PCI Express bridge 03ba C55 Memory Controller 03bb C55 PCI Express bridge 03bc C55 Memory Controller 03d0 C61 [GeForce 6150SE nForce 430] 1028 020e Inspiron 531 03d1 C61 [GeForce 6100 nForce 405] 03d2 C61 [GeForce 6100 nForce 400] 03d5 C61 [GeForce 6100 nForce 420] 03d6 C61 [GeForce 7025 / nForce 630a] 03e0 MCP61 LPC Bridge 1028 020e Inspiron 531 1849 03e0 939NF6G-VSTA Board 03e1 MCP61 LPC Bridge 1043 83a4 M4N68T series motherboard 03e2 MCP61 Host Bridge 1043 83a4 M4N68T series motherboard 03e3 MCP61 LPC Bridge 03e4 MCP61 High Definition Audio 03e5 MCP61 Ethernet 03e6 MCP61 Ethernet 03e7 MCP61 SATA Controller 03e8 MCP61 PCI Express bridge 1028 020e Inspiron 531 1849 03e8 939NF6G-VSTA Board 03e9 MCP61 PCI Express bridge 1028 020e Inspiron 531 1849 03e9 939NF6G-VSTA Board 03ea MCP61 Memory Controller 1028 020e Inspiron 531 1849 03ea 939NF6G-VSTA Board 03eb MCP61 SMBus 1028 020e Inspiron 531 1043 83a4 M4N68T series motherboard 1849 03eb 939NF6G-VSTA Board 03ec MCP61 IDE 1025 0392 ET1350 1028 020e Inspiron 531 1043 83a4 M4N68T series motherboard 1849 03ec 939NF6G-VSTA Board 03ee MCP61 Ethernet 03ef MCP61 Ethernet 1025 8000 ET1350 1028 020e Inspiron 531 1043 83a4 M4N68T series motherboard 1849 03ef 939NF6G-VSTA Board 03f0 MCP61 High Definition Audio 1028 020e Inspiron 531 1043 8415 M4N68T series motherboard 1849 0888 939NF6G-VSTA Board 03f1 MCP61 USB 1.1 Controller 1028 020e Inspiron 531 1043 83a4 M4N68T series motherboard 1849 03f1 939NF6G-VSTA Board 03f2 MCP61 USB 2.0 Controller 1028 020e Inspiron 531 1043 83a4 M4N68T series motherboard 1849 03f2 939NF6G-VSTA Board 03f3 MCP61 PCI bridge 1028 020e Inspiron 531 1849 03f3 939NF6G-VSTA Board 03f4 MCP61 SMU 03f5 MCP61 Memory Controller 1028 020e Inspiron 531 1043 83a4 M4N68T series motherboard 1849 03eb 939NF6G-VSTA Board 03f6 MCP61 SATA Controller 1028 020e Inspiron 531 1043 83a4 M4N68T series motherboard 1849 03f6 939NF6G-VSTA Board 03f7 MCP61 SATA Controller 0400 G84 [GeForce 8600 GTS] 1043 8241 EN8600GTS 0401 G84 [GeForce 8600 GT] 0402 G84 [GeForce 8600 GT] 1458 3455 GV-NX86T512H 1462 0910 NX8600GT-T2D256EZ 0403 G84 [GeForce 8600 GS] 0404 G84 [GeForce 8400 GS] 1462 1230 NX8400GS-TD256E 0405 G84M [GeForce 9500M GS] 0406 G84 [GeForce 8300 GS] 0407 G84M [GeForce 8600M GT] 0408 G84M [GeForce 9650M GS] 0409 G84M [GeForce 8700M GT] 040a G84GL [Quadro FX 370] 040b G84GLM [Quadro NVS 320M] 040c G84GLM [Quadro FX 570M] 17aa 20d9 ThinkPad T61p 040d G84GLM [Quadro FX 1600M] 040e G84GL [Quadro FX 570] 040f G84GL [Quadro FX 1700] 0410 G92 [GeForce GT 330] 0414 G92 [GeForce 9800 GT] 0418 G92 [GeForce GT 330 OEM] 0420 G86 [GeForce 8400 SE] 0421 G86 [GeForce 8500 GT] 1462 0960 NX8500GT-TD512EH/M2 0422 G86 [GeForce 8400 GS] 0423 G86 [GeForce 8300 GS] 0424 G86 [GeForce 8400 GS] 0425 G86M [GeForce 8600M GS] 1025 0121 Aspire 5920G 1043 1514 F3SV 0426 G86M [GeForce 8400M GT] 0427 G86M [GeForce 8400M GS] 103c 30cc Pavilion dv6700 103c 30cf Pavilion dv9668eg Laptop 0428 G86M [GeForce 8400M G] 0429 G86M [Quadro NVS 140M] 17aa 20d8 ThinkPad T61 042a G86M [Quadro NVS 130M] 042b G86M [Quadro NVS 135M] 042c G86 [GeForce 9400 GT] 042d G86GLM [Quadro FX 360M] 042e G86M [GeForce 9300M G] 042f G86 [Quadro NVS 290] 0440 MCP65 LPC Bridge 0441 MCP65 LPC Bridge 0442 MCP65 LPC Bridge 103c 30cf Pavilion dv9668eg Laptop 0443 MCP65 LPC Bridge 0444 MCP65 Memory Controller 103c 30cf Pavilion dv9668eg Laptop 0445 MCP65 Memory Controller 0446 MCP65 SMBus 103c 30cf Pavilion dv9668eg Laptop 0447 MCP65 SMU 103c 30cf Pavilion dv9500/9600/9700 series 0448 MCP65 IDE 103c 30cf Pavilion dv9668eg Laptop 0449 MCP65 PCI bridge 10de cb84 HP Pavilion dv9668eg Laptop 044a MCP65 High Definition Audio 103c 30cf Pavilion dv9668eg Laptop 044b MCP65 High Definition Audio 044c MCP65 AHCI Controller 044d MCP65 AHCI Controller 044e MCP65 AHCI Controller 044f MCP65 AHCI Controller 0450 MCP65 Ethernet 103c 30cf Pavilion dv9668eg Laptop 0451 MCP65 Ethernet 0452 MCP65 Ethernet 0453 MCP65 Ethernet 0454 MCP65 USB 1.1 OHCI Controller 103c 30cf Pavilion dv9668eg Laptop 0455 MCP65 USB 2.0 EHCI Controller 103c 30cf Pavilion dv9668eg Laptop 0456 MCP65 USB Controller 0457 MCP65 USB Controller 0458 MCP65 PCI Express bridge 10de 0000 MCP65 PCI Express bridge 0459 MCP65 PCI Express bridge 10de 0000 MCP65 PCI Express bridge 045a MCP65 PCI Express bridge 10de 0000 MCP65 PCI Express bridge 045b MCP65 PCI Express bridge 10de 0000 MCP65 PCI Express bridge 045c MCP65 SATA Controller 045d MCP65 SATA Controller 103c 30cf Pavilion dv9668eg Laptop 045e MCP65 SATA Controller 045f MCP65 SATA Controller 0531 C67 [GeForce 7150M / nForce 630M] 0533 C67 [GeForce 7000M / nForce 610M] 053a C68 [GeForce 7050 PV / nForce 630a] 053b C68 [GeForce 7050 PV / nForce 630a] 1043 8308 M2N68-AM Motherboard 053e C68 [GeForce 7025 / nForce 630a] 0541 MCP67 Memory Controller 0542 MCP67 SMBus 1043 8308 M2N68-AM Motherboard 0543 MCP67 Co-processor 0547 MCP67 Memory Controller 1043 8308 M2N68-AM Motherboard 1849 0547 ALiveNF7G-HDready 0548 MCP67 ISA Bridge 1043 8308 M2N68-AM Motherboard 054c MCP67 Ethernet 1043 8308 M2N68-AM Motherboard 1849 054c ALiveNF7G-HDready, MCP67 Gigabit Ethernet 054d MCP67 Ethernet 054e MCP67 Ethernet 054f MCP67 Ethernet 0550 MCP67 AHCI Controller 1043 8308 M2N68-AM Motherboard 0554 MCP67 AHCI Controller 1043 8308 M2N68-AM Motherboard 0555 MCP67 SATA Controller 1043 8308 M2N68-AM Motherboard 055c MCP67 High Definition Audio 1043 8290 M2N68-AM Motherboard 055d MCP67 High Definition Audio 055e MCP67 OHCI USB 1.1 Controller 1043 8308 M2N68-AM Motherboard 055f MCP67 EHCI USB 2.0 Controller 1043 8308 M2N68-AM Motherboard 0560 MCP67 IDE Controller f043 8308 M2N68-AM Motherboard 0561 MCP67 PCI Bridge 0562 MCP67 PCI Express Bridge 1849 0562 ALiveNF7G-HDready 0563 MCP67 PCI Express Bridge 0568 MCP78S [GeForce 8200] Memory Controller 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 0568 K10N78FullHD-hSLI R3.0 Memory Controller 0569 MCP78S [GeForce 8200] PCI Express Bridge 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 0569 K10N78FullHD-hSLI R3.0 PCI Express Bridge 056a MCP73 [nForce 630i] USB 2.0 Controller (EHCI) 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 056c MCP73 IDE Controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 056d MCP73 PCI Express bridge 1019 297a MCP73PVT-SM 10de cb73 MCP73 PCI Bridge 056e MCP73 PCI Express bridge 1019 297a MCP73PVT-SM 10de 0000 MCP73 PCIe x16 port 056f MCP73 PCI Express bridge 1019 297a MCP73PVT-SM 10de 0000 MCP73 PCIe x1 port 05b1 NF200 PCIe 2.0 switch 05b8 NF200 PCIe 2.0 switch for GTX 295 05be NF200 PCIe 2.0 switch for Quadro Plex S4 / Tesla S870 / Tesla S1070 / Tesla S2050 05e0 GT200b [GeForce GTX 295] 05e1 GT200 [GeForce GTX 280] 05e2 GT200 [GeForce GTX 260] 05e3 GT200b [GeForce GTX 285] 1682 2490 GX-285N-ZDF 05e6 GT200b [GeForce GTX 275] 05e7 GT200GL [Tesla C1060 / M1060] 10de 0595 Tesla T10 Processor 10de 068f Tesla T10 Processor 10de 0697 Tesla M1060 10de 0714 Tesla M1060 10de 0743 Tesla M1060 05ea GT200 [GeForce GTX 260] 05eb GT200 [GeForce GTX 295] 05ed GT200GL [Quadro Plex 2200 D2] 05f1 GT200 [GeForce GTX 280] 05f2 GT200 [GeForce GTX 260] 05f8 GT200GL [Quadro Plex 2200 S4] 05f9 GT200GL [Quadro CX] 05fd GT200GL [Quadro FX 5800] 05fe GT200GL [Quadro FX 4800] 05ff GT200GL [Quadro FX 3800] 0600 G92 [GeForce 8800 GTS 512] 0601 G92 [GeForce 9800 GT] 0602 G92 [GeForce 8800 GT] 0603 G92 [GeForce GT 230 OEM] 0604 G92 [GeForce 9800 GX2] 0605 G92 [GeForce 9800 GT] 0606 G92 [GeForce 8800 GS] 0607 G92 [GeForce GTS 240] 0608 G92M [GeForce 9800M GTX] 0609 G92M [GeForce 8800M GTS] 106b 00a7 GeForce 8800 GS 060a G92M [GeForce GTX 280M] 060b G92M [GeForce 9800M GT] 060c G92M [GeForce 8800M GTX] 060d G92 [GeForce 8800 GS] 060f G92M [GeForce GTX 285M] 0610 G92 [GeForce 9600 GSO] 1682 2385 GeForce 9600 GSO 768mb 0611 G92 [GeForce 8800 GT] 107d 2ab0 Winfast PX8800 GT PCI-E 1462 1170 NX8800GT series model V117 2xDVI+TV 19da 1040 ZT-88TES2P-FSP 0612 G92 [GeForce 9800 GTX / 9800 GTX+] 0613 G92 [GeForce 9800 GTX+] 0614 G92 [GeForce 9800 GT] 107d 2ab3 WinFast PX9800 GT (S-Fanpipe) 0615 G92 [GeForce GTS 250] 3842 1150 GeForce GTS 250 P/N 512-P3-1150-TR # Overclocked 3842 1151 GeForce GTS 250 P/N 512-P3-1151-TR 3842 1155 GeForce GTS 250 P/N 01G-P3-1155-TR # Overclocked 3842 1156 GeForce GTS 250 P/N 01G-P3-1156-TR 0617 G92M [GeForce 9800M GTX] 0618 G92M [GeForce GTX 260M] 0619 G92GL [Quadro FX 4700 X2] 061a G92GL [Quadro FX 3700] 061b G92GL [Quadro VX 200] 061c G92GLM [Quadro FX 3600M] 061d G92GLM [Quadro FX 2800M] 061e G92GLM [Quadro FX 3700M] 061f G92GLM [Quadro FX 3800M] 0620 G94 [GeForce 9800 GT] 0621 G94 [GeForce GT 230] 0622 G94 [GeForce 9600 GT] 107d 2ac1 WinFast PX9600GT 1024MB 1458 3481 GV-NX96T512HP 0623 G94 [GeForce 9600 GS] 0624 G94 [GeForce 9600 GT Green Edition] 0625 G94 [GeForce 9600 GSO 512] 0626 G94 [GeForce GT 130] 0627 G94 [GeForce GT 140] 0628 G94M [GeForce 9800M GTS] 062a G94M [GeForce 9700M GTS] 062b G94M [GeForce 9800M GS] 062c G94M [GeForce 9800M GTS] 062d G94 [GeForce 9600 GT] 062e G94 [GeForce 9600 GT] 106b 0605 GeForce GT 130 062f G94 [GeForce 9800 S] 0630 G94 [GeForce 9600 GT] 0631 G94M [GeForce GTS 160M] 0632 G94M [GeForce GTS 150M] 0633 G94 [GeForce GT 220] 0635 G94 [GeForce 9600 GSO] 0637 G94 [GeForce 9600 GT] 0638 G94GL [Quadro FX 1800] 063a G94GLM [Quadro FX 2700M] 063f G94 [GeForce 9600 GE] 0640 G96C [GeForce 9500 GT] 0641 G96C [GeForce 9400 GT] 1682 4009 PV-T94G-ZAFG 0642 G96 [D9M-10] 0643 G96 [GeForce 9500 GT] 0644 G96 [GeForce 9500 GS] 174b 9600 Geforce 9500GS 512M DDR2 V/D/HDMI 0645 G96C [GeForce 9500 GS] 0646 G96C [GeForce GT 120] 0647 G96CM [GeForce 9600M GT] 0648 G96CM [GeForce 9600M GS] 0649 G96CM [GeForce 9600M GT] 1043 202d GeForce GT 220M 064a G96M [GeForce 9700M GT] 064b G96M [GeForce 9500M G] 064c G96CM [GeForce 9650M GT] 064e G96C [GeForce 9600 GSO / 9800 GT] 0651 G96CM [GeForce G 110M] 0652 G96CM [GeForce GT 130M] 152d 0850 GeForce GT 240M LE 0653 G96CM [GeForce GT 120M] 0654 G96CM [GeForce GT 220M] 1043 14a2 GeForce GT 320M 1043 14d2 GeForce GT 320M 0655 G96 [GeForce GT 120 Mac Edition] 0656 G96 [GeForce GT 120 Mac Edition] 0658 G96GL [Quadro FX 380] 0659 G96CGL [Quadro FX 580] 065a G96GLM [Quadro FX 1700M] 065b G96C [GeForce 9400 GT] 065c G96GLM [Quadro FX 770M] 065d G96 [GeForce 9500 GA / 9600 GT / GTS 250] 065f G96C [GeForce G210] 06c0 GF100 [GeForce GTX 480] 06c4 GF100 [GeForce GTX 465] 06ca GF100M [GeForce GTX 480M] 06cb GF100 [GeForce GTX 480] 06cd GF100 [GeForce GTX 470] 06d0 GF100GL 06d1 GF100GL [Tesla C2050 / C2070] 10de 0771 Tesla C2050 10de 0772 Tesla C2070 06d2 GF100GL [Tesla M2070] 10de 0774 Tesla M2070 10de 0830 Tesla M2070 10de 0842 Tesla M2070 10de 088f Tesla X2070 10de 0908 Tesla M2070 06d8 GF100GL [Quadro 6000] 06d9 GF100GL [Quadro 5000] 06da GF100GLM [Quadro 5000M] 06dc GF100GL [Quadro 6000] 06dd GF100GL [Quadro 4000] 06de GF100GL [Tesla T20 Processor] 10de 0773 Tesla S2050 10de 082f Tesla M2050 10de 0840 Tesla X2070 10de 0842 Tesla M2050 10de 0846 Tesla M2050 10de 0866 Tesla M2050 10de 0907 Tesla M2050 10de 091e Tesla M2050 06df GF100GL [Tesla M2070-Q] 10de 084d Tesla M2070-Q 10de 087f Tesla M2070-Q 06e0 G98 [GeForce 9300 GE] 107d 5a96 Geforce 9300GE 06e1 G98 [GeForce 9300 GS] 06e2 G98 [GeForce 8400] 06e3 G98 [GeForce 8300 GS] 06e4 G98 [GeForce 8400 GS Rev. 2] 1458 3475 GV-NX84S256HE [GeForce 8400 GS] 06e5 G98M [GeForce 9300M GS] 06e6 G98 [GeForce G 100] 06e7 G98 [GeForce 9300 SE] 06e8 G98M [GeForce 9200M GS] 103c 360b GeForce 9200M GE 06e9 G98M [GeForce 9300M GS] 1043 19b2 U6V laptop 06ea G98M [Quadro NVS 150M] 06eb G98M [Quadro NVS 160M] 06ec G98M [GeForce G 105M] 06ed G98 [GeForce 9600 GT / 9800 GT] 06ee G98 [GeForce 9600 GT / 9800 GT / GT 240] 06ef G98M [GeForce G 103M] 06f1 G98M [GeForce G 105M] 06f8 G98 [Quadro NVS 420] 06f9 G98GL [Quadro FX 370 LP] 06fa G98 [Quadro NVS 450] 06fb G98GLM [Quadro FX 370M] 06fd G98 [Quadro NVS 295] 06ff G98 [HICx16 + Graphics] 10de 0711 HICx8 + Graphics 0751 MCP78S [GeForce 8200] Memory Controller 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 0751 K10N78FullHD-hSLI R3.0 Memory Controller 0752 MCP78S [GeForce 8200] SMBus 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 0752 K10N78FullHD-hSLI R3.0 SMBus 0753 MCP78S [GeForce 8200] Co-Processor 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 0753 K10N78FullHD-hSLI R3.0 Co-Processor 0754 MCP78S [GeForce 8200] Memory Controller 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 0754 K10N78FullHD-hSLI R3.0 Memory Controller 0759 MCP78S [GeForce 8200] IDE 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 0759 K10N78FullHD-hSLI R3.0 IDE 075a MCP78S [GeForce 8200] PCI Bridge 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1849 075a K10N78FullHD-hSLI R3.0 PCI Bridge 075b MCP78S [GeForce 8200] PCI Express Bridge 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 075b K10N78FullHD-hSLI R3.0 PCI Express Bridge 075c MCP78S [GeForce 8200] LPC Bridge 103c 2a9e Pavilion p6310f 1462 7508 K9N2GM-FIH 1849 075c K10N78FullHD-hSLI R3.0 LPC Bridge 075d MCP78S [GeForce 8200] LPC Bridge 1043 82e8 M3N72-D 0760 MCP77 Ethernet 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 0760 K10N78FullHD-hSLI R3.0 Ethernet 0761 MCP77 Ethernet 0762 MCP77 Ethernet 0763 MCP77 Ethernet 0774 MCP72XE/MCP72P/MCP78U/MCP78S High Definition Audio 103c 2a9e Pavilion p6310f # has a Realtek ALC1200 HDAudio Codec 1043 82fe M3N72-D 1462 7508 K9N2GM-FIH 1849 3662 K10N78FullHD-hSLI R3.0 High Definition Audio 0778 MCP78S [GeForce 8200] PCI Express Bridge 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 0778 K10N78FullHD-hSLI R3.0 PCI Express Bridge 077a MCP78S [GeForce 8200] PCI Bridge 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 077a K10N78FullHD-hSLI R3.0 PCI Bridge 077b MCP78S [GeForce 8200] OHCI USB 1.1 Controller 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 077b K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller 077c MCP78S [GeForce 8200] EHCI USB 2.0 Controller 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 077c K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller 077d MCP78S [GeForce 8200] OHCI USB 1.1 Controller 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 077d K10N78FullHD-hSLI R3.0 OHCI USB 1.1 Controller 077e MCP78S [GeForce 8200] EHCI USB 2.0 Controller 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1462 7508 K9N2GM-FIH 1849 077e K10N78FullHD-hSLI R3.0 EHCI USB 2.0 Controller 07c0 MCP73 Host Bridge 1afa 7150 JW-IN7150-HD 07c1 MCP73 Host Bridge 1019 297a MCP73PVT-SM 07c2 MCP73 Host Bridge 07c3 MCP73 Host Bridge 147b 1c3e I-N73V motherboard 07c5 MCP73 Host Bridge 07c8 MCP73 Memory Controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07cb nForce 610i/630i memory controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07cd nForce 610i/630i memory controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07ce nForce 610i/630i memory controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07cf nForce 610i/630i memory controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07d0 nForce 610i/630i memory controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07d1 nForce 610i/630i memory controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07d2 nForce 610i/630i memory controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07d3 nForce 610i/630i memory controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07d6 nForce 610i/630i memory controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07d7 MCP73 LPC Bridge 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07d8 MCP73 SMBus 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07d9 MCP73 Memory Controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 07da MCP73 Co-processor 1afa 7150 JW-IN7150-HD 07dc MCP73 Ethernet 147b 1c3e I-N73V motherboard 07dd MCP73 Ethernet 07de MCP73 Ethernet 07df MCP73 Ethernet 07e0 C73 [GeForce 7150 / nForce 630i] 1afa 7150 JW-IN7150-HD 07e1 C73 [GeForce 7100 / nForce 630i] 1019 297a MCP73PVT-SM 07e2 C73 [GeForce 7050 / nForce 630i] 07e3 C73 [GeForce 7050 / nForce 610i] 147b 1c3e I-N73V motherboard 07e5 C73 [GeForce 7100 / nForce 620i] 07f0 MCP73 SATA Controller (IDE mode) 147b 1c3e I-N73V motherboard 07f4 GeForce 7100/nForce 630i SATA 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 07f8 MCP73 SATA RAID Controller 147b 1c3e I-N73V motherboard 07fc MCP73 High Definition Audio 1019 297a MCP73PVT-SM 10de 07fc MCP73 High Definition Audio 147b 1c3e I-N73V motherboard 07fe MCP73 OHCI USB 1.1 Controller 1019 297a MCP73PVT-SM 147b 1c3e I-N73V motherboard 1afa 7150 JW-IN7150-HD 0840 C77 [GeForce 8200M] 0844 C77 [GeForce 9100M G] 0845 C77 [GeForce 8200M G] 0846 C77 [GeForce 9200] 0847 C78 [GeForce 9100] 103c 2a9e Pavilion p6310f 0848 C77 [GeForce 8300] 0849 C77 [GeForce 8200] 1462 7508 K9N2GM-FIH 1849 0849 K10N78FullHD-hSLI R3.0 GeForce 8200 084a C77 [nForce 730a] 084b C77 [GeForce 8200] 084c C77 [nForce 780a/980a SLI] 084d C77 [nForce 750a SLI] 1043 82e8 M3N72-D mGPU 084f C77 [GeForce 8100 / nForce 720a] 0860 C79 [GeForce 9300] 0861 C79 [GeForce 9400] 0862 C79 [GeForce 9400M G] 0863 C79 [GeForce 9400M] 106b 00aa MacBook5,1 0864 C79 [GeForce 9300] 0865 C79 [GeForce 9300 / ION] 0866 C79 [GeForce 9400M G] 106b 00b1 GeForce 9400M 0867 C79 [GeForce 9400] 106b 00ad iMac 9,1 0868 C79 [nForce 760i SLI] 0869 MCP7A [GeForce 9400] 086a C79 [GeForce 9400] 086c C79 [GeForce 9300 / nForce 730i] 086d C79 [GeForce 9200] 086e C79 [GeForce 9100M G] 086f MCP79 [GeForce 8200M G] 0870 C79 [GeForce 9400M] 0871 C79 [GeForce 9200] 0872 C79 [GeForce G102M] 1043 19b4 GeForce G102M 1043 1aa2 GeForce G102M 1043 1c02 GeForce G102M 1043 1c42 GeForce G205M 0873 C79 [GeForce G102M] 1043 19b4 GeForce G102M 1043 1c12 GeForce G102M 1043 1c52 GeForce G205M 0874 C79 [ION] 0876 C79 [GeForce 9400M / ION] 087a C79 [GeForce 9400] 087d C79 [ION] 19da a123 IONITX-F-E 087e C79 [ION LE] 087f C79 [ION LE] 08a0 MCP89 [GeForce 320M] 08a2 MCP89 [GeForce 320M] 08a3 MCP89 [GeForce 320M] 08a4 MCP89 [GeForce 320M] 08a5 MCP89 [GeForce 320M] 0a20 GT216 [GeForce GT 220] 1043 8311 ENGT220/DI/1GD3(LP)/V2 0a21 GT216M [GeForce GT 330M] 0a22 GT216 [GeForce 315] 0a23 GT216 [GeForce 210] 0a26 GT216 [GeForce 405] 0a27 GT216 [GeForce 405] 0a28 GT216M [GeForce GT 230M] 0a29 GT216M [GeForce GT 330M] 0a2a GT216M [GeForce GT 230M] 0a2b GT216M [GeForce GT 330M] 0a2c GT216M [NVS 5100M] 0a2d GT216M [GeForce GT 320M] 0a30 GT216 [GeForce 505] 0a32 GT216 [GeForce GT 415] 0a34 GT216M [GeForce GT 240M] 0a35 GT216M [GeForce GT 325M] 0a38 GT216GL [Quadro 400] 0a3c GT216GLM [Quadro FX 880M] 0a60 GT218 [GeForce G210] 0a62 GT218 [GeForce 205] 0a63 GT218 [GeForce 310] 0a64 GT218 [ION] 0a65 GT218 [GeForce 210] 1043 8334 EN210 SILENT 1458 36a9 GV-N210D3-1GI (rev. 6.0/6.1) 1462 8094 N210 [Geforce 210] PCIe graphics adapter 0a66 GT218 [GeForce 310] 0a67 GT218 [GeForce 315] 0a68 GT218M [GeForce G 105M] 0a69 GT218M [GeForce G 105M] 0a6a GT218M [NVS 2100M] 0a6c GT218M [NVS 3100M] 1028 040b Latitude E6510 17aa 2142 ThinkPad T410 0a6e GT218M [GeForce 305M] 0a6f GT218M [ION] 0a70 GT218M [GeForce 310M] 0a71 GT218M [GeForce 305M] 0a72 GT218M [GeForce 310M] 0a73 GT218M [GeForce 305M] 0a74 GT218M [GeForce G210M] 1b0a 903a GeForce G210 0a75 GT218M [GeForce 310M] 0a76 GT218M [ION 2] 0a78 GT218GL [Quadro FX 380 LP] 0a7a GT218M [GeForce 315M] 104d 907e GeForce 315M 1179 fc50 GeForce 315M 1179 fc61 GeForce 315M 1179 fc71 GeForce 315M 1179 fc90 GeForce 315M 1179 fcc0 GeForce 315M 1179 fcd0 GeForce 315M 1179 fce2 GeForce 315M 1179 fcf2 GeForce 315M 1179 fd16 GeForce 315M 1179 fd40 GeForce 315M 1179 fd50 GeForce 315M 1179 fd52 GeForce 315M 1179 fd61 GeForce 315M 1179 fd71 GeForce 315M 1179 fd92 GeForce 315M 1179 fd96 GeForce 315M 1179 fdd0 GeForce 315M 1179 fdd2 GeForce 315M 1179 fdfe GeForce 315M 144d c0a2 GeForce 315M 144d c0b2 GeForce 315M 144d c581 GeForce 315M 144d c587 GeForce 315M 144d c588 GeForce 315M 144d c597 GeForce 315M 144d c606 GeForce 315M 1462 aa51 GeForce 405 1462 aa58 GeForce 405 1462 ac71 GeForce 405 1462 ac81 GeForce 315M 1462 ac82 GeForce 405 1462 ae33 GeForce 405 1642 3980 GeForce 405 17aa 3950 GeForce 405M 17aa 397d GeForce 405M 1b0a 2091 GeForce 315M 1b0a 90b4 GeForce 405 1bfd 0003 GeForce 405 1bfd 8006 GeForce 405 1bfd 8007 GeForce 315M 0a7b GT218 [GeForce 505] 0a7c GT218GLM [Quadro FX 380M] 0a80 MCP79 Host Bridge 0a81 MCP79 Host Bridge 0a82 MCP79 Host Bridge 0a83 MCP79 Host Bridge 0a84 MCP79 Host Bridge 0a85 MCP79 Host Bridge 0a86 MCP79 Host Bridge 0a87 MCP79 Host Bridge 0a88 MCP79 Memory Controller 0a89 MCP79 Memory Controller 0a98 MCP79 Memory Controller 10de cb79 iMac 9,1 0aa0 MCP79 PCI Express Bridge 10de cb79 Apple iMac 9,1 0aa2 MCP79 SMBus 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aa3 MCP79 Co-processor 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aa4 MCP79 Memory Controller 19da a123 IONITX-F-E 0aa5 MCP79 OHCI USB 1.1 Controller 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aa6 MCP79 EHCI USB 2.0 Controller 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aa7 MCP79 OHCI USB 1.1 Controller 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aa8 MCP79 OHCI USB 1.1 Controller 0aa9 MCP79 EHCI USB 2.0 Controller 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0aaa MCP79 EHCI USB 2.0 Controller 0aab MCP79 PCI Bridge 10de cb79 Apple iMac 9,1 0aac MCP79 LPC Bridge 0aad MCP79 LPC Bridge 19da a123 IONITX-F-E 0aae MCP79 LPC Bridge 10de cb79 Apple iMac 9,1 0aaf MCP79 LPC Bridge 0ab0 MCP79 Ethernet 10de cb79 Apple iMac 9,1 19da a123 IONITX-F-E 0ab1 MCP79 Ethernet 0ab2 MCP79 Ethernet 0ab3 MCP79 Ethernet 0ab4 MCP79 SATA Controller 19da a123 IONITX-F-E 0ab5 MCP79 SATA Controller 0ab6 MCP79 SATA Controller 0ab7 MCP79 SATA Controller 0ab8 MCP79 AHCI Controller 0ab9 MCP79 AHCI Controller 10de cb79 Apple iMac 9,1 0aba MCP79 AHCI Controller 0abb MCP79 AHCI Controller 0abc MCP79 RAID Controller 0abd MCP79 RAID Controller 0abe MCP79 RAID Controller 0abf MCP79 RAID Controller 0ac0 MCP79 High Definition Audio 10de cb79 Apple iMac 9,1 0ac1 MCP79 High Definition Audio 0ac2 MCP79 High Definition Audio 0ac3 MCP79 High Definition Audio 0ac4 MCP79 PCI Express Bridge 10de cb79 Apple iMac 9,1 0ac5 MCP79 PCI Express Bridge 0ac6 MCP79 PCI Express Bridge 10de cb79 Apple iMac 9,1 0ac7 MCP79 PCI Express Bridge 10de cb79 Apple iMac 9,1 0ac8 MCP79 PCI Express Bridge 0ad0 MCP78S [GeForce 8200] SATA Controller (non-AHCI mode) 1462 7508 K9N2GM-FIH 1849 0ad0 K10N78FullHD-hSLI R3.0 IDE 0ad4 MCP78S [GeForce 8200] AHCI Controller 103c 2a9e Pavilion p6310f 1043 82e8 M3N72-D 1849 0ad4 K10N78FullHD-hSLI R3.0 AHCI Controller 0ad8 MCP78S [GeForce 8200] SATA Controller (RAID mode) 0be2 GT216 HDMI Audio Controller 1043 8311 ENGT220/DI/1GD3(LP)/V2 0be3 High Definition Audio Controller 1028 040b Latitude E6510 10de 066d G98 [GeForce 8400GS] 1462 8094 N210 [Geforce 210] PCIe graphics adapter 0be4 High Definition Audio Controller 0be5 GF100 High Definition Audio Controller 0be9 GF106 High Definition Audio Controller 1558 8687 CLEVO/KAPOK W860CU 3842 1452 GeForce GTS 450 0bea GF108 High Definition Audio Controller 3842 1430 GeForce GT 430 0beb GF104 High Definition Audio Controller 1462 2322 N460GTX Cyclone 1GD5/OC 0bee GF116 High Definition Audio Controller 0bf0 Tegra2 PCIe x4 Bridge 0bf1 Tegra2 PCIe x2 Bridge 0ca0 GT215 [GeForce GT 330] 0ca2 GT215 [GeForce GT 320] 0ca3 GT215 [GeForce GT 240] 0ca4 GT215 [GeForce GT 340] 0ca5 GT215 [GeForce GT 220] 0ca7 GT215 [GeForce GT 330] 0ca8 GT215M [GeForce GTS 260M] 0ca9 GT215M [GeForce GTS 250M] 0cac GT215 [GeForce GT 220/315] 0caf GT215M [GeForce GT 335M] 0cb0 GT215M [GeForce GTS 350M] 0cb1 GT215M [GeForce GTS 360M] 0cbc GT215GLM [Quadro FX 1800M] 0d60 MCP89 HOST Bridge 0d68 MCP89 Memory Controller 0d69 MCP89 Memory Controller 0d76 MCP89 PCI Express Bridge 0d79 MCP89 SMBus 0d7a MCP89 Co-Processor 0d7b MCP89 Memory Controller 0d7d MCP89 Ethernet 0d80 MCP89 LPC Bridge 0d85 MCP89 SATA Controller 0d88 MCP89 SATA Controller (AHCI mode) 0d89 MCP89 SATA Controller (AHCI mode) 0d8d MCP89 SATA Controller (RAID mode) 0d94 MCP89 High Definition Audio 0d9c MCP89 OHCI USB 1.1 Controller 0d9d MCP89 EHCI USB 2.0 Controller 0dc0 GF106 [GeForce GT 440] 0dc4 GF106 [GeForce GTS 450] 0dc5 GF106 [GeForce GTS 450 OEM] 0dc6 GF106 [GeForce GTS 450 OEM] 0dcd GF106M [GeForce GT 555M] 0dce GF106M [GeForce GT 555M] 0dd1 GF106M [GeForce GTX 460M] 1558 8687 CLEVO/KAPOK W860CU 0dd2 GF106M [GeForce GT 445M] 0dd3 GF106M [GeForce GT 435M] 0dd6 GF106M [GeForce GT 550M] 0dd8 GF106GL [Quadro 2000] 10de 0914 Quadro 2000D 0dda GF106GLM [Quadro 2000M] 0de0 GF108 [GeForce GT 440] 0de1 GF108 [GeForce GT 430] 3842 1430 GeForce GT 430 0de2 GF108 [GeForce GT 420] 0de3 GF108M [GeForce GT 635M] 0de4 GF108 [GeForce GT 520] 0de5 GF108 [GeForce GT 530] 0de7 GF108 [GeForce GT 610] 0de8 GF108M [GeForce GT 620M] 0de9 GF108M [GeForce GT 620M/630M/635M/640M LE] 1025 0692 GeForce GT 620M 1025 0725 GeForce GT 620M 1025 0728 GeForce GT 620M 1025 072b GeForce GT 620M 1025 072e GeForce GT 620M 1025 0753 GeForce GT 620M 1025 0754 GeForce GT 620M 17aa 3977 GeForce GT 640M LE 1b0a 2210 GeForce GT 635M 0dea GF108M [GeForce 610M] 17aa 365a GeForce 615 17aa 365b GeForce 615 17aa 365e GeForce 615 17aa 3660 GeForce 615 17aa 366c GeForce 615 0deb GF108M [GeForce GT 555M] 0dec GF108M [GeForce GT 525M] 0ded GF108M [GeForce GT 520M] 0dee GF108M [GeForce GT 415M] 0def GF108M [NVS 5400M] 0df0 GF108M [GeForce GT 425M] 0df1 GF108M [GeForce GT 420M] 0df2 GF108M [GeForce GT 435M] 0df3 GF108M [GeForce GT 420M] 0df4 GF108M [GeForce GT 540M] 152d 0952 GeForce GT 630M 152d 0953 GeForce GT 630M 0df5 GF108M [GeForce GT 525M] 0df6 GF108M [GeForce GT 550M] 0df7 GF108M [GeForce GT 520M] 0df8 GF108GL [Quadro 600] 0df9 GF108GLM [Quadro 500M] 0dfa GF108GLM [Quadro 1000M] 0dfc GF108GLM [NVS 5200M] 0e08 GF119 HDMI Audio Controller 1043 83a0 ENGT520 SILENT # 1024MB with passive cooling (heatsink) 10b0 104a Gainward GeForce GT 610 0e09 GF110 High Definition Audio Controller 0e0a GK104 HDMI Audio Controller 0e0b GK106 HDMI Audio Controller 0e0c GF114 HDMI Audio Controller 0e0f GK208 HDMI/DP Audio Controller 0e12 TegraK1 PCIe x4 Bridge 0e13 TegraK1 PCIe x1 Bridge 0e1a GK110 High Definition Audio Controller 0e1b GK107 HDMI Audio Controller 103c 197b ZBook 15 1043 8428 GTX650-DC-1GD5 0e1c Tegra3+ PCIe x4 Bridge 0e1d Tegra3+ PCIe x2 Bridge 0e22 GF104 [GeForce GTX 460] 1462 2322 N460GTX Cyclone 1GD5/OC 0e23 GF104 [GeForce GTX 460 SE] 0e24 GF104 [GeForce GTX 460 OEM] 0e30 GF104M [GeForce GTX 470M] 0e31 GF104M [GeForce GTX 485M] 0e3a GF104GLM [Quadro 3000M] 0e3b GF104GLM [Quadro 4000M] 0f00 GF108 [GeForce GT 630] 0f01 GF108 [GeForce GT 620] 0f02 GF108 [GeForce GT 730] 0f03 GF108 [GeForce GT 610] 0f06 GF108 [GeForce GT 730] 0fb0 GM200 High Definition Audio 0fb8 GP108 High Definition Audio Controller 0fb9 GP107GL High Definition Audio Controller 0fba GM206 High Definition Audio Controller 0fbb GM204 High Definition Audio Controller 0fbc GM107 High Definition Audio Controller [GeForce 940MX] 0fc0 GK107 [GeForce GT 640 OEM] 0fc1 GK107 [GeForce GT 640] 0fc2 GK107 [GeForce GT 630 OEM] 0fc5 GK107 [GeForce GT 1030] 0fc6 GK107 [GeForce GTX 650] 1043 8428 GTX650-DC-1GD5 0fc8 GK107 [GeForce GT 740] 0fc9 GK107 [GeForce GT 730] 0fcd GK107M [GeForce GT 755M] 0fce GK107M [GeForce GT 640M LE] 0fd1 GK107M [GeForce GT 650M] 1043 1597 GeForce GT 650M 1043 15a7 GeForce GT 650M 1043 2103 N56VZ 1043 2105 GeForce GT 650M 1043 2141 GeForce GT 650M 0fd2 GK107M [GeForce GT 640M] 1028 054f GeForce GT 640M 1028 055f GeForce GT 640M 1028 0595 GeForce GT 640M LE 1028 05b2 GeForce GT 640M LE 0fd3 GK107M [GeForce GT 640M LE] 0fd4 GK107M [GeForce GTX 660M] 0fd5 GK107M [GeForce GT 650M Mac Edition] 0fd6 GK107M 0fd8 GK107M [GeForce GT 640M Mac Edition] 0fd9 GK107M [GeForce GT 645M] 0fdb GK107M 0fdf GK107M [GeForce GT 740M] 0fe0 GK107M [GeForce GTX 660M Mac Edition] 0fe1 GK107M [GeForce GT 730M] 0fe2 GK107M [GeForce GT 745M] 0fe3 GK107M [GeForce GT 745M] 103c 2b16 GeForce GT 745A 17aa 3675 GeForce GT 745A 0fe4 GK107M [GeForce GT 750M] 0fe5 GK107 [GeForce K340 USM] 0fe6 GK107 [GRID K1 NVS USM] # GRID K1 USM 0fe7 GK107GL [GRID K100 vGPU] 10de 101e GRID K100 0fe8 GK107M 0fe9 GK107M [GeForce GT 750M Mac Edition] 0fea GK107M [GeForce GT 755M Mac Edition] 0fec GK107M [GeForce 710A] 0fed GK107M [GeForce 820M] 0fee GK107M [GeForce 810M] 0fef GK107GL [GRID K340] 0ff1 GK107 [NVS 1000] 0ff2 GK107GL [GRID K1] 0ff3 GK107GL [Quadro K420] 0ff5 GK107GL [GRID K1 Tesla USM] 0ff6 GK107GLM [Quadro K1100M] 103c 197b ZBook 15 # GRID K1 Quadro USM 0ff7 GK107GL [GRID K140Q vGPU] 10de 1037 GRID K140Q 0ff8 GK107GLM [Quadro K500M] 0ff9 GK107GL [Quadro K2000D] 0ffa GK107GL [Quadro K600] 0ffb GK107GLM [Quadro K2000M] 0ffc GK107GLM [Quadro K1000M] 0ffd GK107 [NVS 510] 0ffe GK107GL [Quadro K2000] 0fff GK107GL [Quadro 410] 1001 GK110B [GeForce GTX TITAN Z] 1003 GK110 [GeForce GTX Titan LE] 1004 GK110 [GeForce GTX 780] 3842 0784 GK110B [GeForce GTX 780 SC w/ ACX Cooler] 3842 1784 GK110B [GeForce GTX 780 Dual FTW w/ ACX Cooler] 3842 1788 GK110B [GeForce GTX 780 Dual Classified w/ ACX Cooler] 1005 GK110 [GeForce GTX TITAN] 1043 8451 GTXTITAN-6GD5 # Reference Model 10de 1035 GeForce GTX Titan # 06G-P4-2790-KR 3842 2790 GeForce GTX Titan # 06G-P4-2791-KR 3842 2791 GeForce GTX Titan SC # 06G-P4-2793-KR 3842 2793 GeForce GTX Titan SC Signature # 06G-P4-2794-KR 3842 2794 GeForce GTX Titan SC Hydro Copper # 06G-P4-2795-KR 3842 2795 GeForce GTX Titan SC Hydro Copper Signature 1007 GK110 [GeForce GTX 780 Rev. 2] 1008 GK110 [GeForce GTX 780 Ti 6GB] 100a GK110B [GeForce GTX 780 Ti] 100c GK110B [GeForce GTX TITAN Black] 101e GK110GL [Tesla K20X] 101f GK110GL [Tesla K20] 1020 GK110GL [Tesla K20X] 1021 GK110GL [Tesla K20Xm] 1022 GK110GL [Tesla K20c] 1023 GK110BGL [Tesla K40m] 10de 097e 12GB Computational Accelerator 1024 GK180GL [Tesla K40c] 1026 GK110GL [Tesla K20s] 1027 GK110BGL [Tesla K40st] 1028 GK110GL [Tesla K20m] 1029 GK110BGL [Tesla K40s] 102a GK110BGL [Tesla K40t] 102d GK210GL [Tesla K80] 102e GK110BGL [Tesla K40d] 102f GK110BGL [Tesla Stella Solo] 103a GK110GL [Quadro K6000] 103c GK110GL [Quadro K5200] 103f GK110BGL [Tesla Stella SXM] 1040 GF119 [GeForce GT 520] 1043 83a0 ENGT520 SILENT 1042 GF119 [GeForce 510] 1045 GF119 1048 GF119 [GeForce 605] 1049 GF119 [GeForce GT 620 OEM] 104a GF119 [GeForce GT 610] # 1024MB with passive cooling (heatsink) 10b0 104a Gainward GeForce GT 610 104b GF119 [GeForce GT 625 OEM] 104c GF119 [GeForce GT 705] 104d GF119 [GeForce GT 710] 1050 GF119M [GeForce GT 520M] 1051 GF119M [GeForce GT 520MX] 1052 GF119M [GeForce GT 520M] 1054 GF119M [GeForce 410M] 1055 GF119M [GeForce 410M] 1056 GF119M [NVS 4200M] 1057 GF119M [Quadro NVS 4200M] 1058 GF119M [GeForce 610M] 103c 2aed GeForce 610 103c 2af1 GeForce 610 1043 10ac GeForce GT 610M 1043 10bc GeForce GT 610M 1043 1652 GeForce GT 610M 17aa 367a GeForce 610M 17aa 3682 GeForce 800A 17aa 3687 GeForce 800A 17aa 3692 GeForce 705A 17aa 3695 GeForce 800A 17aa a117 GeForce 610M 1059 GF119M [GeForce 610M] 105a GF119M [GeForce 610M] 1043 2111 GeForce GT 610M 1043 2112 GeForce GT 610M 105b GF119M [GeForce 705M] 103c 2afb GeForce 705A 17aa 309d GeForce 705A 17aa 30b1 GeForce 800A 17aa 30f3 GeForce 705A 17aa 36a1 GeForce 800A 107c GF119 [NVS 315] 107d GF119 [NVS 310] 1080 GF110 [GeForce GTX 580] 1081 GF110 [GeForce GTX 570] 10de 087e Leadtek WinFast GTX 570 1082 GF110 [GeForce GTX 560 Ti OEM] 1084 GF110 [GeForce GTX 560 OEM] 1086 GF110 [GeForce GTX 570 Rev. 2] 1087 GF110 [GeForce GTX 560 Ti 448 Cores] 1088 GF110 [GeForce GTX 590] 1089 GF110 [GeForce GTX 580 Rev. 2] 108b GF110 [GeForce GTX 580] 108e GF110GL [Tesla C2090] 1091 GF110GL [Tesla M2090] 10de 088e Tesla X2090 10de 0891 Tesla X2090 10de 0974 Tesla X2090 10de 098d Tesla X2090 1094 GF110GL [Tesla M2075] 10de 0888 Tesla M2075 1096 GF110GL [Tesla C2050 / C2075] 10de 0910 Tesla C2075 10de 0911 Tesla C2050 109a GF100GLM [Quadro 5010M] 109b GF100GL [Quadro 7000] 10de 0918 Quadro 7000 10c0 GT218 [GeForce 9300 GS Rev. 2] 10c3 GT218 [GeForce 8400 GS Rev. 3] 10c5 GT218 [GeForce 405] 10d8 GT218 [NVS 300] 10ef GP102 HDMI Audio Controller 10f0 GP104 High Definition Audio Controller 10f1 GP106 High Definition Audio Controller 10f7 TU102 High Definition Audio Controller 10f8 TU104 HD Audio Controller 10f9 TU106 High Definition Audio Controller 1043 8673 TURBO-RTX2070-8G 1140 GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] 1019 0799 GeForce 820M 1019 999f GeForce GT 720M 1025 0600 GeForce GT 620M 1025 0606 GeForce GT 620M 1025 064a GeForce GT 620M 1025 064c GeForce GT 620M 1025 067a GeForce GT 620M 1025 0680 GeForce GT 620M 1025 0686 GeForce 710M 1025 0689 GeForce 710M 1025 068b GeForce 710M 1025 068d GeForce 710M 1025 068e GeForce 710M 1025 0691 GeForce 710M 1025 0692 GeForce GT 620M 1025 0694 GeForce GT 620M 1025 0702 GeForce GT 620M 1025 0719 GeForce GT 620M 1025 0725 GeForce GT 620M 1025 0728 GeForce GT 620M 1025 072b GeForce GT 620M 1025 072e GeForce GT 620M 1025 0732 GeForce GT 620M 1025 0763 GeForce GT 720M 1025 0773 GeForce 710M 1025 0774 GeForce 710M 1025 0776 GeForce GT 720M 1025 077a GeForce 710M 1025 077b GeForce 710M 1025 077c GeForce 710M 1025 077d GeForce 710M 1025 077e GeForce 710M 1025 077f GeForce 710M 1025 0781 GeForce GT 720M 1025 0798 GeForce GT 720M 1025 0799 GeForce GT 720M 1025 079b GeForce GT 720M 1025 079c GeForce GT 720M 1025 0807 GeForce GT 720M 1025 0821 GeForce GT 720M 1025 0823 GeForce GT 720M 1025 0830 GeForce GT 720M 1025 0833 GeForce GT 720M 1025 0837 GeForce GT 720M 1025 083e GeForce 820M 1025 0841 GeForce 710M 1025 0854 GeForce 820M 1025 0855 GeForce 820M 1025 0856 GeForce 820M 1025 0857 GeForce 820M 1025 0858 GeForce 820M 1025 0863 GeForce 820M 1025 0868 GeForce 820M 1025 0869 GeForce 810M 1025 0873 GeForce 820M 1025 0878 GeForce 820M 1025 087b GeForce 820M 1025 087c GeForce 810M 1025 0881 GeForce 820M 1025 088a GeForce 820M 1025 089b GeForce 820M 1025 090f GeForce 820M 1025 0921 GeForce 820M 1025 092e GeForce 810M 1025 092f GeForce 820M 1025 0932 GeForce 820M 1025 093a GeForce 820M 1025 093c GeForce 820M 1025 093f GeForce 820M 1025 0941 GeForce 820M 1025 0945 GeForce 820M 1025 0954 GeForce 820M 1025 0965 GeForce 820M 1028 054d GeForce GT 630M 1028 054e GeForce GT 630M 1028 0554 GeForce GT 620M 1028 0557 GeForce GT 620M 1028 0562 GeForce GT 625M 1028 0565 GeForce GT 630M 1028 0568 GeForce GT 630M 1028 0590 GeForce GT 630M 1028 0592 GeForce GT 625M 1028 0594 GeForce GT 625M 1028 0595 GeForce GT 625M 1028 05a2 GeForce GT 625M 1028 05b1 GeForce GT 625M 1028 05b3 GeForce GT 625M 1028 05da GeForce GT 630M 1028 05de GeForce GT 720M 1028 05e0 GeForce GT 720M 1028 05e8 GeForce GT 630M 1028 05f4 GeForce GT 720M 1028 060f GeForce GT 720M 1028 064e GeForce 820M 1028 0652 GeForce 820M 1028 0653 GeForce 820M 1028 0655 GeForce 820M 1028 065e GeForce 820M 1028 0662 GeForce 820M 1028 068d GeForce 820M 1028 06ad GeForce 820M 1028 06ae GeForce 820M 1028 06af GeForce 820M 1028 06b0 GeForce 820M 1028 06c0 GeForce 820M 1028 06c1 GeForce 820M 103c 18ef GeForce GT 630M 103c 18f9 GeForce GT 630M 103c 18fb GeForce GT 630M 103c 18fd GeForce GT 630M 103c 18ff GeForce GT 630M 103c 218a GeForce 820M 103c 21bb GeForce 820M 103c 21bc GeForce 820M 103c 220e GeForce 820M 103c 2210 GeForce 820M 103c 2212 GeForce 820M 103c 2214 GeForce 820M 103c 2218 GeForce 820M 103c 225b GeForce 820M 103c 225d GeForce 820M 103c 226d GeForce 820M 103c 226f GeForce 820M 103c 22d2 GeForce 820M 103c 22d9 GeForce 820M 103c 2335 GeForce 820M 103c 2337 GeForce 820M 103c 2aef GeForce GT 720A 103c 2af9 GeForce 710A 1043 10dd NVS 5200M 1043 10ed NVS 5200M 1043 11fd GeForce GT 720M 1043 124d GeForce GT 720M 1043 126d GeForce GT 720M 1043 131d GeForce GT 720M 1043 13fd GeForce GT 720M 1043 14c7 GeForce GT 720M 1043 1507 GeForce GT 620M 1043 15ad GeForce 820M 1043 15ed GeForce 820M 1043 160d GeForce 820M 1043 163d GeForce 820M 1043 166d GeForce 820M 1043 16cd GeForce 820M 1043 16dd GeForce 820M 1043 170d GeForce 820M 1043 176d GeForce 820M 1043 178d GeForce 820M 1043 179d GeForce 820M 1043 17dd GeForce 820M 1043 2132 GeForce GT 620M 1043 2136 NVS 5200M 1043 21ba GeForce GT 720M 1043 21fa GeForce GT 720M 1043 220a GeForce GT 720M 1043 221a GeForce GT 720M 1043 223a GeForce GT 710M 1043 224a GeForce GT 710M 1043 227a GeForce 820M 1043 228a GeForce 820M 1043 232a GeForce 820M 1043 233a GeForce 820M 1043 235a GeForce 820M 1043 236a GeForce 820M 1043 238a GeForce 820M 1043 8595 GeForce GT 720M 1043 85ea GeForce GT 720M 1043 85eb GeForce 820M 1043 85ec GeForce 820M 1043 85ee GeForce GT 720M 1043 85f3 GeForce 820M 1043 860e GeForce 820M 1043 861a GeForce 820M 1043 861b GeForce 820M 1043 8628 GeForce 820M 1043 8643 GeForce 820M 1043 864c GeForce 820M 1043 8652 GeForce 820M 1043 8660 GeForce 820M 1043 8661 GeForce 820M 105b 0dac GeForce GT 720M 105b 0dad GeForce GT 720M 105b 0ef3 GeForce GT 720M 1072 152d GeForce GT 720M 10cf 17f5 GeForce GT 720M 1179 fa01 GeForce 710M 1179 fa02 GeForce 710M 1179 fa03 GeForce 710M 1179 fa05 GeForce 710M 1179 fa11 GeForce 710M 1179 fa13 GeForce 710M 1179 fa18 GeForce 710M 1179 fa19 GeForce 710M 1179 fa21 GeForce 710M 1179 fa23 GeForce 710M 1179 fa2a GeForce 710M 1179 fa32 GeForce 710M 1179 fa33 GeForce 710M 1179 fa36 GeForce 710M 1179 fa38 GeForce 710M 1179 fa42 GeForce 710M 1179 fa43 GeForce 710M 1179 fa45 GeForce 710M 1179 fa47 GeForce 710M 1179 fa49 GeForce 710M 1179 fa58 GeForce 710M 1179 fa59 GeForce 710M 1179 fa88 GeForce 710M 1179 fa89 GeForce 710M 144d b092 GeForce GT 620M 144d c0d5 GeForce GT 630M 144d c0d7 GeForce GT 620M 144d c0e2 NVS 5200M 144d c0e3 NVS 5200M 144d c0e4 NVS 5200M 144d c10d GeForce 820M 144d c652 GeForce GT 620M on NP300E5C series laptop 144d c709 GeForce 710M 144d c711 GeForce 710M 144d c736 GeForce 710M 144d c737 GeForce 710M 144d c745 GeForce 820M 144d c750 GeForce 820M 1462 10b8 GeForce GT 710M 1462 10e9 GeForce GT 720M 1462 1116 GeForce 820M 1462 aa33 GeForce 720M 1462 aaa2 GeForce GT 720M 1462 aaa3 GeForce 820M 1462 acb2 GeForce GT 720M 1462 acc1 GeForce GT 720M 1462 ae61 GeForce 720M 1462 ae65 GeForce GT 720M 1462 ae6a GeForce 820M 1462 ae71 GeForce GT 720M 14c0 0083 GeForce 820M 152d 0926 GeForce 620M 152d 0982 GeForce GT 630M 152d 0983 GeForce GT 630M 152d 1005 GeForce GT 820M 152d 1012 GeForce 710M 152d 1019 GeForce 820M 152d 1030 GeForce GT 630M 152d 1055 GeForce 710M 152d 1067 GeForce GT 720M 152d 1072 GeForce GT 720M 152d 1086 GeForce 820M 152d 1092 GeForce 820M 17aa 2200 NVS 5200M 17aa 2213 GeForce GT 720M 17aa 2220 GeForce GT 720M 17aa 309c GeForce GT 720A 17aa 30b4 GeForce 820A 17aa 30b7 GeForce 720A 17aa 30e4 GeForce 820A 17aa 361b GeForce 820A 17aa 361c GeForce 820A 17aa 361d GeForce 820A 17aa 3656 GeForce GT 620M 17aa 365a GeForce 705M 17aa 365e GeForce 800M 17aa 3661 GeForce 820A 17aa 366c GeForce 800M 17aa 3685 GeForce 800M 17aa 3686 GeForce 800M 17aa 3687 GeForce 705A 17aa 3696 GeForce 820A 17aa 369b GeForce 820A 17aa 369c GeForce 820A 17aa 369d GeForce 820A 17aa 369e GeForce 820A 17aa 36a9 GeForce 820A 17aa 36af GeForce 820A 17aa 36b0 GeForce 820A 17aa 36b6 GeForce 820A 17aa 3800 GeForce GT 720M 17aa 3801 GeForce GT 720M 17aa 3802 GeForce GT 720M 17aa 3803 GeForce GT 720M 17aa 3804 GeForce GT 720M 17aa 3806 GeForce GT 720M 17aa 3808 GeForce GT 720M 17aa 380d GeForce 820M 17aa 380e GeForce 820M 17aa 380f GeForce 820M 17aa 3811 GeForce 820M 17aa 3812 GeForce 820M 17aa 3813 GeForce 820M 17aa 3816 GeForce 820M 17aa 3818 GeForce 820M 17aa 381a GeForce 820M 17aa 381c GeForce 820M 17aa 3901 GeForce 610M / GT 620M 17aa 3902 GeForce 710M 17aa 3903 GeForce 610M/710M 17aa 3904 GeForce GT 620M/625M 17aa 3905 GeForce GT 720M 17aa 3907 GeForce 820M 17aa 3910 GeForce 720M 17aa 3912 GeForce 720M 17aa 3913 GeForce 820M 17aa 3915 GeForce 820M 17aa 3977 GeForce GT 720M 17aa 3983 GeForce 610M 17aa 5001 GeForce 610M 17aa 5003 GeForce GT 720M 17aa 5005 GeForce 705M 17aa 500d GeForce GT 620M 17aa 5014 GeForce 710M 17aa 5017 GeForce 710M 17aa 5019 GeForce 710M 17aa 501a GeForce 710M 17aa 501f GeForce GT 720M 17aa 5025 GeForce 710M 17aa 5027 GeForce 710M 17aa 502a GeForce 710M 17aa 502b GeForce GT 720M 17aa 502d GeForce 710M 17aa 502e GeForce GT 720M 17aa 502f GeForce GT 720M 17aa 5030 GeForce 705M 17aa 5031 GeForce 705M 17aa 5032 GeForce 820M 17aa 5033 GeForce 820M 17aa 503e GeForce 710M 17aa 503f GeForce 820M 17aa 5040 GeForce 820M 1854 0177 GeForce 710M 1854 0180 GeForce 710M 1854 0190 GeForce GT 720M 1854 0192 GeForce GT 720M 1854 0224 GeForce 820M 1b0a 01c0 GeForce 820M 1b0a 20dd GeForce GT 620M 1b0a 20df GeForce GT 620M 1b0a 210e GeForce 820M 1b0a 2202 GeForce GT 720M 1b0a 90d7 GeForce 820M 1b0a 90dd GeForce 820M 1b50 5530 GeForce 820M 1b6c 5531 GeForce GT 720M 1bab 0106 GeForce 820M 1d05 1013 GeForce 810M 1180 GK104 [GeForce GTX 680] 1043 83f1 GTX680-DC2-2GD5 3842 3682 GeForce GTX 680 Mac Edition 1182 GK104 [GeForce GTX 760 Ti] 1183 GK104 [GeForce GTX 660 Ti] 1184 GK104 [GeForce GTX 770] 1185 GK104 [GeForce GTX 660 OEM] 10de 106f GK104 [GeForce GTX 760 OEM] 1187 GK104 [GeForce GTX 760] 1188 GK104 [GeForce GTX 690] 1189 GK104 [GeForce GTX 670] 10de 1074 GK104 [GeForce GTX 760 Ti OEM] 118a GK104GL [GRID K520] 118b GK104GL [GRID K2 GeForce USM] 118c GK104 [GRID K2 NVS USM] # GRID K2 USM 118d GK104GL [GRID K200 vGPU] 10de 101d GRID K200 118e GK104 [GeForce GTX 760 OEM] 118f GK104GL [Tesla K10] 1191 GK104 [GeForce GTX 760 Rev. 2] 1193 GK104 [GeForce GTX 760 Ti OEM] 1194 GK104GL [Tesla K8] 1195 GK104 [GeForce GTX 660 Rev. 2] 1198 GK104M [GeForce GTX 880M] 1199 GK104M [GeForce GTX 870M] 119a GK104M [GeForce GTX 860M] 119d GK104M [GeForce GTX 775M Mac Edition] 119e GK104M [GeForce GTX 780M Mac Edition] 119f GK104M [GeForce GTX 780M] 11a0 GK104M [GeForce GTX 680M] 11a1 GK104M [GeForce GTX 670MX] 11a2 GK104M [GeForce GTX 675MX Mac Edition] 11a3 GK104M [GeForce GTX 680MX] 106b 010d iMac 13,2 11a7 GK104M [GeForce GTX 675MX] 11a9 GK104M [GeForce GTX 870M] 11af GK104GLM [GRID IceCube] 11b0 GK104GL [GRID K240Q / K260Q vGPU] 10de 101a GRID K240Q 10de 101b GRID K260Q 11b1 GK104GL [GRID K2 Tesla USM] 11b4 GK104GL [Quadro K4200] 11b6 GK104GLM [Quadro K3100M] 11b7 GK104GLM [Quadro K4100M] 11b8 GK104GLM [Quadro K5100M] 11b9 GK104GLM 11ba GK104GL [Quadro K5000] 11bb GK104GL [Quadro 4100] 11bc GK104GLM [Quadro K5000M] 11bd GK104GLM [Quadro K4000M] 11be GK104GLM [Quadro K3000M] 11bf GK104GL [GRID K2] 11c0 GK106 [GeForce GTX 660] 11c2 GK106 [GeForce GTX 650 Ti Boost] 1043 845b GeForce GTX 650 Ti Boost DirectCU II OC 1462 2874 GeForce GTX 650 Ti Boost TwinFrozr II OC 1569 11c2 GeForce GTX 650 Ti Boost OC 19da 1281 GeForce GTX 650 Ti Boost OC 3842 3657 GeForce GTX 650 Ti Boost 3842 3658 GeForce GTX 650 Ti Boost Superclocked 11c3 GK106 [GeForce GTX 650 Ti OEM] 10de 1030 GeForce GTX 650 Ti OEM 11c4 GK106 [GeForce GTX 645 OEM] 11c5 GK106 [GeForce GT 740] 11c6 GK106 [GeForce GTX 650 Ti] 11c7 GK106 [GeForce GTX 750 Ti] 11c8 GK106 [GeForce GTX 650 OEM] 11cb GK106 [GeForce GT 740] 11e0 GK106M [GeForce GTX 770M] 11e1 GK106M [GeForce GTX 765M] 11e2 GK106M [GeForce GTX 765M] 11e3 GK106M [GeForce GTX 760M] 17aa 3683 GeForce GTX 760A 11e7 GK106M 11fa GK106GL [Quadro K4000] 11fc GK106GLM [Quadro K2100M] 1200 GF114 [GeForce GTX 560 Ti] 1201 GF114 [GeForce GTX 560] 1202 GF114 [GeForce GTX 560 Ti OEM] 1203 GF114 [GeForce GTX 460 SE v2] 1205 GF114 [GeForce GTX 460 v2] 1206 GF114 [GeForce GTX 555] 1207 GF114 [GeForce GT 645 OEM] 1208 GF114 [GeForce GTX 560 SE] 1210 GF114M [GeForce GTX 570M] 1211 GF114M [GeForce GTX 580M] 1212 GF114M [GeForce GTX 675M] 1213 GF114M [GeForce GTX 670M] 1241 GF116 [GeForce GT 545 OEM] 1243 GF116 [GeForce GT 545] 1244 GF116 [GeForce GTX 550 Ti] 1245 GF116 [GeForce GTS 450 Rev. 2] 1246 GF116M [GeForce GT 550M] 1247 GF116M [GeForce GT 555M/635M] 1043 1752 GeForce GT 555M 1043 2050 GeForce GT 555M 1043 2051 GeForce GT 555M 1043 212a GeForce GT 635M 1043 212b GeForce GT 635M 1043 212c GeForce GT 635M 152d 0930 GeForce GT 635M 1248 GF116M [GeForce GT 555M/635M] 152d 0930 GeForce GT 635M 17c0 10e7 GeForce GT 555M 17c0 10e8 GeForce GT 555M 17c0 10ea GeForce GT 555M 1854 0890 GeForce GT 555M 1854 0891 GeForce GT 555M 1854 1795 GeForce GT 555M 1854 1796 GeForce GT 555M 1854 3005 GeForce GT 555M 1249 GF116 [GeForce GTS 450 Rev. 3] 124b GF116 [GeForce GT 640 OEM] 124d GF116M [GeForce GT 555M/635M] 1028 0491 GeForce GT 555M 1028 0570 GeForce GT 555M 1028 0571 GeForce GT 555M 1462 108d GeForce GT 555M 1462 10cc GeForce GT 635M 1251 GF116M [GeForce GT 560M] 1280 GK208 [GeForce GT 635] 1281 GK208 [GeForce GT 710] 1282 GK208 [GeForce GT 640 Rev. 2] 1284 GK208 [GeForce GT 630 Rev. 2] 1286 GK208 [GeForce GT 720] 1287 GK208B [GeForce GT 730] 1288 GK208B [GeForce GT 720] 1289 GK208 [GeForce GT 710] 128a GK208B 128b GK208B [GeForce GT 710] 1043 85f7 GT710-SL-1GD5 1043 8770 GT710-4H-SL-2GD5 128c GK208B 1290 GK208M [GeForce GT 730M] 103c 2afa GeForce GT 730A 103c 2b04 GeForce GT 730A 1043 13ad GeForce GT 730M 1043 13cd GeForce GT 730M 1291 GK208M [GeForce GT 735M] 1292 GK208M [GeForce GT 740M] 17aa 3675 GeForce GT 740A 17aa 367c GeForce GT 740A 17aa 3684 GeForce GT 740A 1293 GK208M [GeForce GT 730M] 1294 GK208M [GeForce GT 740M] 1295 GK208M [GeForce 710M] 103c 2b0d GeForce 710A 103c 2b0f GeForce 710A 103c 2b11 GeForce 710A 103c 2b20 GeForce 810A 103c 2b21 GeForce 810A 103c 2b22 GeForce 810A 17aa 367a GeForce 805A 17aa 367c GeForce 710A 1296 GK208M [GeForce 825M] 1298 GK208M [GeForce GT 720M] 1299 GK208BM [GeForce 920M] 17aa 30bb GeForce 920A 17aa 30df GeForce 920A 17aa 36a7 GeForce 920A 17aa 36af GeForce 920M 129a GK208BM [GeForce 910M] 12a0 GK208 12b9 GK208GLM [Quadro K610M] 12ba GK208GLM [Quadro K510M] 1340 GM108M [GeForce 830M] 103c 2b2b GeForce 830A 1341 GM108M [GeForce 840M] 17aa 3697 GeForce 840A 17aa 3699 GeForce 840A 17aa 369c GeForce 840A 1344 GM108M [GeForce 845M] 1346 GM108M [GeForce 930M] 1347 GM108M [GeForce 940M] 1348 GM108M [GeForce 945M / 945A] 1349 GM108M [GeForce 930M] 134b GM108M [GeForce 940MX] 134d GM108M [GeForce 940MX] 17aa 2248 ThinkPad T570 134e GM108M [GeForce 930MX] 134f GM108M [GeForce 920MX] 137a GM108GLM [Quadro K620M / Quadro M500M] 17aa 505a Quadro M500M 137b GM108GLM [Quadro M520 Mobile] 137d GM108M [GeForce 940A] 1380 GM107 [GeForce GTX 750 Ti] 1381 GM107 [GeForce GTX 750] 1382 GM107 [GeForce GTX 745] 1389 GM107GL [GRID M30] 1390 GM107M [GeForce 845M] 1391 GM107M [GeForce GTX 850M] 17aa 3697 GeForce GTX 850A 17aa a125 GeForce GTX 850A 1392 GM107M [GeForce GTX 860M] 1393 GM107M [GeForce 840M] 1398 GM107M [GeForce 845M] 1399 GM107M [GeForce 945M] 139a GM107M [GeForce GTX 950M] 17aa 362c GeForce GTX 950A 17aa 362f GeForce GTX 950A 17aa 363f GeForce GTX 950A 17aa 3640 GeForce GTX 950A 17aa 3647 GeForce GTX 950A 17aa 36b9 GeForce GTX 950A 139b GM107M [GeForce GTX 960M] 1028 06e4 XPS 15 9550 103c 2b4c GeForce GTX 960A 139c GM107M [GeForce 940M] 139d GM107M [GeForce GTX 750 Ti] 13b0 GM107GLM [Quadro M2000M] 13b1 GM107GLM [Quadro M1000M] 13b2 GM107GLM [Quadro M600M] 13b3 GM107GLM [Quadro K2200M] 13b4 GM107GLM [Quadro M620 Mobile] 13b6 GM107GLM [Quadro M1200 Mobile] 13b9 GM107GL [NVS 810] 13ba GM107GL [Quadro K2200] 13bb GM107GL [Quadro K620] 13bc GM107GL [Quadro K1200] 13bd GM107GL [Tesla M10] 10de 110a GRID M40 10de 1160 Tesla M10 10de 11d2 GRID M10-8Q 13c0 GM204 [GeForce GTX 980] 1043 8504 GTX980-4GD5 13c1 GM204 13c2 GM204 [GeForce GTX 970] 13c3 GM204 13d7 GM204M [GeForce GTX 980M] 13d8 GM204M [GeForce GTX 970M] 13d9 GM204M [GeForce GTX 965M] 13da GM204M [GeForce GTX 980 Mobile] 13e7 GM204GL [GeForce GTX 980 Engineering Sample] 13f0 GM204GL [Quadro M5000] 13f1 GM204GL [Quadro M4000] 13f2 GM204GL [Tesla M60] 10de 114d GRID M60-1Q 10de 114e GRID M60-2Q 10de 1150 GRID M60-8Q 10de 11b0 GRID M60-4A 13f3 GM204GL [Tesla M6] 10de 1184 GRID M6-8Q 13f8 GM204GLM [Quadro M5000M / M5000 SE] 13f9 GM204GLM [Quadro M4000M] 13fa GM204GLM [Quadro M3000M] 10de 11c9 Quadro M3000 SE 13fb GM204GLM [Quadro M5500] 1401 GM206 [GeForce GTX 960] 1402 GM206 [GeForce GTX 950] 1404 GM206 [GeForce GTX 960 FAKE] 1406 GM206 [GeForce GTX 960 OEM] 1407 GM206 [GeForce GTX 750 v2] 1427 GM206M [GeForce GTX 965M] 103c 825b OMEN-17-w001nv 1430 GM206GL [Quadro M2000] 1431 GM206GL [Tesla M4] 1436 GM206GLM [Quadro M2200 Mobile] 15f0 GP100GL [Quadro GP100] 15f1 GP100GL 15f7 GP100GL [Tesla P100 PCIe 12GB] 15f8 GP100GL [Tesla P100 PCIe 16GB] 15f9 GP100GL [Tesla P100 SXM2 16GB] 1617 GM204M [GeForce GTX 980M] 1618 GM204M [GeForce GTX 970M] 1619 GM204M [GeForce GTX 965M] 161a GM204M [GeForce GTX 980 Mobile] 1667 GM204M [GeForce GTX 965M] 1725 GP100 172e GP100 172f GP100 174d GM108M [GeForce MX130] 174e GM108M [GeForce MX110] 1789 GM107GL [GRID M3-3020] 179c GM107 [GeForce 940MX] 1025 1094 Acer Aspire E5-575G 17c2 GM200 [GeForce GTX TITAN X] 17c8 GM200 [GeForce GTX 980 Ti] 17f0 GM200GL [Quadro M6000] 10de 1141 VCA 6000 17f1 GM200GL [Quadro M6000 24GB] 17fd GM200GL [Tesla M40] 1ad6 TU102 USB 3.1 Host Controller 1ad7 TU102 USB Type-C UCSI Controller 1ad8 TU104 USB 3.1 Host Controller 1ad9 TU104 USB Type-C UCSI Controller 1ada TU106 USB 3.1 Host Controller 1043 8673 TURBO-RTX2070-8G 1adb TU106 USB Type-C UCSI Controller 1043 8673 TURBO-RTX2070-8G 1aeb TU116 High Definition Audio Controller 1aec TU116 USB 3.1 Host Controller 1aed TU116 USB Type-C UCSI Controller 1b00 GP102 [TITAN X] 1b01 GP102 [GeForce GTX 1080 Ti 10GB] 1b02 GP102 [TITAN Xp] 1b04 GP102 1b06 GP102 [GeForce GTX 1080 Ti] 1b07 GP102 [P102-100] 1b30 GP102GL [Quadro P6000] 1b38 GP102GL [Tesla P40] 1b70 GP102GL 1b78 GP102GL 1b80 GP104 [GeForce GTX 1080] 1b81 GP104 [GeForce GTX 1070] 1b82 GP104 [GeForce GTX 1070 Ti] 1b83 GP104 [GeForce GTX 1060 6GB] 1b84 GP104 [GeForce GTX 1060 3GB] 1b87 GP104 [P104-100] 1ba0 GP104M [GeForce GTX 1080 Mobile] 1ba1 GP104M [GeForce GTX 1070 Mobile] 1458 1651 GeForce GTX 1070 Max-Q 1462 11e8 GeForce GTX 1070 Max-Q 1462 11e9 GeForce GTX 1070 Max-Q 1558 9501 GeForce GTX 1070 Max-Q 1ba2 GP104M [GeForce GTX 1070 Mobile] 1ba9 GP104M 1baa GP104M 1bad GP104 [GeForce GTX 1070 Engineering Sample] 1bb0 GP104GL [Quadro P5000] 1bb1 GP104GL [Quadro P4000] 1bb3 GP104GL [Tesla P4] 1bb4 GP104GL [Tesla P6] 1bb5 GP104GLM [Quadro P5200 Mobile] 103c 842f P5200 [Zbook 17 G5 mobile workstation] 1bb6 GP104GLM [Quadro P5000 Mobile] 1bb7 GP104GLM [Quadro P4000 Mobile] 1462 11e9 Quadro P4000 Max-Q 1bb8 GP104GLM [Quadro P3000 Mobile] 1bb9 GP104GLM [Quadro P4200 Mobile] 103c 842f P4200 [Zbook 17 G5 mobile workstation] 1bbb GP104GLM [Quadro P3200 Mobile] 103c 842f P3200 [Zbook 17 G5 moble workstation] 1bc7 GP104 [P104-101] 1be0 GP104BM [GeForce GTX 1080 Mobile] 1028 07c0 GeForce GTX 1080 Max-Q 1458 355b GeForce GTX 1080 Max-Q 1be1 GP104BM [GeForce GTX 1070 Mobile] 1c00 GP106 1c01 GP106 1c02 GP106 [GeForce GTX 1060 3GB] 1c03 GP106 [GeForce GTX 1060 6GB] 1c04 GP106 [GeForce GTX 1060 5GB] 1c06 GP106 [GeForce GTX 1060 6GB Rev. 2] 1c07 GP106 [P106-100] 1c09 GP106 [P106-090] 1c20 GP106M [GeForce GTX 1060 Mobile] 17aa 39b9 GeForce GTX 1060 Max-Q 3GB 1c21 GP106M [GeForce GTX 1050 Ti Mobile] 1c22 GP106M [GeForce GTX 1050 Mobile] 1c23 GP106M [GeForce GTX 1060 Mobile Rev. 2] 1414 0020 GTX 1060 Mobile 1c2d GP106M 1c30 GP106GL [Quadro P2000] 1c31 GP106GL [Quadro P2200] 1c35 GP106 1c36 GP106 1c60 GP106BM [GeForce GTX 1060 Mobile 6GB] 103c 8390 GeForce GTX 1060 Max-Q 6GB 1c61 GP106BM [GeForce GTX 1050 Ti Mobile] 1c62 GP106BM [GeForce GTX 1050 Mobile] 1c70 GP106GL 1c81 GP107 [GeForce GTX 1050] 1c82 GP107 [GeForce GTX 1050 Ti] 1043 8613 PH-GTX1050TI-4G 1458 3763 GV-N105TOC-4GD 1c83 GP107 [GeForce GTX 1050 3GB] 1c8c GP107M [GeForce GTX 1050 Ti Mobile] 1c8d GP107M [GeForce GTX 1050 Mobile] 1c8e GP107M 1c8f GP107M [GeForce GTX 1050 Ti Max-Q] 1c90 GP107M [GeForce MX150] 1c91 GP107M [GeForce GTX 1050 3 GB Max-Q] 1c92 GP107M [GeForce GTX 1050 Mobile] 1c94 GP107M [GeForce MX350] 1c96 GP107M [GeForce MX350] 1ca7 GP107GL 1ca8 GP107GL 1caa GP107GL 1cb1 GP107GL [Quadro P1000] 1cb2 GP107GL [Quadro P600] 1cb3 GP107GL [Quadro P400] 1cb6 GP107GL [Quadro P620] 1cba GP107GLM [Quadro P2000 Mobile] 103c 842c P2000 [Zbook 15 G5 mobile workstation] 103c 842f P2000 [Zbook 17 G5 mobile workstation] 1cbb GP107GLM [Quadro P1000 Mobile] 103c 8429 P1000 [Zbook Studio G5 mobile workstation] 103c 842c P1000 [Zbook 15 G5 mobile workstation] 103c 842f P1000 [Zbook 17 G5 mobile workstation] 103c 8451 P1000 [Zbook Studio x360 G5 mobile workstation] 1cbc GP107GLM [Quadro P600 Mobile] 1cbd GP107GLM [Quadro P620] 1ccc GP107BM [GeForce GTX 1050 Ti Mobile] 1ccd GP107BM [GeForce GTX 1050 Mobile] 1cfa GP107GL [Quadro P2000] 1cfb GP107GL [Quadro P1000] 1d01 GP108 [GeForce GT 1030] 1d10 GP108M [GeForce MX150] 17aa 225e ThinkPad T480 1d11 GP108M [GeForce MX230] 1d12 GP108M [GeForce MX150] 1d72 1701 Mi Notebook Pro [GeForce MX150] 1d13 GP108M [GeForce MX250] 1d16 GP108M [GeForce MX330] 1d33 GP108GLM [Quadro P500 Mobile] 1d34 GP108GLM [Quadro P520] 1d52 GP108BM [GeForce MX250] 1d56 GP108BM [GeForce MX330] 1d81 GV100 [TITAN V] 1db1 GV100GL [Tesla V100 SXM2 16GB] 1db2 GV100GL [Tesla V100 DGXS 16GB] 1db3 GV100GL [Tesla V100 FHHL 16GB] 1db4 GV100GL [Tesla V100 PCIe 16GB] 1db5 GV100GL [Tesla V100 SXM2 32GB] 1db6 GV100GL [Tesla V100 PCIe 32GB] 1db7 GV100GL [Tesla V100 DGXS 32GB] 1db8 GV100GL [Tesla V100 SXM3 32GB] 10de 131d Tesla V100-SXM3-32GB-H 1dba GV100GL [Quadro GV100] 10de 12eb TITAN V CEO Edition 1df0 GV100GL [Tesla PG500-216] 1df2 GV100GL [Tesla PG503-216] 1df5 GV100GL [Tesla V100 SXM2 16GB] 1df6 GV100GL [Tesla V100S PCIe 32GB] 1e02 TU102 [TITAN RTX] 1e04 TU102 [GeForce RTX 2080 Ti] 1e07 TU102 [GeForce RTX 2080 Ti Rev. A] 1462 3715 RTX 2080 Ti GAMING X TRIO 1e2d TU102 [GeForce RTX 2080 Ti Engineering Sample] 1e2e TU102 [GeForce RTX 2080 Ti 12GB Engineering Sample] 1e30 TU102GL [Quadro RTX 6000/8000] 10de 129e Quadro RTX 8000 10de 12ba Quadro RTX 6000 1e36 TU102GL [Quadro RTX 6000] 1e37 TU102GL [GRID RTX T10-4/T10-8/T10-16] 10de 1347 GRID RTX T10-8 10de 1348 GRID RTX T10-4 10de 1370 GRID RTX T10-16 1e38 TU102GL 1e3c TU102GL 1e3d TU102GL 1e3e TU102GL 1e78 TU102GL [Quadro RTX 6000/8000] 10de 13d8 Quadro RTX 8000 10de 13d9 Quadro RTX 6000 1e81 TU104 [GeForce RTX 2080 SUPER] 1e82 TU104 [GeForce RTX 2080] 1e84 TU104 [GeForce RTX 2070 SUPER] 1e87 TU104 [GeForce RTX 2080 Rev. A] 1e89 TU104 [GeForce RTX 2060] 1e90 TU104M [GeForce RTX 2080 Mobile] 1e91 TU104M [GeForce RTX 2070 SUPER Mobile / Max-Q] 1e93 TU104M [GeForce RTX 2080 SUPER Mobile / Max-Q] 1eab TU104M 1eae TU104M 1eb0 TU104GL [Quadro RTX 5000] 1eb1 TU104GL [Quadro RTX 4000] 1eb5 TU104GLM [Quadro RTX 5000 Mobile / Max-Q] 1eb6 TU104GLM [Quadro RTX 4000 Mobile / Max-Q] 1eb8 TU104GL [Tesla T4] 1eb9 TU104GL 1ebe TU104GL 1ec2 TU104 [GeForce RTX 2070 SUPER] 1ec7 TU104 [GeForce RTX 2070 SUPER] 1ed0 TU104BM [GeForce RTX 2080 Mobile] 1ed1 TU104BM [GeForce RTX 2070 SUPER Mobile / Max-Q] 1ed3 TU104BM [GeForce RTX 2080 SUPER Mobile / Max-Q] 1ef5 TU104GLM [Quadro RTX 5000 Mobile Refresh] 1f02 TU106 [GeForce RTX 2070] 1043 8673 TURBO RTX 2070 1f04 TU106 1f06 TU106 [GeForce RTX 2060 SUPER] 1f07 TU106 [GeForce RTX 2070 Rev. A] 1f08 TU106 [GeForce RTX 2060 Rev. A] 1f09 TU106 [GeForce GTX 1660 SUPER] 1f0a TU106 [GeForce GTX 1650] 1f10 TU106M [GeForce RTX 2070 Mobile] 1f11 TU106M [GeForce RTX 2060 Mobile] 1f12 TU106M [GeForce RTX 2060 Max-Q] 1f14 TU106M [GeForce RTX 2070 Mobile / Max-Q Refresh] 1f15 TU106M [GeForce RTX 2060 Mobile] 1f2e TU106M 1f36 TU106GLM [Quadro RTX 3000 Mobile / Max-Q] 1f42 TU106 [GeForce RTX 2060 SUPER] 1f47 TU106 [GeForce RTX 2060 SUPER] 1f50 TU106BM [GeForce RTX 2070 Mobile / Max-Q] 1f51 TU106BM [GeForce RTX 2060 Mobile] 1f54 TU106BM [GeForce RTX 2070 Mobile] 1f55 TU106BM [GeForce RTX 2060 Mobile] 1f76 TU106GLM [Quadro RTX 3000 Mobile Refresh] 1f81 TU117 1f82 TU117 [GeForce GTX 1650] 1f91 TU117M [GeForce GTX 1650 Mobile / Max-Q] 1f92 TU117M [GeForce GTX 1650 Mobile] 1f94 TU117M [GeForce GTX 1650 Mobile] 1f95 TU117M [GeForce GTX 1650 Ti Mobile] 1f96 TU117M [GeForce GTX 1650 Mobile / Max-Q] 1f97 TU117M [GeForce MX450] 1f98 TU117M [GeForce MX450] 1f99 TU117M 1f9c TU117M [GeForce MX450] 1fae TU117GL 1fb8 TU117GLM [Quadro T2000 Mobile / Max-Q] 1fb9 TU117GLM [Quadro T1000 Mobile] 1fbf TU117GL 1fd9 TU117BM [GeForce GTX 1650 Mobile Refresh] 1ff9 TU117GLM [Quadro T1000 Mobile] 20b0 GA100 [A100 SXM4 40GB] 20b1 GA100 [A100 PCIe 40GB] 20be GA100 [GRID A100A] 20bf GA100 [GRID A100B] 20f1 GA100 [A100 PCIe 40GB] 2182 TU116 [GeForce GTX 1660 Ti] 2183 TU116 2184 TU116 [GeForce GTX 1660] 2187 TU116 [GeForce GTX 1650 SUPER] 2188 TU116 [GeForce GTX 1650] 2191 TU116M [GeForce GTX 1660 Ti Mobile] 2192 TU116M [GeForce GTX 1650 Ti Mobile] 21ae TU116GL 21bf TU116GL 21c4 TU116 [GeForce GTX 1660 SUPER] 21d1 TU116BM [GeForce GTX 1660 Ti Mobile] 2204 GA102 [GeForce RTX 3090] 2206 GA102 [GeForce RTX 3080] 10de 146d GA102 [GeForce RTX 3080 20GB] 1462 3892 RTX 3080 10GB GAMING X TRIO 222b GA102 [GeForce RTX 3090 Engineering Sample] 222f GA102 [GeForce RTX 3080 11GB / 12GB Engineering Sample] 2230 GA102GL [RTX A6000] 223f GA102GL 2482 GA104 [GeForce RTX 3070 Ti] 2484 GA104 [GeForce RTX 3070] 10de 146b GA104 [GeForce RTX 3070] 10de 14ae GA104 [GeForce RTX 3070 16GB] 2486 GA104 [GeForce RTX 3060 Ti] 249c GA104M [GeForce RTX 3070 Mobile / Max-Q 8GB/16GB] 249d GA104M [GeForce RTX 3070 Mobile / Max-Q] 24ac GA104 [GeForce RTX 30x0 Engineering Sample] 24ad GA104 [GeForce RTX 3060 Engineering Sample] 24af GA104 [GeForce RTX 3070 Engineering Sample] 24bf GA104 [GeForce RTX 3070 Engineering Sample] 24dc GA104M [GeForce RTX 3070 Mobile 16GB] 24dd GA104M [GeForce RTX 3070 Mobile / Max-Q] 252f GA106 [GeForce RTX 3060 Engineering Sample] 25af GA107 [GeForce RTX 3050 Engineering Sample] 10df Emulex Corporation 0720 OneConnect NIC (Skyhawk) 103c 1934 FlexFabric 20Gb 2-port 650M Adapter 103c 1935 FlexFabric 20Gb 2-port 650FLB Adapter 103c 21d4 StoreFabric CN1200E 10Gb Converged Network Adapter 103c 220a FlexFabric 10Gb 2-port 556FLR-SFP+ Adapter 103c 803f Ethernet 10Gb 2-port 557SFP+ Adapter 103c 8144 FlexFabric 10GB 2-port 556FLR-T Adapter 17aa 1056 ThinkServer OCm14102-UX-L AnyFabric 17aa 1057 ThinkServer OCm14104-UX-L AnyFabric 17aa 1059 ThinkServer OCm14104-UT-L AnyFabric 17aa 4014 ThinkServer OCm14102-NX-L AnyFabric 0722 OneConnect iSCSI Initiator (Skyhawk) 0723 OneConnect iSCSI Initiator + Target (Skyhawk) 0724 OneConnect FCoE Initiator (Skyhawk) 0728 OneConnect NIC (Skyhawk-VF) 072a OneConnect iSCSI Initiator (Skyhawk-VF) 072b OneConnect iSCSI Initiator + Target (Skyhawk-VF) 072c OneConnect FCoE Initiator (Skyhawk-VF) 1ae5 LP6000 Fibre Channel Host Adapter e100 Proteus-X: LightPulse IOV Fibre Channel Host Adapter e131 LightPulse 8Gb/s PCIe Shared I/O Fibre Channel Adapter e180 Proteus-X: LightPulse IOV Fibre Channel Host Adapter e200 LPe15000/LPe16000 Series 8Gb/16Gb Fibre Channel Adapter 1014 03f1 PCIe2 2-Port 16Gb Fibre Channel Adapter for POWER (FC EL5B; CCIN 577F) 1014 04e3 PCIe3 4-Port 10GbE SR Adapter for POWER (FC EN15/EN16; CCIN 2CE3) 1014 04e4 PCIe3 4-Port 10GbE SFP+ Adapter for POWER (FC EN18; CCIN 2CE4) 10df e280 LPe16002B-M6 2-Port 16Gb Fibre Channel Adapter 10df e281 LPe16000B-M6 1-Port 16Gb Fibre Channel Adapter 10df e282 Flex System FC5054 4-port 16Gb FC Adapter e208 LightPulse 16Gb Fibre Channel Host Adapter (Lancer-VF) e220 OneConnect NIC (Lancer) 17aa 1054 ThinkServer LPm16002B-M6-L AnyFabric 17aa 1055 ThinkServer LPm16004B-M8-L AnyFabric e240 OneConnect iSCSI Initiator (Lancer) e260 OneConnect FCoE Initiator (Lancer) e268 OneConnect 10Gb FCoE Converged Network Adapter (Lancer-VF) e300 LPe31000/LPe32000 Series 16Gb/32Gb Fibre Channel Adapter 1014 0614 PCIe3 4-Port 16Gb Fibre Channel Adapter for POWER (FC EN1C/EN1D; CCIN 578E) 1014 0615 PCIe3 2-Port 32Gb Fibre Channel Adapter for POWER (FC EN1A/EN1B; CCIN 578F) 10df e300 LPe32002-M2 2-Port 32Gb Fibre Channel Adapter 10df e301 LPe32000-M2 1-Port 32Gb Fibre Channel Adapter 10df e310 LPe31002-M6 2-Port 16Gb Fibre Channel Adapter 10df e311 LPe31000-M6 1-Port 16Gb Fibre Channel Adapter 10df e312 LPe31004-M6 4-Port 16Gb Fibre Channel Adapter 10df e320 LPe32002-M2-D 2-Port 32Gb Fibre Channel Adapter 10df e321 LPe32000-M2-D 1-Port 32Gb Fibre Channel Adapter 10df e322 LPe31002-M6-D 2-Port 16Gb Fibre Channel Adapter 10df e323 LPe31000-M6-D 1-Port 16Gb Fibre Channel Adapter 10df e324 LPm32002-D 2-Port 32Gb Fibre Channel Mezz Card 10df e325 LPm31002-D 2-Port 16Gb Fibre Channel Mezz Card 10df e330 LPe32002-M2-L 2-Port 32Gb PCIe Fibre Channel Adapter 10df e331 LPe32000-M2-L 1-Port 32Gb PCIe Fibre Channel Adapter 10df e332 LPe31002-M6-L 2-Port 16Gb PCIe Fibre Channel Adapter 10df e333 LPe31000-M6-L 1-Port 16Gb PCIe Fibre Channel Adapter 1590 0201 StoreFabric SN1600E 1-Port 32Gb Fibre Channel Adapter 1590 0202 StoreFabric SN1600E 2-Port 32Gb Fibre Channel Adapter 1590 0213 StoreFabric SN1200E 1-Port 16Gb Fibre Channel Adapter 1590 0214 StoreFabric SN1200E 2-Port 16Gb Fibre Channel Adapter 1590 022e Synergy 5330C 2-Port 32Gb Fibre Channel Mezz Card f011 Saturn: LightPulse Fibre Channel Host Adapter f015 Saturn: LightPulse Fibre Channel Host Adapter f085 LP850 Fibre Channel Host Adapter f095 LP952 Fibre Channel Host Adapter f098 LP982 Fibre Channel Host Adapter f0a1 Thor LightPulse Fibre Channel Host Adapter f0a5 Thor LightPulse Fibre Channel Host Adapter f0b5 Viper LightPulse Fibre Channel Host Adapter f0d1 Helios LightPulse Fibre Channel Host Adapter f0d5 Helios LightPulse Fibre Channel Host Adapter f0e1 Zephyr LightPulse Fibre Channel Host Adapter f0e5 Zephyr LightPulse Fibre Channel Host Adapter f0f5 Neptune LightPulse Fibre Channel Host Adapter f100 LPe12000 Series 8Gb Fibre Channel Adapter 1014 038a 8Gb PCI Express Dual Port FC Adapter for POWER 103c 3282 8Gb Dual-port PCI-e FC HBA 10df f140 LPe12000-M8-L 1-Port 8Gb PCIe Fibre Channel Adapter 10df f141 LPe12002-M8-L 2-Port 8Gb PCIe Fibre Channel Adapter f111 Saturn-X LightPulse Fibre Channel Host Adapter f112 Saturn-X LightPulse Fibre Channel Host Adapter f180 LPSe12002 EmulexSecure Fibre Channel Adapter f400 LPe35000/LPe36000 Series 32Gb/64Gb Fibre Channel Adapter 10df f401 LPe35000-M2 1-Port 32Gb Fibre Channel Adapter 10df f402 LPe35002-M2 2-Port 32Gb Fibre Channel Adapter 10df f403 LPe36000-M64 1-Port 64Gb Fibre Channel Adapter 10df f404 LPe36002-M64 2-Port 64Gb Fibre Channel Adapter 10df f405 LPe35004-M2 4-Port 32Gb Fibre Channel Adapter 10df f406 LPe35004-X6 4-Port Fibre Channel Adapter 10df f410 LPe35002-M2-D 2-Port 32Gb Fibre Channel Adapter 10df f411 LPe35000-M2-D 1-Port 32Gb Fibre Channel Adapter 10df f418 LPe35000-M2-L 1-Port 32Gb PCIe Fibre Channel Adapter 10df f419 LPe35002-M2-L 2-Port 32Gb PCIe Fibre Channel Adapter 1590 02d5 StoreFabric SN1610E 1-Port 32Gb Fibre Channel Adapter 1590 02d6 StoreFabric SN1610E 2-Port 32Gb Fibre Channel Adapter f700 LP7000 Fibre Channel Host Adapter f701 LP7000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2) f800 LP8000 Fibre Channel Host Adapter f801 LP8000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2) f900 LP9000 Fibre Channel Host Adapter f901 LP9000 Fibre Channel Host Adapter Alternate ID (JX1:2-3, JX2:1-2) f980 LP9802 Fibre Channel Host Adapter f981 LP9802 Fibre Channel Host Adapter Alternate ID f982 LP9802 Fibre Channel Host Adapter Alternate ID fa00 Thor-X LightPulse Fibre Channel Host Adapter fb00 Viper LightPulse Fibre Channel Host Adapter fc00 Thor-X LightPulse Fibre Channel Host Adapter 10df fc00 LP10000 LightPulse Fibre Channel Host Adapter fc10 Helios-X LightPulse Fibre Channel Host Adapter fc20 Zephyr-X LightPulse Fibre Channel Host Adapter fc40 Saturn-X: LightPulse Fibre Channel Host Adapter fc50 Proteus-X: LightPulse IOV Fibre Channel Host Adapter fd00 Helios-X LightPulse Fibre Channel Host Adapter # Also IBM FC 5759 / FC 1910 for POWER 10df fd02 LightPulse LP11002 Dual-port 4Gigabit PCI Fibre Channel Adapter fd11 Helios-X LightPulse Fibre Channel Host Adapter fd12 Helios-X LightPulse Fibre Channel Host Adapter fe00 Zephyr-X LightPulse Fibre Channel Host Adapter fe05 Zephyr-X: LightPulse FCoE Adapter fe11 Zephyr-X LightPulse Fibre Channel Host Adapter fe12 Zephyr-X LightPulse FCoE Adapter ff00 Neptune LightPulse Fibre Channel Host Adapter 10e0 Integrated Micro Solutions Inc. 5026 IMS5026/27/28 5027 IMS5027 5028 IMS5028 8849 IMS8849 8853 IMS8853 9128 IMS9128 [Twin turbo 128] 10e1 Tekram Technology Co.,Ltd. 0391 TRM-S1040 10e1 0391 DC-315U SCSI-3 Host Adapter 690c DC-690c dc29 DC-290 10e2 Aptix Corporation 10e3 Tundra Semiconductor Corp. 0000 CA91C042 [Universe] 0108 Tsi108 Host Bridge for Single PowerPC 0148 Tsi148 [Tempe] 1775 1100 VR11 Single Board Computer 0860 CA91C860 [QSpan] 0862 CA91C862A [QSpan-II] 8111 Tsi381 PCIe to PCI Bridge 8260 CA91L8200B [Dual PCI PowerSpan II] 8261 CA91L8260B [Single PCI PowerSpan II] a108 Tsi109 Host Bridge for Dual PowerPC 10e4 Tandem Computers 8029 Realtek 8029 Network Card 10e5 Micro Industries Corporation 10e6 Gainbery Computer Products Inc. 10e7 Vadem 10e8 Applied Micro Circuits Corp. 1072 INES GPIB-PCI (AMCC5920 based) 2011 Q-Motion Video Capture/Edit board 4750 S5930 [Matchmaker] 5920 S5920 8043 LANai4.x [Myrinet LANai interface chip] 8062 S5933_PARASTATION 807d S5933 [Matchmaker] 8088 Kongsberg Spacetec Format Synchronizer 8089 Kongsberg Spacetec Serial Output Board 809c S5933_HEPC3 80b9 Harmonix Hi-Card P8 (4x active ISDN BRI) 80d7 PCI-9112 80d8 PCI-7200 80d9 PCI-9118 80da PCI-9812 80fc APCI1500 Signal processing controller (16 dig. inputs + 16 dig. outputs) 811a PCI-IEEE1355-DS-DE Interface 814c Fastcom ESCC-PCI (Commtech, Inc.) 8170 S5933 [Matchmaker] (Chipset Development Tool) 81e6 Multimedia video controller 828d APCI3001 Signal processing controller (up to 16 analog inputs) 8291 Fastcom 232/8-PCI (Commtech, Inc.) 82c4 Fastcom 422/4-PCI (Commtech, Inc.) 82c5 Fastcom 422/2-PCI (Commtech, Inc.) 82c6 Fastcom IG422/1-PCI (Commtech, Inc.) 82c7 Fastcom IG232/2-PCI (Commtech, Inc.) 82ca Fastcom 232/4-PCI (Commtech, Inc.) 82db AJA HDNTV HD SDI Framestore 82e2 Fastcom DIO24H-PCI (Commtech, Inc.) 8406 PCIcanx/PCIcan CAN interface [Kvaser AB] 8407 PCIcan II CAN interface (A1021, PCB-07, PCB-08) [Kvaser AB] 8851 S5933 on Innes Corp FM Radio Capture card e004 X-Gene PCIe bridge 10e9 Alps Electric Co., Ltd. 10ea Integraphics 1680 IGA-1680 1682 IGA-1682 1683 IGA-1683 2000 CyberPro 2000 2010 CyberPro 2000A 5000 CyberPro 5000 5050 CyberPro 5050 5202 CyberPro 5202 # CyberPro5202 Audio Function 5252 CyberPro5252 10eb Artists Graphics 0101 3GA 8111 Twist3 Frame Grabber 10ec Realtek Semiconductor Co., Ltd. 0139 RTL-8139/8139C/8139C+ Ethernet Controller 5208 RTS5208 PCI Express Card Reader 5209 RTS5209 PCI Express Card Reader 5227 RTS5227 PCI Express Card Reader 17aa 220e ThinkPad T440p 17aa 2214 ThinkPad X240 5229 RTS5229 PCI Express Card Reader 1025 0813 Aspire R7-571 103c 194e ProBook 455 G1 Notebook 103c 1985 Pavilion 17-e163sg Notebook PC 17aa 3832 Yoga 520 522a RTS522A PCI Express Card Reader 103c 8079 EliteBook 840 G3 103c 825b OMEN-17-w001nv 17aa 5124 ThinkPad E595 5249 RTS5249 PCI Express Card Reader 103c 1909 ZBook 15 524a RTS524A PCI Express Card Reader 5250 RTS5250 PCI Express Card Reader 525a RTS525A PCI Express Card Reader 1028 06d6 Latitude 7275 tablet 1028 06dc Latitude E7470 1028 06e4 XPS 15 9550 17aa 224f ThinkPad X1 Carbon 5th Gen 5260 RTS5260 PCI Express Card Reader 5286 RTS5286 PCI Express Card Reader 5287 RTL8411B PCI Express Card Reader 1025 1094 Acer Aspire E5-575G 5288 RTS5288 PCI Express Card Reader 5289 RTL8411 PCI Express Card Reader 1043 1457 K55A Laptop 5762 RTS5763DL NVMe SSD Controller 8029 RTL-8029(AS) 10b8 2011 EZ-Card (SMC1208) 10ec 8029 RTL-8029(AS) 1113 1208 EN1208 1186 0300 DE-528 1259 2400 AT-2400 1af4 1100 QEMU Virtual Machine 8125 RTL8125 2.5GbE Controller 8129 RTL-8129 10ec 8129 RT8129 Fast Ethernet Adapter 11ec 8129 RTL8111/8168 PCIe Gigabit Ethernet (misconfigured) 8136 RTL810xE PCI Express Fast Ethernet controller 103c 1985 RTL8106E on Pavilion 17-e163sg Notebook PC 103c 2a8c Compaq 500B Microtower 103c 2ab1 Pavilion p6774 103c 30cc Pavilion dv6700 1179 ff64 RTL8102E PCI-E Fast Ethernet NIC 17c0 1053 RTL8101e Medion WIM 2210 Notebook PC [MD96850] 8137 RTL8104E PCIe Fast Ethernet Controller 8138 RT8139 (B/C) Cardbus Fast Ethernet Adapter 10ec 8138 RT8139 (B/C) Fast Ethernet Adapter 8139 RTL-8100/8101L/8139 PCI Fast Ethernet Adapter 0357 000a TTP-Monitoring Card V2.0 1025 005a TravelMate 290 1025 8920 ALN-325 1025 8921 ALN-325 103c 006a NX9500 103c 2a20 Pavilion t3030.de Desktop PC 103c 30d9 Presario C700 1043 1045 L8400B, L3C/S, X58LE notebook 1043 8109 P5P800-MX Mainboard 1071 8160 MIM2000 10bd 0320 EP-320X-R 10ec 8139 RTL-8100/8101L/8139 PCI Fast Ethernet Adapter 10f7 8338 Panasonic CF-Y5 laptop 1113 ec01 LevelOne FNC-0107TX/FNC-0109TX 1186 1104 DFE-520TX Fast Ethernet PCI Adapter (rev. D1) 1186 1300 DFE-538TX 1186 1320 SN5200 1186 8139 DRN-32TX 11f6 8139 FN22-3(A) LinxPRO Ethernet Adapter 1259 2500 AT-2500TX 1259 2503 AT-2500TX/ACPI 1385 f31d FA311 v2 1395 2100 AMB2100 1429 d010 ND010/ND012 1432 9130 EN-9130TX 1436 8139 RT8139 144d c00c P30/P35 notebook 1458 e000 GA-7VM400M/7VT600 Motherboard 1462 0131 MS-1013 Notebook 1462 217c Aspire L250 1462 788c 865PE Neo2-V Mainboard 146c 1439 FE-1439TX 1489 6001 GF100TXRII 1489 6002 GF100TXRA 149c 139a LFE-8139ATX 149c 8139 LFE-8139TX 14cb 0200 LNR-100 Family 10/100 Base-TX Ethernet 1565 2300 P4TSV Onboard LAN (RTL8100B) 1631 7003 Onboard RTL8111 on GA-8SIML Rev1.0 Mainboard 1695 9001 Onboard RTL8101L 10/100 MBit 16ec 00ff USR997900A 1799 5000 F5D5000 PCI Card/Desktop Network PCI Card 1799 5010 F5D5010 CardBus Notebook Network Card 187e 3303 FN312 1904 8139 RTL8139D Fast Ethernet Adapter 1af4 1100 QEMU Virtual Machine 2646 0001 KNE120TX 8e2e 7000 KF-230TX 8e2e 7100 KF-230TX/2 a0a0 0007 ALN-325C 8167 RTL-8110SC/8169SC Gigabit Ethernet 105b 0e10 RTL-8110SC-GR on a N15235/A74MX mainboard 1458 e000 GA-MA69G-S3H Motherboard 1462 235c P965 Neo MS-7235 mainboard 1462 236c 945P Neo3-F motherboard 8168 RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller 1019 8168 RTL8111/8168 PCI Express Gigabit Ethernet controller 1025 1094 Acer Aspire E5-575G 1028 0283 Vostro 220 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1028 06f2 Latitude 3470 1028 06f3 Latitude 3570 1028 0869 Vostro 3470 103c 1611 Pavilion DM1Z-3000 103c 1950 ProBook 450/455 103c 2a6f Asus IPIBL-LB Motherboard 103c 825b OMEN-17-w001nv 103c 8615 Pavilion Laptop 15-cw1xxx 1043 11f5 Notebook motherboard (one of many models) 1043 16d5 U6V/U31J laptop 1043 81aa P5B 1043 82c6 M3A78 Series Motherboard 1043 83a3 M4A785/P7P55 Motherboard 1043 8432 P8P67 and other motherboards 1043 8505 P8 series motherboard 105b 0d7c D270S/D250S Motherboard 10ec 8168 RTL8111/8168 PCI Express Gigabit Ethernet controller 144d c652 RTL8168 on a NP300E5C series laptop 1458 e000 Onboard Ethernet 1462 238c Onboard RTL8111b on MSI P965 Platinum Mainboard 1462 345c RTL8111B on MS-7345 Motherboard 1462 368c K9AG Neo2 1462 4180 Wind PC MS-7418 1462 7522 X58 Pro-E 1462 7c37 X570-A PRO motherboard 1775 11cc CC11/CL11 17aa 3814 Z50-75 17aa 3823 Lenovo V130-15IGM Laptop - Type 81HL 17aa 5124 ThinkPad E595 1849 8168 Motherboard (one of many) 7470 3468 TG-3468 Gigabit PCI Express Network Adapter 8086 2055 NUC Kit DN2820FYKH 8086 d615 Desktop Board D510MO/D525MW 8169 RTL8169 PCI Gigabit Ethernet Controller 1025 0079 Aspire 5024WLMi 10bd 3202 EP-320G-TX1 32-bit PCI Gigabit Ethernet Adapter 10ec 8169 RTL8169/8110 Family PCI Gigabit Ethernet NIC 1259 c107 CG-LAPCIGT 1371 434e ProG-2000L 1385 311a GA311 1385 5200 GA511 Gigabit PC Card 1458 e000 GA-8I915ME-G Mainboard 1462 030c K8N Neo-FSR v2.0 mainboard 1462 065c Hetis 865GV-E (MS-7065) 1462 702c K8T NEO 2 motherboard 1462 7094 K8T Neo2-F V2.0 16ec 011f USR997903 1734 1091 D2030-A1 a0a0 0449 AK86-L motherboard 8171 RTL8191SEvA Wireless LAN Controller 8172 RTL8191SEvB Wireless LAN Controller 8173 RTL8192SE Wireless LAN Controller 8174 RTL8192SE Wireless LAN Controller 8176 RTL8188CE 802.11b/g/n WiFi Adapter 1043 84b5 PCE-N10 1a3b 1139 AW-NE139H Half-size Mini PCIe Card 8177 RTL8191CE PCIe Wireless Network Adapter 8178 RTL8192CE PCIe Wireless Network Adapter 8179 RTL8188EE Wireless Network Adapter 103c 197d RTL8188EE mini-PCIe card 8180 RTL8180L 802.11b MAC 1385 4700 MA521 802.11b Wireless PC Card 1737 0019 WPC11v4 802.11b Wireless-B Notebook Adapter 8185 RTL-8185 IEEE 802.11a/b/g Wireless LAN Controller 818b RTL8192EE PCIe Wireless Network Adapter 8190 RTL8190 802.11n PCI Wireless Network Adapter 8191 RTL8192CE PCIe Wireless Network Adapter 8192 RTL8192E/RTL8192SE Wireless LAN Controller 8193 RTL8192DE Wireless LAN Controller 8196 RTL8196 Integrated PCI-e Bridge 8197 SmartLAN56 56K Modem 8199 RTL8187SE Wireless LAN Controller 1462 6894 MN54G2 / MS-6894 Wireless Mini PCIe Card 8723 RTL8723AE PCIe Wireless Network Adapter 8812 RTL8812AE 802.11ac PCIe Wireless Network Adapter 8813 RTL8813AE 802.11ac PCIe Wireless Network Adapter 8821 RTL8821AE 802.11ac PCIe Wireless Network Adapter b723 RTL8723BE PCIe Wireless Network Adapter 10ec 8739 Dell Wireless 1801 17aa b736 Z50-75 b822 RTL8822BE 802.11a/b/g/n/ac WiFi adapter 103c 831b Realtek RTL8822BE 802.11ac 2 × 2 Wi-Fi + Bluetooth 4.2 Combo Adapter (MU-MIMO supported) 17aa 5124 ThinkPad E595 17aa b023 ThinkPad E595 c821 RTL8821CE 802.11ac PCIe Wireless Network Adapter c822 RTL8822CE 802.11ac PCIe Wireless Network Adapter c82f RTL8822CE 802.11ac PCIe Wireless Network Adapter d723 RTL8723DE 802.11b/g/n PCIe Adapter 10ed Ascii Corporation 7310 V7310 10ee Xilinx Corporation 0001 EUROCOM for PCI (ECOMP) 0002 Octal E1/T1 for PCI ETP Card 0007 Default PCIe endpoint ID 0205 Wildcard TE205P 0210 Wildcard TE210P 0300 Spartan 3 Designs (Xilinx IP) 0314 Wildcard TE405P/TE410P (1st Gen) 0405 Wildcard TE405P (2nd Gen) 0410 Wildcard TE410P (2nd Gen) 0600 Xilinx 6 Designs (Xilinx IP) 3fc0 RME Digi96 3fc1 RME Digi96/8 3fc2 RME Digi96/8 Pro 3fc3 RME Digi96/8 Pad 3fc4 RME Digi9652 (Hammerfall) 3fc5 RME Hammerfall DSP 3fc6 RME Hammerfall DSP MADI 5005 Alveo U250 7038 FPGA Card XC7VX690T 17aa 402f FPGA XC7VX690T-3FFG1157E 8380 Ellips ProfiXpress Profibus Master 8381 Ellips Santos Frame Grabber d154 Copley Controls CAN card (PCI-CAN-02) # SED is assigned Xilinx PCI device IDs ebf0 through ebff ebf0 SED Systems Modulator/Demodulator ebf1 SED Systems Audio Interface Card ebf2 SED Systems Common PCI Interface ebf3 SED Systems PCIe-AXI Bridge 10ef Racore Computer Products, Inc. 8154 M815x Token Ring Adapter 10f0 Peritek Corporation 10f1 Tyan Computer 2865 Tyan Thunder K8E S2865 5300 Tyan S5380 Mainboard 10f2 Achme Computer, Inc. 10f3 Alaris, Inc. 10f4 S-MOS Systems, Inc. 10f5 NKK Corporation a001 NDR4000 [NR4600 Bridge] 10f6 Creative Electronic Systems SA 10f7 Matsushita Electric Industrial Co., Ltd. 10f8 Altos India Ltd 10f9 PC Direct 10fa Truevision 000c TARGA 1000 10fb Thesys Gesellschaft fuer Mikroelektronik mbH 186f TH 6255 10fc I-O Data Device, Inc. # What's in the cardbus end of a Sony ACR-A01 card, comes with newer Vaio CD-RW drives 0003 Cardbus IDE Controller 0005 Cardbus SCSI CBSC II 10fd Soyo Computer, Inc 10fe Fast Multimedia AG 10ff NCube 1100 Jazz Multimedia 1101 Initio Corporation 0002 INI-920 Ultra SCSI Adapter 1060 INI-A100U2W 1622 INI-1623 PCI SATA-II Controller 9100 INI-9100/9100W 9400 INI-940 Fast Wide SCSI Adapter 9401 INI-935 Fast Wide SCSI Adapter 9500 INI-950 SCSI Adapter 9502 INI-950P Ultra Wide SCSI Adapter 1102 Creative Labs 0002 EMU10k1 [Sound Blaster Live! Series] 100a 1102 SB Live! 5.1 Digital OEM SB0220 EMU10K1-JFF 1102 0020 CT4670/4850 SBLive! Value 1102 0021 CT4620 SBLive! 1102 002f M002/M003 Integrated SBLive! 1102 100a SB0220/0229 SBLive! 5.1 Digital OEM 1102 4001 E-mu APS 1102 8022 CT4780 SBLive! Value 1102 8023 CT4790 SoundBlaster PCI512 1102 8024 CT4760 SBLive! 1102 8025 CT1140/SB0040 Integrated SBLive! 1102 8026 CT4830 SBLive! Value 1102 8027 CT4832 SBLive! Value 1102 8028 CT4870 SBLive! Value 1102 8029 CT4872 SBLive! Value 1102 802a CT4890 SoundBlaster PCI256 1102 802b CT4891 SoundBlaster PCI256 1102 8031 CT4831 SBLive! Value 1102 8032 CT4871 SBLive! Value 1102 8033 CT4893 SoundBlaster PCI256 1102 8035 CT0060 SBLive! 1102 8040 CT4760 SBLive! 1102 8050 CT4750 SoundBlaster PCI512 1102 8051 CT4850 SBLive! Value 1102 8061 SB060 SBLive! Player 5.1 1102 8062 SB0100 SBLive! 5.1 1102 8063 DXW Integrated SBLive! 5.1 1102 8064 SB0100/SB0102 SBLive! 5.1 1102 8065 SB0220/0222 SBLive! 5.1 Digital 1102 8066 SB0228 SBLive! 5.1 Digital 1102 8067 SB0220 SBLive! 5.1 1102 8068 CT0061 SBLive! 1102 8069 SB0101 SBLive! 5.1 Value 1102 806a SB0103 SBLive! 5.1 1102 806b SB0105 SBLive! 5.1 1102 806c SB0221 SBLive! 5.1 1102 8071 SB0150 SoundBlaster PCI512 # EMU8008 PCI version of emu8000 chip 0003 SB AWE64(D) 1102 0010 CT4600 AWE64D 1102 0030 CT4650 AWE64D 1102 0031 CT4655 AWE64D 0004 EMU10k2/CA0100/CA0102/CA10200 [Sound Blaster Audigy Series] 1102 0040 SB0090 Audigy Player # Probably an early engineering sample 1102 0041 CT4820 SBLive!2 1102 0042 CT0070 Audigy 1102 0043 CT0072 Audigy 1102 0051 SB0090 Audigy Player/Platinum (EX) 1102 0052 SB0162 Audigy ES 1102 0053 CT0090/SB0092 Audigy Player/OEM 1102 0054 SB0161 Audigy ES 1102 0055 SB0192 Audigy 1102 0056 SB0191 Audigy 1102 0057 SB0091 Audigy 1102 0058 SB0095 Audigy Player/OEM 1102 0059 SB0230 Audigy 1102 005a SB0231 Audigy 1102 005b SB0232 Audigy 1102 005c SB0238 Audigy 1102 1002 SB0240 Audigy 2 Platinum 6.1 1102 1003 SB0350 Audigy 2 / SB0243 Audigy 2 OEM 1102 1004 SB0242 Audigy 2 1102 1005 SB0280 Audigy 2 Platinum Ex 1102 1006 SB0245 Audigy 2 OEM 1102 1007 SB0240/SB0244 Audigy 2 Platinum 1102 1008 SB0320 Audigy 2 1102 1009 SB0249 Audigy 2 OEM 1102 100a SB0246 Audigy 2 1102 2001 SB0360 Audigy 2 ZS Platinum Pro 1102 2002 SB0350 Audigy 2 ZS 1102 2003 SB0352 Audigy 2 ZS 1102 2004 SB0355 Audigy 2 ZS 1102 2005 SB0359 Audigy 2 ZS 1102 2006 SB035x Audigy 2 OEM 1102 2007 SB0380 Audigy 4 Pro 1102 4001 E-MU 1010 [MAEM8810] 1102 4002 E-MU 0404 1102 4003 E-MU 1010 0005 EMU20k1 [Sound Blaster X-Fi Series] 1102 0021 X-Fi Platinum 1102 002c X-Fi XtremeGamer FATAL1TY PRO 1102 1003 X-Fi XtremeMusic # This chip is also known as CA0103 on Sound Blaster 5.1 SB0680 card. 0006 EMU10k1X / CA0103 [SB Live! OEM / SB 5.1 / Ectiva 5.1] 1102 1001 SB0680 Sound Blaster 5.1 1102 1003 SB0203 SB Live! 5.1 (Dell) 1102 1004 TP0033 Ectiva Audio 5.1 0007 CA0106/CA0111 [SB Live!/Audigy/X-Fi Series] 1102 0007 SBLive! 24bit 1102 1001 SB0310 Audigy LS 1102 1002 SB0312 Audigy LS 1102 1006 SB0410 SBLive! 24-bit 1102 100a SB0570 [SB Audigy SE] 1102 1012 SB0790 X-Fi XA 1102 1013 Soundblaster X-Fi Xtreme Audio 1462 1009 K8N Diamond 0008 CA0108/CA10300 [Sound Blaster Audigy Series] 1102 0008 EMU0404 Digital Audio System 1102 1001 SB0400 Audigy 2 Value 1102 1021 SB0610 Audigy 4 Value 1102 1022 SBxxx Audigy 2/4 Value 1102 1023 SB0612 Audigy 2 LS 1102 1024 SB1550 Audigy 5/Rx 1102 1101 SBxxxx Audigy 2 SA 1102 2001 SB0530 Audigy 2 ZS Notebook 1102 2021 SBxxxx Audigy 4 Notebook 1102 4002 E-MU 0404 1102 4003 E-MU 1010 1102 4004 EMU1010 Digital Audio System [MAEM8960] 1102 4005 E-MU 0404 [MAEM8984] 1102 4007 E-MU 1010 [MAEM8982] 1102 4201 E-MU 0202 [MAEM8950] 0009 CA0110 [Sound Blaster X-Fi Xtreme Audio] 1102 0010 MB0820 Integrated 1102 0018 SB1040 PCI Express 000b EMU20k2 [Sound Blaster X-Fi Titanium Series] 1102 0041 SB0880 [SoundBlaster X-Fi Titanium PCI-e] 1102 0062 SB1270 [SoundBlaster X-Fi Titanium HD] 0012 Sound Core3D [Sound Blaster Recon3D / Z-Series] 1102 0010 SB1570 SB Audigy Fx 4001 SB Audigy FireWire Port 1102 0010 SB Audigy FireWire Port 7002 SB Live! Game Port 1102 0020 Gameport Joystick 7003 SB Audigy Game Port 1102 0040 SB Audigy Game Port 1102 0060 SB Audigy2 MIDI/Game Port 7004 [SB Live! Value] Input device controller 7005 SB Audigy LS Game Port 1102 1001 SB0310 Audigy LS MIDI/Game port 1102 1002 SB0312 Audigy LS MIDI/Game port 7006 [SB X-Fi Xtreme Audio] CA0110-IBG PCIe to PCI Bridge 8938 Ectiva EV1938 1033 80e5 SlimTower-Jim (NEC) 1071 7150 Mitac 7150 110a 5938 Siemens Scenic Mobile 510PIII 13bd 100c Ceres-C (Sharp, Intel BX) 13bd 100d Sharp, Intel Banister 13bd 100e TwinHead P09S/P09S3 (Sharp) 13bd f6f1 Marlin (Sharp) 14ff 0e70 P88TE (TWINHEAD INTERNATIONAL Corp) 14ff c401 Notebook 9100/9200/2000 (TWINHEAD INTERNATIONAL Corp) 156d b400 G400 - Geo (AlphaTop (Taiwan)) 156d b550 G560 (AlphaTop (Taiwan)) 156d b560 G560 (AlphaTop (Taiwan)) 156d b700 G700/U700 (AlphaTop (Taiwan)) 156d b795 G795 (AlphaTop (Taiwan)) 156d b797 G797 (AlphaTop (Taiwan)) # nee Triones Technologies, Inc. 1103 HighPoint Technologies, Inc. 0003 HPT343/345/346/363 0004 HPT366/368/370/370A/372/372N 1103 0001 HPT370A 1103 0004 HPT366 UDMA66 (r1) / HPT368 UDMA66 (r2) / HPT370 UDMA100 (r3) / HPT370 UDMA100 RAID (r4) 1103 0005 HPT370 UDMA100 1103 0006 HPT302/302N 0005 HPT372A/372N 0006 HPT302/302N 0007 HPT371/371N 0008 HPT374 0009 HPT372N 0620 RocketRAID 620 2 Port SATA-III Controller 0622 RocketRAID 622 2 Port SATA-III Controller 0640 RocketRAID 640 4 Port SATA-III Controller 0641 RocketRAID 640L 4 Port SATA-III Controller 0642 RocketRAID 642L SATA-III Controller (2 eSATA ports + 2 internal SATA ports) 0644 RocketRAID 644 4 Port SATA-III Controller (eSATA) 0645 RocketRAID 644L 4 Port SATA-III Controller (eSATA) 0646 RocketRAID 644LS SATA-III Controller (4 eSATA devices connected by 1 SAS cable) 1720 RocketRAID 1720 (2x SATA II RAID Controller) 1740 RocketRAID 1740 1742 RocketRAID 1742 2210 RocketRAID 2210 SATA-II Controller 11ab 11ab 88SX6042 2300 RocketRAID 230x 4 Port SATA-II Controller 2310 RocketRAID 2310 4 Port SATA-II Controller 2320 RocketRAID 2320 SATA-II Controller 2322 RocketRAID 2322 SATA-II Controller 2340 RocketRAID 2340 16 Port SATA-II Controller 2640 RocketRAID 2640 SAS/SATA Controller 2722 RocketRAID 2722 # SFF-8087 Mini-SAS 16 port internal 2740 RocketRAID 2740 # SFF-8088 Mini-SAS 16 port external 2744 RocketRaid 2744 # SFF-8088 8 port external / SFF-8087 24 port internal 2782 RocketRAID 2782 3120 RocketRAID 3120 3220 RocketRAID 3220 3320 RocketRAID 3320 4310 RocketRaid 4310 1104 RasterOps Corp. 1105 Sigma Designs, Inc. 1105 REALmagic Xcard MPEG 1/2/3/4 DVD Decoder 8300 REALmagic Hollywood Plus DVD Decoder 8400 EM840x REALmagic DVD/MPEG-2 Audio/Video Decoder 8401 EM8401 REALmagic DVD/MPEG-2 A/V Decoder 8470 EM8470 REALmagic DVD/MPEG-4 A/V Decoder 8471 EM8471 REALmagic DVD/MPEG-4 A/V Decoder 8475 EM8475 REALmagic DVD/MPEG-4 A/V Decoder 1105 0001 REALmagic X-Card 8476 EM8476 REALmagic DVD/MPEG-4 A/V Decoder 127d 0000 CineView II 8485 EM8485 REALmagic DVD/MPEG-4 A/V Decoder 8486 EM8486 REALmagic DVD/MPEG-4 A/V Decoder # Found in Cisco DMP-4305G c621 EM8621L Digital Media Processor c622 EM8622L MPEG-4.10 (H.264) and SMPTE 421M (VC-1) A/V Decoder 1106 VIA Technologies, Inc. 0102 Embedded VIA Ethernet Controller 0130 VT6305 1394.A Controller 0198 P4X600 Host Bridge 0204 K8M800 Host Bridge 0208 PT890 Host Bridge 0238 K8T890 Host Bridge 0258 PT880 Host Bridge 0259 CN333/CN400/PM880 Host Bridge 0269 KT880 Host Bridge 0282 K8T800Pro Host Bridge 1043 80a3 A8V Deluxe 0290 K8M890 Host Bridge 0293 PM896 Host Bridge 0296 P4M800 Host Bridge 0305 VT8363/8365 [KT133/KM133] 1019 0987 K7VZA Mainboard 1043 8033 A7V Mainboard 1043 803e A7V-E Mainboard 1043 8042 A7V133/A7V133-C Mainboard 147b a401 KT7/KT7-RAID/KT7A/KT7A-RAID Mainboard 0308 PT880 Ultra/PT894 Host Bridge 1043 8199 P4V800D-X Mainboard 1849 0308 Motherboard 0314 CN700/VN800/P4M800CE/Pro Host Bridge 0324 CX700/VX700 Host Bridge 0327 P4M890 Host Bridge 0336 K8M890CE Host Bridge 0340 PT900 Host Bridge 0351 K8T890CF Host Bridge 0353 VX800 Host Bridge 0364 CN896/VN896/P4M900 Host Bridge 1043 81ce P5VD2-VM mothervoard 0391 VT8371 [KX133] 0409 VX855/VX875 Host Bridge: Host Control 0410 VX900 Host Bridge: Host Control 0415 VT6415 PATA IDE Host Controller 1043 838f Motherboard 0501 VT8501 [Apollo MVP4] 0505 VT82C505 # Shares chip with :0576. The VT82C576M has :1571 instead of :0561. 0561 VT82C576MV 0571 VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE 1019 0985 P6VXA Motherboard 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) 1043 8052 VT8233A Bus Master ATA100/66/33 IDE 1043 808c A7V8X / A7V333 motherboard 1043 80a1 A7V8X-X motherboard rev. 1.01 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard 1106 0571 VT82C586/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE 1179 0001 Magnia Z310 1297 f641 FX41 motherboard 1458 5002 GA-7VAX Mainboard 1462 5901 KT6 Delta-FIS2R (MS-6590) 1462 7020 K8T NEO 2 motherboard 1462 7094 K8T Neo2-F V2.0 1462 7120 KT4AV motherboard 1462 7181 K8MM3-V mainboard 147b 1407 KV8-MAX3 motherboard # probably all K7VT2/4*/6 1849 0571 K7VT series Motherboards 0576 VT82C576 3V [Apollo Master] 0581 CX700/VX700 RAID Controller # Upgrade bios to get correct ID: 5324 instead of 0581 1106 0581 Wrong IDE ID 0585 VT82C585VP [Apollo VP1/VPX] 0586 VT82C586/A/B PCI-to-ISA [Apollo VP] 1106 0000 MVP3 ISA Bridge 0591 VT8237A SATA 2-Port Controller 0595 VT82C595 [Apollo VP2] 0596 VT82C596 ISA [Mobile South] 1106 0000 VT82C596/A/B PCI to ISA Bridge 1458 0596 VT82C596/A/B PCI to ISA Bridge 0597 VT82C597 [Apollo VP3] 0598 VT82C598 [Apollo MVP3] 0601 VT8601 [Apollo ProMedia] 0605 VT8605 [ProSavage PM133] 103c 1254 D9840-60001 [Brio BA410 Motherboard] 1043 802c CUV4X mainboard 0680 VT82C680 [Apollo P6] 0686 VT82C686 [Apollo Super South] 1019 0985 P6VXA Motherboard 103c 1256 D9840-60001 [Brio BA410 Motherboard] 1043 802c CUV4X mainboard 1043 8033 A7V Mainboard 1043 803e A7V-E Mainboard 1043 8040 A7M266 Mainboard 1043 8042 A7V133/A7V133-C Mainboard 1106 0000 VT82C686/A PCI to ISA Bridge 1106 0686 VT82C686/A PCI to ISA Bridge 1179 0001 Magnia Z310 147b a702 KG7-Lite Mainboard 0691 VT82C693A/694x [Apollo PRO133x] 1019 0985 P6VXA Motherboard 1179 0001 Magnia Z310 1458 0691 VT82C691 Apollo Pro System Controller 0693 VT82C693 [Apollo Pro Plus] 0698 VT82C693A [Apollo Pro133 AGP] 0709 VX11 Standard Host Bridge 070a VX11 PCI Express Root Port 070b VX11 PCI Express Root Port 070c VX11 PCI Express Root Port 070d VX11 PCI Express Root Port 070e VX11 PCI Express Root Port 0926 VT82C926 [Amazon] 1000 VT82C570MV 1106 VT82C570MV 1122 VX800/VX820 Chrome 9 HC3 Integrated Graphics 1204 K8M800 Host Bridge 1208 PT890 Host Bridge 1238 K8T890 Host Bridge 1258 PT880 Host Bridge 1259 CN333/CN400/PM880 Host Bridge 1269 KT880 Host Bridge 1282 K8T800Pro Host Bridge 1290 K8M890 Host Bridge 1293 PM896 Host Bridge 1296 P4M800 Host Bridge 1308 PT894 Host Bridge 1314 CN700/VN800/P4M800CE/Pro Host Bridge 1324 CX700/VX700 Host Bridge 1327 P4M890 Host Bridge 1336 K8M890CE Host Bridge 1340 PT900 Host Bridge 1351 VT3351 Host Bridge 1353 VX800/VX820 Error Reporting 1364 CN896/VN896/P4M900 Host Bridge 1409 VX855/VX875 Error Reporting 1410 VX900 Error Reporting 1571 VT82C576M/VT82C586 1595 VT82C595/97 [Apollo VP2/97] 1732 VT1732 [Envy24 II] PCI Multi-Channel Audio Controller 2106 VIA Rhine Family Fast Ethernet Adapter (VT6105) 2204 K8M800 Host Bridge 2208 PT890 Host Bridge 2238 K8T890 Host Bridge 2258 PT880 Host Bridge 2259 CN333/CN400/PM880 CPU Host Bridge 2269 KT880 Host Bridge 2282 K8T800Pro Host Bridge 2290 K8M890 Host Bridge 2293 PM896 Host Bridge 2296 P4M800 Host Bridge 2308 PT894 Host Bridge 2314 CN700/VN800/P4M800CE/Pro Host Bridge 2324 CX700/VX700 Host Bridge 2327 P4M890 Host Bridge 2336 K8M890CE Host Bridge 2340 PT900 Host Bridge 2351 VT3351 Host Bridge 2353 VX800/VX820 Host Bus Control 2364 CN896/VN896/P4M900 Host Bridge 2409 VX855/VX875 Host Bus Control 2410 VX900 CPU Bus Controller 287a VT8251 PCI to PCI Bridge 287b VT8251 Host Bridge 287c VT8251 PCIE Root Port 287d VT8251 PCIE Root Port 287e VT8237/8251 Ultra VLINK Controller 3022 CLE266 3038 VT82xx/62xx UHCI USB 1.1 Controller 0925 1234 onboard UHCI USB 1.1 Controller 1019 0985 P6VXA Motherboard 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) 1043 8080 A7V333 motherboard 1043 808c VT6202 USB2.0 4 port controller 1043 80a1 A7V8X-X motherboard 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard 1179 0001 Magnia Z310 1458 5004 GA-7VAX Mainboard 1462 5901 KT6 Delta-FIS2R (MS-6590) 1462 7020 K8T NEO 2 motherboard 1462 7094 K8T Neo2-F V2.0 1462 7120 KT4AV motherboard 1462 7181 K8MM3-V mainboard 147b 1407 KV8-MAX3 motherboard 182d 201d CN-029 USB2.0 4 port PCI Card # probably all K7VT2/4*/6 1849 3038 K7VT series Motherboards 19da a179 ZBOX nano VD01 1af4 1100 QEMU Virtual Machine 3040 VT82C586B ACPI 3043 VT86C100A [Rhine] 10bd 0000 VT86C100A Fast Ethernet Adapter 1106 0100 VT86C100A Fast Ethernet Adapter 1186 1400 DFE-530TX PCI Fast Ethernet Adapter (rev. A) 3044 VT6306/7/8 [Fire II(M)] IEEE 1394 OHCI Controller 0010 0001 IEEE 1394 4port DCST 1394-3+1B 1025 005a TravelMate 290 103c 2a20 Pavilion t3030.de Desktop PC 103c 2a3b Media Center PC m7590n 1043 808a A8V/A8N/P4P800/P5SD2 series motherboard 1043 81fe Motherboard 1458 1000 GA-7VT600-1394 Motherboard 1462 207d K8NGM2 series motherboard 1462 217d Aspire L250 1462 590d KT6 Delta-FIS2R (MS-6590) 1462 702d K8T NEO 2 motherboard 1462 971d MS-6917 3050 VT82C596 Power Management 3051 VT82C596 Power Management 3053 VT6105M [Rhine-III] 1186 1404 DFE-530TX PCI Fast Ethernet Adapter (rev. D) 3057 VT82C686 [Apollo Super ACPI] 1019 0985 P6VXA Motherboard 1019 0987 K7VZA Motherboard 1043 8033 A7V Mainboard 1043 803e A7V-E Mainboard 1043 8040 A7M266 Mainboard 1043 8042 A7V133/A7V133-C Mainboard 1179 0001 Magnia Z310 3058 VT82C686 AC97 Audio Controller 0e11 0097 SoundMax Digital Integrated Audio 0e11 b194 Soundmax integrated digital audio 1019 0985 P6VXA Motherboard 1019 0987 K7VZA Motherboard 103c 1251 D9840-60001 [Brio BA410 Motherboard] 1043 1106 A7V133/A7V133-C Mainboard 1106 4511 Onboard Audio on EP7KXA 1106 aa03 VT1612A AC'97 Audio Controller 11d4 5348 AD1881A audio 1458 7600 Onboard Audio 1462 3091 MS-6309 Onboard Audio 1462 3092 MS-6309 v2.x Mainboard (VIA VT1611A codec) 1462 3300 MS-6330 Onboard Audio 1462 3400 MS-6340 (VT8363) motherboard 15dd 7609 Onboard Audio 3059 VT8233/A/8235/8237 AC97 Audio Controller 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) 1019 1841 M811 (VT8367/VT8235/VT6103) [KT333] motherboard 1019 1877 K8M800-M2 (V2.0) onboard audio 1043 8095 A7V8X Motherboard (Realtek ALC650 codec) 1043 80a1 A7V8X-X Motherboard 1043 80b0 A7V600/K8V-X/K8V Deluxe motherboard (ADI AD1980 codec [SoundMAX]) 1043 80f3 SK8V motherboard 1043 810d P5VD1-X (AD1888 codec [SoundMax]) 1043 812a A8V Deluxe motherboard (Realtek ALC850 codec) 10ec 8168 High Definition Audio 1106 3059 L7VMM2 Motherboard 1106 4161 K7VT2 motherboard 1106 4170 PCPartner P4M800-8237R Motherboard 1106 4552 Soyo KT-600 Dragon Plus (Realtek ALC 650) 1297 c160 FX41 motherboard (Realtek ALC650 codec) 1413 147b KV8 Pro motherboard onboard audio 1458 a002 GA-7VAX Onboard Audio (Realtek ALC650) 1462 0080 K8T NEO 2 motherboard 1462 3800 KT266 onboard audio 1462 5901 KT6 Delta-FIS2R (MS-6590) 1462 7181 K8MM3-V mainboard 147b 1407 KV8-MAX3 motherboard 1695 300c Realtek ALC655 audio on EP-8KRA series mainboard 1849 0850 ASRock 775Dual-880 Pro onboard audio (Realtek ALC850) 1849 9739 P4VT8 Mainboard (C-Media CMI9739A codec) # probably all K7VT2/4*/6 1849 9761 K7VT series Motherboards 4005 4710 MSI K7T266 Pro2-RU (MSI-6380 v2) onboard audio (Realtek/ALC 200/200P) a0a0 01b6 AK77-8XN onboard audio a0a0 0342 AK86-L motherboard 3065 VT6102/VT6103 [Rhine-II] 1043 80a1 A7V8X-X Motherboard 1043 80ed A7V600-X Motherboard 1106 0102 VT6102/6103 [Rhine II] Ethernet Controller 1186 1400 DFE-530TX PCI Fast Ethernet Adapter (rev. A) 1186 1401 DFE-530TX PCI Fast Ethernet Adapter (rev. B) 1186 1402 DFE-530TX PCI Fast Ethernet Adapter (rev. B) 13b9 1421 LD-10/100AL PCI Fast Ethernet Adapter (rev.B) 1462 7061 MS-7061 1462 7181 K8MM3-V mainboard 147b 1c09 NV7 Motherboard 1695 3005 VT6103 # probably all K7VT2/4*/6 1849 3065 K7VT series Motherboards # This hosts more than just the Intel 537 codec, it also hosts PCtel (SIL33) and SmartLink (SIL34) codecs 3068 AC'97 Modem Controller 1462 309e MS-6309 Saturn Motherboard 3074 VT8233 PCI to ISA Bridge 1043 8052 VT8233A 3091 VT8633 [Apollo Pro266] 3099 VT8366/A/7 [Apollo KT266/A/333] 1019 1841 M811 (VT8367/VT8235/VT6103) [KT333] motherboard 1043 8064 A7V266-E Mainboard 1043 807f A7V333 Mainboard 1849 3099 K7VT2 motherboard 3101 VT8653 Host Bridge 3102 VT8662 Host Bridge 3103 VT8615 Host Bridge 3104 USB 2.0 0925 1234 onboard EHCI USB 2.0 Controller 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) 1043 808c A7V8X motherboard 1043 80a1 A7V8X-X motherboard rev 1.01 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard 1106 3104 USB 2.0 Controller 1297 f641 FX41 motherboard 1458 5004 GA-7VAX Mainboard 1462 5901 KT6 Delta-FIS2R (MS-6590) 1462 7020 K8T NEO 2 motherboard 1462 7094 K8T Neo2-F V2.0 1462 7120 KT4AV motherboard 1462 7181 K8MM3-V mainboard 147b 1407 KV8-MAX3 motherboard 182d 201d CN-029 USB 2.0 4 port PCI Card # probably all K7VT2/4*/6 1849 3104 K7VT series Motherboards 19da a179 ZBOX nano VD01 3106 VT6105/VT6106S [Rhine-III] 1106 0105 VT6106S [Rhine-III] 1186 1403 DFE-530TX PCI Fast Ethernet Adapter (rev. C) 1186 1405 DFE-520TX Fast Ethernet PCI Adapter 1186 1406 DFE-530TX+ rev F2 1186 1407 DFE-538TX 3108 K8M800/K8N800/K8N800A [S3 UniChrome Pro] 3109 VT8233C PCI to ISA Bridge 3112 VT8361 [KLE133] Host Bridge 3113 VPX/VPX2 PCI to PCI Bridge Controller 3116 VT8375 [KM266/KL266] Host Bridge 1297 f641 FX41 motherboard 3118 CN400/PM800/PM880/PN800/PN880 [S3 UniChrome Pro] 3119 VT6120/VT6121/VT6122 Gigabit Ethernet Adapter 3122 VT8623 [Apollo CLE266] integrated CastleRock graphics 3123 VT8623 [Apollo CLE266] 3128 VT8753 [P4X266 AGP] 3133 VT3133 Host Bridge 3142 VT6651 WiFi Adapter, 802.11b 3147 VT8233A ISA Bridge 1043 808c A7V333 motherboard 3148 P4M266 Host Bridge 3149 VIA VT6420 SATA RAID Controller 1043 80ed A7V600/K8V Deluxe/K8V-X/A8V Deluxe motherboard 1458 b003 GA-7VM400AM(F) Motherboard 1462 5901 KT6 Delta-FIS2R (MS-6590) 1462 7020 K8T Neo 2 Motherboard 1462 7094 K8T Neo2-F V2.0 1462 7181 K8MM3-V mainboard 147b 1407 KV8-MAX3 motherboard 147b 1408 KV7 1849 3149 K7VT6 motherboard a0a0 04ad AK86-L motherboard 3156 P/KN266 Host Bridge 3157 CX700/VX700 [S3 UniChrome Pro] 3164 VT6410 ATA133 RAID controller 1043 80f4 P4P800 Mainboard Deluxe ATX 1462 7028 915P/G Neo2 3168 P4X333/P4X400/PT800 AGP Bridge 1849 3168 P4VT8 Mainboard 3177 VT8235 ISA Bridge 1019 0a81 L7VTA v1.0 Motherboard (KT400-8235) 1019 1841 M811 (VT8367/VT8235/VT6103) [KT333] motherboard 1043 808c A7V8X motherboard 1043 80a1 A7V8X-X motherboard 1106 0000 KT4AV motherboard 1297 f641 FX41 motherboard 1458 5001 GA-7VAX Mainboard # probably all K7VT2/4*/6 1849 3177 K7VT series Motherboards 3178 ProSavageDDR P4N333 Host Bridge 3188 VT8385 [K8T800 AGP] Host Bridge 1043 80a3 K8V Deluxe/K8V-X motherboard 147b 1407 KV8-MAX3 motherboard 3189 VT8377 [KT400/KT600 AGP] Host Bridge 1043 807f A7V8X motherboard 1106 0000 KT4AV motherboard (KT400A) 1458 5000 GA-7VAX Mainboard # probably all K7VT2/4*/6 1849 3189 K7VT series Motherboards 31b0 VX11 Standard Host Bridge 31b1 VX11 Standard Host Bridge 31b2 VX11 DRAM Controller 31b3 VX11 Power Management Controller 31b4 VX11 I/O APIC 31b5 VX11 Scratch Device 31b7 VX11 Standard Host Bridge 31b8 VX11 PCI to PCI Bridge 3204 K8M800 Host Bridge 3205 VT8378 [KM400/A] Chipset Host Bridge 1458 5000 GA-7VM400M Motherboard 3208 PT890 Host Bridge 3213 VPX/VPX2 PCI to PCI Bridge Controller 3218 K8T800M Host Bridge 3227 VT8237 ISA bridge [KT600/K8T800/K8T890 South] 1043 80ed A7V600/K8V-X/A8V Deluxe motherboard 1106 3227 DFI KT600-AL / Soltek SL-B9D-FGR Motherboard 1458 5001 GA-7VT600 Motherboard 147b 1407 KV8-MAX3 motherboard 1849 3227 K7VT4 motherboard 3230 K8M890CE/K8N890CE [Chrome 9] 3238 K8T890 Host Bridge 3249 VT6421 IDE/SATA Controller 1106 3249 VT6421 IDE/SATA Controller 324a CX700/VX700 PCI to PCI Bridge 324b CX700/VX700 Host Bridge 324e CX700/VX700 Internal Module Bus 3253 VT6655 WiFi Adapter, 802.11a/b/g 3258 PT880 Host Bridge 3259 CN333/CN400/PM880 Host Bridge 3260 VIA Chrome9 HC IGP 3269 KT880 Host Bridge 3282 K8T800Pro Host Bridge 3287 VT8251 PCI to ISA Bridge 3288 VT8237A/VT8251 HDA Controller 19da a179 ZBOX VD01 3290 K8M890 Host Bridge 3296 P4M800 Host Bridge 3324 CX700/VX700 Host Bridge 3327 P4M890 Host Bridge 3336 K8M890CE Host Bridge 3337 VT8237A PCI to ISA Bridge 3340 PT900 Host Bridge 3343 P4M890 [S3 UniChrome Pro] 3344 CN700/P4M800 Pro/P4M800 CE/VN800 Graphics [S3 UniChrome Pro] 3349 VT8251 AHCI/SATA 4-Port Controller 3351 VT3351 Host Bridge 3353 VX800 PCI to PCI Bridge 3364 CN896/VN896/P4M900 Host Bridge 3371 CN896/VN896/P4M900 [Chrome 9 HC] 3372 VT8237S PCI to ISA Bridge 337a VT8237A PCI to PCI Bridge 337b VT8237A Host Bridge 3403 VT6315 Series Firewire Controller 1043 8374 M5A88-V EVO 1043 8384 P8P67 Deluxe Motherboard 3409 VX855/VX875 DRAM Bus Control 3410 VX900 DRAM Bus Control 19da a179 ZBOX nano VD01 3432 VL80x xHCI USB 3.0 Controller 3456 VX11 Standard Host Bridge 345b VX11 Miscellaneous Bus 3483 VL805 USB 3.0 Host Controller 3a01 VX11 Graphics [Chrome 645/640] 4149 VIA VT6420 (ATA133) Controller 4204 K8M800 Host Bridge 4208 PT890 Host Bridge 4238 K8T890 Host Bridge 4258 PT880 Host Bridge 4259 CN333/CN400/PM880 Host Bridge 4269 KT880 Host Bridge 4282 K8T800Pro Host Bridge 4290 K8M890 Host Bridge 4293 PM896 Host Bridge 4296 P4M800 Host Bridge 4308 PT894 Host Bridge 4314 CN700/VN800/P4M800CE/Pro Host Bridge 4324 CX700/VX700 Host Bridge 4327 P4M890 Host Bridge 4336 K8M890CE Host Bridge 4340 PT900 Host Bridge 4351 VT3351 Host Bridge 4353 VX800/VX820 Power Management Control 4364 CN896/VN896/P4M900 Host Bridge 4409 VX855/VX875 Power Management Control 4410 VX900 Power Management and Chip Testing Control 19da a179 ZBOX nano VD01 5030 VT82C596 ACPI [Apollo PRO] 5122 VX855/VX875 Chrome 9 HCM Integrated Graphics 5208 PT890 I/O APIC Interrupt Controller 5238 K8T890 I/O APIC Interrupt Controller 5287 VT8251 Serial ATA Controller 5290 K8M890 I/O APIC Interrupt Controller 5308 PT894 I/O APIC Interrupt Controller 5324 VX800 Serial ATA and EIDE Controller 5327 P4M890 I/O APIC Interrupt Controller 5336 K8M890CE I/O APIC Interrupt Controller 5340 PT900 I/O APIC Interrupt Controller 5351 VT3351 I/O APIC Interrupt Controller 5353 VX800/VX820 APIC and Central Traffic Control 5364 CN896/VN896/P4M900 I/O APIC Interrupt Controller 5372 VT8237/8251 Serial ATA Controller 5409 VX855/VX875 APIC and Central Traffic Control 5410 VX900 APIC and Central Traffic Control 6100 VT85C100A [Rhine II] 6287 SATA RAID Controller 6290 K8M890CE Host Bridge 6327 P4M890 Security Device 6353 VX800/VX820 Scratch Registers 6364 CN896/VN896/P4M900 Security Device 6409 VX855/VX875 Scratch Registers 6410 VX900 Scratch Registers 19da a179 ZBOX nano VD01 7122 VX900 Graphics [Chrome9 HD] 7204 K8M800 Host Bridge 7205 KM400/KN400/P4M800 [S3 UniChrome] 1458 d000 Gigabyte GA-7VM400(A)M(F) Motherboard 1462 7061 MS-7061 7208 PT890 Host Bridge 7238 K8T890 Host Bridge 7258 PT880 Host Bridge 7259 CN333/CN400/PM880 Host Bridge 7269 KT880 Host Bridge 7282 K8T800Pro Host Bridge 7290 K8M890 Host Bridge 7293 PM896 Host Bridge 7296 P4M800 Host Bridge 7308 PT894 Host Bridge 7314 CN700/VN800/P4M800CE/Pro Host Bridge 7324 CX700/VX700 Host Bridge 7327 P4M890 Host Bridge 7336 K8M890CE Host Bridge 7340 PT900 Host Bridge 7351 VT3351 Host Bridge 7353 VX800/VX820 North-South Module Interface Control 7364 CN896/VN896/P4M900 Host Bridge 7409 VX855/VX875 North-South Module Interface Control 7410 VX900 North-South Module Interface Control 19da a179 ZBOX nano VD01 8231 VT8231 [PCI-to-ISA Bridge] 8235 VT8235 ACPI 8305 VT8363/8365 [KT133/KM133 AGP] 8324 CX700/VX700 PCI to ISA Bridge 8353 VX800/VX820 Bus Control and Power Management 8391 VT8371 [KX133 AGP] 8400 MVP4 8409 VX855/VX875 Bus Control and Power Management 8410 VX900 Bus Control and Power Management 19da a179 ZBOX VD01 8500 KLE133/PLE133/PLE133T 8501 VT8501 [Apollo MVP4 AGP] 8596 VT82C596 [Apollo PRO AGP] 8597 VT82C597 [Apollo VP3 AGP] 8598 VT82C598/694x [Apollo MVP3/Pro133x AGP] 1019 0985 P6VXA Motherboard 8601 VT8601 [Apollo ProMedia AGP] 8605 VT8605 [PM133 AGP] 8691 VT82C691 [Apollo Pro] 8693 VT82C693 [Apollo Pro Plus] PCI Bridge 8a25 PL133/PL133T [S3 ProSavage] 8a26 KL133/KL133A/KM133/KM133A [S3 ProSavage] 8d01 PN133/PN133T [S3 Twister] 8d04 KM266/P4M266/P4M266A/P4N266 [S3 ProSavageDDR] 9001 VX900 Serial ATA Controller 9082 Standard AHCI 1.0 SATA Controller 9140 HDMI Audio Device 9201 USB3.0 Controller 9530 Secure Digital Memory Card Controller 95d0 SDIO Host Controller a208 PT890 PCI to PCI Bridge Controller a238 K8T890 PCI to PCI Bridge Controller a327 P4M890 PCI to PCI Bridge Controller a353 VX8xx South-North Module Interface Control a364 CN896/VN896/P4M900 PCI to PCI Bridge Controller a409 VX855/VX875 USB Device Controller a410 VX900 PCI Express Root Port 0 b091 VT8633 [Apollo Pro266 AGP] b099 VT8366/A/7 [Apollo KT266/A/333 AGP] b101 VT8653 AGP Bridge b102 VT8362 AGP Bridge b103 VT8615 AGP Bridge b112 VT8361 [KLE133] AGP Bridge b113 VPX/VPX2 I/O APIC Interrupt Controller b115 VT8363/8365 [KT133/KM133] PCI Bridge b168 VT8235 PCI Bridge b188 VT8237/8251 PCI bridge [K8M890/K8T800/K8T890 South] 147b 1407 KV8-MAX3 motherboard b198 VT8237/VX700 PCI Bridge b213 VPX/VPX2 I/O APIC Interrupt Controller b353 VX855/VX875/VX900 PCI to PCI Bridge b410 VX900 PCI Express Root Port 1 b999 [K8T890 North / VT8237 South] PCI Bridge c208 PT890 PCI to PCI Bridge Controller c238 K8T890 PCI to PCI Bridge Controller c327 P4M890 PCI to PCI Bridge Controller c340 PT900 PCI to PCI Bridge Controller c353 VX800/VX820 PCI Express Root Port c364 CN896/VN896/P4M900 PCI to PCI Bridge Controller c409 VX855/VX875 EIDE Controller c410 VX900 PCI Express Root Port 2 d104 VT8237R USB UDCI Controller d208 PT890 PCI to PCI Bridge Controller d213 VPX/VPX2 PCI to PCI Bridge Controller d238 K8T890 PCI to PCI Bridge Controller d340 PT900 PCI to PCI Bridge Controller d410 VX900 PCI Express Root Port 3 e208 PT890 PCI to PCI Bridge Controller e238 K8T890 PCI to PCI Bridge Controller e340 PT900 PCI to PCI Bridge Controller e353 VX800/VX820 PCI Express Root Port e410 VX900 PCI Express Physical Layer Electrical Sub-block f208 PT890 PCI to PCI Bridge Controller f238 K8T890 PCI to PCI Bridge Controller f340 PT900 PCI to PCI Bridge Controller f353 VX800/VX820 PCI Express Root Port 1107 Stratus Computers 0576 VIA VT82C570MV [Apollo] (Wrong vendor ID!) 1108 Proteon, Inc. 0100 p1690plus_AA 0101 p1690plus_AB 0105 P1690Plus 0108 P1690Plus 0138 P1690Plus 0139 P1690Plus 013c P1690Plus 013d P1690Plus 1109 Cogent Data Technologies, Inc. 1400 EM110TX [EX110TX] 110a Siemens AG 0002 Pirahna 2-port 0005 Tulip controller, power management, switch extender 0006 FSC PINC (I/O-APIC) 0015 FSC Multiprocessor Interrupt Controller 001d FSC Copernicus Management Controller 007b FSC Remote Service Controller, mailbox device 007c FSC Remote Service Controller, shared memory device 007d FSC Remote Service Controller, SMIC device 2101 HST SAPHIR V Primary PCI (ISDN/PMx) # Superfastcom-PCI (Commtech, Inc.) or DSCC4 WAN Adapter 2102 DSCC4 PEB/PEF 20534 DMA Supported Serial Communication Controller with 4 Channels 2104 Eicon Diva 2.02 compatible passive ISDN card 3141 SIMATIC NET CP 5611 / 5621 3142 SIMATIC NET CP 5613 / 5614 3143 SIMATIC NET CP 1613 4021 SIMATIC NET CP 5512 (Profibus and MPI Cardbus Adapter) 4029 SIMATIC NET CP 5613 A2 110a 4029 SIMATIC NET CP 5613 A2 110a c029 SIMATIC NET CP 5614 A2 4035 SIMATIC NET CP 1613 A2 4036 SIMATIC NET CP 1616 4038 SIMATIC NET CP 1604 4069 SIMATIC NET CP 5623 110a 4069 SIMATIC NET CP 5623 110a c069 SIMATIC NET CP 5624 407c SIMATIC NET CP 5612 407d SIMATIC NET CP 5613 A3 407e SIMATIC NET CP 5622 4083 SIMATIC NET CP 5614 A3 4084 SIMATIC NET CP 1626 4942 FPGA I-Bus Tracer for MBD 6120 SZB6120 110b Chromatic Research Inc. 0001 Mpact Media Processor 0004 Mpact 2 110c Mini-Max Technology, Inc. 110d Znyx Advanced Systems 110e CPU Technology 110f Ross Technology 1110 Powerhouse Systems 6037 Firepower Powerized SMP I/O ASIC 6073 Firepower Powerized SMP I/O ASIC 1111 Santa Cruz Operation # Also claimed to be RNS or Rockwell International, current PCISIG records list Osicom 1112 Osicom Technologies Inc 2200 FDDI Adapter 2300 Fast Ethernet Adapter 2340 4 Port Fast Ethernet Adapter 2400 ATM Adapter 1113 Accton Technology Corporation 1211 SMC2-1211TX 103c 1207 EN-1207D Fast Ethernet Adapter 1113 1211 EN-1207D Fast Ethernet Adapter 1216 EN-1216 Ethernet Adapter 1113 1216 EN1207F series PCI Fast Ethernet Adapter 1113 2220 EN2220A Cardbus Fast Ethernet Adapter 1113 2242 EN2242 10/100 Ethernet Mini-PCI Card 111a 1020 SpeedStream 1020 PCI 10/100 Ethernet Adaptor [EN-1207F-TX ?] 1217 EN-1217 Ethernet Adapter 5105 10Mbps Network card 9211 EN-1207D Fast Ethernet Adapter 1113 9211 EN-1207D Fast Ethernet Adapter 9511 21x4x DEC-Tulip compatible Fast Ethernet d301 CPWNA100 (Philips wireless PCMCIA) ec02 SMC 1244TX v3 ee23 SMCWPCIT-G 108Mbps Wireless PCI adapter 1114 Atmel Corporation 0506 at76c506 802.11b Wireless Network Adaptor 1115 3D Labs 1116 Data Translation 0022 DT3001 0023 DT3002 0024 DT3003 0025 DT3004 0026 DT3005 0027 DT3001-PGL 0028 DT3003-PGL 0051 DT322 0060 DT340 0069 DT332 80c2 DT3162 1117 Datacube, Inc 9500 Max-1C SVGA card 9501 Max-1C image processing 1118 Berg Electronics 1119 ICP Vortex Computersysteme GmbH 0000 GDT 6000/6020/6050 0001 GDT 6000B/6010 0002 GDT 6110/6510 0003 GDT 6120/6520 0004 GDT 6530 0005 GDT 6550 0006 GDT 6117/6517 0007 GDT 6127/6527 0008 GDT 6537 0009 GDT 6557/6557-ECC 000a GDT 6115/6515 000b GDT 6125/6525 000c GDT 6535 000d GDT 6555/6555-ECC 0100 GDT 6117RP/6517RP 0101 GDT 6127RP/6527RP 0102 GDT 6537RP 0103 GDT 6557RP 0104 GDT 6111RP/6511RP 0105 GDT 6121RP/6521RP 0110 GDT 6117RD/6517RD 0111 GDT 6127RD/6527RD 0112 GDT 6537RD 0113 GDT 6557RD 0114 GDT 6111RD/6511RD 0115 GDT 6121RD/6521RD 0118 GDT 6118RD/6518RD/6618RD 0119 GDT 6128RD/6528RD/6628RD 011a GDT 6538RD/6638RD 011b GDT 6558RD/6658RD 0120 GDT 6117RP2/6517RP2 0121 GDT 6127RP2/6527RP2 0122 GDT 6537RP2 0123 GDT 6557RP2 0124 GDT 6111RP2/6511RP2 0125 GDT 6121RP2/6521RP2 0136 GDT 6113RS/6513RS 0137 GDT 6123RS/6523RS 0138 GDT 6118RS/6518RS/6618RS 0139 GDT 6128RS/6528RS/6628RS 013a GDT 6538RS/6638RS 013b GDT 6558RS/6658RS 013c GDT 6533RS/6633RS 013d GDT 6543RS/6643RS 013e GDT 6553RS/6653RS 013f GDT 6563RS/6663RS 0166 GDT 7113RN/7513RN/7613RN 0167 GDT 7123RN/7523RN/7623RN 0168 GDT 7118RN/7518RN/7518RN 0169 GDT 7128RN/7528RN/7628RN 016a GDT 7538RN/7638RN 016b GDT 7558RN/7658RN 016c GDT 7533RN/7633RN 016d GDT 7543RN/7643RN 016e GDT 7553RN/7653RN 016f GDT 7563RN/7663RN 01d6 GDT 4x13RZ 01d7 GDT 4x23RZ 01f6 GDT 8x13RZ 01f7 GDT 8x23RZ 01fc GDT 8x33RZ 01fd GDT 8x43RZ 01fe GDT 8x53RZ 01ff GDT 8x63RZ 0210 GDT 6519RD/6619RD 0211 GDT 6529RD/6629RD 0260 GDT 7519RN/7619RN 0261 GDT 7529RN/7629RN 02ff GDT MAXRP 0300 GDT NEWRX 0301 GDT NEWRX2 111a Efficient Networks, Inc 0000 155P-MF1 (FPGA) 0002 155P-MF1 (ASIC) 0003 ENI-25P ATM 111a 0000 ENI-25p Miniport ATM Adapter 0005 SpeedStream (LANAI) 111a 0001 ENI-3010 ATM 111a 0009 ENI-3060 ADSL (VPI=0) 111a 0101 ENI-3010 ATM 111a 0109 ENI-3060CO ADSL (VPI=0) 111a 0809 ENI-3060 ADSL (VPI=0 or 8) 111a 0909 ENI-3060CO ADSL (VPI=0 or 8) 111a 0a09 ENI-3060 ADSL (VPI=<0..15>) 0007 SpeedStream ADSL 111a 1001 ENI-3061 ADSL [ASIC] 1020 SpeedStream PCI 10/100 Network Card 1203 SpeedStream 1023 Wireless PCI Adapter 111b Teledyne Electronic Systems 111c Tricord Systems Inc. 0001 Powerbis Bridge # now owned by Microchip Technology 111d Microsemi / PMC / IDT 0001 IDT77201/77211 155Mbps ATM SAR Controller [NICStAR] 0003 IDT77222/77252 155Mbps ATM MICRO ABR SAR Controller 0004 IDT77V252 155Mbps ATM MICRO ABR SAR Controller 0005 IDT77V222 155Mbps ATM MICRO ABR SAR Controller 8018 PES12N3A 12-lane 3-Port PCI Express Switch 801c PES24N3A PCI Express Switch 8028 PES4T4 PCI Express Switch 802b PES8T5A PCI Express Switch 802c PES16T4 PCI Express Switch 802d PES16T7 PCI Express Switch 802e PES24T6 PCI Express Switch 802f PES32T8 PCI Express Switch 8032 PES48T12 PCI Express Switch 8034 PES16/22/34H16 PCI Express Switch 8035 PES32H8 PCI Express Switch 8036 PES48H12 PCI Express Switch 8037 PES64H16 PCI Express Switch 8039 PES3T3 PCI Express Switch 803a PES4T4 PCI Express Switch 803c PES5T5 PCI Express Switch 803d PES6T5 PCI Express Switch 8048 PES8NT2 PCI Express Switch 8049 PES8NT2 PCI Express Switch 804a PES8NT2 PCI Express Internal NTB 804b PES8NT2 PCI Express External NTB 804c PES16NT2 PCI Express Switch 804d PES16NT2 PCI Express Switch 804e PES16NT2 PCI Express Internal NTB 804f PES16NT2 PCI Express External NTB 8058 PES12NT3 PCI Express Switch 8059 PES12NT3 PCI Express Switch 805a PES12NT3 PCI Express Internal NTB 805b PES12NT3 PCI Express External NTB 805c PES24NT3 PCI Express Switch 805d PES24NT3 PCI Express Switch 805e PES24NT3 PCI Express Internal NTB 805f PES24NT3 PCI Express External NTB 8060 PES16T4G2 PCI Express Gen2 Switch 8061 PES12T3G2 PCI Express Gen2 Switch 8068 PES6T6G2 PCI Express Gen2 Switch 806a PES24T3G2 PCI Express Gen2 Switch 14c1 000c 10G-PCIE2-8B2 806c PES16T4A/4T4G2 PCI Express Gen2 Switch 806e PES24T6G2 PCI Express Gen2 Switch 806f HIO524G2 PCI Express Gen2 Switch 8077 89HPES64H16G2 64-Lane 16-Port PCIe Gen2 System Interconnect Switch 8088 PES32NT8BG2 PCI Express Switch 1093 752f PXIe-8383mc Device 1093 7543 PXIe-8383mc System Host 1093 755c PXIe-8364 1093 755d PXIe-8374 1093 75ff PXIe-8383mc DMA 1093 7600 PXIe-8383mc DMA 1093 7602 PXIe-8384 # 32-lanes 24-ports Gen.2 808a 89HPES32NT24BG2 PCI Express Switch # 32-lanes 24-ports Gen.2 808c 89HPES32NT24AG2 PCI Express Switch 808e PES24NT24G2 PCI Express Switch 808f 89HPES32NT8AG2 32-Lane 8-Port PCIe Gen2 System Interconnect Switch with Non-Transparent Bridging 8090 89HPES16NT16G2 16-Lane 16-Port PCIe Gen2 System Interconnect Switch 8092 89HPES12NT12G2 12-Lane 12-Port PCIe Gen2 System Interconnect Switch 80cf F32P08xG3 [PCIe boot mode] 80d2 F32P08xG3 NVMe controller 111e Eldec 111f Precision Digital Images 4a47 Precision MX Video engine interface 5243 Frame capture bus interface # formerly EMC Corporation 1120 Dell EMC 2306 Unity Fibre Channel Controller 2501 Unity Ethernet Controller 2505 Unity Fibre Channel Controller 1121 Zilog 1122 Multi-tech Systems, Inc. 1123 Excellent Design, Inc. 1124 Leutron Vision AG 2581 Picport Monochrome 1125 Eurocore 1126 Vigra 1127 FORE Systems Inc 0200 ForeRunner PCA-200 ATM 0210 PCA-200PC 0250 ATM 0300 ForeRunner PCA-200EPC ATM 0310 ATM 0400 ForeRunnerHE ATM Adapter 1127 0400 ForeRunnerHE ATM 1129 Firmworks 112a Hermes Electronics Company, Ltd. # nee Linotype - Hell AG 112b Heidelberger Druckmaschinen AGHeidelberger Druckmaschinen AG 112c Zenith Data Systems 112d Ravicad 112e Infomedia Microelectronics Inc. 112f Dalsa Inc. 0000 MVC IC-PCI 0001 MVC IM-PCI Video frame grabber/processor 0004 PCDig Digital Image Capture 0008 PC-CamLink PCI framegrabber 1130 Computervision 1131 Philips Semiconductors 1561 USB 1.1 Host Controller 1775 c200 C2K onboard USB 1.1 host controller 1562 USB 2.0 Host Controller 1775 c200 C2K onboard USB 2.0 host controller 3400 SmartPCI56(UCB1500) 56K Modem 5400 TriMedia TM1000/1100 12ca 0000 BlueICE 5402 TriMedia TM1300 1244 0f00 Fritz!Card DSL 15eb 1300 DT1300 15eb 1302 DT1302 15eb 1304 DT1304 15eb 1305 DT1305 15eb 1306 PMCDT1306 15eb 1308 DT1308 15eb 1331 DT1301 with SAA7121 15eb 1337 DT1301 with SAA7127 15eb 2d3d X3D 15eb 7022 PTM1300 5405 TriMedia TM1500 1136 0005 LCP-1500 5406 TriMedia TM1700 540b PNX1005 Media Processor 1131 0020 PNXLite PCI Demo Board 7130 SAA7130 Video Broadcast Decoder 0000 4016 Behold TV 401 0000 4051 Behold TV 405 FM 0000 5051 Behold TV 505 RDS 0000 505b Behold TV 505 RDS 102b 48d0 Matrox CronosPlus 1048 226b ELSA EX-VISION 300TV 107d 6655 WinFast DTV1000S 1131 0000 SAA7130-based TV tuner card 1131 2001 10MOONS PCI TV CAPTURE CARD 1131 2005 Techcom (India) TV Tuner Card (SSD-TV-670) 1458 9006 GT-PS700 DVB-S tuner 1461 050c Nagase Sangyo TransGear 3000TV 1461 10ff AVerMedia DVD EZMaker 1461 2108 AverMedia AverTV/305 1461 2115 AverMedia AverTV Studio 305 153b 1152 Terratec Cinergy 200 TV 185b c100 Compro VideoMate TV PVR/FM 185b c901 Videomate DVB-T200 5168 0138 LifeView FlyVIDEO2000 5ace 5010 Behold TV 501 5ace 5050 Behold TV 505 FM 7133 SAA7131/SAA7133/SAA7135 Video Broadcast Decoder 0000 4091 Beholder BeholdTV 409 FM 0000 5071 Behold TV 507 RDS 0000 507b Behold TV 507 RDS 0000 5201 Behold TV Columbus 0070 6701 WinTV HVR-1110 1019 4cb5 Elitegroup ECS TVP3XP FM1236 Tuner Card (NTSC,FM) 1043 0210 FlyTV mini Asus Digimatrix 1043 4843 TV-FM 7133 1043 4845 TV-FM 7135 1043 4862 P7131 Dual 1043 4876 My Cinema-P7131 Hybrid 1131 0000 SAA713x-based TV tuner card 1131 2001 Proteus Pro [philips reference design] 1131 2018 Tiger reference design 1131 4ee9 MonsterTV Mobile 1131 7133 Pinnacle PCTV 301i 11bd 002b PCTV Stereo 11bd 002e PCTV 110i (saa7133) 12ab 0800 PURPLE TV 13c2 2804 Technotrend Budget T-3000 Hybrid 1421 0335 Instant TV DVB-T Cardbus 1421 1370 Instant TV (saa7135) 1435 7330 VFG7330 1435 7350 VFG7350 1458 9001 GC-PTV-TAF Hybrid TV card 1458 9002 GT-PTV-TAF-RH DVB-T/Analog TV/FM tuner 1458 9003 GT-PTV-AF-RH Analog TV/FM tuner 1458 9004 GT-P8000 DVB-T/Analog TV/FM tuner 1458 9005 GT-P6000 Analog TV/FM tuner 1458 9008 GT-P5100 Analog TV tuner 1461 1044 AVerTVHD MCE A180 1461 4836 M10D Hybrid DVBT 1461 861e M105 PAL/SECAM/NTSC/FM Tuner 1461 a14b AVerTV Studio 509 1461 a836 M115 DVB-T, PAL/SECAM/NTSC Tuner 1461 f01d DVB-T Super 007 1461 f31f Avermedia AVerTV GO 007 FM 1461 f936 Hybrid+FM PCI (rev A16D) 1462 6231 TV@nywhere Plus 1489 0214 LifeView FlyTV Platinum FM 14c0 1212 LifeView FlyTV Platinum Mini2 153b 1160 Cinergy 250 PCI TV 153b 1162 Terratec Cinergy 400 mobile 17de 7256 PlusTV All In One PI610 card 17de 7350 ATSC 110 Digital / Analog HDTV Tuner 17de 7352 ATSC 115 Digital / Analog HDTV Tuner 185b c100 VideoMate TV 185b c900 VideoMate T750 5168 0306 LifeView FlyDVB-T DUO 5168 0319 LifeView FlyDVB Trio 5168 0502 LifeView FlyDVB-T Duo CardBus 5168 0520 LifeView FlyDVB Trio CardBus 5168 1502 LifeView FlyTV CardBus 5168 2502 LifeView FlyDVB-T CardBus 5168 2520 LifeView FlyDVB-S Duo CardBus 5168 3502 LifeView FlyDVB-T Hybrid CardBus 5168 3520 LifeView FlyDVB Trio N CardBus 5ace 5030 Behold TV 503 FM 5ace 5090 Behold TV 509 FM 5ace 6090 Behold TV 609 FM 5ace 6091 Behold TV 609 FM 5ace 6092 Behold TV 609 RDS 5ace 6093 Behold TV 609 RDS 5ace 6190 Behold TV M6 5ace 6191 Behold TV M63 5ace 6193 Behold TV M6 Extra 5ace 6290 Behold TV H6 5ace 7090 Behold TV A7 5ace 7150 Behold TV H75 5ace 7151 Behold TV H75 5ace 7190 Behold TV H7 5ace 7191 Behold TV H7 5ace 7290 Behold TV T7 5ace 7591 Behold TV X7 5ace 7595 Behold TV X7 7134 SAA7134/SAA7135HL Video Broadcast Decoder 0000 4036 Behold TV 403 0000 4037 Behold TV 403 FM 0000 4071 Behold TV 407 FM 1019 4cb4 Elitegroup ECS TVP3XP FM1216 Tuner Card(PAL-BG,FM) 1043 0210 Digimatrix TV 1043 4840 TV-FM 7134 1043 4842 TV-FM 7134 1131 0000 SAA713x-based TV tuner card 1131 2004 EUROPA V3 reference design 1131 4e85 SKNet Monster TV 1131 6752 EMPRESS 11bd 002b PCTV Stereo 11bd 002d PCTV 300i DVB-T + PAL 1461 2c00 AverTV Hybrid+FM PCI 1461 9715 AVerTV Studio 307 1461 a70a Avermedia AVerTV 307 1461 a70b AverMedia M156 / Medion 2819 1461 d6ee Cardbus TV/Radio (E500) 1471 b7e9 AVerTV Cardbus plus 153b 1142 Terratec Cinergy 400 TV 153b 1143 Terratec Cinergy 600 TV 153b 1158 Terratec Cinergy 600 TV MK3 1540 9524 ProVideo PV952 16be 0003 Medion 7134 185b c200 Compro VideoMate Gold+ Pal 185b c900 Videomate DVB-T300 1894 a006 KNC One TV-Station DVR 1894 fe01 KNC One TV-Station RDS / Typhoon TV Tuner RDS 5168 0138 FLY TV PRIME 34FM 5168 0300 FlyDVB-S 5ace 5070 Behold TV 507 FM 5ace 6070 Behold TV 607 FM 5ace 6071 Behold TV 607 FM 5ace 6072 Behold TV 607 RDS 5ace 6073 Behold TV 607 RDS 7145 SAA7145 7146 SAA7146 110a 0000 Fujitsu/Siemens DVB-C card rev1.5 110a ffff Fujitsu/Siemens DVB-C card rev1.5 1124 2581 Leutron Vision PicPort 1131 4f56 KNC1 DVB-S Budget 1131 4f60 Fujitsu-Siemens Activy DVB-S Budget Rev AL 1131 4f61 Activy DVB-S Budget Rev GR 1131 5f61 Activy DVB-T Budget 114b 2003 DVRaptor Video Edit/Capture Card 1159 0040 MuTech M-Vision 500 (MV-500 rev. E) 1159 0050 MuTech M-Vision 500 (MV-500 rev. F) 11bd 0006 DV500 Overlay 11bd 000a DV500 Overlay 11bd 000f DV500 Overlay 13c2 0000 Siemens/Technotrend/Hauppauge DVB card rev1.3 or rev1.5 13c2 0001 Technotrend/Hauppauge DVB card rev1.3 or rev1.6 13c2 0002 Technotrend/Hauppauge DVB card rev2.1 13c2 0003 Technotrend/Hauppauge DVB card rev2.1 13c2 0004 Technotrend/Hauppauge DVB card rev2.1 13c2 0006 Technotrend/Hauppauge DVB card rev1.3 or rev1.6 13c2 0008 Technotrend/Hauppauge DVB-T 13c2 000a Octal/Technotrend DVB-C for iTV 13c2 000e Technotrend/Hauppauge DVB card rev2.3 13c2 1003 Technotrend-Budget/Hauppauge WinTV-NOVA-S DVB card 13c2 1004 Technotrend-Budget/Hauppauge WinTV-NOVA-C DVB card 13c2 1005 Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card 13c2 100c Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card 13c2 100f Technotrend-Budget/Hauppauge WinTV-NOVA-CI DVB card 13c2 1010 DVB C-1500 13c2 1011 Technotrend-Budget/Hauppauge WinTV-NOVA-T DVB card 13c2 1012 DVB T-1500 13c2 1013 SATELCO Multimedia DVB 13c2 1016 WinTV-NOVA-SE DVB card 13c2 1018 DVB S-1401 13c2 1019 S2-3200 13c2 1102 Technotrend/Hauppauge DVB card rev2.1 153b 1155 Cinergy 1200 DVB-S 153b 1156 Cinergy 1200 DVB-C 153b 1157 Cinergy 1200 DVB-T 153b 1176 Cinergy 1200 DVB-C (MK3) 1894 0020 KNC One DVB-C V1.0 1894 0023 TVStation DVB-C plus # http://www.knc1.com/gb.htm 1894 0054 TV-Station DVB-S 7160 SAA7160 1458 9009 E8000 DVB-T/Analog TV/FM tuner 1461 1455 AVerTV Hybrid Speedy PCI-E (H788) 7162 SAA7162 11bd 0101 Pinnacle PCTV 7010iX TV Card 7164 SAA7164 0070 8800 WinTV HVR-2250 0070 8810 WinTV HVR-2250 0070 8851 WinTV HVR-2250 0070 8853 WinTV HVR-2250 0070 8880 WinTV HVR-2250 0070 8891 WinTV HVR-2250 0070 88a0 WinTV HVR-2250 0070 88a1 WinTV HVR-2250 0070 8900 WinTV HVR-2200 0070 8901 WinTV HVR-2200 0070 8940 WinTV HVR-2200 (submodel 89619) 0070 8951 WinTV HVR-2200 0070 8953 WinTV HVR-2200 0070 8980 WinTV HVR-2200 0070 8991 WinTV HVR-2200 0070 8993 WinTV HVR-2200 0070 89a0 WinTV HVR-2200 0070 89a1 WinTV HVR-2200 0070 f120 WinTV HVR-2205 0070 f123 WinTV HVR-2215 7231 SAA7231 5ace 8000 Behold TV H8 5ace 8001 Behold TV H8 5ace 8050 Behold TV H85 5ace 8051 Behold TV H85 5ace 8100 Behold TV A8 5ace 8101 Behold TV A8 5ace 8150 Behold TV A85 5ace 8151 Behold TV A85 5ace 8201 Behold TV T8 9730 SAA9730 Integrated Multimedia and Peripheral Controller 1131 0000 Integrated Multimedia and Peripheral Controller 1132 Mitel Corp. 1133 Dialogic Corporation 7701 Eiconcard C90 7711 Eiconcard C91 7901 EiconCard S90 7902 EiconCard S90 7911 EiconCard S91 7912 EiconCard S91 7921 Eiconcard S92 7941 EiconCard S94 7942 EiconCard S94 7943 EiconCard S94 7944 EiconCard S94 7945 Eiconcard S94 7948 Eiconcard S94 64bit/66MHz 9711 Eiconcard S91 V2 9911 Eiconcard S91 V2 9941 Eiconcard S94 V2 9a41 Eiconcard S94 PCIe b921 EiconCard P92 b922 EiconCard P92 b923 EiconCard P92 e001 Diva Pro 2.0 S/T e002 Diva 2.0 S/T PCI e003 Diva Pro 2.0 U e004 Diva 2.0 U PCI e005 Diva 2.01 S/T PCI e006 Diva CT S/T PCI e007 Diva CT U PCI e008 Diva CT Lite S/T PCI e009 Diva CT Lite U PCI e00a Diva ISDN+V.90 PCI e00b Diva ISDN PCI 2.02 e00c Diva 2.02 PCI U e00d Diva Pro 3.0 PCI e00e Diva ISDN+CT S/T PCI Rev 2 e010 Diva Server BRI-2M PCI 110a 0021 Fujitsu Siemens ISDN S0 e011 Diva Server BRI S/T Rev 2 e012 Diva Server 4BRI-8M PCI e013 4BRI 1133 1300 Diva V-4BRI-8 PCI v2 1133 e013 Diva 4BRI-8 PCI v2 e014 Diva Server PRI-30M PCI e015 Diva PRI PCI v2 e016 Diva Server Voice 4BRI PCI e017 Diva Server Voice 4BRI Rev 2 1133 e017 Diva Server Voice 4BRI-8M 2.0 PCI e018 BRI 1133 1800 Diva V-BRI-2 PCI v2 1133 e018 Diva BRI-2 PCI v2 e019 Diva Server Voice PRI Rev 2 1133 e019 Diva Server Voice PRI 2.0 PCI e01a Diva BRI-2FX PCI v2 e01b Diva Server Voice BRI-2M 2.0 PCI 1133 e01b Diva Server Voice BRI-2M 2.0 PCI e01c PRI 1133 1c01 Diva PRI/E1/T1-8 PCI v3 1133 1c02 Diva PRI/T1-24 PCI(e) v3 1133 1c03 Diva PRI/E1-30 PCI(e) v3 1133 1c04 Diva PRI/E1/T1-CTI PCI(e) v3 1133 1c05 Diva V-PRI/T1-24 PCI(e) v3 1133 1c06 Diva V-PRI/E1-30 PCI(e) v3 1133 1c07 Diva Server PRI/E1/T1-8 Cornet NQ 1133 1c08 Diva Server PRI/T1-24 Cornet NQ 1133 1c09 Diva Server PRI/E1-30 Cornet NQ 1133 1c0a Diva Server PRI/E1/T1 Cornet NQ 1133 1c0b Diva Server V-PRI/T1-24 Cornet NQ 1133 1c0c Diva Server V-PRI/E1-30 Cornet NQ e01e 2PRI 1133 1e01 Diva 2PRI/E1/T1-60 PCI v1 1133 e01e Diva V-2PRI/E1/T1-60 PCI v1 e020 4PRI 1133 2001 Diva 4PRI/E1/T1-120 PCI v1 1133 e020 Diva V-4PRI/E1/T1-120 PCI v1 e022 Analog-2 1133 2200 Diva V-Analog-2 PCI v1 1133 e022 Diva Analog-2 PCI v1 e024 Analog-4 1133 2400 Diva V-Analog-4 PCI v1 1133 e024 Diva Analog-4 PCI v1 e028 Analog-8 1133 2800 Diva V-Analog-8 PCI v1 1133 e028 Diva Analog-8 PCI v1 e02a Diva IPM-300 PCI v1 e02c Diva IPM-600 PCI v1 e02e 4BRI 1133 2e01 Diva V-4BRI-8 PCIe v2 1133 e02e Diva 4BRI-8 PCIe v2 e032 BRI 1133 3201 Diva V-BRI-2 PCIe v2 1133 e032 Diva BRI-2 PCIe v2 e034 Diva BRI-CTI PCI v2 1134 Mercury Computer Systems 0001 Raceway Bridge 0002 Dual PCI to RapidIO Bridge 000b POET Serial RapidIO Bridge 000d POET PSDMS Device 1135 Fuji Xerox Co Ltd 0001 Printer controller 1136 Momentum Data Systems 0002 PCI-JTAG 1137 Cisco Systems Inc 0023 VIC 81 PCIe Upstream Port 0040 VIC PCIe Upstream Port 1137 004f VIC 1280 Dual 40Gb Mezzanine 1137 0084 VIC 1240 Dual 40Gb MLOM 1137 0085 VIC 1225 Dual 10Gb SFP+ PCIe 1137 00cd VIC 1285 Dual 40Gb QSFP+ PCIe 1137 00ce VIC 1225T Dual 10GBaseT PCIe 1137 012a VIC M4308 Dual 40Gb 1137 012c VIC 1340 Dual 40Gb MLOM 1137 012e VIC 1227 Dual 10Gb SFP+ PCIe 1137 0137 VIC 1380 Dual 40Gb Mezzanine 1137 014d VIC 1385 Dual 40Gb PCIe 0041 VIC PCIe Downstream Port 0042 VIC Management Controller 1137 0047 VIC P81E PCIe Management Controller 1137 0085 VIC 1225 PCIe Management Controller 1137 00cd VIC 1285 PCIe Management Controller 1137 00ce VIC 1225T PCIe Management Controller 1137 012e VIC 1227 PCIe Management Controller 1137 014d VIC 1385 PCIe Management Controller 1137 0217 VIC 1455 PCIe Management Controller 1137 0218 VIC 1457 PCIe Management Controller 0043 VIC Ethernet NIC 1137 0047 VIC P81E PCIe Ethernet NIC 1137 0048 VIC M81KR Mezzanine Ethernet NIC 1137 004f VIC 1280 Mezzanine Ethernet NIC 1137 0084 VIC 1240 MLOM Ethernet NIC 1137 0085 VIC 1225 PCIe Ethernet NIC 1137 00cd VIC 1285 PCIe Ethernet NIC 1137 00ce VIC 1225T PCIe Ethernet NIC 1137 012a VIC M4308 Ethernet NIC 1137 012c VIC 1340 MLOM Ethernet NIC 1137 012e VIC 1227 PCIe Ethernet NIC 1137 0137 VIC 1380 Mezzanine Ethernet NIC 1137 014d VIC 1385 PCIe Ethernet NIC 1137 015d VIC 1387 MLOM Ethernet NIC 1137 0215 VIC 1440 Mezzanine Ethernet NIC 1137 0216 VIC 1480 MLOM Ethernet NIC 1137 0217 VIC 1455 PCIe Ethernet NIC 1137 0218 VIC 1457 MLOM Ethernet NIC 1137 0219 VIC 1485 PCIe Ethernet NIC 1137 021a VIC 1487 MLOM Ethernet NIC 1137 024a VIC 1495 PCIe Ethernet NIC 1137 024b VIC 1497 MLOM Ethernet NIC 0044 VIC Ethernet NIC Dynamic 1137 0047 VIC P81E PCIe Ethernet NIC Dynamic 1137 0048 VIC M81KR Mezzanine Ethernet NIC Dynamic 1137 004f VIC 1280 Mezzanine Ethernet NIC Dynamic 1137 0084 VIC 1240 MLOM Ethernet NIC Dynamic 1137 0085 VIC 1225 PCIe Ethernet NIC Dynamic 1137 00cd VIC 1285 PCIe Ethernet NIC Dynamic 1137 00ce VIC 1225T PCIe Ethernet NIC Dynamic 1137 012a VIC M4308 Ethernet NIC Dynamic 1137 012c VIC 1340 MLOM Ethernet NIC Dynamic 1137 012e VIC 1227 PCIe Ethernet NIC Dynamic 1137 0137 VIC 1380 Mezzanine Ethernet NIC Dynamic 1137 014d VIC 1385 PCIe Ethernet NIC Dynamic 0045 VIC FCoE HBA 1137 0047 VIC P81E PCIe FCoE HBA 1137 0048 VIC M81KR Mezzanine FCoE HBA 1137 004f VIC 1280 Mezzanine FCoE HBA 1137 0084 VIC 1240 MLOM FCoE HBA 1137 0085 VIC 1225 PCIe FCoE HBA 1137 00cd VIC 1285 PCIe FCoE HBA 1137 00ce VIC 1225T PCIe FCoE HBA 1137 012a VIC M4308 FCoE HBA 1137 012c VIC 1340 MLOM FCoE HBA 1137 012e VIC 1227 PCIe FCoE HBA 1137 0137 VIC 1380 Mezzanine FCoE HBA 1137 014d VIC 1385 PCIe FCoE HBA 0046 VIC SCSI Controller 1137 012a VIC M4308 SCSI Controller 004e VIC 82 PCIe Upstream Port 0071 VIC SR-IOV VF 007a VIC 1300 PCIe Upstream Port 1137 012a VIC M4308 Dual 40Gb 1137 012c VIC 1340 Dual 40Gb MLOM 1137 0137 VIC 1380 Dual 40Gb Mezzanine 1137 014d VIC 1385 Dual 40Gb PCIe 00cf VIC Userspace NIC 1137 004f VIC 1280 Mezzanine Userspace NIC 1137 0084 VIC 1240 MLOM Userspace NIC 1137 0085 VIC 1225 PCIe Userspace NIC 1137 00cd VIC 1285 PCIe Userspace NIC 1137 00ce VIC 1225T PCIe Userspace NIC 1137 012a VIC M4308 Userspace NIC 1137 012c VIC 1340 MLOM Userspace NIC 1137 012e VIC 1227 PCIe Userspace NIC 1137 0137 VIC 1380 Mezzanine Userspace NIC 023e 1GigE I350 LOM 1138 Ziatech Corporation 8905 8905 [STD 32 Bridge] 1139 Dynamic Pictures, Inc 0001 VGA Compatible 3D Graphics 113a FWB Inc 113b Network Computing Devices 113c Cyclone Microsystems, Inc. 0000 PCI-9060 i960 Bridge 0001 PCI-SDK [PCI i960 Evaluation Platform] 0911 PCI-911 [i960Jx-based Intelligent I/O Controller] 0912 PCI-912 [i960CF-based Intelligent I/O Controller] 0913 PCI-913 0914 PCI-914 [I/O Controller w/ secondary PCI bus] 113d Leading Edge Products Inc 113e Sanyo Electric Co - Computer Engineering Dept 113f Equinox Systems, Inc. 0808 SST-64P Adapter 1010 SST-128P Adapter 80c0 SST-16P DB Adapter 80c4 SST-16P RJ Adapter 80c8 SST-16P Adapter 8888 SST-4P Adapter 9090 SST-8P Adapter 1140 Intervoice Inc 1141 Crest Microsystem Inc 1142 Alliance Semiconductor Corporation 3210 AP6410 6422 ProVideo 6422 6424 ProVideo 6424 6425 ProMotion AT25 643d ProMotion AT3D 1143 NetPower, Inc 1144 Cincinnati Milacron 0001 Noservo controller 1145 Workbit Corporation 8007 NinjaSCSI-32 Workbit f007 NinjaSCSI-32 KME f010 NinjaSCSI-32 Workbit f012 NinjaSCSI-32 Logitec f013 NinjaSCSI-32 Logitec f015 NinjaSCSI-32 Melco f020 NinjaSCSI-32 Sony PCGA-DVD51 f021 NinjaPATA-32 Delkin Cardbus UDMA f024 NinjaPATA-32 Delkin Cardbus UDMA f103 NinjaPATA-32 Delkin Cardbus UDMA 1146 Force Computers 1147 Interface Corp # Nee Schneider & Koch 1148 SysKonnect 4000 FDDI Adapter 0e11 b03b Netelligent 100 FDDI DAS Fibre SC 0e11 b03c Netelligent 100 FDDI SAS Fibre SC 0e11 b03d Netelligent 100 FDDI DAS UTP 0e11 b03e Netelligent 100 FDDI SAS UTP 0e11 b03f Netelligent 100 FDDI SAS Fibre MIC 1148 5521 FDDI SK-5521 (SK-NET FDDI-UP) 1148 5522 FDDI SK-5522 (SK-NET FDDI-UP DAS) 1148 5541 FDDI SK-5541 (SK-NET FDDI-FP) 1148 5543 FDDI SK-5543 (SK-NET FDDI-LP) 1148 5544 FDDI SK-5544 (SK-NET FDDI-LP DAS) 1148 5821 FDDI SK-5821 (SK-NET FDDI-UP64) 1148 5822 FDDI SK-5822 (SK-NET FDDI-UP64 DAS) 1148 5841 FDDI SK-5841 (SK-NET FDDI-FP64) 1148 5843 FDDI SK-5843 (SK-NET FDDI-LP64) 1148 5844 FDDI SK-5844 (SK-NET FDDI-LP64 DAS) 4200 Token Ring adapter 4300 SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) 1148 9821 SK-9821 Gigabit Ethernet Server Adapter (SK-NET GE-T) 1148 9822 SK-9822 Gigabit Ethernet Server Adapter (SK-NET GE-T dual link) 1148 9841 SK-9841 Gigabit Ethernet Server Adapter (SK-NET GE-LX) 1148 9842 SK-9842 Gigabit Ethernet Server Adapter (SK-NET GE-LX dual link) 1148 9843 SK-9843 Gigabit Ethernet Server Adapter (SK-NET GE-SX) 1148 9844 SK-9844 Gigabit Ethernet Server Adapter (SK-NET GE-SX dual link) 1148 9861 SK-9861 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition) 1148 9862 SK-9862 Gigabit Ethernet Server Adapter (SK-NET GE-SX Volition dual link) 1148 9871 SK-9871 Gigabit Ethernet Server Adapter (SK-NET GE-ZX) 1148 9872 SK-9872 Gigabit Ethernet Server Adapter (SK-NET GE-ZX dual link) 1259 2970 AT-2970SX Gigabit Ethernet Adapter 1259 2971 AT-2970LX Gigabit Ethernet Adapter 1259 2972 AT-2970TX Gigabit Ethernet Adapter 1259 2973 AT-2971SX Gigabit Ethernet Adapter 1259 2974 AT-2971T Gigabit Ethernet Adapter 1259 2975 AT-2970SX/2SC Gigabit Ethernet Adapter 1259 2976 AT-2970LX/2SC Gigabit Ethernet Adapter 1259 2977 AT-2970TX/2TX Gigabit Ethernet Adapter 4320 SK-98xx V2.0 Gigabit Ethernet Adapter [Marvell 88E8001] 1148 0121 Marvell RDK-8001 Adapter 1148 0221 Marvell RDK-8002 Adapter 1148 0321 Marvell RDK-8003 Adapter 1148 0421 Marvell RDK-8004 Adapter 1148 0621 Marvell RDK-8006 Adapter 1148 0721 Marvell RDK-8007 Adapter 1148 0821 Marvell RDK-8008 Adapter 1148 0921 Marvell RDK-8009 Adapter 1148 1121 Marvell RDK-8011 Adapter 1148 1221 Marvell RDK-8012 Adapter 1148 3221 SK-9521 V2.0 10/100/1000Base-T Adapter 1148 5021 SK-9821 V2.0 Gigabit Ethernet 10/100/1000Base-T Adapter 1148 5041 SK-9841 V2.0 Gigabit Ethernet 1000Base-LX Adapter 1148 5043 SK-9843 V2.0 Gigabit Ethernet 1000Base-SX Adapter 1148 5051 SK-9851 V2.0 Gigabit Ethernet 1000Base-SX Adapter 1148 5061 SK-9861 V2.0 Gigabit Ethernet 1000Base-SX Adapter 1148 5071 SK-9871 V2.0 Gigabit Ethernet 1000Base-ZX Adapter 1148 9521 SK-9521 10/100/1000Base-T Adapter 1259 2916 AT-2916T 4400 SK-9Dxx Gigabit Ethernet Adapter 4500 SK-9Mxx Gigabit Ethernet Adapter 9000 SK-9Sxx Gigabit Ethernet Server Adapter PCI-X [Marvell 88E8022] 1148 2100 SK-9S21 10/100/1000Base-T Server Adapter, PCI-X, Copper RJ-45 1148 2200 SK-9S22 10/100/1000Base-T Dual Port Server Adapter, PCI-X, 2 Copper RJ-45 1148 2210 SK-9P22 10/100/1000 Base-T Dual Port PMC card 1148 2220 TPMC-GBE-CO 1148 8100 SK-9S81 1000Base-SX Server Adapter,PCI-X, Fiber SX/LC 1148 8200 SK-9S82 1000Base-SX Dual Port Server Adapter, PCI-X, 2 Fiber SX/LC 1148 8210 SK-9P82 1000 Base-SX Dual Port PMC card 1148 8220 TPMC-GBE-FI 1148 9100 SK-9S91 1000Base-LX Server Adapter,PCI-X, Fiber LX/LC 1148 9200 SK-9S92 1000Base-LX Dual Port Server Adapter, PCI-X, 2 Fiber LX/LC 1259 2973 AT-2971SX v2 Gigabit Adapter 1259 2974 AT-2971T v2 Gigabit Adapter 1259 2978 AT-2971LX Gigabit Adapter 9843 [Fujitsu] Gigabit Ethernet 9e00 SK-9E21D 10/100/1000Base-T Adapter, Copper RJ-45 1148 2100 SK-9E21 Server Adapter 1148 21d0 SK-9E21D 10/100/1000Base-T Adapter 1148 2200 SK-9E22 Server Adapter 1148 8100 SK-9E81 Server Adapter 1148 8200 SK-9E82 Server Adapter 1148 9100 SK-9E91 Server Adapter 1148 9200 SK-9E92 Server Adapter 9e01 SK-9E21M 10/100/1000Base-T Adapter 1149 Win System Corporation 114a VMIC 5565 GE-IP PCI5565,PMC5565 Reflective Memory Node 5579 VMIPCI-5579 (Reflective Memory Card) 5587 VMIPCI-5587 (Reflective Memory Card) 6504 VMIC PCI 7755 FPGA 7587 VMIVME-7587 114b Canopus Co., Ltd 114c Annabooks 114d IC Corporation 114e Nikon Systems Inc 114f Digi International 0002 AccelePort EPC 0003 RightSwitch SE-6 0004 AccelePort Xem 0005 AccelePort Xr 0006 AccelePort Xr,C/X 0009 AccelePort Xr/J 000a AccelePort EPC/J 000c DataFirePRIme T1 (1-port) 000d SyncPort 2-Port (x.25/FR) 0011 AccelePort 8r EIA-232 (IBM) 0012 AccelePort 8r EIA-422 0013 AccelePort Xr 0014 AccelePort 8r EIA-422 0015 AccelePort Xem 0016 AccelePort EPC/X 0017 AccelePort C/X 001a DataFirePRIme E1 (1-port) 001b AccelePort C/X (IBM) 001c AccelePort Xr (SAIP) 001d DataFire RAS T1/E1/PRI 114f 0050 DataFire RAS E1 Adapter 114f 0051 DataFire RAS Dual E1 Adapter 114f 0052 DataFire RAS T1 Adapter 114f 0053 DataFire RAS Dual T1 Adapter 0023 AccelePort RAS 0024 DataFire RAS B4 ST/U 114f 0030 DataFire RAS BRI U Adapter 114f 0031 DataFire RAS BRI S/T Adapter 0026 AccelePort 4r 920 0027 AccelePort Xr 920 0028 ClassicBoard 4 0029 ClassicBoard 8 0034 AccelePort 2r 920 0035 DataFire DSP T1/E1/PRI cPCI 0040 AccelePort Xp 114f 0042 AccelePort 2p PCI 114f 0043 AccelePort 4p PCI 114f 0044 AccelePort 8p PCI 114f 0045 AccelePort 16p PCI 114f 004e AccelePort 32p PCI 0042 AccelePort 2p 0043 AccelePort 4p 0044 AccelePort 8p 0045 AccelePort 16p 004e AccelePort 32p 0070 Datafire Micro V IOM2 (Europe) 0071 Datafire Micro V (Europe) 0072 Datafire Micro V IOM2 (North America) 0073 Datafire Micro V (North America) 00b0 Digi Neo 4 00b1 Digi Neo 8 00c8 Digi Neo 2 DB9 00c9 Digi Neo 2 DB9 PRI 00ca Digi Neo 2 RJ45 00cb Digi Neo 2 RJ45 PRI 00cc Digi Neo 1 422 00cd Digi Neo 1 422 485 00ce Digi Neo 2 422 485 00d0 ClassicBoard 4 422 00d1 ClassicBoard 8 422 00f1 Digi Neo PCI-E 4 port 00f4 Digi Neo 4 (IBM version) 6001 Avanstar 1150 Thinking Machines Corp 1151 JAE Electronics Inc. 1152 Megatek 1153 Land Win Electronic Corp 1154 Melco Inc 1155 Pine Technology Ltd 1156 Periscope Engineering 1157 Avsys Corporation 1158 Voarx R & D Inc 3011 Tokenet/vg 1001/10m anylan 9050 Lanfleet/Truevalue 9051 Lanfleet/Truevalue 1159 MuTech Corporation 0001 MV-1000 0002 MV-1500 115a Harlequin Ltd 115b Parallax Graphics 115c Photron Ltd. 115d Xircom 0003 Cardbus Ethernet 10/100 1014 0181 10/100 EtherJet Cardbus Adapter 1014 1181 10/100 EtherJet Cardbus Adapter 1014 8181 10/100 EtherJet Cardbus Adapter 1014 9181 10/100 EtherJet Cardbus Adapter 115d 0181 Cardbus Ethernet 10/100 115d 0182 RealPort2 CardBus Ethernet 10/100 (R2BE-100) 115d 1181 Cardbus Ethernet 10/100 1179 0181 Cardbus Ethernet 10/100 8086 8181 EtherExpress PRO/100 Mobile CardBus 32 Adapter 8086 9181 EtherExpress PRO/100 Mobile CardBus 32 Adapter 0005 Cardbus Ethernet 10/100 1014 0182 10/100 EtherJet Cardbus Adapter 1014 1182 10/100 EtherJet Cardbus Adapter 115d 0182 Cardbus Ethernet 10/100 115d 1182 Cardbus Ethernet 10/100 0007 Cardbus Ethernet 10/100 1014 0182 10/100 EtherJet Cardbus Adapter 1014 1182 10/100 EtherJet Cardbus Adapter 115d 0182 Cardbus Ethernet 10/100 115d 1182 Cardbus Ethernet 10/100 000b Cardbus Ethernet 10/100 1014 0183 10/100 EtherJet Cardbus Adapter 115d 0183 Cardbus Ethernet 10/100 000c Mini-PCI V.90 56k Modem 000f Cardbus Ethernet 10/100 1014 0183 10/100 EtherJet Cardbus Adapter 115d 0183 Cardbus Ethernet 10/100 00d4 Mini-PCI K56Flex Modem 0101 Cardbus 56k modem 115d 1081 Cardbus 56k Modem 0103 Cardbus Ethernet + 56k Modem 1014 9181 Cardbus 56k Modem 1115 1181 Cardbus Ethernet 100 + 56k Modem 115d 1181 CBEM56G-100 Ethernet + 56k Modem 8086 9181 PRO/100 LAN + Modem56 CardBus 115e Peer Protocols Inc 115f Maxtor Corporation 1160 Megasoft Inc 1161 PFU Limited 1162 OA Laboratory Co Ltd 1163 Rendition 0001 Verite 1000 2000 Verite V2000/V2100/V2200 1092 2000 Stealth II S220 1164 Advanced Peripherals Technologies 1165 Imagraph Corporation 0001 Motion TPEG Recorder/Player with audio # nee ServerWorks 1166 Broadcom 0000 CMIC-LE 0005 CNB20-LE Host Bridge 0006 CNB20HE Host Bridge 0007 CNB20-LE Host Bridge 0008 CNB20HE Host Bridge 0009 CNB20LE Host Bridge 0010 CIOB30 0011 CMIC-HE 0012 CMIC-WS Host Bridge (GC-LE chipset) 0013 CNB20-HE Host Bridge 0014 CMIC-LE Host Bridge (GC-LE chipset) 0015 CMIC-GC Host Bridge 0016 CMIC-GC Host Bridge 0017 GCNB-LE Host Bridge 0031 HT1100 HPX0 HT Host Bridge 0036 BCM5785 [HT1000] PCI/PCI-X Bridge 0101 CIOB-X2 PCI-X I/O Bridge 0103 EPB PCI-Express to PCI-X Bridge 0104 BCM5785 [HT1000] PCI/PCI-X Bridge 0110 CIOB-E I/O Bridge with Gigabit Ethernet 0130 BCM5780 [HT2000] PCI-X bridge 0132 BCM5780 [HT2000] PCI-Express Bridge 1166 0132 HT2000 PCI-Express bridge 0140 HT2100 PCI-Express Bridge 0141 HT2100 PCI-Express Bridge 0142 HT2100 PCI-Express Bridge 0144 HT2100 PCI-Express Bridge 0200 OSB4 South Bridge 0201 CSB5 South Bridge 4c53 1080 CT8 mainboard 0203 CSB6 South Bridge 1734 1012 PRIMERGY RX/TX series 0205 BCM5785 [HT1000] Legacy South Bridge 0211 OSB4 IDE Controller 0212 CSB5 IDE Controller 1028 014a PowerEdge 1750 1028 810b PowerEdge 1650/2550 4c53 1080 CT8 mainboard 0213 CSB6 RAID/IDE Controller 1028 4134 PowerEdge 600SC 1028 c134 Poweredge SC600 1734 1012 PRIMERGY RX/TX series onboard IDE 0214 BCM5785 [HT1000] IDE 1028 0205 PowerEdge 2970 HT1000 IDE 0217 CSB6 IDE Controller 1028 4134 Poweredge SC600 021b HT1100 HD Audio 0220 OSB4/CSB5 OHCI USB Controller 4c53 1080 CT8 mainboard 0221 CSB6 OHCI USB Controller 1734 1012 PRIMERGY RX/TX series onboard OHCI 0223 BCM5785 [HT1000] USB 1028 0205 PowerEdge 2970 HT1000 USB Controller 1028 020b PowerEdge T605 HT1000 USB Controller 0225 CSB5 LPC bridge 0227 GCLE-2 Host Bridge 1734 1012 PRIMERGY RX/TX series 0230 CSB5 LPC bridge 4c53 1080 CT8 mainboard 0234 BCM5785 [HT1000] LPC 1028 0205 PowerEdge 2970 HT1000 LPC 1028 020b PowerEdge T605 HT1000 LPC 0235 BCM5785 [HT1000] XIOAPIC0-2 0238 BCM5785 [HT1000] WDTimer 0240 K2 SATA 0241 RAIDCore RC4000 0242 RAIDCore BC4000 024a BCM5785 [HT1000] SATA (Native SATA Mode) 1028 020b PowerEdge T605 onboard SATA Controller # The device starts as 024A, and changes to 024B if set to PATA mode in BIOS 024b BCM5785 [HT1000] SATA (PATA/IDE Mode) 1028 0205 PowerEdge 2970 HT1000 SATA controller 0406 HT1100 PCI-X Bridge 0408 HT1100 Legacy Device 040a HT1100 ISA-LPC Bridge 1028 0223 PowerEdge R905 HT1100 ISA-LPC Bridge 0410 HT1100 SATA Controller (Native SATA Mode) 0411 HT1100 SATA Controller (PATA / IDE Mode) 0412 HT1100 USB OHCI Controller 0414 HT1100 USB EHCI Controller 0416 HT1100 USB EHCI Controller (with Debug Port) 0420 HT1100 PCI-Express Bridge 0421 HT1100 SAS/SATA Controller 0422 HT1100 PCI-Express Bridge 1167 Mutoh Industries Inc 1168 Thine Electronics Inc 1169 Centre for Development of Advanced Computing # nee Polaris Communications 116a Luminex Software, Inc. 6100 Bus/Tag Channel 6800 Escon Channel 7100 Bus/Tag Channel 7800 Escon Channel 116b Connectware Inc 116c Intelligent Resources Integrated Systems 116d Martin-Marietta 116e Electronics for Imaging 116f Workstation Technology 1170 Inventec Corporation 1171 Loughborough Sound Images Plc 1172 Altera Corporation 00a7 Stratix V 0530 Stratix IV 1173 Adobe Systems, Inc 1174 Bridgeport Machines 1175 Mitron Computer Inc. 1176 SBE Incorporated 1177 Silicon Engineering 1178 Alfa, Inc. afa1 Fast Ethernet Adapter 1179 Toshiba Corporation 0102 Extended IDE Controller 0103 EX-IDE Type-B 010f NVMe Controller 0110 NVMe SSD Controller Cx5 1028 1ffb Express Flash NVMe 960G (RI) U.2 (CD5) 1028 1ffc Express Flash NVMe 1.92T (RI) U.2 (CD5) 1028 1ffd Express Flash NVMe 3.84T (RI) U.2 (CD5) 1028 1ffe Express Flash NVMe 7.68T (RI) U.2 (CD5) 1179 0001 KIOXIA CM5-R series SSD 1179 0021 KIOXIA CD5 series SSD 1d49 4039 Thinksystem U.2 CM5 NVMe SSD 1d49 403a Thinksystem AIC CM5 NVMe SSD 0113 BG3 NVMe SSD Controller 0115 XG4 NVMe SSD Controller 0404 DVD Decoder card 0406 Tecra Video Capture device 0407 DVD Decoder card (Version 2) 0601 CPU to PCI bridge 1179 0001 Satellite Pro 0602 PCI to ISA bridge 0603 ToPIC95 PCI to CardBus Bridge for Notebooks 0604 PCI-Docking Host bridge 060a ToPIC95 1179 0001 Satellite Pro 060f ToPIC97 1179 0001 Satellite 4010 0617 ToPIC100 PCI to Cardbus Bridge with ZV Support 0618 CPU to PCI and PCI to ISA bridge 0701 FIR Port Type-O 0803 TC6371AF SD Host Controller 0804 TC6371AF SmartMedia Controller 0805 SD TypA Controller 0d01 FIR Port Type-DO 1179 0001 FIR Port Type-DO 117a A-Trend Technology 117b L G Electronics, Inc. 117c ATTO Technology, Inc. 002c ExpressSAS R380 002d ExpressSAS R348 0030 Ultra320 SCSI Host Adapter 117c 8013 ExpressPCI UL4D 117c 8014 ExpressPCI UL4S 117c 8027 ExpressPCI UL5D 117c 802f ExpressPCI UL5D Low Profile 0033 SAS Adapter 0041 ExpressSAS R30F 0042 ExpressSAS 6Gb/s SAS/SATA HBA 117c 0042 ExpressSAS H680 117c 0043 ExpressSAS H608 117c 0044 ExpressSAS H60F 117c 0045 ExpressSAS H6F0 117c 0046 ExpressSAS H644 117c 004f ExpressSAS M608 117c 0057 ExpressSAS M680 117c 0058 ExpressSAS M644 117c 0059 ExpressSAS W608 117c 005a ExpressSAS W680 117c 005b ExpressSAS W644 0049 ExpressSAS 6Gb SAS/SATA RAID Adapter 117c 0049 ExpressSAS R680 117c 004a ExpressSAS R608 117c 004b ExpressSAS R60F 117c 004c ExpressSAS R6F0 117c 004d ExpressSAS R644 117c 004e ExpressSAS R648 0064 Celerity FC 16Gb/s Gen 5 Fibre Channel HBA 117c 0063 Celerity FC-161E 117c 0064 Celerity FC-162E 117c 0065 Celerity FC-164E 0094 Celerity FC 16/32Gb/s Gen 6 Fibre Channel HBA 117c 0094 Celerity FC-162P 117c 00a0 Celerity FC-161P 117c 00a1 Celerity FC-164P 117c 00a2 Celerity FC-321E 117c 00a3 Celerity FC-322E 117c 00ac Celerity FC-324E 00bb Celerity FC 32/64Gb/s Gen 7 Fibre Channel HBA 117c 00bc Celerity FC-321P 117c 00bd Celerity FC-322P 117c 00be Celerity FC-324P 00e6 ExpressSAS GT 12Gb/s SAS/SATA HBA 117c 00c0 ExpressSAS H1280 GT 117c 00c1 ExpressSAS H1208 GT 117c 00c2 ExpressSAS H1244 GT 117c 00c3 ExpressSAS H12F0 GT 117c 00c4 ExpressSAS H120F GT 8013 ExpressPCI UL4D 8014 ExpressPCI UL4S 8027 ExpressPCI UL5D 8070 ExpressSAS 12Gb/s SAS/SATA HBA 117c 0070 ExpressSAS H1280 117c 0071 ExpressSAS H1208 117c 0080 ExpressSAS H1244 8072 ExpressSAS 12Gb/s SAS/SATA HBA 117c 0072 ExpressSAS H12F0 117c 0073 ExpressSAS H120F 117c 0082 ExpressSAS H1288 117d Becton & Dickinson 117e T/R Systems 117f Integrated Circuit Systems 1180 Ricoh Co Ltd 0465 RL5c465 0466 RL5c466 0475 RL5c475 144d c006 vpr Matrix 170B4 CardBus bridge 0476 RL5c476 II 1014 0185 ThinkPad A/T/X Series 1014 0555 ThinkPad X41 1014 056c ThinkPad Z60t 1028 014f Latitude X300 laptop 1028 0188 Inspiron 6000 laptop 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 1043 1017 X58LE 1043 1237 A6J-Q008 1043 1967 V6800V 1043 1987 A4K and Z81K notebooks, possibly others ( mid-2005 machines ) 104d 80df Vaio PCG-FX403 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 104d 814e VAIO GRZ390Z 10f7 8338 Panasonic CF-Y5 laptop 144d c005 X10 Laptop 144d c00c P30/P35 notebook 14ef 0220 PCD-RP-220S 17aa 201c ThinkPad X60/X60s 17aa 20c4 ThinkPad T61/R61 17aa 20c6 ThinkPad R61/T400 0477 RL5c477 0478 RL5c478 1014 0184 ThinkPad A30p 0511 R5C511 0522 R5C522 IEEE 1394 Controller 1014 01cf ThinkPad A30p 1043 1967 V6800V 0551 R5C551 IEEE 1394 Controller 144d c006 vpr Matrix 170B4 0552 R5C552 IEEE 1394 Controller 1014 0511 ThinkPad A/T/X Series 1028 014f Latitude X300 laptop 1028 0188 Inspiron 6000 laptop 1043 1237 A6J-Q008 1043 1757 M2400N laptop 144d c005 X10 Laptop 144d c00c P30/P35 notebook 17aa 201e ThinkPad X60/X60s 0554 R5C554 0575 R5C575 SD Bus Host Adapter 0576 R5C576 SD Bus Host Adapter 0592 R5C592 Memory Stick Bus Host Adapter 1025 0121 Aspire 5920G 1028 01d7 XPS M1210 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 1521 HP EliteBook 8540w 103c 30b5 Presario V3242AU 103c 30b7 Presario V6133CL 103c 30cc Pavilion dv6700 103c 30cf Pavilion dv95xx/96xx/97xx/98xx series 1043 1017 X58LE 1043 1237 A6J-Q008 1043 1967 V6800V 104d 9035 VAIO VGN-FW11ZRU 144d c018 X20 IV 17aa 20ca ThinkPad T61/T400 0811 R5C811 0822 R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter 1014 0556 ThinkPad X40 / X41 / X60s / Z60t 1014 0598 ThinkPad Z60m 1025 0121 Aspire 5920G 1028 0188 Inspiron 6000 laptop 1028 01a2 Inspiron 9200 1028 01d7 XPS M1210 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 03b5 Presario V3242AU 103c 30b7 Presario V6133CL 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 103c 30cf Pavilion dv9668eg Laptop 1043 1017 X58LE 1043 1237 A6J-Q008 1043 1967 V6800V 10f7 8338 Panasonic CF-Y5 laptop 144d c018 X20 IV 17aa 201d ThinkPad X60/X60s 17aa 20c7 ThinkPad T61 17aa 20c8 ThinkPad T400/W500 0832 R5C832 IEEE 1394 Controller 1025 0121 Aspire 5920G 1028 01d7 XPS M1210 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 1028 024d Latitude E4300 103c 30b5 Presario V3242AU 103c 30b7 Presario V6133CL 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 103c 30cf Pavilion dv9668eg Laptop 17aa 20c5 ThinkPad R61 17aa 20c7 ThinkPad R61 0841 R5C841 CardBus/SD/SDIO/MMC/MS/MSPro/xD/IEEE1394 0843 R5C843 MMC Host Controller 1025 0121 Aspire 5920G 1028 01d7 XPS M1210 1028 01f3 Inspiron 1420 1028 01f5 Inspiron 1501 1028 024f Latitude e6500 103c 03b5 Presario V3242AU 103c 1521 HP EliteBook 8540w 103c 30b7 Presario V6133CL 103c 30cf Pavilion dv9500/9600/9700 series 1043 1017 X58LE 1183 0843 Alienware Aurora m9700 0852 xD-Picture Card Controller 1025 0121 Aspire 5920G 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30b5 Presario V3242AU 103c 30b7 Presario V6133CL 103c 30cc Pavilion dv6700 103c 30cf Pavilion dv9668eg Laptop 1043 1967 V6800V 1180 0852 Pavilion 2410us 1324 10cf P7120 17aa 20cb ThinkPad T400 e230 R5U2xx (R5U230 / R5U231 / R5U241) [Memory Stick Host Controller] e476 CardBus bridge 1028 040a Latitude E6410 1028 040b Latitude E6510 e822 MMC/SD Host Controller 1028 040a Latitude E6410 1028 040b Latitude E6510 17aa 21cf ThinkPad T520 e823 PCIe SDXC/MMC Host Controller 17aa 21cf ThinkPad T520 e832 R5C832 PCIe IEEE 1394 Controller 1028 040a Latitude E6410 1028 040b Latitude E6510 17aa 21cf ThinkPad T520 e852 PCIe xD-Picture Card Controller 1181 Telmatics International 1183 Fujikura Ltd 1184 Forks Inc 1185 Dataworld International Ltd 1186 D-Link System Inc 1002 DL10050 Sundance Ethernet 1186 1002 DFE-550TX/FX 1186 1012 DFE-580TX 1025 AirPlus Xtreme G DWL-G650 Adapter 1026 AirXpert DWL-AG650 Wireless Cardbus Adapter 1043 AirXpert DWL-AG650 Wireless Cardbus Adapter 1300 RTL8139 Ethernet 1186 1300 DFE-538TX 10/100 Ethernet Adapter 1186 1301 DFE-530TX+ 10/100 Ethernet Adapter 1186 1303 DFE-528TX 10/100 Fast Ethernet PCI Adapter 1340 DFE-690TXD CardBus PC Card 1540 DFE-680TX 1541 DFE-680TXD CardBus PC Card 1561 DRP-32TXD Cardbus PC Card 3300 DWL-510 / DWL-610 802.11b [Realtek RTL8180L] 1186 3300 DWL-610 Wireless Cardbus Adapter 1186 3301 DWL-510 Wireless PCI Adapter 3a10 AirXpert DWL-AG650 Wireless Cardbus Adapter(rev.B) 3a11 AirXpert DWL-AG520 Wireless PCI Adapter(rev.B) 4000 DL2000-based Gigabit Ethernet 4001 DGE-550SX PCI-X Gigabit Ethernet Adapter 4200 DFE-520TX Fast Ethernet PCI Adapter 1186 1103 DFE-520TX Fast Ethernet PCI Adapter (rev. C1) 4300 DGE-528T Gigabit Ethernet Adapter 1186 4300 DGE-528T PCI Gigabit Ethernet Adapter # rev. B1; RealTek RTL8168E. 1186 4b10 DGE-560T PCI Express (x1) Gigabit Ethernet Adapter 4302 DGE-530T Gigabit Ethernet Adapter (rev.C1) [Realtek RTL8169] 4b00 DGE-560T PCI Express Gigabit Ethernet Adapter 4b01 DGE-530T Gigabit Ethernet Adapter (rev 11) 4b02 DGE-560SX PCI Express Gigabit Ethernet Adapter 4b03 DGE-550T Gigabit Ethernet Adapter V.B1 4c00 Gigabit Ethernet Adapter 1186 4c00 DGE-530T Gigabit Ethernet Adapter 8400 D-Link DWL-650+ CardBus PC Card 1187 Advanced Technology Laboratories, Inc. 1188 Shima Seiki Manufacturing Ltd. 1189 Matsushita Electronics Co Ltd 118a Hilevel Technology 118b Hypertec Pty Limited 118c Corollary, Inc 0014 PCIB [C-bus II to PCI bus host bridge chip] 1117 Intel 8-way XEON Profusion Chipset [Cache Coherency Filter] 118d BitFlow Inc 0001 Raptor-PCI framegrabber 0012 Model 12 Road Runner Frame Grabber 0014 Model 14 Road Runner Frame Grabber 0024 Model 24 Road Runner Frame Grabber 0044 Model 44 Road Runner Frame Grabber 0112 Model 12 Road Runner Frame Grabber 0114 Model 14 Road Runner Frame Grabber 0124 Model 24 Road Runner Frame Grabber 0144 Model 44 Road Runner Frame Grabber 0212 Model 12 Road Runner Frame Grabber 0214 Model 14 Road Runner Frame Grabber 0224 Model 24 Road Runner Frame Grabber 0244 Model 44 Road Runner Frame Grabber 0312 Model 12 Road Runner Frame Grabber 0314 Model 14 Road Runner Frame Grabber 0324 Model 24 Road Runner Frame Grabber 0344 Model 44 Road Runner Frame Grabber b04e Claxon CXP4 CoaXPress frame grabber 118e Hermstedt GmbH 118f Green Logic 1190 Tripace c731 TP-910/920/940 PCI Ultra(Wide) SCSI Adapter 1191 Artop Electronic Corp 0003 SCSI Cache Host Adapter 0004 ATP8400 0005 ATP850UF 0006 ATP860 NO-BIOS 0007 ATP860 0008 ATP865 NO-ROM 0009 ATP865 000a ATP867-A 000b ATP867-B 000d ATP8620 000e ATP8620 8002 AEC6710 SCSI-2 Host Adapter 8010 AEC6712UW SCSI 8020 AEC6712U SCSI 8030 AEC6712S SCSI 8040 AEC6712D SCSI 8050 AEC6712SUW SCSI 8060 AEC6712 SCSI 8080 AEC67160 SCSI 8081 AEC67160S SCSI 808a AEC67162 2-ch. LVD SCSI 1192 Densan Company Ltd 1193 Zeitnet Inc. 0001 1221 0002 1225 1194 Toucan Technology 1195 Ratoc System Inc 1196 Hytec Electronics Ltd 1197 Gage Applied Sciences, Inc. 010c CompuScope 82G 8bit 2GS/s Analog Input Card 1198 Lambda Systems Inc 1199 Attachmate Corporation 0101 Advanced ISCA/PCI Adapter 119a Mind Share, Inc. 119b Omega Micro Inc. 1221 82C092G 119c Information Technology Inst. 119d Bug, Inc. Sapporo Japan 119e Fujitsu Microelectronics Ltd. 0001 FireStream 155 0003 FireStream 50 119f Bull HN Information Systems 1081 BXI Host Channel Adapter # BXI stands for Bull eXascale Interconnect 1101 BXI Host Channel Adapter v1.2 # BXI stands for Bull eXascale Interconnect 1121 BXI Host Channel Adapter v1.3 11a0 Convex Computer Corporation 11a1 Hamamatsu Photonics K.K. 11a2 Sierra Research and Technology 11a3 Deuretzbacher GmbH & Co. Eng. KG 11a4 Barco Graphics NV 11a5 Microunity Systems Eng. Inc 11a6 Pure Data Ltd. 11a7 Power Computing Corp. 11a8 Systech Corp. 11a9 InnoSys Inc. 4240 AMCC S933Q Intelligent Serial Card 11aa Actel # Nee Galileo Technology, Inc. 11ab Marvell Technology Group Ltd. 0146 GT-64010/64010A System Controller 0f53 88E6318 Link Street network controller 11ab MV88SE614x SATA II PCI-E controller 138f W8300 802.11 Adapter (rev 07) 1fa6 Marvell W8300 802.11 Adapter 1186 3b08 AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.A1) 1fa7 88W8310 and 88W8000G [Libertas] 802.11g client chipset 1faa 88w8335 [Libertas] 802.11b/g Wireless 1385 4e00 WG511v2 54 Mbps Wireless PC Card 1385 6b00 WG311v3 802.11g Wireless PCI Adapter 1737 0040 WPC54G v5 802.11g Wireless-G Notebook Adapter 2211 88SB2211 PCI Express to PCI Bridge 2a01 88W8335 [Libertas] 802.11b/g Wireless 2a02 88W8361 [TopDog] 802.11n Wireless 07d1 3b02 DIR-615 rev. A1 Mini PCI Wireless Module 1385 7c00 WN511T RangeMax Next 300 Mbps Wireless PC Card 1385 7c01 WN511T RangeMax Next 300 Mbps Wireless Notebook Adapter 1385 7e00 WN311T RangeMax Next 300 Mbps Wireless PCI Adapter 1799 801b F5D8011 v2 802.11n N1 Wireless Notebook Card 2a08 88W8362e [TopDog] 802.11a/b/g/n Wireless 2a0a 88W8363 [TopDog] 802.11n Wireless 2a0c 88W8363 [TopDog] 802.11n Wireless 2a24 88W8363 [TopDog] 802.11n Wireless 2a2b 88W8687 [TopDog] 802.11b/g Wireless 2a30 88W8687 [TopDog] 802.11b/g Wireless 2a40 88W8366 [TopDog] 802.11n Wireless 2a41 88W8366 [TopDog] 802.11n Wireless 2a42 88W8366 [TopDog] 802.11n Wireless 2a43 88W8366 [TopDog] 802.11n Wireless 2a55 88W8864 [Avastar] 802.11ac Wireless 2b36 88W8764 [Avastar] 802.11n Wireless 2b38 88W8897 [AVASTAR] 802.11ac Wireless 2b40 88W8964 [Avastar] 802.11ac Wireless 4101 OLPC Cafe Controller Secure Digital Controller 4320 88E8001 Gigabit Ethernet Controller 1019 0f38 Marvell 88E8001 Gigabit Ethernet Controller (ECS) 1019 8001 Marvell 88E8001 Gigabit Ethernet Controller (ECS) 1043 173c Marvell 88E8001 Gigabit Ethernet Controller (Asus) 1043 811a Marvell 88E8001 Gigabit Ethernet Controller (Asus) 105b 0c19 Marvell 88E8001 Gigabit Ethernet Controller (Foxconn) 10b8 b452 EZ Card 1000 (SMC9452TXV.2) 11ab 0121 Marvell RDK-8001 11ab 0321 Marvell RDK-8003 11ab 1021 Marvell RDK-8010 11ab 4320 Marvell Yukon Gigabit Ethernet 10/100/1000Baset-T Constroller (Asus) 11ab 5021 Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (64 bit) 11ab 9521 Marvell Yukon Gigabit Ethernet 10/100/1000Base-T Controller (32 bit) 1458 e000 Marvell 88E8001 Gigabit Ethernet Controller (Gigabyte) 147b 1406 Marvell 88E8001 Gigabit Ethernet Controller (Abit) 15d4 0047 Marvell 88E8001 Gigabit Ethernet Controller (Iwill) 1695 9025 Marvell 88E8001 Gigabit Ethernet Controller (Epox) 17f2 1c03 Marvell 88E8001 Gigabit Ethernet Controller (Albatron) 270f 2803 Marvell 88E8001 Gigabit Ethernet Controller (Chaintech) 4340 88E8021 PCI-X IPMI Gigabit Ethernet Controller 4341 88E8022 PCI-X IPMI Gigabit Ethernet Controller 4342 88E8061 PCI-E IPMI Gigabit Ethernet Controller 4343 88E8062 PCI-E IPMI Gigabit Ethernet Controller 4344 88E8021 PCI-X IPMI Gigabit Ethernet Controller 4345 88E8022 PCI-X IPMI Gigabit Ethernet Controller 4346 88E8061 PCI-E IPMI Gigabit Ethernet Controller 4347 88E8062 PCI-E IPMI Gigabit Ethernet Controller 4c53 10d0 Telum ASLP10 PrAMC Gigabit Ethernet 4350 88E8035 PCI-E Fast Ethernet Controller 1179 0001 Marvell 88E8035 Fast Ethernet Controller (Toshiba) 11ab 3521 Marvell RDK-8035 1854 000d Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 000e Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 000f Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 0011 Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 0012 Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 0016 Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 0017 Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 0018 Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 0019 Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 001c Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 001e Marvell 88E8035 Fast Ethernet Controller (LGE) 1854 0020 Marvell 88E8035 Fast Ethernet Controller (LGE) 4351 88E8036 PCI-E Fast Ethernet Controller 107b 4009 Marvell 88E8036 Fast Ethernet Controller (Wistron) 10f7 8338 Marvell 88E8036 Fast Ethernet Controller (Panasonic) 1179 0001 Marvell 88E8036 Fast Ethernet Controller (Toshiba) 1179 ff00 Marvell 88E8036 Fast Ethernet Controller (Compal) 1179 ff10 Marvell 88E8036 Fast Ethernet Controller (Inventec) 11ab 3621 Marvell RDK-8036 13d1 ac12 Abocom EFE3K - 10/100 Ethernet Expresscard 161f 203d Marvell 88E8036 Fast Ethernet Controller (Arima) 1854 000d Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 000e Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 000f Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 0011 Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 0012 Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 0016 Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 0017 Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 0018 Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 0019 Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 001c Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 001e Marvell 88E8036 Fast Ethernet Controller (LGE) 1854 0020 Marvell 88E8036 Fast Ethernet Controller (LGE) 4352 88E8038 PCI-E Fast Ethernet Controller 4353 88E8039 PCI-E Fast Ethernet Controller 104d 902d VAIO VGN-NR120E 4354 88E8040 PCI-E Fast Ethernet Controller 1028 022f Inspiron 1525 144d c06a R730 Laptop 144d c072 Notebook N150P 4355 88E8040T PCI-E Fast Ethernet Controller 1179 ff50 Satellite P305D-S8995E 4356 88EC033 PCI-E Fast Ethernet Controller 4357 88E8042 PCI-E Fast Ethernet Controller 435a 88E8048 PCI-E Fast Ethernet Controller 4360 88E8052 PCI-E ASF Gigabit Ethernet Controller 1043 8134 Marvell 88E8052 Gigabit Ethernet Controller (Asus) 107b 4009 Marvell 88E8052 Gigabit Ethernet Controller (Wistron) 11ab 5221 Marvell RDK-8052 1458 e000 Marvell 88E8052 Gigabit Ethernet Controller (Gigabyte) 1462 052c Marvell 88E8052 Gigabit Ethernet Controller (MSI) 1849 8052 Marvell 88E8052 Gigabit Ethernet Controller (ASRock) a0a0 0509 Marvell 88E8052 Gigabit Ethernet Controller (Aopen) 4361 88E8050 PCI-E ASF Gigabit Ethernet Controller 107b 3015 Marvell 88E8050 Gigabit Ethernet Controller (Gateway) 11ab 5021 Marvell 88E8050 Gigabit Ethernet Controller (Intel) 8086 3063 D925XCVLK mainboard 8086 3439 Marvell 88E8050 Gigabit Ethernet Controller (Intel) 4362 88E8053 PCI-E Gigabit Ethernet Controller 103c 2a0d Marvell 88E8053 Gigabit Ethernet Controller (Asus) 1043 8142 Marvell 88E8053 Gigabit Ethernet controller PCIe (Asus) 109f 3197 Marvell 88E8053 Gigabit Ethernet Controller (Trigem) 10f7 8338 Marvell 88E8053 Gigabit Ethernet Controller (Panasonic) 10fd a430 Marvell 88E8053 Gigabit Ethernet Controller (SOYO) 1179 0001 Marvell 88E8053 Gigabit Ethernet Controller (Toshiba) 1179 ff00 Marvell 88E8053 Gigabit Ethernet Controller (Compal) 1179 ff10 Marvell 88E8053 Gigabit Ethernet Controller (Inventec) 11ab 5321 Marvell RDK-8053 1297 c240 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) 1297 c241 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) 1297 c242 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) 1297 c243 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) 1297 c244 Marvell 88E8053 Gigabit Ethernet Controller (Shuttle) 13d1 ac11 EGE5K - Giga Ethernet Expresscard 1458 e000 Marvell 88E8053 Gigabit Ethernet Controller (Gigabyte) 1462 058c Marvell 88E8053 Gigabit Ethernet Controller (MSI) 14c0 0012 Marvell 88E8053 Gigabit Ethernet Controller (Compal) 1558 04a0 Marvell 88E8053 Gigabit Ethernet Controller (Clevo) 15bd 1003 Marvell 88E8053 Gigabit Ethernet Controller (DFI) 161f 203c Marvell 88E8053 Gigabit Ethernet Controller (Arima) 161f 203d Marvell 88E8053 Gigabit Ethernet Controller (Arima) 1695 9029 Marvell 88E8053 Gigabit Ethernet Controller (Epox) 17f2 2c08 Marvell 88E8053 Gigabit Ethernet Controller (Albatron) 17ff 0585 Marvell 88E8053 Gigabit Ethernet Controller (Quanta) 1849 8053 Marvell 88E8053 Gigabit Ethernet Controller (ASRock) 1854 000b Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 000c Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 0010 Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 0013 Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 0014 Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 0015 Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 001a Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 001b Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 001d Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 001f Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 0021 Marvell 88E8053 Gigabit Ethernet Controller (LGE) 1854 0022 Marvell 88E8053 Gigabit Ethernet Controller (LGE) 270f 2801 Marvell 88E8053 Gigabit Ethernet Controller (Chaintech) a0a0 0506 Marvell 88E8053 Gigabit Ethernet Controller (Aopen) 4363 88E8055 PCI-E Gigabit Ethernet Controller 4364 88E8056 PCI-E Gigabit Ethernet Controller 1043 81f8 Motherboard 11ba 00ba 8056 Gigabit Ethernet Controller 4365 88E8070 based Ethernet Controller 4366 88EC036 PCI-E Gigabit Ethernet Controller 4367 88EC032 Ethernet Controller 4368 88EC034 Ethernet Controller 4369 88EC042 Ethernet Controller 436a 88E8058 PCI-E Gigabit Ethernet Controller 11ab 00ba Imac 8,1 Wired Ethernet Adapter 436b 88E8071 PCI-E Gigabit Ethernet Controller 436c 88E8072 PCI-E Gigabit Ethernet Controller 436d 88E8055 PCI-E Gigabit Ethernet Controller 4370 88E8075 PCI-E Gigabit Ethernet Controller 4380 88E8057 PCI-E Gigabit Ethernet Controller # AVB = "Audio Video Bridging" 4381 Yukon Optima 88E8059 [PCIe Gigabit Ethernet Controller with AVB] 1259 2803 AT-2814FX 1259 2804 AT-2874xx 4611 GT-64115 System Controller 4620 GT-64120/64120A/64121A System Controller 4801 GT-48001 5005 Belkin F5D5005 Gigabit Desktop Network PCI Card 5040 MV88SX5040 4-port SATA I PCI-X Controller 5041 MV88SX5041 4-port SATA I PCI-X Controller 5080 MV88SX5080 8-port SATA I PCI-X Controller 5081 MV88SX5081 8-port SATA I PCI-X Controller 5181 88f5181 [Orion-1] ARM SoC 5182 88f5182 [Orion-NAS] ARM SoC 5281 88f5281 [Orion-2] ARM SoC 6041 MV88SX6041 4-port SATA II PCI-X Controller 6042 88SX6042 PCI-X 4-Port SATA-II 6081 MV88SX6081 8-port SATA II PCI-X Controller 6101 88SE6101/6102 single-port PATA133 interface 1043 82e0 P5K PRO Motherboard 6121 88SE6111/6121 SATA II / PATA Controller # 6111: 1 SATA port; 6121: 2 SATA ports 11ab 6121 88SE6111/6121 1/2 port SATA II + 1 port PATA Controller 6141 88SE614x SATA II PCI-E controller 6145 88SE6145 SATA II PCI-E controller 6180 88F6180 [Kirkwood] ARM SoC 6192 88F6190/6192 [Kirkwood] ARM SoC 6281 88F6281 [Kirkwood] ARM SoC # This device ID was used for earlier chips. 6381 MV78xx0 [Discovery Innovation] ARM SoC 6440 88SE6440 SAS/SATA PCIe controller 6450 64560 System Controller 6460 MV64360/64361/64362 System Controller 6480 MV64460/64461/64462 System Controller 1775 c200 C2K CompactPCI single board computer 6485 MV64460/64461/64462 System Controller, Revision B 7042 88SX7042 PCI-e 4-port SATA-II 16b8 434b Tempo SATA E4P 7810 MV78100 [Discovery Innovation] ARM SoC 7820 MV78200 [Discovery Innovation] ARM SoC 7823 MV78230 [Armada XP] ARM SoC 7846 88F6820 [Armada 385] ARM SoC d40f Bobcat3 Ethernet Switch f003 GT-64010 Primary Image Piranha Image Generator 11ac Canon Information Systems Research Aust. 11ad Lite-On Communications Inc 0002 LNE100TX 11ad 0002 LNE100TX 11ad 0003 LNE100TX 11ad f003 LNE100TX 11ad ffff LNE100TX 1385 f004 FA310TX 2646 f002 KNE110TX EtheRx Fast Ethernet c115 LNE100TX [Linksys EtherFast 10/100] 11ad c001 LNE100TX [ver 2.0] 2646 000b KNE111TX 11ae Aztech System Ltd 11af Avid Technology Inc. 0001 Cinema ee40 Digidesign Audiomedia III 11b0 V3 Semiconductor Inc. 0002 V300PSC 0292 V292PBC [Am29030/40 Bridge] 0960 V96xPBC 880a Deltacast Delta-HD-22 c960 V96DPC 11b1 Apricot Computers 11b2 Eastman Kodak 11b3 Barr Systems Inc. 11b4 Leitch Technology International 11b5 Radstone Technology Plc 11b6 United Video Corp 11b7 Motorola 11b8 XPoint Technologies, Inc 0001 Quad PeerMaster 11b9 Pathlight Technology Inc. c0ed SSA Controller 11ba Videotron Corp 11bb Pyramid Technology 11bc Network Peripherals Inc 0001 NP-PCI 11bd Pinnacle Systems Inc. 002e PCTV 40i 0040 Royal TS Function 1 11bd 0044 PCTV 2000i Dual DVB-T Pro PCI Tuner 1 11bd 0045 PCTV Dual Sat Pro PCI 4000i Tuner 1 0041 RoyalTS Function 2 11bd 0044 PCTV 2000i Dual DVB-T Pro PCI Tuner 2 11bd 0045 PCTV Dual Sat Pro PCI 4000i Tuner 2 0042 Royal TS Function 3 11bd 0044 PCTV 2000i Dual DVB-T Pro PCI Common 11bd 0045 PCTV Dual Sat Pro PCI 4000i Common 0051 PCTV HD 800i bede AV/DV Studio Capture Card 11be International Microcircuits Inc 11bf Astrodesign, Inc. 11c0 Hewlett Packard # nee Agere Systems nee Lucent Microelectronics 11c1 LSI Corporation 0440 56k WinModem 1033 8015 LT WinModem 56k Data+Fax+Voice+Dsvd 1033 8047 LT WinModem 56k Data+Fax+Voice+Dsvd 1033 804f LT WinModem 56k Data+Fax+Voice+Dsvd 10cf 102c LB LT Modem V.90 56k 10cf 104a BIBLO LT Modem 56k 10cf 105f LB2 LT Modem V.90 56k 1179 0001 Internal V.90 Modem 11c1 0440 LT WinModem 56k Data+Fax+Voice+Dsvd 122d 4101 MDP7800-U Modem 122d 4102 MDP7800SP-U Modem 13e0 0040 LT WinModem 56k Data+Fax+Voice+Dsvd 13e0 0440 LT WinModem 56k Data+Fax+Voice+Dsvd 13e0 0441 LT WinModem 56k Data+Fax+Voice+Dsvd 13e0 0450 LT WinModem 56k Data+Fax+Voice+Dsvd 13e0 f100 LT WinModem 56k Data+Fax+Voice+Dsvd 13e0 f101 LT WinModem 56k Data+Fax+Voice+Dsvd 144d 2101 LT56PV Modem 149f 0440 LT WinModem 56k Data+Fax+Voice+Dsvd 0441 56k WinModem 1033 804d LT WinModem 56k Data+Fax 1033 8065 LT WinModem 56k Data+Fax 1092 0440 Supra 56i 1179 0001 Internal V.90 Modem 11c1 0440 LT WinModem 56k Data+Fax 11c1 0441 LT WinModem 56k Data+Fax 122d 4100 MDP7800-U Modem 13e0 0040 LT WinModem 56k Data+Fax 13e0 0100 LT WinModem 56k Data+Fax 13e0 0410 LT WinModem 56k Data+Fax 13e0 0420 TelePath Internet 56k WinModem 13e0 0440 LT WinModem 56k Data+Fax 13e0 0443 LT WinModem 56k Data+Fax 13e0 f102 LT WinModem 56k Data+Fax 1416 9804 CommWave 56k Modem 141d 0440 LT WinModem 56k Data+Fax 144f 0441 Lucent 56k V.90 DF Modem 144f 0449 Lucent 56k V.90 DF Modem 144f 110d Lucent Win Modem 1468 0441 Presario 56k V.90 DF Modem 1668 0440 Lucent Win Modem 0442 56k WinModem 11c1 0440 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 11c1 0442 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 13e0 0412 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 13e0 0442 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 13fc 2471 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 144d 2104 LT56PT Modem 144f 1104 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 149f 0440 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 1668 0440 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 0443 LT WinModem 0444 LT WinModem 0445 LT WinModem 8086 2203 PRO/100+ MiniPCI (probably an Ambit U98.003.C.00 combo card) 8086 2204 PRO/100+ MiniPCI on Armada E500 0446 LT WinModem 0447 LT WinModem 0448 WinModem 56k 1014 0131 Lucent Win Modem 1033 8066 LT WinModem 56k Data+Fax+Voice+Dsvd 13e0 0030 56k Voice Modem 13e0 0040 LT WinModem 56k Data+Fax+Voice+Dsvd # Actiontech eth+modem card as used by Dell &c. 1668 2400 LT WinModem 56k (MiniPCI Ethernet+Modem) 0449 L56xM+S [Mars-2] WinModem 56k 0e11 b14d 56k V.90 Modem 1014 018c ThinkPad 600X 13e0 0020 LT WinModem 56k Data+Fax 13e0 0041 TelePath Internet 56k WinModem 1436 0440 Lucent Win Modem 144f 0449 Lucent 56k V.90 DFi Modem 1468 0410 IBM ThinkPad T23 1468 0440 Lucent Win Modem 1468 0449 Presario 56k V.90 DFi Modem 044a F-1156IV WinModem (V90, 56KFlex) 10cf 1072 LB Global LT Modem 13e0 0012 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 13e0 0042 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 144f 1005 LT WinModem 56k Data+Fax+Voice+VoiceView+Dsvd 044b LT WinModem 044c LT WinModem 044d LT WinModem 044e LT WinModem 044f V90 WildWire Modem 0450 LT WinModem 1033 80a8 Versa Note Vxi 144f 4005 Magnia SG20 1468 0450 Evo N600c 0451 LT WinModem 0452 LT WinModem 0453 LT WinModem 0454 LT WinModem 0455 LT WinModem 0456 LT WinModem 0457 LT WinModem 0458 LT WinModem 0459 LT WinModem 045a LT WinModem 045c LT WinModem 0461 V90 WildWire Modem 0462 V90 WildWire Modem 0480 Venus Modem (V90, 56KFlex) 048c V.92 56K WinModem # InPorte Home Internal 56k Modem/fax/answering machine/SMS Features 048f V.92 56k WinModem 0620 Lucent V.92 Data/Fax Modem 2600 StarPro26XX family (SP2601, SP2603, SP2612) DSP 5400 OR3TP12 FPSC 5656 Venus Modem 5801 USB 5802 USS-312 USB Controller 5803 USS-344S USB Controller 5811 FW322/323 [TrueFire] 1394a Controller 103c 2a34 Pavilion a1677c 103c 2a6f Asus IPIBL-LB Motherboard 103c 2a9e Pavilion p6310f 1043 8294 LSI FW322/323 IEEE 1394a FireWire Controller 11bd 000e LSI FW323 8086 524c D865PERL mainboard 9005 0033 Adaptec AFW-2100 (HP) 2102900-R dead 0800 FireWire Host Bus Adapter 5901 FW643 [TrueFire] PCIe 1394b Controller 11c1 5900 FW643 [TrueFire] PCIe 1394b Controller 1443 0643 FireBoard800-e V.2 1546 0643 FWB-PCIE1X2x 5903 FW533 [TrueFire] PCIe 1394a Controller 8110 T8110 H.100/H.110 TDM switch 12d9 000c E1/T1 PMXc cPCI carrier card ab10 WL60010 Wireless LAN MAC ab11 WL60040 Multimode Wireles LAN MAC 11c1 ab12 WaveLAN 11abg Cardbus card (Model 1102) 11c1 ab13 WaveLAN 11abg MiniPCI card (Model 0512) 11c1 ab15 WaveLAN 11abg Cardbus card (Model 1106) 11c1 ab16 WaveLAN 11abg MiniPCI card (Model 0516) ab20 ORiNOCO PCI Adapter ab21 Agere Wireless PCI Adapter ab30 Hermes2 Mini-PCI WaveLAN a/b/g 14cd 2012 Hermes2 Mini-PCI WaveLAN a/b/g ed00 ET-131x PCI-E Ethernet Controller ed01 ET-131x PCI-E Ethernet Controller 11c2 Sand Microelectronics 11c3 NEC Corporation 11c4 Document Technologies, Inc 11c5 Shiva Corporation 11c6 Dainippon Screen Mfg. Co. Ltd 11c7 D.C.M. Data Systems 11c8 Dolphin Interconnect Solutions AS 0658 PSB32 SCI-Adapter D31x d665 PSB64 SCI-Adapter D32x d667 PSB66 SCI-Adapter D33x 11c9 Magma 0010 16-line serial port w/- DMA 0011 4-line serial port w/- DMA 11ca LSI Systems, Inc 11cb Specialix Research Ltd. 2000 PCI_9050 11cb 0200 SX 11cb b008 I/O8+ 4000 SUPI_1 8000 T225 11cc Michels & Kleberhoff Computer GmbH 11cd HAL Computer Systems, Inc. 11ce Netaccess 11cf Pioneer Electronic Corporation 11d0 Lockheed Martin Federal Systems-Manassas 11d1 Auravision 01f7 VxP524 01f9 VxP951 11d2 Intercom Inc. 11d3 Trancell Systems Inc 11d4 Analog Devices 1535 Blackfin BF535 processor 1805 SM56 PCI modem 11d5 Ikon Corporation 0115 10115 0117 10117 11d6 Tekelec Telecom 11d7 Trenton Technology, Inc. 11d8 Image Technologies Development 11d9 TEC Corporation 11da Novell 11db Sega Enterprises Ltd 11dc Questra Corporation 11dd Crosfield Electronics Limited 11de Zoran Corporation 6017 miroVIDEO DC30 6057 ZR36057PQC Video cutting chipset 1031 7efe DC10 Plus 1031 fc00 MiroVIDEO DC50, Motion JPEG Capture/CODEC Board 12f8 8a02 Tekram Video Kit 13ca 4231 JPEG/TV Card 6120 ZR36120 1328 f001 Cinemaster C DVD Decoder 13c2 0000 MediaFocus Satellite TV Card 1de1 9fff Video Kit C210 11df New Wave PDG 11e0 Cray Communications A/S 11e1 GEC Plessey Semi Inc. 11e2 Samsung Information Systems America 11e3 Quicklogic Corporation 0001 COM-ON-AIR Dosch&Amand DECT 0560 QL5064 Companion Design Demo Board 5030 PC Watchdog 8417 QL5064 [QuickPCI] PCI v2.2 bridge for SMT417 Dual TMS320C6416T PMC Module 11e4 Second Wave Inc 11e5 IIX Consulting 11e6 Mitsui-Zosen System Research 11e7 Toshiba America, Elec. Company 11e8 Digital Processing Systems Inc. 11e9 Highwater Designs Ltd. 11ea Elsag Bailey 11eb Formation Inc. 11ec Coreco Inc 000d Oculus-F/64P 1800 Cobra/C6 11ed Mediamatics 11ee Dome Imaging Systems Inc 11ef Nicolet Technologies B.V. 11f0 Compu-Shack 4231 FDDI 4232 FASTline UTP Quattro 4233 FASTline FO 4234 FASTline UTP 4235 FASTline-II UTP 4236 FASTline-II FO 4731 GIGAline 11f1 Symbios Logic Inc 11f2 Picture Tel Japan K.K. 11f3 Keithley Metrabyte 0011 KPCI-PIO24 11f4 Kinetic Systems Corporation 2915 CAMAC controller 11f5 Computing Devices International 11f6 Compex 0112 ENet100VG4 0113 FreedomLine 100 1401 ReadyLink 2000 2011 RL100-ATX 10/100 11f6 2011 RL100-ATX 2201 ReadyLink 100TX (Winbond W89C840) 11f6 2011 ReadyLink 100TX 9881 RL100TX Fast Ethernet 11f7 Scientific Atlanta 11f8 PMC-Sierra Inc. 5220 BR522x [PMC-Sierra maxRAID SAS Controller] 7364 PM7364 [FREEDM - 32 Frame Engine & Datalink Mgr] 7375 PM7375 [LASAR-155 ATM SAR] 7384 PM7384 [FREEDM - 84P672 Frm Engine & Datalink Mgr] 8000 PM8000 [SPC - SAS Protocol Controller] 8009 PM8009 SPCve 8x6G 8018 PM8018 Adaptec SAS Adaptor ASA-70165H PCIe Gen3 x8 6 Gbps 16-lane 4x SFF-8644 8032 PM8032 Tachyon QE8 117c 003a Celerity FC-81EN Fibre Channel Adapter 117c 003b Celerity FC-82EN Fibre Channel Adapter 117c 003c Celerity FC-84EN Fibre Channel Adapter 117c 403b ThunderLink FC 1082 Fibre Channel Adapter 8053 PM8053 SXP 12G 24-port SAS/SATA expander 8054 PM8054 SXP 12G 36-port SAS/SATA expander 8055 PM8055 SXP 12G 48-port SAS/SATA expander 8056 PM8056 SXP 12G 68-port SAS/SATA expander 8060 PM8060 SRCv 12G eight-port SAS/SATA RoC 8063 PM8063 SRCv 12G 16-port SAS/SATA RoC 8070 PM8070 Tachyon SPCv 12G eight-port SAS/SATA controller 8071 PM8071 Tachyon SPCve 12G eight-port SAS/SATA controller 8072 PM8072 Tachyon SPCv 12G 16-port SAS/SATA controller 8073 PM8073 Tachyon SPCve 12G 16-port SAS/SATA controller 8531 PM8531 PFX 24xG3 Fanout PCIe Switches 8546 PM8546 B-FEIP PSX 96xG3 PCIe Storage Switch 11f9 I-Cube Inc 11fa Kasan Electronics Company, Ltd. 11fb Datel Inc 11fc Silicon Magic 11fd High Street Consultants 11fe Pepperl+Fuchs Comtrol, Inc. 0001 RocketPort PCI 32-port w/external I/F 0002 RocketPort PCI 8-port w/external I/F 0003 RocketPort PCI 16-port w/external I/F 0004 RocketPort PCI 4-port w/Quad Cable 0005 RocketPort PCI 8-port w/Octa Cable 0006 RocketPort PCI 8-port w/RJ11 connectors 0007 RocketPort PCI 4-port w/RJ45 connectors 0008 RocketPort PCI 8-port w/DB78 SNI connector (Siemens) 0009 RocketPort PCI 16-port w/DB78 SNI connector (Siemens) 000a RocketPort PCI Plus 4-port w/Quad Cable 000b RocketPort PCI Plus 8-port w/Octa Cable 000c RocketModem II 6-port 000d RocketModem 4-port 000e RocketPort PCI Plus 2-port RS-232 w/DB9 connectors 000f RocketPort PCI Plus 2-port SMPTE w/DB9 connectors 0040 RocketPort INFINITY 8-port w/Octa Cable RJ45 0041 RocketPort INFINITY 32-port w/external I/F 0042 RocketPort INFINITY 8-port w/external I/F 0043 RocketPort INFINITY 16-port w/external I/F 0044 RocketPort INFINITY 4-port w/Quad Cable DB 0045 RocketPort INFINITY 8-port w/Octa Cable DB 0046 RocketPort INFINITY 4-port w/external I/F 0047 RocketPort INFINITY 4J (4-port) w/RJ45 connectors 0048 RocketPort INFINITY 4J (4-port) w/RJ45 connectors 004a RocketPort INFINITY Plus 4-port 004b RocketPort INFINITY Plus 8-port 004c RocketModem INFINITY III 8-port 004d RocketModem INFINITY III 4-port 004e RocketPort INFINITY Plus 2-port 004f RocketPort INFINITY 2-port SMPTE w/DB9 connectors 0050 RocketPort INFINITY Plus 4-port RJ45 0051 RocketPort INFINITY Plus 8-port RJ11 0052 RocketPort INFINITY 8-port SMPTE w/DB9 Connectors 0060 RocketPort EXPRESS 8-port w/Octa Cable 0061 RocketPort EXPRESS 32-port w/external I/F 0062 RocketPort EXPRESS 8-Port w/external I/F 0063 RocketPort EXPRESS 16-port w/external I/F 0064 RocketPort EXPRESS 4-port w/Quad Cable 0065 RocketPort EXPRESS 8-port w/Octa Cable 0066 RocketPort EXPRESS 4-port w/external I/F 0067 RocketPort EXPRESS 4J (4-port) w/RJ45 connectors 0068 RocketPort EXPRESS 8J (8-port) w/RJ11 connectors 006f RocketPort EXPRESS SMPTE 2-port 0072 RocketPort EXPRESS SMPTE 8-port w/external I/F 0801 RocketPort uPCI 32-port w/external I/F 0802 RocketPort uPCI 8-port w/external I/F 0803 RocketPort uPCI 16-port w/external I/F 0805 RocketPort uPCI 8-port w/Octa Cable 080b RocketPort Plus uPCI 8-port w/Octa Cable 080c RocketModem III 8-port 080d RocketModem III 4-port 080e RocketPort uPCI 2-port RS232 w/DB9 connectors 080f RocketPort uPCI SMPTE 2-port 0810 RocketPort Plus uPCI 4J (4-port) w/RJ45 connectors 0811 RocketPort Plus uPCI 8J (8-port) w/RJ11 connectors 0812 RocketPort Plus uPCI 422 8-port 0813 RocketModem IV uPCI 8-port 0814 RocketModem IV uPCI 4-port 0903 RocketPort Compact PCI 16 port w/external I/F # 16954 UART 8015 RocketPort 550 4-port 8805 RocketPort uPCI 4-port w/Quad Cable 880b RocketPort Plus uPCI 4-port w/Quad Cable 8812 RocketPort Plus uPCI 4-port RS422 w/Quad Cable 11ff Scion Corporation 0003 AG-5 1200 CSS Corporation 1201 Vista Controls Corp 1202 Network General Corp. 4300 Gigabit Ethernet Adapter 1202 9841 SK-9841 LX 1202 9842 SK-9841 LX dual link 1202 9843 SK-9843 SX 1202 9844 SK-9843 SX dual link 1203 Bayer Corporation, Agfa Division 1204 Lattice Semiconductor Corporation 1965 SB6501 802.11ad Wireless Network Adapter 1205 Array Corporation 1206 Amdahl Corporation 1208 Parsytec GmbH 4853 HS-Link Device 1209 SCI Systems Inc 120a Synaptel 120b Adaptive Solutions 120c Technical Corp. 120d Compression Labs, Inc. 120e Cyclades Corporation 0100 Cyclom-Y below first megabyte 0101 Cyclom-Y above first megabyte 0102 Cyclom-4Y below first megabyte 0103 Cyclom-4Y above first megabyte 0104 Cyclom-8Y below first megabyte 0105 Cyclom-8Y above first megabyte 0200 Cyclades-Z below first megabyte 0201 Cyclades-Z above first megabyte 0300 PC300/RSV or /X21 (2 ports) 0301 PC300/RSV or /X21 (1 port) 0310 PC300/TE (2 ports) 0311 PC300/TE (1 port) 0320 PC300/TE-M (2 ports) 0321 PC300/TE-M (1 port) 0400 PC400 120f Essential Communications 0001 Roadrunner serial HIPPI 1210 Hyperparallel Technologies 1211 Braintech Inc 1213 Applied Intelligent Systems, Inc. 1214 Performance Technologies, Inc. 1215 Interware Co., Ltd 1216 Purup Prepress A/S 1217 O2 Micro, Inc. 00f7 Firewire (IEEE 1394) 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 1179 ff50 Satellite P305D-S8995E 10f7 1394 OHCI Compliant Host Controller 11f7 OZ600 1394a-2000 Controller 1028 04a3 Precision M4600 13f7 1394 OHCI Compliant Host Controller 6729 OZ6729 673a OZ6730 6832 OZ6832/6833 CardBus Controller 6836 OZ6836/6860 CardBus Controller 6872 OZ6812 CardBus Controller 6925 OZ6922 CardBus Controller 6933 OZ6933/711E1 CardBus/SmartCardBus Controller 1025 1016 Travelmate 612 TX 6972 OZ601/6912/711E0 CardBus/SmartCardBus Controller 1014 020c ThinkPad R30 1028 0152 Latitude D500 1179 0001 Magnia Z310 7110 OZ711Mx 4-in-1 MemoryCardBus Accelerator 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 1734 106c Amilo A1645 7112 OZ711EC1/M1 SmartCardBus/MemoryCardBus Controller 7113 OZ711EC1 SmartCardBus Controller 1025 0035 TravelMate 660 7114 OZ711M1/MC1 4-in-1 MemoryCardBus Controller 7120 Integrated MMC/SD Controller 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 1179 ff50 Satellite P305D-S8995E 7130 Integrated MS/xD Controller 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 1179 ff50 Satellite P305D-S8995E 7134 OZ711MP1/MS1 MemoryCardBus Controller 7135 Cardbus bridge 7136 OZ711SP1 Memory CardBus Controller 71e2 OZ711E2 SmartCardBus Controller 7212 OZ711M2 4-in-1 MemoryCardBus Controller 7213 OZ6933E CardBus Controller 7223 OZ711M3/MC3 4-in-1 MemoryCardBus Controller 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 10cf 11c4 Lifebook P5020D Laptop 7233 OZ711MP3/MS3 4-in-1 MemoryCardBus Controller 8120 Integrated MMC/SD Controller 8130 Integrated MS/MSPRO/xD Controller 8220 OZ600FJ1/OZ900FJ1 SD/MMC Card Reader Controller 8221 OZ600FJ0/OZ900FJ0/OZ600FJS SD/MMC Card Reader Controller 8320 OZ600RJ1/OZ900RJ1 SD/MMC Card Reader Controller 1028 04a3 Precision M4600 8321 OZ600RJ0/OZ900RJ0/OZ600RJS SD/MMC Card Reader Controller 8330 OZ600 MS/xD Controller 1028 04a3 Precision M4600 8331 O2 Flash Memory Card 8520 SD/MMC Card Reader Controller 8621 SD/MMC Card Reader Controller 1218 Hybricon Corp. 1219 First Virtual Corporation 121a 3Dfx Interactive, Inc. 0001 Voodoo 0002 Voodoo 2 0003 Voodoo Banshee 1092 0003 Monster Fusion 1092 4000 Monster Fusion 1092 4002 Monster Fusion 1092 4801 Monster Fusion AGP 1092 4803 Monster Fusion AGP 1092 8030 Monster Fusion 1092 8035 Monster Fusion AGP 10b0 0001 Dragon 4000 1102 1017 3D Blaster Banshee PCI (CT6760) 1102 1018 3D Blaster Banshee VE 121a 0001 Voodoo Banshee AGP 121a 0003 Voodoo Banshee AGP SGRAM 121a 0004 Voodoo Banshee 139c 0016 Raven 139c 0017 Raven 14af 0002 Maxi Gamer Phoenix 0004 Voodoo Banshee [Velocity 100] 0005 Voodoo 3 121a 0004 Voodoo3 AGP 121a 0030 Voodoo3 AGP 121a 0031 Voodoo3 AGP 121a 0034 Voodoo3 AGP 121a 0036 Voodoo3 2000 PCI 121a 0037 Voodoo3 AGP 121a 0038 Voodoo3 AGP 121a 003a Voodoo3 AGP 121a 0044 Voodoo3 121a 004b Velocity 100 121a 004c Velocity 200 121a 004d Voodoo3 AGP 121a 004e Voodoo3 AGP 121a 0051 Voodoo3 AGP 121a 0052 Voodoo3 AGP 121a 0057 Voodoo3 3000 PCI 121a 0060 Voodoo3 3500 TV (NTSC) 121a 0061 Voodoo3 3500 TV (PAL) 121a 0062 Voodoo3 3500 TV (SECAM) 0009 Voodoo 4 / Voodoo 5 121a 0003 Voodoo5 PCI 5500 121a 0009 Voodoo5 AGP 5500/6000 0057 Voodoo 3/3000 [Avenger] 121b Advanced Telecommunications Modules 121c Nippon Texaco., Ltd 121d LiPPERT ADLINK Technology GmbH 121e CSPI 0201 Myrinet 2000 Scalable Cluster Interconnect 121f Arcus Technology, Inc. 1220 Ariel Corporation 1220 AMCC 5933 TMS320C80 DSP/Imaging board 1221 Contec Co., Ltd 9172 PO-64L(PCI)H [Isolated Digital Output Board for PCI] 91a2 PO-32L(PCI)H [Isolated Digital Output Board for PCI] 91c3 DA16-16(LPCI)L [Un-insulated highly precise analog output board for Low Profile PCI] b152 DIO-96D2-LPCI c103 ADA16-32/2(PCI)F [High-Speed Analog I/O Board for PCI] 1222 Ancor Communications, Inc. 1223 Artesyn Communication Products 0003 PM/Link 0004 PM/T1 0005 PM/E1 0008 PM/SLS 0009 BajaSpan Resource Target 000a BajaSpan Section 0 000b BajaSpan Section 1 000c BajaSpan Section 2 000d BajaSpan Section 3 000e PM/PPC 1224 Interactive Images 1225 Power I/O, Inc. 1227 EIZO Rugged Solutions 0006 Raptor GFX 8P 0023 Raptor GFX [1100T] 0045 Raptor 4000-L [Linux version] 004a Raptor 4000-LR-L [Linux version] 1228 Norsk Elektro Optikk A/S 1229 Data Kinesis Inc. 122a Integrated Telecom 122b LG Industrial Systems Co., Ltd 122c Sican GmbH 122d Aztech System Ltd 1206 368DSP 1400 Trident PCI288-Q3DII (NX) 50dc 3328 Audio 122d 0001 3328 Audio 80da 3328 Audio 122d 0001 3328 Audio 122e Xyratex 7722 Napatech XL1 7724 Napatech XL2/XA 7729 Napatech XD 122f Andrew Corporation 1230 Fishcamp Engineering 1231 Woodward McCoach, Inc. 04e1 Desktop PCI Telephony 4 05e1 Desktop PCI Telephony 5/6 0d00 LightParser 0d02 LightParser 2 0d13 Desktop PCI L1/L3 Telephony 1232 GPT Limited 1233 Bus-Tech, Inc. # nee Risq Modular Systems, Inc. 1235 SMART Modular Technologies 1236 Sigma Designs Corporation 0000 RealMagic64/GX 6401 REALmagic 64/GX (SD 6425) 1237 Alta Technology Corporation 1238 Adtran 1239 3DO Company 123a Visicom Laboratories, Inc. 123b Seeq Technology, Inc. 123c Century Systems, Inc. 123d Engineering Design Team, Inc. 0000 EasyConnect 8/32 0002 EasyConnect 8/64 0003 EasyIO 123e Simutech, Inc. # nee C-Cube Microsystems / acquired by Magnum Semiconductor 123f LSI Logic 00e4 MPEG 8120 DVxplore Codec 10de 01e1 NVTV PAL 10de 01e2 NVTV NTSC 10de 01e3 NVTV PAL 10de 0248 NVTV NTSC 10de 0249 NVTV PAL 11bd 0006 DV500 E4 11bd 000a DV500 E4 11bd 000f DV500 E4 1809 0016 Emuzed MAUI-III PCI PVR FM TV 8888 Cinemaster C 3.0 DVD Decoder 1002 0001 Cinemaster C 3.0 DVD Decoder 1002 0002 Cinemaster C 3.0 DVD Decoder 1328 0001 Cinemaster C 3.0 DVD Decoder 1240 Marathon Technologies Corp. 1241 DSC Communications # Formerly Jaycor Networks, Inc. 1242 JNI Corporation 1560 JNIC-1560 PCI-X Fibre Channel Controller 1242 6562 FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter 1242 656a FCX-6562 PCI-X Fibre Channel Adapter 4643 FCI-1063 Fibre Channel Adapter 6562 FCX2-6562 Dual Channel PCI-X Fibre Channel Adapter 656a FCX-6562 PCI-X Fibre Channel Adapter 1243 Delphax # Audio-Visuelles Marketing und Computersysteme 1244 AVM GmbH 0700 B1 ISDN 0800 C4 ISDN 0a00 A1 ISDN [Fritz] 1244 0a00 FRITZ!Card ISDN Controller 0e00 Fritz!Card PCI v2.0 ISDN 0e80 Fritz!Card PCI v2.1 ISDN 1244 0e00 PSB 3100F (AVM KAFKA) [Fritz!Card PCI v2.1] 1100 C2 ISDN 1200 T1 ISDN 2700 Fritz!Card DSL SL 2900 Fritz!Card DSL v2.0 1245 A.P.D., S.A. 1246 Dipix Technologies, Inc. 1247 Xylon Research, Inc. 1248 Central Data Corporation 1249 Samsung Electronics Co., Ltd. 124a AEG Electrocom GmbH 124b SBS/Greenspring Modular I/O 0040 PCI-40A or cPCI-200 Quad IndustryPack carrier 124b 9080 PCI9080 Bridge 124c Solitron Technologies, Inc. 124d Stallion Technologies, Inc. 0000 EasyConnection 8/32 0002 EasyConnection 8/64 0003 EasyIO 0004 EasyConnection/RA 124e Cylink 124f Infortrend Technology, Inc. 0041 IFT-2000 Series RAID Controller 1250 Hitachi Microcomputer System Ltd 1251 VLSI Solutions Oy 1253 Guzik Technical Enterprises 1254 Linear Systems Ltd. 0065 DVB Master FD 007c DVB Master Quad/o 1255 Optibase Ltd 1110 MPEG Forge 1210 MPEG Fusion 2110 VideoPlex 2120 VideoPlex CC 2130 VideoQuest 1256 Perceptive Solutions, Inc. 4201 PCI-2220I 4401 PCI-2240I 5201 PCI-2000 1257 Vertex Networks, Inc. 1258 Gilbarco, Inc. # nee Allied Telesyn International 1259 Allied Telesis 2560 AT-2560 Fast Ethernet Adapter (i82557B) 2801 AT-2801FX (RTL-8139) a117 RTL81xx Fast Ethernet a11e RTL81xx Fast Ethernet a120 21x4x DEC-Tulip compatible 10/100 Ethernet 125a ABB Power Systems 125b Asix Electronics Corporation 1400 AX88141 Fast Ethernet Controller 1186 1100 AX8814X Based PCI Fast Ethernet Adapter 9100 AX99100 PCIe to Multi I/O Controller a000 1000 Serial Port a000 2000 Parallel Port a000 6000 SPI a000 7000 Local Bus 125c Aurora Technologies, Inc. 0101 Saturn 4520P 0640 Aries 16000P 125d ESS Technology 0000 ES336H Fax Modem (Early Model) 1948 ES1948 Maestro-1 1968 ES1968 Maestro 2 1028 0085 ES1968 Maestro-2 PCI 1033 8051 ES1968 Maestro-2 Audiodrive 1969 ES1938/ES1946/ES1969 Solo-1 Audiodrive 1014 0166 ES1969 SOLO-1 AudioDrive on IBM Aptiva Mainboard 125d 8888 Solo-1 Audio Adapter 125d 8898 ES1938S TTSOLO1-SL [TerraTec 128i PCI] 153b 111b Terratec 128i PCI 1978 ES1978 Maestro 2E 0e11 b112 Armada M700/E500 1033 803c ES1978 Maestro-2E Audiodrive 1033 8058 ES1978 Maestro-2E Audiodrive 1092 4000 Monster Sound MX400 1179 0001 ES1978 Maestro-2E Audiodrive 1988 ES1988 Allegro-1 0e11 0098 Evo N600c 1092 4100 Sonic Impact S100 125d 0431 Allegro AudioDrive 125d 1988 ESS Allegro-1 Audiodrive 125d 1998 Allegro AudioDrive 125d 1999 Allegro-1 AudioDrive 1989 ESS Modem 125d 1989 ESS Modem 1998 ES1983S Maestro-3i PCI Audio Accelerator 1028 00b1 Latitude C600 1028 00e5 Latitude C810 1028 00e6 ES1983S Maestro-3i (Dell Inspiron 8100) 1999 ES1983S Maestro-3i PCI Modem Accelerator 199a ES1983S Maestro-3i PCI Audio Accelerator 199b ES1983S Maestro-3i PCI Modem Accelerator 2808 ES336H Fax Modem (Later Model) 2838 ES2838/2839 SuperLink Modem 2898 ES2898 Modem 125d 0424 ES56-PI Data Fax Modem 125d 0425 ES56T-PI Data Fax Modem 125d 0426 ES56V-PI Data Fax Modem 125d 0427 VW-PI Data Fax Modem 125d 0428 ES56ST-PI Data Fax Modem 125d 0429 ES56SV-PI Data Fax Modem 147a c001 ES56-PI Data Fax Modem 148d 1030 HCF WV-PI56 [ESS ES56-PI Data Fax Modem] 14fe 0428 ES56-PI Data Fax Modem 14fe 0429 ES56-PI Data Fax Modem 125e Specialvideo Engineering SRL 125f Concurrent Technologies, Inc. # 4 x serial ports, 2 x printer ports 2071 CC PMC/232 # 4 x serial ports, 2 x printer ports 2084 CC PMC/23P # 4 x serial ports, RS422 2091 CC PMC/422 1260 Intersil Corporation 3872 ISL3872 [Prism 3] 1468 0202 LAN-Express IEEE 802.11b Wireless LAN 3873 ISL3874 [Prism 2.5]/ISL3872 [Prism 3] 10cf 1169 MBH7WM01-8734 802.11b Wireless Mini PCI Card [ISL3874] 1186 3501 DWL-520 Wireless PCI Adapter (rev A or B) [ISL3874] 1186 3700 DWL-520 Wireless PCI Adapter (rev E1) [ISL3872] 1385 4105 MA311 802.11b wireless adapter [ISL3874] 1668 0414 HWP01170-01 802.11b PCI Wireless Adapter 16a5 1601 AIR.mate PC-400 PCI Wireless LAN Adapter 1737 3874 WMP11 v1 802.11b Wireless-B PCI Adapter [ISL3874] 4033 7033 PCW200 802.11b Wireless PCI Adapter [ISL3874] 8086 2510 M3AWEB Wireless 802.11b MiniPCI Adapter 8086 2513 Wireless 802.11b MiniPCI Adapter 3877 ISL3877 [Prism Indigo] 3886 ISL3886 [Prism Javelin/Prism Xbow] 17cf 0037 XG-901 and clones Wireless Adapter 3890 ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] 10b8 2802 SMC2802W V1 Wireless PCI Adapter [ISL3890] 10b8 2835 SMC2835W Wireless Cardbus Adapter 10b8 a835 SMC2835W V2 Wireless Cardbus Adapter 1113 4203 WN4201B 1113 8201 T-Com T-Sinus 154pcicard Wireless PCI Adapter 1113 b301 T-Sinus 154card Cardbus 1113 ee03 SMC2802W V2 Wireless PCI Adapter [ISL3886] 1113 ee08 SMC2835W V3 EU Wireless Cardbus Adapter 1186 3202 DWL-G650 A1 Wireless Adapter 1259 c104 CG-WLCB54GT Wireless Adapter 1260 0000 WG511 v1 54 Mbps Wireless PC Card 1385 4800 WG511 v2/v3 54 Mbps Wireless PC Card 16a5 1605 ALLNET ALL0271 Wireless PCI Adapter 17cf 0014 XG-600 and clones Wireless Adapter 17cf 0020 XG-900 and clones Wireless Adapter 187e 3403 G-110 802.11g Wireless Cardbus Adapter 8130 HMP8130 NTSC/PAL Video Decoder 8131 HMP8131 NTSC/PAL Video Decoder # This is probably more likely a HW fault, but I am keeping it for now --mj ffff ISL3886IK 1260 0000 Senao 3054MP+ (J) mini-PCI WLAN 802.11g adapter 1261 Matsushita-Kotobuki Electronics Industries, Ltd. 1262 ES Computer Company, Ltd. 1263 Sonic Solutions 1264 Aval Nagasaki Corporation 1265 Casio Computer Co., Ltd. 1266 Microdyne Corporation 0001 NE10/100 Adapter (i82557B) 1910 NE2000Plus (RT8029) Ethernet Adapter 1266 1910 NE2000Plus Ethernet Adapter 1267 S. A. Telecommunications 5352 PCR2101 5a4b Telsat Turbo 1268 Tektronix 1269 Thomson-CSF/TTM 126a Lexmark International, Inc. 126b Adax, Inc. 126c Northern Telecom 1211 10/100BaseTX [RTL81xx] 126c 802.11b Wireless Ethernet Adapter 126d Splash Technology, Inc. 126e Sumitomo Metal Industries, Ltd. 126f Silicon Motion, Inc. 0501 SM501 VoyagerGX Rev. AA 0510 SM501 VoyagerGX Rev. B 0710 SM710 LynxEM 0712 SM712 LynxEM+ 0718 SM718 LynxSE+ 0720 SM720 Lynx3DM 0730 SM731 Cougar3DR 0750 SM750 0810 SM810 LynxE 0811 SM811 LynxE 0820 SM820 Lynx3D 0910 SM910 2262 SM2262/SM2262EN SSD Controller 1270 Olympus Optical Co., Ltd. 1271 GW Instruments 1272 Telematics International 1273 Hughes Network Systems 0002 DirecPC 1274 Ensoniq 1171 ES1373 / Creative Labs CT5803 [AudioPCI] 1371 ES1371/ES1373 / Creative Labs CT2518 0e11 0024 AudioPCI on Motherboard Compaq Deskpro 0e11 b1a7 ES1371, ES1373 AudioPCI 1033 80ac ES1371, ES1373 AudioPCI 1042 1854 Tazer 107b 8054 Tabor2 1274 1371 Audio PCI 64V/128/5200 / Creative CT4810/CT5803/CT5806 [Sound Blaster PCI] 1274 8001 CT4751 board 1462 6470 ES1371, ES1373 AudioPCI On Motherboard MS-6147 1.1A 1462 6560 ES1371, ES1373 AudioPCI On Motherboard MS-6156 1.10 1462 6630 ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 1.0A 1462 6631 ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 1.0A 1462 6632 ES1371, ES1373 AudioPCI On Motherboard MS-6163BX 2.0A 1462 6633 ES1371, ES1373 AudioPCI On Motherboard MS-6163VIA 2.0A 1462 6820 ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00 1462 6822 ES1371, ES1373 AudioPCI On Motherboard MS-6182 1.00A 1462 6830 ES1371, ES1373 AudioPCI On Motherboard MS-6183 1.00 1462 6880 ES1371, ES1373 AudioPCI On Motherboard MS-6188 1.00 1462 6900 ES1371, ES1373 AudioPCI On Motherboard MS-6190 1.00 1462 6910 ES1371, ES1373 AudioPCI On Motherboard MS-6191 1462 6930 ES1371, ES1373 AudioPCI On Motherboard MS-6193 1462 6990 ES1371, ES1373 AudioPCI On Motherboard MS-6199BX 2.0A 1462 6991 ES1371, ES1373 AudioPCI On Motherboard MS-6199VIA 2.0A 14a4 2077 ES1371, ES1373 AudioPCI On Motherboard KR639 14a4 2105 ES1371, ES1373 AudioPCI On Motherboard MR800 14a4 2107 ES1371, ES1373 AudioPCI On Motherboard MR801 14a4 2172 ES1371, ES1373 AudioPCI On Motherboard DR739 1509 9902 ES1371, ES1373 AudioPCI On Motherboard KW11 1509 9903 ES1371, ES1373 AudioPCI On Motherboard KW31 1509 9904 ES1371, ES1373 AudioPCI On Motherboard KA11 1509 9905 ES1371, ES1373 AudioPCI On Motherboard KC13 152d 8801 ES1371, ES1373 AudioPCI On Motherboard CP810E 152d 8802 ES1371, ES1373 AudioPCI On Motherboard CP810 152d 8803 ES1371, ES1373 AudioPCI On Motherboard P3810E 152d 8804 ES1371, ES1373 AudioPCI On Motherboard P3810-S 152d 8805 ES1371, ES1373 AudioPCI On Motherboard P3820-S 270f 2001 ES1371, ES1373 AudioPCI On Motherboard 6CTR 270f 2200 ES1371, ES1373 AudioPCI On Motherboard 6WTX 270f 3000 ES1371, ES1373 AudioPCI On Motherboard 6WSV 270f 3100 ES1371, ES1373 AudioPCI On Motherboard 6WIV2 270f 3102 ES1371, ES1373 AudioPCI On Motherboard 6WIV 270f 7060 ES1371, ES1373 AudioPCI On Motherboard 6ASA2 8086 4249 ES1371, ES1373 AudioPCI On Motherboard BI440ZX 8086 424c ES1371, ES1373 AudioPCI On Motherboard BL440ZX 8086 425a ES1371, ES1373 AudioPCI On Motherboard BZ440ZX 8086 4341 ES1371, ES1373 AudioPCI On Motherboard Cayman 8086 4343 ES1371, ES1373 AudioPCI On Motherboard Cape Cod 8086 4541 D815EEA Motherboard 8086 4649 ES1371, ES1373 AudioPCI On Motherboard Fire Island 8086 464a ES1371, ES1373 AudioPCI On Motherboard FJ440ZX 8086 4d4f ES1371, ES1373 AudioPCI On Motherboard Montreal 8086 4f43 ES1371, ES1373 AudioPCI On Motherboard OC440LX 8086 5243 ES1371, ES1373 AudioPCI On Motherboard RC440BX 8086 5352 ES1371, ES1373 AudioPCI On Motherboard SunRiver 8086 5643 ES1371, ES1373 AudioPCI On Motherboard Vancouver 8086 5753 ES1371, ES1373 AudioPCI On Motherboard WS440BX 5000 ES1370 [AudioPCI] 5880 5880B / Creative Labs CT5880 1274 2000 Creative CT4810 [Sound Blaster AudioPCI 128] 1274 2003 Creative SoundBlaster AudioPCI 128 1274 5880 Creative CT4750 [Sound Blaster PCI 128] 1274 8001 Sound Blaster 16PCI 4.1ch 1458 a000 5880 AudioPCI On Motherboard 6OXET 1462 6880 5880 AudioPCI On Motherboard MS-6188 1.00 270f 2001 5880 AudioPCI On Motherboard 6CTR 270f 2200 5880 AudioPCI On Motherboard 6WTX 270f 7040 5880 AudioPCI On Motherboard 6ATA4 8001 CT5880 [AudioPCI] 8002 5880A [AudioPCI] 1275 Network Appliance Corporation 1276 Switched Network Technologies, Inc. 1277 Comstream 1278 Transtech Parallel Systems Ltd. 0701 TPE3/TM3 PowerPC Node 0710 TPE5 PowerPC PCI board 1100 PMC-FPGA02 1101 TS-C43 card with 4 ADSP-TS101 processors 1279 Transmeta Corporation 0060 TM8000 Northbridge 0061 TM8000 AGP bridge 0295 Northbridge 0395 LongRun Northbridge 0396 SDRAM controller 0397 BIOS scratchpad 127a Rockwell International 1002 HCF 56k Data/Fax Modem 1092 094c SupraExpress 56i PRO [Diamond SUP2380] 122d 4002 HPG / MDP3858-U 122d 4005 MDP3858-E 122d 4007 MDP3858-A/-NZ 122d 4012 MDP3858-SA 122d 4017 MDP3858-W 122d 4018 MDP3858-W 127a 1002 Rockwell 56K D/F HCF Modem 1003 HCF 56k Data/Fax Modem 0e11 b0bc 229-DF Zephyr 0e11 b114 229-DF Cheetah 1033 802b 229-DF 13df 1003 PCI56RX Modem 13e0 0117 IBM 13e0 0147 IBM F-1156IV+/R3 Spain V.90 Modem 13e0 0197 IBM 13e0 01c7 IBM F-1156IV+/R3 WW V.90 Modem 13e0 01f7 IBM 1436 1003 IBM 1436 1103 IBM 5614PM3G V.90 Modem 1436 1602 Compaq 229-DF Ducati 1004 HCF 56k Data/Fax/Voice Modem 1048 1500 MicroLink 56k Modem 10cf 1059 Fujitsu 229-DFRT 1005 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 1005 127a AOpen FM56-P 1033 8029 229-DFSV 1033 8054 Modem 10cf 103c Fujitsu 10cf 1055 Fujitsu 229-DFSV 10cf 1056 Fujitsu 229-DFSV 122d 4003 MDP3858SP-U 122d 4006 Packard Bell MDP3858V-E 122d 4008 MDP3858SP-A/SP-NZ 122d 4009 MDP3858SP-E 122d 4010 MDP3858V-U 122d 4011 MDP3858SP-SA 122d 4013 MDP3858V-A/V-NZ 122d 4015 MDP3858SP-W 122d 4016 MDP3858V-W 122d 4019 MDP3858V-SA 13df 1005 PCI56RVP Modem 13e0 0187 IBM 13e0 01a7 IBM 13e0 01b7 IBM DF-1156IV+/R3 Spain V.90 Modem 13e0 01d7 IBM DF-1156IV+/R3 WW V.90 Modem 1436 1005 IBM 1436 1105 IBM 1437 1105 IBM 5614PS3G V.90 Modem 1022 HCF 56k Modem 1436 1303 M3-5614PM3G V.90 Modem 1023 HCF 56k Data/Fax Modem 122d 4020 Packard Bell MDP3858-WE 122d 4023 MDP3858-UE 13e0 0247 IBM F-1156IV+/R6 Spain V.90 Modem 13e0 0297 IBM 13e0 02c7 IBM F-1156IV+/R6 WW V.90 Modem 1436 1203 IBM 1436 1303 IBM 1024 HCF 56k Data/Fax/Voice Modem 1025 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 10cf 106a Fujitsu 235-DFSV 122d 4021 Packard Bell MDP3858V-WE 122d 4022 MDP3858SP-WE 122d 4024 MDP3858V-UE 122d 4025 MDP3858SP-UE 1026 HCF 56k PCI Speakerphone Modem 1032 HCF 56k Modem 1033 HCF 56k Modem 1034 HCF 56k Modem 1035 HCF 56k PCI Speakerphone Modem 1036 HCF 56k Modem 1085 HCF 56k Volcano PCI Modem 2004 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 2005 HCF 56k Data/Fax Modem 104d 8044 229-DFSV 104d 8045 229-DFSV 104d 8055 PBE/Aztech 235W-DFSV 104d 8056 235-DFSV 104d 805a Modem 104d 805f Modem 104d 8074 Modem 2013 HSF 56k Data/Fax Modem 1179 0001 Modem 1179 ff00 Modem 2014 HSF 56k Data/Fax/Voice Modem 10cf 1057 Fujitsu Citicorp III 122d 4050 MSP3880-U 122d 4055 MSP3880-W 2015 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 10cf 1063 Fujitsu 10cf 1064 Fujitsu 1468 2015 Fujitsu 2016 HSF 56k Data/Fax/Voice/Spkp Modem 122d 4051 MSP3880V-W 122d 4052 MSP3880SP-W 122d 4054 MSP3880V-U 122d 4056 MSP3880SP-U 122d 4057 MSP3880SP-A 4311 Riptide HSF 56k PCI Modem 127a 4311 Ring Modular? Riptide HSF RT HP Dom 13e0 0210 HP-GVC 4320 Riptide PCI Audio Controller 1235 4320 Riptide PCI Audio Controller 4321 Riptide HCF 56k PCI Modem 1235 4321 Hewlett Packard DF 1235 4324 Hewlett Packard DF 13e0 0210 Hewlett Packard DF 144d 2321 Riptide 4322 Riptide PCI Game Controller 1235 4322 Riptide PCI Game Controller 8234 RapidFire 616X ATM155 Adapter 108d 0022 RapidFire 616X ATM155 Adapter 108d 0027 RapidFire 616X ATM155 Adapter 127b Pixera Corporation 127c Crosspoint Solutions, Inc. 127d Vela Research 127e Winnov, L.P. 0010 Videum 1000 Plus 127f Fujifilm 1280 Photoscript Group Ltd. 1281 Yokogawa Electric Corporation 1282 Davicom Semiconductor, Inc. 6585 DM562P V90 Modem 9009 Ethernet 100/10 MBit 9100 21x4x DEC-Tulip compatible 10/100 Ethernet 9102 21x4x DEC-Tulip compatible 10/100 Ethernet # Subsystem ID is main ID reveresed. 0291 8212 DM9102A (DM9102AE, SM9102AF) Ethernet 100/10 MBit 9132 Ethernet 100/10 MBit 1283 Integrated Technology Express, Inc. 673a IT8330G 8152 IT8152F/G Advanced RISC-to-PCI Companion Chip 8211 ITE 8211F Single Channel UDMA 133 1043 8138 P5GD1-VW Mainboard 8212 IT8212 Dual channel ATA RAID controller 1283 0001 IT/ITE8212 Dual channel ATA RAID controller 8213 IT8213 IDE Controller 1458 b000 GA-EG45M-DS2H Mainboard 8330 IT8330G 8872 IT887xF PCI to ISA I/O chip with SMB, GPIO, Serial or Parallel Port 8888 IT8888F/G PCI to ISA Bridge with SMB [Golden Gate] 8889 IT8889F PCI to ISA Bridge 8892 IT8892E PCIe to PCI Bridge 8893 IT8893E PCIe to PCI Bridge e886 IT8330G 1284 Sahara Networks, Inc. 1285 Platform Technologies, Inc. 0100 AGOGO sound chip (aka ESS Maestro 1) 1286 Mazet GmbH 1287 M-Pact, Inc. 001e LS220D DVD Decoder 001f LS220C DVD Decoder 1288 Timestep Corporation 1289 AVC Technology, Inc. 128a Asante Technologies, Inc. 128b Transwitch Corporation 128c Retix Corporation 128d G2 Networks, Inc. 0021 ATM155 Adapter 128e Hoontech Corporation/Samho Multi Tech Ltd. 0008 ST128 WSS/SB 0009 ST128 SAM9407 000a ST128 Game Port 000b ST128 MPU Port 000c ST128 Ctrl Port 128f Tateno Dennou, Inc. 1290 Sord Computer Corporation 1291 NCS Computer Italia 1292 Tritech Microelectronics Inc fc02 Pyramid3D TR25202 1293 Media Reality Technology 1294 Rhetorex, Inc. 1295 Imagenation Corporation 0800 PXR800 1000 PXD1000 1296 Kofax Image Products 1297 Holco Enterprise Co, Ltd/Shuttle Computer 1298 Spellcaster Telecommunications Inc. 1299 Knowledge Technology Lab. 129a VMetro, inc. 0615 PBT-615 PCI-X Bus Analyzer 1100 PMC-FPGA05 1106 XMC-FPGA05F, PCI interface 1107 XMC-FPGA05F, PCIe interface 1108 XMC-FPGA05D, PCI interface 1109 XMC-FPGA05D, PCIe interface 129b Image Access 129c Jaycor 129d Compcore Multimedia, Inc. 129e Victor Company of Japan, Ltd. 129f OEC Medical Systems, Inc. 12a0 Allen-Bradley Company 12a1 Simpact Associates, Inc. 12a2 Newgen Systems Corporation 12a3 Lucent Technologies 8105 T8105 H100 Digital Switch 12a4 NTT Electronics Corporation 12a5 Vision Dynamics Ltd. 12a6 Scalable Networks, Inc. 12a7 AMO GmbH 12a8 News Datacom 12a9 Xiotech Corporation 12aa SDL Communications, Inc. 12ab YUAN High-Tech Development Co., Ltd. 0000 MPG160/Kuroutoshikou ITVC15-STVLP 0002 AU8830 [Vortex2] Based Sound Card With A3D Support 0003 T507 (DVB-T) TV tuner/capture device 2300 Club-3D Zap TV2100 3000 MPG-200C PCI DVD Decoder Card 4789 MPC788 MiniPCI Hybrid TV Tuner fff3 MPG600/Kuroutoshikou ITVC16-STVLP ffff MPG600/Kuroutoshikou ITVC16-STVLP 12ac Measurex Corporation 12ad Multidata GmbH 12ae Alteon Networks Inc. 0001 AceNIC Gigabit Ethernet 1014 0104 Gigabit Ethernet-SX PCI Adapter 12ae 0001 Gigabit Ethernet-SX (Universal) 0002 AceNIC Gigabit Ethernet (Copper) 10a9 8002 Acenic Gigabit Ethernet 12ae 0002 Gigabit Ethernet-T (3C986-T) 00fa Farallon PN9100-T Gigabit Ethernet 12af TDK USA Corp 12b0 Jorge Scientific Corp 12b1 GammaLink 12b2 General Signal Networks 12b3 Inter-Face Co Ltd 12b4 FutureTel Inc 12b5 Granite Systems Inc. 12b6 Natural Microsystems 12b7 Cognex Corporation 12b8 Korg # Nee US Robotics 12b9 3Com Corp, Modem Division 1006 WinModem 12b9 005c USR 56k Internal Voice WinModem (Model 3472) 12b9 005e USR 56k Internal WinModem (Models 662975) 12b9 0062 USR 56k Internal Voice WinModem (Model 662978) 12b9 0068 USR 56k Internal Voice WinModem (Model 5690) 12b9 007a USR 56k Internal Voice WinModem (Model 662974) 12b9 007f USR 56k Internal WinModem (Models 5698, 5699) 12b9 0080 USR 56k Internal WinModem (Models 2975, 3528) 12b9 0081 USR 56k Internal Voice WinModem (Models 2974, 3529) 12b9 0091 USR 56k Internal Voice WinModem (Model 2978) 1007 USR 56k Internal WinModem 12b9 00a3 USR 56k Internal WinModem (Model 3595) 12b9 00c4 U.S. Robotics V.92 Voice Faxmodem (2884A/B/C) 1008 56K FaxModem Model 5610 12b9 00a2 USR 56k Internal FAX Modem (Model 2977) 12b9 00aa USR 56k Internal Voice Modem (Model 2976) 12b9 00ab USR 56k Internal Voice Modem (Model 5609) 12b9 00ac USR 56k Internal Voice Modem (Model 3298) 12b9 00ad USR 56k Internal FAX Modem (Model 5610) 12b9 00d3 USR 56K Internal V92 FAX Modem (Model 5610) 12b9 baba USR 56K Internal Voice Modem 3CP3298-DEL (Model 5601) [Hawk] 12ba BittWare, Inc. 12bb Nippon Unisoft Corporation 12bc Array Microsystems 12bd Computerm Corp. 12be Anchor Chips Inc. 3041 AN3041Q CO-MEM 3042 AN3042Q CO-MEM Lite 12be 3042 Anchor Chips Lite Evaluation Board 12bf Fujifilm Microdevices 12c0 Infimed 12c1 GMM Research Corp 12c2 Mentec Limited 12c3 Holtek Microelectronics Inc 0058 PCI NE2K Ethernet 5598 PCI NE2K Ethernet 12c4 Connect Tech Inc 0001 Blue HEAT/PCI 8 (RS232/CL/RJ11) 0002 Blue HEAT/PCI 4 (RS232) 0003 Blue HEAT/PCI 2 (RS232) 0004 Blue HEAT/PCI 8 (UNIV, RS485) 0005 Blue HEAT/PCI 4+4/6+2 (UNIV, RS232/485) 0006 Blue HEAT/PCI 4 (OPTO, RS485) 0007 Blue HEAT/PCI 2+2 (RS232/485) 0008 Blue HEAT/PCI 2 (OPTO, Tx, RS485) 0009 Blue HEAT/PCI 2+6 (RS232/485) 000a Blue HEAT/PCI 8 (Tx, RS485) 000b Blue HEAT/PCI 4 (Tx, RS485) 000c Blue HEAT/PCI 2 (20 MHz, RS485) 000d Blue HEAT/PCI 2 PTM 0100 NT960/PCI 0201 cPCI Titan - 2 Port 0202 cPCI Titan - 4 Port 0300 CTI PCI UART 2 (RS232) 0301 CTI PCI UART 4 (RS232) 0302 CTI PCI UART 8 (RS232) 0310 CTI PCI UART 1+1 (RS232/485) 0311 CTI PCI UART 2+2 (RS232/485) 0312 CTI PCI UART 4+4 (RS232/485) 0320 CTI PCI UART 2 0321 CTI PCI UART 4 0322 CTI PCI UART 8 0330 CTI PCI UART 2 (RS485) 0331 CTI PCI UART 4 (RS485) 0332 CTI PCI UART 8 (RS485) 12c5 Picture Elements Incorporated 007e Imaging/Scanning Subsystem Engine 007f Imaging/Scanning Subsystem Engine 0081 PCIVST [Grayscale Thresholding Engine] 0085 Video Simulator/Sender 0086 THR2 Multi-scale Thresholder 12c6 Mitani Corporation 12c7 Dialogic Corp # 12 Line, 6 port, CT-BUS/SC-BUS, loopstart FXO adaptor. 0546 Springware D/120JCT-LS # 24 Channel, 1 Port, CT-BUS/SC-BUS, T1/PRI adaptor. 0647 Springware D/240JCT-T1 # 4 Line, 4 port, CT-BUS/SC-BUS, loopstart FXO adaptor. Revision 01 0676 Springware D/41JCT-LS # 48 Channel, 2 Port, CT-BUS/SC-BUS, T1/PRI adaptor. 0685 Springware D/480JCT-2T1 12c8 G Force Co, Ltd 12c9 Gigi Operations 12ca Integrated Computing Engines 12cb Antex Electronics Corporation 0027 SC4 (StudioCard) 002e StudioCard 2000 12cc Pluto Technologies International 12cd Aims Lab 12ce Netspeed Inc. 12cf Prophet Systems, Inc. 12d0 GDE Systems, Inc. 12d1 PSITech 12d2 NVidia / SGS Thomson (Joint Venture) 0008 NV1 0009 DAC64 0018 Riva128 1048 0c10 VICTORY Erazor 107b 8030 STB Velocity 128 1092 0350 Viper V330 1092 1092 Viper V330 10b4 1b1b STB Velocity 128 10b4 1b1d STB Velocity 128 10b4 1b1e STB Velocity 128, PAL TV-Out 10b4 1b20 STB Velocity 128 Sapphire 10b4 1b21 STB Velocity 128 10b4 1b22 STB Velocity 128 AGP, NTSC TV-Out 10b4 1b23 STB Velocity 128 AGP, PAL TV-Out 10b4 1b27 STB Velocity 128 DVD 10b4 1b88 MVP Pro 128 10b4 222a STB Velocity 128 AGP 10b4 2230 STB Velocity 128 10b4 2232 STB Velocity 128 10b4 2235 STB Velocity 128 AGP 2a15 54a3 3DVision-SAGP / 3DexPlorer 3000 0019 Riva128ZX 0020 TNT 0028 TNT2 0029 UTNT2 002c VTNT2 00a0 ITNT2 12d3 Vingmed Sound A/S 12d4 Ulticom (Formerly DGM&S) 0200 T1 Card 12d5 Equator Technologies Inc 0003 BSP16 1000 BSP15 12d6 Analogic Corp 12d7 Biotronic SRL # acquired by Diodes Inc. 12d8 Pericom Semiconductor 01a7 7C21P100 2-port PCI-X to PCI-X Bridge # 3Port-3Lane PCI Express Switch GreenPacket Family 0303 PCI Express Switch 3-3 # PI7C9X20508GP 5Port-8Lane PCI Express Switch GreenPacket Family 0508 PI7C9X20508GP PCI Express Switch 5Port-8Lane 2304 PI7C9X2G304 EL/SL PCIe2 3-Port/4-Lane Packet Switch 2404 PI7C9X2G404 EL/SL PCIe2 4-Port/4-Lane Packet Switch 2608 PI7C9X2G608GP PCIe2 6-Port/8-Lane Packet Switch 400a PI7C9X442SL PCI Express Bridge Port 400e PI7C9X442SL USB OHCI Controller 400f PI7C9X442SL USB EHCI Controller 71e2 PI7C7300A/PI7C7300D PCI-to-PCI Bridge 71e3 PI7C7300A/PI7C7300D PCI-to-PCI Bridge (Secondary Bus 2) 8140 PI7C8140A PCI-to-PCI Bridge 8148 PI7C8148A/PI7C8148B PCI-to-PCI Bridge 8150 PCI to PCI Bridge 8152 PI7C8152A/PI7C8152B/PI7C8152BI PCI-to-PCI Bridge 8154 PI7C8154A/PI7C8154B/PI7C8154BI PCI-to-PCI Bridge e110 PI7C9X110 PCI Express to PCI bridge 1775 11cc CC11/CL11 CompactPCI Bridge e111 PI7C9X111SL PCIe-to-PCI Reversible Bridge e130 PCI Express to PCI-XPI7C9X130 PCI-X Bridge 12d9 Aculab PLC 0002 PCI Prosody 0004 cPCI Prosody 0005 Aculab E1/T1 PCI card 1078 Prosody X class e1000 device 12d9 000d Prosody X PCI 12d9 000e Prosody X cPCI 12da True Time Inc. 12db Annapolis Micro Systems, Inc 12dc Symicron Computer Communication Ltd. 12dd Management Graphics 12de Rainbow Technologies 0200 CryptoSwift CS200 12df SBS Technologies Inc 12e0 Chase Research 0010 ST16C654 Quad UART 0020 ST16C654 Quad UART 0030 ST16C654 Quad UART 12e1 Nintendo Co, Ltd 12e2 Datum Inc. Bancomm-Timing Division 12e3 Imation Corp - Medical Imaging Systems 12e4 Brooktrout Technology Inc 12e5 Apex Semiconductor Inc 12e6 Cirel Systems 12e7 Sunsgroup Corporation 12e8 Crisc Corp 12e9 GE Spacenet 12ea Zuken 12eb Aureal Semiconductor 0001 Vortex 1 104d 8036 AU8820 Vortex Digital Audio Processor 1092 2000 Sonic Impact A3D 1092 2100 Sonic Impact A3D 1092 2110 Sonic Impact A3D 1092 2200 Sonic Impact A3D 122d 1002 AU8820 Vortex Digital Audio Processor 12eb 0001 AU8820 Vortex Digital Audio Processor 5053 3355 Montego 50b2 1111 XLerate 0002 Vortex 2 104d 8049 AU8830 Vortex 3D Digital Audio Processor 104d 807b AU8830 Vortex 3D Digital Audio Processor 1092 3000 Monster Sound II 1092 3001 Monster Sound II 1092 3002 Monster Sound II 1092 3003 Monster Sound II 1092 3004 Monster Sound II 12eb 0002 AU8830 Vortex 3D Digital Audio Processor 12eb 0088 AU8830 Vortex 3D Digital Audio Processor 144d 3510 AU8830 Vortex 3D Digital Audio Processor 5053 3356 Montego II 0003 AU8810 Vortex Digital Audio Processor 104d 8049 AU8810 Vortex Digital Audio Processor 104d 8077 AU8810 Vortex Digital Audio Processor 109f 1000 AU8810 Vortex Digital Audio Processor 12eb 0003 AU8810 Vortex Digital Audio Processor 1462 6780 AU8810 Vortex Digital Audio Processor 14a4 2073 AU8810 Vortex Digital Audio Processor 14a4 2091 AU8810 Vortex Digital Audio Processor 14a4 2104 AU8810 Vortex Digital Audio Processor 14a4 2106 AU8810 Vortex Digital Audio Processor 8803 Vortex 56k Software Modem 12eb 8803 Vortex 56k Software Modem 12ec 3A International, Inc. 12ed Optivision Inc. 12ee Orange Micro 12ef Vienna Systems 12f0 Pentek 12f1 Sorenson Vision Inc 12f2 Gammagraphx, Inc. 12f3 Radstone Technology 12f4 Megatel 12f5 Forks 12f6 Dawson France 12f7 Cognex 12f8 Electronic Design GmbH 0002 VideoMaker 12f9 Four Fold Ltd 12fb Spectrum Signal Processing 0001 PMC-MAI 00f5 F5 Dakar 02ad PMC-2MAI 2adc ePMC-2ADC 3100 PRO-3100 3500 PRO-3500 4d4f Modena 8120 ePMC-8120 da62 Daytona C6201 PCI (Hurricane) db62 Ingliston XBIF dc62 Ingliston PLX9054 dd62 Ingliston JTAG/ISP eddc ePMC-MSDDC fa01 ePMC-FPGA 12fc Capital Equipment Corp 12fd I2S 12fe ESD Electronic System Design GmbH 12ff Lexicon 1300 Harman International Industries Inc 1302 Computer Sciences Corp 1303 Innovative Integration 0030 X3-SDF 4-channel XMC acquisition board 1304 Juniper Networks 1305 Netphone, Inc 1306 Duet Technologies # Nee ComputerBoards 1307 Measurement Computing 0001 PCI-DAS1602/16 000b PCI-DIO48H 000c PCI-PDISO8 000d PCI-PDISO16 000f PCI-DAS1200 0010 PCI-DAS1602/12 0014 PCI-DIO24H 0015 PCI-DIO24H/CTR3 0016 PCI-DIO48H/CTR15 0017 PCI-DIO96H 0018 PCI-CTR05 0019 PCI-DAS1200/JR 001a PCI-DAS1001 001b PCI-DAS1002 001c PCI-DAS1602JR/16 001d PCI-DAS6402/16 001e PCI-DAS6402/12 001f PCI-DAS16/M1 0020 PCI-DDA02/12 0021 PCI-DDA04/12 0022 PCI-DDA08/12 0023 PCI-DDA02/16 0024 PCI-DDA04/16 0025 PCI-DDA08/16 0026 PCI-DAC04/12-HS 0027 PCI-DAC04/16-HS 0028 PCI-DIO24 0029 PCI-DAS08 002c PCI-INT32 0033 PCI-DUAL-AC5 0034 PCI-DAS-TC 0035 PCI-DAS64/M1/16 0036 PCI-DAS64/M2/16 0037 PCI-DAS64/M3/16 004c PCI-DAS1000 004d PCI-QUAD04 0052 PCI-DAS4020/12 0053 PCIM-DDA06/16 0054 PCI-DIO96 005d PCI-DAS6023 005e PCI-DAS6025 005f PCI-DAS6030 0060 PCI-DAS6031 0061 PCI-DAS6032 0062 PCI-DAS6033 0063 PCI-DAS6034 0064 PCI-DAS6035 0065 PCI-DAS6040 0066 PCI-DAS6052 0067 PCI-DAS6070 0068 PCI-DAS6071 006f PCI-DAS6036 0070 PCI-DAC6702 0078 PCI-DAS6013 0079 PCI-DAS6014 0115 PCIe-DAS1602/16 1308 Jato Technologies Inc. 0001 NetCelerator Adapter 1308 0001 NetCelerator Adapter 1309 AB Semiconductor Ltd 130a Mitsubishi Electric Microcomputer 130b Colorgraphic Communications Corp 130c Ambex Technologies, Inc 130d Accelerix Inc 130e Yamatake-Honeywell Co. Ltd 130f Advanet Inc 1310 Gespac 1311 Videoserver, Inc 1312 Acuity Imaging, Inc 1313 Yaskawa Electric Co. 1315 Wavesat 1316 Teradyne Inc 1317 ADMtek 0981 21x4x DEC-Tulip compatible 10/100 Ethernet 0985 NC100 Network Everywhere Fast Ethernet 10/100 1734 100c Scenic N300 ADMtek AN983 10/100 Mbps PCI Adapter 1985 21x4x DEC-Tulip compatible 10/100 Ethernet 1385 511a FA511 1395 2103 CB100-EZ (4-LED version) 2850 HSP MicroModem 56 5120 ADM5120 OpenGate System-on-Chip 8201 ADM8211 802.11b Wireless Interface 10b8 2635 SMC2635W v1 802.11b Wireless Cardbus Adapter 1317 8201 SMC2635W v2 802.11b Wireless Cardbus Adapter 8211 ADM8211 802.11b Wireless Interface 9511 21x4x DEC-Tulip compatible 10/100 Ethernet 1318 Packet Engines Inc. 0911 GNIC-II PCI Gigabit Ethernet [Hamachi] 1319 Fortemedia, Inc 0801 Xwave QS3000A [FM801] 1319 1319 FM801 PCI Audio 0802 Xwave QS3000A [FM801 game port] 1319 1319 FM801 PCI Joystick 1000 FM801 PCI Audio 1001 FM801 PCI Joystick 131a Finisar Corp. 131c Nippon Electro-Sensory Devices Corp 131d Sysmic, Inc. 131e Xinex Networks Inc 131f Siig Inc 1000 CyberSerial (1-port) 16550 1001 CyberSerial (1-port) 16650 1002 CyberSerial (1-port) 16850 1010 Duet 1S(16550)+1P 1011 Duet 1S(16650)+1P 1012 Duet 1S(16850)+1P 1020 CyberParallel (1-port) 1021 CyberParallel (2-port) 1030 CyberSerial (2-port) 16550 1031 CyberSerial (2-port) 16650 1032 CyberSerial (2-port) 16850 1034 Trio 2S(16550)+1P 1035 Trio 2S(16650)+1P 1036 Trio 2S(16850)+1P 1050 CyberSerial (4-port) 16550 1051 CyberSerial (4-port) 16650 1052 CyberSerial (4-port) 16850 2000 CyberSerial (1-port) 16550 2001 CyberSerial (1-port) 16650 2002 CyberSerial (1-port) 16850 2010 Duet 1S(16550)+1P 2011 Duet 1S(16650)+1P 2012 Duet 1S(16850)+1P 2020 CyberParallel (1-port) 2021 CyberParallel (2-port) 2030 CyberSerial (2-port) 16550 131f 2030 PCI Serial Card 2031 CyberSerial (2-port) 16650 2032 CyberSerial (2-port) 16850 2040 Trio 1S(16550)+2P 2041 Trio 1S(16650)+2P 2042 Trio 1S(16850)+2P 2050 CyberSerial (4-port) 16550 2051 CyberSerial (4-port) 16650 2052 CyberSerial (4-port) 16850 2060 Trio 2S(16550)+1P 2061 Trio 2S(16650)+1P 2062 Trio 2S(16850)+1P 2081 CyberSerial (8-port) ST16654 1320 Crypto AG 1321 Arcobel Graphics BV 1322 MTT Co., Ltd 1323 Dome Inc 1324 Sphere Communications 1325 Salix Technologies, Inc 1326 Seachange international 1327 Voss scientific 1328 quadrant international 1329 Productivity Enhancement 132a Microcom Inc. 132b Broadband Technologies 132c Micrel Inc 132d Integrated Silicon Solution, Inc. 1330 MMC Networks 1331 RadiSys Corporation 0030 ENP-2611 8200 82600 Host Bridge 8201 82600 IDE 8202 82600 USB 8210 82600 PCI Bridge 1332 Micro Memory 5415 MM-5415CN PCI Memory Module with Battery Backup 5425 MM-5425CN PCI 64/66 Memory Module with Battery Backup 6140 MM-6140D 1334 Redcreek Communications, Inc 1335 Videomail, Inc 1337 Third Planet Publishing 1338 BT Electronics 133a Vtel Corp 133b Softcom Microsystems 133c Holontech Corp 133d SS Technologies 133e Virtual Computer Corp 133f SCM Microsystems 1340 Atalla Corp 1341 Kyoto Microcomputer Co 1342 Promax Systems Inc 1343 Phylon Communications Inc # nee Crucial Technology 1344 Micron Technology Inc 5150 RealSSD P320h 5151 RealSSD P320m 5152 RealSSD P320s 5153 RealSSD P325m 5160 RealSSD P420h 5161 RealSSD P420m 5163 RealSSD P425m 5180 9100 PRO NVMe SSD 5181 9100 MAX NVMe SSD 5190 9200 ECO NVMe SSD 5191 9200 PRO NVMe SSD 5192 9200 MAX NVMe SSD 1345 Arescom Inc 1347 Odetics 1349 Sumitomo Electric Industries, Ltd. 134a DTC Technology Corp. 0001 Domex 536 0002 Domex DMX3194UP SCSI Adapter 134b ARK Research Corp. 134c Chori Joho System Co. Ltd 134d PCTel Inc 2189 HSP56 MicroModem 2486 2304WT V.92 MDC Modem 7890 HSP MicroModem 56 134d 0001 PCT789 adapter 7891 HSP MicroModem 56 134d 0001 HSP MicroModem 56 7892 HSP MicroModem 56 7893 HSP MicroModem 56 7894 HSP MicroModem 56 7895 HSP MicroModem 56 7896 HSP MicroModem 56 7897 HSP MicroModem 56 134e CSTI 134f Algo System Co Ltd 1350 Systec Co. Ltd 1351 Sonix Inc # nee Thales Idatys 1353 Vierling Communication SAS 0002 Proserver 0003 PCI-FUT 0004 PCI-S0 0005 PCI-FUT-S0 1354 Dwave System Inc 1355 Kratos Analytical Ltd 1356 The Logical Co 1359 Prisa Networks 135a Brain Boxes 0a61 UC-324 [VELOCITY RS422/485] 135b Giganet Inc 135c Quatech Inc 0010 QSC-100 0020 DSC-100 0030 DSC-200/300 0040 QSC-200/300 0050 ESC-100D 0060 ESC-100M 00f0 MPAC-100 Synchronous Serial Card (Zilog 85230) 0170 QSCLP-100 0180 DSCLP-100 0190 SSCLP-100 01a0 QSCLP-200/300 01b0 DSCLP-200/300 01c0 SSCLP-200/300 0258 DSPSX-200/300 135d ABB Network Partner AB 135e Sealevel Systems Inc 5101 Route 56.PCI - Multi-Protocol Serial Interface (Zilog Z16C32) 7101 Single Port RS-232/422/485/530 7201 Dual Port RS-232/422/485 Interface 7202 Dual Port RS-232 Interface 7401 Four Port RS-232 Interface 7402 Four Port RS-422/485 Interface 7801 Eight Port RS-232 Interface 7804 Eight Port RS-232/422/485 Interface 8001 8001 Digital I/O Adapter 135f I-Data International A-S 1360 Meinberg Funkuhren 0101 PCI32 DCF77 Radio Clock 0102 PCI509 DCF77 Radio Clock 0103 PCI510 DCF77 Radio Clock 0104 PCI511 DCF77 Radio Clock 0105 PEX511 DCF77 Radio Clock (PCI Express) 0106 PZF180PEX High Precision DCF77 Radio Clock (PCI Express) 0201 GPS167PCI GPS Receiver 0202 GPS168PCI GPS Receiver 0203 GPS169PCI GPS Receiver 0204 GPS170PCI GPS Receiver 0205 GPS170PEX GPS Receiver (PCI Express) 0206 GPS180PEX GPS Receiver (PCI Express) 0207 GLN180PEX GPS/GLONASS receiver (PCI Express) 0208 GPS180AMC GPS Receiver (PCI Express / MicroTCA / AdvancedMC) 0209 GNS181PEX GPS/Galileo/GLONASS/BEIDOU receiver (PCI Express) 0301 TCR510PCI IRIG Timecode Reader 0302 TCR167PCI IRIG Timecode Reader 0303 TCR511PCI IRIG Timecode Reader 0304 TCR511PEX IRIG Timecode Reader (PCI Express) 0305 TCR170PEX IRIG Timecode Reader (PCI Express) 0306 TCR180PEX IRIG Timecode Reader (PCI Express) 0501 PTP270PEX PTP/IEEE1588 slave card (PCI Express) 0601 FRC511PEX Free Running Clock (PCI Express) 1361 Soliton Systems K.K. 1362 Fujifacom Corporation 1363 Phoenix Technology Ltd 1364 ATM Communications Inc 1365 Hypercope GmbH 1366 Teijin Seiki Co. Ltd 1367 Hitachi Zosen Corporation 1368 Skyware Corporation 1369 Digigram 136a High Soft Tech 0004 HST Saphir VII mini PCI 0007 HST Saphir III E MultiLink 4 0008 HST Saphir III E MultiLink 8 000a HST Saphir III E MultiLink 2 136b Kawasaki Steel Corporation ff01 KL5A72002 Motion JPEG 136c Adtek System Science Co Ltd 136d Gigalabs Inc 136f Applied Magic Inc 1370 ATL Products 1371 CNet Technology Inc 434e GigaCard Network Adapter 1371 434e N-Way PCI-Bus Giga-Card 1000/100/10Mbps(L) 1373 Silicon Vision Inc 1374 Silicom Ltd. 0024 Silicom Dual port Giga Ethernet BGE Bypass Server Adapter 0025 Silicom Quad port Giga Ethernet BGE Bypass Server Adapter 0026 Silicom Dual port Fiber Giga Ethernet 546 Bypass Server Adapter 0027 Silicom Dual port Fiber LX Giga Ethernet 546 Bypass Server Adapter 0029 Silicom Dual port Copper Giga Ethernet 546GB Bypass Server Adapter 002a Silicom Dual port Fiber Giga Ethernet 546 TAP/Bypass Server Adapter 002b Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter (PXE2TBI) 002c Silicom Quad port Copper Giga Ethernet 546GB Bypass Server Adapter (PXG4BPI) 002d Silicom Quad port Fiber-SX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI) 002e Silicom Quad port Fiber-LX Giga Ethernet 546GB Bypass Server Adapter (PXG4BPFI-LX) 002f Silicom Dual port Fiber-SX Giga Ethernet 546GB Low profile Bypass Server Adapter (PXG2BPFIL) 0030 Silicom Dual port Fiber-LX Giga Ethernet 546GB Low profile Bypass Server Adapter 0031 Silicom Quad port Copper Giga Ethernet PCI-E Bypass Server Adapter 0032 Silicom Dual port Copper Fast Ethernet 546 TAP/Bypass Server Adapter 0034 Silicom Dual port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter 0035 Silicom Quad port Copper Giga Ethernet PCI-E BGE Bypass Server Adapter 0036 Silicom Dual port Fiber Giga Ethernet PCI-E BGE Bypass Server Adapter 0037 Silicom Dual port Copper Ethernet PCI-E Intel based Bypass Server Adapter 0038 Silicom Quad port Copper Ethernet PCI-E Intel based Bypass Server Adapter 0039 Silicom Dual port Fiber-SX Ethernet PCI-E Intel based Bypass Server Adapter 003a Silicom Dual port Fiber-LX Ethernet PCI-E Intel based Bypass Server Adapter 003b Silicom Dual port Fiber Ethernet PMC Intel based Bypass Server Adapter (PMCX2BPFI) 003c Silicom Dual port Copper Ethernet PCI-X BGE based Bypass Server Adapter (PXG2BPRB) 003d 2-port Copper GBE Bypass with Caviume 1010 PCI-X 003e Silicom Dual port Fiber Giga Ethernet PCI-E 571 TAP/Bypass Server Adapter (PEG2TBFI) 003f Silicom Dual port Copper Giga Ethernet PCI-X 546 TAP/Bypass Server Adapter (PXG2TBI) 0040 Silicom Quad port Fiber-SX Giga Ethernet 571 Bypass Server Adapter (PEG4BPFI) 0042 4-port Copper GBE PMC-X Bypass 0043 Silicom Quad port Fiber-SX Giga Ethernet 546 Bypass Server Adapter (PXG4BPFID) 0045 Silicom 6 port Copper Giga Ethernet 546 Bypass Server Adapter (PXG6BPI) 0046 4-port bypass PCI-E w disconnect low profile 0047 Silicom Dual port Fiber-SX Giga Ethernet 571 Bypass Disconnect Server Adapter (PEG2BPFID) 004a Silicom Quad port Fiber-LX Giga Ethernet 571 Bypass Server Adapter (PEG4BPFI-LX) 004d Dual port Copper Giga Ethernet PCI-E Bypass Server Adapter 0401 Gigabit Ethernet ExpressModule Bypass Server Adapter 0420 Gigabit Ethernet ExpressModule Bypass Server Adapter 0460 Gigabit Ethernet Express Module Bypass Server Adapter 0461 Gigabit Ethernet ExpressModule Bypass Server Adapter 0462 Gigabit Ethernet ExpressModule Bypass Server Adapter 0470 Octal-port Copper Gigabit Ethernet Express Module Bypass Server Adapter 0482 Dual-port Fiber (SR) 10 Gigabit Ethernet ExpressModule Bypass Server Adapter 0483 Dual-port Fiber (LR) 10 Gigabit Ethernet ExpressModule Bypass Server Adapter 1375 Argosystems Inc 1376 LMC 1377 Electronic Equipment Production & Distribution GmbH 1378 Telemann Co. Ltd 1379 Asahi Kasei Microsystems Co Ltd 137a Mark of the Unicorn Inc 0001 PCI-324 Audiowire Interface 137b PPT Vision 137c Iwatsu Electric Co Ltd 137d Dynachip Corporation 137e Patriot Scientific Corporation 137f Japan Satellite Systems Inc 1380 Sanritz Automation Co Ltd 1381 Brains Co. Ltd 1382 Marian - Electronic & Software 0001 ARC88 audio recording card 2008 Prodif 96 Pro sound system 2048 Prodif Plus sound system 2088 Marc 8 Midi sound system 20c8 Marc A sound system 4008 Marc 2 sound system 4010 Marc 2 Pro sound system 4048 Marc 4 MIDI sound system 4088 Marc 4 Digi sound system 4248 Marc X sound system 4424 TRACE D4 Sound System 1383 Controlnet Inc 1384 Reality Simulation Systems Inc 1385 Netgear 006b WA301 802.11b Wireless PCI Adapter 4100 MA301 802.11b Wireless PCI Adapter 4601 WAG511 802.11a/b/g Dual Band Wireless PC Card 620a GA620 Gigabit Ethernet 630a GA630 Gigabit Ethernet 1386 Video Domain Technologies 1387 Systran Corp 1388 Hitachi Information Technology Co Ltd 1389 Applicom International 0001 PCI1500PFB [Intelligent fieldbus adaptor] 138a Fusion Micromedia Corp 003d VFS491 Validity Sensor 138b Tokimec Inc 138c Silicon Reality 138d Future Techno Designs pte Ltd 138e Basler GmbH 138f Patapsco Designs Inc 1390 Concept Development Inc 1391 Development Concepts Inc 1392 Medialight Inc 1393 Moxa Technologies Co Ltd 0001 UC7000 Serial 1020 CP-102 (2-port RS-232 PCI) 1021 CP-102UL (2-port RS-232 Universal PCI) 1022 CP-102U (2-port RS-232 Universal PCI) 1023 CP-102UF 1024 CP-102E (2-port RS-232 Smart PCI Express Serial Board) 1025 CP-102EL (2-port RS-232 Smart PCI Express Serial Board) 1040 Smartio C104H/PCI 1041 CP104U (4-port RS-232 Universal PCI) 1042 CP104JU (4-port RS-232 Universal PCI) 1043 CP104EL (4-port RS-232 Smart PCI Express) 1044 POS104UL (4-port RS-232 Universal PCI) 1045 CP-104EL-A (4-port RS-232 PCI Express Serial Board) 1080 CB108 (8-port RS-232 PC/104-plus Module) 1140 CT-114 series 1141 Industrio CP-114 1142 CB114 (4-port RS-232/422/485 PC/104-plus Module) 1143 CP-114UL (4-port RS-232/422/485 Smart Universal PCI Serial Board) 1144 CP-114EL (4-port RS-232/422/485 Smart PCI Express Serial Board) 1180 CP118U (8-port RS-232/422/485 Smart Universal PCI) 1181 CP118EL (8-port RS-232/422/485 Smart PCI Express) 1182 CP-118EL-A (8-port RS-232/422/485 PCI Express Serial Board) 1320 CP132 (2-port RS-422/485 PCI) 1321 CP132U (2-Port RS-422/485 Universal PCI) 1322 CP-132EL (2-port RS-422/485 Smart PCI Express Serial Board) 1340 CP134U (4-Port RS-422/485 Universal PCI) 1341 CB134I (4-port RS-422/485 PC/104-plus Module) 1380 CP138U (8-port RS-232/422/485 Smart Universal PCI) 1680 Smartio C168H/PCI 1681 CP-168U V2 Smart Serial Board (8-port RS-232) 1682 CP-168EL (8-port RS-232 Smart PCI Express) 1683 CP-168EL-A (8-port RS-232 PCI Express Serial Board) 2040 Intellio CP-204J 2180 Intellio C218 Turbo PCI 3200 Intellio C320 Turbo PCI 1394 Level One Communications 0001 LXT1001 Gigabit Ethernet 1186 4800 DGE-500SX 1394 0001 NetCelerator Adapter 1395 Ambicom Inc 1396 Cipher Systems Inc 1397 Cologne Chip Designs GmbH 08b4 ISDN network Controller [HFC-4S] 1397 08b4 HFC-4S [Cologne Chip HFC-4S Eval. Board] 1397 b51a HFC-4S [Allo.com BRI card] 1397 b520 HFC-4S [IOB4ST] 1397 b540 HFC-4S [Swyx SX2 QuadBri] 1397 b550 HFC-4S [Junghanns.NET quadBRI] 1397 b556 HFC-4S [Junghanns.NET duoBRI] 1397 b559 HFC-4S [Junghanns.NET duoBRI miniPCI] 1397 b560 HFC-4S [BeroNet BN4S0] 1397 b566 HFC-4S [BeroNet BN2S0] 1397 b567 HFC-4S [BeroNet BN1S0 miniPCI] 1397 b568 HFC-4S [BeroNet BN4S0 miniPCI] 1397 b569 HFC-4S [BeroNet BN2S0 miniPCI] 1397 b620 HFC-4S 1397 b752 HFC-4S [Junghanns.NET quadBRI PCIe] 1397 b761 HFC-4S [BeroNet BN2S0 PCIe] 1397 b762 HFC-4S [BeroNet BN4S0 PCIe] 1397 e884 HFC-4S [OpenVox B200P] 1397 e888 HFC-4S [OpenVox B200P / B400P] 16b8 ISDN network Controller [HFC-8S] 1397 16b8 HFC-8S [Cologne Chip HFC-8S Eval. Board] 1397 b521 HFC-8S [IOB4ST Recording] 1397 b522 HFC-8S [IOB8ST] 1397 b552 HFC-8S [Junghanns.NET octoBRI] 1397 b55b HFC-8S [Junghanns.NET octoBRI] 1397 b562 HFC-8S [BeroNet BN8S0] 1397 b56b HFC-8S [BeroNet BN8S0+] 1397 b622 HFC-8S 1397 e998 HFC-8S [OpenVox B800P] 2bd0 ISDN network controller [HFC-PCI] 0675 1704 ISDN Adapter (PCI Bus, D, C) 0675 1708 ISDN Adapter (PCI Bus, D, C, ACPI) 1397 2bd0 ISDN Board e4bf 1000 CI1-1-Harp 30b1 ISDN network Controller [HFC-E1] 1397 30b1 HFC-E1 [Cologne Chip HFC-E1 Eval. Board] 1397 b523 HFC-E1 [IOB1E1] 1397 b543 HFC-E1 [Swyx SX2 SinglePRI V2] 1397 b544 HFC-E1 [Swyx SX2 DualPRI V2] 1397 b553 HFC-E1 [Junghanns.NET singleE1] 1397 b554 HFC-E1 [Junghanns.NET doubleE1] 1397 b555 HFC-E1 [Junghanns.NET doubleE1 2.0] 1397 b55a HFC-E1 [Junghanns.NET singleE1 miniPCI] 1397 b563 HFC-E1 [beroNet BN1E1] 1397 b564 HFC-E1 [beroNet BN2E1] 1397 b565 HFC-E1 [beroNet BN2E1+] 1397 b56a HFC-E1 [beroNet BN1E1 miniPCI] b700 ISDN network controller PrimuX S0 [HFC-PCI] f001 GSM Network Controller [HFC-4GSM] 1398 Clarion co. Ltd 1399 Rios systems Co Ltd 139a Alacritech Inc 0001 Quad Port 10/100 Server Accelerator 0003 Single Port 10/100 Server Accelerator 0005 Single Port Gigabit Server Accelerator 139b Mediasonic Multimedia Systems Ltd 139c Quantum 3d Inc 139d EPL limited 139e Media4 139f Aethra s.r.l. 13a0 Crystal Group Inc 13a1 Kawasaki Heavy Industries Ltd 13a2 Ositech Communications Inc 13a3 Hifn Inc. 0005 7751 Security Processor 0006 6500 Public Key Processor 0007 7811 Security Processor 0012 7951 Security Processor 0014 78XX Security Processor 0016 8065 Security Processor 0017 8165 Security Processor 0018 8154 Security Processor 001d 7956 Security Processor 001f 7855 Security Processor 0020 7955 Security Processor 0026 8155 Security Processor 002e 9630 Compression Processor 002f 9725 Compression and Security Processor 13a3 1600 DR1600 Acceleration Card 13a3 1605 DR1605 Acceleration Card 13a3 1610 DR1610 Acceleration Card 13a3 1615 DR1615 Acceleration Card 13a3 1620 DR1620 Acceleration Card 13a3 1625 DR1625 Acceleration Card 0033 8201 Acceleration Processor 13a3 0036 DX1710 Acceleration Card 0034 8202 Acceleration Processor 13a3 0036 DX1720 Acceleration Card 0035 8203 Acceleration Processor 13a3 0036 DX1730 Acceleration Card 0037 8204 Acceleration Processor 13a3 0036 DX1740 Acceleration Card 13a4 Rascom Inc 13a5 Audio Digital Imaging Inc 13a6 Videonics Inc 13a7 Teles AG 13a8 Exar Corp. 0152 XR17C/D152 Dual PCI UART 0154 XR17C154 Quad UART 0158 XR17C158 Octal UART 0252 XR17V252 Dual UART PCI controller 0254 XR17V254 Quad UART PCI controller 0258 XR17V258 Octal UART PCI controller 0352 XR17V3521 Dual PCIe UART 13a9 Siemens Medical Systems, Ultrasound Group 13aa Broadband Networks Inc 13ab Arcom Control Systems Ltd 13ac Motion Media Technology Ltd 13ad Nexus Inc 13ae ALD Technology Ltd 13af T.Sqware 13b0 Maxspeed Corp 13b1 Tamura corporation 13b2 Techno Chips Co. Ltd 13b3 Lanart Corporation 13b4 Wellbean Co Inc 13b5 ARM 13b6 Dlog GmbH 13b7 Logic Devices Inc 13b8 Nokia Telecommunications oy 13b9 Elecom Co Ltd 13ba Oxford Instruments 13bb Sanyo Technosound Co Ltd 13bc Bitran Corporation 13bd Sharp corporation 13be Miroku Jyoho Service Co. Ltd 13bf Sharewave Inc 13c0 Microgate Corporation 0010 SyncLink Adapter v1 0020 SyncLink SCC Adapter 0030 SyncLink Multiport Adapter 0070 SyncLink GT Adapter 0080 SyncLink GT4 Adapter 00a0 SyncLink GT2 Adapter 0210 SyncLink Adapter v2 13c1 3ware Inc 1000 5xxx/6xxx-series PATA-RAID 1001 7xxx/8xxx-series PATA/SATA-RAID 13c1 1001 7xxx/8xxx-series PATA/SATA-RAID 1002 9xxx-series SATA-RAID 1003 9550SX SATA-II RAID PCI-X 1004 9650SE SATA-II RAID PCIe 1005 9690SA SAS/SATA-II RAID PCIe 1010 9750 SAS2/SATA-II RAID PCIe 13c2 Technotrend Systemtechnik GmbH 000e Technotrend/Hauppauge DVB card rev2.3 1019 TTechnoTrend-budget DVB S2-3200 13c3 Janz Computer AG 13c4 Phase Metrics 13c5 Alphi Technology Corp 13c6 Condor Engineering Inc 0520 CEI-520 A429 Card 0620 CEI-620 A429 Card 0820 CEI-820 A429 Card 0830 CEI-830 A429 Card 1004 P-SER Multi-channel PMC to RS-485/422/232 adapter 13c7 Blue Chip Technology Ltd 0adc PCI-ADC 0b10 PCI-PIO 0d10 PCI-DIO 524c PCI-RLY 5744 PCI-WDT 13c8 Apptech Inc 13c9 Eaton Corporation 13ca Iomega Corporation 13cb Yano Electric Co Ltd 13cc BARCO 13cd Compatible Systems Corporation 13ce Cocom A/S 13cf Studio Audio & Video Ltd 13d0 Techsan Electronics Co Ltd 2103 B2C2 FlexCopII DVB chip / Technisat SkyStar2 DVB card 2104 B2C2 FlexCopIII DVB chip / Technisat SkyStar2 DVB card (rev 01) 2200 B2C2 FlexCopIII DVB chip / Technisat SkyStar2 DVB card 13d1 Abocom Systems Inc ab02 ADMtek Centaur-C rev 17 [D-Link DFE-680TX] CardBus Fast Ethernet Adapter ab03 21x4x DEC-Tulip compatible 10/100 Ethernet ab06 RTL8139 [FE2000VX] CardBus Fast Ethernet Attached Port Adapter ab08 21x4x DEC-Tulip compatible 10/100 Ethernet 13d2 Shark Multimedia Inc 13d4 Graphics Microsystems Inc 13d5 Media 100 Inc 13d6 K.I. Technology Co Ltd 13d7 Toshiba Engineering Corporation 13d8 Phobos corporation 13d9 Apex PC Solutions Inc 13da Intresource Systems pte Ltd 13db Janich & Klass Computertechnik GmbH 13dc Netboost Corporation 13dd Multimedia Bundle Inc 13de ABB Robotics Products AB 13df E-Tech Inc 0001 PCI56RVP Modem 13df 0001 PCI56RVP Modem 13e0 GVC Corporation 13e1 Silicom Multimedia Systems Inc 13e2 Dynamics Research Corporation 13e3 Nest Inc 13e4 Calculex Inc 13e5 Telesoft Design Ltd 13e6 Argosy research Inc 13e7 NAC Incorporated 13e8 Chip Express Corporation 13e9 Intraserver Technology Inc 13ea Dallas Semiconductor 13eb Hauppauge Computer Works Inc 13ec Zydacron Inc 000a NPC-RC01 Remote control receiver 13ed Raytheion E-Systems 13ee Hayes Microcomputer Products Inc 13ef Coppercom Inc 13f0 Sundance Technology Inc / IC Plus Corp 0200 IC Plus IP100A Integrated 10/100 Ethernet MAC + PHY 1043 8213 NX1001 0201 ST201 Sundance Ethernet 1021 TC902x Gigabit Ethernet 1023 IP1000 Family Gigabit Ethernet 1043 8180 NX1101 13f1 Oce' - Technologies B.V. 13f2 Ford Microelectronics Inc 13f3 Mcdata Corporation 13f4 Troika Networks, Inc. 1401 Zentai Fibre Channel Adapter 13f5 Kansai Electric Co. Ltd 13f6 C-Media Electronics Inc 0011 CMI8738 0100 CM8338A 13f6 ffff CMI8338/C3DX PCI Audio Device 0101 CM8338B 13f6 0101 CMI8338-031 PCI Audio Device 0111 CMI8738/CMI8768 PCI Audio 1019 0970 P6STP-FL motherboard 1043 8035 CUSI-FX motherboard 1043 8077 CMI8738 6-channel audio controller 1043 80e2 CMI8738 6ch-MX 13f6 0111 CMI8738/C3DX PCI Audio Device 13f6 9761 Theatron Agrippa 153b 1144 Aureon 5.1 153b 1170 Aureon 7.1 1681 a000 Gamesurround MUSE XL 17ab 0604 PSC604 Dynamic Edge 17ab 0605 PSC605 Sonic Edge 17ab 7777 PSC605 Sonic Edge 270f 1103 CT-7NJS Ultra motherboard 270f f462 7NJL1 motherboard 584d 3731 Digital X-Mystique 584d 3741 X-Plosion 7.1 584d 3751 X-Raider 7.1 584d 3761 X-Mystique 7.1 LP 584d 3771 X-Mystique 7.1 LP Value 7284 8384 Striker 7.1 0211 CM8738 5011 CM8888 [Oxygen Express] 13f6 5011 HDA Controller 8788 CMI8788 [Oxygen HD Audio] 1043 8269 Virtuoso 200 (Xonar D2) 1043 8275 Virtuoso 100 (Xonar DX) 1043 82b7 Virtuoso 200 (Xonar D2X) 1043 8314 Virtuoso 200 (Xonar HDAV1.3) 1043 8327 Virtuoso 100 (Xonar DX) 1043 834f Virtuoso 100 (Xonar D1) 1043 835c Virtuoso 100 (Xonar Essence STX) 1043 835d Virtuoso 100 (Xonar ST) 1043 835e Virtuoso 200 (Xonar HDAV1.3 Slim) 1043 838e Virtuoso 66 (Xonar DS) 1043 8428 Virtuoso 100 (Xonar Xense) 1043 8467 CMI8786 (Xonar DG) 1043 8521 CMI8786 (Xonar DGX) 1043 8522 Xonar DSX 1043 85f4 Virtuoso 100 (Xonar Essence STX II) 13f6 8782 PCI 2.0 HD Audio 13f6 ffff CMI8787-HG2PCI 14c3 1710 HiFier Fantasia 14c3 1711 HiFier Serenade 14c3 1713 HiFier Serenade III 1a58 0910 Barracuda AC-1 415a 5431 X-Meridian 7.1 5431 017a X-Meridian 7.1 2G 584d 3781 HDA X-Purity 7.1 Platinum 7284 9761 CLARO 7284 9781 CLARO halo 7284 9783 eCLARO 7284 9787 CLARO II 13f7 Wildfire Communications 13f8 Ad Lib Multimedia Inc 13f9 NTT Advanced Technology Corp. 13fa Pentland Systems Ltd 13fb Aydin Corp 13fc Computer Peripherals International 13fd Micro Science Inc 13fe Advantech Co. Ltd 1240 PCI-1240 4-channel stepper motor controller card 1600 PCI-16xx series PCI multiport serial board (function 0) # This board has two PCI functions, appears as two PCI devices 1601 0002 PCI-1601 2-port unisolated RS-422/485 # This board has two PCI functions, appears as two PCI devices 1602 0002 PCI-1602 2-port isolated RS-422/485 1612 0004 PCI-1612 4-port RS-232/422/485 1603 PCI-1603 2-port isolated RS-232/current loop 1604 PCI-1604 2-port RS-232 1680 PCI-1680 Rev.A1 2-port CAN-bus with isolation protection 16ff PCI-16xx series PCI multiport serial board (function 1: RX/TX steering CPLD) 1601 0000 PCI-1601 2-port unisolated RS-422/485 PCI communications card 1602 0000 PCI-1602 2-port isolated RS-422/485 1612 0000 PCI-1612 4-port RS-232/422/485 1711 PCI-1711 16-channel data acquisition card 12-bit, 100kS/s 1713 PCI-1713 32-channel isolated analog input card 1733 PCI-1733 32-channel isolated digital input card 1734 PCI-1734 32-channel isolated digital output card 1752 PCI-1752 64-channel Isolated Digital Output Card 1754 PCI-1754 64-channel Isolated Digital Input Card 1756 PCI-1756 64-ch Isolated Digital I/O PCI Card a004 PCI-1612 4-port RS-232/422/485 # FPGA bridge to two SJA1000 c302 MIOe-3680 2-Port CAN-Bus MIOe Module with Isolation Protection 13ff Silicon Spice Inc 1400 Artx Inc 1401 9432 TX 1401 CR-Systems A/S 1402 Meilhaus Electronic GmbH 0630 ME-630 0940 ME-94 0950 ME-95 0960 ME-96 1000 ME-1000 100a ME-1000 100b ME-1000 1400 ME-1400 140a ME-1400A 140b ME-1400B 140c ME-1400C 140d ME-1400D 140e ME-1400E 14ea ME-1400EA 14eb ME-1400EB 1604 ME-1600/4U 1608 ME-1600/8U 160c ME-1600/12U 160f ME-1600/16U 168f ME-1600/16U8I 4610 ME-4610 4650 ME-4650 4660 ME-4660 4661 ME-4660I 4662 ME-4660 4663 ME-4660I 4670 ME-4670 4671 ME-4670I 4672 ME-4670S 4673 ME-4670IS 4680 ME-4680 4681 ME-4680I 4682 ME-4680S 4683 ME-4680IS 6004 ME-6000/4 6008 ME-6000/8 600f ME-6000/16 6014 ME-6000I/4 6018 ME-6000I/8 601f ME-6000I/16 6034 ME-6000ISLE/4 6038 ME-6000ISLE/8 603f ME-6000ISLE/16 6044 ME-6000/4/DIO 6048 ME-6000/8/DIO 604f ME-6000/16/DIO 6054 ME-6000I/4/DIO 6058 ME-6000I/8/DIO 605f ME-6000I/16/DIO 6074 ME-6000ISLE/4/DIO 6078 ME-6000ISLE/8/DIO 607f ME-6000ISLE/16/DIO 6104 ME-6100/4 6108 ME-6100/8 610f ME-6100/16 6114 ME-6100I/4 6118 ME-6100I/8 611f ME-6100I/16 6134 ME-6100ISLE/4 6138 ME-6100ISLE/8 613f ME-6100ISLE/16 6144 ME-6100/4/DIO 6148 ME-6100/8/DIO 614f ME-6100/16/DIO 6154 ME-6100I/4/DIO 6158 ME-6100I/8/DIO 615f ME-6100I/16/DIO 6174 ME-6100ISLE/4/DIO 6178 ME-6100ISLE/8/DIO 617f ME-6100ISLE/16/DIO 6259 ME-6200I/9/DIO 6359 ME-6300I/9/DIO 810a ME-8100A 810b ME-8100B 820a ME-8200A 820b ME-8200B 1403 Ascor Inc 1404 Fundamental Software Inc 1405 Excalibur Systems Inc 1406 Oce' Printing Systems GmbH 1407 Lava Computer mfg Inc 0100 Lava Dual Serial 0101 Lava Quatro A 0102 Lava Quatro B 0110 Lava DSerial-PCI Port A 0111 Lava DSerial-PCI Port B 0120 Quattro-PCI A 0121 Quattro-PCI B 0180 Lava Octo A 0181 Lava Octo B 0200 Lava Port Plus 0201 Lava Quad A 0202 Lava Quad B 0220 Lava Quattro PCI Ports A/B 0221 Lava Quattro PCI Ports C/D 0400 Lava 8255-PIO-PCI 0500 Lava Single Serial 0520 Lava RS422-SS-PCI 0600 Lava Port 650 8000 Lava Parallel 8001 Dual parallel port controller A 8002 Lava Dual Parallel port A 8003 Lava Dual Parallel port B 8800 BOCA Research IOPPAR 1408 Aloka Co. Ltd 1409 Timedia Technology Co Ltd 7168 PCI2S550 (Dual 16550 UART) 1409 0002 SER4036A3V (2x RS232 port) 1409 4027 SER4027A (1x RS232 port) 1409 4037 SER4037A(L) [SUNIX SUN1889] (2x RS232 port) # Single DC-37 connector 1409 4056 SER4056A (4x RS232) 1409 5027 SER4027D 1409 5037 SER4037D (2x RS232 port) # Single DC-62 connector 1409 5066 SER4066R (8x RS232) # 4x 8p8c connectors 1409 6056 SER4056D (4x RS232 port) 7268 SUN1888 (Dual IEEE1284 parallel port) 1409 0103 PAR4008A 1409 0104 PAR4018A 140a DSP Research Inc # Formerly RAMiX, GE Fanuc, GE Intelligent Platforms 140b Abaco Systems, Inc. 140c Elmic Systems Inc 140d Matsushita Electric Works Ltd 140e Goepel Electronic GmbH 140f Salient Systems Corp 1410 Midas lab Inc 1411 Ikos Systems Inc # Nee IC Ensemble Inc. 1412 VIA Technologies Inc. 1712 ICE1712 [Envy24] PCI Multi-Channel I/O Controller 1412 1712 Hoontech ST Audio DSP 24 1412 d630 M-Audio Delta 1010 1412 d631 M-Audio Delta DiO 1412 d632 M-Audio Delta 66 1412 d633 M-Audio Delta 44 1412 d634 M-Audio Delta Audiophile 2496 1412 d635 M-Audio Delta TDIF 1412 d637 M-Audio Delta RBUS 1412 d638 M-Audio Delta 410 1412 d63b M-Audio Delta 1010LT 1412 d63c Digigram VX442 1416 1712 Hoontech ST Audio DSP 24 Media 7.1 153b 1115 EWS88 MT 153b 1125 EWS88 MT (Master) 153b 112b EWS88 D 153b 112c EWS88 D (Master) 153b 1130 EWX 24/96 153b 1138 DMX 6fire 24/96 153b 1151 PHASE88 16ce 1040 Edirol DA-2496 1724 VT1720/24 [Envy24PT/HT] PCI Multi-Channel Audio Controller 10b0 0200 Hollywood@Home 7.1 1412 1724 Albatron PX865PE 7.1 1412 3630 M-Audio Revolution 7.1 1412 3631 M-Audio Revolution 5.1 1412 3632 M-Audio Audiophile 192 153b 1145 Aureon 7.1 Space 153b 1147 Aureon 5.1 Sky 153b 1150 PHASE 22 153b 1153 Aureon 7.1 Universe 17ab 1906 PSC 724 [Ultimate Edge] 270f f641 ZNF3-150 270f f645 ZNF3-250 3130 4154 MAYA 44 MKII 1413 Addonics 1414 Microsoft Corporation 0001 MN-120 (ADMtek Centaur-C based) 0002 MN-130 (ADMtek Centaur-P based) 5353 Hyper-V virtual VGA 5801 XMA Decoder (Xenon) 5802 SATA Controller - CdRom (Xenon) 5803 SATA Controller - Disk (Xenon) 5804 OHCI Controller 0 (Xenon) 5805 EHCI Controller 0 (Xenon) 5806 OHCI Controller 1 (Xenon) 5807 EHCI Controller 1 (Xenon) 580a Fast Ethernet Adapter (Xenon) 580b Secure Flash Controller (Xenon) 580d System Management Controller (Xenon) 5811 Xenos GPU (Xenon) 1415 Oxford Semiconductor Ltd 8401 OX9162 Mode 1 (8-bit bus) 8403 OX9162 Mode 0 (parallel port) 9500 OX16PCI954 (Quad 16950 UART) function 0 (Disabled) 9501 OX16PCI954 (Quad 16950 UART) function 0 (Uart) 12c4 0201 Titan/cPCI (2 port) 12c4 0202 Titan/cPCI (4 port) 12c4 0203 Titan/cPCI (8 port) 12c4 0210 Titan/104-Plus (8 port, p1-4) 131f 2050 CyberPro (4-port) # Model IO1085, Part No: JJ-P46012 131f 2051 CyberSerial 4S Plus 15ed 2000 MCCR Serial p0-3 of 8 15ed 2001 MCCR Serial p0-3 of 16 9505 OXuPCI952 (Dual 16C950 UART) 950a EXSYS EX-41092 Dual 16950 Serial adapter 950b OXCB950 Cardbus 16950 UART 9510 OX16PCI954 (Quad 16950 UART) function 1 (Disabled) 12c4 0200 Titan/cPCI (Unused) 9511 OX16PCI954 (Quad 16950 UART) function 1 (8bit bus) 12c4 0211 Titan/104-Plus (8 port, p5-8) 15ed 2000 MCCR Serial p4-7 of 8 15ed 2001 MCCR Serial p4-15 of 16 9512 OX16PCI954 (Quad 16950 UART) function 1 (32bit bus) 9513 OX16PCI954 (Quad 16950 UART) function 1 (parallel port) 9521 OX16PCI952 (Dual 16950 UART) 9523 OX16PCI952 Integrated Parallel Port c158 OXPCIe952 Dual 16C950 UART e4bf c504 CP4-SCAT Wireless Technologies Carrier Board e4bf d551 DU1-MUSTANG Dual-Port RS-485 Interface c308 EX-44016 16-port serial 1416 Multiwave Innovation pte Ltd 1417 Convergenet Technologies Inc 1418 Kyushu electronics systems Inc 1419 Excel Switching Corp 141a Apache Micro Peripherals Inc 141b Zoom Telephonics Inc 141d Digitan Systems Inc 141e Fanuc Ltd 141f Visiontech Ltd 1420 Psion Dacom plc 8002 Gold Card NetGlobal 56k+10/100Mb CardBus (Ethernet part) 8003 Gold Card NetGlobal 56k+10/100Mb CardBus (Modem part) 1421 Ads Technologies Inc 1422 Ygrec Systems Co Ltd 1423 Custom Technology Corp. 1424 Videoserver Connections 1425 Chelsio Communications Inc 000b T210 Protocol Engine 000c T204 Protocol Engine 0022 10GbE Ethernet Adapter 0030 T310 10GbE Single Port Adapter 103c 705e PCIe 10GBase-SR [AD386A] 0031 T320 10GbE Dual Port Adapter 0032 T302 1GbE Dual Port Adapter 0033 T304 1GbE Quad Port Adapter 0034 B320 10GbE Dual Port Adapter 0035 S310-CR 10GbE Single Port Adapter 0036 S320-LP-CR 10GbE Dual Port Adapter 0037 N320-G2-CR 10GbE Dual Port Adapter 4001 T420-CR Unified Wire Ethernet Controller 4002 T422-CR Unified Wire Ethernet Controller 4003 T440-CR Unified Wire Ethernet Controller 4004 T420-BCH Unified Wire Ethernet Controller 4005 T440-BCH Unified Wire Ethernet Controller 4006 T440-CH Unified Wire Ethernet Controller 4007 T420-SO Unified Wire Ethernet Controller 4008 T420-CX Unified Wire Ethernet Controller 4009 T420-BT Unified Wire Ethernet Controller 400a T404-BT Unified Wire Ethernet Controller 400b B420-SR Unified Wire Ethernet Controller 400c B404-BT Unified Wire Ethernet Controller 400d T480 Unified Wire Ethernet Controller 400e T440-LP-CR Unified Wire Ethernet Controller 400f T440 [Amsterdam] Unified Wire Ethernet Controller 4080 T480-4080 T480 Unified Wire Ethernet Controller 4081 T440F-4081 T440-FCoE Unified Wire Ethernet Controller 4082 T420-4082 Unified Wire Ethernet Controller 4083 T420X-4083 Unified Wire Ethernet Controller 4084 T440-4084 Unified Wire Ethernet Controller 4085 T420-4085 SFP+ Unified Wire Ethernet Controller 4086 T440-4086 10Gbase-T Unified Wire Ethernet Controller 4087 T440T-4087 Unified Wire Ethernet Controller 4088 T440-4088 Unified Wire Ethernet Controller 4401 T420-CR Unified Wire Ethernet Controller 4402 T422-CR Unified Wire Ethernet Controller 4403 T440-CR Unified Wire Ethernet Controller 4404 T420-BCH Unified Wire Ethernet Controller 4405 T440-BCH Unified Wire Ethernet Controller 4406 T440-CH Unified Wire Ethernet Controller 4407 T420-SO Unified Wire Ethernet Controller 4408 T420-CX Unified Wire Ethernet Controller 4409 T420-BT Unified Wire Ethernet Controller 440a T404-BT Unified Wire Ethernet Controller 440b B420-SR Unified Wire Ethernet Controller 440c B404-BT Unified Wire Ethernet Controller 440d T480 Unified Wire Ethernet Controller 440e T440-LP-CR Unified Wire Ethernet Controller 440f T440 [Amsterdam] Unified Wire Ethernet Controller 4480 T480-4080 T480 Unified Wire Ethernet Controller 4481 T440F-4081 T440-FCoE Unified Wire Ethernet Controller 4482 T420-4082 Unified Wire Ethernet Controller 4483 T420X-4083 Unified Wire Ethernet Controller 4484 T440-4084 Unified Wire Ethernet Controller 4485 T420-4085 SFP+ Unified Wire Ethernet Controller 4486 T440-4086 10Gbase-T Unified Wire Ethernet Controller 4487 T440T-4087 Unified Wire Ethernet Controller 4488 T440-4088 Unified Wire Ethernet Controller 4501 T420-CR Unified Wire Storage Controller 4502 T422-CR Unified Wire Storage Controller 4503 T440-CR Unified Wire Storage Controller 4504 T420-BCH Unified Wire Storage Controller 4505 T440-BCH Unified Wire Storage Controller 4506 T440-CH Unified Wire Storage Controller 4507 T420-SO Unified Wire Storage Controller 4508 T420-CX Unified Wire Storage Controller 4509 T420-BT Unified Wire Storage Controller 450a T404-BT Unified Wire Storage Controller 450b B420-SR Unified Wire Storage Controller 450c B404-BT Unified Wire Storage Controller 450d T480 Unified Wire Storage Controller 450e T440-LP-CR Unified Wire Storage Controller 450f T440 [Amsterdam] Unified Wire Storage Controller 4580 T480-4080 T480 Unified Wire Storage Controller 4581 T440F-4081 T440-FCoE Unified Wire Storage Controller 4582 T420-4082 Unified Wire Storage Controller 4583 T420X-4083 Unified Wire Storage Controller 4584 T440-4084 Unified Wire Storage Controller 4585 T420-4085 SFP+ Unified Wire Storage Controller 4586 T440-4086 10Gbase-T Unified Wire Storage Controller 4587 T440T-4087 Unified Wire Storage Controller 4588 T440-4088 Unified Wire Storage Controller 4601 T420-CR Unified Wire Storage Controller 4602 T422-CR Unified Wire Storage Controller 4603 T440-CR Unified Wire Storage Controller 4604 T420-BCH Unified Wire Storage Controller 4605 T440-BCH Unified Wire Storage Controller 4606 T440-CH Unified Wire Storage Controller 4607 T420-SO Unified Wire Storage Controller 4608 T420-CX Unified Wire Storage Controller 4609 T420-BT Unified Wire Storage Controller 460a T404-BT Unified Wire Storage Controller 460b B420-SR Unified Wire Storage Controller 460c B404-BT Unified Wire Storage Controller 460d T480 Unified Wire Storage Controller 460e T440-LP-CR Unified Wire Storage Controller 460f T440 [Amsterdam] Unified Wire Storage Controller 4680 T480-4080 T480 Unified Wire Storage Controller 4681 T440F-4081 T440-FCoE Unified Wire Storage Controller 4682 T420-4082 Unified Wire Storage Controller 4683 T420X-4083 Unified Wire Storage Controller 4684 T440-4084 Unified Wire Storage Controller 4685 T420-4085 SFP+ Unified Wire Storage Controller 4686 T440-4086 10Gbase-T Unified Wire Storage Controller 4687 T440T-4087 Unified Wire Storage Controller 4688 T440-4088 Unified Wire Storage Controller 4701 T420-CR Unified Wire Ethernet Controller 4702 T422-CR Unified Wire Ethernet Controller 4703 T440-CR Unified Wire Ethernet Controller 4704 T420-BCH Unified Wire Ethernet Controller 4705 T440-BCH Unified Wire Ethernet Controller 4706 T440-CH Unified Wire Ethernet Controller 4707 T420-SO Unified Wire Ethernet Controller 4708 T420-CX Unified Wire Ethernet Controller 4709 T420-BT Unified Wire Ethernet Controller 470a T404-BT Unified Wire Ethernet Controller 470b B420-SR Unified Wire Ethernet Controller 470c B404-BT Unified Wire Ethernet Controller 470d T480 Unified Wire Ethernet Controller 470e T440-LP-CR Unified Wire Ethernet Controller 470f T440 [Amsterdam] Unified Wire Ethernet Controller 4780 T480-4080 T480 Unified Wire Ethernet Controller 4781 T440F-4081 T440-FCoE Unified Wire Ethernet Controller 4782 T420-4082 Unified Wire Ethernet Controller 4783 T420X-4083 Unified Wire Ethernet Controller 4784 T440-4084 Unified Wire Ethernet Controller 4785 T420-4085 SFP+ Unified Wire Ethernet Controller 4786 T440-4086 10Gbase-T Unified Wire Ethernet Controller 4787 T440T-4087 Unified Wire Ethernet Controller 4788 T440-4088 Unified Wire Ethernet Controller 4801 T420-CR Unified Wire Ethernet Controller [VF] 4802 T422-CR Unified Wire Ethernet Controller [VF] 4803 T440-CR Unified Wire Ethernet Controller [VF] 4804 T420-BCH Unified Wire Ethernet Controller [VF] 4805 T440-BCH Unified Wire Ethernet Controller [VF] 4806 T440-CH Unified Wire Ethernet Controller [VF] 4807 T420-SO Unified Wire Ethernet Controller [VF] 4808 T420-CX Unified Wire Ethernet Controller [VF] 4809 T420-BT Unified Wire Ethernet Controller [VF] 480a T404-BT Unified Wire Ethernet Controller [VF] 480b B420-SR Unified Wire Ethernet Controller [VF] 480c B404-BT Unified Wire Ethernet Controller [VF] 480d T480 Unified Wire Ethernet Controller [VF] 480e T440-LP-CR Unified Wire Ethernet Controller [VF] 480f T440 [Amsterdam] Unified Wire Ethernet Controller [VF] 4880 T480-4080 T480 Unified Wire Ethernet Controller [VF] 4881 T440F-4081 T440-FCoE Unified Wire Ethernet Controller [VF] 4882 T420-4082 Unified Wire Ethernet Controller [VF] 4883 T420X-4083 Unified Wire Ethernet Controller [VF] 4884 T440-4084 Unified Wire Ethernet Controller [VF] 4885 T420-4085 SFP+ Unified Wire Ethernet Controller [VF] 4886 T440-4086 10Gbase-T Unified Wire Ethernet Controller [VF] 4887 T440T-4087 Unified Wire Ethernet Controller [VF] 4888 T440-4088 Unified Wire Ethernet Controller [VF] 5001 T520-CR Unified Wire Ethernet Controller 193d 1001 510F-B 5002 T522-CR Unified Wire Ethernet Controller 5003 T540-CR Unified Wire Ethernet Controller 5004 T520-BCH Unified Wire Ethernet Controller 5005 T540-BCH Unified Wire Ethernet Controller 5006 T540-CH Unified Wire Ethernet Controller 5007 T520-SO Unified Wire Ethernet Controller 5008 T520-CX Unified Wire Ethernet Controller 5009 T520-BT Unified Wire Ethernet Controller 500a T504-BT Unified Wire Ethernet Controller 500b B520-SR Unified Wire Ethernet Controller 500c B504-BT Unified Wire Ethernet Controller 500d T580-CR Unified Wire Ethernet Controller 500e T540-LP-CR Unified Wire Ethernet Controller 500f T540 [Amsterdam] Unified Wire Ethernet Controller 5010 T580-LP-CR Unified Wire Ethernet Controller 5011 T520-LL-CR Unified Wire Ethernet Controller 5012 T560-CR Unified Wire Ethernet Controller 5013 T580-CHR Unified Wire Ethernet Controller 5014 T580-SO-CR Unified Wire Ethernet Controller 5015 T502-BT Unified Wire Ethernet Controller 5016 T580-OCP-SO Unified Wire Ethernet Controller 5017 T520-OCP-SO Unified Wire Ethernet Controller 5018 T540-BT Unified Wire Ethernet Controller 5019 T540-LP-BT Unified Wire Ethernet Controller 501a T540-SO-BT Unified Wire Ethernet Controller 501b T540-SO-CR Unified Wire Ethernet Controller 5080 T540-5080 Unified Wire Ethernet Controller 5081 T540-5081 Unified Wire Ethernet Controller 5082 T504-5082 Unified Wire Ethernet Controller 5083 T540-5083 Unified Wire Ethernet Controller 5084 T540-5084 Unified Wire Ethernet Controller 5085 T580-5085 Unified Wire Ethernet Controller 5086 T580-5086 Unified Wire Ethernet Controller 5087 T580-5087 Unified Wire Ethernet Controller 5088 T570-5088 Unified Wire Ethernet Controller 5089 T520-5089 Unified Wire Ethernet Controller 5090 T540-5090 Unified Wire Ethernet Controller 5091 T522-5091 Unified Wire Ethernet Controller 5092 T520-5092 Unified Wire Ethernet Controller 5093 T580-5093 Unified Wire Ethernet Controller 5094 T540-5094 Unified Wire Ethernet Controller 5095 T540-5095 Unified Wire Ethernet Controller 5096 T580-5096 Unified Wire Ethernet Controller 5097 T520-5097 Unified Wire Ethernet Controller 5098 T580-5098 Unified Wire Ethernet Controller 5099 T580-5099 Unified Wire Ethernet Controller 509a T520-509A Unified Wire Ethernet Controller 509b T540-509B Unified Wire Ethernet Controller 509c T520-509C Unified Wire Ethernet Controller 509d T540-509D Unified Wire Ethernet Controller 509e T520-509E Unified Wire Ethernet Controller 509f T540-509F Unified Wire Ethernet Controller 50a0 T540-50A0 Unified Wire Ethernet Controller 50a1 T540-50A1 Unified Wire Ethernet Controller 50a2 T580-50A2 Unified Wire Ethernet Controller 50a3 T580-50A3 Unified Wire Ethernet Controller 50a4 T540-50A4 Unified Wire Ethernet Controller 50a5 T522-50A5 Unified Wire Ethernet Controller 50a6 T522-50A6 Unified Wire Ethernet Controller 50a7 T580-50A7 Unified Wire Ethernet Controller 50a8 T580-50A8 Unified Wire Ethernet Controller 50a9 T580-50A9 Unified Wire Ethernet Controller 50aa T580-50AA Unified Wire Ethernet Controller 50ab T520-50AB Unified Wire Ethernet Controller 50ac T540-50AC Unified Wire Ethernet Controller 50ad T520-50AD Unified Wire Ethernet Controller 50ae T540-50AE Unified Wire Ethernet Controller 50af T580-50AF Unified Wire Ethernet Controller 50b0 T520-50B0 Unified Wire Ethernet Controller 5401 T520-CR Unified Wire Ethernet Controller 5402 T522-CR Unified Wire Ethernet Controller 5403 T540-CR Unified Wire Ethernet Controller 5404 T520-BCH Unified Wire Ethernet Controller 5405 T540-BCH Unified Wire Ethernet Controller 5406 T540-CH Unified Wire Ethernet Controller 5407 T520-SO Unified Wire Ethernet Controller 5408 T520-CX Unified Wire Ethernet Controller 5409 T520-BT Unified Wire Ethernet Controller 540a T504-BT Unified Wire Ethernet Controller 540b B520-SR Unified Wire Ethernet Controller 540c B504-BT Unified Wire Ethernet Controller 540d T580-CR Unified Wire Ethernet Controller 540e T540-LP-CR Unified Wire Ethernet Controller 540f T540 [Amsterdam] Unified Wire Ethernet Controller 5410 T580-LP-CR Unified Wire Ethernet Controller 5411 T520-LL-CR Unified Wire Ethernet Controller 5412 T560-CR Unified Wire Ethernet Controller 5413 T580-CHR Unified Wire Ethernet Controller 5414 T580-SO-CR Unified Wire Ethernet Controller 5415 T502-BT Unified Wire Ethernet Controller 5416 T580-OCP-SO Unified Wire Ethernet Controller 5417 T520-OCP-SO Unified Wire Ethernet Controller 5418 T540-BT Unified Wire Ethernet Controller 5419 T540-LP-BT Unified Wire Ethernet Controller 541a T540-SO-BT Unified Wire Ethernet Controller 541b T540-SO-CR Unified Wire Ethernet Controller 5480 T540-5080 Unified Wire Ethernet Controller 5481 T540-5081 Unified Wire Ethernet Controller 5482 T504-5082 Unified Wire Ethernet Controller 5483 T540-5083 Unified Wire Ethernet Controller 5484 T540-5084 Unified Wire Ethernet Controller 5485 T580-5085 Unified Wire Ethernet Controller 5486 T580-5086 Unified Wire Ethernet Controller 5487 T580-5087 Unified Wire Ethernet Controller 5488 T570-5088 Unified Wire Ethernet Controller 5489 T520-5089 Unified Wire Ethernet Controller 5490 T540-5090 Unified Wire Ethernet Controller 5491 T522-5091 Unified Wire Ethernet Controller 5492 T520-5092 Unified Wire Ethernet Controller 5493 T580-5093 Unified Wire Ethernet Controller 5494 T540-5094 Unified Wire Ethernet Controller 5495 T540-5095 Unified Wire Ethernet Controller 5496 T580-5096 Unified Wire Ethernet Controller 5497 T520-5097 Unified Wire Ethernet Controller 5498 T580-5098 Unified Wire Ethernet Controller 5499 T580-5099 Unified Wire Ethernet Controller 549a T520-509A Unified Wire Ethernet Controller 549b T540-509B Unified Wire Ethernet Controller 549c T520-509C Unified Wire Ethernet Controller 549d T540-509D Unified Wire Ethernet Controller 549e T520-509E Unified Wire Ethernet Controller 549f T540-509F Unified Wire Ethernet Controller 54a0 T540-50A0 Unified Wire Ethernet Controller 54a1 T540-50A1 Unified Wire Ethernet Controller 54a2 T580-50A2 Unified Wire Ethernet Controller 54a3 T580-50A3 Unified Wire Ethernet Controller 54a4 T540-50A4 Unified Wire Ethernet Controller 54a5 T522-50A5 Unified Wire Ethernet Controller 54a6 T522-50A6 Unified Wire Ethernet Controller 54a7 T580-50A7 Unified Wire Ethernet Controller 54a8 T580-50A8 Unified Wire Ethernet Controller 54a9 T580-50A9 Unified Wire Ethernet Controller 54aa T580-50AA Unified Wire Ethernet Controller 54ab T520-50AB Unified Wire Ethernet Controller 54ac T540-50AC Unified Wire Ethernet Controller 54ad T520-50AD Unified Wire Ethernet Controller 54ae T540-50AE Unified Wire Ethernet Controller 54af T580-50AF Unified Wire Ethernet Controller 54b0 T520-50B0 Unified Wire Ethernet Controller 5501 T520-CR Unified Wire Storage Controller 5502 T522-CR Unified Wire Storage Controller 5503 T540-CR Unified Wire Storage Controller 5504 T520-BCH Unified Wire Storage Controller 5505 T540-BCH Unified Wire Storage Controller 5506 T540-CH Unified Wire Storage Controller 5507 T520-SO Unified Wire Storage Controller 5508 T520-CX Unified Wire Storage Controller 5509 T520-BT Unified Wire Storage Controller 550a T504-BT Unified Wire Storage Controller 550b B520-SR Unified Wire Storage Controller 550c B504-BT Unified Wire Storage Controller 550d T580-CR Unified Wire Storage Controller 550e T540-LP-CR Unified Wire Storage Controller 550f T540 [Amsterdam] Unified Wire Storage Controller 5510 T580-LP-CR Unified Wire Storage Controller 5511 T520-LL-CR Unified Wire Storage Controller 5512 T560-CR Unified Wire Storage Controller 5513 T580-CHR Unified Wire Storage Controller 5514 T580-SO-CR Unified Wire Storage Controller 5515 T502-BT Unified Wire Storage Controller 5516 T580-OCP-SO Unified Wire Storage Controller 5517 T520-OCP-SO Unified Wire Storage Controller 5518 T540-BT Unified Wire Storage Controller 5519 T540-LP-BT Unified Wire Storage Controller 551a T540-SO-BT Unified Wire Storage Controller 551b T540-SO-CR Unified Wire Storage Controller 5580 T540-5080 Unified Wire Storage Controller 5581 T540-5081 Unified Wire Storage Controller 5582 T504-5082 Unified Wire Storage Controller 5583 T540-5083 Unified Wire Storage Controller 5584 T540-5084 Unified Wire Storage Controller 5585 T580-5085 Unified Wire Storage Controller 5586 T580-5086 Unified Wire Storage Controller 5587 T580-5087 Unified Wire Storage Controller 5588 T570-5088 Unified Wire Storage Controller 5589 T520-5089 Unified Wire Storage Controller 5590 T540-5090 Unified Wire Storage Controller 5591 T522-5091 Unified Wire Storage Controller 5592 T520-5092 Unified Wire Storage Controller 5593 T580-5093 Unified Wire Storage Controller 5594 T540-5094 Unified Wire Storage Controller 5595 T540-5095 Unified Wire Storage Controller 5596 T580-5096 Unified Wire Storage Controller 5597 T520-5097 Unified Wire Storage Controller 5598 T580-5098 Unified Wire Storage Controller 5599 T580-5099 Unified Wire Storage Controller 559a T520-509A Unified Wire Storage Controller 559b T540-509B Unified Wire Storage Controller 559c T520-509C Unified Wire Storage Controller 559d T540-509D Unified Wire Storage Controller 559e T520-509E Unified Wire Storage Controller 559f T540-509F Unified Wire Storage Controller 55a0 T540-50A0 Unified Wire Storage Controller 55a1 T540-50A1 Unified Wire Storage Controller 55a2 T580-50A2 Unified Wire Storage Controller 55a3 T580-50A3 Unified Wire Storage Controller 55a4 T540-50A4 Unified Wire Storage Controller 55a5 T522-50A5 Unified Wire Storage Controller 55a6 T522-50A6 Unified Wire Storage Controller 55a7 T580-50A7 Unified Wire Storage Controller 55a8 T580-50A8 Unified Wire Storage Controller 55a9 T580-50A9 Unified Wire Storage Controller 55aa T580-50AA Unified Wire Storage Controller 55ab T520-50AB Unified Wire Storage Controller 55ac T540-50AC Unified Wire Storage Controller 55ad T520-50AD Unified Wire Storage Controller 55ae T540-50AE Unified Wire Storage Controller 55af T580-50AF Unified Wire Storage Controller 55b0 T520-50B0 Unified Wire Storage Controller 5601 T520-CR Unified Wire Storage Controller 5602 T522-CR Unified Wire Storage Controller 5603 T540-CR Unified Wire Storage Controller 5604 T520-BCH Unified Wire Storage Controller 5605 T540-BCH Unified Wire Storage Controller 5606 T540-CH Unified Wire Storage Controller 5607 T520-SO Unified Wire Storage Controller 5608 T520-CX Unified Wire Storage Controller 5609 T520-BT Unified Wire Storage Controller 560a T504-BT Unified Wire Storage Controller 560b B520-SR Unified Wire Storage Controller 560c B504-BT Unified Wire Storage Controller 560d T580-CR Unified Wire Storage Controller 560e T540-LP-CR Unified Wire Storage Controller 560f T540 [Amsterdam] Unified Wire Storage Controller 5610 T580-LP-CR Unified Wire Storage Controller 5611 T520-LL-CR Unified Wire Storage Controller 5612 T560-CR Unified Wire Storage Controller 5613 T580-CHR Unified Wire Storage Controller 5614 T580-SO-CR Unified Wire Storage Controller 5615 T502-BT Unified Wire Storage Controller 5616 T580-OCP-SO Unified Wire Storage Controller 5617 T520-OCP-SO Unified Wire Storage Controller 5618 T540-BT Unified Wire Storage Controller 5619 T540-LP-BT Unified Wire Storage Controller 561a T540-SO-BT Unified Wire Storage Controller 561b T540-SO-CR Unified Wire Storage Controller 5680 T540-5080 Unified Wire Storage Controller 5681 T540-5081 Unified Wire Storage Controller 5682 T504-5082 Unified Wire Storage Controller 5683 T540-5083 Unified Wire Storage Controller 5684 T540-5084 Unified Wire Storage Controller 5685 T580-5085 Unified Wire Storage Controller 5686 T580-5086 Unified Wire Storage Controller 5687 T580-5087 Unified Wire Storage Controller 5688 T570-5088 Unified Wire Storage Controller 5689 T520-5089 Unified Wire Storage Controller 5690 T540-5090 Unified Wire Storage Controller 5691 T522-5091 Unified Wire Storage Controller 5692 T520-5092 Unified Wire Storage Controller 5693 T580-5093 Unified Wire Storage Controller 5694 T540-5094 Unified Wire Storage Controller 5695 T540-5095 Unified Wire Storage Controller 5696 T580-5096 Unified Wire Storage Controller 5697 T520-5097 Unified Wire Storage Controller 5698 T580-5098 Unified Wire Storage Controller 5699 T580-5099 Unified Wire Storage Controller 569a T520-509A Unified Wire Storage Controller 569b T540-509B Unified Wire Storage Controller 569c T520-509C Unified Wire Storage Controller 569d T540-509D Unified Wire Storage Controller 569e T520-509E Unified Wire Storage Controller 569f T540-509F Unified Wire Storage Controller 56a0 T540-50A0 Unified Wire Storage Controller 56a1 T540-50A1 Unified Wire Storage Controller 56a2 T580-50A2 Unified Wire Storage Controller 56a3 T580-50A3 Unified Wire Storage Controller 56a4 T540-50A4 Unified Wire Storage Controller 56a5 T522-50A5 Unified Wire Storage Controller 56a6 T522-50A6 Unified Wire Storage Controller 56a7 T580-50A7 Unified Wire Storage Controller 56a8 T580-50A8 Unified Wire Storage Controller 56a9 T580-50A9 Unified Wire Storage Controller 56aa T580-50AA Unified Wire Storage Controller 56ab T520-50AB Unified Wire Storage Controller 56ac T540-50AC Unified Wire Storage Controller 56ad T520-50AD Unified Wire Storage Controller 56ae T540-50AE Unified Wire Storage Controller 56af T580-50AF Unified Wire Storage Controller 56b0 T520-50B0 Unified Wire Storage Controller 5701 T520-CR Unified Wire Ethernet Controller 5702 T522-CR Unified Wire Ethernet Controller 5703 T540-CR Unified Wire Ethernet Controller 5704 T520-BCH Unified Wire Ethernet Controller 5705 T540-BCH Unified Wire Ethernet Controller 5706 T540-CH Unified Wire Ethernet Controller 5707 T520-SO Unified Wire Ethernet Controller 5708 T520-CX Unified Wire Ethernet Controller 5709 T520-BT Unified Wire Ethernet Controller 570a T504-BT Unified Wire Ethernet Controller 570b B520-SR Unified Wire Ethernet Controller 570c B504-BT Unified Wire Ethernet Controller 570d T580-CR Unified Wire Ethernet Controller 570e T540-LP-CR Unified Wire Ethernet Controller 570f T540 [Amsterdam] Unified Wire Ethernet Controller 5710 T580-LP-CR Unified Wire Ethernet Controller 5711 T520-LL-CR Unified Wire Ethernet Controller 5712 T560-CR Unified Wire Ethernet Controller 5713 T580-CR Unified Wire Ethernet Controller 5714 T580-SO-CR Unified Wire Ethernet Controller 5715 T502-BT Unified Wire Ethernet Controller 5780 T540-5080 Unified Wire Ethernet Controller 5781 T540-5081 Unified Wire Ethernet Controller 5782 T504-5082 Unified Wire Ethernet Controller 5783 T540-5083 Unified Wire Ethernet Controller 5784 T580-5084 Unified Wire Ethernet Controller 5785 T580-5085 Unified Wire Ethernet Controller 5786 T580-5086 Unified Wire Ethernet Controller 5787 T580-5087 Unified Wire Ethernet Controller 5788 T570-5088 Unified Wire Ethernet Controller 5789 T520-5089 Unified Wire Ethernet Controller 5790 T540-5090 Unified Wire Ethernet Controller 5791 T522-5091 Unified Wire Ethernet Controller 5792 T520-5092 Unified Wire Ethernet Controller 5793 T580-5093 Unified Wire Ethernet Controller 5794 T540-5094 Unified Wire Ethernet Controller 5795 T540-5095 Unified Wire Ethernet Controller 5796 T580-5096 Unified Wire Ethernet Controller 5797 T520-5097 Unified Wire Ethernet Controller 5801 T520-CR Unified Wire Ethernet Controller [VF] 5802 T522-CR Unified Wire Ethernet Controller [VF] 5803 T540-CR Unified Wire Ethernet Controller [VF] 5804 T520-BCH Unified Wire Ethernet Controller [VF] 5805 T540-BCH Unified Wire Ethernet Controller [VF] 5806 T540-CH Unified Wire Ethernet Controller [VF] 5807 T520-SO Unified Wire Ethernet Controller [VF] 5808 T520-CX Unified Wire Ethernet Controller [VF] 5809 T520-BT Unified Wire Ethernet Controller [VF] 580a T504-BT Unified Wire Ethernet Controller [VF] 580b B520-SR Unified Wire Ethernet Controller [VF] 580c B504-BT Unified Wire Ethernet Controller [VF] 580d T580-CR Unified Wire Ethernet Controller [VF] 580e T540-LP-CR Unified Wire Ethernet Controller [VF] 580f T540 [Amsterdam] Unified Wire Ethernet Controller [VF] 5810 T580-LP-CR Unified Wire Ethernet Controller [VF] 5811 T520-LL-CR Unified Wire Ethernet Controller [VF] 5812 T560-CR Unified Wire Ethernet Controller [VF] 5813 T580-CHR Unified Wire Ethernet Controller [VF] 5814 T580-SO-CR Unified Wire Ethernet Controller [VF] 5815 T502-BT Unified Wire Ethernet Controller [VF] 5816 T580-OCP-SO Unified Wire Ethernet Controller [VF] 5817 T520-OCP-SO Unified Wire Ethernet Controller [VF] 5818 T540-BT Unified Wire Ethernet Controller [VF] 5819 T540-LP-BT Unified Wire Ethernet Controller [VF] 581a T540-SO-BT Unified Wire Ethernet Controller [VF] 581b T540-SO-CR Unified Wire Ethernet Controller [VF] 5880 T540-5080 Unified Wire Ethernet Controller [VF] 5881 T540-5081 Unified Wire Ethernet Controller [VF] 5882 T504-5082 Unified Wire Ethernet Controller [VF] 5883 T540-5083 Unified Wire Ethernet Controller [VF] 5884 T540-5084 Unified Wire Ethernet Controller [VF] 5885 T580-5085 Unified Wire Ethernet Controller [VF] 5886 T580-5086 Unified Wire Ethernet Controller [VF] 5887 T580-5087 Unified Wire Ethernet Controller [VF] 5888 T570-5088 Unified Wire Ethernet Controller [VF] 5889 T520-5089 Unified Wire Ethernet Controller [VF] 5890 T540-5090 Unified Wire Ethernet Controller [VF] 5891 T522-5091 Unified Wire Ethernet Controller [VF] 5892 T520-5092 Unified Wire Ethernet Controller [VF] 5893 T580-5093 Unified Wire Ethernet Controller [VF] 5894 T540-5094 Unified Wire Ethernet Controller [VF] 5895 T540-5095 Unified Wire Ethernet Controller [VF] 5896 T580-5096 Unified Wire Ethernet Controller [VF] 5897 T520-5097 Unified Wire Ethernet Controller [VF] 5898 T580-5098 Unified Wire Ethernet Controller [VF] 5899 T580-5099 Unified Wire Ethernet Controller [VF] 589a T520-509A Unified Wire Ethernet Controller [VF] 589b T540-509B Unified Wire Ethernet Controller [VF] 589c T520-509C Unified Wire Ethernet Controller [VF] 589d T540-509D Unified Wire Ethernet Controller [VF] 589e T520-509E Unified Wire Ethernet Controller [VF] 589f T540-509F Unified Wire Ethernet Controller [VF] 58a0 T540-50A0 Unified Wire Ethernet Controller [VF] 58a1 T540-50A1 Unified Wire Ethernet Controller [VF] 58a2 T580-50A2 Unified Wire Ethernet Controller [VF] 58a3 T580-50A3 Unified Wire Ethernet Controller [VF] 58a4 T540-50A4 Unified Wire Ethernet Controller [VF] 58a5 T522-50A5 Unified Wire Ethernet Controller [VF] 58a6 T522-50A6 Unified Wire Ethernet Controller [VF] 58a7 T580-50A7 Unified Wire Ethernet Controller [VF] 58a8 T580-50A8 Unified Wire Ethernet Controller [VF] 58a9 T580-50A9 Unified Wire Ethernet Controller [VF] 58aa T580-50AA Unified Wire Ethernet Controller [VF] 58ab T520-50AB Unified Wire Ethernet Controller [VF] 58ac T540-50AC Unified Wire Ethernet Controller [VF] 58ad T520-50AD Unified Wire Ethernet Controller [VF] 58ae T540-50AE Unified Wire Ethernet Controller [VF] 58af T580-50AF Unified Wire Ethernet Controller [VF] 58b0 T520-50B0 Unified Wire Ethernet Controller [VF] 6001 T6225-CR Unified Wire Ethernet Controller 6002 T6225-SO-CR Unified Wire Ethernet Controller 6003 T6425-CR Unified Wire Ethernet Controller 6004 T6425-SO-CR Unified Wire Ethernet Controller 6005 T6225-OCP-SO Unified Wire Ethernet Controller 6006 T62100-OCP-SO Unified Wire Ethernet Controller 6007 T62100-LP-CR Unified Wire Ethernet Controller 6008 T62100-SO-CR Unified Wire Ethernet Controller 6009 T6210-BT Unified Wire Ethernet Controller 600d T62100-CR Unified Wire Ethernet Controller 6011 T6225-LL-CR Unified Wire Ethernet Controller 6014 T61100-OCP-SO Unified Wire Ethernet Controller 6015 T6201-BT Unified Wire Ethernet Controller 6080 T6225-6080 Unified Wire Ethernet Controller 6081 T62100-6081 Unified Wire Ethernet Controller 6082 T6225-6082 Unified Wire Ethernet Controller 6083 T62100-6083 Unified Wire Ethernet Controller 6084 T64100-6084 Unified Wire Ethernet Controller 6085 T6240-6085 Unified Wire Ethernet Controller 6086 T6225-6086 Unified Wire Ethernet Controller 6087 T6225-6087 Unified Wire Ethernet Controller 6088 T62100-6088 Unified Wire Ethernet Controller 6089 T62100-6089 Unified Wire Ethernet Controller 608a T62100-608a Unified Wire Ethernet Controller 6401 T6225-CR Unified Wire Ethernet Controller 6402 T6225-SO-CR Unified Wire Ethernet Controller 6403 T6425-CR Unified Wire Ethernet Controller 6404 T6425-SO-CR Unified Wire Ethernet Controller 6405 T6225-OCP-SO Unified Wire Ethernet Controller 6406 T62100-OCP-SO Unified Wire Ethernet Controller 6407 T62100-LP-CR Unified Wire Ethernet Controller 6408 T62100-SO-CR Unified Wire Ethernet Controller 6409 T6210-BT Unified Wire Ethernet Controller 640d T62100-CR Unified Wire Ethernet Controller 6411 T6225-LL-CR Unified Wire Ethernet Controller 6414 T61100-OCP-SO Unified Wire Ethernet Controller 6415 T6201-BT Unified Wire Ethernet Controller 6480 T6225-6080 Unified Wire Ethernet Controller 6481 T62100-6081 Unified Wire Ethernet Controller 6482 T6225-6082 Unified Wire Ethernet Controller 6483 T62100-6083 Unified Wire Ethernet Controller 6484 T64100-6084 Unified Wire Ethernet Controller 6485 T6240-6085 Unified Wire Ethernet Controller 6486 T6225-6086 Unified Wire Ethernet Controller 6487 T6225-6087 Unified Wire Ethernet Controller 6488 T62100-6088 Unified Wire Ethernet Controller 6489 T62100-6089 Unified Wire Ethernet Controller 648a T62100-608a Unified Wire Ethernet Controller 6501 T6225-CR Unified Wire Storage Controller 6502 T6225-SO-CR Unified Wire Storage Controller 6503 T6425-CR Unified Wire Storage Controller 6504 T6425-SO-CR Unified Wire Storage Controller 6505 T6225-OCP-SO Unified Wire Storage Controller 6506 T62100-OCP-SO Unified Wire Storage Controller 6507 T62100-LP-CR Unified Wire Storage Controller 6508 T62100-SO-CR Unified Wire Storage Controller 6509 T6210-BT Unified Wire Storage Controller 650d T62100-CR Unified Wire Storage Controller 6511 T6225-LL-CR Unified Wire Storage Controller 6514 T61100-OCP-SO Unified Wire Storage Controller 6515 T6201-BT Unified Wire Storage Controller 6580 T6225-6080 Unified Wire Storage Controller 6581 T62100-6081 Unified Wire Storage Controller 6582 T6225-6082 Unified Wire Storage Controller 6583 T62100-6083 Unified Wire Storage Controller 6584 T64100-6084 Unified Wire Storage Controller 6585 T6240-6085 Unified Wire Storage Controller 6586 T6225-6086 Unified Wire Storage Controller 6587 T6225-6087 Unified Wire Storage Controller 6588 T62100-6088 Unified Wire Storage Controller 6589 T62100-6089 Unified Wire Storage Controller 658a T62100-608a Unified Wire Storage Controller 6601 T6225-CR Unified Wire Storage Controller 6602 T6225-SO-CR Unified Wire Storage Controller 6603 T6425-CR Unified Wire Storage Controller 6604 T6425-SO-CR Unified Wire Storage Controller 6605 T6225-OCP-SO Unified Wire Storage Controller 6606 T62100-OCP-SO Unified Wire Storage Controller 6607 T62100-LP-CR Unified Wire Storage Controller 6608 T62100-SO-CR Unified Wire Storage Controller 6609 T6210-BT Unified Wire Storage Controller 660d T62100-CR Unified Wire Storage Controller 6611 T6225-LL-CR Unified Wire Storage Controller 6614 T61100-OCP-SO Unified Wire Storage Controller 6615 T6201-BT Unified Wire Storage Controller 6680 T6225-6080 Unified Wire Storage Controller 6681 T62100-6081 Unified Wire Storage Controller 6682 T6225-6082 Unified Wire Storage Controller 6683 T62100-6083 Unified Wire Storage Controller 6684 T64100-6084 Unified Wire Storage Controller 6685 T6240-6085 Unified Wire Storage Controller 6686 T6225-6086 Unified Wire Storage Controller 6687 T6225-6087 Unified Wire Storage Controller 6688 T62100-6088 Unified Wire Storage Controller 6689 T62100-6089 Unified Wire Storage Controller 668a T62100-608a Unified Wire Storage Controller 6801 T6225-CR Unified Wire Ethernet Controller [VF] 6802 T6225-SO-CR Unified Wire Ethernet Controller [VF] 6803 T6425-CR Unified Wire Ethernet Controller [VF] 6804 T6425-SO-CR Unified Wire Ethernet Controller [VF] 6805 T6225-OCP-SO Unified Wire Ethernet Controller [VF] 6806 T62100-OCP-SO Unified Wire Ethernet Controller [VF] 6807 T62100-LP-CR Unified Wire Ethernet Controller [VF] 6808 T62100-SO-CR Unified Wire Ethernet Controller [VF] 6809 T6210-BT Unified Wire Ethernet Controller [VF] 680d T62100-CR Unified Wire Ethernet Controller [VF] 6811 T6225-LL-CR Unified Wire Ethernet Controller [VF] 6814 T61100-OCP-SO Unified Wire Ethernet Controller [VF] 6815 T6201-BT Unified Wire Ethernet Controller [VF] 6880 T6225-6080 Unified Wire Ethernet Controller [VF] 6881 T62100-6081 Unified Wire Ethernet Controller [VF] 6882 T6225-6082 Unified Wire Ethernet Controller [VF] 6883 T62100-6083 Unified Wire Ethernet Controller [VF] 6884 T64100-6084 Unified Wire Ethernet Controller [VF] 6885 T6240-6085 Unified Wire Ethernet Controller [VF] 6886 T6225-6086 Unified Wire Ethernet Controller [VF] 6887 T6225-6087 Unified Wire Ethernet Controller [VF] 6888 T62100-6088 Unified Wire Ethernet Controller [VF] 6889 T62100-6089 Unified Wire Ethernet Controller [VF] 688a T62100-608a Unified Wire Ethernet Controller [VF] a000 PE10K Unified Wire Ethernet Controller 1426 Storage Technology Corp. 1427 Better On-Line Solutions 1428 Edec Co Ltd 1429 Unex Technology Corp. 142a Kingmax Technology Inc 142b Radiolan 142c Minton Optic Industry Co Ltd 142d Pix stream Inc 142e Vitec Multimedia 4020 VM2-2 [Video Maker 2] MPEG1/2 Encoder 4337 VM2-2-C7 [Video Maker 2 rev. C7] MPEG1/2 Encoder 142f Radicom Research Inc 1430 ITT Aerospace/Communications Division 1431 Gilat Satellite Networks 1432 Edimax Computer Co. 9130 RTL81xx Fast Ethernet 1433 Eltec Elektronik GmbH # Nee Real Time Devices US Inc. 1435 RTD Embedded Technologies, Inc. 4520 PCI4520 6020 SPM6020 6030 SPM6030 6420 SPM186420 6430 SPM176430 6431 SPM176431 7520 DM7520 7540 SDM7540 7820 DM7820 1436 CIS Technology Inc 1437 Nissin Inc Co 1438 Atmel-dream 1439 Outsource Engineering & Mfg. Inc 143a Stargate Solutions Inc 143b Canon Research Center, America 143c Amlogic Inc 143d Tamarack Microelectronics Inc 143e Jones Futurex Inc 143f Lightwell Co Ltd - Zax Division 1440 ALGOL Corp. 1441 AGIE Ltd 1442 Phoenix Contact GmbH & Co. 1443 Unibrain S.A. 1444 TRW 1445 Logical DO Ltd 1446 Graphin Co Ltd 1447 AIM GmBH 1448 Alesis Studio Electronics 1449 TUT Systems Inc 144a Adlink Technology 6208 PCI-6208V 7250 PCI-7250 7296 PCI-7296 7432 PCI-7432 7433 PCI-7433 7434 PCI-7434 7841 PCI-7841 8133 PCI-8133 8164 PCI-8164 8554 PCI-8554 9111 PCI-9111 9113 PCI-9113 9114 PCI-9114 # 2-16 MB SRAM, 4x UART, I2C, misc I/O a001 ADi-BSEC # nee Loronix Information Systems Inc. 144b Verint Systems Inc. 144c Catalina Research Inc 144d Samsung Electronics Co Ltd 1600 Apple PCIe SSD a544 Exynos 8890 PCIe Root Complex a800 XP941 PCIe SSD a802 NVMe SSD Controller SM951/PM951 a804 NVMe SSD Controller SM961/PM961 a808 NVMe SSD Controller SM981/PM981/PM983 1d49 403b Thinksystem U.2 PM983 NVMe SSD a820 NVMe SSD Controller 171X 1028 1f95 Express Flash NVMe XS1715 SSD 400GB 1028 1f96 Express Flash NVMe XS1715 SSD 800GB 1028 1f97 Express Flash NVMe XS1715 SSD 1600GB 1028 1fa4 Express Flash NVMe SM1715 3.2TB SFF 1028 1fa6 Express Flash NVMe SM1715 3.2TB AIC 1028 1fba Express Flash NVMe SM1715 800GB SFF 1028 1fbb Express Flash NVMe SM1715 1.6TB SFF 1028 1fbc Express Flash NVMe SM1715 1.6TB AIC a821 NVMe SSD Controller 172X 1028 1fb7 Express Flash NVMe PM1725 3.2TB SFF 1028 1fb8 Express Flash NVMe PM1725 3.2TB AIC 1028 1fb9 Express Flash NVMe PM1725 6.4TB AIC 1028 1fc1 Express Flash NVMe PM1725 800GB SFF 1028 1fc2 Express Flash NVMe PM1725 1.6TB SFF 1028 1fc4 Express Flash NVMe PM1725 1.6TB AIC a822 NVMe SSD Controller 172Xa/172Xb 1014 0621 PCIe3 1.6TB NVMe Flash Adapter II x8 1014 0622 PCIe3 3.2TB NVMe Flash Adapter II x8 1014 0629 PCIe3 6.4TB NVMe Flash Adapter II x8 1014 064a PCIe3 1.6TB NVMe Flash Adapter III x8 1014 064b PCIe3 3.2TB NVMe Flash Adapter III x8 1014 064c PCIe3 6.4TB NVMe Flash Adapter III x8 1028 1fd9 Express Flash PM1725a 800GB SFF 1028 1fda Express Flash PM1725a 1.6TB SFF 1028 1fdb Express Flash PM1725a 3.2TB SFF 1028 1fdc Express Flash PM1725a 6.4TB SFF 1028 1fdd Express Flash PM1725a 1.6TB AIC 1028 1fde Express Flash PM1725a 3.2TB AIC 1028 1fdf Express Flash PM1725a 6.4TB AIC 1028 1ff3 Express Flash PM1725b 1.6TB SFF 1028 1ff4 Express Flash PM1725b 3.2TB SFF 1028 1ff5 Express Flash PM1725b 6.4TB SFF 1028 1ff6 Express Flash PM1725b 12.8TB SFF 1028 1ff7 Express Flash PM1725b 1.6TB AIC 1028 1ff8 Express Flash PM1725b 3.2TB AIC 1028 1ff9 Express Flash PM1725b 6.4TB AIC 1028 1ffa Express Flash PM1725b 12.8TB AIC a824 NVMe SSD Controller PM173X 1028 2040 EMC PowerEdge Express Flash Ent NVMe AGN MU U.2 Gen4 1.6TB 1028 2041 EMC PowerEdge Express Flash Ent NVMe AGN MU U.2 Gen4 3.2TB 1028 2042 EMC PowerEdge Express Flash Ent NVMe AGN MU U.2 Gen4 6.4TB 1028 2043 EMC PowerEdge Express Flash Ent NVMe AGN MU U.2 Gen4 12.8TB 1028 2044 EMC PowerEdge Express Flash Ent NVMe AGN MU AIC Gen4 1.6TB 1028 2045 EMC PowerEdge Express Flash Ent NVMe AGN MU AIC Gen4 3.2TB 1028 2046 EMC PowerEdge Express Flash Ent NVMe AGN MU AIC Gen4 6.4TB 1028 2070 EMC PowerEdge Express Flash Ent NVMe AGN RI U.2 Gen4 1.92TB 1028 2071 EMC PowerEdge Express Flash Ent NVMe AGN RI U.2 Gen4 3.84TB 1028 2072 EMC PowerEdge Express Flash Ent NVMe AGN RI U.2 Gen4 7.68TB 1028 2073 EMC PowerEdge Express Flash Ent NVMe AGN RI U.2 Gen4 15.36TB 1028 2074 EMC PowerEdge Express Flash Ent NVMe AGN RI AIC Gen4 1.92TB 1028 2075 EMC PowerEdge Express Flash Ent NVMe AGN RI AIC Gen4 3.84TB 1028 2076 EMC PowerEdge Express Flash Ent NVMe AGN RI AIC Gen4 7.68TB 1028 2090 EMC PowerEdge Express Flash Ent NVMe AGN SED MU U.2 Gen4 1.6TB 1028 2091 EMC PowerEdge Express Flash Ent NVMe AGN SED MU U.2 Gen4 3.2TB 1028 2092 EMC PowerEdge Express Flash Ent NVMe AGN SED MU U.2 Gen4 6.4TB 1028 2093 EMC PowerEdge Express Flash Ent NVMe AGN SED MU U.2 Gen4 12.8TB 1028 2094 EMC PowerEdge Express Flash Ent NVMe AGN SED MU AIC Gen4 1.6TB 1028 2095 EMC PowerEdge Express Flash Ent NVMe AGN SED MU AIC Gen4 3.2TB 1028 2096 EMC PowerEdge Express Flash Ent NVMe AGN SED MU AIC Gen4 6.4TB 1028 2097 EMC PowerEdge Express Flash Ent NVMe AGN SED RI U.2 Gen4 1.92TB 1028 2098 EMC PowerEdge Express Flash Ent NVMe AGN SED RI U.2 Gen4 3.84TB 1028 2099 EMC PowerEdge Express Flash Ent NVMe AGN SED RI U.2 Gen4 7.68TB ecec Exynos 8895 PCIe Root Complex 144e OLITEC 144f Askey Computer Corp. 1450 Octave Communications Ind. 1451 SP3D Chip Design GmBH 1453 MYCOM Inc 1454 Altiga Networks 1455 Logic Plus Plus Inc 1456 Advanced Hardware Architectures 1457 Nuera Communications Inc 1458 Gigabyte Technology Co., Ltd 1459 DOOIN Electronics 145a Escalate Networks Inc 145b PRAIM SRL 145c Cryptek 145d Gallant Computer Inc 145e Aashima Technology B.V. 145f Baldor Electric Company 0001 NextMove PCI 1460 DYNARC INC 1461 Avermedia Technologies Inc a3ce M179 a3cf M179 a836 M115 DVB-T, PAL/SECAM/NTSC Tuner e836 M115S Hybrid Analog/DVB PAL/SECAM/NTSC Tuner f436 AVerTV Hybrid+FM 1462 Micro-Star International Co., Ltd. [MSI] aaf0 Radeon RX 580 Gaming X 8G 1463 Fast Corporation 1464 Interactive Circuits & Systems Ltd 1465 GN NETTEST Telecom DIV. 1466 Designpro Inc. 1467 DIGICOM SPA 1468 AMBIT Microsystem Corp. 1469 Cleveland Motion Controls # formerly IFR. 146a Aeroflex # 1.5 GHz to 3.0 GHz x 1Hz 3010 3010 RF Synthesizer 3a11 3011A PXI RF Synthesizer 146b Parascan Technologies Ltd 146c Ruby Tech Corp. 1430 FE-1430TX Fast Ethernet PCI Adapter 146d Tachyon, INC. 146e Williams Electronics Games, Inc. 146f Multi Dimensional Consulting Inc 1470 Bay Networks 1471 Integrated Telecom Express Inc 1472 DAIKIN Industries, Ltd 1473 ZAPEX Technologies Inc 1474 Doug Carson & Associates 1475 PICAZO Communications 1476 MORTARA Instrument Inc 1477 Net Insight 1478 DIATREND Corporation 1479 TORAY Industries Inc 147a FORMOSA Industrial Computing 147b ABIT Computer Corp. 1084 IP35 [Dark Raider] 147c AWARE, Inc. 147d Interworks Computer Products 147e Matsushita Graphic Communication Systems, Inc. 147f NIHON UNISYS, Ltd. 1480 SCII Telecom 1481 BIOPAC Systems Inc 1482 ISYTEC - Integrierte Systemtechnik GmBH 0001 PCI-16 Host Interface for ITC-16 1483 LABWAY Corporation 1484 Logic Corporation 1485 ERMA - Electronic GmBH 1486 L3 Communications Telemetry & Instrumentation 1487 MARQUETTE Medical Systems 1489 KYE Systems Corporation 148a OPTO 148b INNOMEDIALOGIC Inc. 148c Tul Corporation / PowerColor 148d DIGICOM Systems, Inc. 1003 HCF 56k Data/Fax Modem 148e OSI Plus Corporation 148f Plant Equipment, Inc. 1490 Stone Microsystems PTY Ltd. 1491 ZEAL Corporation 1492 Time Logic Corporation 1493 MAKER Communications 1494 WINTOP Technology, Inc. 1495 TOKAI Communications Industry Co. Ltd 1496 JOYTECH Computer Co., Ltd. 1497 SMA Regelsysteme GmBH 1497 SMA Technologie AG 1498 TEWS Technologies GmbH 0330 TPMC816 2 Channel CAN bus controller. 035d TPMC861 4-Channel Isolated Serial Interface RS422/RS485 0385 TPMC901 Extended CAN bus with 2/4/6 CAN controller 21cc TCP460 CompactPCI 16 Channel Serial Interface RS232/RS422 21cd TCP461 CompactPCI 8 Channel Serial Interface RS232/RS422 3064 TPCI100 (2 Slot IndustryPack PCI Carrier) 30c8 TPCI200 4 Slot IndustryPack PCI Carrier 70c8 TPCE200 4 Slot IndustryPack PCIe Carrier 9177 TXMC375 8 channel RS232/RS422/RS485 programmable serial interface 1499 EMTEC CO., Ltd 149a ANDOR Technology Ltd 149b SEIKO Instruments Inc 149c OVISLINK Corp. 149d NEWTEK Inc 0001 Video Toaster for PC 149e Mapletree Networks Inc. 149f LECTRON Co Ltd 14a0 SOFTING GmBH 14a1 Systembase Co Ltd 14a2 Millennium Engineering Inc 14a3 Maverick Networks 14a4 Lite-On Technology Corporation 22f1 M8Pe Series NVMe SSD # Wrong vendor ID used 4318 Broadcom BCM4318 [AirForce One 54g] 802.11g WLAN Controller 14a5 XIONICS Document Technologies Inc 14a6 INOVA Computers GmBH & Co KG 14a7 MYTHOS Systems Inc 14a8 FEATRON Technologies Corporation 14a9 HIVERTEC Inc 14aa Advanced MOS Technology Inc 14ab Mentor Graphics Corp. 14ac Novaweb Technologies Inc 14ad Time Space Radio AB 14ae CTI, Inc 14af Guillemot Corporation 7102 3D Prophet II MX 14b0 BST Communication Technology Ltd 14b1 Nextcom K.K. 14b2 ENNOVATE Networks Inc 14b3 XPEED Inc 0000 DSL NIC 14b4 PHILIPS Business Electronics B.V. 14b5 Creamware GmBH 0200 Scope 0300 Pulsar 0400 PulsarSRB 0600 Pulsar2 0800 DSP-Board 0900 DSP-Board 0a00 DSP-Board 0b00 DSP-Board 14b6 Quantum Data Corp. 14b7 PROXIM Inc 0001 Symphony 4110 14b8 Techsoft Technology Co Ltd 14b9 Cisco Aironet Wireless Communications 0001 PC4800 0340 PC4800 0350 350 series 802.11b Wireless LAN Adapter 4500 PC4500 4800 Cisco Aironet 340 802.11b Wireless LAN Adapter/Aironet PC4800 a504 Cisco Aironet Wireless 802.11b a505 Cisco Aironet CB20a 802.11a Wireless LAN Adapter a506 Cisco Aironet Mini PCI b/g 14ba INTERNIX Inc. # ARCNET interface card based on SMSC COM20022 chip and manufactured for SMSC Japan 0600 ARC-PCI/22 14bb SEMTECH Corporation 14bc Globespan Semiconductor Inc. d002 Pulsar [PCI ADSL Card] d00f Pulsar [PCI ADSL Card] 14bd CARDIO Control N.V. 14be L3 Communications 14bf SPIDER Communications Inc. 14c0 COMPAL Electronics Inc 1201 X550 10Gb 2P RJ45 OCP Mezz # now owned by CSP, Inc. 14c1 MYRICOM Inc. 0008 Myri-10G Dual-Protocol NIC 14c1 0008 10G-PCIE-8A 14c1 0009 10G-PCIE-8A (MSI-X firmware) 14c1 000a 10G-PCIE-8B 8043 Myrinet 2000 Scalable Cluster Interconnect 103c 1240 Myrinet M2L-PCI64/2-3.0 LANai 7.4 (HP OEM) 14c2 DTK Computer 14c3 MEDIATEK Corp. 7630 MT7630e 802.11bgn Wireless Network Adapter # MT7612E too? 7662 MT7662E 802.11ac PCI Express Wireless Network Adapter 14c4 IWASAKI Information Systems Co Ltd 14c5 Automation Products AB 14c6 Data Race Inc 14c7 Modular Technology Holdings Ltd 14c8 Turbocomm Tech. Inc. 14c9 ODIN Telesystems Inc 14ca PE Logic Corp. 14cb Billionton Systems Inc 14cc NAKAYO Telecommunications Inc 14cd Universal Global Scientific Industrial Co.,Ltd 0001 USI-1514-1GbaseT [OCP1] 0002 USI-4227-SFP [OCP2] 0003 USI-X557-10GbaseT [OCP3] 14ce Whistle Communications 14cf TEK Microsystems Inc. 14d0 Ericsson Axe R & D 14d1 Computer Hi-Tech Co Ltd 14d2 Titan Electronics Inc 8001 VScom 010L 1 port parallel adaptor 8002 VScom 020L 2 port parallel adaptor 8010 VScom 100L 1 port serial adaptor 8011 VScom 110L 1 port serial and 1 port parallel adaptor 8020 VScom 200L 1 or 2 port serial adaptor 8021 VScom 210L 2 port serial and 1 port parallel adaptor 8028 VScom 200I/200I-SI 2-port serial adapter 8040 VScom 400L 4 port serial adaptor 8043 VScom 430L 4-port serial and 3-port parallel adapter 8048 VScom 400I 4-port serial adapter 8080 VScom 800L 8 port serial adaptor 8088 VScom 800I 8-port serial adapter a000 VScom 010H 1 port parallel adaptor a001 VScom 100H 1 port serial adaptor a003 VScom 400H 4 port serial adaptor a004 VScom 400HF1 4 port serial adaptor a005 VScom 200H 2 port serial adaptor a007 VScom PCI800EH (PCIe) 8-port serial adapter Port 1-4 a008 VScom PCI800EH (PCIe) 8-port serial adapter Port 5-8 a009 VScom PCI400EH (PCIe) 4-port serial adapter e001 VScom 010HV2 1 port parallel adaptor e010 VScom 100HV2 1 port serial adaptor e020 VScom 200HV2 2 port serial adaptor 14d3 CIRTECH (UK) Ltd 0002 DTL-T14000 Rev. 1 [PS2 TOOL CD/DVD Emulator] 0003 DTL-T14000 Rev. 2 [PS2 TOOL CD/DVD Emulator] 0004 DTL-T14000 Rev. 3 [PS2 TOOL CD/DVD Emulator] 14d4 Panacom Technology Corp 14d5 Nitsuko Corporation 14d6 Accusys Inc 6101 ACS-61xxx, PCIe to SAS/SATA RAID HBA 6201 ACS-62xxx, External PCIe to SAS/SATA RAID controller 14d7 Hirakawa Hewtech Corp 14d8 HOPF Elektronik GmBH # Formerly SiPackets, Inc., formerly API NetWorks, Inc., formerly Alpha Processor, Inc. 14d9 Alliance Semiconductor Corporation 0010 AP1011/SP1011 HyperTransport-PCI Bridge [Sturgeon] 9000 AS90L10204/10208 HyperTransport to PCI-X Bridge 14da National Aerospace Laboratories 14db AFAVLAB Technology Inc 2120 TK9902 2182 AFAVLAB Technology Inc. 8-port serial card 14dc Amplicon Liveline Ltd 0000 PCI230 0001 PCI242 0002 PCI244 0003 PCI247 0004 PCI248 0005 PCI249 0006 PCI260 0007 PCI224 0008 PCI234 0009 PCI236 000a PCI272 000b PCI215 14dd Boulder Design Labs Inc 14de Applied Integration Corporation 14df ASIC Communications Corp 14e1 INVERTEX 14e2 INFOLIBRIA 14e3 AMTELCO 14e4 Broadcom Inc. and subsidiaries 0576 BCM43224 802.11a/b/g/n 0800 Sentry5 Chipcommon I/O Controller 0804 Sentry5 PCI Bridge 0805 Sentry5 MIPS32 CPU 0806 Sentry5 Ethernet Controller 080b Sentry5 Crypto Accelerator 080f Sentry5 DDR/SDR RAM Controller 0811 Sentry5 External Interface Core 0816 BCM3302 Sentry5 MIPS32 CPU 1570 720p FaceTime HD Camera 1600 NetXtreme BCM5752 Gigabit Ethernet PCI Express 1028 01c1 Precision 490 1028 01c2 Latitude D620 103c 3015 PCIe LAN on Motherboard 107b 5048 E4500 Onboard 1259 2705 AT-2711FX 1601 NetXtreme BCM5752M Gigabit Ethernet PCI Express 1604 BCM5745X NetXtreme-E Ethernet Partition 1605 BCM5745X NetXtreme-E RDMA Partition 1606 BCM5745X NetXtreme-E RDMA Virtual Function 1609 BCM5745X NetXtreme-E Ethernet Virtual Function 1612 BCM70012 Video Decoder [Crystal HD] 1614 BCM57454 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb Ethernet 1615 BCM70015 Video Decoder [Crystal HD] 1639 NetXtreme II BCM5709 Gigabit Ethernet 1028 0235 PowerEdge R710 BCM5709 Gigabit Ethernet 1028 0236 PowerEdge R610 BCM5709 Gigabit Ethernet 1028 0237 PowerEdge T610 BCM5709 Gigabit Ethernet 103c 7055 NC382i Integrated Multi-port PCI Express Gigabit Server Adapter 103c 7059 NC382T PCIe Dual Port Multifunction Gigabit Server Adapter 10a9 8027 Quad port Gigabit Ethernet Controller 163a NetXtreme II BCM5709S Gigabit Ethernet 1028 027b PowerEdge M805 Broadcom NetXtreme II BCM5709S 1028 029c PowerEdge M710 BCM5709S Gigabit Ethernet 103c 171d NC382m Dual Port 1GbE Multifunction BL-c Adapter 103c 7056 NC382i Integrated Quad Port PCI Express Gigabit Server Adapter 1259 2984 AT-2973SX 163b NetXtreme II BCM5716 Gigabit Ethernet 1028 028c PowerEdge R410 BCM5716 Gigabit Ethernet 1028 028d PowerEdge T410 BCM5716 Gigabit Ethernet 1028 02f1 PowerEdge R510 BCM5716 Gigabit Ethernet 163c NetXtreme II BCM5716S Gigabit Ethernet 163d NetXtreme II BCM57811 10-Gigabit Ethernet 1043 858a PEB-10G/57811-1S 163e NetXtreme II BCM57811 10 Gigabit Ethernet Multi Function 163f NetXtreme II BCM57811 10-Gigabit Ethernet Virtual Function 1641 NetXtreme BCM57787 Gigabit Ethernet PCIe 1642 NetXtreme BCM57764 Gigabit Ethernet PCIe 1643 NetXtreme BCM5725 Gigabit Ethernet PCIe 1644 NetXtreme BCM5700 Gigabit Ethernet 1014 0277 Broadcom Vigil B5700 1000Base-T 1028 00d1 Broadcom BCM5700 1028 0106 Broadcom BCM5700 1028 0109 Broadcom BCM5700 1000Base-T 1028 010a Broadcom BCM5700 1000BaseTX 10b7 1000 3C996-T 1000Base-T 10b7 1001 3C996B-T 1000Base-T 10b7 1002 3C996C-T 1000Base-T 10b7 1003 3C997-T 1000Base-T Dual Port 10b7 1004 3C996-SX 1000Base-SX 10b7 1005 3C997-SX 1000Base-SX Dual Port 10b7 1008 3C942 Gigabit LOM (31X31) 14e4 0002 NetXtreme 1000Base-SX 14e4 0003 NetXtreme 1000Base-SX 14e4 0004 NetXtreme 1000Base-T 14e4 1028 NetXtreme 1000BaseTX 14e4 1644 BCM5700 1000Base-T 1645 NetXtreme BCM5701 Gigabit Ethernet 0e11 007c NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) 0e11 007d NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) 0e11 0085 NC7780 Gigabit Server Adapter (embedded, WOL) 0e11 0099 NC7780 Gigabit Server Adapter (embedded, WOL) 0e11 009a NC7770 Gigabit Server Adapter (PCI-X, 10/100/1000-T) 0e11 00c1 NC6770 Gigabit Server Adapter (PCI-X, 1000-SX) 1028 0121 Broadcom BCM5701 1000Base-T 103c 128a BCM5701 1000Base-T (HP, OEM 3COM) 103c 128b 1000Base-SX (PCI) [A7073A] 103c 12a4 Core Lan 1000Base-T 103c 12c1 IOX Core Lan 1000Base-T [A7109AX] 103c 1300 Core LAN/SCSI Combo [A6794A] 10a9 8010 IO9/IO10 Gigabit Ethernet (Copper) 10a9 8011 Gigabit Ethernet (Copper) 10a9 8012 Gigabit Ethernet (Fiber) 10b7 1004 3C996-SX 1000Base-SX 10b7 1006 3C996B-T 1000Base-T 10b7 1007 3C1000-T 1000Base-T 10b7 1008 3C940-BR01 1000Base-T 14e4 0001 BCM5701 1000Base-T 14e4 0005 BCM5701 1000Base-T 14e4 0006 BCM5701 1000Base-T 14e4 0007 BCM5701 1000Base-SX 14e4 0008 BCM5701 1000Base-T 14e4 1645 NetXtreme BCM5701 Gigabit Ethernet 14e4 8008 BCM5701 1000Base-T 1646 NetXtreme BCM5702 Gigabit Ethernet 0e11 00bb NC7760 1000BaseTX 1028 0126 Broadcom BCM5702 1000BaseTX 14e4 8009 BCM5702 1000BaseTX 1647 NetXtreme BCM5703 Gigabit Ethernet 0e11 0099 NC7780 1000BaseTX 0e11 009a NC7770 1000BaseTX 10a9 8010 IO9 Gigabit Ethernet (Copper) 14e4 0009 BCM5703 1000BaseTX 14e4 000a BCM5703 1000BaseSX 14e4 000b BCM5703 1000BaseTX 14e4 8009 BCM5703 1000BaseTX 14e4 800a BCM5703 1000BaseTX 1648 NetXtreme BCM5704 Gigabit Ethernet 0e11 00cf NC7772 Gigabit Server Adapter (PCI-X, 10,100,1000-T) 0e11 00d0 NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) 0e11 00d1 NC7783 Gigabit Server Adapter (PCI-X, 10,100,1000-T) 1028 014a PowerEdge 1750 1028 0170 PowerEdge 6850 Broadcom NetXtreme BCM5704 103c 310f NC7782 Gigabit Server Adapter (PCI-X, 10,100,1000-T) 10a9 8013 Dual Port Gigabit Ethernet (PCI-X,Copper) 10a9 8018 Dual Port Gigabit Ethernet (A330) 10a9 801a Dual Port Gigabit Ethernet (IA-blade) 10a9 801b Quad Port Gigabit Ethernet (PCI-E,Copper) 10b7 2000 3C998-T Dual Port 10/100/1000 PCI-X 10b7 3000 3C999-T Quad Port 10/100/1000 PCI-X 1166 1648 NetXtreme CIOB-E 1000Base-T 1734 100b PRIMERGY RX/TX series onboard LAN 1649 NetXtreme BCM5704S_2 Gigabit Ethernet 164a NetXtreme II BCM5706 Gigabit Ethernet 103c 1709 NC371i Integrated PCI-X Multifunction Gigabit Server Adapter 103c 3070 NC380T PCI Express Dual Port Multifunction Gigabit Server Adapter 103c 3101 NC370T MultifuNCtion Gigabit Server Adapter 103c 3106 NC370i Multifunction Gigabit Server Adapter 164c NetXtreme II BCM5708 Gigabit Ethernet 1028 01f0 PowerEdge R900 Broadcom NetXtreme II BCM5708 1028 0205 PowerEdge 2970 Broadcom NetXtreme II BCM5708 1028 020b PowerEdge T605 Broadcom NetXtreme II BCM5708 1028 0221 PowerEdge R805 Broadcom NetXtreme II BCM5708 1028 0223 PowerEdge R905 Broadcom NetXtreme II BCM5708 1028 1f12 PowerEdge R805/R905 Broadcom NetXtreme II BCM5708 103c 7037 NC373T PCI Express Multifunction Gigabit Server Adapter 103c 7038 NC373i Integrated Multifunction Gigabit Server Adapter 103c 7045 NC374m PCI Express Dual Port Multifunction Gigabit Server Adapter 164d NetXtreme BCM5702FE Gigabit Ethernet 164e NetXtreme II BCM57710 10-Gigabit PCIe [Everest] 103c 171c NC532m Dual Port 10GbE Multifunction BL-C Adapter 103c 7058 NC532i Dual Port 10GbE Multifunction BL-C Adapter 164f NetXtreme II BCM57711 10-Gigabit PCIe 1650 NetXtreme II BCM57711E 10-Gigabit PCIe 103c 171c NC532m Dual Port 10GbE Multifunction BL-C Adapter 103c 7058 NC532i Dual Port 10GbE Multifunction BL-C Adapter 1653 NetXtreme BCM5705 Gigabit Ethernet 0e11 00e3 NC7761 Gigabit Server Adapter 1734 1073 Primergy Econel 200 D2020 mainboard 1654 NetXtreme BCM5705_2 Gigabit Ethernet 0e11 00e3 NC7761 Gigabit Server Adapter 103c 3100 NC1020 ProLiant Gigabit Server Adapter 32 PCI 103c 3226 NC150T 4-port Gigabit Combo Switch & Adapter 1655 NetXtreme BCM5717 Gigabit Ethernet PCIe 1656 NetXtreme BCM5718 Gigabit Ethernet PCIe 1657 NetXtreme BCM5719 Gigabit Ethernet PCIe 1014 0420 FC 5260/5899 4-port 1 GbE Adapter for Power 103c 169d Ethernet 1Gb 4-port 331FLR Adapter 103c 22be Ethernet 1Gb 4-port 331i Adapter 103c 3383 Ethernet 1Gb 4-port 331T Adapter 14e4 1904 4-port 1Gb Ethernet Adapter 1659 NetXtreme BCM5721 Gigabit Ethernet PCI Express 1014 02c6 eServer xSeries server mainboard 1028 01e6 PowerEdge 860 1028 023c PowerEdge R200 Broadcom NetXtreme BCM5721 103c 170b NC320m PCI Express Dual Port Gigabit Server Adapter 103c 7031 NC320T PCIe Gigabit Server Adapter 103c 7032 NC320i PCIe Gigabit Server Adapter 1734 1061 PRIMERGY RX/TX S2 series onboard LAN 165a NetXtreme BCM5722 Gigabit Ethernet PCI Express # Dual NIC server 1014 0378 System x3350 (Machine type 4192) 1028 020f PowerEdge R300 Broadcom NetXtreme 5722 1028 0210 PowerEdge T300 Broadcom NetXtreme 5722 1028 0225 PowerEdge T105 Broadcom NetXtreme 5722 103c 7051 NC105i PCIe Gigabit Server Adapter 103c 7052 NC105T PCIe Gigabit Server Adapter 165b NetXtreme BCM5723 Gigabit Ethernet PCIe 103c 705d NC107i Integrated PCI Express Gigabit Server Adapter 165c NetXtreme BCM5724 Gigabit Ethernet PCIe 165d NetXtreme BCM5705M Gigabit Ethernet 1028 865d Latitude D400 14e4 165d Dell Latitude D600 165e NetXtreme BCM5705M_2 Gigabit Ethernet 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 099c NX6110/NC6120 10cf 1279 LifeBook E8010D 165f NetXtreme BCM5720 2-port Gigabit Ethernet PCIe 1028 04f7 PowerEdge R320 server 1028 08fd PowerEdge R6515/R7515 LOM 1028 08ff PowerEdge Rx5xx LOM Board 1028 0900 PowerEdge C6525 LOM 103c 1786 NC332T Adapter 103c 193d NC332i Adapter 103c 2133 NC332i Adapter 103c 22e8 NC332i Adapter 103c 22eb NC332i Adapter 1662 NetXtreme II BCM57712 10 Gigabit Ethernet 1663 NetXtreme II BCM57712 10 Gigabit Ethernet Multi Function 1665 NetXtreme BCM5717 Gigabit Ethernet PCIe 1668 NetXtreme BCM5714 Gigabit Ethernet 103c 7039 NC324i PCIe Dual Port Gigabit Server Adapter 1669 NetXtreme 5714S Gigabit Ethernet 166a NetXtreme BCM5780 Gigabit Ethernet 103c 7035 NC325i Integrated Dual port PCIe Express Gigabit Server Adapter 166b NetXtreme BCM5780S Gigabit Ethernet 166e 570x 10/100 Integrated Controller 166f NetXtreme II BCM57712 10 Gigabit Ethernet Virtual Function 1672 NetXtreme BCM5754M Gigabit Ethernet PCI Express 1673 NetXtreme BCM5755M Gigabit Ethernet PCI Express 1674 NetXtreme BCM5756ME Gigabit Ethernet PCI Express 1677 NetXtreme BCM5751 Gigabit Ethernet PCI Express 1028 0176 Dimension XPS Gen 4 1028 0177 Dimension 8400 1028 0179 Optiplex GX280 1028 0182 Latitude D610 1028 0187 Precision M70 1028 01a3 Latitude X1 1028 01a8 Precision 380 1028 01ad OptiPlex GX620 103c 3006 DC7100 SFF(DX878AV) 1462 028c 915P/G Neo2 1734 105d Scenic W620 1678 NetXtreme BCM5715 Gigabit Ethernet 103c 703e NC326i PCIe Dual Port Gigabit Server Adapter 1679 NetXtreme BCM5715S Gigabit Ethernet 103c 1707 NC326m PCIe Dual Port Adapter 103c 170c NC325m PCIe Quad Port Adapter 103c 703c NC326i PCIe Dual Port Gigabit Server Adapter 167a NetXtreme BCM5754 Gigabit Ethernet PCI Express 1028 01da OptiPlex 745 1028 01de Precision 390 1028 01df PowerEdge SC440 1028 0214 Precision T3400 1028 021e Precision T5400 167b NetXtreme BCM5755 Gigabit Ethernet PCI Express 103c 280a DC5750 Microtower 167d NetXtreme BCM5751M Gigabit Ethernet PCI Express 1014 0577 ThinkPad X41 / Z60t 103c 0934 nx8220 103c 0940 Compaq nw8240 Mobile Workstation 103c 0944 Compaq nc6220 Notebook PC 17aa 2081 ThinkPad R60e 167e NetXtreme BCM5751F Fast Ethernet PCI Express 167f NetLink BCM5787F Fast Ethernet PCI Express 1680 NetXtreme BCM5761e Gigabit Ethernet PCIe 1681 NetXtreme BCM5761 Gigabit Ethernet PCIe 1682 NetXtreme BCM57762 Gigabit Ethernet PCIe 106b 00f6 Thunderbolt to Gigabit Ethernet Adapter 1683 NetXtreme BCM57767 Gigabit Ethernet PCIe 1684 NetXtreme BCM5764M Gigabit Ethernet PCIe 1685 NetXtreme II BCM57500S Gigabit Ethernet 1686 NetXtreme BCM57766 Gigabit Ethernet PCIe 1687 NetXtreme BCM5762 Gigabit Ethernet PCIe 1688 NetXtreme BCM5761 10/100/1000BASE-T Ethernet 1259 2708 AT-2712 FX # The Broadcom 57800 device has two 1Gig ports and two 10Gig ports. The subsystem information can be used to differentiate. 168a NetXtreme II BCM57800 1/10 Gigabit Ethernet 1028 1f5c BCM57800 10-Gigabit Ethernet 1028 1f5d BCM57800 10-Gigabit Ethernet 1028 1f67 BCM57800 1-Gigabit Ethernet 1028 1f68 BCM57800 1-Gigabit Ethernet 168d NetXtreme II BCM57840 10/20 Gigabit Ethernet 168e NetXtreme II BCM57810 10 Gigabit Ethernet 1014 0492 PCIe2 2-port 10 GbE BaseT RJ45 Adapter (FC EN0W; CCIN 2CC4) 103c 1798 Flex-10 10Gb 2-port 530FLB Adapter [Meru] 103c 17a5 Flex-10 10Gb 2-port 530M Adapter 103c 18d3 Ethernet 10Gb 2-port 530T Adapter 103c 1930 FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter 103c 1931 StoreFabric CN1100R Dual Port Converged Network Adapter 103c 1932 FlexFabric 10Gb 2-port 534FLB Adapter 103c 1933 FlexFabric 10Gb 2-port 534M Adapter 103c 193a FlexFabric 10Gb 2-port 533FLR-T Adapter 103c 3382 Ethernet 10Gb 2-port 530FLR-SFP+ Adapter 103c 339d Ethernet 10Gb 2-port 530SFP+ Adapter 193d 1003 530F-B 193d 1006 530F-L 1690 NetXtreme BCM57760 Gigabit Ethernet PCIe 1691 NetLink BCM57788 Gigabit Ethernet PCIe 1028 04aa XPS 8300 1692 NetLink BCM57780 Gigabit Ethernet PCIe 1025 033d Aspire 7740G 1693 NetLink BCM5787M Gigabit Ethernet PCI Express 1025 0121 Aspire 5920G 103c 30c0 6710b 17aa 20d5 ThinkPad R61 1694 NetLink BCM57790 Gigabit Ethernet PCIe 1696 NetXtreme BCM5782 Gigabit Ethernet 103c 12bc d530 CMT (DG746A) 14e4 000d NetXtreme BCM5782 1000Base-T 1698 NetLink BCM5784M Gigabit Ethernet PCIe 1699 NetLink BCM5785 Gigabit Ethernet 169a NetLink BCM5786 Gigabit Ethernet PCI Express 169b NetLink BCM5787 Gigabit Ethernet PCI Express 169c NetXtreme BCM5788 Gigabit Ethernet 103c 308b MX6125 103c 30a1 NC2400 144d c018 X20 1462 590c KT6 Delta-FIS2R (MS-6590) 169d NetLink BCM5789 Gigabit Ethernet PCI Express 16a0 NetLink BCM5785 Fast Ethernet 16a1 BCM57840 NetXtreme II 10 Gigabit Ethernet 1043 866e PEB-10G/57840-2T 10GBase-T Network Adapter 16a2 BCM57840 NetXtreme II 10/20-Gigabit Ethernet 103c 1916 FlexFabric 20Gb 2-port 630FLB Adapter 103c 1917 FlexFabric 20Gb 2-port 630M Adapter 103c 2231 3820C 10/20Gb Converged Network Adapter 103c 22fa FlexFabric 10Gb 2-port 536FLB Adapter 16a3 NetXtreme BCM57786 Gigabit Ethernet PCIe 16a4 BCM57840 NetXtreme II Ethernet Multi Function 103c 1916 NPAR 20Gb 2-port 630FLB Adapter 103c 1917 NPAR 20Gb 2-port 630M Adapter 103c 2231 3820C 10/20Gb Converged Network Adapter (NPAR 1.5) 103c 22fa FlexFabric 10Gb 2-port 536FLB Adapter (NPAR 1.5) # The Broadcom 57800 device has two 1Gig ports and two 10Gig ports. The subsystem information can be used to differentiate. 16a5 NetXtreme II BCM57800 1/10 Gigabit Ethernet Multi Function 1028 1f5c NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function 1028 1f5d NetXtreme II BCM57800 10-Gigabit Ethernet Multi Function 1028 1f67 NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function 1028 1f68 NetXtreme II BCM57800 1-Gigabit Ethernet Multi Function 16a6 NetXtreme BCM5702X Gigabit Ethernet 0e11 00bb NC7760 Gigabit Server Adapter (PCI-X, 10/100/1000-T) 1028 0126 BCM5702 1000Base-T 14e4 000c BCM5702 1000Base-T 14e4 8009 BCM5702 1000Base-T 16a7 NetXtreme BCM5703X Gigabit Ethernet 0e11 00ca NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) 0e11 00cb NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) 1014 026f eServer xSeries server mainboard 14e4 0009 NetXtreme BCM5703 1000Base-T 14e4 000a NetXtreme BCM5703 1000Base-SX 14e4 000b NetXtreme BCM5703 1000Base-T 14e4 800a NetXtreme BCM5703 1000Base-T 16a8 NetXtreme BCM5704S Gigabit Ethernet 103c 132b PCI-X 1000Mbps Dual-port Built-in 10a9 8014 Dual Port Gigabit Ethernet (PCI-X,Fiber) 10a9 801c Quad Port Gigabit Ethernet (PCI-E,Fiber) 10b7 2001 3C998-SX Dual Port 1000-SX PCI-X # The Broadcom 57800 device has two 1Gig ports and two 10Gig ports. The subsystem information can be used to differentiate. 16a9 NetXtreme II BCM57800 1/10 Gigabit Ethernet Virtual Function 1028 1f5c NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function 1028 1f5d NetXtreme II BCM57800 10-Gigabit Ethernet Virtual Function 1028 1f67 NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function 1028 1f68 NetXtreme II BCM57800 1-Gigabit Ethernet Virtual Function 16aa NetXtreme II BCM5706S Gigabit Ethernet 103c 3102 NC370F MultifuNCtion Gigabit Server Adapter 103c 310c NC370i Multifunction Gigabit Server Adapter 16ab NetXtreme II BCM57840 10/20 Gigabit Ethernet Multi Function 16ac NetXtreme II BCM5708S Gigabit Ethernet 1014 0304 NetXtreme II BCM5708S Gigabit Ethernet 1028 01bb PowerEdge 1955 Broadcom NetXtreme II BCM5708S 1028 020c PowerEdge M605 Broadcom NetXtreme II BCM5708S 103c 1706 NC373m Multifunction Gigabit Server Adapter 103c 7038 NC373i PCI Express Multifunction Gigabit Server Adapter 103c 703b NC373i Integrated Multifunction Gigabit Server Adapter 103c 703d NC373F PCI Express Multifunction Gigabit Server Adapter 16ad NetXtreme II BCM57840 10/20 Gigabit Ethernet Virtual Function 103c 1916 FlexFabric 20Gb 2-port 630FLB Adapter 103c 1917 FlexFabric 20Gb 2-port 630M Adapter 103c 2231 3820C 10/20Gb Converged Network Adapter (SR-IOV VF) 103c 22fa FlexFabric 10Gb 2-port 536FLB Adapter (SR-IOV VF) 16ae NetXtreme II BCM57810 10 Gigabit Ethernet Multi Function 103c 1798 NPAR 10Gb 2-port 530FLB Adapter 103c 17a5 NPAR 10Gb 2-port 530M Adapter 103c 18d3 NPAR 10Gb 2-port 530T Adapter 103c 1930 NPAR 10Gb 2-port 534FLR-SFP+ Adapter 103c 1931 NPAR CN1100R Dual Port Converged Network Adapter 103c 1932 NPAR 10Gb 2-port 534FLB Adapter 103c 1933 NPAR 10Gb 2-port 534M Adapter 103c 193a NPAR 10Gb 2-port 533FLR-T Adapter 103c 3382 NPAR 10Gb 2-port 530FLR-SFP+ Adapter 103c 339d NPAR 10Gb 2-port 530SFP+ Adapter 16af NetXtreme II BCM57810 10 Gigabit Ethernet Virtual Function 103c 1798 Flex-10 10Gb 2-port 530FLB Adapter 103c 17a5 Flex-10 10Gb 2-port 530M Adapter 103c 18d3 Ethernet 10Gb 2-port 530T Adapter 103c 1930 FlexFabric 10Gb 2-port 534FLR-SFP+ Adapter 103c 1931 StoreFabric CN1100R Dual Port Converged Network Adapter 103c 1932 FlexFabric 10Gb 2-port 534FLB Adapter 103c 1933 FlexFabric 10Gb 2-port 534M Adapter 103c 193a FlexFabric 10Gb 2-port 533FLR-T Adapter 103c 3382 Ethernet 10Gb 2-port 530FLR-SFP+ Adapter 103c 339d Ethernet 10Gb 2-port 530SFP+ Adapter 16b0 NetXtreme BCM57761 Gigabit Ethernet PCIe 16b1 NetLink BCM57781 Gigabit Ethernet PCIe 1849 96b1 Z77 Extreme4 motherboard 16b2 NetLink BCM57791 Gigabit Ethernet PCIe 16b3 NetXtreme BCM57786 Gigabit Ethernet PCIe 16b4 NetXtreme BCM57765 Gigabit Ethernet PCIe 16b5 NetLink BCM57785 Gigabit Ethernet PCIe 16b6 NetLink BCM57795 Gigabit Ethernet PCIe 16b7 NetXtreme BCM57782 Gigabit Ethernet PCIe 16bc BCM57765/57785 SDXC/MMC Card Reader 16be BCM57765/57785 MS Card Reader 16bf BCM57765/57785 xD-Picture Card Reader 16c1 NetXtreme-E RDMA Virtual Function 16c6 NetXtreme BCM5702A3 Gigabit Ethernet 10b7 1100 3C1000B-T 10/100/1000 PCI 14e4 000c BCM5702 1000Base-T 14e4 8009 BCM5702 1000Base-T 16c7 NetXtreme BCM5703 Gigabit Ethernet 0e11 00ca NC7771 Gigabit Server Adapter (PCI-X, 10,100,1000-T) 0e11 00cb NC7781 Gigabit Server Adapter (PCI-X, 10,100,1000-T) 103c 12c3 Combo FC/GigE-SX [A9782A] 103c 12ca Combo FC/GigE-T [A9784A] 103c 1321 Core I/O LAN/SCSI Combo [AB314A] 14e4 0009 NetXtreme BCM5703 1000Base-T 14e4 000a NetXtreme BCM5703 1000Base-SX 16c8 BCM57301 NetXtreme-C 10Gb Ethernet Controller 16c9 BCM57302 NetXtreme-C 10Gb/25Gb Ethernet Controller 16ca BCM57304 NetXtreme-C 10Gb/25Gb/40Gb/50Gb Ethernet Controller 16cb NetXtreme-C Ethernet Virtual Function 16cc BCM57417 NetXtreme-E Ethernet Partition 16ce BCM57311 NetXtreme-C 10Gb RDMA Ethernet Controller 16cf BCM57312 NetXtreme-C 10Gb/25Gb RDMA Ethernet Controller 16d0 BCM57402 NetXtreme-E 10Gb Ethernet Controller 16d1 BCM57404 NetXtreme-E 10Gb/25Gb Ethernet Controller 16d2 BCM57406 NetXtreme-E 10GBASE-T Ethernet Controller 16d3 NetXtreme-E Ethernet Virtual Function 16d4 BCM57402 NetXtreme-E Ethernet Partition 16d5 BCM57407 NetXtreme-E 10GBase-T Ethernet Controller 16d6 BCM57412 NetXtreme-E 10Gb RDMA Ethernet Controller 14e4 4120 NetXtreme E-Series Advanced Dual-port 10Gb SFP+ Ethernet Network Daughter Card 14e4 4126 NetXtreme-E Dual-port 10G SFP+ Ethernet OCP 3.0 Adapter (BCM957412N4120C) 152d 8b20 BCM57412 NetXtreme-E 10Gb RDMA Ethernet Controller 152d 8b22 BCM57412 NetXtreme-E 25Gb RDMA Ethernet Controller 16d7 BCM57414 NetXtreme-E 10Gb/25Gb RDMA Ethernet Controller 14e4 1202 BCM957412M4122C OCP 1x25G Type1 wRoCE 14e4 1402 BCM957414A4142CC 10Gb/25Gb Ethernet PCIe 14e4 1404 BCM957414M4142C OCP 2x25G Type1 wRoCE 14e4 4140 NetXtreme E-Series Advanced Dual-port 25Gb SFP28 Network Daughter Card 14e4 4146 NetXtreme-E Dual-port 25G SFP28 Ethernet OCP 3.0 Adapter (BCM957414N4140C) 1590 020e Ethernet 25Gb 2-port 631SFP28 Adapter 1590 0211 Ethernet 25Gb 2-port 631FLR-SFP28 Adapter 16d8 BCM57416 NetXtreme-E Dual-Media 10G RDMA Ethernet Controller 1028 1feb NetXtreme-E 10Gb SFP+ Adapter 14e4 4163 NetXtreme-E Dual-port 10GBASE-T Ethernet OCP 2.0 Adapter (BCM957416M4163C) 14e4 4166 NetXtreme-E Dual-port 10GBASE-T Ethernet OCP 3.0 Adapter (BCM957416N4160C) 1590 020c Ethernet 10Gb 2-port 535T Adapter 1590 0212 Ethernet 10Gb 2-port 535FLR-T Adapter 16d9 BCM57417 NetXtreme-E 10GBASE-T RDMA Ethernet Controller 108e 4866 Dual Port 10GBase-T Ethernet Controller 16dc NetXtreme-E Ethernet Virtual Function 16dd NetLink BCM5781 Gigabit Ethernet PCI Express 16de BCM57412 NetXtreme-E Ethernet Partition 16df BCM57314 NetXtreme-C 10Gb/25Gb/40Gb/50Gb RDMA Ethernet Controller 16e1 NetXtreme-C Ethernet Virtual Function 16e2 BCM57417 NetXtreme-E 10Gb/25Gb RDMA Ethernet Controller 108e 4866 Dual Port 10Gb/25Gb SFP28 Ethernet Controller 16e3 BCM57416 NetXtreme-E 10Gb RDMA Ethernet Controller 16e5 NetXtreme-C RDMA Virtual Function 16e7 BCM57404 NetXtreme-E Ethernet Partition 16e8 BCM57406 NetXtreme-E Ethernet Partition 16e9 BCM57407 NetXtreme-E 25Gb Ethernet Controller 16eb BCM57412 NetXtreme-E RDMA Partition 16ec BCM57414 NetXtreme-E Ethernet Partition 16ed BCM57414 NetXtreme-E RDMA Partition 16ee BCM57416 NetXtreme-E Ethernet Partition 16ef BCM57416 NetXtreme-E RDMA Partition 16f1 BCM57452 NetXtreme-E 10Gb/25Gb/40Gb/50Gb Ethernet 16f3 NetXtreme BCM5727 Gigabit Ethernet PCIe 16f7 NetXtreme BCM5753 Gigabit Ethernet PCI Express 16fd NetXtreme BCM5753M Gigabit Ethernet PCI Express 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq nw8440 16fe NetXtreme BCM5753F Fast Ethernet PCI Express 170c BCM4401-B0 100Base-TX 1028 0188 Inspiron 6000 laptop 1028 018d Inspiron 700m/710m 1028 0196 Inspiron 5160 1028 01af Inspiron 6400 1028 01cd Inspiron 9400 Laptop 1028 01d7 XPS M1210 1028 01d8 Inspiron E1405 103c 099c NX6110/NC6120 103c 30a2 NX7300 laptop 14e4 170c HP Compaq 6720t Mobile Thin Client 170d NetXtreme BCM5901 100Base-TX 1014 0545 ThinkPad R40e 170e NetXtreme BCM5901 100Base-TX 1712 NetLink BCM5906 Fast Ethernet PCI Express 1713 NetLink BCM5906M Fast Ethernet PCI Express 1028 01f3 Inspiron 1420 1028 0209 XPS M1330 103c 30c0 Compaq 6710b 17aa 3a23 IdeaPad S10e 1750 BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet 14e4 2100 NetXtreme-E Dual-port 100G QSFP56 Ethernet PCIe4.0 x16 Adapter (BCM957508-P2100G) 14e4 5208 NetXtreme-E Dual-port 100G QSFP56 Ethernet OCP 3.0 Adapter (BCM957508-N2100G) 1751 BCM57504 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet 1752 BCM57502 NetXtreme-E 10Gb/25Gb/40Gb/50Gb Ethernet 1800 BCM57502 NetXtreme-E Ethernet Partition 1801 BCM57504 NetXtreme-E Ethernet Partition 1802 BCM57508 NetXtreme-E Ethernet Partition 1803 BCM57502 NetXtreme-E RDMA Partition 1804 BCM57504 NetXtreme-E RDMA Partition 1805 BCM57508 NetXtreme-E RDMA Partition 1806 BCM5750X NetXtreme-E Ethernet Virtual Function 1807 BCM5750X NetXtreme-E RDMA Virtual Function 3352 BCM3352 3360 BCM3360 4210 BCM4210 iLine10 HomePNA 2.0 4211 BCM4211 iLine10 HomePNA 2.0 + V.90 56k modem 4212 BCM4212 v.90 56k modem 4220 802-11b/g Wireless PCI controller, packaged as a Linksys WPC54G ver 1.2 PCMCIA card 4222 NetXtreme BCM5753M Gigabit Ethernet PCI Express 4301 BCM4301 802.11b Wireless LAN Controller 1028 0407 TrueMobile 1180 Onboard WLAN 1043 0120 WL-103b Wireless LAN PC Card 16a5 1602 B-300 802.11b Wireless CardBus Adapter 1737 4301 WMP11 v2.7 802.11b Wireless-B PCI Adapter 4305 BCM4307 V.90 56k Modem 4306 BCM4306 802.11bg Wireless LAN controller 4307 BCM4306 802.11bg Wireless LAN Controller 4310 BCM4310 Chipcommon I/OController 4311 BCM4311 802.11b/g WLAN 1028 0007 Wireless 1390 WLAN Mini-Card 1028 0008 Wireless 1390 WLAN ExpressCard 103c 1363 BCM4311 802.11b/g Wireless LAN Controller 103c 1364 BCM4311 802.11b/g Wireless LAN Controller 103c 1365 BCM4311 802.11b/g Wireless LAN Controller 103c 1374 BCM4311 802.11b/g Wireless LAN Controller 103c 1375 BCM4311 802.11b/g Wireless LAN Controller 103c 1376 BCM4311 802.11b/g Wireless LAN Controller 103c 1377 BCM4311 802.11b/g Wireless LAN Controller 103c 137f BCM4322 802.11a/b/g/n Wireless LAN Controller 103c 1380 BCM4322 802.11a/b/g/n Wireless LAN Controller 14e4 4311 BCM94311MCG 4312 BCM4311 802.11a/b/g 1028 0007 Wireless 1490 Dual Band WLAN Mini-Card 1028 0008 Wireless 1490 Dual Band WLAN ExpressCard 103c 135a Broadcom 802.11a/b/g WLAN 103c 135f Broadcom 802.11a/b/g WLAN 103c 1360 Broadcom 802.11a/b/g WLAN 103c 1361 Broadcom 802.11a/b/g WLAN 103c 1362 Broadcom 802.11a/b/g WLAN 103c 1370 Broadcom 802.11a/b/g WLAN 103c 1371 Broadcom 802.11a/b/g WLAN 103c 1372 Broadcom 802.11a/b/g WLAN 103c 1373 Broadcom 802.11a/b/g WLAN 103c 30b5 Presario V3242AU 106b 0089 AirPort Extreme 1371 103c Broadcom 802.11 Multiband-netwerkadapter(6715s) 4313 BCM4311 802.11a 4315 BCM4312 802.11b/g LP-PHY 1028 000b Wireless 1395 WLAN Mini-Card 1028 000c Wireless 1397 WLAN Mini-Card 103c 137c BCM4312 802.11b/g Wireless LAN Controller 103c 137d BCM4312 802.11b/g Wireless LAN Controller 103c 1507 U98Z049.00 Wireless Mini PCIe Card 105b e003 T77H030.00 Wireless Mini PCIe Card 105b e01b T77H106.00 Wireless Half-size Mini PCIe Card 4318 BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller 1028 0005 Wireless 1370 WLAN Mini-PCI Card 1028 0006 Wireless 1370 WLAN PC Card 103c 1355 Broadcom 802.11b/g WLAN 103c 1356 Broadcom 802.11b/g WLAN 103c 1357 Broadcom 802.11b/g WLAN 1043 100f WL-138G v2 / WL-138gE / WL-100gE 1043 120f A6U notebook embedded card 1154 0355 Buffalo WLI2-PCI-G54S High Speed Mode Wireless Adapter 1468 0311 Aspire 3022WLMi, 5024WLMi, 5020 1468 0312 TravelMate 2410 14e4 0449 Gateway 7510GX 16ec 0119 U.S.Robotics Wireless MAXg PC Card 1737 0042 WMP54GS v1.1 802.11g Wireless-G PCI Adapter with SpeedBooster 1737 0048 WPC54G v3 802.11g Wireless-G Notebook Adapter 1737 0049 WPC54GS v2 802.11g Wireless-G Notebook Adapter with SpeedBooster 1799 7000 F5D7000 v4000 Wireless G Desktop Card 1799 7001 F5D7001 v2000 Wireless G Plus Desktop Card 1799 7010 F5D7010 v4000 Wireless G Notebook Card 1799 7011 F5D7011 v2000 High-Speed Mode Wireless G Notebook Card 4319 BCM4318 [AirForce 54g] 802.11a/b/g PCI Express Transceiver 1028 0005 Wireless 1470 Dual Band WLAN Mini-PCI Card 1028 0006 Wireless 1470 Dual Band WLAN PC Card 103c 1358 Broadcom 802.11a/b/g WLAN 103c 1359 Broadcom 802.11a/b/g WLAN 103c 135a Broadcom 802.11a/b/g WLAN 4320 BCM4306 802.11b/g Wireless LAN Controller 1028 0001 TrueMobile 1300 WLAN Mini-PCI Card 1028 0002 TrueMobile 1300 WLAN PC Card 1028 0003 Wireless 1350 WLAN Mini-PCI Card 1028 0004 Wireless 1350 WLAN PC Card 103c 12f4 Broadcom 802.11b/g WLAN 103c 12f8 Broadcom 802.11b/g WLAN 103c 12fa Broadcom 802.11b/g WLAN 103c 12fb Broadcom 802.11b/g WLAN 1043 100f WL-100G 1057 7025 WN825G 106b 004e AirPort Extreme 1154 0330 Buffalo WLI2-PCI-G54S High Speed Mode Wireless Desktop Adapter 144f 7050 eMachines M6805 802.11g Built-in Wireless 144f 7051 Sonnet Aria Extreme PCI 1737 0013 WMP54G v1 802.11g PCI Adapter 1737 0014 WMP54G v2 802.11g PCI Adapter 1737 0015 WMP54GS v1.0 802.11g Wireless-G PCI Adapter with SpeedBooster 1737 4320 WPC54G v1 / WPC54GS v1 802.11g Wireless-G Notebook Adapter 1799 7000 F5D7000 v1000 Wireless G Desktop Card 1799 7001 F5D7001 v1000 Wireless G Plus Desktop Card 1799 7010 F5D7010 v1000 Wireless G Notebook Card 1799 7011 F5D7011 v1000 High-Speed Mode Wireless G Notebook Card 185f 1220 TravelMate 290E WLAN Mini-PCI Card 4321 BCM4321 802.11a Wireless Network Controller 4322 BCM4322 802.11bgn Wireless Network Controller 4324 BCM4309 802.11abg Wireless Network Controller 1028 0001 Truemobile 1400 1028 0002 TrueMobile 1400 Dual Band WLAN PC Card 1028 0003 Truemobile 1450 MiniPCI 1028 0004 Wireless 1450 Dual Band WLAN PC Card 103c 12f9 Broadcom 802.11a/b/g WLAN 103c 12fc Broadcom 802.11a/b/g WLAN 4325 BCM4306 802.11bg Wireless Network Controller 1414 0003 Wireless Notebook Adapter MN-720 1414 0004 Wireless PCI Adapter MN-730 4326 BCM4307 Chipcommon I/O Controller? 4328 BCM4321 802.11a/b/g/n 1028 0009 Wireless 1500 Draft 802.11n WLAN Mini-Card 1028 000a Wireless 1500 Draft 802.11n WLAN Mini-card 103c 1366 BCM4321 802.11a/b/g/n Wireless LAN Controller 103c 1367 BCM4321 802.11a/b/g/n Wireless LAN Controller 103c 1368 BCM4321 802.11a/b/g/n Wireless LAN Controller 103c 1369 BCM4321 802.11a/b/g/n Wireless LAN Controller 106b 0087 AirPort Extreme 106b 0088 AirPort Extreme 106b 008b AirPort Extreme 106b 008c AirPort Extreme 106b 0090 AirPort Extreme 14e4 4328 BCM4328 802.11a/b/g/n 1737 0066 WPC600N v1 802.11a/b/g/n Wireless-N CardBus Adapter 1737 0068 WEC600N v1 802.11a/b/g/n Wireless-N ExpressCard 4329 BCM4321 802.11b/g/n 1385 7b00 WN511B RangeMax NEXT Wireless Notebook Adapter 1385 7d00 WN311B RangeMax Next 270 Mbps Wireless PCI Adapter 1737 0058 WPC300N v1 Wireless-N Notebook Adapter 432a BCM4321 802.11an Wireless Network Controller 432b BCM4322 802.11a/b/g/n Wireless LAN Controller 1028 000d Wireless 1510 Wireless-N WLAN Mini-Card 106b 008d AirPort Extreme 106b 008e AirPort Extreme 432c BCM4322 802.11b/g/n 1799 d311 Dynex DX-NNBX 802.11n WLAN Cardbus Card 432d BCM4322 802.11an Wireless Network Controller 4331 BCM4331 802.11a/b/g/n 106b 00d6 AirPort Extreme 106b 00e4 AirPort Extreme 106b 00ef AirPort Extreme 106b 00f4 AirPort Extreme 106b 00f5 AirPort Extreme 106b 010e AirPort Extreme 106b 010f AirPort Extreme 4333 Serial (EDGE/GPRS modem part of Option GT Combo Edge) 4344 EDGE/GPRS data and 802.11b/g combo cardbus [GC89] 4350 BCM43222 Wireless Network Adapter 4351 BCM43222 802.11abgn Wireless Network Adapter 4353 BCM43224 802.11a/b/g/n 1028 000e Wireless 1520 Half-size Mini PCIe Card 103c 1509 WMIB-275N Half-size Mini PCIe Card 106b 0093 AirPort Extreme 106b 00d1 AirPort Extreme 106b 00e9 AirPort Extreme 14e4 04d8 Pegatron UPWL6024 4357 BCM43225 802.11b/g/n 105b e021 T77H103.00 Wireless Half-size Mini PCIe Card 4358 BCM43227 802.11b/g/n 4359 BCM43228 802.11a/b/g/n 1028 0011 Wireless 1530 Half-size Mini PCIe Card 103c 182c BCM943228HM4L 802.11a/b/g/n 2x2 Wi-Fi Adapter 4360 BCM4360 802.11ac Wireless Network Adapter 4365 BCM43142 802.11b/g/n 1028 0016 Wireless 1704 802.11n + BT 4.0 43a0 BCM4360 802.11ac Wireless Network Adapter 43a1 BCM4360 802.11ac Wireless Network Adapter 43a2 BCM4360 802.11ac Wireless Network Adapter 43a3 BCM4350 802.11ac Wireless Network Adapter # Manufactured by Foxconn for Lenovo 17aa 075a 00JT494 43a9 BCM43217 802.11b/g/n 43aa BCM43131 802.11b/g/n 43ae BCM43162 802.11ac Wireless Network Adapter 43b1 BCM4352 802.11ac Wireless Network Adapter 43ba BCM43602 802.11ac Wireless LAN SoC 43bb BCM43602 802.11ac Wireless LAN SoC 43bc BCM43602 802.11ac Wireless LAN SoC 43d3 BCM43567 802.11ac Wireless Network Adapter 43d9 BCM43570 802.11ac Wireless Network Adapter 43dc BCM4355 802.11ac Wireless LAN SoC 43df BCM4354 802.11ac Wireless LAN SoC 43e9 BCM4358 802.11ac Wireless LAN SoC 43ec BCM4356 802.11ac Wireless Network Adapter 4401 BCM4401 100Base-T 1025 0035 TravelMate 660 1025 0064 Extensa 3000 series laptop 1028 8127 Dimension 2400 103c 08b0 tc1100 tablet 1043 80a8 A7V8X motherboard 4402 BCM4402 Integrated 10/100BaseT 4403 BCM4402 V.90 56k Modem 4410 BCM4413 iLine32 HomePNA 2.0 4411 BCM4413 V.90 56k modem 4412 BCM4412 10/100BaseT 441f BCM4361 802.11ac Dual-Band Wireless Network Controller 4420 BCM4361 802.11ac 2.4 GHz Wireless Network Controller 4421 BCM4361 802.11ac 5 GHz Wireless Network Controller 4430 BCM44xx CardBus iLine32 HomePNA 2.0 4432 BCM4432 CardBus 10/100BaseT 4464 BCM4364 802.11ac Wireless Network Adapter # brcmfmac reports it as BCM4377/4 but macOS drivers call it BCM4377b 4488 BCM4377b Wireless Network Adapter 4610 BCM4610 Sentry5 PCI to SB Bridge 4611 BCM4610 Sentry5 iLine32 HomePNA 1.0 4612 BCM4610 Sentry5 V.90 56k Modem 4613 BCM4610 Sentry5 Ethernet Controller 4614 BCM4610 Sentry5 External Interface 4615 BCM4610 Sentry5 USB Controller 4704 BCM4704 PCI to SB Bridge 4705 BCM4704 Sentry5 802.11b Wireless LAN Controller 4706 BCM4704 Sentry5 Ethernet Controller 4707 BCM4704 Sentry5 USB Controller 4708 BCM4704 Crypto Accelerator 4710 BCM4710 Sentry5 PCI to SB Bridge 4711 BCM47xx Sentry5 iLine32 HomePNA 2.0 4712 BCM47xx V.92 56k modem 4713 Sentry5 Ethernet Controller 4714 BCM47xx Sentry5 External Interface 4715 BCM47xx Sentry5 USB / Ethernet Controller 4716 BCM47xx Sentry5 USB Host Controller 4717 BCM47xx Sentry5 USB Device Controller 4718 Sentry5 Crypto Accelerator 4719 BCM47xx/53xx RoboSwitch Core 4720 BCM4712 MIPS CPU 4727 BCM4313 802.11bgn Wireless Network Adapter 1028 0010 Inspiron M5010 / XPS 8300 5365 BCM5365P Sentry5 Host Bridge 5600 BCM5600 StrataSwitch 24+2 Ethernet Switch Controller 5605 BCM5605 StrataSwitch 24+2 Ethernet Switch Controller 5615 BCM5615 StrataSwitch 24+2 Ethernet Switch Controller 5625 BCM5625 StrataSwitch 24+2 Ethernet Switch Controller 5645 BCM5645 StrataSwitch 24+2 Ethernet Switch Controller 5670 BCM5670 8-Port 10GE Ethernet Switch Fabric 5680 BCM5680 G-Switch 8 Port Gigabit Ethernet Switch Controller 5690 BCM5690 12-port Multi-Layer Gigabit Ethernet Switch 5691 BCM5691 GE/10GE 8+2 Gigabit Ethernet Switch Controller 5692 BCM5692 12-port Multi-Layer Gigabit Ethernet Switch 5695 BCM5695 12-port + HiGig Multi-Layer Gigabit Ethernet Switch 5698 BCM5698 12-port Multi-Layer Gigabit Ethernet Switch 5820 BCM5820 Crypto Accelerator 5821 BCM5821 Crypto Accelerator 5822 BCM5822 Crypto Accelerator 5823 BCM5823 Crypto Accelerator 5824 BCM5824 Crypto Accelerator 5840 BCM5840 Crypto Accelerator 5841 BCM5841 Crypto Accelerator 5850 BCM5850 Crypto Accelerator 5e87 Valkyrie offload engine 5e88 Viper Offload Engine 8602 BCM7400/BCM7405 Serial ATA Controller 9026 CN99xx [ThunderX2] Integrated USB 3.0 xHCI Host Controller 9027 CN99xx [ThunderX2] Integrated AHCI/SATA 3 Host Controller a8d8 BCM43224/5 Wireless Network Adapter aa52 BCM43602 802.11ac Wireless LAN SoC b302 BCM56302 StrataXGS 24x1GE 2x10GE Switch Controller b334 BCM56334 StrataXGS 24x1GE 4x10GE Switch Controller b370 BCM56370 Switch ASIC b371 BCM56371 Switch ASIC b372 BCM56372 Switch ASIC b375 BCM56375 Switch ASIC b376 BCM56376 Switch ASIC b377 BCM56377 Switch ASIC b379 Broadcom BCM56379 Switch ASIC b470 BCM56470 SWITCH ASIC b471 BCM56471 SWITCH ASIC b472 BCM56472 SWITCH ASIC b800 BCM56800 StrataXGS 10GE Switch Controller b842 BCM56842 Trident 10GE Switch Controller # Trident2 b850 Broadcom BCM56850 Switch ASIC b880 BCM56880 Switch ASIC # Tomahawk b960 Broadcom BCM56960 Switch ASIC # Tomahawk4 b990 BCM56990 Switch ASIC d802 BCM58802 Stingray 50Gb Ethernet SoC 14e4 8021 Stingray Dual-Port 25Gb Ethernet PCIe SmartNIC w16GB DRAM (Part No BCM958802A8046C) 14e4 8023 PS410T-H04 NetXtreme-S 4x10G 10GBaseT PCIe SmartNIC 14e4 8024 Stingray Dual-Port 25Gb Ethernet PCIe SmartNIC w4GB DRAM (Part No BCM958802A8044C) 14e4 8028 Stingray Dual-Port 25Gb Ethernet PCIe SmartNIC w8GB DRAM (Part No BCM958802A8048C) 1bb0 0021 HPE SimpliVity Accelerator d804 BCM58804 Stingray 100Gb Ethernet SoC 14e5 Pixelfusion Ltd 14e6 SHINING Technology Inc 14e7 3CX 14e8 RAYCER Inc 14e9 GARNETS System CO Ltd 14ea Planex Communications, Inc ab06 FNW-3603-TX CardBus Fast Ethernet ab07 RTL81xx RealTek Ethernet ab08 FNW-3602-TX CardBus Fast Ethernet 14eb SEIKO EPSON Corp # nee ACQIRIS 14ec Agilent Technologies 0000 Aciris Digitizer (malformed ID) 14ed DATAKINETICS Ltd 14ee MASPRO KENKOH Corp 14ef CARRY Computer ENG. CO Ltd 14f0 CANON RESEACH CENTRE FRANCE 14f1 Conexant Systems, Inc. 1002 HCF 56k Modem 1003 HCF 56k Modem 1004 HCF 56k Modem 1005 HCF 56k Modem 1006 HCF 56k Modem 1022 HCF 56k Modem 1023 HCF 56k Modem 1024 HCF 56k Modem 1025 HCF 56k Modem 1026 HCF 56k Modem 1032 HCF 56k Modem 1033 HCF 56k Data/Fax Modem 1033 8077 NEC 122d 4027 Dell Zeus - MDP3880-W(B) Data Fax Modem 122d 4030 Dell Mercury - MDP3880-U(B) Data Fax Modem 122d 4034 Dell Thor - MDP3880-W(U) Data Fax Modem 13e0 020d Dell Copper 13e0 020e Dell Silver 13e0 0261 IBM 13e0 0290 Compaq Goldwing 13e0 02a0 IBM 13e0 02b0 IBM 13e0 02c0 Compaq Scooter 13e0 02d0 IBM 144f 1500 IBM P85-DF (1) 144f 1501 IBM P85-DF (2) 144f 150a IBM P85-DF (3) 144f 150b IBM P85-DF Low Profile (1) 144f 1510 IBM P85-DF Low Profile (2) 1034 HCF 56k Data/Fax/Voice Modem 1035 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 10cf 1098 Fujitsu P85-DFSV 1036 HCF 56k Data/Fax/Voice/Spkp Modem 104d 8067 HCF 56k Modem 122d 4029 MDP3880SP-W 122d 4031 MDP3880SP-U 13e0 0209 Dell Titanium 13e0 020a Dell Graphite 13e0 0260 Gateway Red Owl 13e0 0270 Gateway White Horse 1052 HCF 56k Data/Fax Modem (Worldwide) 1053 HCF 56k Data/Fax Modem (Worldwide) 1054 HCF 56k Data/Fax/Voice Modem (Worldwide) 1055 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (Worldwide) 1056 HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) 122d 4035 MDP3900V-W 1057 HCF 56k Data/Fax/Voice/Spkp Modem (Worldwide) 1059 HCF 56k Data/Fax/Voice Modem (Worldwide) 1063 HCF 56k Data/Fax Modem 1064 HCF 56k Data/Fax/Voice Modem 1065 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 1066 HCF 56k Data/Fax/Voice/Spkp Modem 122d 4033 Dell Athena - MDP3900V-U 1085 HCF V90 56k Data/Fax/Voice/Spkp PCI Modem 10b6 CX06834-11 HCF V.92 56k Data/Fax/Voice/Spkp Modem 1433 HCF 56k Data/Fax Modem 1434 HCF 56k Data/Fax/Voice Modem 1435 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 1436 HCF 56k Data/Fax Modem 1453 HCF 56k Data/Fax Modem 13e0 0240 IBM 13e0 0250 IBM 144f 1502 IBM P95-DF (1) 144f 1503 IBM P95-DF (2) 1454 HCF 56k Data/Fax/Voice Modem 1455 HCF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 1456 HCF 56k Data/Fax/Voice/Spkp Modem 122d 4035 Dell Europa - MDP3900V-W 122d 4302 Dell MP3930V-W(C) MiniPCI 1610 ADSL AccessRunner PCI Arbitration Device 1611 AccessRunner PCI ADSL Interface Device 1620 AccessRunner V2 PCI ADSL Arbitration Device 1621 AccessRunner V2 PCI ADSL Interface Device 1622 AccessRunner V2 PCI ADSL Yukon WAN Adapter 1803 HCF 56k Modem 0e11 0023 623-LAN Grizzly 0e11 0043 623-LAN Yogi 1811 MiniPCI Network Adapter 1815 HCF 56k Modem 0e11 0022 Grizzly 0e11 0042 Yogi # Integrated in CX86111/CX86113 processors 1830 CX861xx Integrated Host Bridge 2003 HSF 56k Data/Fax Modem 2004 HSF 56k Data/Fax/Voice Modem 2005 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 2006 HSF 56k Data/Fax/Voice/Spkp Modem 2013 HSF 56k Data/Fax Modem 0e11 b195 Bear 0e11 b196 Seminole 1 0e11 b1be Seminole 2 1025 8013 Acer 1033 809d NEC 1033 80bc NEC 155d 6793 HP 155d 8850 E Machines 2014 HSF 56k Data/Fax/Voice Modem 2015 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem 2016 HSF 56k Data/Fax/Voice/Spkp Modem 2043 HSF 56k Data/Fax Modem (WorldW SmartDAA) 2044 HSF 56k Data/Fax/Voice Modem (WorldW SmartDAA) 2045 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (WorldW SmartDAA) 14f1 2045 Generic SoftK56 2046 HSF 56k Data/Fax/Voice/Spkp Modem (WorldW SmartDAA) 2063 HSF 56k Data/Fax Modem (SmartDAA) 2064 HSF 56k Data/Fax/Voice Modem (SmartDAA) 2065 HSF 56k Data/Fax/Voice/Spkp (w/Handset) Modem (SmartDAA) 2066 HSF 56k Data/Fax/Voice/Spkp Modem (SmartDAA) 2093 HSF 56k Modem 155d 2f07 Legend 2143 HSF 56k Data/Fax/Cell Modem (Mob WorldW SmartDAA) 2144 HSF 56k Data/Fax/Voice/Cell Modem (Mob WorldW SmartDAA) 2145 HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob WorldW SmartDAA) 2146 HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob WorldW SmartDAA) 2163 HSF 56k Data/Fax/Cell Modem (Mob SmartDAA) 2164 HSF 56k Data/Fax/Voice/Cell Modem (Mob SmartDAA) 2165 HSF 56k Data/Fax/Voice/Spkp (w/HS)/Cell Modem (Mob SmartDAA) 2166 HSF 56k Data/Fax/Voice/Spkp/Cell Modem (Mob SmartDAA) 2343 HSF 56k Data/Fax CardBus Modem (Mob WorldW SmartDAA) 2344 HSF 56k Data/Fax/Voice CardBus Modem (Mob WorldW SmartDAA) 2345 HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob WorldW SmartDAA) 2346 HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob WorldW SmartDAA) 2363 HSF 56k Data/Fax CardBus Modem (Mob SmartDAA) 2364 HSF 56k Data/Fax/Voice CardBus Modem (Mob SmartDAA) 2365 HSF 56k Data/Fax/Voice/Spkp (w/HS) CardBus Modem (Mob SmartDAA) 2366 HSF 56k Data/Fax/Voice/Spkp CardBus Modem (Mob SmartDAA) 2443 HSF 56k Data/Fax Modem (Mob WorldW SmartDAA) 104d 8075 Modem 104d 8083 Modem 104d 8097 Modem 2444 HSF 56k Data/Fax/Voice Modem (Mob WorldW SmartDAA) 2445 HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob WorldW SmartDAA) 2446 HSF 56k Data/Fax/Voice/Spkp Modem (Mob WorldW SmartDAA) 2463 HSF 56k Data/Fax Modem (Mob SmartDAA) 2464 HSF 56k Data/Fax/Voice Modem (Mob SmartDAA) 2465 HSF 56k Data/Fax/Voice/Spkp (w/HS) Modem (Mob SmartDAA) 2466 HSF 56k Data/Fax/Voice/Spkp Modem (Mob SmartDAA) 2702 HSFi modem RD01-D270 1028 8d88 SmartHSFi V92 56K PCI Modem 2f00 HSF 56k HSFi Modem 13e0 8d84 IBM HSFi V.90 13e0 8d85 Compaq Stinger 14f1 2004 Dynalink 56PMi 2f02 HSF 56k HSFi Data/Fax 2f11 HSF 56k HSFi Modem 2f20 HSF 56k Data/Fax Modem 14f1 200c Soft Data Fax Modem with SmartCP 14f1 200f Dimension 3000 2f30 SoftV92 SpeakerPhone SoftRing Modem with SmartSP 14f1 2014 Devolo MikroLink 56K Modem PCI 2f50 Conexant SoftK56 Data/Fax Modem 5b7a CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder 0070 7444 WinTV HVR-1600 107d 6f34 WinFast DVR3100 H 5854 3343 GoTView PCI DVD3 Hybrid 8200 CX25850 8234 RS8234 ATM SAR Controller [ServiceSAR Plus] 8800 CX23880/1/2/3 PCI Video and Audio Decoder 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models 0070 3400 WinTV 34604 0070 3401 Hauppauge WinTV 34xxx models 0070 6902 WinTV HVR-4000-HD 0070 7801 WinTV HVR-1800 MCE 0070 9001 Nova-T DVB-T 0070 9002 Nova-T DVB-T Model 909 0070 9200 Nova-SE2 DVB-S 0070 9202 Nova-S-Plus DVB-S 0070 9402 WinTV-HVR1100 DVB-T/Hybrid 0070 9600 WinTV 88x Video 0070 9802 WinTV-HVR1100 DVB-T/Hybrid (Low Profile) 1002 00f8 ATI TV Wonder Pro 1002 00f9 ATI TV Wonder 1002 a101 HDTV Wonder 1043 4823 PVR-416 107d 6611 Winfast TV 2000XP Expert 107d 6613 Leadtek Winfast 2000XP Expert 107d 6620 Leadtek Winfast DV2000 107d 663c Leadtek PVR 2000 107d 665f WinFast DTV1000-T 10fc d003 IODATA GV-VCP3/PCI 10fc d035 IODATA GV/BCTV7E 1421 0334 Instant TV DVB-T PCI 1461 000a AVerTV 303 (M126) 1461 000b AverTV Studio 303 (M126) 1461 8011 UltraTV Media Center PCI 550 1462 8606 MSI TV-@nywhere Master 14c7 0107 GDI Black Gold 14f1 0187 Conexant DVB-T reference design 14f1 0342 Digital-Logic MICROSPACE Entertainment Center (MEC) 153b 1166 Cinergy 1400 DVB-T 1540 2580 Provideo PV259 1554 4811 PixelView 1554 4813 Club 3D ZAP1000 MCE Edition 17de 08a1 KWorld/VStream XPert DVB-T with cx22702 17de 08a6 KWorld/VStream XPert DVB-T 17de 08b2 KWorld DVB-S 100 17de a8a6 digitalnow DNTV Live! DVB-T 1822 0025 digitalnow DNTV Live! DVB-T Pro 185b e000 VideoMate X500 18ac d500 FusionHDTV 5 Gold 18ac d810 FusionHDTV 3 Gold-Q 18ac d820 FusionHDTV 3 Gold-T 18ac db00 FusionHDTV DVB-T1 18ac db11 FusionHDTV DVB-T Plus 18ac db50 FusionHDTV DVB-T Dual Digital 5654 2388 GoTView PCI Hybrid TV Tuner Card 7063 3000 pcHDTV HD3000 HDTV 7063 5500 pcHDTV HD-5500 8801 CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models 185b e000 VideoMate X500 5654 2388 GoTView PCI Hybrid Audio AVStream Device 7063 5500 pcHDTV HD-5500 8802 CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] 0070 2801 Hauppauge WinTV 28xxx (Roslyn) models 0070 6902 WinTV HVR-4000-HD 0070 9002 Nova-T DVB-T Model 909 0070 9402 WinTV-HVR1100 DVB-T/Hybrid 0070 9600 WinTV 88x MPEG Encoder 1043 4823 PVR-416 107d 663c Leadtek PVR 2000 107d 665f WinFast DTV1000-T 14f1 0187 Conexant DVB-T reference design 17de 08a1 XPert DVB-T PCI BDA DVBT 23880 Transport Stream Capture 17de 08a6 KWorld/VStream XPert DVB-T 18ac d500 DViCO FusionHDTV5 Gold 18ac d810 DViCO FusionHDTV3 Gold-Q 18ac d820 DViCO FusionHDTV3 Gold-T 18ac db00 DVICO FusionHDTV DVB-T1 18ac db10 DVICO FusionHDTV DVB-T Plus 5654 2388 GoTView PCI Hybrid TS Capture Device 7063 3000 pcHDTV HD3000 HDTV 7063 5500 pcHDTV HD-5500 8804 CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] 0070 6902 WinTV HVR-4000-HD 0070 9002 Nova-T DVB-T Model 909 0070 9402 WinTV-HVR1100 DVB-T/Hybrid 7063 5500 pcHDTV HD-5500 8811 CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] 0070 3400 WinTV 34604 0070 3401 Hauppauge WinTV 34xxx models 0070 6902 WinTV HVR-4000-HD 0070 9402 WinTV-HVR1100 DVB-T/Hybrid 0070 9600 WinTV 88x Audio 1462 8606 MSI TV-@nywhere Master 18ac d500 DViCO FusionHDTV5 Gold 18ac d810 DViCO FusionHDTV3 Gold-Q 18ac d820 DViCO FusionHDTV3 Gold-T 18ac db00 DVICO FusionHDTV DVB-T1 5654 2388 GoTView PCI Hybrid Audio Capture Device 8852 CX23885 PCI Video and Audio Decoder 0070 8010 WinTV HVR-1400 ExpressCard 0070 f038 WinTV HVR-5525 107d 6f22 WinFast PxTV1200 12ab d585 PE988J Hybrid ATSC/QAM PCI-E AVS Video Capture (SoftEncoder) 13c2 3013 TT-budget CT2-4500 CI 1461 c039 AVerTV Hybrid Express (A577) 153b 117e Cinergy T PCIe Dual 18ac db78 FusionHDTV DVB-T Dual Express 4254 0950 S950 4254 0952 S952 4254 0982 T982 4254 9580 T9580 4254 980c T980C 8880 CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb 0070 2259 WinTV HVR-1250 0070 6a18 WinTV-quadHD 0070 c108 WinTV-HVR-4400-HD model 1278 1461 3100 CE310B SD PCIe Video Capture Card 5654 2389 GoTView X5 DVD Hybrid PCI-E 5654 2390 GoTView X5 3D HYBRID PCI-E 14f2 MOBILITY Electronics 0120 EV1000 bridge 0121 EV1000 Parallel port 0122 EV1000 Serial port 0123 EV1000 Keyboard controller 0124 EV1000 Mouse controller 14f3 BroadLogic 2030 2030 DVB-S Satellite Receiver 2035 2035 DVB-S Satellite Receiver 2050 2050 DVB-T Terrestrial (Cable) Receiver 2060 2060 ATSC Terrestrial (Cable) Receiver 14f4 TOKYO Electronic Industry CO Ltd 14f5 SOPAC Ltd 14f6 COYOTE Technologies LLC 14f7 WOLF Technology Inc 14f8 AUDIOCODES Inc 2077 TP-240 dual span E1 VoIP PCI card 14f9 AG COMMUNICATIONS 14fa WANDEL & GOLTERMANN 14fb TRANSAS MARINE (UK) Ltd 14fc Quadrics Ltd 0000 QsNet Elan3 Network Adapter 0001 QsNetII Elan4 Network Adapter 0002 QsNetIII Elan5 Network Adapter 14fd JAPAN Computer Industry Inc 14fe ARCHTEK TELECOM Corp 14ff TWINHEAD INTERNATIONAL Corp 1500 DELTA Electronics, Inc 1360 RTL81xx RealTek Ethernet 1501 BANKSOFT CANADA Ltd 1502 MITSUBISHI ELECTRIC LOGISTICS SUPPORT Co Ltd 1503 KAWASAKI LSI USA Inc 1504 KAISER Electronics 1505 ITA INGENIEURBURO FUR TESTAUFGABEN GmbH 1506 CHAMELEON Systems Inc # Should be HTEC Ltd, but there are no known HTEC chips and 1507 is already used by mistake by Motorola (see vendor ID 1057). 1507 Motorola ?? / HTEC 0001 MPC105 [Eagle] 0002 MPC106 [Grackle] 0003 MPC8240 [Kahlua] 0100 MC145575 [HFC-PCI] 0431 KTI829c 100VG 4801 Raven 4802 Falcon 4803 Hawk 4806 CPX8216 1508 HONDA CONNECTORS/MHOTRONICS Inc 1509 FIRST INTERNATIONAL Computer Inc 150a FORVUS RESEARCH Inc 150b YAMASHITA Systems Corp 150c KYOPAL CO Ltd 150d WARPSPPED Inc 150e C-PORT Corp 150f INTEC GmbH 1510 BEHAVIOR TECH Computer Corp 1511 CENTILLIUM Technology Corp 1512 ROSUN Technologies Inc 1513 Raychem 1514 TFL LAN Inc 1515 Advent design 1516 MYSON Technology Inc 0800 MTD-8xx 100/10M Ethernet PCI Adapter 0803 SURECOM EP-320X-S 100/10M Ethernet PCI Adapter 1320 10bd SURECOM EP-320X-S 100/10M Ethernet PCI Adapter 0891 MTD-8xx 100/10M Ethernet PCI Adapter 1517 ECHOTEK Corp # old ID, now 1059 1518 Kontron 1519 TELEFON AKTIEBOLAGET LM Ericsson 151a Globetek 1002 PCI-1002 1004 PCI-1004 1008 PCI-1008 151b COMBOX Ltd 151c DIGITAL AUDIO LABS Inc 0003 Prodif T 2496 4000 Prodif 88 151d Fujitsu Computer Products Of America 151e MATRIX Corp 151f TOPIC SEMICONDUCTOR Corp 0000 TP560 Data/Fax/Voice 56k modem 1520 CHAPLET System Inc 1521 BELL Corp 1522 MainPine Ltd 0100 PCI <-> IOBus Bridge 1522 0200 RockForceDUO 2 Port V.92/V.44 Data/Fax/Voice Modem 1522 0300 RockForceQUATRO 4 Port V.92/V.44 Data/Fax/Voice Modem 1522 0400 RockForceDUO+ 2 Port V.92/V.44 Data/Fax/Voice Modem 1522 0500 RockForceQUATRO+ 4 Port V.92/V.44 Data/Fax/Voice Modem 1522 0600 RockForce+ 2 Port V.90 Data/Fax/Voice Modem 1522 0700 RockForce+ 4 Port V.90 Data/Fax/Voice Modem 1522 0800 RockForceOCTO+ 8 Port V.92/V.44 Data/Fax/Voice Modem 1522 0c00 RockForceDUO+ 2 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem 1522 0d00 RockForceQUATRO+ 4 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem 1522 1d00 RockForceOCTO+ 8 Port V.92/V.44 Data, V.34 Super-G3 Fax, Voice Modem 1522 2000 RockForceD1 1 Port V.90 Data Modem 1522 2100 RockForceF1 1 Port V.34 Super-G3 Fax Modem 1522 2200 RockForceD2 2 Port V.90 Data Modem 1522 2300 RockForceF2 2 Port V.34 Super-G3 Fax Modem 1522 2400 RockForceD4 4 Port V.90 Data Modem 1522 2500 RockForceF4 4 Port V.34 Super-G3 Fax Modem 1522 2600 RockForceD8 8 Port V.90 Data Modem 1522 2700 RockForceF8 8 Port V.34 Super-G3 Fax Modem 1522 3000 IQ Express D1 - 1 Port V.92 Data Modem 1522 3100 IQ Express F1 - 1 Port V.34 Super-G3 Fax Modem 1522 3200 IQ Express D2 - 2 Port V.92 Data Modem 1522 3300 IQ Express F2 - 2 Port V.34 Super-G3 Fax Modem 1522 3400 IQ Express D4 - 4 Port V.92 Data Modem 1522 3500 IQ Express F4 - 4 Port V.34 Super-G3 Fax Modem 1522 3c00 IQ Express D8 - 8 Port V.92 Data Modem 1522 3d00 IQ Express F8 - 8 Port V.34 Super-G3 Fax Modem 4000 PCI Express UART 1522 4001 IQ Express 1-port V.34 Super-G3 Fax 1522 4002 IQ Express 2-port V.34 Super-G3 Fax 1522 4004 IQ Express 4-port V.34 Super-G3 Fax 1522 4008 IQ Express 8-port V.34 Super-G3 Fax 1522 4100 IQ Express SideBand 1523 MUSIC Semiconductors 1524 ENE Technology Inc 0510 CB710 Memory Card Reader Controller 103c 006a NX9500 0520 FLASH memory: ENE Technology Inc: 0530 ENE PCI Memory Stick Card Reader Controller 0550 ENE PCI Secure Digital Card Reader Controller 0551 SD/MMC Card Reader Controller 0610 PCI Smart Card Reader Controller 0720 Memory Stick Card Reader Controller 0730 ENE PCI Memory Stick Card Reader Controller 0750 ENE PCI SmartMedia / xD Card Reader Controller 0751 ENE PCI Secure Digital / MMC Card Reader Controller 1211 CB1211 Cardbus Controller 1225 CB1225 Cardbus Controller 1410 CB1410 Cardbus Controller 1025 003c CL50 motherboard 1025 005a TravelMate 290 103c 30d5 530 Laptop 1411 CB-710/2/4 Cardbus Controller 103c 006a NX9500 1412 CB-712/4 Cardbus Controller 1420 CB1420 Cardbus Controller 1421 CB-720/2/4 Cardbus Controller 1422 CB-722/4 Cardbus Controller 1525 IMPACT Technologies 1526 ISS, Inc 1527 SOLECTRON 1528 ACKSYS # nee American Microsystems Inc 1529 ON Semiconductor 152a QUICKTURN DESIGN Systems 152b FLYTECH Technology CO Ltd 152c MACRAIGOR Systems LLC 152d QUANTA Computer Inc 152e MELEC Inc 152f PHILIPS - CRYPTO 1530 ACQIS Technology Inc 1531 CHRYON Corp 1532 ECHELON Corp 0020 LonWorks PCLTA-20 PCI LonTalk Adapter 1533 BALTIMORE 1534 ROAD Corp 1535 EVERGREEN Technologies Inc 1536 ACTIS Computer 1537 DATALEX COMMUNCATIONS 1538 ARALION Inc 0303 ARS106S Ultra ATA 133/100/66 Host Controller 1539 ATELIER INFORMATIQUES et ELECTRONIQUE ETUDES S.A. 153a ONO SOKKI 153b TERRATEC Electronic GmbH 1144 Aureon 5.1 # Terratec seems to use several IDs for the same card. 1147 Aureon 5.1 Sky 1158 Philips Semiconductors SAA7134 (rev 01) [Terratec Cinergy 600 TV] 153c ANTAL Electronic 153d FILANET Corp 153e TECHWELL Inc 153f MIPS Technologies, Inc. 0001 SOC-it 101 System Controller 1540 PROVIDEO MULTIMEDIA Co Ltd 1541 MACHONE Communications # nee VIVID Technology Inc. 1542 Concurrent Real-Time 9260 RCIM-II Real-Time Clock & Interrupt Module 9271 RCIM-III Real-Time Clock & Interrupt Module (PCIe) 9272 Pulse Width Modulator Card 9277 5 Volt Delta Sigma Converter Card 9278 10 Volt Delta Sigma Converter Card 9287 Analog Output Card 9290 FPGA Card 9300 Universal Exhaust Gas Oxygen Sensor Simulator 9310 Digital Programmable Resistor 9350 Analog Input Card 1543 SILICON Laboratories 3052 Intel 537 [Winmodem] 4c22 Si3036 MC'97 DAA 1544 DCM DATA Systems 1545 VISIONTEK 1546 IOI Technology Corp 1547 MITUTOYO Corp 1548 JET PROPULSION Laboratory 1549 INTERCONNECT Systems Solutions 154a MAX Technologies Inc 154b COMPUTEX Co Ltd 154c VISUAL Technology Inc 154d PAN INTERNATIONAL Industrial Corp 154e SERVOTEST Ltd 154f STRATABEAM Technology 1550 OPEN NETWORK Co Ltd 1551 SMART Electronic DEVELOPMENT GmBH 1552 RACAL AIRTECH Ltd 1553 CHICONY Electronics Co Ltd 1554 PROLINK Microsystems Corp 1555 GESYTEC GmBH 1556 PLDA 1100 PCI Express Core Reference Design 110f PCI Express Core Reference Design Virtual Function 1110 XpressRich Reference Design 1111 XpressRich-AXI Ref Design 1112 QuickPCIe 1113 XpressSwitch 1114 Inspector 1115 XpressLINK Ref Design 1116 XpressLINK-SOC Ref Design be00 PCI Express Bridge 1557 MEDIASTAR Co Ltd 1558 CLEVO/KAPOK Computer 1559 SI LOGIC Ltd 155a INNOMEDIA Inc 155b PROTAC INTERNATIONAL Corp 155c Cemax-Icon Inc 155d Mac System Co Ltd 155e LP Elektronik GmbH 155f Perle Systems Ltd 1560 Terayon Communications Systems 1561 Viewgraphics Inc 1562 Symbol Technologies 1563 A-Trend Technology Co Ltd 1564 Yamakatsu Electronics Industry Co Ltd 1565 Biostar Microtech Int'l Corp 1566 Ardent Technologies Inc 1567 Jungsoft 1568 DDK Electronics Inc 1569 Palit Microsystems Inc. 156a Avtec Systems 156b 2wire Inc 156c Vidac Electronics GmbH 156d Alpha-Top Corp 156e Alfa Inc 156f M-Systems Flash Disk Pioneers Ltd 1570 Lecroy Corp 1571 Contemporary Controls a001 CCSI PCI20-485 ARCnet a002 CCSI PCI20-485D ARCnet a003 CCSI PCI20-485X ARCnet a004 CCSI PCI20-CXB ARCnet a005 CCSI PCI20-CXS ARCnet a006 CCSI PCI20-FOG-SMA ARCnet a007 CCSI PCI20-FOG-ST ARCnet a008 CCSI PCI20-TB5 ARCnet a009 CCSI PCI20-5-485 5Mbit ARCnet a00a CCSI PCI20-5-485D 5Mbit ARCnet a00b CCSI PCI20-5-485X 5Mbit ARCnet a00c CCSI PCI20-5-FOG-ST 5Mbit ARCnet a00d CCSI PCI20-5-FOG-SMA 5Mbit ARCnet a201 CCSI PCI22-485 10Mbit ARCnet a202 CCSI PCI22-485D 10Mbit ARCnet a203 CCSI PCI22-485X 10Mbit ARCnet a204 CCSI PCI22-CHB 10Mbit ARCnet a205 CCSI PCI22-FOG_ST 10Mbit ARCnet a206 CCSI PCI22-THB 10Mbit ARCnet 1572 Otis Elevator Company 1573 Lattice - Vantis 1574 Fairchild Semiconductor 1575 Voltaire Advanced Data Security Ltd 1576 Viewcast COM 1578 HITT 4d34 VPMK4 [Video Processor Mk IV] 5615 VPMK3 [Video Processor Mk III] 1579 Dual Technology Corp 157a Japan Elecronics Ind Inc 157b Star Multimedia Corp 157c Eurosoft (UK) 8001 Fix2000 PCI Y2K Compliance Card 157d Gemflex Networks 157e Transition Networks 157f PX Instruments Technology Ltd 1580 Primex Aerospace Co 1581 SEH Computertechnik GmbH 1582 Cytec Corp 1583 Inet Technologies Inc 1584 Uniwill Computer Corp 1585 Logitron 1586 Lancast Inc 1587 Konica Corp 1588 Solidum Systems Corp 1589 Atlantek Microsystems Pty Ltd 0008 Leutron Vision PicPortExpress CL 0009 Leutron Vision PicPortExpress CL Stereo 158a Digalog Systems Inc 158b Allied Data Technologies 158c Hitachi Semiconductor & Devices Sales Co Ltd 158d Point Multimedia Systems 158e Lara Technology Inc 158f Ditect Coop # formerly 3PAR Inc. 1590 Hewlett Packard Enterprise 0001 Eagle Cluster Manager 0002 Osprey Cluster Manager 0003 Harrier Cluster Manager a01d FC044X Fibre Channel HBA 1591 ARN 1592 Syba Tech Ltd 0781 Multi-IO Card 0782 Parallel Port Card 2xEPP 0783 Multi-IO Card 0785 Multi-IO Card 0786 Multi-IO Card 0787 Multi-IO Card 0788 Multi-IO Card 078a Multi-IO Card 1593 Bops Inc 1594 Netgame Ltd 1595 Diva Systems Corp 1596 Folsom Research Inc 1597 Memec Design Services 1598 Granite Microsystems 1599 Delta Electronics Inc 159a General Instrument 159b Faraday Technology Corp 4321 StorLink SL3516 (Gemini) Host Bridge 159c Stratus Computer Systems 159d Ningbo Harrison Electronics Co Ltd 159e A-Max Technology Co Ltd 159f Galea Network Security 15a0 Compumaster SRL 15a1 Geocast Network Systems 15a2 Catalyst Enterprises Inc 0001 TA700 PCI Bus Analyzer/Exerciser 15a3 Italtel 15a4 X-Net OY 15a5 Toyota Macs Inc 15a6 Sunlight Ultrasound Technologies Ltd 15a7 SSE Telecom Inc 15a8 Shanghai Communications Technologies Center 15aa Moreton Bay 15ab Bluesteel Networks Inc 15ac North Atlantic Instruments 6893 3U OpenVPX Multi-function I/O Board [Model 68C3] 15ad VMware 0405 SVGA II Adapter 0710 SVGA Adapter 0720 VMXNET Ethernet Controller 0740 Virtual Machine Communication Interface 0770 USB2 EHCI Controller 0774 USB1.1 UHCI Controller 0778 USB3 xHCI 0.96 Controller 0779 USB3 xHCI 1.0 Controller 0790 PCI bridge 07a0 PCI Express Root Port 07b0 VMXNET3 Ethernet Controller 07c0 PVSCSI SCSI Controller 07e0 SATA AHCI controller 0801 Virtual Machine Interface 15ad 0800 Hypervisor ROM Interface 0820 Paravirtual RDMA controller 1977 HD Audio Controller 15ae Amersham Pharmacia Biotech 15b0 Zoltrix International Ltd 15b1 Source Technology Inc 15b2 Mosaid Technologies Inc 15b3 Mellanox Technologies 0191 MT25408 [ConnectX IB Flash Recovery] 01f6 MT27500 Family [ConnectX-3 Flash Recovery] 01f8 MT27520 Family [ConnectX-3 Pro Flash Recovery] 01ff MT27600 Family [Connect-IB Flash Recovery] 0209 MT27700 Family [ConnectX-4 Flash Recovery] 020b MT27710 Family [ConnectX-4 Lx Flash Recovery] 020d MT28800 Family [ConnectX-5 Flash Recovery] 020f MT28908A0 Family [ConnectX-6 Flash Recovery] 0210 MT28908A0 Family [ConnectX-6 Secure Flash Recovery] 0211 MT416842 Family [BlueField SoC Flash Recovery] 0212 MT2892 Family [ConnectX-6 Dx Flash Recovery] 0213 MT2892 Family [ConnectX-6 Dx Secure Flash Recovery] 0214 MT42822 Family [BlueField-2 SoC Flash Recovery] 0215 MT42822 Family [BlueField-2 Secure Flash Recovery] 0216 MT2894 Family [ConnectX-6 Lx Flash Recovery] 0217 MT2894 Family [ConnectX-6 Lx Secure Flash Recovery] 0218 MT2910 Family [ConnectX-7 Flash Recovery] 0219 MT2910 Family [ConnectX-7 Secure Flash Recovery] 021a MT43162 Family [BlueField-3 Lx SoC Flash Recovery] 021b MT43162 Family [BlueField-3 Lx Secure Flash Recovery] 021c MT43244 Family [BlueField-3 SoC Flash Recovery] 021d MT43244 Family [BlueField-3 Secure Flash Recovery] 024e MT53100 [Spectrum-2, Flash recovery mode] 024f MT53100 [Spectrum-2, Secure Flash recovery mode] 0250 Spectrum-3, Flash recovery mode 0251 Spectrum-3, Secure Flash recovery mode 0252 Amos chiplet 0253 Amos GearBox Manager 0254 Spectrum-4, Flash recovery mode 0255 Spectrum-4, Secure Flash recovery mode 0256 Ofek chiplet 0257 Quantum-2 in Flash Recovery Mode 0262 MT27710 [ConnectX-4 Lx Programmable] EN 0263 MT27710 [ConnectX-4 Lx Programmable Virtual Function] EN 0264 Innova-2 Flex Burn image 0281 NPS-600 Flash Recovery 1002 MT25400 Family [ConnectX-2 Virtual Function] 1003 MT27500 Family [ConnectX-3] 1014 04b5 PCIe3 40GbE RoCE Converged Host Bus Adapter for Power 103c 1777 InfiniBand FDR/EN 10/40Gb Dual Port 544FLR-QSFP Adapter (Rev Cx) 103c 17c9 Infiniband QDR/Ethernet 10Gb 2-port 544i Adapter 103c 18ce InfiniBand QDR/EN 10Gb Dual Port 544M Adapter 103c 18cf InfiniBand FDR/EN 10/40Gb Dual Port 544M Adapter 103c 18d6 InfiniBand FDR/EN 10/40Gb Dual Port 544QSFP Adapter 15b3 0025 ConnectX-3 IB QDR Dual Port Mezzanine Card 15b3 0026 ConnectX-3 IB FDR Dual Port Mezzanine Card 15b3 0028 ConnectX-3 VPI Dual QSFP+ Port QDR Infiniband 40Gb/s or 10Gb Ethernet 15b3 0059 ConnectX-3 VPI IB FDR/40 GbE Single Port QSFP+ Mezzanine Card 15b3 0064 ConnectX-3 EN 10/40 GbE Single Port QSFP+ Adapter (MCX313A-BCBT) 15b3 0065 ConnectX-3 VPI IB FDR/40 GbE Dual Port QSFP+ Adapter 15b3 0066 ConnectX-3 IB FDR10 Dual Port Mezzanine Card 15b3 0067 ConnectX-3 VPI IB FDR/40 GbE Single Port QSFP+ Adapter 15b3 0071 ConnectX-3 VPI IB FDR/40 GbE Dual Port QSFP+ Mezzanine Card # SVID = 15B3 SSID = 0078 15b3 0078 ConnectX-3 10 GbE Dual Port KR Mezzanine Card 15b3 0079 ConnectX-3 40 GbE Dual Port QSFP+ Adapter # SVID = 15B3 SSID = 0080 15b3 0080 ConnectX-3 10 GbE Dual Port SFP+ Adapter 1004 MT27500/MT27520 Family [ConnectX-3/ConnectX-3 Pro Virtual Function] 1005 MT27510 Family 1006 MT27511 Family 1007 MT27520 Family [ConnectX-3 Pro] 1014 04eb 2-Port 10GbE NIC and RoCE SR PCIe3 103c 22f3 InfiniBand FDR/Ethernet 10Gb/40Gb 2-port 544+QSFP Adapter 103c 22f4 InfiniBand FDR/Ethernet 10Gb/40Gb 2-port 544+FLR-QSFP Adapter 103c 801f Ethernet 10G 2-port 546SFP+ Adapter 117c 0090 FastFrame NQ41 117c 0091 FastFrame NQ42 117c 0092 FastFrame NQ11 117c 0093 FastFrame NQ12 15b3 0006 Mellanox Technologies ConnectX-3 Pro Stand-up dual-port 40GbE MCX314A-BCCT 15b3 0078 ConnectX-3 Pro 10 GbE Dual Port KR Mezzanine Card 15b3 0079 ConnectX-3 Pro 40 GbE Dual Port QSFP+ Adapter 15b3 0080 ConnectX-3 Pro 10 GbE Dual Port SFP+ Adapter 193d 1002 520F-B 1009 MT27530 Family 100a MT27531 Family 100b MT27540 Family 100c MT27541 Family 100d MT27550 Family 100e MT27551 Family 100f MT27560 Family 1010 MT27561 Family 1011 MT27600 [Connect-IB] 1012 MT27600 Family [Connect-IB Virtual Function] 1013 MT27700 Family [ConnectX-4] 1014 04f7 PCIe3 2-port 100 GbE (NIC and RoCE) QSFP28 Adapter for Power 15b3 0003 Mellanox Technologies ConnectX-4 Stand-up single-port 40GbE MCX413A-BCAT 15b3 0005 Mellanox Technologies ConnectX-4 Stand-up single-port 40GbE MCX415A-BCAT 15b3 0006 MCX416A-BCAT, ConnectX-4 EN, 40/56GbE 2P, PCIe3.0 x16 15b3 0007 ConnectX-4 EN network interface card, 40/56GbE dual-port QSFP28, PCIe3.0 x16, tall bracket 15b3 0008 ConnectX-4 Stand-up dual-port 100GbE MCX416A-CCAT 15b3 0033 ConnectX-4 VPI IB EDR/100 GbE Single Port QSFP28 Adapter 15b3 0034 ConnectX-4 VPI IB EDR/100 GbE Dual Port QSFP28 Adapter 15b3 0050 ConnectX-4 100 GbE Dual Port QSFP28 Adapter 1014 MT27700 Family [ConnectX-4 Virtual Function] 1015 MT27710 Family [ConnectX-4 Lx] 15b3 0001 ConnectX-4 Lx EN network interface card, 25GbE single-port SFP28, PCIe3.0 x8, tall bracket, ROHS R6 15b3 0003 Stand-up ConnectX-4 Lx EN, 25GbE dual-port SFP28, PCIe3.0 x8, MCX4121A-ACAT 15b3 0004 ConnectX-4 Lx Stand-up dual-port 10GbE MCX4121A-XCAT 15b3 0005 Mellanox Technologies ConnectX-4 Lx Stand-up single-port 40GbE MCX4131A-BCAT 15b3 0020 MCX4411A-ACQN, ConnectX-4 Lx EN OCP, 1x25Gb 15b3 0021 MCX4421A-ACQN ConnectX-4 Lx EN OCP,2x25G 15b3 0025 ConnectX-4 Lx 25 GbE Dual Port SFP28 rNDC 193d 100a 620F-B 1016 MT27710 Family [ConnectX-4 Lx Virtual Function] 1017 MT27800 Family [ConnectX-5] 15b3 0006 ConnectX®-5 EN network interface card, 100GbE single-port QSFP28, PCIe3.0 x16, tall bracket; MCX515A-CCAT 15b3 0007 Mellanox ConnectX®-5 MCX516A-CCAT 15b3 0020 ConnectX®-5 EN network interface card, 10/25GbE dual-port SFP28, PCIe3.0 x8, tall bracket ; MCX512A-ACAT 15b3 0068 ConnectX®-5 EN network interface card for OCP2.0, Type 1, with host management, 25GbE dual-port SFP28, PCIe3.0 x8, no bracket Halogen free ; MCX542B-ACAN 1018 MT27800 Family [ConnectX-5 Virtual Function] 1019 MT28800 Family [ConnectX-5 Ex] 15b3 0008 ConnectX-5 Ex EN network interface card, 100GbE dual-port QSFP28, PCIe4.0 x16, tall bracket; MCX516A-CDAT 15b3 0125 Tencent ConnectX-5 EN Ex network interface card for OCP 3.0, with host management, 50GbE Dual-port QSFP28, PCIe4.0 x16, Thumbscrew (pull-tab) bracket 101a MT28800 Family [ConnectX-5 Ex Virtual Function] 101b MT28908 Family [ConnectX-6] 101c MT28908 Family [ConnectX-6 Virtual Function] 101d MT2892 Family [ConnectX-6 Dx] 101e ConnectX Family mlx5Gen Virtual Function 101f MT2894 Family [ConnectX-6 Lx] 1020 MT28860 1021 MT2910 Family [ConnectX-7] 1974 MT28800 Family [ConnectX-5 PCIe Bridge] 1975 MT416842 Family [BlueField SoC PCIe Bridge] 1976 MT28908 Family [ConnectX-6 PCIe Bridge] 1977 MT2892 Family [ConnectX-6 Dx PCIe Bridge] 1978 MT42822 Family [BlueField-2 SoC PCIe Bridge] 1979 MT2910 Family [ConnectX-7 PCIe Bridge] 197a MT43162 Family [BlueField-3 Lx SoC PCIe Bridge] 197b MT43244 Family [BlueField-3 SoC PCIe Bridge] 4117 MT27712A0-FDCF-AE 1bd4 0039 SN10XMP2P25 1bd4 003a 25G SFP28 SP EO251FM9 Adapter 1bd4 004d SN10XMP2P25,YZPC-01191-101 5274 MT21108 InfiniBridge 5a44 MT23108 InfiniHost 5a45 MT23108 [Infinihost HCA Flash Recovery] 5a46 MT23108 PCI Bridge 5e8c MT24204 [InfiniHost III Lx HCA] 5e8d MT25204 [InfiniHost III Lx HCA Flash Recovery] 6001 NVMe SNAP Controller 6274 MT25204 [InfiniHost III Lx HCA] 6278 MT25208 InfiniHost III Ex (Tavor compatibility mode) 6279 MT25208 [InfiniHost III Ex HCA Flash Recovery] 6282 MT25208 [InfiniHost III Ex] 6340 MT25408A0-FCC-SI ConnectX, Dual Port 10Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 2.5GT/s Interface 634a MT25408A0-FCC-DI ConnectX, Dual Port 20Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 2.5GT/s Interface 1014 1014 4X InfiniBand DDR Expansion Card (CFFh) for IBM BladeCenter 6368 MT25448 [ConnectX EN 10GigE, PCIe 2.0 2.5GT/s] 6372 MT25458 ConnectX EN 10GBASE-T PCIe 2.5 GT/s 6732 MT25408A0-FCC-GI ConnectX, Dual Port 20Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 5.0GT/s Interface 673c MT25408A0-FCC-QI ConnectX, Dual Port 40Gb/s InfiniBand / 10GigE Adapter IC with PCIe 2.0 x8 5.0GT/s Interface 1014 0415 PCIe2 2-port 4X InfiniBand QDR Adapter for Power 1014 0487 GX++ 1-port 4X IB QDR Adapter for Power 795 103c 1782 4X QDR InfiniBand Mezzanine HCA for c-Class BladeSystem 15b3 0021 HP InfiniBand 4X QDR CX-2 PCI-e G2 Dual Port HCA 6746 MT26438 [ConnectX VPI PCIe 2.0 5GT/s - IB QDR / 10GigE Virtualization+] 103c 1781 NC543i 1-port 4x QDR IB/Flex-10 10Gb Adapter 103c 3349 NC543i 2-port 4xQDR IB/10Gb Adapter 6750 MT26448 [ConnectX EN 10GigE, PCIe 2.0 5GT/s] 1014 0416 PCIe2 2-Port 10GbE RoCE SFP+ Adapter 1014 0461 PCIe2 2-Port 10GbE RoCE SR Adapter 15b3 0018 HP 10 GbE PCI-e G2 Dual-Port NIC (rev C1) # FC EC26 15b3 6572 IBM Flex System EN4132 2-port 10Gb RoCE Adapter 675a MT26458 ConnectX EN 10GBASE-T PCIe Gen2 5.0 GT/s 6764 MT26468 [ConnectX EN 10GigE, PCIe 2.0 5GT/s Virtualization+] 103c 3313 NC542m Dual Port Flex-10 10GbE BLc Adapter 676e MT26478 [ConnectX EN 40GigE, PCIe 2.0 5GT/s] 6778 MT26488 [ConnectX VPI PCIe 2.0 5GT/s - IB DDR / 10GigE Virtualization+] 7101 NPS-400 configuration and management interface 7102 NPS-400 network interface PF 7103 NPS-400 network interface VF 7121 NPS-600 configuration and management interface 7122 NPS-600 network interface PF 7123 NPS-600 network interface VF 8200 Innova-2 Flex Shell Logic a2d0 MT416842 BlueField SoC Crypto enabled a2d1 MT416842 BlueField SoC Crypto disabled a2d2 MT416842 BlueField integrated ConnectX-5 network controller a2d3 MT416842 BlueField multicore SoC family VF a2d4 MT42822 BlueField-2 SoC Crypto enabled a2d5 MT42822 BlueField-2 SoC Crypto disabled a2d6 MT42822 BlueField-2 integrated ConnectX-6 Dx network controller a2d7 MT43162 BlueField-3 Lx SoC Crypto enabled a2d8 MT43162 BlueField-3 Lx SoC Crypto disabled a2d9 MT43162 BlueField-3 Lx integrated ConnectX-7 network controller a2da MT43244 BlueField-3 SoC Crypto enabled a2db MT43244 BlueField-3 SoC Crypto disabled a2dc MT43244 BlueField-3 integrated ConnectX-7 network controller c2d2 MT416842 BlueField SoC management interfac c2d3 MT42822 BlueField-2 SoC Management Interface c2d4 MT43162 BlueField-3 Lx SoC Management Interface c2d5 MT43244 BlueField-3 SoC Management Interface # SwitchX-2, 40GbE switch c738 MT51136 c739 MT51136 GW c838 MT52236 c839 MT52236 router caf1 ConnectX-4 CAPI Function # Spectrum, 100GbE Switch cb84 MT52100 cf08 Switch-IB2 cf6c MT53100 [Spectrum-2] cf70 Spectrum-3 cf80 Spectrum-4 d2f0 Quantum HDR (200Gbps) switch d2f2 Quantum-2 NDR (400Gbps) switch 15b4 CCI/TRIAD 15b5 Cimetrics Inc 15b6 Texas Memory Systems Inc 0001 XP15 DSP Accelerator 0002 XP30 DSP Accelerator 0003 XP00 Data Acquisition Device 0004 XP35 DSP Accelerator 0007 XP100 DSP Accelerator [XP100-T0] 0008 XP100 DSP Accelerator [XP100-T1] 0009 XP100 DSP Accelerator [XP100-E0] 000a XP100 DSP Accelerator [XP100-E1] 000e XP100 DSP Accelerator [XP100-0] 000f XP100 DSP Accelerator [XP100-1] 0010 XP100 DSP Accelerator [XP100-P0] 0011 XP100 DSP Accelerator [XP100-P1] 0012 XP100 DSP Accelerator [XP100-P2] 0013 XP100 DSP Accelerator [XP100-P3] 0014 RamSan Flash SSD 0015 ZBox 15b7 Sandisk Corp 2001 Skyhawk Series NVME SSD 5001 WD Black NVMe SSD 5002 WD Black 2018 / PC SN720 NVMe SSD 5003 WD Black 2018 / PC SN520 NVMe SSD 5004 PC SN520 NVMe SSD 5005 PC SN520 NVMe SSD 5006 WD Black 2019/PC SN750 NVMe SSD 5009 WD Blue SN550 NVMe SSD 15b7 5009 WD Blue SN550 NVMe SSD 500d WD Ultrastar DC SN340 NVMe SSD 15b8 ADDI-DATA GmbH 1001 APCI1516 SP controller (16 digi outputs) 1003 APCI1032 SP controller (32 digi inputs w/ opto coupler) 1004 APCI2032 SP controller (32 digi outputs) 1005 APCI2200 SP controller (8/16 digi outputs (relay)) 1006 APCI1564 SP controller (32 digi ins, 32 digi outs) 100a APCI1696 SP controller (96 TTL I/Os) 3001 APCI3501 SP controller (analog output board) 300f APCI3600 Noise and vibration measurement board 7001 APCI7420 2-port Serial Controller 7002 APCI7300 Serial Controller 15b9 Maestro Digital Communications 15ba Impacct Technology Corp 15bb Portwell Inc 15bc Agilent Technologies 0100 HPFC-5600 Tachyon DX2+ FC 0103 QX4 PCI Express quad 4-gigabit Fibre Channel controller 0105 Celerity FC-44XS/FC-42XS/FC-41XS/FC-44ES/FC-42ES/FC-41ES 117c 0022 Celerity FC-42XS Fibre Channel Adapter 117c 0025 Celerity FC-44ES Fibre Channel Adapter 117c 0026 Celerity FC-42ES Fibre Channel Adapter 1100 E8001-66442 PCI Express CIC 2922 64 Bit, 133MHz PCI-X Exerciser & Protocol Checker 2928 64 Bit, 66MHz PCI Exerciser & Analyzer 2929 64 Bit, 133MHz PCI-X Analyzer & Exerciser 15bd DFI Inc 15be Sola Electronics 15bf High Tech Computer Corp (HTC) 15c0 BVM Ltd 15c1 Quantel 15c2 Newer Technology Inc 15c3 Taiwan Mycomp Co Ltd 15c4 EVSX Inc 15c5 Procomp Informatics Ltd 8010 1394b - 1394 Firewire 3-Port Host Adapter Card 15c6 Technical University of Budapest 15c7 Tateyama System Laboratory Co Ltd 0349 Tateyama C-PCI PLC/NC card Rev.01A 15c8 Penta Media Co Ltd 15c9 Serome Technology Inc 15ca Bitboys OY 15cb AG Electronics Ltd 15cc Hotrail Inc 15cd Dreamtech Co Ltd 15ce Genrad Inc 15cf Hilscher GmbH 0000 CIFX 50E-DP(M/S) 15d1 Infineon Technologies AG 15d2 FIC (First International Computer Inc) 15d3 NDS Technologies Israel Ltd 15d4 Iwill Corp 15d5 Tatung Co 15d6 Entridia Corp 15d7 Rockwell-Collins Inc 15d8 Cybernetics Technology Co Ltd 15d9 Super Micro Computer Inc 15da Cyberfirm Inc 15db Applied Computing Systems Inc 15dc Litronic Inc 0001 Argus 300 PCI Cryptography Module 15dd Sigmatel Inc 15de Malleable Technologies Inc 15df Infinilink Corp 15e0 Cacheflow Inc 15e1 Voice Technologies Group Inc 15e2 Quicknet Technologies Inc 0500 PhoneJack-PCI 15e3 Networth Technologies Inc 15e4 VSN Systemen BV 15e5 Valley technologies Inc 15e6 Agere Inc 15e7 Get Engineering Corp 15e8 National Datacomm Corp 0130 Wireless PCI Card 0131 NCP130A2 Wireless NIC 15e9 Pacific Digital Corp 1841 ADMA-100 DiscStaQ ATA Controller 15ea Tokyo Denshi Sekei K.K. 15eb DResearch Digital Media Systems GmbH 15ec Beckhoff GmbH 3101 FC3101 Profibus DP 1 Channel PCI 5102 FC5102 15ed Macrolink Inc 15ee In Win Development Inc 15ef Intelligent Paradigm Inc 15f0 B-Tree Systems Inc 15f1 Times N Systems Inc 15f2 Diagnostic Instruments Inc 15f3 Digitmedia Corp 15f4 Valuesoft 15f5 Power Micro Research 15f6 Extreme Packet Device Inc 15f7 Banctec 15f8 Koga Electronics Co 15f9 Zenith Electronics Corp 15fa J.P. Axzam Corp 15fb Zilog Inc 15fc Techsan Electronics Co Ltd 15fd N-CUBED.NET 15fe Kinpo Electronics Inc 15ff Fastpoint Technologies Inc 1600 Northrop Grumman - Canada Ltd 1601 Tenta Technology 1602 Prosys-tec Inc 1603 Nokia Wireless Communications 1604 Central System Research Co Ltd 1605 Pairgain Technologies 1606 Europop AG 1607 Lava Semiconductor Manufacturing Inc 1608 Automated Wagering International 1609 Scimetric Instruments Inc 1612 Telesynergy Research Inc. 1618 Stone Ridge Technology 0001 RDX 11 0002 HFT-01 0400 FarSync T2P (2 port X.21/V.35/V.24) 0440 FarSync T4P (4 port X.21/V.35/V.24) 0610 FarSync T1U (1 port X.21/V.35/V.24) 0620 FarSync T2U (2 port X.21/V.35/V.24) 0640 FarSync T4U (4 port X.21/V.35/V.24) 1610 FarSync TE1 (T1,E1) 2610 FarSync DSL-S1 (SHDSL) 3640 FarSync T4E (4-port X.21/V.35/V.24) 4620 FarSync T2Ue PCI Express (2-port X.21/V.35/V.24) 4640 FarSync T4Ue PCI Express (4-port X.21/V.35/V.24) 1619 FarSite Communications Ltd 0400 FarSync T2P (2 port X.21/V.35/V.24) 0440 FarSync T4P (4 port X.21/V.35/V.24) 0610 FarSync T1U (1 port X.21/V.35/V.24) 0620 FarSync T2U (2 port X.21/V.35/V.24) 0640 FarSync T4U (4 port X.21/V.35/V.24) 1610 FarSync TE1 (T1,E1) 1612 FarSync TE1 PCI Express (T1,E1) 2610 FarSync DSL-S1 (SHDSL) 3640 FarSync T4E (4-port X.21/V.35/V.24) 4620 FarSync T2Ue PCI Express (2-port X.21/V.35/V.24) 4640 FarSync T4Ue PCI Express (4-port X.21/V.35/V.24) 5621 FarSync T2Ee PCI Express (2 port X.21/V.35/V.24) 5641 FarSync T4Ee PCI Express (4 port X.21/V.35/V.24) 6620 FarSync T2U-PMC PCI Express (2 port X.21/V.35/V.24) 161f Rioworks 1621 Lynx Studio Technology, Inc. 0020 LynxTWO-A 0021 LynxTWO-B 0022 LynxTWO-C 0023 Lynx L22 0024 Lynx AES16 0025 Lynx AES16-SRC 0028 Lynx AES16e 1626 TDK Semiconductor Corp. 8410 RTL81xx Fast Ethernet 1629 Kongsberg Spacetec AS 1003 Format synchronizer v3.0 1006 Format synchronizer, model 10500 1007 Format synchronizer, model 21000 2002 Fast Universal Data Output 3100 IO31000 Frame Synchronizer and I/O 3200 IO32000 Frame Synchronizer and I/O 4002 High Rate Demodulator 5001 High Rate FEC 6001 High Rate Demodulator and FEC 1631 Packard Bell B.V. 1638 Standard Microsystems Corp [SMC] 1100 SMC2602W EZConnect / Addtron AWA-100 / Eumitcom PCI WL11000 163c Smart Link Ltd. 3052 SmartLink SmartPCI562 56K Modem 5449 SmartPCI561 Modem 1641 MKNet Corp. 1642 Bitland(ShenZhen) Information Technology Co., Ltd. # nee Brocade Communications Systems, Inc. 1657 Cavium QLogic 0013 425/825/42B/82B 4Gbps/8Gbps PCIe dual port FC HBA 103c 1742 82B 8Gbps dual port FC HBA 103c 1744 42B 4Gbps dual port FC HBA 1657 0014 425/825 4Gbps/8Gbps PCIe dual port FC HBA 0014 1010/1020/1007/1741 10Gbps CNA 1657 0014 1010/1020/1007/1741 10Gbps CNA - FCOE 1657 0015 1010/1020/1007/1741 10Gbps CNA - LL 0017 415/815/41B/81B 4Gbps/8Gbps PCIe single port FC HBA 103c 1741 41B 4Gbps single port FC HBA 103c 1743 81B 8Gbps single port FC HBA 1657 0014 415/815 4Gbps/8Gbps single port PCIe FC HBA 0021 804 8Gbps FC HBA for HP Bladesystem c-class 0022 BR-1860 Fabric Adapter 1657 0022 10Gbps CNA - FCOE 1657 0023 10Gbps CNA - LL 1657 0024 16Gbps FC HBA # Mezz card for IBM 0023 1867/1869 16Gbps FC HBA # Same Device_ID used for 410 (1port) and 420 (2 port) HBAs. 0646 400 4Gbps PCIe FC HBA 165a Epix Inc c100 PIXCI(R) CL1 Camera Link Video Capture Board [custom QL5232] d200 PIXCI(R) D2X Digital Video Capture Board [custom QL5232] d300 PIXCI(R) D3X Digital Video Capture Board [custom QL5232] eb01 PIXCI(R) EB1 PCI Camera Link Video Capture Board # Gidel Reconfigurable Computing 165c Gidel Ltd. 5361 PROCStarII60-1 5362 PROCStarII60-2 5364 PROCStarII60-4 5435 ProcSparkII 5661 ProcE60 56e1 ProcE180 5911 ProcStarIII110-1 5912 ProcStarIII110-2 5913 ProcStarIII110-3 5914 ProcStarIII110-4 5921 ProcStarIII150-1 5922 ProcStarIII150-2 5923 ProcStarIII150-3 5924 ProcStarIII150-4 5931 ProcStarIII260-1 5932 ProcStarIII260-2 5933 ProcStarIII260-3 5934 ProcStarIII260-4 5941 ProcStarIII340-1 5942 ProcStarIII340-2 5943 ProcStarIII340-3 5944 ProcStarIII340-4 5a01 ProceIII80 5a11 ProceIII110 5a21 ProceIII150 5a31 ProceIII260 5a41 ProceIII340 5b51 ProceIV360 5b61 ProceIV530 5b71 ProceIV820 5c01 ProcStarIV80-1 5c02 ProcStarIV80-2 5c03 ProcStarIV80-3 5c04 ProcStarIV80-4 5c11 ProcStarIV110-1 5c12 ProcStarIV110-2 5c13 ProcStarIV110-3 5c14 ProcStarIV110-4 5c51 ProcStarIV360-1 5c52 ProcStarIV360-2 5c53 ProcStarIV360-3 5c54 ProcStarIV360-4 5c61 ProcStarIV530-1 5c62 ProcStarIV530-2 5c63 ProcStarIV530-3 5c64 ProcStarIV530-4 5c71 ProcStarIV820-1 5c72 ProcStarIV820-2 5c73 ProcStarIV820-3 5c74 ProcStarIV820-4 5d01 Proc10480 5d11 Proc104110 5f01 ProceV_A3 5f11 ProceV_A7 5f21 ProceV_AB 5f31 ProceV_D5 5f41 ProceV_D8 6732 Proc6M 6832 Proc12M 7101 Proc10a_27 7111 Proc10a_48 7121 Proc10a_66 7141 Proc10a_115 7181 Proc10a_27S 7191 Proc10a_48S 71a1 Proc10a_66S 71b1 Proc10A 72b1 HawkEye 73b1 Proc10s 165d Hsing Tech. Enterprise Co., Ltd. 165f Linux Media Labs, LLC 1020 LMLM4 MPEG-4 encoder 1661 Worldspace Corp. 1668 Actiontec Electronics Inc 0100 Mini-PCI bridge # Formerly SiByte, Inc. 166d Broadcom Corporation 0001 SiByte BCM1125/1125H/1250 System-on-a-Chip PCI 0002 SiByte BCM1125H/1250 System-on-a-Chip HyperTransport 0012 SiByte BCM1280/BCM1480 System-on-a-Chip PCI-X 0014 Sibyte BCM1280/BCM1480 System-on-a-Chip HyperTransport 1677 Bernecker + Rainer 104e 5LS172.6 B&R Dual CAN Interface Card 12d7 5LS172.61 B&R Dual CAN Interface Card 20ad 5ACPCI.MFIO-K01 Profibus DP / K-Feldbus / COM 1678 NetEffect 0100 NE020 10Gb Accelerated Ethernet Adapter (iWARP RNIC) 1679 Tokyo Electron Device Ltd. 3000 SD Standard host controller [Ellen] 167b ZyDAS Technology Corp. 2102 ZyDAS ZD1202 187e 3406 ZyAIR B-122 CardBus 11Mbs Wireless LAN Card 187e 3407 ZyAIR B-320 802.11b Wireless PCI Adapter 2116 ZD1212B Wireless Adapter 167d Samsung Electro-Mechanics Co., Ltd. a000 MagicLAN SWL-2210P 802.11b [Intersil ISL3874] 167e ONNTO Corp. 1681 Hercules 1682 XFX Pine Group Inc. 5701 Radeon 5700 XT Thicc III Ultra c580 Radeon RX 580 1688 CastleNet Technology Inc. 1170 WLAN 802.11b card 168a Utimaco IS GmbH 2086 CryptoServer Se-Series Hardware Security Module c040 CryptoServer CSe-Series Hardware Security Module c051 CryptoServer Se-Series Gen2 Hardware Security Module # nee Atheros Communications, Inc. 168c Qualcomm Atheros 0007 AR5210 Wireless Network Adapter [AR5000 802.11a] 1737 0007 WPC54A Wireless PC Card 1b47 0100 Harmony 8450CN Wireless CardBus Module 1b47 0110 Skyline 4030 / Harmony 8450 802.11a Wireless CardBus Adapter 8086 2501 PRO/Wireless 5000 LAN PCI Adapter Module 0011 AR5211 Wireless Network Adapter [AR5001A 802.11a] 0012 AR5211 Wireless Network Adapter [AR5001X 802.11ab] 1186 3a03 AirPro DWL-A650 Wireless Cardbus Adapter (rev.B) 1186 3a04 AirPro DWL-AB650 Multimode Wireless Cardbus Adapter 1186 3a05 AirPro DWL-AB520 Multimode Wireless PCI Adapter 126c 8031 2201 Mobile Adapter 1385 4400 WAB501 802.11ab Wireless CardBus Card 1b47 aa00 8460 802.11ab Wireless CardBus Adapter 0013 AR5212/5213/2414 Wireless Network Adapter 0308 3402 AG-100 802.11ag Wireless Cardbus Adapter 0308 3405 G-102 v2 802.11g Wireless Cardbus Adapter 0308 3408 G-170S 802.11g Wireless CardBus Adapter 0e11 00e5 NC6000/NC8000 laptop 10b7 6002 3CRWE154A72 802.11abg Cardbus Adapter 1113 d301 Philips CPWNA100 Wireless CardBus adapter 1113 ee23 SMCWPCIT-G 108Mbps Wireless PCI adapter 1154 033b Buffalo WLI-CB-AMG54 1154 034e Buffalo WLI-CB-AG108HP 802.11abg Cardbus Adapter 1186 3202 DWL-G650 (Rev B3,B5) Wireless cardbus adapter 1186 3203 AirPlus DWL-G520 Wireless PCI Adapter (rev. A) 1186 3a07 AirXpert DWL-AG650 Wireless Cardbus Adapter 1186 3a08 AirXpert DWL-AG520 Wireless PCI Adapter 1186 3a12 D-Link AirPlus DWL-G650 Wireless Cardbus Adapter(rev.C) 1186 3a13 AirPlus DWL-G520 Wireless PCI Adapter (rev. B) 1186 3a14 AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.A) 1186 3a17 D-Link AirPremier DWL-G680 Wireless Cardbus Adapter 1186 3a18 D-Link AirPremier DWL-G550 Wireless PCI Adapter 1186 3a1a WNA-2330 802.11bg Wireless CardBus Adapter 1186 3a63 D-Link AirPremier DWL-AG660 Wireless Cardbus Adapter 1186 3a93 Conceptronic C54I Wireless 801.11g PCI card 1186 3a94 Conceptronic C54C 802.11g Wireless Cardbus Adapter 1186 3ab0 Allnet ALL0281 Wireless PCI Card 1385 4600 WAG511 802.11a/b/g Dual Band Wireless PC Card 1385 4610 WAG511 802.11a/b/g Dual Band Wireless PC Card 1385 4900 WG311v1 802.11g Wireless PCI Adapter 1385 4a00 WAG311 802.11a/g Wireless PCI Adapter 1385 4b00 WG511T 108 Mbps Wireless PC Card (rev.A/B) 1385 4d00 WG311T 108 Mbps Wireless PCI Adapter (rev.A2) 1385 4f00 WG511U Double 108 Mbps Wireless PC Card 1385 5a00 WG311T (rev.A3 v1h3/v1h4) 108 Mbps Wireless PCI Adapter [AR2412] 1385 5b00 WG511T 108 Mbps Wireless PC Card (rev.C) 1385 5d00 WPN511 RangeMax Wireless PC Card 1458 e911 GN-WIAG02 1468 0403 U10H014 802.11g Cardbus Adapter 1468 0408 ThinkPad 11b/g Wireless LAN Mini PCI Adapter 14b7 0a10 8480-WD 802.11abg Cardbus Adapter 14b7 0a60 8482-WD ORiNOCO 11a/b/g Wireless PCI Adapter 14b7 aa30 8800-FC 802.11bg Cardbus Adapter 14b7 aa40 8470-WD 802.11bg Cardbus Adapter 14b9 cb21 CB21 802.11a/b/g Cardbus Adapter 1668 1026 IBM HighRate 11 a/b/g Wireless CardBus Adapter 168c 0013 AirPlus XtremeG DWL-G650 Wireless PCMCIA Adapter 168c 1025 DWL-G650B2 Wireless CardBus Adapter 168c 1027 Engenius NL-3054CB ARIES b/g CardBus Adapter 168c 1042 Ubiquiti Networks SuperRange a/b/g Cardbus Adapter 168c 1051 EZ Connect g 802.11g 108Mbps Wireless PCI Adapter 168c 2026 Netgate 5354MP ARIES a(108Mb turbo)/b/g MiniPCI Adapter 168c 2027 D-Link AirPlus DWL-G520 Wireless PCI Adapter (rev. A) 168c 2041 Engenius 5354MP Plus ARIES2 b/g MiniPCI Adapter 168c 2042 Engenius 5354MP Plus ARIES2 a/b/g MiniPCI Adapter 168c 2051 TRENDnet TEW-443PI Wireless PCI Adapter 16a5 160a BWP712 802.11bg Wireless CardBus Adapter 16ab 7302 Trust Speedshare Turbo Pro Wireless PCI Adapter 1737 0017 WPC55AG 1737 0026 WMP55AG v1.1 1737 0035 WPC55AG v1.2 802.11abg Cardbus Adapter 1737 0036 WMP55AG v1.2 802.11abg PCI Adapter 1799 3000 F6D3000 Dual-Band Wireless A+G Desktop Card 1799 3010 F6D3010 Dual-Band Wireless A+G Notebook Card 17cf 0042 Z-COMAX Highpower XG-622H (400mw) 802.11b/g mini-PCI Adapter 185f 1012 CM9 Wireless a/b/g MiniPCI Adapter 185f 2012 Wistron NeWeb WLAN a+b+g model CB9 a727 6801 3CRXJK10075 OfficeConnect Wireless 108Mbps 11g XJACK PC Card 001a AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg] 1052 168c Sweex Wireless Lan PC Card 54Mbps 1113 ee20 SMC Wireless CardBus Adapter 802.11g (SMCWCB-G EU) 1113 ee24 SMC Wireless PCI Card WPCI-G 1186 3a15 AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.D1) 1186 3a16 AirPlus G DWL-G510 Wireless PCI Adapter(rev.B) 1186 3a1c WNA-1330 Notebook Adapter 1186 3a1d WDA-1320 Desktop Adapter 1186 3a23 AirPlus G DWL-G520+A Wireless PCI Adapter 1186 3a24 AirPlus G DWL-G650+A Wireless Cardbus Adapter 1186 3b08 AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.C1) 168c 001a Belkin FD7000 168c 1052 TP-Link TL-WN510G Wireless CardBus Adapter 168c 2052 Compex Wireless 802.11 b/g MiniPCI Adapter, Rev A1 [WLM54G] 16ec 0122 Wireless PCI Adapter Model 5418 1737 0053 WPC54G v7 802.11g Wireless-G Notebook Adapter 1799 700c F5D7000 v5000 Wireless G Desktop Card 1799 701d F5D7010 v5000 Wireless G Notebook Card 17f9 0008 DX-WGNBC 802.11bg Wireless CardBus Adapter 17f9 0018 DX-WGDTC 802.11bg Wireless PCI Adapter 001b AR5413/AR5414 Wireless Network Adapter [AR5006X(S) 802.11abg] # Atheros AR5414 32-bit mini-PCI type IIIB 0777 1107 UB5 802.11a Wireless Mini PCI Adapter 0777 3002 XR2 802.11g Wireless Mini PCI Adapter 0777 3005 XR5 802.11a Wireless Mini PCI Adapter 0777 3009 XR9 900MHz Wireless Mini PCI Adapter 1154 034e WLI-CB-AG108HP 802.11abg Wireless CardBus Adapter 1186 3a19 D-Link AirPremier AG DWL-AG660 Wireless Cardbus Adapter 1186 3a22 AirPremier AG DWL-AG530 Wireless PCI Adapter (rev.B) 11ad 5001 WN5301A 802.11bg Wireless PCI Adapter 1458 e901 GN-WI01HT Wireless a/b/g MiniPCI Adapter 168c 001b Wireless LAN PCI LiteOn 168c 1062 IPN-W100CB 802.11abg Wireless CardBus Adapter 168c 2062 EnGenius EMP-8602 (400mw) or Compex WLM54AG (SuperAG) 168c 2063 EnGenius EMP-8602 (400mw) or Compex WLM54AG 17f9 000b WL-711A 802.11abg Wireless CardBus Adapter 17f9 000c WPIA-112AG 802.11abg Wireless PCI Adapter 17f9 000d PC-686X 802.11abg Wireless Mini PCI Adapter 185f 1600 DCMA-82 High Power WLAN 802.11a/b/g mini-PCI Module (Super A/G, eXtended Range, 400mW) 1948 3aba RBTBJ-AW 802.11abg Wireless Cardbus Adapter a727 6804 Wireless 11a/b/g PC Card with XJACK(r) Antenna 001c AR242x / AR542x Wireless Network Adapter (PCI-Express) 0777 3006 SRX 802.11abg Wireless ExpressCard Adapter 103c 137a AR5BXB63 (Foxconn) 802.11bg Mini PCIe NIC 106b 0086 AirPort Extreme 144f 7106 WLL3140 (Toshiba PA3501U-1MPC) 802.11bg Wireless Mini PCIe Card 144f 7128 WLL3141 (Toshiba PA3613U-1MPC) 802.11bg Wireless Mini PCIe Card 1468 0428 AR5BXB63 802.11bg NIC 1468 042a AR5007EG 802.11bg NIC 147b 1033 AirPace Wi-Fi 168c 001c AR242x 802.11abg NIC (PCI Express) 168c 3061 AR5006EGS 802.11bg NIC (2.4GHz, PCI Express) 168c 3062 AR5006EXS 802.11abg NIC (2.4/5.0GHz, PCI Express) 168c 3063 AR5006EX 802.11abg NIC (2.4/5.0GHz, PCI Express) 168c 3065 AR5006EG 802.11bg NIC (2.4GHz, PCI Express) 168c 3067 AR242x 802.11abg Wireless PCI Express Adapter (rev 01) 1a3b 1026 AW-GE780 802.11bg Wireless Mini PCIe Card 001d AR2417 Wireless Network Adapter [AR5007G 802.11bg] 1799 720b F5D7000 v8000 Wireless G Desktop Card 1799 721b F5D7010 v8000 Wireless G Notebook Card # the name AR5005VL is used for some AR5513 based designs 0020 AR5513 802.11abg Wireless NIC 0308 3407 M-102 802.11g Wireless Cardbus Adapter 1186 3a67 DWL-G650M Super G MIMO Wireless Notebook Adapter 1186 3a68 DWL-G520M Wireless 108G MIMO Desktop Adapter 187e 340e M-302 802.11g Wireless PCI Adapter 1976 2003 TEW-601PC 802.11g Wireless CardBus Adapter 0023 AR5416 Wireless Network Adapter [AR5008 802.11(a)bgn] 0308 340b NWD-170N 802.11bgn Wireless CardBus Adapter 1154 0365 Buffalo WLP-CB-AG300 802.11abgn Cardbus Adapter 1154 0367 WLI-CB-AG301N 802.11abgn Wireless CardBus Adapter 1186 3a6a DWA-642 802.11n RangeBooster N CardBus Adapter 1186 3a6b DWA-547 802.11n RangeBooster N 650 DeskTop Adapter 1186 3a6d DWA-552 802.11n Xtreme N Desktop Adapter (rev A1) 1186 3a76 DWA-645 802.11n RangeBooster N 650 Notebook Adapter (rev A1) 1737 0059 WPC300N v2 Wireless-N Notebook Adapter 1737 0069 WPC100 v1 802.11n RangePlus Wireless Notebook Adapter 1737 0072 WMP110 v1 802.11n RangePlus Wireless PCI Adapter 1799 8011 F5D8011 v1 802.11n N1 Wireless Notebook Card 187e 3411 NWD-370N 802.11n Wireless PCI Adapter 1976 2008 TEW-621PC 802.11bgn Wireless CardBus Adapter 0024 AR5418 Wireless Network Adapter [AR5008E 802.11(a)bgn] (PCI-Express) 106b 0087 AirPort Extreme 1186 3a70 DWA-556 Xtreme N PCI Express Desktop Adapter 0027 AR9160 Wireless Network Adapter [AR9001 802.11(a)bgn] 0777 4082 SR71-A 802.11abgn Wireless Mini PCI Adapter 0029 AR922X Wireless Network Adapter 0777 4005 SR71-15 802.11an Mini PCI Adapter 1186 3a7a DWA-552 802.11n Xtreme N Desktop Adapter (rev A2) 1186 3a7d DWA-552 802.11n Xtreme N Desktop Adapter (rev A3) 168c 0029 AR922X Wireless Network Adapter 168c 2096 Compex WLM200NX / Wistron DNMA-92 002a AR928X Wireless Network Adapter (PCI-Express) 0777 4f05 SR71-X 802.11abgn Wireless ExpressCard Adapter [AR9280] 103c 3041 AR5BHB92-H 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] 103c 3042 AzureWave AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] 105b e006 T77H053.00 802.11bgn Wireless Mini PCIe Card [AR9281] 105b e01f T77H047.31 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] 106b 008f AirPort Extreme 11ad 6600 WN6600A 802.11bgn Wireless Mini PCIe Card [AR9281] 144f 7141 WLL6080 802.11bgn Wireless Mini PCIe Card [AR9281] 168c 0203 DW1525 802.11abgn WLAN PCIe Card [AR9280] 1a32 0303 EM303 802.11bgn Wireless Mini PCIe Card [AR9281] 1a32 0306 EM306 802.11bgn Wireless Half-size Mini PCIe Card [AR9283] 1a3b 1067 AW-NE771 802.11bgn Wireless Mini PCIe Card [AR9281] 1a3b 1071 AW-NE772 802.11abgn Wireless Mini PCIe Card [AR9280] 1a3b 1081 AW-NE773 802.11abgn Wireless Half-size Mini PCIe Card [AR9280] 002b AR9285 Wireless Network Adapter (PCI-Express) 1028 0204 Wireless 1502 802.11bgn Half-size Mini PCIe Card 1028 0205 Wireless 1702 802.11bgn Half-size Mini PCIe Card [AR9002WB-1NGCD] 103c 303f U98Z062.10 802.11bgn Wireless Half-size Mini PCIe Card 103c 3040 U98Z062.12 802.11bgn Wireless Half-size Mini PCIe Card 105b e017 T77H126.00 802.11bgn Wireless Half-size Mini PCIe Card 105b e023 T77H121.04 802.11bgn Wireless Half-size Mini PCIe Card 105b e025 T77H121.05 802.11bgn Wireless Half-size Mini PCIe Card 1113 e811 WN7811A (Toshiba PA3722U-1MPC) 802.11bgn Wireless Half-size Mini PCIe Card 185f 30af DNXA-95 802.11bgn Wireless Half-size Mini PCIe Card 1931 0023 Option GTM67x PCIe WiFi Adapter 1a3b 1089 AW-NE785 / AW-NE785H 802.11bgn Wireless Full or Half-size Mini PCIe Card 1a3b 2c37 AW-NB037H 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] 1b9a 0401 XW204E 802.11bgn Wireless Half-size Mini PCIe Card 1b9a 0c03 WB214E 802.11bgn Wireless Half-size Mini PCIe Card [AR9002WB-1NGCD] 002c AR2427 802.11bg Wireless Network Adapter (PCI-Express) 002d AR9227 Wireless Network Adapter 002e AR9287 Wireless Network Adapter (PCI-Express) 105b e034 T77H167.00 0030 AR93xx Wireless Network Adapter 103c 1627 AR9380/HB112 802.11abgn 3×3 Wi-Fi Adapter 106b 009a AirPort Extreme 1186 3a7e DWA-566 Wireless N 300 Dual Band PCIe Desktop Adapter 1a56 2000 Killer Wireless-N 1102 Half-size Mini PCIe Card [AR9382] 1a56 2001 Killer Wireless-N 1103 Half-size Mini PCIe Card [AR9380] 0032 AR9485 Wireless Network Adapter 1028 0208 Wireless 1506 WLAN Half Mini-Card 103c 1838 AR9485/HB125 802.11bgn 1×1 Wi-Fi Adapter 105b e044 Unex DHXA-225 144d 410e AR9485WB-EG 802.11b/g/n mini-PCIe card on a series 3 laptop 1a3b 1186 AW-NE186H 0033 AR958x 802.11abgn Wireless Network Adapter 168c a120 AR9582 802.11a/n WLAN Mini-PCIe Adapter 0034 AR9462 Wireless Network Adapter 1028 020b Wireless 1601 802.11abgn Adapter 1028 0300 Wireless 1802 802.11abgn Adapter 1a56 2003 Killer Wireless-N 1202 Half-size Mini PCIe Card 0036 QCA9565 / AR9565 Wireless Network Adapter 1028 020e Vostro 3470 0037 AR9485 Wireless Network Adapter # Also used as Gigabyte GC-WB150 on a PCIe-to-mini-PCIe converter 1a3b 2100 AW-NB100H 802.11n Wireless Mini PCIe Card 003c QCA986x/988x 802.11ac Wireless Network Adapter 003e QCA6174 802.11ac Wireless Network Adapter 1a56 143a Killer 1435 Wireless-AC 1a56 1525 Killer N1525 Wireless-AC 0040 QCA9980/9990 802.11ac Wireless Network Adapter 0041 QCA6164 802.11ac Wireless Network Adapter 0042 QCA9377 802.11ac Wireless Network Adapter 11ad 08a6 Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter # compatible with Lenovo's BIOS lock 17aa 0901 Qualcomm Atheros QCA9377 Wireless Network Adapter 0046 QCA9984 802.11ac Wave 2 Wireless Network Adapter 0050 QCA9887 802.11ac Wireless Network Adapter 0207 AR5210 Wireless Network Adapter [AR5000 802.11a] 1014 AR5212 802.11abg NIC 1014 058a ThinkPad 11a/b/g Wireless LAN Mini Express Adapter (AR5BXB6) 9013 AR5002X Wireless Network Adapter ff19 AR5006X Wireless Network Adapter ff1b AR2425 Wireless Network Adapter [AR5007EG 802.11bg] ff1c AR5008 Wireless Network Adapter ff1d AR922x Wireless Network Adapter # Found in "AVM Fritz!Box FON WLAN 7270v3" 168c ee1c AR9220-AC1A [AVM Fritz!Box FON WLAN 7270 v3] 1695 EPoX Computer Co., Ltd. 169c Netcell Corporation 0044 Revolution Storage Processing Card # The right ID is 196d, but they got it nibble-swapped in 2202. 169d Club-3D VB (Wrong ID) 16a5 Tekram Technology Co.,Ltd. 16ab Global Sun Technology Inc 1100 GL24110P 1101 PLX9052 PCMCIA-to-PCI Wireless LAN 1102 PCMCIA-to-PCI Wireless Network Bridge 8501 WL-8305 Wireless LAN PCI Adapter 16ae SafeNet Inc 0001 SafeXcel 1140 000a SafeXcel 1841 1141 SafeXcel 1141 # misused vendor ID 0001 0001 0001 SafeXcel 1141 v. 1.1 1841 SafeXcel 1842 16af SparkLAN Communications, Inc. 16b4 Aspex Semiconductor Ltd 16b8 Sonnet Technologies, Inc. 16be Creatix Polymedia GmbH 16c3 Synopsys, Inc. abcd DWC_usb3 / PCIe bridge abce DWC_usb3 abcf DWC_usb31 edda EPMockUp 16c6 Micrel-Kendin 8695 Centaur KS8695 ARM processor 8842 KSZ8842-PMQL 2-Port Ethernet Switch 16c8 Octasic Inc. 16c9 EONIC B.V. The Netherlands 16ca CENATEK Inc 0001 Rocket Drive DL # nee Innocore Gaming Ltd., nee Densitron Gaming Ltd., a division of Densitron Technologies 16cd Advantech Co. Ltd 0101 DirectPCI SRAM for DPX-11x series 0102 DirectPCI SRAM for DPX-S/C/E-series 0103 DirectPCI ROM for DPX-11x series 0104 DirectPCI ROM for DPX-S/C/E-series 0105 DirectPCI I/O for DPX-114/DPX-115 0106 DirectPCI I/O for DPX-116 0107 DirectPCI I/O for DPX-116U 0108 DirectPCI I/O for DPX-117 0109 DirectPCI I/O for DPX-112 010a DirectPCI I/O for DPX-C/E-series 010b DirectPCI I/O for DPX-S series 16ce Roland Corp. 16d5 Acromag, Inc. 0504 PMC-DX504 Reconfigurable FPGA with LVDS I/O 0520 PMC520 Serial Communication, 232 Octal 0521 PMC521 Serial Communication, 422/485 Octal 1020 PMC-AX1020 Reconfigurable FPGA with A/D & D/A 1065 PMC-AX1065 Reconfigurable FPGA with A/D & D/A 2004 PMC-DX2004 Reconfigurable FPGA with LVDS I/O 2020 PMC-AX2020 Reconfigurable FPGA with A/D & D/A 2065 PMC-AX2065 Reconfigurable FPGA with A/D & D/A 3020 PMC-AX3020 Reconfigurable FPGA with A/D & D/A 3065 PMC-AX3065 Reconfigurable FPGA with A/D & D/A 4243 PMC424, APC424, AcPC424 Digital I/O and Counter Timer Module 4248 PMC464, APC464, AcPC464 Digital I/O and Counter Timer Module 424b PMC-DX2002 Reconfigurable FPGA with Differential I/O 4253 PMC-DX503 Reconfigurable FPGA with TTL and Differential I/O 4312 PMC-CX1002 Reconfigurable Conduction-Cooled FPGA Virtex-II with Differential I/O 4313 PMC-CX1003 Reconfigurable Conduction-Cooled FPGA Virtex-II with CMOS and Differential I/O 4322 PMC-CX2002 Reconfigurable Conduction-Cooled FPGA Virtex-II with Differential I/O 4323 PMC-CX2003 Reconfigurable Conduction-Cooled FPGA Virtex-II with CMOS and Differential I/O 4350 PMC-DX501 Reconfigurable Digital I/O Module 4353 PMC-DX2003 Reconfigurable FPGA with TTL and Differential I/O 4357 PMC-DX502 Reconfigurable Differential I/O Module 4457 PMC730, APC730, AcPC730 Multifunction Module 4471 XMC730 Multi-function I/O module with front I/O 4473 XMC730CC Multi-function I/O module with rear I/O Conduction-cooled 464d PMC408 32-Channel Digital Input/Output Module 4850 PMC220-16 12-Bit Analog Output Module 4a42 PMC483, APC483, AcPC483 Counter Timer Module 4a50 PMC484, APC484, AcPC484 Counter Timer Module 4a56 PMC230 16-Bit Analog Output Module 4b47 PMC330, APC330, AcPC330 Analog Input Module, 16-bit A/D 4c40 PMC-LX40 Reconfigurable Virtex-4 FPGA with plug-in I/O 4c60 PMC-LX60 Reconfigurable Virtex-4 FPGA with plug-in I/O 4d4d PMC341, APC341, AcPC341 Analog Input Module, Simultaneous Sample & Hold 4d4e PMC482, APC482, AcPC482 Counter Timer Board 524d PMC-DX2001 Reconfigurable FPGA with TTL I/O 5335 PMC-SX35 Reconfigurable Virtex-4 FPGA with plug-in I/O 5456 PMC470 48-Channel Digital Input/Output Module 5601 PMC-VLX85 Reconfigurable Virtex-5 FPGA with plug-in I/O 5602 PMC-VLX110 Reconfigurable Virtex-5 FPGA with plug-in I/O 5603 PMC-VSX95 Reconfigurable Virtex-5 FPGA with plug-in I/O 5604 PMC-VLX155 Reconfigurable Virtex-5 FPGA with plug-in I/O 5605 PMC-VFX70 Reconfigurable Virtex-5 FPGA with plug-in I/O 5606 PMC-VLX155-1M Reconfigurable Virtex-5 FPGA with plug-in I/O 5701 PMC-SLX150: Reconfigurable Spartan-6 FPGA with plug-in I/O 5702 PMC-SLX150-1M: Reconfigurable Spartan-6 FPGA with plug-in I/O 5801 XMC-VLX85 Reconfigurable Virtex-5 FPGA with plug-in I/O 5802 XMC-VLX110 Reconfigurable Virtex-5 FPGA with plug-in I/O 5803 XMC-VSX95 Reconfigurable Virtex-5 FPGA with plug-in I/O 5804 XMC-VLX155 Reconfigurable Virtex-5 FPGA with plug-in I/O 5807 XMC-SLX150: Reconfigurable Spartan-6 FPGA with plug-in I/O 5808 XMC-SLX150-1M: Reconfigurable Spartan-6 FPGA with plug-in I/O 5901 APCe8650 PCI Express IndustryPack Carrier Card 6301 XMC Module with user-configurable Virtex-6 FPGA, 240k logic cells, SFP front I/O 6302 XMC Module with user-configurable Virtex-6 FPGA, 365k logic cells, SFP front I/O 6303 XMC Module with user-configurable Virtex-6 FPGA, 240k logic cells, no front I/O 6304 XMC Module with user-configurable Virtex-6 FPGA, 365k logic cells, no front I/O 7000 XMC-7K325F: User-configurable Kintex-7 FPGA, 325k logic cells plus SFP front I/O 7001 XMC-7K410F: User-configurable Kintex-7 FPGA, 410k logic cells plus SFP front I/O 7002 XMC-7K325AX: User-Configurable Kintex-7 FPGA, 325k logic cells with AXM Plug-In I/O 7003 XMC-7K410AX: User-Configurable Kintex-7 FPGA, 410k logic cells with AXM Plug-In I/O 7004 XMC-7K325CC: User-Configurable Kintex-7 FPGA, 325k logic cells, conduction-cooled 7005 XMC-7K410CC: User-Configurable Kintex-7 FPGA, 410k logic cells, conduction-cooled 7006 XMC-7A200: User-Configurable Artix-7 FPGA, 200k logic cells with Plug-In I/O 7007 XMC-7A200CC: User-Configurable Conduction-Cooled Artix-7 FPGA, with 200k logic cells 7011 AP440-1: 32-Channel Isolated Digital Input Module 7012 AP440-2: 32-Channel Isolated Digital Input Module 7013 AP440-3: 32-Channel Isolated Digital Input Module 7014 AP445: 32-Channel Isolated Digital Output Module 7015 AP471 48-Channel TTL Level Digital Input/Output Module 7016 AP470 48-Channel TTL Level Digital Input/Output Module 7017 AP323 16-bit, 20 or 40 Channel Analog Input Module 7018 AP408: 32-Channel Digital I/O Module 7019 AP341 14-bit, 16-Channel Simultaneous Conversion Analog Input Module 701a AP220-16 12-Bit, 16-Channel Analog Output Module 701b AP231-16 16-Bit, 16-Channel Analog Output Module 701c AP225 12-Bit, 16-Channel Analog Output Module with Waveform Memory 701d AP235 16-Bit, 16-Channel Analog Output Module with Waveform Memory 7021 APA7-201 Reconfigurable Artix-7 FPGA module 48 TTL channels 7022 APA7-202 Reconfigurable Artix-7 FPGA module 24 RS485 channels 7023 APA7-203 Reconfigurable Artix-7 FPGA module 24 TTL & 12 RS485 channels 7024 APA7-204 Reconfigurable Artix-7 FPGA module 24 LVDS channels 7027 AP418 16-Channel High Voltage Digital Input/Output Module 7029 AP342 14-bit, 12-Channel Isolated Simultaneous Conversion Analog Input Module 702a AP226 12-Bit, 8-Channel Isolated Analog Output Module 702b AP236 16-Bit, 8-Channel Isolated Analog Output Module 7031 AP441-1: 32-Channel Isolated Digital Input Module 7032 AP441-2: 32-Channel Isolated Digital Input Module 7033 AP441-3: 32-Channel Isolated Digital Input Module 7042 AP482 Counter Timer Module with TTL Level Input/Output 7043 AP483 Counter Timer Module with TTL Level and RS422 Input/Output 7044 AP484 Counter Timer Module with RS422 Input/Output 7051 APA7-501 Reconfigurable Artix-7 52,160 Cell FPGA module 48 TTL channels 7052 APA7-502 Reconfigurable Artix-7 52,160 Cell FPGA module 24 RS485 channels 7053 APA7-503 Reconfigurable Artix-7 52,160 Cell FPGA module 24 TTL & 12 RS485 channels 7054 APA7-504 Reconfigurable Artix-7 52,160 Cell FPGA module 24 LVDS channels 16da Advantech Co., Ltd. 0011 INES GPIB-PCI 16df PIKA Technologies Inc. 16e2 Geotest-MTS 16e3 European Space Agency 1e0f LEON2FT Processor 16e5 Intellon Corp. 6000 INT6000 Ethernet-to-Powerline Bridge [HomePlug AV] 6300 INT6300 Ethernet-to-Powerline Bridge [HomePlug AV] 16ec U.S. Robotics 00ed USR997900 0116 USR997902 10/100/1000 Mbps PCI Network Card 2f00 USR5660A (USR265660A, USR5660A-BP) 56K PCI Faxmodem 3685 Wireless Access PCI Adapter Model 022415 4320 USR997904 10/100/1000 64-bit NIC (Marvell Yukon) ab06 USR997901A 10/100 Cardbus NIC 16ed Sycron N. V. 1001 UMIO communication card 16f2 ETAS GmbH 0200 I/O board 16f2 0010 ES53xx I/O board 16f3 Jetway Information Co., Ltd. 16f4 Vweb Corp 8000 VW2010 16f6 VideoTele.com, Inc. 1702 Internet Machines Corporation (IMC) 1705 Digital First, Inc. 170b NetOctave 0100 NSP2000-SSL crypto accelerator 170c YottaYotta Inc. 1719 EZChip Technologies 1000 NPA Access Network Processor Family # Seems to be a 2nd ID for Vitesse Semiconductor 1725 Vitesse Semiconductor 7174 VSC7174 PCI/PCI-X Serial ATA Host Bus Controller 172a Accelerated Encryption 13c8 AEP SureWare Runner 1000V3 # nee Fujitsu Siemens Computers GmbH 1734 Fujitsu Technology Solutions 1735 Aten International Co. Ltd. 1737 Linksys 0029 WPG54G ver. 4 PCI Card 1032 Gigabit Network Adapter 1737 0015 EG1032 v2 Instant Gigabit Network Adapter 1737 0024 EG1032 v3 Instant Gigabit Network Adapter 1064 Gigabit Network Adapter 1737 0016 EG1064 v2 Instant Gigabit Network Adapter ab08 21x4x DEC-Tulip compatible 10/100 Ethernet ab09 21x4x DEC-Tulip compatible 10/100 Ethernet 173b Altima (nee Broadcom) 03e8 AC1000 Gigabit Ethernet 03e9 AC1001 Gigabit Ethernet 03ea AC9100 Gigabit Ethernet 173b 0001 AC1002 03eb AC1003 Gigabit Ethernet 1743 Peppercon AG 8139 ROL/F-100 Fast Ethernet Adapter with ROL 1745 ViXS Systems, Inc. 2020 XCode II Series 2100 XCode 2100 Series 1749 RLX Technologies 174b PC Partner Limited / Sapphire Technology 174d WellX Telecom SA 175c AudioScience Inc 175e Sanera Systems, Inc. 1760 TEDIA spol. s r. o. 0101 PCD-7004 Digital Bi-Directional Ports PCI Card 0102 PCD-7104 Digital Input & Output PCI Card 0121 PCT-7303A PC card with IRC counters 0122 PCT-7408A PC card with counters and timers 0123 PCT-7424 PCI card with standard counters 0141 PCA7208AL - Analog Inputs/Outputs 0142 PCA7208AS - Analog inputs/Outputs 0143 PCA7408AL - Analog Inputs/Outputs 0144 PCA7408AS - Analog Inputs/Outputs 0145 PCA-7228AL Multifunction PCI IO card 0146 PCA-7228AS Multifunction PCI IO card 0147 PCA7428AL Multifunction PCI IO card 0148 PCA7428AS Multifunction PCI IO card 0149 PCA7228EL Multifunction PCI IO card with isolated analog inputs 0150 PCA7428EL Multifunction PCI IO card with isolated analog inputs 0151 PCA7628AL - PCI card with analog inputs, counters and DIO 0152 PCA7628AS PCI card with analog inputs, outputs, counters and DIO 0161 PCA7288A PCI card with analog outputs, counters and DIO 0180 PCI1052 Communication card for MicroUnit network 0214 PCT-7424C (F0) PC card with standard counters 0215 PCT-7424C (F1) PC card with standard counters 0216 PCT-7424E (F0) PC card with standard counters 0217 PCT-7424E (F1) PC card with standard counters 0240 PCA7428CL_F0 - analog Inputs 0241 PCA7428CL_F1 - analog Inputs 0242 PCA7428CS_F0 - Analog Inputs/Outputs non isolated 0243 PCA7428CS_F1 - Analog Inputs/Outputs non isolated 0244 PCA7428CE_F0 - Analog Inputs isolated 0245 PCA7428CE_F1 - Analog Inputs isolated 0303 PCD-7006C Digital Input & Output PCI Card 0800 PCD8006 - PCIe digital Inputs/Outputs ff00 CTU CAN FD PCIe Card 1761 Pickering Interfaces Ltd 1771 InnoVISION Multimedia Ltd. 1775 General Electric 177d Cavium, Inc. 0001 Nitrox XL N1 0003 Nitrox XL N1 Lite 0004 Octeon (and older) FIPS 0005 Octeon CN38XX Network Processor Pass 3.x 0006 RoHS 0010 Nitrox XL NPX 0020 Octeon CN31XX Network Processor 0030 Octeon CN30XX Network Processor 0040 Octeon CN58XX Network Processor 0050 Octeon CN57XX Network Processor (CN54XX/CN55XX/CN56XX) 0070 Octeon CN50XX Network Processor 0080 Octeon CN52XX Network Processor 0090 Octeon II CN63XX Network Processor 0091 Octeon II CN68XX Network Processor 0092 Octeon II CN65XX Network Processor 0093 Octeon II CN61XX Network Processor 0094 Octeon Fusion CNF71XX Cell processor 0095 Octeon III CN78XX Network Processor 0096 Octeon III CN70XX Network Processor 9700 Octeon III CN73XX Network Processor 9702 CN23XX [LiquidIO II] Intelligent Adapter 177d 0003 CN2350 [LiquidIO II] 2-port 10GbE Intelligent adapter # This was changed during the production phase to 10GbE adapter. 177d 0004 CN2350 [LiquidIO II] 2-port 10GbE Intelligent adapter 177d 0005 CN2360 [LiquidIO II] 2-port 10GbE Intelligent adapter 177d 0006 CN2360 [LiquidIO II] 2-port 25GbE Intelligent adapter 177d 0007 CN2350 [LiquidIO II] 2-port 25GbE Intelligent adapter 177d 0008 CN2350 [LiquidIO II] 2-port 10GbE SFP+ Intelligent adapter 177d 0009 CN2360 [LiquidIO II] 2-port 10GbE SFP+ Intelligent adapter 177d 000a CN2350 [LiquidIO II] 2-port 10GBASE-T Intelligent adapter 177d 000b CN2360 [LiquidIO II] 2-port 10GBASE-T Intelligent adapter 9703 CN23XX [LiquidIO II] NVMe Controller 9712 CN23XX [LiquidIO II] SRIOV Virtual Function 177d 0003 CN2350 [LiquidIO II] 2-port 10GbE SRIOV Virtual Function 177d 0004 CN2350 [LiquidIO II] 2-port 10GbE SRIOV Virtual Function 177d 0005 CN2360 [LiquidIO II] 2-port 10GbE SRIOV Virtual Function 177d 0006 CN2360 [LiquidIO II] 2-port 25GbE SRIOV Virtual Function 177d 0007 CN2350 [LiquidIO II] 2-port 25GbE SRIOV Virtual Function 9713 CN23XX [LiquidIO II] NVMe SRIOV Virtual Function 9800 Octeon Fusion CNF75XX Processor a001 ThunderX MRML(Master RML Bridge to RSL devices) a002 THUNDERX PCC Bridge 177d a102 CN88XX PCC Bridge a008 THUNDERX SMMU 177d a108 CN88XX SMMU a009 THUNDERX Generic Interrupt Controller a00a THUNDERX GPIO Controller a00b THUNDERX MPI / SPI Controller a00c THUNDERX MIO-PTP Controller a00d THUNDERX MIX Network Controller a00e THUNDERX Reset Controller a00f THUNDERX UART Controller a010 THUNDERX eMMC/SD Controller a011 THUNDERX MIO-BOOT Controller a012 THUNDERX TWSI / I2C Controller a013 THUNDERX CCPI (Multi-node connect) a014 THUNDERX Voltage Regulator Module a015 THUNDERX PCIe Switch Logic Interface a016 THUNDERX Key Memory a017 THUNDERX GTI (Global System Timers) a018 THUNDERX Random Number Generator a019 THUNDERX DFA a01a THUNDERX Zip Coprocessor a01b THUNDERX xHCI USB Controller a01c THUNDERX AHCI SATA Controller 177d a11c CN88XX AHCI SATA Controller a01d THUNDERX RAID Coprocessor a01e THUNDERX Network Interface Controller a01f THUNDERX Traffic Network Switch a020 THUNDERX PEM (PCI Express Interface) a021 THUNDERX L2C (Level-2 Cache Controller) a022 THUNDERX LMC (DRAM Controller) a023 THUNDERX OCLA (On-Chip Logic Analyzer) a024 THUNDERX OSM a025 THUNDERX GSER (General Serializer/Deserializer) a026 THUNDERX BGX (Common Ethernet Interface) a027 THUNDERX IOBN a029 THUNDERX NCSI (Network Controller Sideband Interface) a02a ThunderX SGPIO (Serial GPIO controller for SATA disk lights) a02b THUNDERX SMI / MDIO Controller a02c THUNDERX DAP (Debug Access Port) a02d THUNDERX PCIERC (PCIe Root Complex) a02e ThunderX L2C-TAD (Level 2 cache tag and data) a02f THUNDERX L2C-CBC a030 THUNDERX L2C-MCI a031 THUNDERX MIO-FUS (Fuse Access Controller) a032 THUNDERX FUSF (Fuse Controller) a033 THUNDERX Random Number Generator virtual function a034 THUNDERX Network Interface Controller virtual function a035 THUNDERX Parallel Bus a036 ThunderX RAD (RAID acceleration engine) virtual function a037 THUNDERX ZIP virtual function a040 THUNDERX CPT Cryptographic Accelerator a100 THUNDERX CN88XX 48 core SoC a200 OCTEON TX CN81XX/CN80XX a300 OCTEON TX CN83XX af00 CN99xx [ThunderX2] Integrated PCI Host bridge af84 CN99xx [ThunderX2] Integrated PCI Express RP Bridge 1787 Hightech Information System Ltd. 1789 Ennyah Technologies Corp. # also used by Struck Innovative Systeme for joint developments 1796 Research Centre Juelich 0001 SIS1100 [Gigabit link] 0002 HOTlink 0003 Counter Timer 0004 CAMAC Controller 0005 PROFIBUS 0006 AMCC HOTlink 0007 LVD Cable Bus 0008 100MHz, 64bit Sequence Generator based on VirtexII 0009 double 14bit-ADC 000a SIS1100 with N110 TDC 000b double 14bit-ADC with memory 000d Synchronisation Slave 000e SIS1100-eCMC 000f TDC (GPX) 0010 PCIe Counter Timer 0011 SIS1100-e single link 0012 SIS1100-e quad link 0013 4x2.5GHz SFP to 4 lane PCIe bridge 0014 SIS1100 with GPX piggy back 0015 SIS8100 [Gigabit link, MicroTCA] 0016 SIS1100e with 4 lanes 0017 Quad 14bit, 50MHz ADC with 2.5GHz SFP 0018 SIS8300 4-lane PCI Express, Micro TCA for Physics ADC 0019 SIS SIS8300-Lx MTCA.4 Digitizer 001a 100MHz, 64bit Sequence Generator based on VirtexII 001c Quad 16bit, 150MHz ADC with 2.5GHz SFP 0030 100MHz, 64bit Sequence Generator based on Spartan6 0031 200MHz 64bit Sequence Generator based on Spartan7 # nee Techwell, Inc. 1797 Intersil Techwell 5864 TW5864 multimedia video controller 6801 TW6802 multimedia video card 6802 TW6802 multimedia other device 6810 TW6816 multimedia video controller 6811 TW6816 multimedia video controller 6812 TW6816 multimedia video controller 6813 TW6816 multimedia video controller # port 5 of 8 6814 TW6816 multimedia video controller # port 6 of 8 6815 TW6816 multimedia video controller # port 7 of 8 6816 TW6816 multimedia video controller # channel 8 of 8 6817 TW6816 multimedia video controller # Example MuniPCI-E card: http://www.commell.com.tw/product/surveillance/MPX-6864.htm 6864 TW6864 multimedia video controller 1799 Belkin 6001 F5D6001 Wireless PCI Card [Realtek RTL8180] 6020 F5D6020 v3000 Wireless PCMCIA Card [Realtek RTL8180] 6060 F5D6060 Wireless PDA Card 700f F5D7000 v7000 Wireless G Desktop Card [Realtek RTL8185] 701f F5D7010 v7000 Wireless G Notebook Card [Realtek RTL8185] 179a id Quantique 0001 Quantis PCI 16Mbps 179c Data Patterns 0557 DP-PCI-557 [PCI 1553B] 0566 DP-PCI-566 [Intelligent PCI 1553B] 1152 DP-cPCI-1152 (8-channel Isolated ADC Module) 5031 DP-CPCI-5031-Synchro Module # cPCI Carrier for Mezzanine Modules 5112 DP-cPCI-5112 [MM-Carrier] 5121 DP-CPCI-5121-IP Carrier 5211 DP-CPCI-5211-IP Carrier 5679 AGE Display Module 17a0 Genesys Logic, Inc 7163 GL9701 PCIe to PCI Bridge 8083 GL880 USB 1.1 UHCI controller 8084 GL880 USB 2.0 EHCI controller 9750 GL9750 SD Host Controller e763 GL9763E eMMC Controller 17aa Lenovo 402b Intel 82599ES 10Gb 2-port Server Adapter X520-2 17ab Phillips Components 17af Hightech Information System Ltd. 17b3 Hawking Technologies ab08 PN672TX 10/100 Ethernet 17b4 Indra Networks, Inc. 0011 WebEnhance 100 GZIP Compression Card 0012 WebEnhance 200 GZIP Compression Card 0015 WebEnhance 300 GZIP Compression Card 0016 StorCompress 300 GZIP Compression Card 0017 StorSecure 300 GZIP Compression and AES Encryption Card 17c0 Wistron Corp. 17c2 Newisys, Inc. # nee Airgo Networks, Inc. 17cb Qualcomm 0001 AGN100 802.11 a/b/g True MIMO Wireless Card 1385 5c00 WGM511 Pre-N 802.11g Wireless CardBus Adapter 1737 0045 WMP54GX v1 802.11g Wireless-G PCI Adapter with SRX 0002 AGN300 802.11 a/b/g True MIMO Wireless Card 1385 6d00 WPNT511 RangeMax 240 Mbps Wireless CardBus Adapter 1737 0054 WPC54GX4 v1 802.11g Wireless-G Notebook Adapter with SRX400 0105 MSM8998 PCIe Root Complex 0108 SM8150/SA8195P PCIe Root Complex 0300 MDM9x35 LTE Modem 0301 MDM9640 PCIe Root Complex 0302 MDM9x55 LTE Modem [Snapdragon X12] 0400 Datacenter Technologies QDF2432 PCI Express Root Port 0401 Datacenter Technologies QDF2400 PCI Express Root Port 1000 QCS405 PCIe Root Complex 17cc NetChip Technology, Inc 2280 USB 2.0 17cd Cadence Design Systems, Inc. 17cf Z-Com, Inc. 17d3 Areca Technology Corp. 1110 ARC-1110 4-Port PCI-X to SATA RAID Controller 1120 ARC-1120 8-Port PCI-X to SATA RAID Controller 1130 ARC-1130 12-Port PCI-X to SATA RAID Controller 1160 ARC-1160 16-Port PCI-X to SATA RAID Controller 1170 ARC-1170 24-Port PCI-X to SATA RAID Controller 1201 ARC-1200 2-Port PCI-Express to SATA II RAID Controller 1203 ARC-1203 2/4/8 Port PCIe 2.0 to SATA 6Gb RAID Controller 1210 ARC-1210 4-Port PCI-Express to SATA RAID Controller 1214 ARC-12x4 PCIe 2.0 to SAS/SATA 6Gb RAID Controller 17d3 1214 ARC-1214 4-Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller 17d3 1224 ARC-1224 8-Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller 17d3 1264 ARC-1264 12/16 Port PCIe 2.0 to SATA 6Gb RAID Controller 17d3 1284 ARC-1284 24 Port PCIe 2.0 to SATA 6Gb RAID Controller 1220 ARC-1220 8-Port PCI-Express to SATA RAID Controller 1222 ARC-1222 8-Port PCI-Express to SAS/SATA II RAID Controller 1230 ARC-1230 12-Port PCI-Express to SATA RAID Controller 1260 ARC-1260 16-Port PCI-Express to SATA RAID Controller 1280 ARC-1280/1280ML 24-Port PCI-Express to SATA II RAID Controller 17d3 1221 ARC-1221 8-Port PCI-Express to SATA RAID Controller 1300 ARC-1300ix-16 16-Port PCI-Express to SAS Non-RAID Host Adapter 1320 ARC-1320 8/16 Port PCIe 2.0 to SAS/SATA 6Gb Non-RAID Host Adapter 1330 ARC-1330 16 Port PCIe 3.0 to SAS/SATA 12Gb Non-RAID Host Adapter 1680 ARC-1680 series PCIe to SAS/SATA 3Gb RAID Controller 17d3 1212 ARC-1212 4-Port PCIe to SAS/SATA II RAID Controller 17d3 1222 ARC-1222 8-Port PCIe to SAS/SATA 3Gb RAID Controller 17d3 1680 ARC-1680 8/12/16/24 Port PCIe to SAS/SATA 3Gb RAID Controller 1880 ARC-188x series PCIe 2.0/3.0 to SAS/SATA 6/12Gb RAID Controller 17d3 1213 ARC-1213 4-Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller 17d3 1215 ARC-1215 4-Port PCIe 3.0 to SAS/SATA 6Gb RAID Controller 17d3 1216 ARC-1216 4-Port PCIe 3.0 to SAS/SATA 12Gb RAID Controller 17d3 1223 ARC-1223 8-Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller 17d3 1225 ARC-1225 8-Port PCIe 3.0 to SAS/SATA 6Gb RAID Controller 17d3 1226 ARC-1226 8-Port PCIe 3.0 to SAS/SATA 12Gb RAID Controller 17d3 1880 ARC-1880 8/12/16/24 Port PCIe 2.0 to SAS/SATA 6Gb RAID Controller 17d3 1882 ARC-1882 8/12/16/24 Port PCIe 3.0 to SAS/SATA 6Gb RAID Controller 17d3 1883 ARC-1883 8/12/16/24 Port PCIe 3.0 to SAS/SATA 12Gb RAID Controller 1884 ARC-1884 series PCIe 3.0 to SAS/SATA 12/6Gb RAID Controller 188a ARC-1886 series PCIe 4.0 to NVMe/SAS/SATA 16/12/6Gb RAID Controller # nee Neterion Inc., previously S2io Inc. 17d5 Exar Corp. 5731 Xframe 10-Gigabit Ethernet PCI-X 5732 Xframe II 10-Gigabit Ethernet PCI-X 2.0 5831 Xframe 10-Gigabit Ethernet PCI-X 103c 12d5 PCI-X 133MHz 10GbE SR Fiber 10a9 8020 Single Port 10-Gigabit Ethernet (PCI-X, Fiber) 10a9 8024 Single Port 10-Gigabit Ethernet (PCI-X, Fiber) 5832 Xframe II 10-Gigabit Ethernet PCI-X 2.0 103c 1337 PCI-X 266MHz 10GigE SR [AD385A] 10a9 8021 Single Port 10-Gigabit Ethernet II (PCI-X, Fiber) 17d5 6020 Xframe II SR 17d5 6021 Xframe II SR, Low Profile 17d5 6022 Xframe E SR 17d5 6420 Xframe II LR 17d5 6421 Xframe II LR, Low Profile 17d5 6422 Xframe E LR 17d5 6c20 Xframe II CX4 17d5 6c21 Xframe II CX4, Low Profile 17d5 6c22 Xframe E CX4 5833 X3100 Series 10 Gigabit Ethernet PCIe 17d5 6030 X3110 Single Port SR 17d5 6031 X3120 Dual Port SR 17d5 6430 X3110 Single Port LR 17d5 6431 X3120 Dual Port LR 17d5 7030 X3110 Single Port LRM 17d5 7031 X3120 Dual Port LRM 17d5 7430 X3110 Single Port 10GBase-T 17d5 7431 X3120 Dual Port 10GBase-T 17d5 7830 X3110 Single Port 10GBase-CR 17d5 7831 X3120 Dual Port 10GBase-CR 17db Cray Inc 0101 XT Series [Seastar] 3D Toroidal Router 17de KWorld Computer Co. Ltd. 17df Dini Group 1864 Virtex4 PCI Board w/ QL5064 Bridge [DN7000K10PCI/DN8000K10PCI/DN8000K10PSX/NOTUS] 1865 Virtex4 ASIC Emulator [DN8000K10PCIe] 1866 Virtex4 ASIC Emulator Cable Connection [DN8000K10PCI] 1867 Virtex4 ASIC Emulator Cable Connection [DN8000K10PCIe] 1868 Virtex4 ASIC Emulator [DN8000K10PCIe-8] 1900 Virtex5 PCIe ASIC Emulator [DN9000K10PCIe8T/DN9002K10PCIe8T/DN9200K10PCIe8T/DN7006K10PCIe8T/DN7406K10PCIe8T] 1901 Virtex5 PCIe ASIC Emulator Large BARs [DN9000K10PCIe8T/DN9002K10PCIe8T/DN9200K10PCIe8T/DN7006K10PCIe8T/DN7406K10PCIe8T] 1902 Virtex5 PCIe ASIC Emulator Low Power [Interceptor] 1903 Spartan6 PCIe FPGA Accelerator Board [DNBFCS12PCIe] 1904 Virtex6 PCIe ASIC Emulation Board [DNDUALV6_PCIe4] 1905 Virtex6 PCIe ASIC Emulation Board [DNV6F6PCIe] 1906 Virtex6 PCIe ASIC Emulation Board [DN2076K10] 1907 Virtex6 PCIe ASIC Emulation Board [DNV6F2PCIe] 1908 Virtex6 PCIe ASIC Emulation Board Large BARs[DNV6F2PCIe] 1909 Kintex7 PCIe FPGA Accelerator Board [DNK7F5PCIe] 190a Virtex7 PCIe ASIC Emulation Board [DNV7F1A] 190b Stratix5 PCIe ASIC Emulation Board [DNS5GXF2] 190c Virtex7 PCIe ASIC Emulation Board [DNV7F2A] 190d Virtex7 PCIe ASIC Emulation Board [DNV7F4A] 190e Virtex7 PCIe ASIC Emulation Board [DNV7F2B] 190f KintexUS PCIe MainRef Design [DNPCIE_40G_KU_LL] 1910 VirtexUS ASIC Emulation Board [DNVUF4A] 1911 VirtexUS PCIe ASIC Emulation Board [DNVU_F2PCIe] 1912 KintexUS PCIe MainRef Design [DNPCIe_40G_KU_LL_QSFP] 1913 VirtexUS ASIC Emulation Board [DNVUF1A] 1914 VirtexUS ASIC Emulation Board [DNVUF2A] 1915 Arria10 PCIe MainRef Design [DNPCIe_80G_A10_LL] 1916 VirtexUS PCIe Accelerator Board [DNVUF2_HPC_PCIe] 1917 UltrascalePlus PCIe Accelerator Board [DNPCIe_400G_VU_LL] 1918 VirtexUS+ ASIC Emulation Board [DNVUPF4A] 1919 UltrascalePlus PCIe Accelerator Board [DNPCIe_400G_VUP_HBM_LL] 1a00 Virtex6 PCIe DMA Netlist Design 1a01 Virtex6 PCIe Darklite Design [DNPCIe_HXT_10G_LL] 1a02 Virtex7 PCIe DMA Netlist Design 1a03 Kintex7 PCIe Darklite Design [DNPCIe_K7_10G_LL] 1a05 Stratix5 PCIe Darklite Design [DNS5GX_F2] 1a06 VirtexUS PCIe DMA Netlist Design 1a07 KintexUS PCIe Darklite Design [DNPCIe_40G_KU_LL] 1a08 KintexUS PCIe Darklite Design [DNPCIe_40G_KU_LL_QSFP] 1a09 Arria10 PCIe Darklite Design [DNPCIe_80G_A10_LL] 1a0a VirtexUS PCIe Darklite Design [DNVUF2_HPC_PCIe] 1a0b UltrascalePlus PCIe Darklite Design [DNPCIe_400G_VU_LL] 1a0c KintexUS PCIe DRAM Packet Capture Design [DNPCIe_40G_KU_LL] 1a0d KintexUS PCIe DRAM Packet Capture Design [DNPCIe_40G_KU_LL_2QSFP] 1a0e UltrascalePlus PCIe Darklite Design [DNPCIe_400G_VUP_HBM_LL] 17e4 Sectra AB 0001 KK671 Cardbus encryption board 0002 KK672 Cardbus encryption board # nee Entropic Communications Inc. 17e6 MaxLinear 0010 EN2010 [c.Link] MoCA Network Controller (Coax, PCI interface) 0011 EN2010 [c.Link] MoCA Network Controller (Coax, MPEG interface) 0021 EN2210 [c.Link] MoCA Network Controller (Coax) 0025 EN2510 [c.Link] MoCA Network Controller (Coax, PCIe interface) 0027 EN2710 [c.Link] MoCA 2.0 Network Controller (Coax, PCIe interface) 3700 MoCA 2.0 Network Controller (Coax, PCIe interface) 3710 MoCA 2.5 Network Controller (Coax, PCIe interface) 17ee Connect Components Ltd 17f2 Albatron Corp. 17f3 RDC Semiconductor, Inc. 1010 R1010 IDE Controller 1011 R1011 IDE Controller 1012 R1012 IDE Controller 1031 PCI/PCI-X to PCI-E Bridge # Integrated in Vortex86EX, Vortex86EX2 SoC 1070 CAN Bus Controller # Integrated in Vortex86EX, Vortex86EX2 SoCs 1331 Motion Control Interface # Found in the Vortex86EX2 SoC 1930 Hybrid Function Control Register # IGP = on-chip integrated in the MSTI-PMX-1000 (Vortex86MX). 2010 RDC M2010 VGA-compatible graphics adapter 2012 M2012/R3308 VGA-compatible graphics adapter # IGP = on-chip integrated in the Vortex86DX3. Basic 2D accel. UMA architecture. 2015 RDC M2015 VGA-compatible graphics adapter # Found in the Vortex86EX SoC 6011 R6011 ISA Bridge # Found in the Vortex86EX2 SoC 6013 R6013 ISA Bridge 6020 R6020 North Bridge 6021 R6021 Host Bridge # Found in the Vortex86DX3 SoC 6023 R6023 Host Bridge # Found in the Vortex86EX SoC 6025 R6025 Host Bridge # Found in the Vortex86EX2 SoC 6026 R6026 Host Bridge 6030 R6030 ISA Bridge 6031 R6031 ISA Bridge # Found in the Vortex86DX3 SoC 6035 R6035 ISA Bridge # Found in MSTI-PMX-1000 (Vortex86MX) SoC. 6036 R6036 ISA Bridge 6040 R6040 MAC Controller 6060 R6060 USB 1.1 Controller 6061 R6061 USB 2.0 Controller 17f7 Topdek Semiconductor Inc. 17f9 Gemtek Technology Co., Ltd 17fc IOGEAR, Inc. 17fe InProComm Inc. 2120 IPN 2120 802.11b 1737 0020 WMP11 v4 802.11b Wireless-B PCI Adapter 2220 IPN 2220 802.11g 1468 0305 T60N871 802.11g Mini PCI Wireless Adapter 1737 0029 WPC54G v4 802.11g Wireless-G Notebook Adapter 17ff Benq Corporation 1800 Qualcore Logic Inc. 1100 Nanospeed Trading Gateway 1803 ProdaSafe GmbH 1804 Ralink corp. (wrong ID) 3060 RT3060 Wireless 802.11n 1T/1R 1805 Euresys S.A. 1809 Lumanate, Inc. 180c IEI Integration Corp 1813 Ambient Technologies Inc 4000 HaM controllerless modem 16be 0001 V9x HAM Data Fax Modem 4100 HaM plus Data Fax Modem 16be 0002 V9x HAM 1394 1814 Ralink corp. 0101 Wireless PCI Adapter RT2400 / RT2460 1043 0127 WiFi-b add-on Card 1371 0010 Minitar MNW2BPCI Wireless PCI Card 1462 6828 PC11B2 (MS-6828) Wireless 11b PCI Card 0200 RT2500 802.11g PCI [PC54G2] 0201 RT2500 Wireless 802.11bg 1043 130f WL-130g 1186 3c00 DWL-G650X Wireless 11g CardBus Adapter 1371 001e CWC-854 Wireless-G CardBus Adapter 1371 001f CWM-854 Wireless-G Mini PCI Adapter 1371 0020 CWP-854 Wireless-G PCI Adapter 1458 e381 GN-WMKG 802.11b/g Wireless CardBus Adapter 1458 e931 GN-WIKG 802.11b/g mini-PCI Adapter 1462 6833 Unknown 802.11g mini-PCI Adapter 1462 6835 Wireless 11G CardBus CB54G2 1737 0032 WMP54G v4.0 PCI Adapter 1799 700a F5D7000 v2000/v3000 Wireless G Desktop Card 1799 701a F5D7010 v2000/v3000 Wireless G Notebook Card 1814 2560 RT2500 Wireless 802.11bg 182d 9073 WL-115 Wireless Network PCI Adapter 185f 22a0 CN-WF513 Wireless Cardbus Adapter 18eb 5312 WL531P IEEE 802.11g PCI Card-EU 1948 3c00 C54RC v1 Wireless 11g CardBus Adapter 1948 3c01 C54Ri v1 Wireless 11g PCI Adapter 0300 Wireless Adapter Canyon CN-WF511 0301 RT2561/RT61 802.11g PCI 1186 3c08 AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E1) 1186 3c09 DWL-G510 Rev C 13d1 abe3 miniPCI Pluscom 802.11 a/b/g 1458 e933 GN-WI01GS 1458 e934 GN-WP01GS 1462 b833 MP54G5 (MS-6833B) 1737 0055 WMP54G v4.1 1799 700e F5D7000 v6000 Wireless G Desktop Card 1799 701e F5D7010 v6000 Wireless G Notebook Card 17f9 0012 AWLC3026T 802.11g Wireless CardBus Adapter 1814 2561 EW-7108PCg/EW-7128g 0302 RT2561/RT61 rev B 802.11g 1186 3a71 DWA-510 Wireless G Desktop Adapter 1186 3c08 AirPlus G DWL-G630 Wireless Cardbus Adapter (rev.E2) 1186 3c09 AirPlus G DWL-G510 Wireless Network Adapter (Rev.C) 1462 b834 PC54G3 Wireless 11g PCI Card 1948 3c23 C54RC v2 Wireless 11g CardBus Adapter 1948 3c24 C54Ri v2 Wireless 11g PCI Adapter 0401 RT2600 802.11 MIMO 1737 0052 WPC54GR v1 802.11g Wireless-G Notebook Adapter with RangeBooster 17f9 0011 WPCR-137G 802.11bg Wireless CardBus Adapter 17f9 0016 WPIR-119GH 802.11bg Wireless Desktop Adapter 0601 RT2800 802.11n PCI 1799 801c F5D8011 v3 802.11n N1 Wireless Notebook Card 187e 3412 NWD-310N 802.11n Wireless PCI Adapter 0681 RT2890 Wireless 802.11n PCIe 1458 e939 GN-WS30N-RH 802.11bgn Mini PCIe Card 0701 RT2760 Wireless 802.11n 1T/2R 1737 0074 WMP110 v2 802.11n RangePlus Wireless PCI Adapter 0781 RT2790 Wireless 802.11n 1T/2R PCIe 1814 2790 RT2790 Wireless 802.11n 1T/2R PCIe 3060 RT3060 Wireless 802.11n 1T/1R 1186 3c04 DWA-525 Wireless N 150 Desktop Adapter (rev.A1) 3062 RT3062 Wireless 802.11n 2T/2R 3090 RT3090 Wireless 802.11n 1T/1R PCIe 13bd 1057 GN-WS32L-RH Half-size Mini PCIe Card 3091 RT3091 Wireless 802.11n 1T/2R PCIe 3092 RT3092 Wireless 802.11n 2T/2R PCIe 3290 RT3290 Wireless 802.11n 1T/1R PCIe 103c 18ec Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter 3298 RT3290 Bluetooth 103c 18ec Ralink RT3290LE 802.11bgn 1x1 Wi-Fi and Bluetooth 4.0 Combo Adapter 3592 RT3592 Wireless 802.11abgn 2T/2R PCIe 359f RT3592 PCIe Wireless Network Adapter 5360 RT5360 Wireless 802.11n 1T/1R 1186 3c05 DWA-525 Wireless N 150 Desktop Adapter (rev.A2) 20f4 703a TEW-703PI N150 Wireless PCI Adapter 5362 RT5362 PCI 802.11n Wireless Network Adapter 5390 RT5390 Wireless 802.11n 1T/1R PCIe 103c 1636 U98Z077.00 Half-size Mini PCIe Card 5392 RT5392 PCIe Wireless Network Adapter 539b RT5390R 802.11bgn PCIe Wireless Network Adapter 539f RT5390 [802.11 b/g/n 1T1R G-band PCI Express Single Chip] 103c 1637 Pavilion DM1Z-3000 PCIe wireless card 5592 RT5592 PCIe Wireless Network Adapter e932 RT2560F 802.11 b/g PCI 1815 Devolo AG 1820 InfiniCon Systems Inc. 1822 Twinhan Technology Co. Ltd 4e35 Mantis DTV PCI Bridge Controller [Ver 1.0] 182d SiteCom Europe BV # HFC-based ISDN card 3069 ISDN PCI DC-105V2 9790 WL-121 Wireless Network Adapter 100g+ [Ver.3] 182e Raza Microelectronics, Inc. 0008 XLR516 Processor # Strange vendor ID used by BCM5785 when in RAID mode 182f Broadcom # HT1000 uses 3 IDs 1166:024a (Native SATA Mode), 1166:024b (PATA/IDE Mode), 182f:000b (RAID Mode) depends on SATA BIOS setting 000b BCM5785 [HT1000] SATA (RAID Mode) 1830 Credence Systems Corporation 8000 CPIn 8001 CPId 8002 CPIx 8003 CPIq 183b MikroM GmbH 08a7 MVC100 DVI 08a8 MVC101 SDI 08a9 MVC102 DVI+Audio 08b0 MVC200-DC 1846 Alcatel-Lucent 1849 ASRock Incorporation 184a Thales Computers 1100 MAX II cPLD 1850 Advantest Corporation 0048 EK220-66401 Computer Interface Card 1851 Microtune, Inc. 1852 Anritsu Corp. 1853 SMSC Automotive Infotainment System Group 1854 LG Electronics, Inc. 185b Compro Technology, Inc. 1489 VideoMate Vista T100 185f Wistron NeWeb Corp. 1864 SilverBack 2110 ISNAP 2110 1867 Topspin Communications 5a44 MT23108 InfiniHost HCA 5a45 MT23108 InfiniHost HCA flash recovery 5a46 MT23108 InfiniHost HCA bridge 6278 MT25208 InfiniHost III Ex (Tavor compatibility mode) 6282 MT25208 InfiniHost III Ex 186c Humusoft, s.r.o. 0612 AD612 Data Acquisition Device 0614 MF614 Multifunction I/O Card 0622 AD622 Data Acquisition Device 0624 MF624 Multifunction I/O PCI Card 0625 MF625 3-phase Motor Driver 0634 MF634 Multifunction I/O PCIe Card 0644 MF644 Multifunction I/O Thb Card 186f WiNRADiO Communications 1876 L-3 Communications a101 VigraWATCH PCI a102 VigraWATCH PMC a103 Vigra I/O 187e ZyXEL Communications Corporation 3403 ZyAir G-110 802.11g 340e M-302 802.11g XtremeMIMO 1885 Avvida Systems Inc. 1888 Varisys Ltd 0301 VMFX1 FPGA PMC module 0601 VSM2 dual PMC carrier 0710 VS14x series PowerPC PCI board 0720 VS24x series PowerPC PCI board 188a Ample Communications, Inc 1890 Egenera, Inc. 1894 KNC One 1896 B&B Electronics Manufacturing Company, Inc. 4202 MIport 3PCIU2 2-port Serial 4204 MIport 3PCIU4 4-port Serial 4208 MIport 3PCIU8 8-port Serial 4211 MIport 3PCIOU1 1-port Isolated Serial 4212 MIport 3PCIOU2 2-port Isolated Serial 4214 MIport 3PCIOU4 4-port Isolated Serial bb10 3PCI2 2-Port Serial bb11 3PCIO1 1-Port Isolated Serial 1897 AMtek 18a1 Astute Networks Inc. 18a2 Stretch Inc. 0002 VRC6016 16-Channel PCIe DVR Card 18a3 AT&T 18ac DViCO Corporation d500 FusionHDTV 5 d800 FusionHDTV 3 Gold d810 FusionHDTV 3 Gold-Q d820 FusionHDTV 3 Gold-T db30 FusionHDTV DVB-T Pro db40 FusionHDTV DVB-T Hybrid db78 FusionHDTV DVB-T Dual Express 18b8 Ammasso b001 AMSO 1100 iWARP/RDMA Gigabit Ethernet Coprocessor # formally Info-Tek Corp. 18bc GeCube Technologies, Inc. 18c3 Micronas Semiconductor Holding AG 0720 nGene PCI-Express Multimedia Controller 1461 032e Hybrid M779 PCI-E # Nee Octigabay System 18c8 Cray Inc 18c9 ARVOO Engineering BV 18ca XGI Technology Inc. (eXtreme Graphics Innovation) 0020 Z7/Z9 (XG20 core) 0021 Z9s/Z9m (XG21 core) 0027 Z11/Z11M 0040 Volari V3XT/V5/V8 0047 Volari 8300 (chip: XP10, codename: XG47) # should be 182d 18d2 Sitecom Europe BV (Wrong ID) # Sitecom HFC-S based ISDN controller card DC-105v2 3069 DC-105v2 ISDN controller 18d4 Celestica 18d8 Dialogue Technology Corp. 18dd Artimi Inc 4c6f Artimi RTMI-100 UWB adapter 18df LeWiz Communications 18e6 MPL AG 0001 OSCI [Octal Serial Communication Interface] 18eb Advance Multimedia Internet Technology, Inc. 18ec Cesnet, z.s.p.o. 6d05 ML555 18ec 0100 NIC (ethernet interfaces) 18ec 0200 NIC (szedata2) 4x1G 18ec 0201 NIC (szedata2) 2x10G 18ec 0300 NIFIC (szedata2) 4x1G 18ec 0302 NIFIC (szedata2) 2x10G 18ec 4200 Flexible FlowMon (szedata2) 1x10G 18ec ff00 Testing design 18ec ff01 Boot design c006 COMBO6 18ec d001 COMBO-4MTX 18ec d002 COMBO-4SFP 18ec d003 COMBO-4SFPRO 18ec d004 COMBO-2XFP c032 COMBO-LXT110 18ec 0100 NIC (ethernet interfaces) 18ec 0200 NIC (szedata2) 4x1G 18ec 0201 NIC (szedata2) 2x10G 18ec 0300 NIFIC (szedata2) 4x1G 18ec 0302 NIFIC (szedata2) 2x10G 18ec 4200 Flexible FlowMon (szedata2) 1x10G 18ec ff00 Testing design 18ec ff01 Boot design c045 COMBO6E c050 COMBO-PTM c058 COMBO6X 18ec d001 COMBO-4MTX 18ec d002 COMBO-4SFP 18ec d003 COMBO-4SFPRO 18ec d004 COMBO-2XFP c132 COMBO-LXT155 18ec 0100 NIC (ethernet interfaces) 18ec 0200 NIC (szedata2) 4x1G 18ec 0201 NIC (szedata2) 2x10G 18ec 0300 NIFIC (szedata2) 4x1G 18ec 0302 NIFIC (szedata2) 2x10G 18ec 4200 Flexible FlowMon (szedata2) 1x10G 18ec ff00 Testing design 18ec ff01 Boot design c232 COMBO-FXT100 18ec 0100 NIC (ethernet interfaces) 18ec 0200 NIC (szedata2) 4x1G 18ec 0201 NIC (szedata2) 2x10G 18ec 0300 NIFIC (szedata2) 4x1G 18ec 0302 NIFIC (szedata2) 2x10G 18ec 4200 Flexible FlowMon (szedata2) 1x10G 18ec ff00 Testing design 18ec ff01 Boot design 18ee Chenming Mold Ind. Corp. 18f1 Spectrum GmbH 18f4 Napatech A/S 0031 NT20X Network Adapter 0051 NT20X Capture Card 0061 NT20E Capture Card 0064 NT20E Inline Card 0071 NT4E Capture Card 0074 NT4E Inline Card 0081 NT4E 4-port Expansion Card 0091 NT20X Capture Card [New Rev] 00a1 NT4E-STD Capture Card 00a4 NT4E-STD Inline Card # 8 x 1 Gbps / 10 Gbps PCIe Optical Bypass Adapter 00b1 NTBPE Optical Bypass Adapter 00c5 NT20E2 Network Adapter 2x10Gb 00d5 NT40E2-4 Network Adapter 4x10Gb 00e5 NT40E2-1 Network Adapter 1x40Gb # 4-Port Adapter for 1 GbE In-Line Bypass Applications 00f5 NT4E2-4T-BP Network Adapter 4x1Gb with Electrical Bypass 0105 NT4E2-4-PTP Network Adapter 4x1Gb 0115 NT20E2-PTP Network Adapter 2x10Gb 0125 NT4E2-4-PTP Network Adapter 4x1Gb 0135 NT20E2-PTP Network Adapter 2x10Gb 0145 NT40E3-4-PTP Network Adapter 4x10Gb 0155 NT100E3-1-PTP Network Adapter 1x100Gb 0165 NT80E3-2-PTP Network Adapter 2x40Gb 0175 NT20E3-2-PTP Network Adapter 2x10Gb 0185 NT40A01 Network Adapter 01a5 NT200A01 Network Adapter 01c5 NT200A02 Network Adapter 01d5 NT50B01 Network Adapter 01e5 NT100A01 Network Adapter 18f6 NextIO 1000 [Nexsis] Switch Virtual P2P PCIe Bridge 1001 [Texsis] Switch Virtual P2P PCIe Bridge 1050 [Nexsis] Switch Virtual P2P PCI Bridge 1051 [Texsis] Switch Virtual P2P PCI Bridge 2000 [Nexsis] Switch Integrated Mgmt. Endpoint 2001 [Texsis] Switch Integrated Mgmt. Endpoint 18f7 Commtech, Inc. 0001 ESCC-PCI-335 Serial PCI Adapter [Fastcom] 0002 422/4-PCI-335 Serial PCI Adapter [Fastcom] 0003 232/4-1M-PCI Serial PCI Adapter [Fastcom] 0004 422/2-PCI-335 Serial PCI Adapter [Fastcom] 0005 IGESCC-PCI-ISO/1 Serial PCI Adapter [Fastcom] 000a 232/4-PCI-335 Serial PCI Adapter [Fastcom] 000b 232/8-PCI-335 Serial PCI Adapter [Fastcom] 000f FSCC Serial PCI Adapter [Fastcom] 0010 GSCC Serial PCI Adapter [Fastcom] 0011 QSSB Serial PCI Adapter [Fastcom] 0014 SuperFSCC Serial PCI Adapter [Fastcom] 0015 SuperFSCC-104-LVDS Serial PC/104+ Adapter [Fastcom] 0016 FSCC-232 RS-232 Serial PCI Adapter [Fastcom] # Software UARTs 0017 SuperFSCC-104 Serial PC/104+ Adapter [Fastcom] # Software UARTs 0018 SuperFSCC/4 Serial PCI Adapter [Fastcom] # Software UARTs 0019 SuperFSCC Serial PCI Adapter [Fastcom] 001a SuperFSCC-LVDS Serial PCI Adapter [Fastcom] # Software UARTs 001b FSCC/4 Serial PCI Adapter [Fastcom] # RS-644 Only 001c SuperFSCC/4-LVDS Serial PCI Adapter [Fastcom] # Software UARTs 001d FSCC Serial PCI Adapter [Fastcom] 001e SuperFSCC/4 Serial PCIe Adapter [Fastcom] 001f SuperFSCC/4 Serial cPCI Adapter [Fastcom] 0020 422/4-PCIe Serial PCIe Adapter [Fastcom] 0021 422/8-PCIe Serial PCIe Adapter [Fastcom] # RS-644 Only 0022 SuperFSCC/4-LVDS Serial PCIe Adapter [Fastcom] # Software UARTs 0023 SuperFSCC/4 Serial cPCI Adapter [Fastcom] # RS-644 Only, Software UARTs 0025 SuperFSCC/4-LVDS Serial PCI Adapter [Fastcom] # RS-644 Only, Software UARTs 0026 SuperFSCC-LVDS Serial PCI Adapter [Fastcom] # Software UARTs 0027 FSCC/4 Serial PCIe Adapter [Fastcom] 18fb Resilience Corporation 1904 Hangzhou Silan Microelectronics Co., Ltd. 2031 SC92031 PCI Fast Ethernet Adapter 8139 RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor 1905 Micronas USA, Inc. 1912 Renesas Technology Corp. 0002 SH7780 PCI Controller (PCIC) 0011 SH7757 PCIe End-Point [PBI] 0012 SH7757 PCIe-PCI Bridge [PPB] 0013 SH7757 PCIe Switch [PS] 0014 uPD720201 USB 3.0 Host Controller 0015 uPD720202 USB 3.0 Host Controller 001a SH7758 PCIe-PCI Bridge [PPB] 001b SH7758 PCIe End-Point [PBI] 001d SH7758 PCIe Switch [PS] 1919 Soltek Computer Inc. 1923 Sangoma Technologies Corp. 0040 A200/Remora FXO/FXS Analog AFT card 0100 A104d QUAD T1/E1 AFT card 0300 A101 single-port T1/E1 0400 A104u Quad T1/E1 AFT 1924 Solarflare Communications 0703 SFC4000 rev A net [Solarstorm] 10b8 0102 SMC10GPCIe-10BT (A2) [TigerCard] 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] 10b8 0201 SMC10GPCIe-XFP (A1) [TigerCard] 1924 0101 SFE4001-A1 1924 0102 SFE4001-A2 1924 0103 SFE4001-A3 1924 0201 SFE4002-A1 1924 0301 SFE4003-A1 1924 0302 SFE4003-A2 1924 0303 SFE4003-A3 1924 0304 SFE4003-A4 1924 0500 SFE4005-A0 0710 SFC4000 rev B [Solarstorm] 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] 10b8 0201 SMC10GPCIe-XFP (A1) [TigerCard] 1924 0102 SFE4001-A2 1924 0103 SFE4001-A3 1924 0201 SFE4002-A1 1924 0302 SFE4003-A2 1924 0303 SFE4003-A3 1924 0304 SFE4003-A4 1924 0500 SFE4005-A0 1924 5102 SFN4111T-A2 1924 5103 SFN4111T-R3 1924 5104 SFN4111T-R4 1924 5105 SFN4111T-R5 1924 5201 SFN4112F-R1 1924 5202 SFN4112F-R2 0803 SFC9020 10G Ethernet Controller 1014 0478 2-port 10GbE Low-Latency (R7) 1014 0479 2-port 10GbE OpenOnload (R7) 1014 04a7 Solarflare 10Gb Low-latency Dual-port HBA (R7) 1014 04a8 Solarflare 10Gb Dual-port HBA (R7) 103c 2132 Ethernet 10Gb 2-port 570FLR-SFP+ Adapter (R1) 103c 2136 Ethernet 10Gb 2-port 570SFP+ Adapter (R7) 1924 1201 SFA6902F-R1 SFP+ AOE Adapter 1924 6200 SFN5122F-R0 SFP+ Server Adapter 1924 6201 SFN5122F-R1 SFP+ Server Adapter 1924 6202 SFN5122F-R2 SFP+ Server Adapter 1924 6204 SFN5122F-R4 SFP+ Server Adapter 1924 6205 SFN5122F-R5 SFP+ Server Adapter 1924 6206 SFN5122F-R6 SFP+ Server Adapter 1924 6207 SFN5122F-R7 SFP+ Server Adapter 1924 6210 SFN5322F-R0 SFP+ Precision Time Synchronization Server Adapter 1924 6211 SFN5322F-R1 SFP+ Precision Time Synchronization Server Adapter 1924 6217 SFN5322F-R7 SFP+ Precision Time Synchronization Server Adapter 1924 6227 SFN6122F-R7 SFP+ Server Adapter 1924 6237 SFN6322F-R7 SFP+ Precision Time Synchronization Server Adapter 1924 6501 SFN5802K-R1 Mezzanine Adapter 1924 6511 SFN5814H-R1 Mezzanine Adapter 1924 6521 SFN5812H-R1 Mezzanine Adapter 1924 6562 SFN6832F-R2 SFP+ Mezzanine Adapter 1924 6a05 SFN5112F-R5 SFP+ Server Adapter 1924 6a06 SFN5112F-R6 SFP+ Server Adapter 1924 7206 SFN5162F-R6 SFP+ Server Adapter 1924 7207 SFN5162F-R7 SFP+ Server Adapter 1924 7a06 SFN5152F-R6 SFP+ Server Adapter 1924 7a07 SFN5152F-R7 SFP+ Server Adapter 0813 SFL9021 10GBASE-T Ethernet Controller 1924 6100 SFN5121T-R0 10GBASE-T Server Adapter 1924 6102 SFN5121T-R2 10GBASE-T Server Adapter 1924 6103 SFN5121T-R3 10GBASE-T Server Adapter 1924 6104 SFN5121T-R4 10GBASE-T Server Adapter 1924 6902 SFN5111T-R2 10GBASE-T Server Adapter 1924 6904 SFN5111T-R4 10GBASE-T Server Adapter 1924 7104 SFN5161T-R4 10GBASE-T Server Adapter 1924 7904 SFN5151T-R4 10GBASE-T Server Adapter 0903 SFC9120 10G Ethernet Controller 1014 04cc SFN7122F-R2 2x10GbE SFP+ Flareon Ultra 1924 8002 SFN7122F-R1 SFP+ Server Adapter 1924 8003 SFN7x41Q-R1 Flareon Ultra 7000 Series 10/40G Adapter 1924 8006 SFN7022F-R1 SFP+ Server Adapter 1924 8007 SFN7322F-R2 Precision Time SFP+ Server Adapter 1924 8009 SFN7x22F-R2 Flareon Ultra 7000 Series 10G Adapter 1924 800a SFN7x02F-R2 Flareon 7000 Series 10G Adapter 1924 800c SFN7x22F-R3 Flareon Ultra 7000 Series 10G Adapter 1924 800d SFN7x02F-R3 Flareon 7000 Series 10G Adapter 1924 8010 SFA7942Q-R1 QSFP+ AOE Adapter 1924 8015 SFA7942Q-A5-0-R1 QSFP+ AOE Adapter 0923 SFC9140 10/40G Ethernet Controller 1924 800b SFN7x42Q-R1 Flareon Ultra 7000 Series 10/40G Adapter 1924 800e SFN7x42Q-R2 Flareon Ultra 7000 Series 10/40G Adapter 1924 800f SFN7xx4F-R1 Flareon Ultra 7000 Series 10G Adapter 0a03 SFC9220 10/40G Ethernet Controller 1924 8011 SFN8022-R1 8000 Series 10G Adapter 1924 8012 SFN8522-R1 8000 Series 10G Adapter 1924 8013 SFN8042-R1 8000 Series 10/40G Adapter 1924 8014 SFN8542-R1 8000 Series 10/40G Adapter 1924 8016 SFN8022-R2 8000 Series 10G Adapter 1924 8017 SFN8522-R2 8000 Series 10G Adapter 1924 8018 SFN8042-R2 8000 Series 10/40G Adapter 1924 8019 SFN8542-R2 8000 Series 10/40G Adapter 1924 801a SFN8722-R1 8000 Series OCP 10G Adapter 1924 801b SFN8522-R3 8000 Series 10G Adapter 1924 801c SFN8042-R3 8000 Series 10/40G Adapter 1924 8021 SFN8041-R1 8000 Series 10/40G Adapter 0b03 XtremeScale SFC9250 10/25/40/50/100G Ethernet Controller 1924 801d x2522-R1 2000 Series 10/25G Adapter 1924 801e x2542-R1 2000 Series 40/100G Adapter 1924 8022 XtremeScale X2522 10G Network Adapter 1924 8024 XtremeScale X2562 OCP 3.0 Dual Port SFP28 1924 8027 XtremeScale X2541 PCIe Single Port QSFP28 1924 8028 XtremeScale X2522-25G Network Adapter 1924 802a XtremeScale X2542 PCIe Dual Port QSFP28 1924 802b XtremeScale X2552 OCP 2.0 Dual Port SFP28 1924 802c XtremeScale X2522-25G PCIe Dual Port SFP28 1924 802d XtremeScale X2562 OCP 3.0 Dual Port SFP28 1803 SFC9020 10G Ethernet Controller (Virtual Function) 1813 SFL9021 10GBASE-T Ethernet Controller (Virtual Function) 1903 SFC9120 10G Ethernet Controller (Virtual Function) 1923 SFC9140 10/40G Ethernet Controller (Virtual Function) 1a03 SFC9220 10/40G Ethernet Controller (Virtual Function) 1b03 XtremeScale SFC9250 10/25/40/50/100G Ethernet Controller (Virtual Function) 6703 SFC4000 rev A iSCSI/Onload [Solarstorm] 10b8 0102 SMC10GPCIe-10BT (A2) [TigerCard] 10b8 0103 SMC10GPCIe-10BT (A3) [TigerCard] 10b8 0201 SMC10GPCIe-XFP (A1) [TigerCard] 1924 0101 SFE4001-A1 1924 0102 SFE4001-A2 1924 0103 SFE4001-A3 1924 0201 SFE4002-A1 1924 0301 SFE4003-A1 1924 0302 SFE4003-A2 1924 0303 SFE4003-A3 1924 0304 SFE4003-A4 1924 0500 SFE4005-A0 c101 EF1-21022T [EtherFabric] 192a BiTMICRO Networks Inc. 0008 RAMPART 192e TransDimension 1931 Option N.V. 000c Qualcomm MSM6275 UMTS chip 1932 DiBcom 193c MAXIM Integrated Products 193d Hangzhou H3C Technologies Co., Ltd. 193f AHA Products Group 0001 AHA36x-PCIX 0360 AHA360-PCIe 0363 AHA363-PCIe 0364 AHA364-PCIe 0367 AHA367-PCIe 0370 AHA370-PCIe 0604 AHA604 0605 AHA605 3641 AHA3641 3642 AHA3642 6101 AHA6101 6102 AHA6102 1942 ClearSpeed Technology plc e511 Advance X620 accelerator card e521 Advance e620 accelerator card 1947 C-guys, Inc. 4743 CG200 Dual SD/SDIO Host controller device 1948 Alpha Networks Inc. 194a DapTechnology B.V. 1111 FireSpy3850 1112 FireSpy450b 1113 FireSpy450bT 1114 FireSpy850 1115 FireSpy850bT 1200 FireTrac 3460bT 1201 FireTrac 3460bT (fallback firmware) 1202 FireTrac 3460bT 1203 FireTrac 3460bT (fallback firmware) # nee Curtis, Inc. 1954 One Stop Systems, Inc. 1957 Freescale Semiconductor Inc 0012 MPC8548E 0013 MPC8548 0014 MPC8543E 0015 MPC8543 0018 MPC8547E 0019 MPC8545E 001a MPC8545 0020 MPC8568E 0021 MPC8568 0022 MPC8567E 0023 MPC8567 0030 MPC8533E 0031 MPC8533 0032 MPC8544E 0033 MPC8544 0040 MPC8572E 0041 MPC8572 0050 MPC8536E 0051 MPC8536 0052 MPC8535E 0053 MPC8535 0060 MPC8569 0061 MPC8569E 0070 P2020E 0071 P2020 0078 P2010E 0079 P2010 0080 MPC8349E 0081 MPC8349 0082 MPC8347E TBGA 0083 MPC8347 TBGA 0084 MPC8347E PBGA 110a 4074 SIMATIC NET CP 1628 0085 MPC8347 PBGA 110a 4046 SIMATIC NET CP 1623 0086 MPC8343E 0087 MPC8343 00b4 MPC8315E 00b6 MPC8314E 1a56 1101 Bigfoot Killer Xeno Pro Gigabit Ethernet Controller 00c2 MPC8379E 00c3 MPC8379 00c4 MPC8378E 00c5 MPC8378 00c6 MPC8377E 00c7 MPC8377 0100 P1020E 0101 P1020 0102 P1021E 0103 P1021 0108 P1011E 0109 P1011 010a P1012E 010b P1012 0110 P1022E 0111 P1022 1c7f 5200 EB5200 0118 P1013E 0119 P1013 0128 P1010 0400 P4080E 0401 P4080 0408 P4040E 0409 P4040 041f P3041 0440 T4240 with security 0441 T4240 without security 0446 T4160 with security 0447 T4160 without security 0830 T2080 with security 0831 T2080 without security 0838 T2081 with security 0839 T2081 without security 580c MPC5121e 7010 MPC8641 PCI Host Bridge 7011 MPC8641D PCI Host Bridge 7018 MPC8610 c006 MPC8308 1a56 1201 Bigfoot Killer E2100 Gigabit Ethernet Controller # PCIe interface for emulator fc02 RedStone # CFI device over PCIe fc03 CFI 1958 Faster Technology, LLC. 1959 PA Semi, Inc a000 PA6T Core a001 PWRficient Host Bridge a002 PWRficient PCI-Express Port a003 PWRficient SMBus Controller a004 PWRficient 16550 UART a005 PWRficient Gigabit Ethernet a006 PWRficient 10-Gigabit Ethernet a007 PWRficient DMA Controller a008 PWRficient LPC/Localbus Interface a009 PWRficient L2 Cache a00a PWRficient DDR2 Memory Controller a00b PWRficient SERDES a00c PWRficient System/Debug Controller a00d PWRficient PCI-Express Internal Endpoint 1966 Orad Hi-Tec Systems 1975 DVG64 family 1977 DVG128 family 1979 3DVG/UHD3 1980 HDV2/UHD2 1234 3160 UHD2LC 1234 3300 Legacy UHD2 1234 3410 UHD2 # nee Atheros Communications, Inc. nee Attansic Technology Corp. 1969 Qualcomm Atheros 1026 AR8121/AR8113/AR8114 Gigabit or Fast Ethernet 1043 8304 P5KPL-CM Motherboard 1048 Attansic L1 Gigabit Ethernet 1043 8226 P5B-MX/WiFi-AP, P5KPL-VM Motherboard 1062 AR8132 Fast Ethernet 1063 AR8131 Gigabit Ethernet 1458 e000 GA-G31M-ES2L Motherboard 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 1066 Attansic L2c Gigabit Ethernet 1067 Attansic L1c Gigabit Ethernet 1073 AR8151 v1.0 Gigabit Ethernet 1083 AR8151 v2.0 Gigabit Ethernet 1090 AR8162 Fast Ethernet 1043 108d VivoBook X202E, X202EV 1091 AR8161 Gigabit Ethernet 1043 1477 N56VZ 10a0 QCA8172 Fast Ethernet 10a1 QCA8171 Gigabit Ethernet 2048 Attansic L2 Fast Ethernet 2060 AR8152 v1.1 Fast Ethernet 2062 AR8152 v2.0 Fast Ethernet 1043 8468 Eee PC 1015PX # E2200, E2201, E2205 e091 Killer E220x Gigabit Ethernet Controller e0a1 Killer E2400 Gigabit Ethernet Controller e0b1 Killer E2500 Gigabit Ethernet Controller 196a Sensory Networks Inc. 0101 NodalCore C-1000 Content Classification Accelerator 0102 NodalCore C-2000 Content Classification Accelerator 0105 NodalCore C-3000 Content Classification Accelerator 196d Club-3D BV 196e PNY 1971 AGEIA Technologies, Inc. 1011 Physics Processing Unit [PhysX] 1043 0001 PhysX P1 # nee Eberspaecher Electronics 1974 Star Electronics GmbH & Co. KG 0009 FlexCard PMC-II 0011 FlexCard PMC-II Ethernet 0018 FlexCard PXIe3 0019 FlexCard PCIe3 1976 TRENDnet 1977 Parsec 197b JMicron Technology Corp. 0250 JMC250 PCI Express Gigabit Ethernet Controller 0260 JMC260 PCI Express Fast Ethernet Controller 0368 JMB368 IDE controller 0585 JMB58x AHCI SATA controller 2360 JMB360 AHCI Controller 2361 JMB361 AHCI/IDE 1462 7235 P965 Neo MS-7235 mainboard 2362 JMB362 SATA Controller 1043 8460 P8P67 Deluxe Motherboard 2363 JMB363 SATA/IDE Controller 1043 81e4 P5B [JMB363] 1458 b000 Motherboard 1849 2363 Motherboard (one of many) 2364 JMB364 AHCI Controller 2365 JMB365 AHCI/IDE 2366 JMB366 AHCI/IDE 2368 JMB368 IDE controller 2369 JMB369 Serial ATA Controller 2380 IEEE 1394 Host Controller 2381 Standard SD Host Controller 2382 SD/MMC Host Controller 2383 MS Host Controller 2384 xD Host Controller 2386 Standard SD Host Controller 2387 SD/MMC Host Controller 2388 MS Host Controller 2389 xD Host Controller 2391 Standard SD Host Controller 2392 SD/MMC Host Controller 2393 MS Host Controller 2394 xD Host Controller 1982 Distant Early Warning Communications Inc 1600 OX16C954 HOST-A 16ff OX16C954 HOST-B 1987 Phison Electronics Corporation 5007 E7 NVMe Controller 5012 E12 NVMe Controller 5013 PS5013 E13 NVMe Controller 5016 E16 PCIe4 NVMe Controller 1989 Montilio Inc. 0001 RapidFile Bridge 8001 RapidFile 198a Nallatech Ltd. 1993 Innominate Security Technologies AG 1999 A-Logics a900 AM-7209 Video Processor 199a Pulse-LINK, Inc. 199d Xsigo Systems 8209 Virtual NIC Device 890a Virtual HBA Device 199f Auvitek 8501 AU85X1 PCI REV1.1 8521 AU8521 TV card # nee ServerEngines Corp. 19a2 Emulex Corporation 0120 x1 PCIe Gen2 Bridge[Pilot4] 0200 BladeEngine 10Gb PCI-E iSCSI adapter 0201 BladeEngine 10Gb PCIe Network Adapter 0211 BladeEngine2 10Gb Gen2 PCIe Network Adapter 0212 BladeEngine2 10Gb Gen2 PCIe iSCSI Adapter 0221 BladeEngine3 10Gb Gen2 PCIe Network Adapter 0222 BladeEngine3 10Gb Gen2 PCIe iSCSI Adapter 0700 OneConnect OCe10100/OCe10102 Series 10 GbE 103c 1747 NC550SFP DualPort 10GbE Server Adapter 103c 1749 NC550SFP Dual Port Server Adapter 103c 174a NC551m Dual Port FlexFabric 10Gb Adapter 103c 174b StorageWorks NC550 DualPort Converged Network Adapter 103c 3314 NC551i Dual Port FlexFabric 10Gb Adapter 0702 OneConnect 10Gb iSCSI Initiator 0704 OneConnect OCe10100/OCe10102 Series 10 GbE CNA 10df e602 OneConnect OCe10100 10Gb CNA 10df e630 OneConnect OCe10102-FM-E / OCe10102-FX-E for EMC VNX Symmetrix 0710 OneConnect 10Gb NIC (be3) # FC 5287 / FC 5284; CCIN 5287 1014 03d0 PCIe2 2-port 10GbE SR Adapter for POWER # FC 5288 / FC 5286; CCIN 5288 1014 03d1 PCIe2 2-port 10GbE SFP+ Copper Adapter for POWER 1014 0409 Integrated Multifunction Card with Dual 10GbE SR Optical + Dual 1GbE for Power 750/760 1014 040a Integrated Multifunction Card with Dual 10GbE SR Copper + Dual 1GbE for Power 750/760 103c 3315 NC553i 10Gb 2-port FlexFabric Converged Network Adapter 103c 3340 NC552SFP 2-port 10Gb Server Adapter 103c 3341 NC552m 10Gb 2-port FlexFabric Converged Network Adapter 103c 3345 NC553m 10Gb 2-port FlexFabric Converged Network Adapter 103c 337b NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter 10df e733 Flex System EN4054 4-port 10Gb Ethernet Mezzanine Adapter 0712 OneConnect 10Gb iSCSI Initiator (be3) 0714 OneConnect 10Gb FCoE Initiator (be3) 103c 3315 NC553i 10Gb 2-port FlexFabric Converged Network Adapter 103c 337b NC554FLB 10Gb 2-port FlexFabric Converged Network Adapter 0800 ServerView iRMC HTI 19a8 DAQDATA GmbH 19ac Kasten Chase Applied Research 0001 ACA2400 Crypto Accelerator 19ae Progeny Systems Corporation 0520 4135 HFT Interface Controller 0521 Decimator 19ba ZyXEL Communications Corp. 2330 ZyWALL Turbo Card 19c1 Exegy Inc. # nee NextNet Wireless 19d1 Motorola Expedience 19d4 Quixant Limited 19da ZOTAC International (MCO) Ltd. 19de Pico Computing 19e2 Vector Informatik GmbH 19e3 DDRdrive LLC 5801 DDRdrive X1 5808 DDRdrive X8 dd52 DDRdrive X1-30 19e5 Huawei Technologies Co., Ltd. # subvendor 0123 ES3000 V3 NVMe PCIe SSD 19e5 3022 NVMe SSD ES3600P V3 800GB 2.5" U.2 19e5 3023 NVMe SSD ES3600P V3 1200GB 2.5" U.2 19e5 3024 NVMe SSD ES3600P V3 1600GB 2.5" U.2 19e5 3025 NVMe SSD ES3600P V3 2000GB 2.5" U.2 19e5 3026 NVMe SSD ES3600P V3 3200GB 2.5" U.2 19e5 3033 NVMe SSD ES3600C V3 1200GB HHHL AIC 19e5 3034 NVMe SSD ES3600C V3 1600GB HHHL AIC 19e5 3036 NVMe SSD ES3600C V3 3200GB HHHL AIC 0200 Hi1822 Family (2*100GE) 19e5 d139 Hi1822 SP572 (2*100GE) 19e5 d13d Hi1822 SC371 (2*100GE) 19e5 d147 Hi1822 SP573 (2*100GE) 0202 Hi1822 Family (2*32G FC) 19e5 d149 Hi1822 SP528 (2*32G FC) 19e5 d302 Hi1822 SP521 (2*32G FC) 19e5 d304 Hi1822 SP526 (2*32G FC) 0203 Hi1822 Family (2*16G FC) 19e5 d148 Hi1822 SP527 (2*16G FC) 19e5 d301 Hi1822 SP520 (2*16G FC) 19e5 d305 Hi1822 SP525 (2*16G FC) 0205 Hi1822 Family (2*100GE) 19e5 df27 Hi1822 MZ731 MEZZ (2*100GE) 0206 Hi1822 Family (2*25GE) 19e5 d138 Hi1822 SP582 (2*25GE) 19e5 d13a Hi1822 SC381 (2*25GE) 19e5 d145 Hi1822 SP586 (2*25GE) 0210 Hi1822 Family (4*25GE) 19e5 df2e Hi1822 MZ532 MEZZ (4*25GE) 0211 Hi1822 Family (4*25GE) 19e5 d12f Hi1822 SP571 (4*25GE) 19e5 d137 Hi1822 SP581 (4*25GE) 19e5 d142 Hi1822 SP583 (4*25GE) 0212 Hi1822 Family (2*8G FC) 19e5 d303 Hi1822 SP522 (2*8G FC) 19e5 d306 Hi1822 SP523 (2*8G FC) 1710 iBMA Virtual Network Adapter 1711 Hi171x Series [iBMC Intelligent Management system chip w/VGA support] 1822 Hi1822 Family (4*25GE) 19e5 d129 Hi1822 SP570 (4*25GE) 19e5 d136 Hi1822 SP580 (4*25GE) 19e5 d141 Hi1822 SP583 (4*25GE) 19e5 d146 Hi1822 SP585 (4*25GE) 371e Hi1822 Family Virtual Bridge 375e Hi1822 Family Virtual Function 379e Hi1822 Family Virtual Function a120 HiSilicon PCIe Root Port with Gen4 a121 HiSilicon PCI-PCI Bridge a122 HiSilicon Embedded DMA Engine a124 HiSilicon Internal SDI Function Engine a125 HiSilicon SDI Network Controller a126 HiSilicon SDI NVMe Storage Controller a127 HiSilicon SDI Accelerator a12a HiSilicon Add-on PCI-PCI Bridge a220 HNS GE Network Controller a221 HNS GE/10GE/25GE Network Controller 19e5 0454 TM280 19e5 04cc TM210 19e5 d14a TM280 4*25G 19e5 d14b TM210 4*GE a222 HNS GE/10GE/25GE RDMA Network Controller a224 HNS GE/10GE/25GE/50GE RDMA Network Controller a226 HNS GE/10GE/25GE/50GE/100GE RDMA Network Controller a22a HiSilicon Network For SDI a22e HNS Network Controller (Virtual Function) a22f HNS RDMA Network Controller (Virtual Function) a230 HiSilicon SAS 3.0 HBA a235 HiSilicon AHCI HBA a238 HiSilicon USB 3.0 Host Controller a239 HiSilicon USB 2.0 2-port Host Controller a23a HiSilicon USB 2.0 Host Controller a23b HiSilicon USB 1.1 Host Controller a250 HiSilicon ZIP Engine a251 HiSilicon ZIP Engine(Virtual Function) a255 HiSilicon SEC Engine a256 HiSilicon SEC Engine(Virtual Function) a258 HiSilicon HPRE Engine a259 HiSilicon HPRE Engine(Virtual Function) a25a HiSilicon RDE Engine a25b HiSilicon RDE Engine(Virtual Function) 19e7 NET (Network Equipment Technologies) 1001 STIX DSP Card 1002 STIX - 1 Port T1/E1 Card 1003 STIX - 2 Port T1/E1 Card 1004 STIX - 4 Port T1/E1 Card 1005 STIX - 4 Port FXS Card 19ee Netronome Systems, Inc. 19f1 BFG Tech 19ff Eclipse Electronic Systems, Inc. 1a03 ASPEED Technology, Inc. 1150 AST1150 PCI-to-PCI Bridge 2000 ASPEED Graphics Family 15d9 0832 X10SRL-F 1a05 deltaww 1a07 Kvaser AB 0006 CAN interface PC104+ HS/HS 0007 CAN interface PCIcanx II HS or HS/HS 0008 CAN interface PCIEcan HS or HS/HS 0009 CAN interface PCI104 HS/HS 1a08 Sierra semiconductor 0000 SC15064 1a0d SEAKR Engineering 1a0e DekTec Digital Video B.V. 083f DTA-2111 VHF/UHF Modulator 1a17 Force10 Networks, Inc. 8002 PB-10GE-2P 10GbE Security Card 1a1d GFaI e.V. 1a17 Meta Networks MTP-1G IDPS NIC 1a1e 3Leaf Systems, Inc. 1a22 Ambric Inc. 1a29 Fortinet, Inc. 4338 CP8 Content Processor ASIC 4e36 NP6 Network Processor 4e37 NP7 Network Processor 1a2b Ascom AG 0000 GESP v1.2 0001 GESP v1.3 0002 ECOMP v1.3 0005 ETP v1.4 000a ETP-104 v1.1 000e DSLP-104 v1.1 # nee Metalink Ltd. 1a30 Lantiq 0680 MtW8171 [Hyperion II] 0700 Wave300 PSB8224 [Hyperion III] 0710 Wave300 PSB8231 [Hyperion III] 1a32 Quanta Microsystems, Inc 1a3b AzureWave 1112 AR9285 Wireless Network Adapter (PCI-Express) 1a41 Tilera Corp. 0001 TILE64 processor 0002 TILEPro processor 0200 TILE-Gx processor 0201 TILE-Gx Processor Virtual Function 2000 TILE-Gx PCI Express Root Port 1a4a SLAC National Accelerator Lab TID-AIR 1000 MCOR Power Supply Controller 1010 AMC EVR - Stockholm Timing Board 1030 PGPCard - Gen3 GIGe Interface 2000 PGPCard - 4 Lane 2001 PGPCard - 8 Lane Plus EVR 2010 PCI-Express EVR 2011 PCI-Express EVR - TPR Version 2020 PGP-GEN3 PCIe - 8 Lane Plus EVR 2030 AXI Stream DAQ PCIe card 2040 EXO PCIe TEM 3000 COB DTM V1 3001 COB DTM V2 1a51 Hectronic AB 1a55 Rohde & Schwarz DVS GmbH 0010 SDStationOEM 0011 SDStationOEM II 0020 Centaurus 0021 Centaurus II 0022 Centaurus II LT 0030 CLIPSTER-VPU 1.x (Hugo) 0040 Hydra Cinema (JPEG) 0050 CLIPSTER-VPU 2.x (DigiLab) 0060 CLIPSTER-DCI 2.x (HydraX) 0061 Atomix 0062 Atomix LT 0063 Atomix HDMI 0064 Atomix STAN 0065 Atomix HDMI STAN 0070 RED Rocket 0090 CinePlay # nee Bigfoot Networks, now owned by Intel 1a56 Rivet Networks 1a57 Highly Reliable Systems 1a58 Razer USA Ltd. 1a5d Celoxica 1a5e Aprius Inc. 1a5f System TALKS Inc. 1a68 VirtenSys Limited 1a71 XenSource, Inc. 1a73 Violin Memory, Inc 0001 Mozart [Memory Appliance 1010] 1a76 Wavesat 1a77 Lightfleet Corporation 1a78 Virident Systems Inc. 0031 FlashMAX Drive 1a78 0034 FlashMAX PCIe SSD [rev 3] 1a78 0037 FlashMAX PCIe SSD [rev 3D] 1a78 0038 FlashMAX PCIe SSD [rev 4] 1a78 0039 FlashMAX PCIe SSD [rev 4D] 0040 FlashMAX II 0041 FlashMAX II 0042 FlashMAX II 0050 FlashMAX III 1a84 Commex Technologies 0001 Vulcan SP HT6210 10-Gigabit Ethernet (rev 02) 1a88 MEN Mikro Elektronik 4d45 Multifunction IP core 1a8a StarBridge, Inc. 1a8c Verigy Pte. Ltd. 1100 E8001-66443 PCI Express CIC 1a8e DRS Technologies 2090 Model 2090 PCI Express 1aa8 Ciprico, Inc. 0009 RAIDCore Controller 000a RAIDCore Controller 1aae Global Velocity, Inc. 1ab4 Distributed Management Task Force, Inc. (DMTF) 1ab6 CalDigit, Inc. 6201 RAID Card # Parallels VM virtual devices 1ab8 Parallels, Inc. 4000 Virtual Machine Communication Interface 4005 Accelerated Virtual Video Adapter 4006 Memory Ballooning Controller 1ab9 Espia Srl 1ac1 Global Unichip Corp. 089a Coral Edge TPU 1ac8 Aeroflex Gaisler 1acc Point of View BV 1ad7 Spectracom Corporation 8000 TSync-PCIe Time Code Processor 9100 TPRO-PCI-66U Timecode Reader/Generator 1ade Spin Master Ltd. 1501 Swipetech barcode scanner 3038 PCIe Video Bridge 13c2 3016 TT-budget S2-4200 Twin 4254 0552 S952 v3 1ae0 Google, Inc. 0042 Compute Engine Virtual Ethernet [gVNIC] abcd Airbrush Combined Paintbox IPU/Oscar Edge TPU [Pixel Neural Core] 1ae3 SANBlaze Technology, Inc. 1ae7 First Wise Media GmbH 0520 HFC-S PCI A [X-TENSIONS XC-520] 1ae8 Silicon Software GmbH # CameraLink frame grabber for Visual Applets 0751 mE5 marathon VCL # CameraLink HS frame grabber 0752 mE5 marathon AF2 # CoaXpress frame grabber 0753 mE5 marathon ACX QP # CameraLink frame grabber 0754 mE5 marathon ACL # CoaXpress frame grabber 0755 mE5 marathon ACX SP # CoaXpress frame grabber 0756 mE5 marathon ACX DP # CoaXpress frame grabber for Visual Applets 0757 mE5 marathon VCX QP # CameraLink HS frame grabber for Visual Applets 0758 mE5 marathon VF2 # CameraLink frame grabber for Visual Applets / AI applications 0759 mE5 marathon VCLx # CameraLink frame grabber 0a40 microEnable IV AD1-CL # CameraLink frame grabber for Visual Applets 0a41 microEnable IV VD1-CL # CameraLink frame grabber 0a42 microEnable IV AD4-CL # CameraLink frame grabber for Visual Applets 0a44 microEnable IV VD4-CL # CameraLink frame grabber 0a45 microEnable IV AS1-CL # CoaXpress frame grabber 0a53 microEnable 5 AQ8-CXP6B # CoaXpress frame grabber for Visual Applets 0a54 microEnable 5 VQ8-CXP6B # CoaXpress frame grabber for Visual Applets 0a56 microEnable 5 VQ8-CXP6D # CoaXpress frame grabber 0a57 microEnable 5 AQ8-CXP6D # CameraLink frame grabber for Visual Applets 0a58 microEnable 5 VD8-CL # CameraLink frame grabber 0a5a microEnable 5 AD8-CL # OEM product 0b52 mE5 Abacus 4G Base # OEM product 0b53 mE5 Abacus 4G Base II # OEM product 0b61 mE6 Abacus 4TG # CoaXpress frame grabber 0b63 CXP-12 Interface Card 1C # GigE Vision frame grabber 0e42 microEnable IV AQ4-GE # GigE Vision frame grabber for Visual Applets 0e44 microEnable IV VQ4-GE 1ae9 Wilocity Ltd. 0101 Wil6200 PCI Express Upstream Port 0200 Wil6200 PCI Express Port 0201 Wil6200 Wireless PCI Express Port 0301 Wil6200 802.11ad Wireless Network Adapter 0302 Wil6200 802.11ad Wireless Network Adapter 0310 Wil6200 802.11ad Wireless Network Adapter 1aea Alcor Micro 6601 AU6601 PCI-E Flash card reader controller 6621 AU6621 PCI-E Flash card reader controller 6625 AU6625 PCI-E Flash card reader controller 1aec Wolfson Microelectronics # nee Fusion-io 1aed SanDisk 1003 ioDimm3 (v1.2) 1005 ioDimm3 1014 03c3 High IOPS SSD PCIe Adapter 103c 176f 1.28TB MLC PCIe ioDrive Duo 103c 1770 5.2TB MLC PCIe ioDrive Octal 103c 178b 160GB SLC PCIe ioDrive 103c 178c 320GB MLC PCIe ioDrive 103c 178d 320GB SLC PCIe ioDrive Duo 103c 178e 640GB MLC PCIe ioDrive Duo 1006 ioXtreme 1007 ioXtreme Pro 1008 ioXtreme-2 2001 ioDrive2 3001 ioMemory FHHL 3002 ioMemory HHHL 3003 ioMemory Mezzanine 1aee Caustic Graphics Inc. # nee Qumranet, Inc. 1af4 Red Hat, Inc. 1000 Virtio network device 1001 Virtio block device 1002 Virtio memory balloon 1003 Virtio console 1004 Virtio SCSI 1005 Virtio RNG 1009 Virtio filesystem # virtio 1.0 1041 Virtio network device # virtio 1.0 1042 Virtio block device # virtio 1.0 1043 Virtio console # virtio 1.0 1044 Virtio RNG # virtio 1.0 1045 Virtio memory balloon # virtio 1.0 1048 Virtio SCSI # virtio 1.0 1049 Virtio filesystem # virtio 1.0 1050 Virtio GPU # virtio 1.0 1052 Virtio input # virtio 1.0 1053 Virtio socket 1110 Inter-VM shared memory 1af4 1100 QEMU Virtual Machine 1af5 Netezza Corp. 1afa J & W Electronics Co., Ltd. 1b03 Magnum Semiconductor, Inc, 6100 DXT/DXTPro Multiformat Broadcast HD/SD Encoder/Decoder/Transcoder 7000 D7 Multiformat Broadcast HD/SD Encoder/Decoder/Transcoder 1b08 MSC Technologies GmbH 1b0a Pegatron 1b13 Jaton Corp 1b1a K&F Computing Research Co. 0e70 GRAPE 1b1c Corsair 1b21 ASMedia Technology Inc. 0611 ASM1061 SATA IDE Controller 0612 ASM1062 Serial ATA Controller 1849 0612 Motherboard 1040 ASM1040 XHCI Controller 1042 ASM1042 SuperSpeed USB Host Controller 1043 1059 K53SM motherboard 1043 8488 P8B WS Motherboard 1849 1042 Motherboard 1080 ASM1083/1085 PCIe to PCI Bridge 1849 1080 Motherboard 1142 ASM1042A USB 3.0 Host Controller 1184 ASM1184e PCIe Switch Port 1849 1184 ASM1184e PCIe Switch 1242 ASM1142 USB 3.1 Host Controller 1343 ASM1143 USB 3.1 Host Controller 2142 ASM2142 USB 3.1 Host Controller 3242 ASM3242 USB 3.2 Host Controller 1b26 Netcope Technologies, a.s. c132 COMBO-LXT155 c1c0 NFB-100G1-e0 c1c1 NFB-100G1-e1 c250 NFB-200G2-master c251 NFB-200G2-slave c2c0 NFB-100G2-e0 c2c1 NFB-100G2-e1 cb20 COMBO-20G cb40 COMBO-40G cb80 NFB-40G2 1b2c Opal-RT Technologies Inc. 1b36 Red Hat, Inc. 0001 QEMU PCI-PCI bridge 0002 QEMU PCI 16550A Adapter 1af4 1100 QEMU Virtual Machine 0003 QEMU PCI Dual-port 16550A Adapter 1af4 1100 QEMU Virtual Machine 0004 QEMU PCI Quad-port 16550A Adapter 1af4 1100 QEMU Virtual Machine 0005 QEMU PCI Test Device 1af4 1100 QEMU Virtual Machine 0006 PCI Rocker Ethernet switch device 0007 PCI SD Card Host Controller Interface 0008 QEMU PCIe Host bridge 0009 QEMU PCI Expander bridge 000a PCI-PCI bridge (multiseat) 000b QEMU PCIe Expander bridge 000c QEMU PCIe Root port 000d QEMU XHCI Host Controller 0100 QXL paravirtual graphic card 1af4 1100 QEMU Virtual Machine 1b37 Signal Processing Devices Sweden AB 0001 ADQ214 0003 ADQ114 0005 ADQ112 000e ADQ108 000f ADQDSP 0014 ADQ412 0015 ADQ212 001b SDR14 001c ADQ1600 001e ADQ208 001f DSU 0020 ADQ14 0023 ADQ7 0026 ADQ8 2014 TX320 2019 S6000 # now owned by HGST (a Western Digital subsidiary) 1b39 sTec, Inc. 0001 S1120 PCIe Accelerator SSD 1b3a Westar Display Technologies 7589 HRED J2000 - JPEG 2000 Video Codec Device 1b3e Teradata Corp. 1fa8 BYNET BIC2SE/X 1b3e 00a3 BYNET BIC2SX 1b3e 00c3 BYNET BIC2SE 1b40 Schooner Information Technology, Inc. # also used by some PROXIM (14b7) devices erroneously 1b47 Numascale AS 0601 NumaChip N601 0602 NumaChip N602 1b4b Marvell Technology Group Ltd. 0640 88SE9128 SATA III 6Gb/s RAID Controller 2241 88NR2241 Non-Volatile memory controller 1028 2112 BOSS-N1 Monolithic 1028 2113 BOSS-N1 Modular 1d49 0306 ThinkSystem M.2 NVMe 2-Bay RAID Enablement Kit 1d49 0307 ThinkSystem 7mm NVMe 2-Bay Rear RAID Enablement Kit 9120 88SE9120 SATA 6Gb/s Controller 9123 88SE9123 PCIe SATA 6.0 Gb/s controller dc93 600e DC-6xxe series SATA 6G controller 9125 88SE9125 PCIe SATA 6.0 Gb/s controller 9128 88SE9128 PCIe SATA 6 Gb/s RAID controller 9130 88SE9128 PCIe SATA 6 Gb/s RAID controller with HyperDuo 1043 8438 P8P67 Deluxe Motherboard 9172 88SE9172 SATA 6Gb/s Controller 9178 88SE9170 PCIe SATA 6Gb/s Controller 917a 88SE9172 SATA III 6Gb/s RAID Controller 9183 88SS9183 PCIe SSD Controller 9192 88SE9172 SATA III 6Gb/s RAID Controller 91a0 88SE912x SATA 6Gb/s Controller [IDE mode] 91a4 88SE912x IDE Controller 9220 88SE9220 PCIe 2.0 x2 2-port SATA 6 Gb/s RAID Controller 9230 88SE9230 PCIe SATA 6Gb/s Controller 1028 1fd6 BOSS-S1 Adapter 1028 1fdf BOSS-S1 Modular 1028 1fe2 BOSS-S1 Adapter 1028 2010 BOSS-S2 Adapter 1d49 0300 ThinkSystem M.2 with Mirroring Enablement Kit 1d49 0301 ThinkSystem SR630 x16 PCIE with 4 SATA ports Riser 1d49 0302 ThinkSystem SE350 M.2 SATA 4-Bay Data RAID Mirroring Enablement Kit 1d49 0303 ThinkSystem SE350 M.2 SATA 4-Bay Data RAID Mirroring Enablement Kit 1d49 0304 ThinkSystem M.2 SATA 2-Bay RAID Enablement Kit 1d49 0305 ThinkSystem 7mm SATA 2-Bay Rear RAID Enablement Kit 9235 88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller 9445 88SE9445 PCIe 2.0 x4 4-Port SAS/SATA 6 Gbps RAID Controller 9480 88SE9480 SAS/SATA 6Gb/s RAID controller 9485 88SE9485 SAS/SATA 6Gb/s controller 1b4c GALAX 1b55 NetUP Inc. 18f6 Dual DVB Universal CI card 18f7 Dual DVB Universal CI card rev 1.4 2a2c Dual DVB-S2-CI card e2e4 Dual DVB-T/C-CI RF card # 2xHDMI and 2xHD-SDI inputs e5f4 MPEG2 and H264 Encoder-Transcoder f1c4 Dual ASI-RX/TX-CI card 1b66 DELTACAST 0007 DELTA-3G-elp-d 1b6f Etron Technology, Inc. 7023 EJ168 USB 3.0 Host Controller 1458 5007 GA-880GMA-USB3 7052 EJ188/EJ198 USB 3.0 Host Controller 1849 7052 QC5000-ITX/PH 1b73 Fresco Logic 1000 FL1000G USB 3.0 Host Controller 1d5c 1000 Anker USB 3.0 Express Card 1009 FL1009 USB 3.0 Host Controller 1100 FL1100 USB 3.0 Host Controller 16b8 6e31 Allegro Pro USB 3.0 PCIe 1b74 OpenVox Communication Co. Ltd. 0115 D115P/D115E Single-port E1/T1 card d130 D130P/D130E Single-port E1/T1 card (3rd GEN) d210 D210P/D210E Dual-port E1/T1 card(2nd generation) d230 D230 Dual-port E1/T1 card (2nd generation) d410 D410/430 Quad-port E1/T1 card d430 D410/430 Quad-port E1/T1 card 1b79 Absolute Analysis 1b85 OCZ Technology Group, Inc. 1041 RevoDrive 3 X2 PCI-Express SSD 240 GB (Marvell Controller) 6018 RD400/400A SSD 8788 RevoDrive Hybrid 1b94 Signatec / Dynamic Signals Corp e400 PX14400 Dual Xilinx Virtex5 based Digitizer 1b96 Western Digital 2200 Ultrastar DC SN630 NVMe SSD 2201 Ultrastar DC SN630 NVMe SSD 2300 Ultrastar DC SN840 NVMe SSD 2400 Ultrastar DC SN640 NVMe SSD 2401 Ultrastar DC SN640 NVMe SSD 2402 Ultrastar DC SN640 NVMe SSD 2404 Ultrastar DC SN640 NVMe SSD 2500 Ultrastar DC SN840 NVMe SSD 3714 PC SN730 NVMe SSD 3734 PC SN730 NVMe SSD 1b9a XAVi Technologies Corp. 1baa QNAP Systems, Inc. 1bad ReFLEX CES c001 XpressGXA10-LP1150 c002 XpressGXA10-LP1151 1bb0 SimpliVity Corporation 0002 OmniCube Accelerator OA-3000 0010 OmniCube Accelerator OA-3000-2 1bb1 Seagate Technology PLC 005d Nytro PCIe Flash Storage 1bb1 6501 Nytro XP6500-8A1536 1.5TB # 2TB Nytro PCIe controller 1bb1 6502 Nytro XP6500-8A2048 # 4TB Nytro PCIe controller 1bb1 6503 Nytro XP6500-8A4096 # 2GB DRAM variant of Nytro card 1bb1 6511 Nytro XH6550-2GB DRAM # 8GB variant of Nytro PCIe controller 1bb1 6512 Nytro XH6550-8GB DRAM # 1.5 TB Nytro PCIe controller 1bb1 6521 Nytro XP6500-8A1536 1.5TB # 2TB Nytro PCIe controller 1bb1 6522 Nytro XP6500-8A2048 # 4TB Nytro PCIe controller 1bb1 6523 Nytro XP6500-8A4096 0100 Nytro Flash Storage 1bb1 0101 Nytro XF1440 1bb1 0103 Nytro 5000 1bb1 0105 Nytro 5020 1bb1 0106 Nytro 5020 TCG # Larkspur 2.5" 1bb1 0107 Nytro 5320 # Larkspur 2.5" TCG 1bb1 0108 Nytro 5320 TCG 1bb1 0121 Nytro XM1440 1bb1 0123 Nytro 5000 # Kiowa M.2 1bb1 0125 Nytro 5020 # Kiowa M.2 TCG 1bb1 0126 Nytro 5020 # Larkspur M.2 22110mm 1bb1 0127 Nytro 5320 M.2 # Larkspur M.2 22110mm TCG 1bb1 0128 Nytro 5320 M.2 TCG # Larkspur M.2 2280mm 1bb1 0131 Nytro 5320 M.2 # Larkspur M.2 2280mm TCG 1bb1 0132 Nytro 5320 M.2 TCG # Larkspur E1.S 1bb1 0141 Nytro 5320 E1.S # Larkspur E1.S TCG 1bb1 0142 Nytro 5320 E1.S TCG # Kersey 2.5" 1bb1 0151 Nytro 5520 # Kersey 2.5" TCG 1bb1 0152 Nytro 5520 TCG 1bb1 01a1 Nytro XP7102 1bb3 Bluecherry 4304 BC-04120A MPEG4 4 port video encoder / decoder 4309 BC-08240A MPEG4 4 port video encoder / decoder 4310 BC-16480A MPEG4 16 port video encoder / decoder 4e04 BC-04120A 4 port MPEG4 video encoder / decoder 4e09 BC-08240A 8 port MPEG4 video encoder / decoder 4e10 BC-16480A 16 port MPEG4 video encoder / decoder 5304 BC-H04120A 4 port H.264 video and audio encoder / decoder 5308 BC-H08240A 8 port H.264 video and audio encoder / decoder 5310 BC-H16480A 16 port H.264 video and audio encoder / decoder 1bb5 Quantenna Communications, Inc. 1bbf Maxeler Technologies Ltd. 0003 MAX3 0004 MAX4 1bcf NEC Corporation 001c Vector Engine 1.0 1bd0 Astronics Corporation 1001 Mx5 PMC/XMC Databus Interface Card 1002 PM1553-5 (PC/104+ MIL-STD-1553 Interface Card) 1004 AB3000 Series Rugged Computer 1005 PE1000 (Multi-Protocol PCIe/104 Interface Card) 1101 OmniBus II PCIe Multi-Protocol Interface Card 1102 OmniBusBox II Multi-Protocol Interface Core 1103 OmniBus II cPCIe/PXIe Multi-Protocol Interface Card 1bd4 Inspur Electronic Information Industry Co., Ltd. 0911 Arria10_PCIe_F10A1150 1bee IXXAT Automation GmbH 0003 CAN-IB200/PCIe 1bef Lantiq 0011 MIPS SoC PCI Express Port 1bf4 VTI Instruments Corporation 0001 SentinelEX 7011 RX0xxx 1bfd EeeTOP 1c09 CSP, Inc. 4254 10G-PCIE3-8D-2S 4255 10G-PCIE3-8D-Q 4256 10G-PCIE3-8D-2S 4258 10G-PCIE3-8E-2S Network Adapter 4260 10G-PCIE3-8E-4S Network Adapter 4261 10G-PCIE3-8E-4S Network Adapter 4262 10G-PCIE3-8E-4S Network Adapter 4263 10G-PCIE3-8E-4S Network Adapter 4264 10G-PCIE3-8E-2S Network Adapter 4265 10G-PCIE3-8E-2S Network Adapter 5000 25G-PCIE3-8A-2S Security Intelligent Adapter 5001 25G-PCIE3-8B-2S Security Intelligent Adapter 1c1c Symphony 0001 82C101 1c1f SoftLab-NSK 0015 FD842 0019 FD722 001a FD788 001b FD720 001c FD922 001d Vega 1c28 Lite-On IT Corp. / Plextor 0122 M6e PCI Express SSD [Marvell 88SS9183] # previously Fiberblaze 1c2c Silicom Denmark 000a Capture 000f SmartNIC 00a0 FBC4G Capture 4x1Gb [Herculaneum] 00a1 FBC4XG Capture 4x10Gb [Ancona] 00a2 FBC8XG Capture 8x10Gb [Livorno] 00a3 FBC2XG Capture 2x10Gb [Genoa] 00a4 FBC4XGG3 Capture 4x10Gb [Livigno] 00a5 FBC2XLG Capture 2x40Gb [Livorno] 00a6 FBC1CG Capture 1x100Gb 00a9 FBC2XGHH Capture 2x10Gb [Latina] 00ad FBC2CGG3HL Capture 2x100Gb [Padua] 00af Capture slave device 00e0 PacketMover 2x100Gb [Savona] 00e1 PacketMover 2x100Gb [Tivoli] 00e3 PacketMover 2x10Gb [Tivoli] 00e5 PacketMover 2x10Gb [Corfu] a000 FBC2CGG3 Capture 2x40Gb [Mango_02] a001 FBC2CGG3 Capture 2x100Gb [Mango_02] a003 FBC2CGG3 Capture 16x10Gb [Mango] a007 FBC2CGG3 Capture 2x40Gb [Mango] a008 FBC2CGG3 Capture 2x25Gb [Mango] a009 FBC2CGG3 Capture 16x10Gb [Mango] a00a FBC2CGG3 Capture 8x10Gb [Mango] a00e FB2CG Capture 2x100Gb [Savona] a00f FB2CG Capture 2x40Gb [Savona] a010 FB2CGHH Capture 2x40Gb [Tivoli] a011 FB2CG Capture 2x25Gb [Savona] a012 FB2CG Capture 8x10Gb [Savona] a013 FB2CGHH Capture 2x25Gb [Tivoli] a014 FB2CGHH Capture 8x10Gb [Tivoli] a015 FB2CGHH Capture 2x100Gb [Tivoli] # Used on V120 VME Crate Controller 1c32 Highland Technology, Inc. 1c33 Daktronics, Inc 1c36 Annapurna Labs Ltd. 0001 Gigabit Ethernet Adapter 0002 SFP+ 10G Ethernet Adapter 1c3b Accensus, LLC 0200 Telas2 # http://www.accensusllc.com/accensustelas2.html 0300 Telas 2.V 1c44 Enmotus Inc 8000 8000 Storage IO Controller # A Western Digital Subsidiary 1c58 HGST, Inc. 0003 Ultrastar SN100 Series NVMe SSD 1014 04f5 PCIe3 1.6TB NVMe Flash Adapter 1014 04f6 PCIe3 3.2TB NVMe Flash Adapter 1c58 0003 Ultrastar SN100/SN150 NVMe SSD 0023 Ultrastar SN200 Series NVMe SSD 1c58 8823 Ultrastar Memory (ME200) 1c5c SK hynix 1283 PC300 NVMe Solid State Drive 256GB 1284 PC300 NVMe Solid State Drive 512GB 1285 PC300 NVMe Solid State Drive 1TB 1327 BC501 NVMe Solid State Drive 512GB 1504 SC300 512GB M.2 2280 SATA Solid State Drive 243b PE6110 NVMe Solid State Drive 1c5c 0100 PE6110 NVMe Solid State Drive 2839 PE8000 Series NVMe Solid State Drive 1c5c 0100 PE8000 Series NVMe Solid State Drive 1c5f Beijing Memblaze Technology Co. Ltd. 000d PBlaze5 520/526 AIC 003d PBlaze5 920/926 AIC 010d PBlaze5 520/526 U.2 013d PBlaze5 920/926 U.2 0540 PBlaze4 NVMe SSD 0550 PBlaze5 700/900 0555 PBlaze5 510/516 0557 PBlaze5 910/916 # http://www.nicevt.ru/ (in Russian) 1c63 Science and Research Centre of Computer Technology (JSC "NICEVT") # http://www.radiotec.ru/catalog.php?cat=jr8&art=14109 0008 K1927BB1Ya [EC8430] Angara Interconnection Network Adapter 1c7e TTTech Computertechnik AG 0200 zFAS Debug Port 1c7f Elektrobit Austria GmbH 5100 EB5100 1c8a TSF5 Corporation 0001 Hunter PCI Express 1c8c Mobiveil, Inc. 1cb0 Shannon Systems d000 Venice NVMe SSD 1cb0 2010 Venice-E Series OCS U.2 1cb0 2011 Venice Series OCS U.2 1cb0 2012 Venice-X Series OCS U.2 # Venice-E Series NVMe U.2 SSD(1.92T/3.84T/7.68T) 1cb0 2f10 Venice-E Series NVMe U.2 # Venice Series NVMe U.2 SSD(2T/4T/8T) 1cb0 2f11 Venice Series NVMe U.2 # Venice-X Series NVMe U.2 SSD(1.6T/3.2T/6.4T) 1cb0 2f12 Venice-X Series NVMe U.2 1cb0 a010 Venice-E Series OCS AIC 1cb0 a012 Venice-X Series OCS AIC # Venice-E Series NVMe AIC SSD(1.92T/3.84T/7.68T) 1cb0 af10 Venice-E Series NVMe AIC # Venice-X Series NVMe AIC SSD(1.6T/3.2T/6.4T) 1cb0 af12 Venice-X Series NVMe AIC 1cb1 Collion UG & Co.KG 1cb5 Focusrite Audio Engineering Ltd 0002 Clarett 1cb8 Dawning Information Industry Co., Ltd. 1cc1 ADATA Technology Co., Ltd. 8201 XPG SX8200 Pro PCIe Gen3x4 M.2 2280 Solid State Drive 1cc4 Union Memory (Shenzhen) 17ab NVMe 256G SSD device 1cc5 Embedded Intelligence, Inc. 0100 CAN-PCIe-02 1cc7 Radian Memory Systems Inc. 0200 RMS-200 0250 RMS-250 1ccf Zoom Corporation 0001 TAC-2 Thunderbolt Audio Converter 1cd2 SesKion GmbH 0301 Simulyzer-RT CompactPCI Serial DIO-1 card 0302 Simulyzer-RT CompactPCI Serial PSI5-ECU-1 card 0303 Simulyzer-RT CompactPCI Serial PSI5-SIM-1 card 0304 Simulyzer-RT CompactPCI Serial PWR-ANA-1 card 0305 Simulyzer-RT CompactPCI Serial CAN-1 card # supports 8x CAN (-FD) interfaces 0306 Simulyzer-RT CompactPCI Serial CAN-2 card (CAN-FD) 0307 Simulyzer-RT CompactPCI Serial DIO-2 card [Xilinx Zynq UltraScale+] 1cd7 Nanjing Magewell Electronics Co., Ltd. 0010 Pro Capture Endpoint 0014 PRO CAPTURE AIO 4K PLUS 0017 PRO CAPTURE AIO 4K 0051 Eco Capture Dual HDMI M.2 0052 Eco Capture HDMI 4K M.2 0053 Eco Capture Dual SDI M.2 0054 Eco Capture Quad SDI M.2 1cdd secunet Security Networks AG 1ce4 Exablaze 0001 ExaNIC X4 0002 ExaNIC X2 0003 ExaNIC X10 0004 ExaNIC X10-GM 0005 ExaNIC X40 0006 ExaNIC X10-HPT 0007 ExaNIC X40 0008 ExaNIC V5P 0009 ExaNIC X25 000a ExaNIC X100 000b ExaNIC V9P 0100 ExaDISK FX1 1cf0 Akitio 1cf7 Subspace Dynamics 1d00 Pure Storage 1d05 Tongfang Hongkong Limited 1d0f Amazon.com, Inc. cd01 NVMe SSD Controller ec20 Elastic Network Adapter (ENA) efa0 Elastic Fabric Adapter (EFA) efa1 Elastic Fabric Adapter (EFA) 1d17 Zhaoxin 070f ZX-100 PCI Express Root Port 0710 ZX-100/ZX-200 PCI Express Root Port 0711 ZX-100/ZX-200 PCI Express Root Port 0712 ZX-100/ZX-200 PCI Express Root Port 0713 ZX-100/ZX-200 PCI Express Root Port 0714 ZX-100/ZX-200 PCI Express Root Port 0715 ZX-100/ZX-200 PCI Express Root Port 0716 ZX-D PCI Express Root Port 0717 ZX-D/ZX-E PCI Express Root Port 0718 ZX-D/ZX-E PCI Express Root Port 0719 ZX-D/ZX-E PCI Express Root Port 071a ZX-D/ZX-E PCI Express Root Port 071b ZX-D/ZX-E PCI Express Root Port 071c ZX-D/ZX-E PCI Express Root Port 071d ZX-D/ZX-E PCI Express Root Port 071e ZX-D/ZX-E PCI Express Root Port 071f ZX-200 Upstream Port of PCI Express Switch 0720 ZX-200 PCIE RC6 controller 0721 ZX-200 Downstream Port of PCI Express Switch 0722 ZX-200 PCIE P2C bridge 1000 ZX-D Standard Host Bridge 1001 ZX-D/ZX-E Miscellaneous Bus 1003 ZX-E Standard Host Bridge 3001 ZX-100 Standard Host Bridge 300a ZX-100 Miscellaneous Bus 3038 ZX-100/ZX-200/ZX-E Standard Universal PCI to USB Host Controller 3104 ZX-100/ZX-200/ZX-E Standard Enhanced PCI to USB Host Controller 31b0 ZX-100/ZX-D Standard Host Bridge 31b1 ZX-100/ZX-D Standard Host Bridge 31b2 ZX-100/ZX-D DRAM Controller 31b3 ZX-100/ZX-D Power Management Controller 31b4 ZX-100/ZX-D I/O APIC 31b5 ZX-100/ZX-D Scratch Device 31b7 ZX-100/ZX-D/ZX-E Standard Host Bridge 31b8 ZX-100/ZX-D PCI to PCI Bridge 3288 ZX-100/ZX-D/ZX-E High Definition Audio Controller 345b ZX-100/ZX-D/ZX-E Miscellaneous Bus 3a02 ZX-100 C-320 GPU 3a03 ZX-D C-860 GPU 3a04 ZX-E C-960 GPU 9002 ZX-100/ZX-200 EIDE Controller 9003 ZX-100/ZX-E EIDE Controller 9045 ZX-100/ZX-D/ZX-E RAID Accelerator 0 9046 ZX-D/ZX-E RAID Accelerator 1 9083 ZX-100/ZX-200/ZX-E StorX AHCI Controller 9084 ZX-100 StorX AHCI Controller 9100 ZX-200 Cross bus 9101 ZX-200 Traffic Controller 9141 ZX-100 High Definition Audio Controller 9142 ZX-D High Definition Audio Controller 9144 ZX-E High Definition Audio Controller 9180 ZX-200 Networking Gigabit Ethernet Adapter 9202 ZX-100 USB eXtensible Host Controller 9203 ZX-200 USB eXtensible Host Controller 9204 ZX-E USB eXtensible Host Controller 9286 ZX-D eMMC Host Controller 9300 ZX-D/ZX-E eSPI Host Controller 95d0 ZX-100 Universal SD Host Controller f410 ZX-100/ZX-D/ZX-E PCI Com Port 1d18 RME 0001 Fireface UFX+ 1d1d CNEX Labs 1f1f QEMU NVM Express LightNVM Controller 2807 8800 series NVMe SSD # CEM Solutions Pvt. Ltd. 1d21 Allo 1d22 Baidu Technology 1380 Cloud Storage Device 1d26 Kalray Inc. 0040 Turbocard2 Accelerator 0080 Open Network Interface Card 80G 00c0 Turbocard3 Accelerator 0140 Open Network Interface Card 40G e004 AB01/EMB01 Development Board 1d37 NovaSparks 0013 PM3 0014 PM4 0015 PM4edge 0016 PM4edge User Device 1d40 Techman Electronics (Changshu) Co., Ltd. 1d44 DPT a400 PM2x24/PM3224 1d49 Lenovo 1d4c Diamanti, Inc. 1d5c Fantasia Trading LLC 1d61 Technobox, Inc. 1d62 Nebbiolo Technologies 1d65 Imagine Communications Corp. 04de Taurus/McKinley 1d6a Aquantia Corp. 0001 AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] 00b1 AQC100 10G Ethernet MAC controller [AQtion] 07b1 AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] 08b1 AQC108 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] 11b1 AQC111 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] 12b1 AQC112 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] 87b1 AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] d107 AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] 1043 8741 XG-C100C d108 AQC108 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] 1d6c Atomic Rules LLC 1001 A5PL-E1 1002 A5PL-E7 1003 S5PEDS-AB 1004 KC705-K325 1005 ZC706-Z045 1006 KCU105-KU040 1007 XUSP3S-VU095 [Jasper] 1008 XUSPL4-VU065 [Mustang UltraScale] 1009 XUSPL4-VU3P [Mustang UltraScale+] 100a A10PL4-A10GX115 100b K35-2SFP 100c K35-4SFP 100d AR-ARKA-FX0 [Arkville 32B DPDK Data Mover] 1d6c 2001 DPDK-Aware Virtual Function [Arkville VF] 100e AR-ARKA-FX1 [Arkville 64B DPDK Data Mover] 1d6c 2001 DPDK-Aware Virtual Function [Arkville VF] 100f AR-ARKA-FX1 [Arkville 64B DPDK Data Mover for Versal] 1010 AR-ARKA-FX1 [Arkville 64B DPDK Data Mover for Agilex] 1011 AR-MAN-U50 [Manitou Class Accelerator for U50] 1012 AR-MAN-U200 [Manitou Class Accelerator for U200] 1013 AR-MAN-U250 [Manitou Class Accelerator for U250] 1014 AR-MAN-U280 [Manitou Class Accelerator for U280] 1015 AR-ARK-BBDEV-FX0 [Arkville 32B DPDK Baseband Device] 1016 AR-ARK-BBDEV-FX1 [Arkville 64B DPDK Baseband Device] 4200 A5PL-E1-10GETI [10 GbE Ethernet Traffic Instrument] 1d72 Xiaomi 1d78 DERA Storage 1512 TAI NVMe Controller 1d78 2004 D5437 HHHL 2TB NVMe SSD 1d78 2006 D5437 HHHL 4TB NVMe SSD 1d78 2008 D5437 HHHL 8TB NVMe SSD 1d78 2104 D5437 U.2 2TB NVMe SSD 1d78 2106 D5437 U.2 4TB NVMe SSD 1d78 2108 D5437 U.2 8TB NVMe SSD 1d78 3003 D5457 HHHL 1.6TB NVMe SSD 1d78 3005 D5457 HHHL 3.2TB NVMe SSD 1d78 3007 D5457 HHHL 6.4TB NVMe SSD 1d78 3103 D5457 U.2 1.6TB NVMe SSD 1d78 3105 D5457 U.2 3.2TB NVMe SSD 1d78 3107 D5457 U.2 6.4TB NVMe SSD 1d7c Aerotech, Inc. # Fiber-optic HyperWire motion control bus from Aerotech. 0001 HyperWire Adapter 1d82 NETINT Technologies Inc. 0101 Codensity D400 SSD 0102 Codensity D408 PCIe Gen4 NVMe SSD 0202 Codensity T408 Video Encoding-Decoding Accelerator 1d87 Fuzhou Rockchip Electronics Co., Ltd 0100 RK3399 PCI Express Root Port 1808 RK1808 Neural Network Processor Card 1d8f Enyx 1d93 YADRO (KNS Group) 1d94 Chengdu Haiguang IC Design Co., Ltd. 1450 Root Complex 1451 I/O Memory Management Unit 1452 PCIe Dummy Host Bridge 1453 PCIE GPP Bridge 1454 Internal PCIe GPP Bridge 0 to Bus B 1455 PCIe Dummy Function 1456 PSPCCP Command DMA Processor 1458 10 Gb Ethernet Controller Port 0/Port1 1459 10 Gb Ethernet Controller Port 2/Port3 145a PCIe Dummy Function 145b PCIE Non-Transparent Bridge 145c USB3 XHCI 145d Switch upstream in PCIe 145e Switch downstream in PCIe 145f USB 3.0 Host controller 1460 Data Fabric: Device 18h; Function 0 1461 Data Fabric: Device 18h; Function 1 1462 Data Fabric: Device 18h; Function 2 1463 Data Fabric: Device 18h; Function 3 1464 Data Fabric: Device 18h; Function 4 1465 Data Fabric: Device 18h; Function 5 1466 Data Fabric: Device 18h; Function 6 1467 Data Fabric: Device 18h; Function 7 1468 NTBCCP 7901 FCH SATA Controller [AHCI mode] 7904 FCH SATA Controller [AHCI mode] 7906 FCH SD Flash Controller 790b FCH SMBus Controller 790e FCH LPC Bridge 1d95 Graphcore Ltd 0001 Colossus GC2 [C2] 0002 Colossus GC1 [S1] 1d97 Shenzhen Longsys Electronics Co., Ltd. 1d9b Facebook, Inc. 0010 Networking DOM Engine 0011 IO Bridge 1da1 Teko Telecom S.r.l. 1da2 Sapphire Technology Limited e26a Radeon R7 250 1da3 Habana Labs Ltd. 0001 HL-1000 AI Inference Accelerator [Goya] # PCIe accelerator card for Deep Learning training tasks 1000 HL-2000 AI Training Accelerator [Gaudi] 1db2 ATP ELECTRONICS INC 1dbb NGD Systems, Inc. 1dbf Guizhou Huaxintong Semiconductor Technology Co., Ltd 0401 StarDragon4800 PCI Express Root Port 1dc5 FADU Inc. 1dcd Liqid Inc. 1dd8 Pensando Systems 1000 DSC Capri Upstream Port 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB 1dd8 4001 Naples 100Gb 2-port QSFP28 x16 4GB 1dd8 4002 Naples 25Gb 2-port SFP28 x8 4GB 1dd8 4007 DSP DSC-25 10/25G 2p OCP Card 1dd8 4008 DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC 1dd8 400a DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card 1dd8 400c DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card 1dd8 400d DSP DSC-100 100G 2p QSFP28 Card 1001 DSC Virtual Downstream Port 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB 1dd8 4001 Naples 100Gb 2-port QSFP28 x16 4GB 1dd8 4002 Naples 25Gb 2-port SFP28 x8 4GB 1dd8 4007 DSP DSC-25 10/25G 2p OCP Card 1dd8 4008 DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC 1dd8 400a DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card 1dd8 400c DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card 1dd8 400d DSP DSC-100 100G 2p QSFP28 Card 1002 DSC Ethernet Controller 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB 1dd8 4001 Naples 100Gb 2-port QSFP28 x16 4GB 1dd8 4002 Naples 25Gb 2-port SFP28 x8 4GB 1dd8 4007 DSP DSC-25 10/25G 2p OCP Card 1dd8 4008 DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC 1dd8 400a DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card 1dd8 400c DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card 1dd8 400d DSP DSC-100 100G 2p QSFP28 Card 1003 DSC Ethernet Controller VF 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB 1dd8 4001 Naples 100Gb 2-port QSFP28 x16 4GB 1dd8 4002 Naples 25Gb 2-port SFP28 x8 4GB 1dd8 4007 DSP DSC-25 10/25G 2p OCP Card 1dd8 4008 DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC 1dd8 400a DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card 1dd8 400c DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card 1dd8 400d DSP DSC-100 100G 2p QSFP28 Card 1004 DSC Management Controller 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB 1dd8 4001 Naples 100Gb 2-port QSFP28 x16 4GB 1dd8 4002 Naples 25Gb 2-port SFP28 x8 4GB 1dd8 4007 DSP DSC-25 10/25G 2p OCP Card 1dd8 4008 DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC 1dd8 400a DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card 1dd8 400c DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card 1dd8 400d DSP DSC-100 100G 2p QSFP28 Card 1007 DSC Storage Accelerator 1dd8 4000 Naples 100Gb 2-port QSFP28 x16 8GB 1dd8 4001 Naples 100Gb 2-port QSFP28 x16 4GB 1dd8 4002 Naples 25Gb 2-port SFP28 x8 4GB 1dd8 4007 DSP DSC-25 10/25G 2p OCP Card 1dd8 4008 DSC-25 10/25G 2-port SFP28 x8 4GB RAM 8GB eMMC 1dd8 400a DSC-100 40/100G 2-port 8G RAM 16G eMMC G1 Services Card 1dd8 400c DSC-25 10/25G 2-port 4G RAM 8G eMMC G1 Services Card 1dd8 400d DSP DSC-100 100G 2p QSFP28 Card 1de0 Groq 0000 Q100 Tensor Streaming Processor 1de1 Tekram Technology Co.,Ltd. 0391 TRM-S1040 [DC-315 / DC-395 series] 2020 DC-390 690c 690c dc29 DC290 1de5 Eideticom, Inc 1000 IO Memory Controller 2000 NoLoad Hardware Development Kit 3000 eBPF-based PCIe Accelerator 1dee Biwin Storage Technology Co., Ltd. 1def Ampere Computing, LLC e005 eMAG PCI Express Root Port 0 e006 eMAG PCI Express Root Port 1 e007 eMAG PCI Express Root Port 2 e008 eMAG PCI Express Root Port 3 e009 eMAG PCI Express Root Port 4 e00a eMAG PCI Express Root Port 5 e00b eMAG PCI Express Root Port 6 e00c eMAG PCI Express Root Port 7 1df3 Ethernity Networks 0201 ACE-NIC40 Programmable Network Accelerator 1df3 0001 ENA1040 1df3 0002 ENA1044 1df3 0003 ENA1044S 0202 ACE-NIC50 Programmable Network Accelerator 1df3 0001 ENA2050F 1df3 0002 ENA2050FS 0203 ACE-NIC100 Programmable Network Accelerator 1df3 0000 Maintenance Mode 1df3 0001 ENA2080F 1df3 0002 ENA2080FS 1df3 0003 ENA2100F 1df3 0004 ENA2040F 0204 ACE-NIC-NID Programmable Network Accelerator 1df3 0001 ENA1020Z 1df3 0002 ENA1020ZS 0205 ACE-NIC250 Programmable Network Accelerator 1df3 0000 Maintenance Mode 1df3 0001 ENA2250F 0206 ACE-NIC200 Programmable Network Accelerator 1df3 0000 Maintenance Mode 1df3 0001 ENA2200F 1df7 opencpi.org 0001 ml605 0002 alst4 0003 alst4x 1dfc JSC NT-COM 1181 TDM 8 Port E1/T1/J1 Adapter 1e0f KIOXIA Corporation 0007 NVMe SSD Controller Cx6 1028 2078 DC NVMe CD6 RI 960GB 1028 2079 DC NVMe CD6 RI 1.92TB 1028 207a DC NVMe CD6 RI 3.84TB 1028 207b DC NVMe CD6 RI 7.68TB 1028 207c DC NVMe CD6 RI 15.36TB 1028 207e Dell Ent NVMe CM6 RI 1.92TB 1028 207f Dell Ent NVMe CM6 RI 3.84TB 1028 2080 Dell Ent NVMe CM6 RI 7.68TB 1028 2081 Dell Ent NVMe CM6 RI 15.36TB 1028 2084 Dell Ent NVMe CM6 MU 1.6TB 1028 2085 Dell Ent NVMe CM6 MU 3.2TB 1028 2086 Dell Ent NVMe CM6 MU 6.4TB 1028 210a Dell Ent NVMe FIPS CM6 RI 1.92TB 1028 210b Dell Ent NVMe FIPS CM6 RI 3.84TB 1028 210c Dell Ent NVMe FIPS CM6 RI 7.68TB 1028 210d Dell Ent NVMe FIPS CM6 RI15.36TB 1028 210e Dell Ent NVMe FIPS CM6 MU 1.6TB 1028 210f Dell Ent NVMe FIPS CM6 MU 3.2TB 1028 2110 Dell Ent NVMe FIPS CM6 MU 6.4TB 1e0f 0001 Generic NVMe CM6 RI 3.84TB 0009 NVMe SSD 1e0f 0001 Toshiba RC500 NVMe SSD 500GB 1e17 Arnold & Richter Cine Technik GmbH & Co. Betriebs KG 1e24 Squirrels Research Labs 0101 Acorn CLE-101 0215 Acorn CLE-215 021f Acorn CLE-215+ 1525 Xilinx BCU-1525 # VU33P FPGA Accelerator 1533 ForestKitten 33 # JungleCat VU33P Module 1633 JCM33 # JungleCat VU35P Module 1635 JCM35 1e26 Fujitsu Client Computing Limited 1e36 Shanghai Enflame Technology Co. Ltd 0001 T10 [CloudBlazer] 0002 T11 [CloudBlazer] 0003 T10s [CloudBlazer] 8011 I10 [CloudBlazer] # nee Thinci, Inc 1e38 Blaize, Inc 0102 Xplorer X1600 1e3b Shenzhen DAPU Microelectronics Co., Ltd 1098 Haishen NVMe SSD 1e3b 0001 Enterprise NVMe SSD U.2 0.8TB (H2100) 1e3b 0002 Enterprise NVMe SSD U.2 0.96TB (H2200) 1e3b 0004 Enterprise NVMe SSD U.2 1.6TB (H2100) 1e3b 0005 Enterprise NVMe SSD U.2 1.92TB (H2200) 1e3b 0009 Enterprise NVMe SSD U.2 0.8TB (H3100) 1e3b 000a Enterprise NVMe SSD U.2 0.96TB (H3200) 1e3b 000c Enterprise NVMe SSD U.2 1.6TB (H3100) 1e3b 000d Enterprise NVMe SSD U.2 1.92TB (H3200) 1e3b 0014 Enterprise NVMe SSD U.2 3.2TB (H3100) 1e3b 0015 Enterprise NVMe SSD U.2 3.84TB (H3200) 1e3b 0021 Enterprise NVMe SSD U.2 6.4TB (H3100) 1e3b 0022 Enterprise NVMe SSD U.2 7.68TB (H3200) 1e3b 0061 Enterprise NVMe SSD HHHL 0.8TB (H2100) 1e3b 0062 Enterprise NVMe SSD HHHL 0.96TB (H2200) 1e3b 0064 Enterprise NVMe SSD HHHL 1.6TB (H2100) 1e3b 0065 Enterprise NVMe SSD HHHL 1.92TB (H2200) 1e3b 006c Enterprise NVMe SSD HHHL 0.8TB (H3100) 1e3b 006d Enterprise NVMe SSD HHHL 0.96TB (H3200) 1e3b 006f Enterprise NVMe SSD HHHL 1.6TB (H3100) 1e3b 0070 Enterprise NVMe SSD HHHL 1.92TB (H3200) 1e3b 007c Enterprise NVMe SSD HHHL 3.2TB (H3100) 1e3b 007d Enterprise NVMe SSD HHHL 3.84TB (H3200) 1e3b 007f Enterprise NVMe SSD HHHL 6.4TB (H3100) 1e3b 0080 Enterprise NVMe SSD HHHL 7.68TB (H3200) 1e3d Burlywood, Inc 1e49 Yangtze Memory Technologies Co.,Ltd 1e4b MAXIO Technology (Hangzhou) Ltd. 1001 NVMe SSD Controller MAP1001 1002 NVMe SSD Controller MAP1002 1003 NVMe SSD Controller MAP1003 1201 NVMe SSD Controller MAP1201 1202 NVMe SSD Controller MAP1202 1601 NVMe SSD Controller MAP1601 1e4c GSI Technology # Associative Processing Unit (APU) 0010 APU [Leda-G] 1e4c 0120 SE120 1e57 Beijing Panyi Technology Co., Ltd 0100 The device has already been deleted. 0000 0100 PY8800 64GB Accelerator 1e6b Axiado Corp. 1e7b Dataland 1e7c Brainchip Inc bca1 AKD1000 Neural Network Coprocessor [Akida] 1e85 Heitec AG 1e89 ID Quantique SA 0002 Quantis-PCIe-40M 0003 Quantis-PCIe-240M # aka SED Systems 1e94 Calian SED 1e95 Solid State Storage Technology Corporation 1eab Hefei DATANG Storage Technology Co.,LTD. 1eae XFX Limited 1eb1 VeriSilicon Inc 1001 Video Accelerator # nee Tumsan Oy 1fc0 Ascom (Finland) Oy 0300 E2200 Dual E1/Rawpipe Card 0301 C5400 SHDSL/E1 Card # nee PathScale, Inc 1fc1 QLogic, Corp. 000d IBA6110 InfiniBand HCA 0010 IBA6120 InfiniBand HCA 1fc9 Tehuti Networks Ltd. 3009 10-Giga TOE SmartNIC 3010 10-Giga TOE SmartNIC 0000 3002 10-Giga TOE Single Port XFP SmartNIC 0000 3004 10-Giga TOE Single Port SFP+ SmartNIC 0000 3008 10-Giga TOE Single Port CX4 SmartNIC 3014 10-Giga TOE SmartNIC 2-Port 0000 3003 10-Giga TOE Dual Port XFP Low Profile SmartNIC 0000 3005 10-Giga TOE Dual Port SFP+ Low Profile SmartNIC 0000 3014 10-Giga TOE Dual Port CX4 Low Profile SmartNIC 3110 10-Giga TOE Single Port SmartNIC 0000 3004 10-Giga TOE Single Port SFP+ SmartNIC 3114 10-Giga TOE Dual Port Low Profile SmartNIC 0000 3005 10-Giga TOE Dual Port SFP+ Low Profile SmartNIC 0000 3011 10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC 0000 3012 10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC 0000 3014 10-Giga TOE Dual Port CX4 Low Profile SmartNIC 3310 10-Giga TOE SFP+ Single Port SmartNIC 0000 3004 10-Giga TOE Single Port SFP+ SmartNIC 3314 10-Giga TOE Dual Port Low Profile SmartNIC 0000 3005 10-Giga TOE Dual Port SFP+ Low Profile SmartNIC 0000 3011 10-Giga TOE Dual Port SFP+/CX4 Low Profile SmartNIC 0000 3012 10-Giga TOE Dual Port CX4/SFP+ Low Profile SmartNIC 0000 3014 10-Giga TOE Dual Port CX4 Low Profile SmartNIC 4010 TN4010 Clean SROM 4020 TN9030 10GbE CX4 Ethernet Adapter 180c 2040 Mustang-200 10GbE Ethernet Adapter 4022 TN9310 10GbE SFP+ Ethernet Adapter 1043 8709 XG-C100F 10GbE SFP+ Ethernet Adapter 1186 4d00 DXE-810S 10GbE SFP+ Ethernet Adapter 1432 8103 10 Gigabit Ethernet SFP+ PCI Express Adapter 1fc9 3015 Ethernet Adapter 4024 TN9210 10GBase-T Ethernet Adapter 4025 TN9510 10GBase-T/NBASE-T Ethernet Adapter 105a 7203 SANLink3 NBase-T1 1186 2900 DXE-810T 10GBase-T Ethernet Adapter 1432 8102 10 Gigabit Ethernet PCI Express Adapter 1fc9 3015 Ethernet Adapter 4026 TN9610 10GbE SFP+ Ethernet Adapter 4c52 1000 LREC6860AF 10 Gigabit Ethernet Adapter 4027 TN9710P 10GBase-T/NBASE-T Ethernet Adapter 1154 0368 LGY-PCIE-MG 1432 8104 10 Gigabit Ethernet PCI Express Adapter 1546 4027 GE10-PCIE4XG202P 10Gbase-T/NBASE-T Ethernet Adapter 1baa 3310 PCIe Expansion Card 1fc9 3015 Ethernet Adapter 4c52 1001 LREC6860BT 10 Gigabit Ethernet Adapter 4527 TN9710Q 5GBase-T/NBASE-T Ethernet Adapter 1fcc StreamLabs f416 MS416 fb01 MH4LM 1fce Cognio Inc. 0001 Spectrum Analyzer PC Card (SAgE) 1fd4 SUNIX Co., Ltd. 0001 Matrix multiport serial adapter 1999 Multiport serial controller 2000 Smart Link Ltd. 2800 SmartPCI2800 V.92 PCI Soft DFT 2001 Temporal Research Ltd 2003 Smart Link Ltd. 8800 LM-I56N 2004 Smart Link Ltd. 2048 Beijing SpaceControl Technology Co.Ltd 20f4 TRENDnet 2116 ZyDAS Technology Corp. 21c3 21st Century Computer Corp. 22b8 Flex-Logix Technologies 22a0 Flex Logix InferX X1 Inference Accelerator 22db Missing Link Electronics, Inc. 2304 Colorgraphic Communications Corp. 2348 Racore 2010 8142 100VG/AnyLAN 2646 Kingston Technology Company, Inc. 2263 A2000 NVMe SSD 270b Xantel Corporation 270f Chaintech Computer Co. Ltd 2711 AVID Technology Inc. 2955 Connectix Virtual PC 6e61 OHCI USB 1.1 controller 2a15 3D Vision(???) 2bd8 ROPEX Industrie-Elektronik GmbH 3000 Hansol Electronics Inc. 3112 Satelco Ingenieria S.A. 3130 AUDIOTRAK 3142 Post Impression Systems. 31ab Zonet 1faa ZEW1602 802.11b/g Wireless Adapter 3388 Hint Corp 0013 HiNT HC4 PCI to ISDN bridge, Multimedia audio controller 0014 HiNT HC4 PCI to ISDN bridge, Network controller 0020 HB6 Universal PCI-PCI bridge (transparent mode) 0021 HB6 Universal PCI-PCI bridge (non-transparent mode) 1775 c200 C2K CompactPCI interface bridge 1775 ce90 CE9 4c53 1050 CT7 mainboard 4c53 1080 CT8 mainboard 4c53 1090 Cx9 mainboard 4c53 10a0 CA3/CR3 mainboard 4c53 3010 PPCI mezzanine (32-bit PMC) 4c53 3011 PPCI mezzanine (64-bit PMC) 4c53 4000 PMCCARR1 carrier board 0022 HiNT HB4 PCI-PCI Bridge (PCI6150) 0026 HB2 PCI-PCI Bridge 1014 AudioTrak Maya 1018 Audiotrak INCA88 1019 Miditrak 2120 101a E.Band [AudioTrak Inca88] 101b E.Band [AudioTrak Inca88] 8011 VXPro II Chipset 3388 8011 VXPro II Chipset CPU to PCI Bridge 8012 VXPro II Chipset 3388 8012 VXPro II Chipset PCI to ISA Bridge 8013 VXPro II IDE 3388 8013 VXPro II Chipset EIDE Controller a103 Blackmagic Design DeckLink HD Pro 3411 Quantum Designs (H.K.) Inc 3442 Bihl+Wiedemann GmbH 1783 AS-i 3.0 cPCI Master 1922 AS-i 3.0 PCI Master 3475 Arista Networks, Inc. 3513 ARCOM Control Systems Ltd 37d9 ITD Firm ltd. 1138 SCHD-PH-8 Phase detector # 12-ch Relay Actuator Card 1140 VR-12-PCI # multiport serial board 1141 PCI-485(422) 1142 PCI-CAN2 3842 eVga.com. Corp. 38ef 4Links 3d3d 3DLabs 0001 GLINT 300SX 0002 GLINT 500TX 0000 0000 GLoria L 0003 GLINT Delta 0000 0000 GLoria XL 0004 Permedia 0005 Permedia 0006 GLINT MX 0000 0000 GLoria XL 1048 0a42 GLoria XXL 0007 3D Extreme 0008 GLINT Gamma G1 1048 0a42 GLoria XXL 0009 Permedia II 2D+3D 1040 0011 AccelStar II 1048 0a42 GLoria XXL 13e9 1000 6221L-4U 3d3d 0100 AccelStar II 3D Accelerator 3d3d 0111 Permedia 3:16 3d3d 0114 Santa Ana 3d3d 0116 Oxygen GVX1 3d3d 0119 Scirocco 3d3d 0120 Santa Ana PCL 3d3d 0125 Oxygen VX1 3d3d 0127 Permedia3 Create! 000a GLINT R3 3d3d 0121 Oxygen VX1 000c GLINT R3 [Oxygen VX1] 3d3d 0144 Oxygen VX1-4X AGP [Permedia 4] 000d GLint R4 rev A 000e GLINT Gamma G2 0011 GLint R4 rev B 0012 GLint R5 rev A 0013 GLint R5 rev B 0020 VP10 visual processor 0022 VP10 visual processor 0024 VP9 visual processor 002c Wildcat Realizm 100/200 0030 Wildcat Realizm 800 0032 Wildcat Realizm 500 0100 Permedia II 2D+3D 07a1 Wildcat III 6210 07a2 Sun XVR-500 Graphics Accelerator 3d3d 1047 Sun XVR-600 Graphics Accelerator 07a3 Wildcat IV 7210 1004 Permedia 3d04 Permedia ffff Glint VGA 4005 Avance Logic Inc. 0300 ALS300 PCI Audio Device 0308 ALS300+ PCI Audio Device 0309 PCI Input Controller 1064 ALG-2064 2064 ALG-2064i 2128 ALG-2364A GUI Accelerator 2301 ALG-2301 2302 ALG-2302 2303 AVG-2302 GUI Accelerator 2364 ALG-2364A 2464 ALG-2464 2501 ALG-2564A/25128A 4000 ALS4000 Audio Chipset 4005 4000 ALS4000 Audio Chipset 4710 ALC200/200P 4033 Addtron Technology Co, Inc. 1360 RTL8139 Ethernet 4040 NetXen Incorporated 0001 NXB-10GXSR 10-Gigabit Ethernet PCIe Adapter with SR-XFP optical interface 103c 7047 NC510F PCIe 10-Gigabit Server Adapter 0002 NXB-10GCX4 10-Gigabit Ethernet PCIe Adapter with CX4 copper interface 103c 7048 NC510c PCIe 10-Gigabit Server Adapter 0003 NXB-4GCU Quad Gigabit Ethernet PCIe Adapter with 1000-BASE-T interface 0004 BladeCenter-H 10-Gigabit Ethernet High Speed Daughter Card 0005 NetXen Dual Port 10GbE Multifunction Adapter for c-Class 103c 170e NC512m Dual Port 10GbE Multifunction BL-C Adapter 0024 XG Mgmt 0025 XG Mgmt 0100 NX3031 Multifunction 1/10-Gigabit Server Adapter 103c 171b NC522m Dual Port 10GbE Multifunction BL-c Adapter 103c 1740 NC375T PCI Express Quad Port Gigabit Server Adapter 103c 3251 NC375i 1G w/NC524SFP 10G Module 103c 705a NC375i Integrated Quad Port Multifunction Gigabit Server Adapter 103c 705b NC522SFP Dual Port 10GbE Server Adapter 152d 896b TG20 Dual Port 10GbE Server/Storage Adapter 4040 0124 NX3031 Quad Port Gigabit Server Adapter 4040 0126 Dual Port SFP+ 10GbE Server Adapter 4143 Digital Equipment Corp 4144 Alpha Data 0044 ADM-XRCIIPro 4150 ONA Electroerosion 0001 PCI32TLITE FILSTRUP1 PCI to VME Bridge Controller 0006 PCI32TLITE UART 16550 Opencores 0007 PCI32TLITE CAN Controller Opencores 415a Auzentech, Inc. 416c Aladdin Knowledge Systems 0100 AladdinCARD 0200 CPC 4254 DVBSky 4321 Tata Power Strategic Electronics Division 4348 WCH.CN 2273 CH351 PCI Dual Serial Port Controller 3253 CH352 PCI Dual Serial Port Controller 3453 CH353 PCI Quad Serial Port Controller 5053 CH352 PCI Serial and Parallel Port Controller 7053 CH353 PCI Dual Serial and Parallel Ports Controller 7073 CH356 PCI Quad Serial and Parallel Ports Controller 7173 CH355 PCI Quad Serial Port Controller 434e CAST Navigation LLC 4444 Internext Compression Inc 0016 iTVC16 (CX23416) Video Decoder 0070 0003 WinTV PVR 250 0070 0009 WinTV PVR 150 0070 0801 WinTV PVR 150 0070 0807 WinTV PVR 150 0070 4001 WinTV PVR 250 0070 4009 WinTV PVR 250 0070 4801 WinTV PVR 250 0070 4803 WinTV PVR 250 0070 8003 WinTV PVR 150 0070 8801 WinTV PVR 150 0070 c801 WinTV PVR 150 0070 e807 WinTV PVR 500 (1st unit) 0070 e817 WinTV PVR 500 (2nd unit) 0070 ff92 WiNTV PVR-550 0270 0801 WinTV PVR 150 104d 013d ENX-26 TV Encoder 10fc d038 GV-MVP/RX2W (1st unit) 10fc d039 GV-MVP/RX2W (2nd unit) 12ab fff3 MPG600 12ab ffff MPG600 1461 c00a M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK3 tuner) 1461 c00b M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK3 tuner) 1461 c00c M113 PCI Analog TV (NTSC, JAPAN version, Philips FI1286MK2 tuner) 1461 c010 M113 PCI Analog TV (NTSC, Philips FI1236MK3 tuner) 1461 c011 M113 PCI Analog TV (NTSC+FM, Philips FM1236MK3 tuner) 1461 c018 M113 PCI Analog TV (NTSC, Philips FQ1236MK5 tuner) 1461 c019 UltraTV 1500 MCE, a.k.a. M113 PCI Analog TV (NTSC+FM, Philips FQ1236MK5 tuner) 1461 c01a M113 PCI Analog TV (PAL/SECAM, Philips FQ1216MK5 tuner) 1461 c01b M113 PCI Analog TV (PAL/SECAM+FM, Philips FM1216MK5 tuner) 1461 c030 M113 PCI Analog TV (NTSC-J, Partsnic tuner) 1461 c031 M113 PCI Analog TV (NTSC-J+FM, Partsnic tuner) 1461 c032 M113 PCI Analog TV (PAL/SECAM, Partsnic tuner) 1461 c033 M113 PCI Analog TV (PAL/SECAM+FM, Partsnic tuner) 1461 c034 M113 PCI Analog TV (NTSC, Partsnic tuner) 1461 c035 M113 PCI Analog TV (NTSC+FM, Partsnic tuner) 1461 c03f C115 PCI video capture card (no tuner) 1461 c136 M104 mini-PCI Analog TV 1461 c20a M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK3 tuner) 1461 c218 M755 AVerTV Video Capture (NTSC, Philips FQ1236MK5 tuner) 1461 c219 M755 AVerTV Video Capture (NTSC+FM, Philips FQ1236MK5 tuner) 1461 c21a M755 AVerTV Video Capture (PAL/SECAM, Philips FQ1216MK5 tuner) 1461 c21b M755 AVerTV Video Capture (PAL/SECAM+FM, Philips FM1216MK5 tuner) 1461 c230 M755 AVerTV Video Capture (NTSC-J, Partsnic tuner) 1461 c231 M755 AVerTV Video Capture (NTSC-J+FM, Partsnic tuner) 1461 c232 M755 AVerTV Video Capture (PAL/SECAM, Partsnic tuner) 1461 c233 M755 AVerTV Video Capture (PAL/SECAM+FM, Partsnic tuner) 1461 c234 M755 AVerTV Video Capture (NTSC, Partsnic tuner) 1461 c235 M755 AVerTV Video Capture (NTSC+FM, Partsnic tuner) 1461 c337 E106 AVerMedia AVerTV Video Capture 1461 c439 M116 AVerMedia AVerTV MCE 116 Plus (NTSC/PAL/SECAM+FM+REMOTE, Xceive 2028 tuner) 1461 c5ff C755 AVerTV Video Capture card (no tuner) 1461 c6ff C115 PCI video capture card (no tuner) 1461 c739 M785 AVerMedia PCI Analog TV (NTSC/PAL/SECAM+FM, Xceive 2028 tuner) 9005 0092 VideOh! AVC-2010 9005 0093 VideOh! AVC-2410 0803 iTVC15 (CX23415) Video Decoder 0070 4000 WinTV PVR-350 0070 4001 WinTV PVR-250 0070 4800 WinTV PVR-350 (V1) 12ab 0000 MPG160 1461 a3ce M179 1461 a3cf M179 4468 Bridgeport machines 4594 Cogetec Informatique Inc 45fb Baldor Electric Company 4624 Budker Institute of Nuclear Physics adc1 ADC200ME High speed ADC de01 DL200ME High resolution delay line PCI based card de02 DL200ME Middle resolution delay line PCI based card # Can't find any information on this company 4651 TXIC 4680 Umax Computer Corp 4843 Hercules Computer Technology Inc 4916 RedCreek Communications Inc 1960 RedCreek PCI adapter 4943 Growth Networks 494f ACCES I/O Products, Inc. 0508 PCI-IDO-16A FET Output Card 0518 PCI-IDO-32A FET Output Card 0520 PCI-IDO-48 FET Output Card 0521 PCI-IDO-48A FET Output Card 0703 PCIe-RO-4 Electromechanical Relay Output Card 07d0 PCIe-IDO-24 FET Output Card 0920 PCI-IDI-48 Isolated Digital Input Card 0bd0 PCIe-IDI-24 Isolated Digital Input Card 0c50 PCI-DIO-24H 1x 8255 Digital Input / Output Card 0c51 PCI-DIO-24D 1x 8255 Digital Input / Output Card 0c52 PCIe-DIO-24 1x 8255 Digital Input / Output Card 0c53 PCIe-DIO-24H 8255 Digital Input / Output Card 0c57 mPCIe-DIO-24 8255 Digital Input / Output Card 0c60 PCI-DIO-48H 8255 Digital Input / Output Card 0c61 PCIe-DIO-48 8255 Digital Input / Output Card 0c62 P104-DIO-48 8255 Digital Input / Output Card 0c68 PCI-DIO-72 8255 Digital Input / Output Card 0c69 P104-DIO-96 8255 Digital Input / Output Card 0c70 PCI-DIO-96 8255 Digital Input / Output Card 0c78 PCI-DIO-120 8255 Digital Input / Output Card 0dc8 PCI-IDIO-16 Isolated Digital Input / FET Output Card 0e50 PCI-DIO-24S 8255 Digital Input / Output Card 0e51 PCI-DIO-24H(C) 8255 Digital Input / Output Card 0e52 PCI-DIO-24D(C) 8255 Digital Input / Output Card 0e53 PCIe-DIO-24S 8255 Digital Input / Output Card 0e54 PCIe-DIO-24HS 8255 Digital Input / Output Card 0e55 PCIe-DIO-24DC 8255 Digital Input / Output Card 0e56 PCIe-DIO-24DCS 8255 Digital Input / Output Card 0e57 mPCIe-DIO-24S 8255 Digital Input / Output Card 0e60 PCI-DIO-48S 2x 8255 Digital Input / Output Card 0e61 PCIe-DIO-48S 2x 8255 Digital Input / Output Card 0e62 P104-DIO-48S 2x 8255 Digital Input / Output Card 0f00 PCI-IIRO-8 Isolated Digital / Relay Output Card 0f01 LPCI-IIRO-8 Isolated Digital / Relay Output Card 0f02 PCIe-IIRO-8 Isolated Digital / Relay Output Card 0f08 PCI-IIRO-16 Isolated Digital / Relay Output Card 0f09 PCIe-IIRO-16 Isolated Digital / Relay Output Card 0fc0 PCIe-IDIO-12 Isolated Digital Input / FET Output Card 0fc1 PCIe-IDI-12 Isolated Digital Input Card 0fc2 PCIe-IDO-12 FET Output Card 0fd0 PCIe-IDIO-24 Isolated Digital Input / FET Output Card 1050 PCI-422/485-2 2x RS422/RS484 Card 1051 PCIe-COM-2SRJ 2x RS422/RS484 Card w/RJ45 Connectors 1052 104I-COM-2S 2x RS422/RS484 PCI/104 Board 1053 mPCIe-COM-2S 2x RS422/RS484 PCI Express Mini Card 1058 PCI-COM422/4 4x RS422 Card 1059 PCI-COM485/4 4x RS485 Card 105a PCIe-COM422-4 4x RS422 Card 105b PCIe-COM485-4 4x RS485 Card 105c PCIe-COM-4SRJ 4x RS422/RS485 Card w/RJ45 Connectors 105d 104I-COM-4S 4x RS422/RS484 PCI/104 Board 105e mPCIe-COM-4S 4x RS422/RS484 PCI Express Mini Card 1068 PCI-COM422/8 8x RS422 Card 1069 PCI-COM485/8 8x RS485 Card 106a PCIe-COM422-8 8x RS422 Card 106b PCIe-COM485-8 8x RS485 Card 106c 104I-COM-8S 8x RS422/RS485 PCI/104 Board 1088 PCI-COM232/1 1x RS232 Card 1090 PCI-COM232/2 2x RS232 Card 1091 PCIe-COM232-2RJ 2x RS232 Card w/RJ45 Connectors 1093 mPCIe-COM232-2 2x RS232 PCI Express Mini Card 1098 PCIe-COM232-4 4x RS232 Card 1099 PCIe-COM232-4RJ 4x RS232 Card w/RJ45 Connectors 109b mPCIe-COM232-4 4x RS232 PCI Express Mini Card 10a8 P104-COM232-8 8x RS232 PC-104+ Board 10a9 PCIe-COM232-8 8x RS232 Card 10c9 PCI-COM-1S 1x RS422/RS485 Card 10d0 PCI-COM2S 2x RS422/RS485 Card 10d1 PCIe-COM-2SMRJ 2x RS232/RS422/RS485 Card w/RJ45 Connectors 10d2 104I-COM-2SM 2x RS232/RS422/RS485 PCI/104 Board 10d3 mPCIe-COM-2SM 2x RS232/RS422/RS485 PCI Express Mini Card 10d8 PCI-COM-4SM 4x RS232/RS422/RS485 Card 10d9 PCIe-COM-4SM 4x RS232/RS422/RS485 Card 10da PCIe-COM-4SMRJ 4x RS232/RS422/RS485 Card w/RJ45 Connectors 10db 104I-COM-4SM 4x RS232/RS422/RS485 PCI/104 Board 10dc mPCIe-COM-4SM 4x RS232/RS422/RS485 PCI Express Mini Card 10e8 PCI-COM-8SM 8x RS232/RS422/RS485 Card 10e9 PCIe-COM-8SM 8x RS232/RS422/RS485 Card 10ea 104I-COM-8SM 8x RS232/RS422/RS485 PCI-104 Board 1108 mPCIe-ICM485-1 1x Isolated RS485 PCI Express Mini Card 1110 mPCIe-ICM422-2 2x Isolated RS422 PCI Express Mini Card 1111 mPCIe-ICM485-2 2x Isolated RS485 PCI Express Mini Card 1118 mPCIe-ICM422-4 4x Isolated RS422 PCI Express Mini Card 1119 mPCIe-ICM485-4 4x Isolated RS485 PCI Express Mini Card 1148 PCI-ICM-1S 1x Isolated RS422/RS485 Card 1150 PCI-ICM-2S 2x Isolated RS422/RS485 Card 1152 PCIe-ICM-2S 2x Isolated RS422/RS485 Card 1158 PCI-ICM422/4 4x Isolated RS422 Card 1159 PCI-ICM485/4 4x Isolated RS485 Card 115a PCIe-ICM-4S 4x Isolated RS422/RS485 Card 1190 PCIe-ICM232-2 2x Isolated RS232 Card 1191 mPCIe-ICM232-2 2x Isolated RS232 PCI Express Mini Card 1198 PCIe-ICM232-4 4x Isolated RS232 Card 1199 mPCIe-ICM232-4 4x Isolated RS422 PCI Express Mini Card 11d0 PCIe-ICM-2SM 2x Isolated RS232/RS422/RS485 Card 11d8 PCIe-ICM-4SM 4x Isolated RS232/RS422/RS485 Card 1250 PCI-WDG-2S Watchdog and 2x Serial Card 12d0 PCI-WDG-IMPAC 2230 PCI-QUAD-8 8x Quadrature Input Card 2231 PCI-QUAD-4 4x Quadrature Input Card 22c0 PCI-WDG-CSM Watchdog Card 25c0 P104-WDG-E Watchdog PC/104+ Board 2c50 PCI-DIO-96CT 96x Digital Input / Output Card 2c58 PCI-DIO-96C3 96x Digital Input / Output Card w/3x 8254 Counter Card 2ee0 PCIe-DIO24S-CTR12 24x Digital Input / Output Card w/4x 8254 Counter Card 2fc0 P104-WDG-CSM Watchdog PC/104+ Board 2fc1 P104-WDG-CSMA Advanced Watchdog PC/104+ Board 5ed0 PCI-DAC 6c90 PCI-DA12-2 2x 12-bit Analog Output Card 6c98 PCI-DA12-4 4x 12-bit Analog Output Card 6ca0 PCI-DA12-6 6x 12-bit Analog Output Card 6ca8 PCI-DA12-8 8x 12-bit Analog Output Card 6ca9 PCI-DA12-8V 6cb0 PCI-DA12-16 16x 12-bit Analog Output Card 6cb1 PCI-DA12-16V 8ef0 P104-FAS16-16 aca8 PCI-AI12-16 12-bit 100kHz Analog Input Card aca9 PCI-AI12-16A 12-bit 100kHz Analog Input w/FIFO Card eca8 PCI-AIO12-16 12-bit 100kHz Analog Input w/2x Analog Output and FIFO Card ecaa PCI-A12-16A 12-bit 100kHz Analog Input w/2x Analog Output and FIFO Card ece8 LPCI-A16-16A 16-bit 500kHz Analog Input low-profile Card ece9 LPCI-AIO16A 16-bit 500kHz Analog Input low-profile Card 4978 Axil Computer Inc 4a14 NetVin 5000 NV5000SC 4a14 5000 RT8029-Based Ethernet Adapter 4b10 Buslogic Inc. 4c48 LUNG HWA Electronics 4c52 LR-Link 4c53 SBS Technologies 0000 PLUSTEST device 4c53 3000 PLUSTEST card (PC104+) 4c53 3001 PLUSTEST card (PMC) 0001 PLUSTEST-MM device 4c53 3002 PLUSTEST-MM card (PMC) 4ca1 Seanix Technology Inc 4d51 MediaQ Inc. 0200 MQ-200 4d54 Microtechnica Co Ltd 4d56 MATRIX VISION GmbH 0000 [mvHYPERION-CLe/CLb] CameraLink PCI Express x1 Frame Grabber 0001 [mvHYPERION-CLf/CLm] CameraLink PCI Express x4 Frame Grabber 0010 [mvHYPERION-16R16/-32R16] 16 Video Channel PCI Express x4 Frame Grabber 0020 [mvHYPERION-HD-SDI] HD-SDI PCI Express x4 Frame Grabber 0030 [mvHYPERION-HD-SDI-Merger] HD-SDI PCI Express x4 Frame Grabber 4ddc ILC Data Device Corp 0100 DD-42924I5-300 (ARINC 429 Data Bus) 0300 SB-3620 Motion Feedback Device 0340 SB-3623 Motion Feedback Device 0400 SB-3622 Motion Feedback Device 0500 SB-3621 Motion Feedback Device 0510 SB-3624 Motion Feedback Device 0801 BU-65570I1 MIL-STD-1553 Test and Simulation 0802 BU-65570I2 MIL-STD-1553 Test and Simulation 0811 BU-65572I1 MIL-STD-1553 Test and Simulation 0812 BU-65572I2 MIL-STD-1553 Test and Simulation 0881 BU-65570T1 MIL-STD-1553 Test and Simulation 0882 BU-65570T2 MIL-STD-1553 Test and Simulation 0891 BU-65572T1 MIL-STD-1553 Test and Simulation 0892 BU-65572T2 MIL-STD-1553 Test and Simulation 0901 BU-65565C1 MIL-STD-1553 Data Bus 0902 BU-65565C2 MIL-STD-1553 Data Bus 0903 BU-65565C3 MIL-STD-1553 Data Bus 0904 BU-65565C4 MIL-STD-1553 Data Bus 0b01 BU-65569I1 MIL-STD-1553 Data Bus 0b02 BU-65569I2 MIL-STD-1553 Data Bus 0b03 BU-65569I3 MIL-STD-1553 Data Bus 0b04 BU-65569I4 MIL-STD-1553 Data Bus 0d01 SB-3641 Motion Feedback Device 0d10 SB-365x Motion Feedback Device 2f00 SB-3642 Motion Feedback Device 3000 SB-3644 Motion Feedback Device 5045 University of Toronto 4243 BLASTbus PCI Interface Card v1 5046 GemTek Technology Corporation 1001 PCI Radio 5053 Voyetra Technologies 2010 Daytona Audio Adapter 50b2 TerraTec Electronic GmbH 5136 S S Technologies 5143 Qualcomm Inc 5145 Ensoniq (Old) 3031 Concert AudioPCI 5168 Animation Technologies Inc. 0300 FlyDVB-S 0301 FlyDVB-T 5301 Alliance Semiconductor Corp. 0001 ProMotion aT3D 5333 S3 Graphics Ltd. 0551 Plato/PX (system) 5631 86c325 [ViRGE] 8800 86c866 [Vision 866] 8801 86c964 [Vision 964] 8810 86c764_0 [Trio 32 vers 0] 8811 86c764/765 [Trio32/64/64V+] 8812 86cM65 [Aurora64V+] 8813 86c764_3 [Trio 32/64 vers 3] 8814 86c767 [Trio 64UV+] 8815 86cM65 [Aurora 128] 883d 86c988 [ViRGE/VX] 8870 FireGL 8880 86c868 [Vision 868 VRAM] vers 0 8881 86c868 [Vision 868 VRAM] vers 1 8882 86c868 [Vision 868 VRAM] vers 2 8883 86c868 [Vision 868 VRAM] vers 3 88b0 86c928 [Vision 928 VRAM] vers 0 88b1 86c928 [Vision 928 VRAM] vers 1 88b2 86c928 [Vision 928 VRAM] vers 2 88b3 86c928 [Vision 928 VRAM] vers 3 88c0 86c864 [Vision 864 DRAM] vers 0 88c1 86c864 [Vision 864 DRAM] vers 1 88c2 86c864 [Vision 864-P DRAM] vers 2 88c3 86c864 [Vision 864-P DRAM] vers 3 88d0 86c964 [Vision 964 VRAM] vers 0 88d1 86c964 [Vision 964 VRAM] vers 1 88d2 86c964 [Vision 964-P VRAM] vers 2 88d3 86c964 [Vision 964-P VRAM] vers 3 88f0 86c968 [Vision 968 VRAM] rev 0 88f1 86c968 [Vision 968 VRAM] rev 1 88f2 86c968 [Vision 968 VRAM] rev 2 88f3 86c968 [Vision 968 VRAM] rev 3 8900 86c755 [Trio 64V2/DX] 5333 8900 86C775 Trio64V2/DX 8901 86c775/86c785 [Trio 64V2/DX or /GX] 5333 8901 86C775 Trio64V2/DX, 86C785 Trio64V2/GX 8902 Plato/PX 8903 Trio 3D business multimedia 8904 86c365, 86c366 [Trio 3D] 1014 00db Integrated Trio3D 4843 314a Terminator 128/3D GLH 5333 8904 86C365 Trio3D AGP 8905 Trio 64V+ family 8906 Trio 64V+ family 8907 Trio 64V+ family 8908 Trio 64V+ family 8909 Trio 64V+ family 890a Trio 64V+ family 890b Trio 64V+ family 890c Trio 64V+ family 890d Trio 64V+ family 890e Trio 64V+ family 890f Trio 64V+ family 8a01 86c375 [ViRGE/DX] or 86c385 [ViRGE/GX] 0e11 b032 ViRGE/GX 10b4 1617 Nitro 3D 10b4 1717 Nitro 3D 5333 8a01 ViRGE/DX 8a10 ViRGE/GX2 1092 8a10 Stealth 3D 4000 8a13 86c360 [Trio 3D/1X], 86c362, 86c368 [Trio 3D/2X] 5333 8a13 Trio3D/2X 8a20 86c794 [Savage 3D] 5333 8a20 86C391 Savage3D 8a21 86c390 [Savage 3D/MV] 5333 8a21 86C390 Savage3D/MV 8a22 Savage 4 1033 8068 Savage 4 1033 8069 Savage 4 1033 8110 Savage 4 LT 105d 0018 SR9 8Mb SDRAM 105d 002a SR9 Pro 16Mb SDRAM 105d 003a SR9 Pro 32Mb SDRAM 105d 092f SR9 Pro+ 16Mb SGRAM 1092 4207 Stealth III S540 1092 4800 Stealth III S540 1092 4807 SpeedStar A90 1092 4808 Stealth III S540 1092 4809 Stealth III S540 1092 480e Stealth III S540 1092 4904 Stealth III S520 1092 4905 SpeedStar A200 1092 4a09 Stealth III S540 1092 4a0b Stealth III S540 Xtreme 1092 4a0f Stealth III S540 1092 4e01 Stealth III S540 1102 101d 3d Blaster Savage 4 1102 101e 3d Blaster Savage 4 5333 8100 86C394-397 Savage4 SDRAM 100 5333 8110 86C394-397 Savage4 SDRAM 110 5333 8125 86C394-397 Savage4 SDRAM 125 5333 8143 86C394-397 Savage4 SDRAM 143 5333 8a22 86C394-397 Savage4 5333 8a2e 86C394-397 Savage4 32bit 5333 9125 86C394-397 Savage4 SGRAM 125 5333 9143 86C394-397 Savage4 SGRAM 143 8a23 Savage 4 8a25 ProSavage PM133 0303 0303 D9840-60001 [Brio BA410 Motherboard] 8a26 ProSavage KM133 8c00 ViRGE/M3 8c01 ViRGE/MX 1179 0001 ViRGE/MX 8c02 ViRGE/MX+ 8c03 ViRGE/MX+MV 8c10 86C270-294 [SavageMX-MV] 8c11 82C270-294 [SavageMX] 8c12 86C270-294 [SavageIX-MV] 1014 017f ThinkPad T20/T22 1179 0001 86C584 SuperSavage/IXC Toshiba 8c13 86C270-294 [SavageIX] 1179 0001 Magnia Z310 8c22 SuperSavage MX/128 8c24 SuperSavage MX/64 8c26 SuperSavage MX/64C 8c2a SuperSavage IX/128 SDR 8c2b SuperSavage IX/128 DDR 8c2c SuperSavage IX/64 SDR 8c2d SuperSavage IX/64 DDR 8c2e SuperSavage IX/C SDR 1014 01fc ThinkPad T23 8c2f SuperSavage IX/C DDR 8d01 86C380 [ProSavageDDR K4M266] 8d02 VT8636A [ProSavage KN133] AGP4X VGA Controller (TwisterK) 8d03 VT8751 [ProSavageDDR P4M266] 8d04 VT8375 [ProSavage8 KM266/KL266] 8e00 DeltaChrome 8e26 ProSavage 8e40 2300E Graphics Processor 8e48 Matrix [Chrome S25 / S27] 5333 0130 Chrome S27 256M DDR2 9043 Chrome 430 GT 9045 Chrome 430 ULP / 435 ULP / 440 GTX 9060 Chrome 530 GT 9102 86C410 [Savage 2000] 1092 5932 Viper II Z200 1092 5934 Viper II Z200 1092 5952 Viper II Z200 1092 5954 Viper II Z200 1092 5a35 Viper II Z200 1092 5a37 Viper II Z200 1092 5a55 Viper II Z200 1092 5a57 Viper II Z200 ca00 SonicVibes 5431 AuzenTech, Inc. 544c Teralogic Inc 0350 TL880-based HDTV/ATSC tuner 544d TBS Technologies 6178 DVB Tuner PCIe Card 544d 6904 TBS6904 DVB-S2 Quad Tuner PCIe Card 544d 6905 TBS6905 DVB-S2 Quad Tuner PCIe Card 6205 0001 TBS6205 DVB-T2/T/C Quad TV Tuner PCIe Card 6209 0001 TBS6209 DVB-T2/C2/T/C/ISDB-T OctaTV Tuner 5452 SCANLAB AG 3443 RTC4 5455 Technische Universitaet Berlin 4458 S5933 5456 GoTView 5519 Cnet Technologies, Inc. 5544 Dunord Technologies 0001 I-30xx Scanner Interface 5555 Genroco, Inc 0003 TURBOstor HFP-832 [HiPPI NIC] 3b00 Epiphan DVI2PCIe video capture card 5646 Vector Fabrics BV 5654 VoiceTronix Pty Ltd 5678 Dawicontrol Computersysteme GmbH 5700 Netpower # alternately Extreme Engineering Solutions, Inc. 5845 X-ES, Inc. 584d AuzenTech Co., Ltd. 5851 Exacq Technologies 8008 tDVR8008 8-port video capture card 8016 tDVR8016 16-chan video capture card 8032 tDVR8032 32-chan video capture card 5853 XenSource, Inc. 0001 Xen Platform Device c000 Citrix XenServer PCI Device for Windows Update # Virtual device surfaced in guests to provide HID events. c110 Virtualized HID # Device surfaced in guests to provide 2d graphics capabilities c147 Virtualized Graphics Device c200 XCP-ng Project PCI Device for Windows Update 5854 GoTView 5ace Beholder International Ltd. 6205 TBS Technologies (wrong ID) 6209 TBS Technologies (wrong ID) 631c SmartInfra Ltd 1652 PXI-1652 Signal Generator 2504 PXI-2504 Signal Interrogator 6356 UltraStor 6374 c't Magazin fuer Computertechnik 6773 GPPCI 6409 Logitec Corp. 6549 Teradici Corp. 1200 TERA1200 PC-over-IP Host 6666 Decision Computer International Co. 0001 PCCOM4 0002 PCCOM8 0004 PCCOM2 0101 PCI 8255/8254 I/O Card 0200 12-bit AD/DA Card 0201 14-bit AD/DA Card 1011 Industrial Card 1021 8 photo couple 8 relay Card 1022 4 photo couple 4 relay Card 1025 16 photo couple 16 relay Card 4000 WatchDog Card 6688 Zycoo Co., Ltd 1200 CooVox TDM Analog Module 1400 CooVOX TDM GSM Module 1600 CooVOX TDM E1/T1 Module 1800 CooVOX TDM BRI Module # nee Qumranet 6900 Red Hat, Inc. 7063 pcHDTV 2000 HD-2000 3000 HD-3000 5500 HD5500 HDTV 7284 HT OMEGA Inc. 7357 IOxOS Technologies SA 7910 7910 [Althea] 7401 EndRun Technologies e100 PTP3100 PCIe PTP Slave Clock 7470 TP-LINK Technologies Co., Ltd. 7604 O.N. Electronic Co Ltd. 7bde MIDAC Corporation 7fed PowerTV 8008 Quancom Electronic GmbH 0010 WDOG1 [PCI-Watchdog 1] 0011 PWDOG2 [PCI-Watchdog 2] 0015 Clock77/PCI & Clock77/PCIe (DCF-77 receiver) # Wrong ID used in subsystem ID of AsusTek PCI-USB2 PCI card. 807d Asustek Computer, Inc. 8086 Intel Corporation 0007 82379AB 0008 Extended Express System Support Controller 0039 21145 Fast Ethernet 0040 Core Processor DRAM Controller 0041 Core Processor PCI Express x16 Root Port 0042 Core Processor Integrated Graphics Controller 0043 Core Processor Secondary PCI Express Root Port 0044 Core Processor DRAM Controller 1025 0347 Aspire 7740G 1025 0487 TravelMate 5742 1028 040a Latitude E6410 144d c06a R730 Laptop 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] e4bf 50c1 PC1-GROOVE 0045 Core Processor PCI Express x16 Root Port 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 0046 Core Processor Integrated Graphics Controller 1028 040a Latitude E6410 144d c06a R730 Laptop 17c0 10d9 Medion Akoya E7214 Notebook PC [MD98410] e4bf 50c1 PC1-GROOVE 0047 Core Processor Secondary PCI Express Root Port 0048 Core Processor DRAM Controller 0049 Core Processor PCI Express x16 Root Port 004a Core Processor Integrated Graphics Controller 004b Core Processor Secondary PCI Express Root Port 0050 Core Processor Thermal Management Controller 0069 Core Processor DRAM Controller 0082 Centrino Advanced-N 6205 [Taylor Peak] 8086 1301 Centrino Advanced-N 6205 AGN 8086 1306 Centrino Advanced-N 6205 ABG 8086 1307 Centrino Advanced-N 6205 BG 8086 1321 Centrino Advanced-N 6205 AGN 8086 1326 Centrino Advanced-N 6205 ABG 0083 Centrino Wireless-N 1000 [Condor Peak] 8086 1205 Centrino Wireless-N 1000 BGN 8086 1206 Centrino Wireless-N 1000 BG 8086 1225 Centrino Wireless-N 1000 BGN 8086 1226 Centrino Wireless-N 1000 BG 8086 1305 Centrino Wireless-N 1000 BGN 8086 1306 Centrino Wireless-N 1000 BG 8086 1325 Centrino Wireless-N 1000 BGN 8086 1326 Centrino Wireless-N 1000 BG 0084 Centrino Wireless-N 1000 [Condor Peak] 8086 1215 Centrino Wireless-N 1000 BGN 8086 1216 Centrino Wireless-N 1000 BG 8086 1315 Centrino Wireless-N 1000 BGN 8086 1316 Centrino Wireless-N 1000 BG 0085 Centrino Advanced-N 6205 [Taylor Peak] 8086 1311 Centrino Advanced-N 6205 (802.11a/b/g/n) 8086 1316 Centrino Advanced-N 6205 ABG 0087 Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] 8086 1301 Centrino Advanced-N + WiMAX 6250 2x2 AGN 8086 1306 Centrino Advanced-N + WiMAX 6250 2x2 ABG 8086 1321 Centrino Advanced-N + WiMAX 6250 2x2 AGN 8086 1326 Centrino Advanced-N + WiMAX 6250 2x2 ABG 0089 Centrino Advanced-N + WiMAX 6250 [Kilmer Peak] 8086 1311 Centrino Advanced-N + WiMAX 6250 2x2 AGN 8086 1316 Centrino Advanced-N + WiMAX 6250 2x2 ABG 008a Centrino Wireless-N 1030 [Rainbow Peak] 8086 5305 Centrino Wireless-N 1030 BGN 8086 5307 Centrino Wireless-N 1030 BG 8086 5325 Centrino Wireless-N 1030 BGN 8086 5327 Centrino Wireless-N 1030 BG 008b Centrino Wireless-N 1030 [Rainbow Peak] 8086 5315 Centrino Wireless-N 1030 BGN 8086 5317 Centrino Wireless-N 1030 BG 0090 Centrino Advanced-N 6230 [Rainbow Peak] 8086 5211 Centrino Advanced-N 6230 AGN 8086 5215 Centrino Advanced-N 6230 BGN 8086 5216 Centrino Advanced-N 6230 ABG 0091 Centrino Advanced-N 6230 [Rainbow Peak] 8086 5201 Centrino Advanced-N 6230 AGN 8086 5205 Centrino Advanced-N 6230 BGN 8086 5206 Centrino Advanced-N 6230 ABG 8086 5207 Centrino Advanced-N 6230 BG 8086 5221 Centrino Advanced-N 6230 AGN 8086 5225 Centrino Advanced-N 6230 BGN 8086 5226 Centrino Advanced-N 6230 ABG 0100 2nd Generation Core Processor Family DRAM Controller 1028 04aa XPS 8300 1043 844d P8P67/P8H67 Series Motherboard 0101 Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port 1028 04b2 Vostro 3350 106b 00dc MacBookPro8,2 [Core i7, 15", 2011] 144d c652 NP300E5C series laptop 0102 2nd Generation Core Processor Family Integrated Graphics Controller 1028 04aa XPS 8300 1043 0102 P8H67 Series Motherboard 0104 2nd Generation Core Processor Family DRAM Controller 1028 04a3 Precision M4600 1028 04b2 Vostro 3350 1028 04da Vostro 3750 106b 00dc MacBookPro8,2 [Core i7, 15", 2011] 144d c652 NP300E5C series laptop 17aa 21cf ThinkPad T520 0105 Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port 106b 00dc MacBookPro8,2 [Core i7, 15", 2011] 0106 2nd Generation Core Processor Family Integrated Graphics Controller 0108 Xeon E3-1200 Processor Family DRAM Controller 0109 Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port 010a Xeon E3-1200 Processor Family Integrated Graphics Controller 010b Xeon E3-1200/2nd Generation Core Processor Family Integrated Graphics Controller 010c Xeon E3-1200/2nd Generation Core Processor Family DRAM Controller 010d Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port 010e Xeon E3-1200/2nd Generation Core Processor Family Integrated Graphics Controller 0112 2nd Generation Core Processor Family Integrated Graphics Controller 0116 2nd Generation Core Processor Family Integrated Graphics Controller 1028 04da Vostro 3750 144d c652 integrated HD 3000 graphics controller on NP300E5C series laptop 0122 2nd Generation Core Processor Family Integrated Graphics Controller 0126 2nd Generation Core Processor Family Integrated Graphics Controller 1028 04cc Vostro 3350 17aa 21ce ThinkPad T420 17aa 21cf ThinkPad T520 0150 Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller 1043 84ca P8 series motherboard 1458 d000 Ivy Bridge GT1 [HD Graphics] 15d9 0624 X9SCM-F Motherboard 1849 0150 Motherboard 0151 Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port 1043 1477 N56VZ 1043 844d P8 series motherboard 1043 84ca P8H77-I Motherboard 8086 2010 Server Board S1200BTS 0152 Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller 1043 84ca P8H77-I Motherboard 0153 3rd Gen Core Processor Thermal Subsystem 1043 1517 Zenbook Prime UX31A 0154 3rd Gen Core processor DRAM Controller 1025 0806 Aspire E1-470G 1025 0813 Aspire R7-571 103c 17f6 ProBook 4540s 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 10cf 16bf LIFEBOOK E752 0155 Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port 8086 2010 Server Board S1200BTS 0156 3rd Gen Core processor Graphics Controller 1043 108d VivoBook X202EV 0158 Xeon E3-1200 v2/Ivy Bridge DRAM Controller 1043 844d P8 series motherboard 8086 2010 Server Board S1200BT Family 0159 Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port 015a Xeon E3-1200 v2/Ivy Bridge Graphics Controller 015c Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller 015d Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port 1043 844d P8 series motherboard 015e Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller 0162 Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller 1043 84ca P8 series motherboard 1849 0162 Motherboard 0166 3rd Gen Core processor Graphics Controller 1043 1517 Zenbook Prime UX31A 1043 2103 N56VZ 10cf 16c1 LIFEBOOK E752 016a Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller 1043 844d P8B WS Motherboard 0172 Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller 0176 3rd Gen Core processor Graphics Controller 0284 Comet Lake PCH-LP LPC Premium Controller/eSPI Controller 02a3 Comet Lake PCH-LP SMBus Host Controller 02a4 Comet Lake SPI (flash) Controller 02a6 Comet Lake North Peak 02c8 Comet Lake PCH-LP cAVS 02d3 Comet Lake SATA AHCI Controller 02e0 Comet Lake Management Engine Interface 02e8 Serial IO I2C Host Controller 02e9 Comet Lake Serial IO I2C Host Controller 02ed Comet Lake PCH-LP USB 3.1 xHCI Host Controller 02ef Comet Lake PCH-LP Shared SRAM 02f0 Comet Lake PCH-LP CNVi WiFi 8086 0034 Wireless-AC 9560 160MHz 8086 0070 Wi-Fi 6 AX201 160MHz 8086 0074 Wi-Fi 6 AX201 160MHz 02f5 Comet Lake PCH-LP SCS3 02f9 Comet Lake Thermal Subsytem 02fc Comet Lake Integrated Sensor Solution 0309 80303 I/O Processor PCI-to-PCI Bridge 030d 80312 I/O Companion Chip PCI-to-PCI Bridge 0326 6700/6702PXH I/OxAPIC Interrupt Controller A 103c 3208 ProLiant DL140 G2 1775 1100 CR11/VR11 Single Board Computer 0327 6700PXH I/OxAPIC Interrupt Controller B 103c 3208 ProLiant DL140 G2 1775 1100 CR11/VR11 Single Board Computer 0329 6700PXH PCI Express-to-PCI Bridge A 032a 6700PXH PCI Express-to-PCI Bridge B 032c 6702PXH PCI Express-to-PCI Bridge A 0330 80332 [Dobson] I/O processor (A-Segment Bridge) 0331 80332 [Dobson] I/O processor (A-Segment IOAPIC) 0332 80332 [Dobson] I/O processor (B-Segment Bridge) 0333 80332 [Dobson] I/O processor (B-Segment IOAPIC) 0334 80332 [Dobson] I/O processor (ATU) 0335 80331 [Lindsay] I/O processor (PCI-X Bridge) 0336 80331 [Lindsay] I/O processor (ATU) 0340 41210 [Lanai] Serial to Parallel PCI Bridge (A-Segment Bridge) 0341 41210 [Lanai] Serial to Parallel PCI Bridge (B-Segment Bridge) 0370 80333 Segment-A PCIe Express to PCI-X bridge 0371 80333 A-Bus IOAPIC 0372 80333 Segment-B PCIe Express to PCI-X bridge 0373 80333 B-Bus IOAPIC 0374 80333 Address Translation Unit 0402 Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller 0406 Haswell Integrated Graphics Controller 040a Xeon E3-1200 v3 Processor Integrated Graphics Controller 0412 Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller 103c 1998 EliteDesk 800 G1 17aa 309f ThinkCentre M83 0416 4th Gen Core Processor Integrated Graphics Controller 17aa 220e ThinkPad T440p 041a Xeon E3-1200 v3 Processor Integrated Graphics Controller 041e 4th Generation Core Processor Family Integrated Graphics Controller 0434 DH89XXCC Series QAT 0435 DH895XCC Series QAT 0436 DH8900CC Null Device 0438 DH8900CC Series Gigabit Network Connection 043a DH8900CC Series Gigabit Fiber Network Connection 043c DH8900CC Series Gigabit Backplane Network Connection 0440 DH8900CC Series Gigabit SFP Network Connection 0442 DH89XXCC Series QAT Virtual Function 0443 DH895XCC Series QAT Virtual Function 0482 82375EB/SB PCI to EISA Bridge 0483 82424TX/ZX [Saturn] CPU to PCI bridge 0484 82378ZB/IB, 82379AB (SIO, SIO.A) PCI to ISA Bridge 0486 82425EX/ZX [Aries] PCIset with ISA bridge 04a3 82434LX/NX [Mercury/Neptune] Processor to PCI bridge 04d0 82437FX [Triton FX] 0500 E8870 Processor bus control 0501 E8870 Memory controller # and registers common to both SPs 0502 E8870 Scalability Port 0 # and global performance monitoring 0503 E8870 Scalability Port 1 0510 E8870IO Hub Interface Port 0 registers (8-bit compatibility port) 0511 E8870IO Hub Interface Port 1 registers 0512 E8870IO Hub Interface Port 2 registers 0513 E8870IO Hub Interface Port 3 registers 0514 E8870IO Hub Interface Port 4 registers 0515 E8870IO General SIOH registers 0516 E8870IO RAS registers 0530 E8870SP Scalability Port 0 registers 0531 E8870SP Scalability Port 1 registers 0532 E8870SP Scalability Port 2 registers 0533 E8870SP Scalability Port 3 registers 0534 E8870SP Scalability Port 4 registers 0535 E8870SP Scalability Port 5 registers # (bi-interleave 0) and global registers that are neither per-port nor per-interleave 0536 E8870SP Interleave registers 0 and 1 # (bi-interleave 1) 0537 E8870SP Interleave registers 2 and 3 0600 RAID Controller 8086 0136 SRCU31L 8086 01af SRCZCR 8086 01c1 ICP Vortex GDT8546RZ 8086 01f7 SCRU32 # uninitialized SRCU32 RAID Controller 061f 80303 I/O Processor 068d Comet Lake LPC Controller 06a3 Comet Lake PCH SMBus Controller 06a4 Comet Lake PCH SPI Controller 06a8 Comet Lake PCH Serial IO UART Host Controller #0 06a9 Comet Lake PCH Serial IO UART Host Controller #1 06aa Comet Lake PCH Serial IO SPI Controller #0 06ab Comet Lake PCH Serial IO SPI Controller #1 06ac Comet Lake PCI Express Root Port #21 06b0 Comet Lake PCI Express Root Port #9 06c0 Comet Lake PCI Express Root Port #17 06c8 Comet Lake PCH cAVS 06e0 Comet Lake HECI Controller 06e8 Comet Lake PCH Serial IO I2C Controller #0 06e9 Comet Lake PCH Serial IO I2C Controller #1 06ea Comet Lake PCH Serial IO I2C Controller #2 06eb Comet Lake PCH Serial IO I2C Controller #3 06ed Comet Lake USB 3.1 xHCI Host Controller 06ef Comet Lake PCH Shared SRAM 06f0 Comet Lake PCH CNVi WiFi 8086 0034 Wireless-AC 9560 8086 0074 Wi-Fi 6 AX201 160MHz 8086 02a4 Wireless-AC 9462 06f9 Comet Lake PCH Thermal Controller 06fb Comet Lake PCH Serial IO SPI Controller #2 0700 CE Media Processor A/V Bridge 0701 CE Media Processor NAND Flash Controller 0703 CE Media Processor Media Control Unit 1 0704 CE Media Processor Video Capture Interface 0707 CE Media Processor SPI Slave 0708 CE Media Processor 4100 0800 Moorestown SPI Ctrl 0 0801 Moorestown SPI Ctrl 1 0802 Moorestown I2C 0 0803 Moorestown I2C 1 0804 Moorestown I2C 2 0805 Moorestown Keyboard Ctrl 0806 Moorestown USB Ctrl 0807 Moorestown SD Host Ctrl 0 0808 Moorestown SD Host Ctrl 1 0809 Moorestown NAND Ctrl 080a Moorestown Audio Ctrl 080b Moorestown ISP 080c Moorestown Security Controller 080d Moorestown External Displays 080e Moorestown SCU IPC 080f Moorestown GPIO Controller 0810 Moorestown Power Management Unit 0811 Moorestown OTG Ctrl 0812 Moorestown SPI Ctrl 2 0813 Moorestown SC DMA 0814 Moorestown LPE DMA 0815 Moorestown SSP0 0817 Medfield Serial IO I2C Controller #3 0818 Medfield Serial IO I2C Controller #4 0819 Medfield Serial IO I2C Controller #5 081a Medfield GPIO Controller [Core] 081b Medfield Serial IO HSUART Controller #1 081c Medfield Serial IO HSUART Controller #2 081d Medfield Serial IO HSUART Controller #3 081e Medfield Serial IO HSUART DMA Controller 081f Medfield GPIO Controller [AON] 0820 Medfield SD Host Controller 0821 Medfield SDIO Controller #1 0822 Medfield SDIO Controller #2 0823 Medfield eMMC Controller #0 0824 Medfield eMMC Controller #1 0827 Medfield Serial IO DMA Controller 0828 Medfield Power Management Unit 0829 Medfield USB Device Controller (OTG) 082a Medfield SCU IPC 082c Medfield Serial IO I2C Controller #0 082d Medfield Serial IO I2C Controller #1 082e Medfield Serial IO I2C Controller #2 0885 Centrino Wireless-N + WiMAX 6150 8086 1305 Centrino Wireless-N + WiMAX 6150 BGN 8086 1307 Centrino Wireless-N + WiMAX 6150 BG 8086 1325 Centrino Wireless-N + WiMAX 6150 BGN 8086 1327 Centrino Wireless-N + WiMAX 6150 BG 0886 Centrino Wireless-N + WiMAX 6150 8086 1315 Centrino Wireless-N + WiMAX 6150 BGN 8086 1317 Centrino Wireless-N + WiMAX 6150 BG 0887 Centrino Wireless-N 2230 8086 4062 Centrino Wireless-N 2230 BGN 8086 4462 Centrino Wireless-N 2230 BGN 0888 Centrino Wireless-N 2230 8086 4262 Centrino Wireless-N 2230 BGN 088e Centrino Advanced-N 6235 8086 4060 Centrino Advanced-N 6235 AGN 8086 4460 Centrino Advanced-N 6235 AGN 088f Centrino Advanced-N 6235 8086 4260 Centrino Advanced-N 6235 AGN 0890 Centrino Wireless-N 2200 8086 4022 Centrino Wireless-N 2200 BGN 8086 4422 Centrino Wireless-N 2200 BGN 8086 4822 Centrino Wireless-N 2200 BGN 0891 Centrino Wireless-N 2200 8086 4222 Centrino Wireless-N 2200 BGN 0892 Centrino Wireless-N 135 8086 0062 Centrino Wireless-N 135 BGN 8086 0462 Centrino Wireless-N 135 BGN 0893 Centrino Wireless-N 135 8086 0262 Centrino Wireless-N 135 BGN 0894 Centrino Wireless-N 105 8086 0022 Centrino Wireless-N 105 BGN 8086 0422 Centrino Wireless-N 105 BGN 8086 0822 Centrino Wireless-N 105 BGN 0895 Centrino Wireless-N 105 8086 0222 Centrino Wireless-N 105 BGN 0896 Centrino Wireless-N 130 8086 5005 Centrino Wireless-N 130 BGN 8086 5007 Centrino Wireless-N 130 BG 8086 5025 Centrino Wireless-N 130 BGN 8086 5027 Centrino Wireless-N 130 BG 0897 Centrino Wireless-N 130 8086 5015 Centrino Wireless-N 130 BGN 8086 5017 Centrino Wireless-N 130 BG 08a7 Quark SoC X1000 SDIO / eMMC Controller 08ae Centrino Wireless-N 100 8086 1005 Centrino Wireless-N 100 BGN 8086 1007 Centrino Wireless-N 100 BG 8086 1025 Centrino Wireless-N 100 BGN 8086 1027 Centrino Wireless-N 100 BG 08af Centrino Wireless-N 100 8086 1015 Centrino Wireless-N 100 BGN 8086 1017 Centrino Wireless-N 100 BG 08b1 Wireless 7260 # Wilkins Peak 2 8086 4020 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 402a Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4060 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4062 Wireless-N 7260 # Wilkins Peak 2 8086 406a Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4070 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4072 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4160 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4162 Wireless-N 7260 # Wilkins Peak 2 8086 4170 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4420 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4460 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4462 Wireless-N 7260 # Wilkins Peak 2 8086 446a Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4470 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4472 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4560 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4570 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 486e Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4870 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4a6c Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4a6e Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4a70 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4c60 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4c70 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 5070 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 5072 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 5170 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 5770 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c020 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c02a Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c060 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c062 Wireless-N 7260 # Wilkins Peak 2 8086 c06a Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c070 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c072 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c160 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c162 Wireless-N 7260 # Wilkins Peak 2 8086 c170 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c360 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c420 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c460 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c462 Wireless-N 7260 # Wilkins Peak 2 8086 c470 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c472 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c560 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c570 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c760 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c770 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 cc60 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 cc70 Dual Band Wireless-AC 7260 08b2 Wireless 7260 # Wilkins Peak 2 8086 4220 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4260 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4262 Wireless-N 7260 # Wilkins Peak 2 8086 426a Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4270 Wireless-N 7260 # Wilkins Peak 2 8086 4272 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 4360 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 4370 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c220 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c260 Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c262 Wireless-N 7260 # Wilkins Peak 2 8086 c26a Dual Band Wireless-N 7260 # Wilkins Peak 2 8086 c270 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c272 Dual Band Wireless-AC 7260 # Wilkins Peak 2 8086 c370 Dual Band Wireless-AC 7260 08b3 Wireless 3160 # Wilkins Peak 1 8086 0060 Dual Band Wireless-N 3160 # Wilkins Peak 1 8086 0062 Wireless-N 3160 # Wilkins Peak 1 8086 0070 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 0072 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 0170 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 0172 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 0260 Dual Band Wireless-N 3160 # Wilkins Peak 1 8086 0470 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 0472 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 1070 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 1170 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 8060 Dual Band Wireless N-3160 # Wilkins Peak 1 8086 8062 Wireless N-3160 # Wilkins Peak 1 8086 8070 Dual Band Wireless AC 3160 # Wilkins Peak 1 8086 8072 Dual Band Wireless AC 3160 # Wilkins Peak 1 8086 8170 Dual Band Wireless AC 3160 # Wilkins Peak 1 8086 8172 Dual Band Wireless AC 3160 # Wilkins Peak 1 8086 8470 Dual Band Wireless AC 3160 # Wilkins Peak 1 8086 8570 Dual Band Wireless AC 3160 08b4 Wireless 3160 # Wilkins Peak 1 8086 0270 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 0272 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 0370 Dual Band Wireless-AC 3160 # Wilkins Peak 1 8086 8260 Dual Band Wireless AC 3160 # Wilkins Peak 1 8086 8270 Dual Band Wireless AC 3160 # Wilkins Peak 1 8086 8272 Dual Band Wireless AC 3160 # Wilkins Peak 1 8086 8370 Dual Band Wireless AC 3160 # PowerVR SGX 545 08cf Atom Processor Z2760 Integrated Graphics Controller 0934 Quark SoC X1000 I2C Controller and GPIO Controller 0935 Quark SoC X1000 SPI Controller 0936 Quark SoC X1000 HS-UART 0937 Quark SoC X1000 10/100 Ethernet MAC 0939 Quark SoC X1000 USB EHCI Host Controller / USB 2.0 Device 093a Quark SoC X1000 USB OHCI Host Controller 0953 PCIe Data Center SSD 8086 3702 DC P3700 SSD 8086 3703 DC P3700 SSD [2.5" SFF] 8086 3704 DC P3500 SSD [Add-in Card] 8086 3705 DC P3500 SSD [2.5" SFF] 8086 3709 DC P3600 SSD [Add-in Card] 8086 370a DC P3600 SSD [2.5" SFF] 8086 370d SSD 750 Series [Add-in Card] 8086 370e SSD 750 Series [2.5" SFF] 0958 Quark SoC X1000 Host Bridge 095a Wireless 7265 # Stone Peak 2 AC 8086 1010 Dual Band Wireless-AC 7265 # Stone Peak 2 AGN 8086 5000 Dual Band Wireless-N 7265 # Stone Peak 2 BGN 8086 5002 Wireless-N 7265 # Stone Peak 2 AGN 8086 500a Dual Band Wireless-N 7265 # Stone Peak 2 AC 8086 5010 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 5012 Dual Band Wireless-AC 7265 # Stone Peak 2 AGN 8086 5020 Dual Band Wireless-N 7265 # Stone Peak 2 AGN 8086 502a Dual Band Wireless-N 7265 # Maple Peak AC 8086 5090 Dual Band Wireless-AC 7265 # Stone Peak 2 AGN 8086 5100 Dual Band Wireless-AC 7265 # Stone Peak 2 BGN 8086 5102 Wireless-N 7265 # Stone Peak 2 AGN 8086 510a Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 5110 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 5112 Dual Band Wireless-AC 7265 # Maple Peak AC 8086 5190 Dual Band Wireless-AC 7265 # Stone Peak 2 AGN 8086 5400 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 5410 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 5412 Dual Band Wireless-AC 7265 # Stone Peak 2 AGN 8086 5420 Dual Band Wireless-N 7265 # Maple Peak AC 8086 5490 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 5510 Dual Band Wireless-AC 7265 # Maple Peak AC 8086 5590 Dual Band Wireless-AC 7265 # Stone Peak 2 AGN 8086 9000 Dual Band Wireless-AC 7265 # Stone Peak 2 AGN 8086 900a Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 9010 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 9012 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 9110 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 9112 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 9210 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 9310 Dual Band Wireless-AC 7265 # Stone Peak 2 AGN 8086 9400 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 9410 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 9510 Dual Band Wireless-AC 7265 095b Wireless 7265 # Stone Peak 2 AGN 8086 5200 Dual Band Wireless-N 7265 # Stone Peak 2 BGN 8086 5202 Wireless-N 7265 # Stone Peak 2 AGN 8086 520a Dual Band Wireless-N 7265 # Stone Peak 2 AC 8086 5210 Dual Band Wireless-AC 7265 # Stone Peak 2 AC 8086 5212 Dual Band Wireless-AC 7265 # Maple Peak AC 8086 5290 Dual Band Wireless-AC 7265 # Stone Peak 2 BGN 8086 5302 Wireless-N 7265 # Stone Peak 2 AC 8086 5310 Dual Band Wireless-AC 7265 # Stone Peak 2 AGN 8086 9200 Dual Band Wireless-AC 7265 095e Quark SoC X1000 Legacy Bridge 0960 80960RP (i960RP) Microprocessor/Bridge 0962 80960RM (i960RM) Bridge 0964 80960RP (i960RP) Microprocessor/Bridge 0a03 Haswell-ULT Thermal Subsystem 0a04 Haswell-ULT DRAM Controller 17aa 2214 ThinkPad X240 0a06 Haswell-ULT Integrated Graphics Controller 0a0c Haswell-ULT HD Audio Controller 17aa 2214 ThinkPad X240 0a16 Haswell-ULT Integrated Graphics Controller 17aa 2214 ThinkPad X240 0a22 Haswell-ULT Integrated Graphics Controller 0a26 Haswell-ULT Integrated Graphics Controller 0a2a Haswell-ULT Integrated Graphics Controller 0a2e Haswell-ULT Integrated Graphics Controller 0a53 DC P3520 SSD 0a54 NVMe Datacenter SSD [3DNAND, Beta Rock Controller] 1028 1fe1 Express Flash NVMe 1TB 2.5" U.2 (P4500) 1028 1fe2 Express Flash NVMe 2TB 2.5" U.2 (P4500) 1028 1fe3 Express Flash NVMe 4TB 2.5" U.2 (P4500) 1028 1fe4 Express Flash NVMe 4TB HHHL AIC (P4500) 1028 1fee Express Flash NVMe 1.6TB 2.5" U.2 (P4610) 1028 1fef Express Flash NVMe 3.2TB 2.5" U.2 (P4610) 1028 1ff0 Express Flash NVMe 6.4TB 2.5" U.2 (P4610) 1028 1fff Express Flash NVMe 8.0TB 2.5" U.2 (P4510) 1028 2003 Express Flash NVMe 1.0 TB 2.5" U.2 (P4510) 1028 2004 Express Flash NVMe 2.0TB 2.5" U.2 (P4510) 1028 2005 Express Flash NVMe 4.0TB 2.5" U.2 (P4510) 108e 4870 NVMe PCIe 3.0 SSD 6.4TB AIC (P4608) 108e 4871 NVMe PCIe 3.0 SSD 6.4TB 2.5-inch (P4600) 108e 4879 NVMe PCIe 3.0 SSD v2 6.4TB AIC (P4618) 108e 487a NVMe PCIe 3.0 SSD v2 6.4TB 2.5-inch (P4610) 1137 0227 NVMe Datacenter SSD [3DNAND] 1.6TB 2.5" U.2 (P4600) 1137 0228 NVMe Datacenter SSD [3DNAND] 2.0TB 2.5" U.2 (P4600) 1137 0229 NVMe Datacenter SSD [3DNAND] 3.2TB 2.5" U.2 (P4600) 1137 022b NVMe Datacenter SSD [3DNAND] 1.0TB 2.5" U.2 (P4500) 1137 022c NVMe Datacenter SSD [3DNAND] 2.0TB 2.5" U.2 (P4500) 1137 022d NVMe Datacenter SSD [3DNAND] 4.0TB 2.5" U.2 (P4500) 1137 0231 NVMe Datacenter SSD [3DNAND] 0.5TB 2.5" U.2 (P4501) 1137 0232 NVMe Datacenter SSD [3DNAND] 1.0TB 2.5" U.2 (P4501) 1137 0233 NVMe Datacenter SSD [3DNAND] 2.0TB 2.5" U.2 (P4501) 1137 0258 NVMe Datacenter SSD [3DNAND] 1.6TB 2.5" U.2 (P4610) 1137 025a NVMe Datacenter SSD [3DNAND] 3.2TB 2.5" U.2 (P4610) 1137 025b NVMe Datacenter SSD [3DNAND] 1.0TB 2.5" U.2 (P4510) 1137 025c NVMe Datacenter SSD [3DNAND] 2.0TB 2.5" U.2 (P4510) 1137 025d NVMe Datacenter SSD [3DNAND] 4.0TB 2.5" U.2 (P4510) 1137 025e NVMe Datacenter SSD [3DNAND] 8.0TB 2.5" U.2 (P4510) 1590 025d NVMe Datacenter SSD [3DNAND] 1.0TB 2.5" U.2 (P4500) 1590 025e NVMe Datacenter SSD [3DNAND] 2.0TB 2.5" U.2 (P4500) 1590 025f NVMe Datacenter SSD [3DNAND] 4.0TB 2.5" U.2 (P4500) 1590 0262 NVMe Datacenter SSD [3DNAND] 1.6TB 2.5" U.2 (P4600) 1590 0264 NVMe Datacenter SSD [3DNAND] 3.2TB 2.5" U.2 (P4600) 1590 0265 NVMe Datacenter SSD [3DNAND] 6.4TB 2.5" U.2 (P4600) 1590 026c NVMe Datacenter SSD [3DNAND] 4.0TB AIC (P4500) 1d49 4702 Thinksystem Intel P4500 NVMe U.2 1d49 4704 Thinksystem Intel P4500 NVMe AIC 1d49 4712 Thinksystem Intel P4600 NVMe U.2 1d49 4714 Thinksystem Intel P4600 NVMe AIC 1d49 4802 Thinksystem U.2 P4510 NVMe SSD 1d49 4812 Thinksystem U.2 P4610 NVMe SSD 8086 4308 SSD D5-P4320 and D5-P4326 8086 4702 NVMe Datacenter SSD [3DNAND] SE 2.5" U.2 (P4500) 8086 4704 NVMe Datacenter SSD [3DNAND] SE AIC (P4500) 8086 4712 NVMe Datacenter SSD [3DNAND] ME 2.5" U.2 (P4600) 8086 4714 NVMe Datacenter SSD [3DNAND] ME AIC (P4600) 8086 4802 NVMe Datacenter SSD [3DNAND] SE 2.5" U.2 (P4510) 8086 4804 NVMe Datacenter SSD [3DNAND] SE AIC (P4510) 8086 4805 NVMe Datacenter SSD [3DNAND] SE M.2 (P4511) 8086 4812 NVMe Datacenter SSD [3DNAND] ME 2.5" U.2 (P4610) 8086 4814 NVMe Datacenter SSD [3DNAND] ME AIC (P4610) 0a55 NVMe DC SSD [3DNAND, Beta Rock Controller] 1028 1fe5 Express Flash NVMe 1.6TB 2.5" U.2 (P4600) 1028 1fe6 Express Flash NVMe 2TB 2.5" U.2 (P4600) 1028 1fe7 Express Flash NVMe 3.2TB 2.5" U.2 (P4600) 1028 1fe8 Express Flash NVMe 2.0TB HHHL AIC (P4600) 1028 1fe9 Express Flash NVMe 4.0TB HHHL AIC (P4600) 0b26 Thunderbolt 4 Bridge [Goshen Ridge 2020] 0b27 Thunderbolt 4 USB Controller [Goshen Ridge 2020] 0b60 NVMe DC SSD [3DNAND, Beta Rock Controller] 1028 2060 NVMe SED MU U.2 1.6TB (P5600) 1028 2061 NVMe SED MU U.2 3.2TB (P5600) 1028 2062 NVMe SED MU U.2 6.4TB (P5600) 1028 2064 NVMe SED RI U.2 1.92TB (P5500) 1028 2065 NVMe SED RI U.2 3.84TB (P5500) 1028 2066 NVMe SED RI U.2 7.68TB (P5500) 1028 209e NVMe MU U.2 1.6TB (P5600) 1028 209f NVMe MU U.2 3.2TB (P5600) 1028 2100 NVMe MU U.2 6.4TB (P5600) 1028 2102 NVMe RI U.2 1.92TB (P5500) 1028 2103 NVMe RI U.2 3.84TB (P5500) 1028 2104 NVMe RI U.2 7.68TB (P5500) 0be0 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0be1 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 105b 0d7c D270S/D250S Motherboard 0be2 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0be3 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0be4 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0be5 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0be6 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0be7 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0be8 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0be9 Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0bea Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0beb Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0bec Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0bed Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0bee Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0bef Atom Processor D2xxx/N2xxx Integrated Graphics Controller 0bf0 Atom Processor D2xxx/N2xxx DRAM Controller 0bf1 Atom Processor D2xxx/N2xxx DRAM Controller 0bf2 Atom Processor D2xxx/N2xxx DRAM Controller 0bf3 Atom Processor D2xxx/N2xxx DRAM Controller 0bf4 Atom Processor D2xxx/N2xxx DRAM Controller 0bf5 Atom Processor D2xxx/N2xxx DRAM Controller 105b 0d7c D270S/D250S Motherboard 0bf6 Atom Processor D2xxx/N2xxx DRAM Controller 0bf7 Atom Processor D2xxx/N2xxx DRAM Controller 0c00 4th Gen Core Processor DRAM Controller 103c 1998 EliteDesk 800 G1 17aa 309f ThinkCentre M83 0c01 Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller 0c04 Xeon E3-1200 v3/4th Gen Core Processor DRAM Controller 103c 1909 ZBook 15 17aa 220e ThinkPad T440p 0c05 Xeon E3-1200 v3/4th Gen Core Processor PCI Express x8 Controller 0c08 Xeon E3-1200 v3 Processor DRAM Controller 0c09 Xeon E3-1200 v3/4th Gen Core Processor PCI Express x4 Controller 0c0c Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller 103c 1998 EliteDesk 800 G1 17aa 220e ThinkPad T440p 17aa 309f ThinkCentre M83 0c46 Atom Processor S1200 PCI Express Root Port 1 0c47 Atom Processor S1200 PCI Express Root Port 2 0c48 Atom Processor S1200 PCI Express Root Port 3 0c49 Atom Processor S1200 PCI Express Root Port 4 0c4e Atom Processor S1200 NTB Primary 0c50 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QuickData Technology Device 0c51 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QuickData Technology Device 0c52 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QuickData Technology Device 0c53 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QuickData Technology Device 0c54 Atom Processor S1200 Internal 0c55 Atom Processor S1200 DFX 1 0c56 Atom Processor S1200 DFX 2 0c59 Atom Processor S1200 SMBus 2.0 Controller 0 0c5a Atom Processor S1200 SMBus 2.0 Controller 1 0c5b Atom Processor S1200 SMBus Controller 2 0c5c Atom Processor S1200 SMBus Controller 3 0c5d Atom Processor S1200 SMBus Controller 4 0c5e Atom Processor S1200 SMBus Controller 5 0c5f Atom Processor S1200 UART 0c60 Atom Processor S1200 Integrated Legacy Bus 0c70 Atom Processor S1200 Internal 0c71 Atom Processor S1200 Internal 0c72 Atom Processor S1200 Internal 0c73 Atom Processor S1200 Internal 0c74 Atom Processor S1200 Internal 0c75 Atom Processor S1200 Internal 0c76 Atom Processor S1200 Internal 0c77 Atom Processor S1200 Internal 0c78 Atom Processor S1200 Internal 0c79 Atom Processor S1200 Internal 0c7a Atom Processor S1200 Internal 0c7b Atom Processor S1200 Internal 0c7c Atom Processor S1200 Internal 0c7d Atom Processor S1200 Internal 0c7e Atom Processor S1200 Internal 0c7f Atom Processor S1200 Internal 0cf8 Ethernet Controller X710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking 8086 0000 Ethernet Controller X710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking 8086 0001 Ethernet Controller X710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking 0d00 Crystal Well DRAM Controller 0d01 Crystal Well PCI Express x16 Controller 0d04 Crystal Well DRAM Controller 0d05 Crystal Well PCI Express x8 Controller 0d09 Crystal Well PCI Express x4 Controller 0d0c Crystal Well HD Audio Controller 0d16 Crystal Well Integrated Graphics Controller 0d26 Crystal Well Integrated Graphics Controller 0d36 Crystal Well Integrated Graphics Controller 0d4c Ethernet Connection (11) I219-LM 0d4d Ethernet Connection (11) I219-V 0d4e Ethernet Connection (10) I219-LM 0d4f Ethernet Connection (10) I219-V 0d53 Ethernet Connection (12) I219-LM 0d55 Ethernet Connection (12) I219-V 0d58 Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking 8086 0000 Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking 8086 0001 Ethernet Controller XXV710 Intel(R) FPGA Programmable Acceleration Card N3000 for Networking 0d9f Ethernet Controller (2) I225-IT 0e00 Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e01 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port in DMI2 Mode 0e02 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 0e03 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1b 0e04 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a 0e05 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2b 0e06 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2c 0e07 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2d 0e08 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3a 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 0e09 Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3b 0e0a Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3c 0e0b Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3d 0e10 Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers 0e13 Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers 0e17 Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers 0e18 Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers 0e1c Xeon E7 v2/Xeon E5 v2/Core i7 IIO Configuration Registers 0e1d Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe 0e1e Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers 0e1f Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers 0e20 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 0 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e21 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 1 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e22 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 2 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e23 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 3 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e24 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 4 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e25 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 5 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e26 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 6 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e27 Xeon E7 v2/Xeon E5 v2/Core i7 Crystal Beach DMA Channel 7 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e28 Xeon E7 v2/Xeon E5 v2/Core i7 VTd/Memory Map/Misc 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e29 Xeon E7 v2/Xeon E5 v2/Core i7 Memory Hotplug 0e2a Xeon E7 v2/Xeon E5 v2/Core i7 IIO RAS 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 15d9 066b X9SRL-F 0e2c Xeon E7 v2/Xeon E5 v2/Core i7 IOAPIC 15d9 066b X9SRL-F 0e2e Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA 0e2f Xeon E7 v2/Xeon E5 v2/Core i7 CBDMA 0e30 Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 0e32 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 0e33 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 0e34 Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 0e36 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 0e37 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring 0e38 Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 0e3a Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 0e3e Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring 0e3f Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Performance Ring Monitoring 0e40 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 2 0e41 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers 0e43 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 0e44 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 2 0e45 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register 0e47 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register 0e60 Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 1 0e68 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Target Address/Thermal Registers 0e6a Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers 0e6b Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers 0e6c Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers 0e6d Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder Registers 0e71 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 RAS Registers 0e74 Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe 0e75 Xeon E7 v2/Xeon E5 v2/Core i7 R2PCIe 0e77 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers 0e79 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 RAS Registers 0e7d Xeon E7 v2/Xeon E5 v2/Core i7 UBOX Registers 0e7f Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers 0e80 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 0 0e81 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Ring Registers 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 0e83 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 0e84 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 0 0e85 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register 0e87 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Registers 0e90 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 0e93 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link 1 0e94 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Reut 1 0e95 Xeon E7 v2/Xeon E5 v2/Core i7 QPI Link Agent Register 0ea0 Xeon E7 v2/Xeon E5 v2/Core i7 Home Agent 0 1028 04f7 Xeon E5 v2 on PowerEdge R320 server 0ea8 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Target Address/Thermal Registers 0eaa Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers 0eab Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers 0eac Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers 0ead Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder Registers 0eae Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers 0eaf Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers 0eb0 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 0 0eb1 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 1 0eb2 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 0 0eb3 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 1 0eb4 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 2 0eb5 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 Thermal Control 3 0eb6 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 2 0eb7 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 1 Channel 0-3 ERROR Registers 3 0ebc Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers 0ebe Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers 0ebf Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO Registers 0ec0 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 0 0ec1 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 1 0ec2 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 2 0ec3 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 3 0ec4 Xeon E7 v2/Xeon E5 v2/Core i7 Power Control Unit 4 0ec8 Xeon E7 v2/Xeon E5 v2/Core i7 System Address Decoder 0ec9 Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers 0eca Xeon E7 v2/Xeon E5 v2/Core i7 Broadcast Registers 0ed8 Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0ed9 Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0edc Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0edd Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0ede Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0edf Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0ee0 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ee1 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ee2 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ee3 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ee4 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ee5 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ee6 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ee7 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ee8 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ee9 Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0eea Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0eeb Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0eec Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0eed Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0eee Xeon E7 v2/Xeon E5 v2/Core i7 Unicast Registers 0ef0 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 0 0ef1 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 1 0ef2 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 0 0ef3 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 1 0ef4 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 2 0ef5 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 Thermal Control 3 0ef6 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 2 0ef7 Xeon E7 v2/Xeon E5 v2/Core i7 Integrated Memory Controller 0 Channel 0-3 ERROR Registers 3 0ef8 Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0ef9 Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0efa Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0efb Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0efc Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0efd Xeon E7 v2/Xeon E5 v2/Core i7 DDRIO 0f00 Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register 0f04 Atom Processor Z36xxx/Z37xxx Series High Definition Audio Controller 0f06 Atom Processor Z36xxx/Z37xxx Series LPIO1 DMA Controller 0f08 Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller 0f09 Atom Processor Z36xxx/Z37xxx Series LPIO1 PWM Controller 0f0a Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #1 0f0c Atom Processor Z36xxx/Z37xxx Series LPIO1 HSUART Controller #2 0f0e Atom Processor Z36xxx/Z37xxx Series LPIO1 SPI Controller 0f12 Atom Processor E3800 Series SMBus Controller 0f14 Atom Processor Z36xxx/Z37xxx Series SDIO Controller 0f15 Atom Processor Z36xxx/Z37xxx Series SDIO Controller 0f16 Atom Processor Z36xxx/Z37xxx Series SDIO Controller 0f18 Atom Processor Z36xxx/Z37xxx Series Trusted Execution Engine 0f1c Atom Processor Z36xxx/Z37xxx Series Power Control Unit 0f20 Atom Processor E3800 Series SATA IDE Controller 0f21 Atom Processor E3800 Series SATA IDE Controller 0f22 Atom Processor E3800 Series SATA AHCI Controller 0f23 Atom Processor E3800 Series SATA AHCI Controller 0f28 Atom Processor Z36xxx/Z37xxx Series LPE Audio Controller 0f31 Atom Processor Z36xxx/Z37xxx Series Graphics & Display 0f34 Atom Processor Z36xxx/Z37xxx Series USB EHCI 0f35 Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI 1025 0936 Aspire ES1 0f37 Atom Processor Z36xxx/Z37xxx Series OTG USB Device 0f38 Atom Processor Z36xxx/Z37xxx Series Camera ISP 0f40 Atom Processor Z36xxx/Z37xxx Series LPIO2 DMA Controller 0f41 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #1 0f42 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #2 0f43 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #3 0f44 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #4 0f45 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #5 0f46 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #6 0f47 Atom Processor Z36xxx/Z37xxx Series LPIO2 I2C Controller #7 0f48 Atom Processor E3800 Series PCI Express Root Port 1 0f4a Atom Processor E3800 Series PCI Express Root Port 2 0f4c Atom Processor E3800 Series PCI Express Root Port 3 0f4e Atom Processor E3800 Series PCI Express Root Port 4 0f50 Atom Processor E3800 Series eMMC 4.5 Controller 1000 82542 Gigabit Ethernet Controller (Fiber) 0e11 b0df NC6132 Gigabit Ethernet Adapter (1000-SX) 0e11 b0e0 NC6133 Gigabit Ethernet Adapter (1000-LX) 0e11 b123 NC6134 Gigabit Ethernet Adapter (1000-LX) 1014 0119 Netfinity Gigabit Ethernet SX Adapter 8086 1000 PRO/1000 Gigabit Server Adapter 1001 82543GC Gigabit Ethernet Controller (Fiber) 0e11 004a NC6136 Gigabit Server Adapter 1014 01ea Netfinity Gigabit Ethernet SX Adapter 8086 1002 PRO/1000 F Server Adapter 8086 1003 PRO/1000 F Server Adapter 1002 Pro 100 LAN+Modem 56 Cardbus II 8086 200e Pro 100 LAN+Modem 56 Cardbus II 8086 2013 Pro 100 SR Mobile Combo Adapter 8086 2017 Pro 100 S Combo Mobile Adapter 1004 82543GC Gigabit Ethernet Controller (Copper) 0e11 0049 NC7132 Gigabit Upgrade Module 0e11 b1a4 NC7131 Gigabit Server Adapter 1014 10f2 Gigabit Ethernet Server Adapter 8086 1004 PRO/1000 T Server Adapter 8086 2004 PRO/1000 T Server Adapter 1008 82544EI Gigabit Ethernet Controller (Copper) 1014 0269 iSeries 1000/100/10 Ethernet Adapter 1028 011b PowerEdge 1650/2550 1028 011c PRO/1000 XT Network Connection 8086 1107 PRO/1000 XT Server Adapter 8086 2107 PRO/1000 XT Server Adapter 8086 2110 PRO/1000 XT Desktop Adapter 8086 3108 PRO/1000 XT Network Connection 1009 82544EI Gigabit Ethernet Controller (Fiber) 1014 0268 iSeries Gigabit Ethernet Adapter 8086 1109 PRO/1000 XF Server Adapter 8086 2109 PRO/1000 XF Server Adapter 100a 82540EM Gigabit Ethernet Controller 100c 82544GC Gigabit Ethernet Controller (Copper) 8086 1112 PRO/1000 T Desktop Adapter 8086 2112 PRO/1000 T Desktop Adapter 100d 82544GC Gigabit Ethernet Controller (LOM) 1028 0123 PRO/1000 XT Network Connection 1079 891f 82544GC Based Network Connection 4c53 1080 CT8 mainboard 8086 110d 82544GC Based Network Connection 100e 82540EM Gigabit Ethernet Controller 1014 0265 PRO/1000 MT Network Connection 1014 0267 PRO/1000 MT Network Connection 1014 026a PRO/1000 MT Network Connection 1028 002e Optiplex GX260 1028 0134 PowerEdge 600SC 1028 0151 Optiplex GX270 107b 8920 PRO/1000 MT Desktop Adapter 1af4 1100 QEMU Virtual Machine 8086 001e PRO/1000 MT Desktop Adapter 8086 002e PRO/1000 MT Desktop Adapter 8086 1376 PRO/1000 GT Desktop Adapter 8086 1476 PRO/1000 GT Desktop Adapter 100f 82545EM Gigabit Ethernet Controller (Copper) 1014 0269 iSeries 1000/100/10 Ethernet Adapter 1014 028e PRO/1000 MT Network Connection 15ad 0750 PRO/1000 MT Single Port Adapter 8086 1000 PRO/1000 MT Network Connection 8086 1001 PRO/1000 MT Server Adapter 1010 82546EB Gigabit Ethernet Controller (Copper) 0e11 00db NC7170 Gigabit Server Adapter 1014 027c PRO/1000 MT Dual Port Network Adapter 15ad 0760 PRO/1000 MT Dual Port Adapter 18fb 7872 RESlink-X 1fc1 0026 Niagara 2260 Bypass Card 4c53 1080 CT8 mainboard 4c53 10a0 CA3/CR3 mainboard 8086 1011 PRO/1000 MT Dual Port Server Adapter 8086 1012 PRO/1000 MT Dual Port Server Adapter 8086 101a PRO/1000 MT Dual Port Network Connection 8086 3424 SE7501HG2 Mainboard 1011 82545EM Gigabit Ethernet Controller (Fiber) 1014 0268 iSeries Gigabit Ethernet Adapter 8086 1002 PRO/1000 MF Server Adapter 8086 1003 PRO/1000 MF Server Adapter (LX) 1012 82546EB Gigabit Ethernet Controller (Fiber) 0e11 00dc NC6170 Gigabit Server Adapter 8086 1012 PRO/1000 MF Dual Port Server Adapter 1013 82541EI Gigabit Ethernet Controller 8086 0013 PRO/1000 MT Network Connection 8086 1013 PRO/1000 MT Network Connection 8086 1113 PRO/1000 MT Desktop Adapter 1014 82541ER Gigabit Ethernet Controller 8086 0014 PRO/1000 MT Desktop Connection 8086 1014 PRO/1000 MT Network Connection 1015 82540EM Gigabit Ethernet Controller (LOM) 8086 1015 PRO/1000 MT Mobile Connection 1016 82540EP Gigabit Ethernet Controller (Mobile) 1014 052c PRO/1000 MT Mobile Connection 1179 0001 PRO/1000 MT Mobile Connection 8086 1016 PRO/1000 MT Mobile Connection 1017 82540EP Gigabit Ethernet Controller 8086 1017 PR0/1000 MT Desktop Connection 1018 82541EI Gigabit Ethernet Controller 8086 1018 PRO/1000 MT Mobile Connection 1019 82547EI Gigabit Ethernet Controller 1458 1019 GA-8IPE1000 Pro2 motherboard (865PE) 1458 e000 Intel Gigabit Ethernet (Kenai II) 8086 1019 PRO/1000 CT Desktop Connection 8086 301f D865PERL mainboard 8086 3025 D875PBZ motherboard 8086 302c D865GBF Mainboard 8086 3427 S875WP1-E mainboard 101a 82547EI Gigabit Ethernet Controller (Mobile) 8086 101a PRO/1000 CT Mobile Connection 101d 82546EB Gigabit Ethernet Controller 8086 1000 PRO/1000 MT Quad Port Server Adapter 101e 82540EP Gigabit Ethernet Controller (Mobile) 1014 0549 Thinkpad 1179 0001 PRO/1000 MT Mobile Connection 8086 101e PRO/1000 MT Mobile Connection 101f Ethernet Controller V710 for 5GBASE-T 1026 82545GM Gigabit Ethernet Controller 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 8086 1000 PRO/1000 MT Server Connection 8086 1001 PRO/1000 MT Server Adapter 8086 1002 PRO/1000 MT Server Adapter 8086 1003 PRO/1000 GT Server Adapter 8086 1026 PRO/1000 MT Server Connection 1027 82545GM Gigabit Ethernet Controller 103c 3103 NC310F PCI-X Gigabit Server Adapter 8086 1001 PRO/1000 MF Server Adapter(LX) 8086 1002 PRO/1000 MF Server Adapter(LX) 8086 1003 PRO/1000 MF Server Adapter(LX) 8086 1027 PRO/1000 MF Server Adapter 1028 82545GM Gigabit Ethernet Controller 8086 1028 PRO/1000 MB Server Connection 1029 82559 Ethernet Controller 1030 82559 InBusiness 10/100 1031 82801CAM (ICH3) PRO/100 VE (LOM) Ethernet Controller 1014 0209 ThinkPad A/T/X Series 104d 80e7 Vaio PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 104d 813c Vaio PCG-GRV616G 107b 5350 EtherExpress PRO/100 VE 1179 0001 EtherExpress PRO/100 VE 144d c000 EtherExpress PRO/100 VE 144d c001 EtherExpress PRO/100 VE 144d c003 EtherExpress PRO/100 VE 144d c006 vpr Matrix 170B4 1032 82801CAM (ICH3) PRO/100 VE Ethernet Controller 1033 82801CAM (ICH3) PRO/100 VM (LOM) Ethernet Controller 1034 82801CAM (ICH3) PRO/100 VM Ethernet Controller 1035 82801CAM (ICH3)/82562EH (LOM) Ethernet Controller 1036 82801CAM (ICH3) 82562EH Ethernet Controller 1037 82801CAM (ICH3) Chipset Ethernet Controller 1038 82801CAM (ICH3) PRO/100 VM (KM) Ethernet Controller 0e11 0098 Evo N600c 1039 82801DB PRO/100 VE (LOM) Ethernet Controller 1014 0267 NetVista A30p 114a 0582 PC8 onboard ethernet ETH1 103a 82801DB PRO/100 VE (CNR) Ethernet Controller 103b 82801DB PRO/100 VM (LOM) Ethernet Controller 103c 82801DB PRO/100 VM (CNR) Ethernet Controller 103d 82801DB PRO/100 VE (MOB) Ethernet Controller 1014 0522 ThinkPad R40 1028 2002 Latitude D500 8086 103d 82562EZ 10/100 Ethernet Controller 103e 82801DB PRO/100 VM (MOB) Ethernet Controller 1040 536EP Data Fax Modem 16be 1040 V.9X DSP Data Fax Modem 1043 PRO/Wireless LAN 2100 3B Mini PCI Adapter 103c 08b0 tc1100 tablet 8086 2522 Samsung X10/P30 integrated WLAN 8086 2527 MIM2000/Centrino 8086 2561 Dell Latitude D800 8086 2581 Toshiba Satellite M10 1048 82597EX 10GbE Ethernet Controller 8086 a01f PRO/10GbE LR Server Adapter 8086 a11f PRO/10GbE LR Server Adapter 1049 82566MM Gigabit Network Connection 103c 30c1 Compaq 6910p 17aa 20b9 ThinkPad T61/R61 104a 82566DM Gigabit Network Connection 104b 82566DC Gigabit Network Connection 104c 82562V 10/100 Network Connection 104d 82566MC Gigabit Network Connection 104e Ethernet Controller X710 for 10 Gigabit SFP+ 104f Ethernet Controller X710 for 10 Gigabit backplane 1050 82562EZ 10/100 Ethernet Controller 1014 0287 ThinkCentre S50 1028 019d Dimension 3000 1462 728c 865PE Neo2 (MS-6728) 1462 758c MS-6758 (875P Neo) 8086 3020 D865PERL mainboard 8086 302f Desktop Board D865GBF 8086 3427 S875WP1-E mainboard 1051 82801EB/ER (ICH5/ICH5R) integrated LAN Controller 1052 PRO/100 VM Network Connection 1053 PRO/100 VM Network Connection 1054 PRO/100 VE Network Connection 1055 PRO/100 VM Network Connection 1056 PRO/100 VE Network Connection 1057 PRO/100 VE Network Connection 1059 82551QM Ethernet Controller 105b 82546GB Gigabit Ethernet Controller (Copper) 105e 82571EB/82571GB Gigabit Ethernet Controller D0/D1 (copper applications) 103c 7044 NC360T PCI Express Dual Port Gigabit Server Adapter 103c 704e Dual Port 1000Base-T (PCIe) [AD337A] 1775 1100 CR11/VR11 Single Board Computer 1775 6003 Telum GE-QT 18df 1214 2x 1GbE, PCIe x1, dual Intel 82571EB chips 8086 005e PRO/1000 PT Dual Port Server Connection 8086 105e PRO/1000 PT Dual Port Network Connection 8086 10d5 82571PT Gigabit PT Quad Port Server ExpressModule 8086 115e PRO/1000 PT Dual Port Server Adapter 8086 125e PRO/1000 PT Dual Port Server Adapter 8086 135e PRO/1000 PT Dual Port Server Adapter 105f 82571EB Gigabit Ethernet Controller 103c 704f Dual Port 1000Base-SX (PCIe) [AD338A] 8086 005a PRO/1000 PF Dual Port Server Adapter 8086 115f PRO/1000 PF Dual Port Server Adapter 8086 125f PRO/1000 PF Dual Port Server Adapter 8086 135f PRO/1000 PF Dual Port Server Adapter 1060 82571EB Gigabit Ethernet Controller 8086 0060 PRO/1000 PB Dual Port Server Connection 8086 1060 PRO/1000 PB Dual Port Server Connection 1064 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller 1043 80f8 P5GD1-VW Mainboard 1065 82562ET/EZ/GT/GZ - PRO/100 VE Ethernet Controller 1066 82562 EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller 1067 82562 EM/EX/GX - PRO/100 VM Ethernet Controller 1068 82562ET/EZ/GT/GZ - PRO/100 VE (LOM) Ethernet Controller Mobile 103c 30d5 530 Laptop 1069 82562EM/EX/GX - PRO/100 VM (LOM) Ethernet Controller Mobile 106a 82562G - PRO/100 VE (LOM) Ethernet Controller 106b 82562G - PRO/100 VE Ethernet Controller Mobile 1075 82547GI Gigabit Ethernet Controller 1028 0165 PowerEdge 750 8086 0075 PRO/1000 CT Network Connection 8086 1075 PRO/1000 CT Network Connection 1076 82541GI Gigabit Ethernet Controller 1028 0165 PRO/1000 MT Network Connection 1028 016d PRO/1000 MT Network Connection 1028 019a PRO/1000 MT Network Connection 1028 106d PRO/1000 MT Network Connection 8086 0076 PRO/1000 MT Network Connection 8086 1076 PRO/1000 MT Network Connection 8086 1176 PRO/1000 MT Desktop Adapter 8086 1276 PRO/1000 MT Network Adapter 1077 82541GI Gigabit Ethernet Controller 1179 0001 PRO/1000 MT Mobile Connection 8086 0077 PRO/1000 MT Mobile Connection 8086 1077 PRO/1000 MT Mobile Connection 1078 82541ER Gigabit Ethernet Controller 8086 1078 82541ER-based Network Connection 1079 82546GB Gigabit Ethernet Controller 103c 12a6 Dual Port 1000Base-T [A9900A] 103c 12cf Core Dual Port 1000Base-T [AB352A] 1775 10d0 V5D Single Board Computer Gigabit Ethernet 1775 ce90 CE9 1fc1 0027 Niagara 2261 Failover NIC 4c53 1090 Cx9 / Vx9 mainboard 4c53 10b0 CL9 mainboard 8086 0079 PRO/1000 MT Dual Port Network Connection 8086 1079 PRO/1000 MT Dual Port Network Connection 8086 1179 PRO/1000 MT Dual Port Server Adapter 8086 117a PRO/1000 MT Dual Port Server Adapter 107a 82546GB Gigabit Ethernet Controller 103c 12a8 Dual Port 1000base-SX [A9899A] 8086 107a PRO/1000 MF Dual Port Server Adapter 8086 127a PRO/1000 MF Dual Port Server Adapter 107b 82546GB Gigabit Ethernet Controller 8086 007b PRO/1000 MB Dual Port Server Connection 8086 107b PRO/1000 MB Dual Port Server Connection 107c 82541PI Gigabit Ethernet Controller 8086 1376 PRO/1000 GT Desktop Adapter 8086 1476 PRO/1000 GT Desktop Adapter 107d 82572EI Gigabit Ethernet Controller (Copper) 8086 1082 PRO/1000 PT Server Adapter 8086 1084 PRO/1000 PT Server Adapter 8086 1092 PRO/1000 PT Server Adapter 107e 82572EI Gigabit Ethernet Controller (Fiber) 8086 1084 PRO/1000 PF Server Adapter 8086 1085 PRO/1000 PF Server Adapter 8086 1094 PRO/1000 PF Server Adapter 107f 82572EI Gigabit Ethernet Controller 1080 FA82537EP 56K V.92 Data/Fax Modem PCI 1081 631xESB/632xESB LAN Controller Copper 1082 631xESB/632xESB LAN Controller fiber 1083 631xESB/632xESB LAN Controller SERDES 1084 631xESB/632xESB IDE Redirection 1085 631xESB/632xESB Serial Port Redirection 1086 631xESB/632xESB IPMI/KCS0 1087 631xESB/632xESB UHCI Redirection 1089 631xESB/632xESB BT 108a 82546GB Gigabit Ethernet Controller 8086 108a PRO/1000 P Dual Port Server Adapter 8086 118a PRO/1000 P Dual Port Server Adapter 108b 82573V Gigabit Ethernet Controller (Copper) 1462 176c on board on MSI 945P - NEO (MS-7176) 108c 82573E Gigabit Ethernet Controller (Copper) 108e 82573E KCS (Active Management) 108f Active Management Technology - SOL 1091 PRO/100 VM Network Connection 1092 PRO/100 VE Network Connection 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 1093 PRO/100 VM Network Connection 1094 PRO/100 VE Network Connection 1095 PRO/100 VE Network Connection 1096 80003ES2LAN Gigabit Ethernet Controller (Copper) 15d9 1096 Motherboard 15d9 8680 X7DVL-E-O motherboard 8086 3476 S5000PSLSATA Server Board 1097 631xESB/632xESB DPT LAN Controller (Fiber) 1098 80003ES2LAN Gigabit Ethernet Controller (Serdes) 1099 82546GB Gigabit Ethernet Controller (Copper) 8086 1099 PRO/1000 GT Quad Port Server Adapter 109a 82573L Gigabit Ethernet Controller 1179 ff10 PRO/1000 PL 17aa 2001 ThinkPad T60 17aa 207e ThinkPad X60/X60s 8086 109a PRO/1000 PL Network Connection 8086 309c Desktop Board D945GTP 8086 30a5 Desktop Board D975XBX 109b 82546GB PRO/1000 GF Quad Port Server Adapter 109e 82597EX 10GbE Ethernet Controller 8086 a01f PRO/10GbE CX4 Server Adapter 8086 a11f PRO/10GbE CX4 Server Adapter 10a0 82571EB PRO/1000 AT Quad Port Bypass Adapter 10a1 82571EB PRO/1000 AF Quad Port Bypass Adapter 10a4 82571EB Gigabit Ethernet Controller 8086 10a4 PRO/1000 PT Quad Port Server Adapter 8086 11a4 PRO/1000 PT Quad Port Server Adapter 10a5 82571EB Gigabit Ethernet Controller (Fiber) 8086 10a5 PRO/1000 PF Quad Port Server Adapter 8086 10a6 PRO/1000 PF Quad Port Server Adapter 10a6 82599EB 10-Gigabit Dummy Function 10a7 82575EB Gigabit Network Connection 8086 10a8 82575EB Gigabit Riser Card 10a9 82575EB Gigabit Backplane Connection 10b0 82573L PRO/1000 PL Network Connection 10b2 82573V PRO/1000 PM Network Connection 10b3 82573E PRO/1000 PM Network Connection 10b4 82573L PRO/1000 PL Network Connection 10b5 82546GB Gigabit Ethernet Controller (Copper) 103c 3109 NC340T PCI-X Quad-port Gigabit Server Adapter 8086 1099 PRO/1000 GT Quad Port Server Adapter 8086 1199 PRO/1000 GT Quad Port Server Adapter 10b6 82598 10GbE PCI-Express Ethernet Controller 10b9 82572EI Gigabit Ethernet Controller (Copper) 103c 704a 110T PCIe Gigabit Server Adapter 8086 1083 PRO/1000 PT Desktop Adapter 8086 1093 PRO/1000 PT Desktop Adapter 10ba 80003ES2LAN Gigabit Ethernet Controller (Copper) 10bb 80003ES2LAN Gigabit Ethernet Controller (Serdes) 10bc 82571EB/82571GB Gigabit Ethernet Controller (Copper) 1014 0368 4-Port 10/100/1000 Base-TX PCI Express Adapter for POWER 103c 704b NC364T PCI Express Quad Port Gigabit Server Adapter # 375-3481-01 REV:50 108e 11bc Quad Port Adapter 8086 10bc PRO/1000 PT Quad Port LP Server Adapter 8086 11bc PRO/1000 PT Quad Port LP Server Adapter (Kirkwood Low Profile) 10bd 82566DM-2 Gigabit Network Connection 1028 0211 OptiPlex 755 10bf 82567LF Gigabit Network Connection 10c0 82562V-2 10/100 Network Connection 1028 020d Inspiron 530 10c2 82562G-2 10/100 Network Connection 10c3 82562GT-2 10/100 Network Connection 10c4 82562GT 10/100 Network Connection 10c5 82562G 10/100 Network Connection 10c6 82598EB 10-Gigabit AF Dual Port Network Connection 8086 a05f 10-Gigabit XF SR Dual Port Server Adapter 8086 a15f 10-Gigabit XF SR Dual Port Server Adapter 10c7 82598EB 10-Gigabit AF Network Connection 1014 037f 10-Gigabit XF SR Server Adapter 1014 0380 10-Gigabit XF LR Server Adapter 8086 a05f 10-Gigabit XF SR Server Adapter 8086 a15f 10-Gigabit XF SR Server Adapter 8086 a16f 10-Gigabit XF SR Server Adapter 10c8 82598EB 10-Gigabit AT Network Connection 8086 a10c 10-Gigabit AT Server Adapter 8086 a11c 10-Gigabit AT Server Adapter 8086 a12c 10-Gigabit AT Server Adapter 10c9 82576 Gigabit Network Connection 103c 31ef NC362i Integrated Dual port Gigabit Server Adapter 103c 323f NC362i Integrated Dual port Gigabit Server Adapter 10a9 8028 UV-BaseIO dual-port GbE 13a3 0037 DS4100 Secure Multi-Gigabit Server Adapter with Compression 15d9 a811 H8DGU 8086 a01c Gigabit ET Dual Port Server Adapter 8086 a03c Gigabit ET Dual Port Server Adapter 8086 a04c Gigabit ET Dual Port Server Adapter 10ca 82576 Virtual Function 10cb 82567V Gigabit Network Connection 10cc 82567LM-2 Gigabit Network Connection 10cd 82567LF-2 Gigabit Network Connection 10ce 82567V-2 Gigabit Network Connection 10d3 82574L Gigabit Network Connection 103c 1785 NC112i 1-port Ethernet Server Adapter 103c 3250 NC112T PCI Express single Port Gigabit Server Adapter 1043 8369 Motherboard 1093 76e9 PCIe-8233 Ethernet Adapter 10a9 8029 Prism XL Single Port Gigabit Ethernet 15d9 0605 X8SIL 15d9 060a X7SPA-H/X7SPA-HF Motherboard 15d9 060d C7SIM-Q Motherboard 8086 0001 Gigabit CT2 Desktop Adapter 8086 3578 Server Board S1200BTLR 8086 357a Server Board S1200BTS 8086 a01f Gigabit CT Desktop Adapter e4bf 50c1 PC1-GROOVE e4bf 50c2 PC2-LIMBO 10d4 Matrox Concord GE (customized Intel 82574) 10d5 82571PT Gigabit PT Quad Port Server ExpressModule 10d6 82575GB Gigabit Network Connection 8086 10d6 Gigabit VT Quad Port Server Adapter 8086 145a Gigabit VT Quad Port Server Adapter 8086 147a Gigabit VT Quad Port Server Adapter 10d8 82599EB 10 Gigabit Unprogrammed 10d9 82571EB Dual Port Gigabit Mezzanine Adapter 103c 1716 NC360m Dual Port 1GbE BL-c Adapter 10da 82571EB Quad Port Gigabit Mezzanine Adapter 103c 1717 NC364m Quad Port 1GbE BL-c Adapter 10db 82598EB 10-Gigabit Dual Port Network Connection 10dd 82598EB 10-Gigabit AT CX4 Network Connection 10de 82567LM-3 Gigabit Network Connection 10df 82567LF-3 Gigabit Network Connection 10e1 82598EB 10-Gigabit AF Dual Port Network Connection 8086 a15f 10-Gigabit SR Dual Port Express Module 10e2 82575GB Gigabit Network Connection 8086 10e2 Gigabit VT Quad Port Server Adapter 10e5 82567LM-4 Gigabit Network Connection 10e6 82576 Gigabit Network Connection 8086 a01f Gigabit EF Dual Port Server Adapter 8086 a02f Gigabit EF Dual Port Server Adapter 10e7 82576 Gigabit Network Connection 103c 31ff NC362i Integrated Dual Port BL-c Gigabit Server Adapter 10e8 82576 Gigabit Network Connection 8086 a02b Gigabit ET Quad Port Server Adapter 8086 a02c Gigabit ET Quad Port Server Adapter 10ea 82577LM Gigabit Network Connection 1028 040a Latitude E6410 1028 040b Latitude E6510 e4bf 50c1 PC1-GROOVE 10eb 82577LC Gigabit Network Connection 10ec 82598EB 10-Gigabit AT CX4 Network Connection 8086 a01f 10-Gigabit CX4 Dual Port Server Adapter 8086 a11f 10-Gigabit CX4 Dual Port Server Adapter 10ed 82599 Ethernet Controller Virtual Function 10ef 82578DM Gigabit Network Connection 1028 02da OptiPlex 980 15d9 060d C7SIM-Q Motherboard 10f0 82578DC Gigabit Network Connection 10f1 82598EB 10-Gigabit AF Dual Port Network Connection 8086 a20f 10-Gigabit AF DA Dual Port Server Adapter 8086 a21f 10-Gigabit AF DA Dual Port Server Adapter 10f4 82598EB 10-Gigabit AF Network Connection 8086 106f 10-Gigabit XF LR Server Adapter 8086 a06f 10-Gigabit XF LR Server Adapter 10f5 82567LM Gigabit Network Connection 17aa 20ee ThinkPad T400 10f6 82574L Gigabit Network Connection 10f7 10 Gigabit BR KX4 Dual Port Network Connection 108e 7b12 Sun Dual 10GbE PCIe 2.0 FEM 8086 000d Ethernet Mezzanine Adapter X520-KX4-2 10f8 82599 10 Gigabit Dual Port Backplane Connection 1028 1f63 10GbE 2P X520k bNDC 103c 17d2 Ethernet 10Gb 2-port 560M Adapter 103c 18d0 Ethernet 10Gb 2-port 560FLB Adapter 1059 0111 T4007 10GbE interface 1059 0130 T4009 10GbE interface 8086 000c Ethernet X520 10GbE Dual Port KX4-KR Mezz 10f9 82599 10 Gigabit Dual Port Network Connection 10fb 82599ES 10-Gigabit SFI/SFP+ Network Connection 1028 1f72 Ethernet 10G 4P X520/I350 rNDC 103c 17d0 Ethernet 10Gb 2-port 560FLR-SFP+ Adapter 103c 17d2 Ethernet 10Gb 2-port 560M Adapter 103c 17d3 Ethernet 10Gb 2-port 560SFP+ Adapter 103c 211b Ethernet 10Gb 1-port P560FLR-SFP+ Adapter 103c 2147 Ethernet 10Gb 1-port 561i Adapter 103c 2159 Ethernet 10Gb 2-port 562i Adapter 108e 7b11 Ethernet Server Adapter X520-2 1170 004c 82599 DP 10G Mezzanine Adapter 15d9 0611 AOC-STGN-I2S [REV 1.01] 1734 11a9 10 Gigabit Dual Port Network Connection 17aa 1071 ThinkServer X520-2 AnyFabric 17aa 4007 82599ES 10-Gigabit SFI/SFP+ Network Connection 17aa 402b 82599ES 10Gb 2-port Server Adapter X520-DA2 17aa 402f FPGA Card XC7VX690T-3FFG1157E 18d4 0c09 82599ES 10Gb 2-port SFP+ OCP Mezz Card MOP81-I-10GS2 193d 1004 560F-B 1bd4 001b 10G SFP+ DP ER102Fi4 Rack Adapter 1bd4 002f 10G SFP+ DP EP102Fi4A Adapter 1bd4 0032 10G SFP+ DP EP102Fi4 Adapter 8086 0002 Ethernet Server Adapter X520-DA2 8086 0003 Ethernet Server Adapter X520-2 8086 0006 Ethernet Server Adapter X520-1 8086 0008 Ethernet OCP Server Adapter X520-2 8086 000a Ethernet Server Adapter X520-1 8086 000c Ethernet Server Adapter X520-2 8086 10a6 82599ES 10Gb 2 port Server Adapter X520-DA2 8086 7a11 Ethernet Server Adapter X520-2 8086 7a12 Ethernet Server Adapter X520-2 10fc 82599 10 Gigabit Dual Port Network Connection 10fe 82552 10/100 Network Connection 1107 PRO/1000 MF Server Adapter (LX) 1130 82815 815 Chipset Host Bridge and Memory Controller Hub 1025 1016 Travelmate 612 TX 1043 8027 TUSL2-C Mainboard 104d 80df Vaio PCG-FX403 8086 4532 Desktop Board D815EEA2/D815EFV 8086 4557 D815EGEW Mainboard 1131 82815 815 Chipset AGP Bridge 1132 82815 Chipset Graphics Controller (CGC) 1025 1016 Travelmate 612 TX 103c 2001 e-pc 40 104d 80df Vaio PCG-FX403 8086 4532 Desktop Board D815EEA2/D815EFV 8086 4541 D815EEA Motherboard 8086 4557 D815EGEW Mainboard 1161 82806AA PCI64 Hub Advanced Programmable Interrupt Controller 8086 1161 82806AA PCI64 Hub APIC 1162 Xscale 80200 Big Endian Companion Chip 1190 Merrifield SD/SDIO/eMMC Controller 1191 Merrifield Serial IO HSUART Controller 1192 Merrifield Serial IO HSUART DMA Controller 1194 Merrifield Serial IO SPI Controller 1195 Merrifield Serial IO I2C Controller 1196 Merrifield Serial IO I2C Controller 1199 Merrifield GPIO Controller 119e Merrifield USB Device Controller (OTG) 11a0 Merrifield SCU IPC 11a1 Merrifield Power Management Unit 11a2 Merrifield Serial IO DMA Controller 11a5 Merrifield Serial IO PWM Controller 11c3 Quark SoC X1000 PCIe Root Port 0 11c4 Quark SoC X1000 PCIe Root Port 1 1200 IXP1200 Network Processor 172a 0000 AEP SSL Accelerator 1209 8255xER/82551IT Fast Ethernet Controller 140b 0610 PMC610 quad Ethernet board 1af4 1100 QEMU Virtual Machine 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard 4c53 1070 PC6 mainboard 1221 82092AA PCI to PCMCIA Bridge 1222 82092AA IDE Controller 1223 SAA7116 1225 82452KX/GX [Orion] 1226 82596 PRO/10 PCI 1227 82865 EtherExpress PRO/100A 1228 82556 EtherExpress PRO/100 Smart 1229 82557/8/9/0/1 Ethernet Pro 100 0e11 3001 82559 Fast Ethernet LOM with Alert on LAN* 0e11 3002 82559 Fast Ethernet LOM with Alert on LAN* 0e11 3003 82559 Fast Ethernet LOM with Alert on LAN* 0e11 3004 82559 Fast Ethernet LOM with Alert on LAN* 0e11 3005 82559 Fast Ethernet LOM with Alert on LAN* 0e11 3006 82559 Fast Ethernet LOM with Alert on LAN* 0e11 3007 82559 Fast Ethernet LOM with Alert on LAN* 0e11 b01e NC3120 Fast Ethernet NIC 0e11 b01f NC3122 Fast Ethernet NIC (dual port) 0e11 b02f NC1120 Ethernet NIC 0e11 b04a Netelligent 10/100TX NIC with Wake on LAN 0e11 b0c6 NC3161 Fast Ethernet NIC (embedded, WOL) 0e11 b0c7 NC3160 Fast Ethernet NIC (embedded) 0e11 b0d7 NC3121 Fast Ethernet NIC (WOL) 0e11 b0dd NC3131 Fast Ethernet NIC (dual port) 0e11 b0de NC3132 Fast Ethernet Module (dual port) 0e11 b0e1 NC3133 Fast Ethernet Module (100-FX) 0e11 b134 NC3163 Fast Ethernet NIC (embedded, WOL) 0e11 b13c NC3162 Fast Ethernet NIC (embedded) 0e11 b144 NC3123 Fast Ethernet NIC (WOL) 0e11 b163 NC3134 Fast Ethernet NIC (dual port) 0e11 b164 NC3135 Fast Ethernet Upgrade Module (dual port) 0e11 b1a4 NC7131 Gigabit Server Adapter 1014 005c 82558B Ethernet Pro 10/100 1014 01bc 82559 Fast Ethernet LAN On Motherboard 1014 01f1 10/100 Ethernet Server Adapter 1014 01f2 10/100 Ethernet Server Adapter 1014 0207 Ethernet Pro/100 S 1014 0232 10/100 Dual Port Server Adapter 1014 023a ThinkPad R30 1014 105c Netfinity 10/100 1014 2205 ThinkPad A22p 1014 305c 10/100 EtherJet Management Adapter 1014 405c 10/100 EtherJet Adapter with Alert on LAN 1014 505c 10/100 EtherJet Secure Management Adapter 1014 605c 10/100 EtherJet Secure Management Adapter 1014 705c 10/100 Netfinity 10/100 Ethernet Security Adapter 1014 805c 10/100 Netfinity 10/100 Ethernet Security Adapter 1028 009b 10/100 Ethernet Server Adapter 1028 00ce 10/100 Ethernet Server Adapter 1033 8000 PC-9821X-B06 1033 8016 PK-UG-X006 1033 801f PK-UG-X006 1033 8026 PK-UG-X006 1033 8063 82559-based Fast Ethernet Adapter 1033 8064 82559-based Fast Ethernet Adapter 103c 10c0 NetServer 10/100TX 103c 10c3 NetServer 10/100TX 103c 10ca NetServer 10/100TX 103c 10cb NetServer 10/100TX 103c 10e3 NetServer 10/100TX 103c 10e4 NetServer 10/100TX 103c 1200 NetServer 10/100TX 108e 10cf EtherExpress PRO/100(B) 10c3 1100 SmartEther100 SC1100 10cf 1115 8255x-based Ethernet Adapter (10/100) 10cf 1143 8255x-based Ethernet Adapter (10/100) 110a 008b 82551QM Fast Ethernet Multifuction PCI/CardBus Controller 114a 0582 PC8 onboard ethernet ETH2 1179 0001 8255x-based Ethernet Adapter (10/100) 1179 0002 PCI FastEther LAN on Docker 1179 0003 8255x-based Fast Ethernet 1259 2560 AT-2560 100 1259 2561 AT-2560 100 FX Ethernet Adapter 1266 0001 NE10/100 Adapter 13e9 1000 6221L-4U 144d 2501 SEM-2000 MiniPCI LAN Adapter 144d 2502 SEM-2100IL MiniPCI LAN Adapter 1668 1100 EtherExpress PRO/100B (TX) (MiniPCI Ethernet+Modem) 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 1af4 1100 QEMU Virtual Machine 4c53 1080 CT8 mainboard 4c53 10e0 PSL09 PrPMC 8086 0001 EtherExpress PRO/100B (TX) 8086 0002 EtherExpress PRO/100B (T4) 8086 0003 EtherExpress PRO/10+ 8086 0004 EtherExpress PRO/100 WfM 8086 0005 82557 10/100 8086 0006 82557 10/100 with Wake on LAN 8086 0007 82558 10/100 Adapter 8086 0008 82558 10/100 with Wake on LAN 8086 0009 82558B PRO/100+ PCI (TP) 8086 000a EtherExpress PRO/100+ Management Adapter 8086 000b EtherExpress PRO/100+ 8086 000c EtherExpress PRO/100+ Management Adapter 8086 000d EtherExpress PRO/100+ Alert On LAN II* Adapter 8086 000e EtherExpress PRO/100+ Management Adapter with Alert On LAN* 8086 000f EtherExpress PRO/100 Desktop Adapter 8086 0010 EtherExpress PRO/100 S Management Adapter 8086 0011 EtherExpress PRO/100 S Management Adapter 8086 0012 EtherExpress PRO/100 S Advanced Management Adapter (D) 8086 0013 EtherExpress PRO/100 S Advanced Management Adapter (E) 8086 0030 EtherExpress PRO/100 Management Adapter with Alert On LAN* GC 8086 0031 EtherExpress PRO/100 Desktop Adapter 8086 0040 EtherExpress PRO/100 S Desktop Adapter 8086 0041 EtherExpress PRO/100 S Desktop Adapter 8086 0042 EtherExpress PRO/100 Desktop Adapter 8086 0050 EtherExpress PRO/100 S Desktop Adapter 8086 1009 EtherExpress PRO/100+ Server Adapter 8086 100c EtherExpress PRO/100+ Server Adapter (PILA8470B) 8086 1012 EtherExpress PRO/100 S Server Adapter (D) 8086 1013 EtherExpress PRO/100 S Server Adapter (E) 8086 1015 EtherExpress PRO/100 S Dual Port Server Adapter 8086 1017 EtherExpress PRO/100+ Dual Port Server Adapter 8086 1030 EtherExpress PRO/100+ Management Adapter with Alert On LAN* G Server 8086 1040 EtherExpress PRO/100 S Server Adapter 8086 1041 EtherExpress PRO/100 S Server Adapter 8086 1042 EtherExpress PRO/100 Server Adapter 8086 1050 EtherExpress PRO/100 S Server Adapter 8086 1051 EtherExpress PRO/100 Server Adapter 8086 1052 EtherExpress PRO/100 Server Adapter 8086 10f0 EtherExpress PRO/100+ Dual Port Adapter 8086 1229 82557/8/9 [Ethernet Pro 100] 8086 2009 EtherExpress PRO/100 S Mobile Adapter 8086 200d EtherExpress PRO/100 Cardbus 8086 200e EtherExpress PRO/100 LAN+V90 Cardbus Modem 8086 200f EtherExpress PRO/100 SR Mobile Adapter 8086 2010 EtherExpress PRO/100 S Mobile Combo Adapter 8086 2013 EtherExpress PRO/100 SR Mobile Combo Adapter 8086 2016 EtherExpress PRO/100 S Mobile Adapter 8086 2017 EtherExpress PRO/100 S Combo Mobile Adapter 8086 2018 EtherExpress PRO/100 SR Mobile Adapter 8086 2019 EtherExpress PRO/100 SR Combo Mobile Adapter 8086 2101 EtherExpress PRO/100 P Mobile Adapter 8086 2102 EtherExpress PRO/100 SP Mobile Adapter 8086 2103 EtherExpress PRO/100 SP Mobile Adapter 8086 2104 EtherExpress PRO/100 SP Mobile Adapter 8086 2105 EtherExpress PRO/100 SP Mobile Adapter 8086 2106 EtherExpress PRO/100 P Mobile Adapter 8086 2107 EtherExpress PRO/100 Network Connection 8086 2108 EtherExpress PRO/100 Network Connection 8086 2200 EtherExpress PRO/100 P Mobile Combo Adapter 8086 2201 EtherExpress PRO/100 P Mobile Combo Adapter 8086 2202 EtherExpress PRO/100 SP Mobile Combo Adapter 8086 2203 EtherExpress PRO/100+ MiniPCI 8086 2204 EtherExpress PRO/100+ MiniPCI 8086 2205 EtherExpress PRO/100 SP Mobile Combo Adapter 8086 2206 EtherExpress PRO/100 SP Mobile Combo Adapter 8086 2207 EtherExpress PRO/100 SP Mobile Combo Adapter 8086 2208 EtherExpress PRO/100 P Mobile Combo Adapter 8086 2402 EtherExpress PRO/100+ MiniPCI 8086 2407 EtherExpress PRO/100+ MiniPCI 8086 2408 EtherExpress PRO/100+ MiniPCI 8086 2409 EtherExpress PRO/100+ MiniPCI 8086 240f EtherExpress PRO/100+ MiniPCI 8086 2410 EtherExpress PRO/100+ MiniPCI 8086 2411 EtherExpress PRO/100+ MiniPCI 8086 2412 EtherExpress PRO/100+ MiniPCI 8086 2413 EtherExpress PRO/100+ MiniPCI 8086 3000 82559 Fast Ethernet LAN on Motherboard 8086 3001 82559 Fast Ethernet LOM with Basic Alert on LAN* 8086 3002 82559 Fast Ethernet LOM with Alert on LAN II* 8086 3006 EtherExpress PRO/100 S Network Connection 8086 3007 EtherExpress PRO/100 S Network Connection 8086 3008 EtherExpress PRO/100 Network Connection 8086 3010 EtherExpress PRO/100 S Network Connection 8086 3011 EtherExpress PRO/100 S Network Connection 8086 3012 EtherExpress PRO/100 Network Connection 8086 301a S845WD1-E mainboard 8086 3411 SDS2 Mainboard 122d 430FX - 82437FX TSC [Triton I] 122e 82371FB PIIX ISA [Triton I] 1230 82371FB PIIX IDE [Triton I] 1231 DSVD Modem 1234 430MX - 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX) 1235 430MX - 82437MX Mob. System Ctrlr (MTSC) & 82438MX Data Path (MTDP) 1237 440FX - 82441FX PMC [Natoma] 1af4 1100 Qemu virtual machine 1239 82371FB PIIX IDE Interface 123b 82380PB PCI to PCI Docking Bridge 123c 82380AB (MISA) Mobile PCI-to-ISA Bridge 123d 683053 Programmable Interrupt Device 123e 82466GX (IHPC) Integrated Hot-Plug Controller (hidden mode) 123f 82466GX Integrated Hot-Plug Controller (IHPC) 1240 82752 (752) AGP Graphics Accelerator 124b 82380FB (MPCI2) Mobile Docking Controller 124c Ethernet Connection E823-L for backplane 124d Ethernet Connection E823-L for SFP 124e Ethernet Connection E823-L/X557-AT 10GBASE-T 124f Ethernet Connection E823-L 1GbE 1250 430HX - 82439HX TXC [Triton II] 1360 82806AA PCI64 Hub PCI Bridge 1361 82806AA PCI64 Hub Controller (HRes) 8086 1361 82806AA PCI64 Hub Controller (HRes) 8086 8000 82806AA PCI64 Hub Controller (HRes) 1460 82870P2 P64H2 Hub PCI Bridge 1461 82870P2 P64H2 I/OxAPIC 15d9 3480 P4DP6 4c53 1090 Cx9/Vx9 mainboard 1462 82870P2 P64H2 Hot Plug Controller 1501 82567V-3 Gigabit Network Connection 1502 82579LM Gigabit Network Connection (Lewisville) 1028 04a3 Precision M4600 17aa 21ce ThinkPad T520 8086 3578 Server Board S1200BTLR 8086 357a Server Board S1200BTS 1503 82579V Gigabit Network Connection 1043 849c P8P67 Deluxe Motherboard 10cf 161c LIFEBOOK E752 1507 Ethernet Express Module X520-P2 1508 82598EB Gigabit BX Network Connection 1509 82580 Gigabit Network Connection 150a 82576NS Gigabit Network Connection 150b 82598EB 10-Gigabit AT2 Server Adapter 8086 a10c 82598EB 10-Gigabit AT2 Server Adapter 8086 a11c 82598EB 10-Gigabit AT2 Server Adapter 8086 a12c 82598EB 10-Gigabit AT2 Server Adapter 150c 82583V Gigabit Network Connection 150d 82576 Gigabit Backplane Connection 8086 a10c Gigabit ET Quad Port Mezzanine Card 150e 82580 Gigabit Network Connection 103c 1780 NC365T 4-port Ethernet Server Adapter 8086 12a1 Ethernet Server Adapter I340-T4 8086 12a2 Ethernet Server Adapter I340-T4 150f 82580 Gigabit Fiber Network Connection 1510 82580 Gigabit Backplane Connection 1511 82580 Gigabit SFP Connection 1513 CV82524 Thunderbolt Controller [Light Ridge 4C 2010] 1514 Ethernet X520 10GbE Dual Port KX4 Mezz 8086 000b Ethernet X520 10GbE Dual Port KX4 Mezz 1515 X540 Ethernet Controller Virtual Function 1516 82580 Gigabit Network Connection 8086 12b1 Ethernet Server Adapter I340-T2 8086 12b2 Ethernet Server Adapter I340-T2 1517 82599ES 10 Gigabit Network Connection 1137 006a UCS CNA M61KR-I Intel Converged Network Adapter 1518 82576NS SerDes Gigabit Network Connection 151a DSL2310 Thunderbolt Controller [Eagle Ridge 2C 2011] 151b CVL2510 Thunderbolt Controller [Light Peak 2C 2010] 151c 82599 10 Gigabit TN Network Connection 108e 7b13 Dual 10GBASE-T LP 151d Ethernet Connection E823-L for QSFP 1520 I350 Ethernet Controller Virtual Function 1521 I350 Gigabit Network Connection 1028 0602 Gigabit 2P I350-t LOM 1028 0693 Gigabit 2P I350-t LOM 1028 06e2 Gigabit 2P I350-t LOM 1028 0757 Gigabit I350-t LOM 1028 075a Gigabit I350-t LOM 1028 1f60 Gigabit 4P I350-t rNDC 1028 1f62 Gigabit 4P X540/I350 rNDC 1028 1fa8 Ethernet 10G 4P X550/I350 rNDC 1028 1fa9 Ethernet 10G 4P X550 rNDC 1028 1faa Gigabit 4P X550/I350 rNDC 1028 ff9a Gigabit 4P X710/I350 rNDC 103c 17d1 Ethernet 1Gb 4-port 366FLR Adapter 103c 2003 Ethernet 1Gb 2-port 367i Adapter 103c 2226 Ethernet 1Gb 1-port 364i Adapter 103c 337f Ethernet 1Gb 2-port 361i Adapter 103c 3380 Ethernet 1Gb 4-port 366i Adapter 103c 339e Ethernet 1Gb 2-port 361T Adapter 103c 8157 Ethernet 1Gb 4-port 366T Adapter 108e 7b16 Quad Port GbE PCIe 2.0 ExpressModule, UTP 108e 7b18 Quad Port GbE PCIe 2.0 Low Profile Adapter, UTP 1093 7648 PCIe-8237R Ethernet Adapter 1093 7649 PCIe-8236 Ethernet Adapter 1093 76b1 PCIe-8237R-S Ethernet Adapter 1093 775b PCIe-8237 Ethernet Adapter 10a9 802a UV2-BaseIO dual-port GbE 1137 023e 1GigE I350 LOM 15d9 0652 Dual Port i350 GbE MicroLP [AOC-CGP-i2] 17aa 1074 ThinkServer I350-T4 AnyFabric 17aa 4005 I350 Gigabit Network Connection 18d4 0c07 I350 1Gb 2-port RJ45 OCP Mezz Card MOP41-I-1GT2 193d 1005 360T-B 193d 1007 360T-L 1bd4 001d 1G base-T QP EP014Ti1 Adapter 1bd4 0035 1G base-T QP EP014Ti1 Adapter 8086 0001 Ethernet Server Adapter I350-T4 8086 0002 Ethernet Server Adapter I350-T2 8086 0003 Ethernet Network Adapter I350-T4 for OCP NIC 3.0 8086 00a1 Ethernet Server Adapter I350-T4 8086 00a2 Ethernet Server Adapter I350-T2 8086 00a3 Ethernet Network Adapter I350-T4 for OCP NIC 3.0 8086 00aa Ethernet Network Adapter I350-T4 for OCP NIC 3.0 8086 5001 Ethernet Server Adapter I350-T4 8086 5002 Ethernet Server Adapter I350-T2 8086 5003 Ethernet 1G 4P I350-t OCP 1522 I350 Gigabit Fiber Network Connection 108e 7b17 Quad Port GbE PCIe 2.0 ExpressModule, MMF 108e 7b19 Dual Port GbE PCIe 2.0 Low Profile Adapter, MMF 8086 0002 Ethernet Server Adapter I350-T2 8086 0003 Ethernet Server Adapter I350-F4 8086 0004 Ethernet Server Adapter I350-F2 8086 0005 Ethernet Server Adapter I350-F1 8086 00a2 Ethernet Server Adapter I350-T2 8086 00a3 Ethernet Server Adapter I350-F4 8086 00a4 Ethernet Server Adapter I350-F2 1523 I350 Gigabit Backplane Connection 1028 0060 Gigabit 2P I350 LOM 1028 1f9b Gigabit 4P I350-t bNDC 103c 1784 Ethernet 1Gb 2-port 361FLB Adapter 103c 18d1 Ethernet 1Gb 2-port 361FLB Adapter 103c 1989 Ethernet 1Gb 2-port 363i Adapter 103c 339f Ethernet 1Gb 4-port 366M Adapter 8086 1f52 1GbE 4P I350 Mezz 1524 I350 Gigabit Connection 1525 82567V-4 Gigabit Network Connection 1526 82576 Gigabit Network Connection 8086 a05c Gigabit ET2 Quad Port Server Adapter 8086 a06c Gigabit ET2 Quad Port Server Adapter 1527 82580 Gigabit Fiber Network Connection 8086 0001 Ethernet Server Adapter I340-F4 8086 0002 Ethernet Server Adapter I340-F4 1528 Ethernet Controller 10-Gigabit X540-AT2 1028 1f61 Ethernet 10G 4P X540/I350 rNDC 103c 192d 561FLR-T 2-port 10Gb Ethernet Adapter 103c 2004 Ethernet 10Gb 2-port 561i Adapter 103c 211a Ethernet 10Gb 2-port 561T Adapter 108e 4853 Ethernet Controller 10-Gigabit X540-AT2 108e 7b14 Sun Dual Port 10 GbE PCIe 2.0 ExpressModule, Base-T 108e 7b15 Sun Dual Port 10 GbE PCIe 2.0 Low Profile Adapter, Base-T 1137 00bf Ethernet Converged Network Adapter X540-T2 1170 0052 Ethernet Controller 10-Gigabit X540-AT2 15d9 0734 AOC-STG-I2T 17aa 1073 ThinkServer X540-T2 AnyFabric 17aa 4006 Ethernet Controller 10-Gigabit X540-AT2 1bd4 001a 10G base-T DP ER102Ti3 Rack Adapter 1bd4 0033 10G base-T DP EP102Ti3 Adapter 1bd4 0034 10G base-T DP EP102Ti3A Adapter 8086 0001 Ethernet Converged Network Adapter X540-T2 8086 0002 Ethernet Converged Network Adapter X540-T1 8086 001a Ethernet Converged Network Adapter X540-T2 8086 00a2 Ethernet Converged Network Adapter X540-T1 8086 1f61 Ethernet 10G 4P X540/I350 rNDC 8086 5003 Ethernet 10G 2P X540-t Adapter 8086 5004 Ethernet 10G 2P X540-t Adapter 1529 82599 10 Gigabit Dual Port Network Connection with FCoE 152a 82599 10 Gigabit Dual Port Backplane Connection with FCoE 152e 82599 Virtual Function 152f I350 Virtual Function 1530 X540 Virtual Function 1531 I210 Gigabit Unprogrammed 1533 I210 Gigabit Network Connection 103c 0003 Ethernet I210-T1 GbE NIC 1059 0180 RD10019 1GbE interface 1093 7706 Compact Vision System Ethernet Adapter 10a9 802c UV300 BaseIO single-port GbE 10a9 802d UV3000 BaseIO GbE Network 17aa 1100 ThinkServer Ethernet Server Adapter 8086 0001 Ethernet Server Adapter I210-T1 8086 0002 Ethernet Server Adapter I210-T1 1536 I210 Gigabit Fiber Network Connection 1537 I210 Gigabit Backplane Connection 1059 0110 T4005 1GbE interface 1059 0111 T4007 1GbE interface 1059 0120 T4008 1GbE interface 1059 0130 T4009 1GbE interface 1059 0140 T2035 1GbE interface 1059 0150 RD-01068 1GbE interface 1059 0170 RD-01213 10GbE interface 1538 I210 Gigabit Network Connection 1539 I211 Gigabit Network Connection 153a Ethernet Connection I217-LM 103c 1909 ZBook 15 103c 1998 EliteDesk 800 G1 17aa 220e ThinkPad T440p 17aa 309f ThinkCentre M83 153b Ethernet Connection I217-V 1547 DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012] 1548 DSL3310 Thunderbolt Controller [Cactus Ridge 2C 2012] 1549 DSL2210 Thunderbolt Controller [Port Ridge 1C 2011] 154a Ethernet Server Adapter X520-4 8086 011a Ethernet Converged Network Adapter X520-4 8086 011b Ethernet Converged Network Adapter X520-4 8086 011c Ethernet Converged Network Adapter X520-4 154c Ethernet Virtual Function 700 Series 154d Ethernet 10G 2P X520 Adapter 8086 7b11 10GbE 2P X520 Adapter 1557 82599 10 Gigabit Network Connection 17aa 4008 82599EN 10 Gigabit Network Connection 1bd4 001c 10G SFP+ SP ER101Fi4 Rack Adapter 1bd4 0030 10G SFP+ SP EP101Fi4A Adapter 8086 0001 Ethernet OCP Server Adapter X520-1 1558 Ethernet Converged Network Adapter X520-Q1 8086 011a Ethernet Converged Network Adapter X520-Q1 8086 011b Ethernet Converged Network Adapter X520-Q1 1559 Ethernet Connection I218-V 155a Ethernet Connection I218-LM 17aa 2214 ThinkPad X240 155c Ethernet Server Bypass Adapter 8086 0001 Ethernet Server Bypass Adapter X540-T2 155d Ethernet Server Bypass Adapter 8086 0001 Ethernet Server Bypass Adapter X520-SR2 8086 0002 Ethernet Server Bypass Adapter X520-LR2 1560 Ethernet Controller X540 1563 Ethernet Controller 10G X550T 1028 1fa8 Ethernet 10G 4P X550/I350 rNDC 1028 1fa9 Ethernet 10G 4P X550 rNDC 1137 02b2 X550-TX 10 Gig LOM 1137 02b3 X550-TX 10 Gig LOM 1170 0001 Intel Ethernet Controller X550-T2 OCP card 14c0 1201 X550 10Gb 2P RJ45 OCP Mezz 1590 00d1 Ethernet 10Gb 2-port 562T Adapter 1590 00d2 Ethernet 10Gb 2-port 562FLR-T Adapter 16b8 7217 Twin10G Thunderbolt 3 Edition 18d4 0c08 X550 10Gb 2-port RJ45 OCP Mezz Card MOP81-I-10GT2 193d 1008 560T-B 193d 1009 560T-L 193d 1011 UN-NIC-ETH563T-sL-2P 8086 0001 Ethernet Converged Network Adapter X550-T2 8086 001a Ethernet Converged Network Adapter X550-T2 8086 001b Ethernet Server Adapter X550-T2 for OCP 8086 001d Ethernet 10G 2P X550-t Adapter 8086 0022 Ethernet Converged Network Adapter X550-T2 1564 X550 Virtual Function 1565 X550 Virtual Function 1566 DSL4410 Thunderbolt NHI [Redwood Ridge 2C 2013] 1567 DSL4410 Thunderbolt Bridge [Redwood Ridge 2C 2013] 1568 DSL4510 Thunderbolt NHI [Redwood Ridge 4C 2013] 1569 DSL4510 Thunderbolt Bridge [Redwood Ridge 4C 2013] 156a DSL5320 Thunderbolt 2 NHI [Falcon Ridge 2C 2013] 156b DSL5320 Thunderbolt 2 Bridge [Falcon Ridge 2C 2013] 156c DSL5520 Thunderbolt 2 NHI [Falcon Ridge 4C 2013] 156d DSL5520 Thunderbolt 2 Bridge [Falcon Ridge 4C 2013] 156f Ethernet Connection I219-LM 1028 06dc Latitude E7470 103c 8079 EliteBook 840 G3 1570 Ethernet Connection I219-V 1571 Ethernet Virtual Function 700 Series 1572 Ethernet Controller X710 for 10GbE SFP+ 1028 0000 Ethernet 10G X710 rNDC 1028 1f99 Ethernet 10G 4P X710/I350 rNDC 1028 1f9c Ethernet 10G 4P X710 SFP+ rNDC 103c 0000 Ethernet 10Gb 562SFP+ Adapter 103c 22fc Ethernet 10Gb 2-port 562FLR-SFP+ Adapter 103c 22fd Ethernet 10Gb 2-port 562SFP+ Adapter 1137 0000 Ethernet Converged NIC X710-DA 1137 013b Ethernet Converged NIC X710-DA4 1137 020a Ethernet Converged NIC X710-DA2 1590 0000 Ethernet Controller X710 for 10GbE SFP+ 1590 0225 Ethernet 10GbE 4P 563SFP+ Adapter 1590 022f Ethernet 10Gb 2-port 564i Communication Board 17aa 0000 ThinkServer X710 AnyFabric for 10GbE SFP+ 17aa 4001 ThinkServer X710-4 AnyFabric for 10GbE SFP+ 17aa 4002 ThinkServer X710-2 AnyFabric for 10GbE SFP+ 19e5 d11c Ethernet 2-port X710 10Gb SFP+ Adapter SP330 1bd4 0056 Ethernet Network Adapter X710-BM2 for OCP NIC 3.0 8086 0000 Ethernet Converged Network Adapter X710 8086 0001 Ethernet Converged Network Adapter X710-4 8086 0002 Ethernet Converged Network Adapter X710-4 8086 0004 Ethernet Converged Network Adapter X710-4 8086 0005 Ethernet 10G 4P X710 Adapter 8086 0006 Ethernet 10G 2P X710 Adapter 8086 0007 Ethernet Converged Network Adapter X710-2 8086 0008 Ethernet Converged Network Adapter X710-2 8086 0009 Ethernet Controller X710 for 10GbE SFP+ 8086 000a Ethernet Controller X710 for 10GbE SFP+ 8086 000b Ethernet Server Adapter X710-DA2 for OCP 8086 000d Ethernet Controller X710 for 10GbE SFP+ 8086 000e Ethernet Server Adapter OCP X710-2 8086 000f Ethernet Server Adapter OCP X710-2 8086 0010 Ethernet Converged Network Adapter X710 8086 0011 Ethernet Network Adapter X710-2 for OCP NIC 3.0 8086 0012 Ethernet Network Adapter X710-4 for OCP NIC 3.0 8086 0013 Ethernet 10G 2P X710 OCP 8086 0014 Ethernet 10G 4P X710 OCP 8086 0015 Ethernet Server Adapter X710-DA2 for OCP 8086 00a1 Ethernet Network Adapter X710-2 for OCP NIC 3.0 8086 00a2 Ethernet Network Adapter X710-4 for OCP NIC 3.0 8086 4005 Ethernet Controller X710 for 10GbE SFP+ 8086 4006 Ethernet Controller X710 for 10GbE SFP+ 8086 4007 Ethernet Controller X710 for 10GbE SFP+ 1574 Ethernet Controller XL710 Emulation 1575 DSL6340 Thunderbolt 3 NHI [Alpine Ridge 2C 2015] 1576 DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] 1577 DSL6540 Thunderbolt 3 NHI [Alpine Ridge 4C 2015] 1578 DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] 157b I210 Gigabit Network Connection 157c I210 Gigabit Backplane Connection 157d DSL5110 Thunderbolt 2 NHI (Low Power) [Win Ridge 2C 2014] 157e DSL5110 Thunderbolt 2 Bridge (Low Power) [Win Ridge 2C 2014] 1580 Ethernet Controller XL710 for 40GbE backplane 1581 Ethernet Controller X710 for 10GbE backplane 1028 0000 Ethernet 10G X710-k bNDC 1028 1f98 Ethernet 10G 4P X710-k bNDC 1028 1f9e Ethernet 10G 2P X710-k bNDC 1059 0150 RD-01068 10GbE-KR interface 1059 0170 RD-01213 10GbE interface 1590 0000 Ethernet 2-port 563i Adapter 1590 00f8 Ethernet 2-port 563i Adapter 8086 0000 Ethernet Converged Network Adapter XL710-Q2 1583 Ethernet Controller XL710 for 40GbE QSFP+ 1028 0000 Ethernet 40G 2P XL710 QSFP+ rNDC 1028 1f9f Ethernet 40G 2P XL710 QSFP+ rNDC 108e 0000 10 Gb/40 Gb Ethernet Adapter 108e 7b1b 10 Gb/40 Gb Ethernet Adapter 108e 7b1d 10Gb/40Gb Ethernet Adapter 1137 0000 Ethernet Converged NIC XL710-QDA2 1137 013c Ethernet Converged NIC XL710-QDA2 8086 0000 Ethernet Converged Network Adapter XL710-Q2 8086 0001 Ethernet Converged Network Adapter XL710-Q2 8086 0002 Ethernet Converged Network Adapter XL710-Q2 8086 0003 Ethernet I/O Module XL710-Q2 8086 0004 Ethernet Server Adapter XL710-Q2OCP 8086 0006 Ethernet Converged Network Adapter XL710-Q2 1584 Ethernet Controller XL710 for 40GbE QSFP+ 8086 0000 Ethernet Converged Network Adapter XL710-Q1 8086 0001 Ethernet Converged Network Adapter XL710-Q1 8086 0002 Ethernet Converged Network Adapter XL710-Q1 8086 0003 Ethernet I/O Module XL710-Q1 8086 0004 Ethernet Server Adapter XL710-Q1OCP 1585 Ethernet Controller X710 for 10GbE QSFP+ 1586 Ethernet Controller X710 for 10GBASE-T 108e 0000 Ethernet Controller X710 for 10GBASE-T 108e 4857 Ethernet Controller X710 for 10GBASE-T 1587 Ethernet Controller XL710 for 20GbE backplane 103c 0000 Ethernet 10/20Gb 2-port 660FLB Adapter 103c 22fe Ethernet 10/20Gb 2-port 660FLB Adapter 1588 Ethernet Controller XL710 for 20GbE backplane 103c 0000 Ethernet 10/20Gb 2-port 660M Adapter 103c 22ff Ethernet 10/20Gb 2-port 660M Adapter 1137 0000 Ethernet Network Adapter XXV710 1137 02b4 Ethernet Network Adapter XXV710 OCP 2.0 1589 Ethernet Controller X710/X557-AT 10GBASE-T 108e 0000 Quad Port 10GBase-T Adapter 108e 7b1c Quad Port 10GBase-T Adapter 8086 0000 Ethernet Converged Network Adapter X710-T 8086 0001 Ethernet Converged Network Adapter X710-T4 8086 0002 Ethernet Converged Network Adapter X710-T4 8086 0003 Ethernet Converged Network Adapter X710-T 8086 00a0 Ethernet Converged Network Adapter X710-T4 8086 1003 Ethernet Converged Network Adapter X710-T 158a Ethernet Controller XXV710 for 25GbE backplane 1590 0000 10/25Gb Ethernet Adapter 1590 0286 Synergy 4610C 10/25Gb Ethernet Adapter 8086 0000 Ethernet Controller XXV710 for 25GbE backplane 8086 000a Ethernet 25G 2P XXV710 Mezz 158b Ethernet Controller XXV710 for 25GbE SFP28 1137 0000 Ethernet Network Adapter XXV710 1137 0225 Ethernet Network Adapter XXV710 1137 02b4 Ethernet Network Adapter XXV710 OCP 2.0 # UEFI PXE Disabled 1374 0230 Single Port 25 Gigabit Ethernet PCI Express Server Adapter (PE325G1I71) # With UEFI PXE Enabled 1374 0231 Single Port 25 Gigabit Ethernet PCI Express Server Adapter (PE325G1I71EU) # UEFI PXE Disabled 1374 0234 Dual Port 25 Gigabit Ethernet PCI Express Server Adapter (PE325G2I71) # With UEFI PXE Enabled 1374 0235 Dual Port 25 Gigabit Ethernet PCI Express Server Adapter (PE325G2I71EU) # PCIe x8 Bifurcated as x4x4, UEFI PXE Disabled, low profile 1374 0238 Quad Port 25 Gigabit Ethernet PCI Express Server Adapter (PE325G4I71L) # PCIe x8 Bifurcated as x4x4, UEFI PXE Enabled, low profile 1374 0239 Quad Port 25 Gigabit Ethernet PCI Express Server Adapter (PE325G4I71LEU) # PCIe x16 Bifurcated as x8x8, UEFI PXE Disabled, low profile 1374 023a Quad Port 25 Gigabit Ethernet PCI Express Server Adapter (PE31625G4I71L) # PCIe x16 Bifurcated as x8x8, UEFI PXE Enabled, low profile 1374 023b Quad Port 25 Gigabit Ethernet PCI Express Server Adapter (PE31625G4I71LEU) 1590 0000 Ethernet Network Adapter XXV710-2 1590 0253 Ethernet 10/25/Gb 2-port 661SFP28 Adapter 8086 0000 Ethernet Network Adapter XXV710 8086 0001 Ethernet Network Adapter XXV710-2 8086 0002 Ethernet Network Adapter XXV710-2 8086 0003 Ethernet Network Adapter XXV710-1 8086 0004 Ethernet Network Adapter XXV710-1 8086 0005 Ethernet Network Adapter OCP XXV710-2 8086 0006 Ethernet Network Adapter OCP XXV710-2 8086 0007 Ethernet Network Adapter OCP XXV710-1 8086 0008 Ethernet Network Adapter OCP XXV710-1 8086 0009 Ethernet 25G 2P XXV710 Adapter 8086 000a Ethernet 25G 2P XXV710 OCP 8086 4001 Ethernet Network Adapter XXV710-2 1591 Ethernet Controller E810-C for backplane 1592 Ethernet Controller E810-C for QSFP 1137 02bf E810CQDA2 2x100 GbE QSFP28 PCIe NIC 8086 0002 Ethernet Network Adapter E810-C-Q2 8086 0004 Ethernet Network Adapter E810-C-Q2 8086 0005 Ethernet Network Adapter E810-C-Q1 for OCP3.0 8086 0006 Ethernet Network Adapter E810-C-Q2 for OCP3.0 8086 0009 Ethernet Network Adapter E810-C-Q1 8086 000a Ethernet Network Adapter E810-C-Q1 for OCP 8086 000b Ethernet 100G 2P E810-C Adapter 8086 000c Ethernet 100G 2P E810-C OCP 1593 Ethernet Controller E810-C for SFP 1137 02c3 E810XXVDA4 4x25/10 GbE SFP28 PCIe NIC 8086 0002 Ethernet Network Adapter E810-L-2 8086 0005 Ethernet Network Adapter E810-XXV-4 8086 0006 Ethernet Network Adapter E810-XXV-4 8086 0007 Ethernet Network Adapter E810-XXV-4 8086 0008 Ethernet Network Adapter E810-XXV-2 8086 0009 Ethernet Network Adapter E810-XXV-2 for OCP 2.0 8086 000a Ethernet 25G 4P E810-XXV Adapter 1599 Ethernet Controller E810-XXV for backplane 159a Ethernet Controller E810-XXV for QSFP 159b Ethernet Controller E810-XXV for SFP 1137 02be E810XXVDA2 2x25/10 GbE SFP28 PCIe NIC 1bd4 0057 Ethernet Network Adapter E810-XXVAM2 1bd4 0058 Ethernet Network Adapter E810-XXVAM2 for OCP 3.0 8086 0001 Ethernet 25G 2P E810-XXV OCP 8086 0002 Ethernet 25G 2P E810-XXV Adapter 8086 0003 Ethernet Network Adapter E810-XXV-2 8086 0005 Ethernet Network Adapter E810-XXV-2 for OCP 3.0 8086 4001 Ethernet Network Adapter E810-XXV-2 8086 4002 Ethernet Network Adapter E810-XXV-2 for OCP 3.0 15a0 Ethernet Connection (2) I218-LM 15a1 Ethernet Connection (2) I218-V 15a2 Ethernet Connection (3) I218-LM 15a3 Ethernet Connection (3) I218-V 15a4 Ethernet Switch FM10000 Host Interface 15a5 Ethernet Switch FM10000 Host Virtual Interface 15a8 Ethernet Connection X552 Virtual Function 15a9 X552 Virtual Function 15aa Ethernet Connection X552 10 GbE Backplane 1059 0120 T4008 10GbE interface 15ab Ethernet Connection X552 10 GbE Backplane 1059 0150 RD-01068 10GbE interface 1059 0170 RD-01213 10GbE interface 15ac Ethernet Connection X552 10 GbE SFP+ 1059 0160 RD-01167 10GbE interface 15ad Ethernet Connection X552/X557-AT 10GBASE-T 15ae Ethernet Connection X552 1000BASE-T 15b0 Ethernet Connection X552 Backplane 15b4 X553 Virtual Function 15b5 DSL6340 USB 3.1 Controller [Alpine Ridge] 15b6 DSL6540 USB 3.1 Controller [Alpine Ridge] 15b7 Ethernet Connection (2) I219-LM 15b8 Ethernet Connection (2) I219-V 15b9 Ethernet Connection (3) I219-LM 15bb Ethernet Connection (7) I219-LM 15bc Ethernet Connection (7) I219-V 15bd Ethernet Connection (6) I219-LM 15be Ethernet Connection (6) I219-V 15bf JHL6240 Thunderbolt 3 NHI (Low Power) [Alpine Ridge LP 2016] 15c0 JHL6240 Thunderbolt 3 Bridge (Low Power) [Alpine Ridge LP 2016] 15c1 JHL6240 Thunderbolt 3 USB 3.1 Controller (Low Power) [Alpine Ridge LP 2016] 15c2 Ethernet Connection X553 Backplane 15c3 Ethernet Connection X553 Backplane 15c4 Ethernet Connection X553 10 GbE SFP+ 15c5 X553 Virtual Function 15c6 Ethernet Connection X553 1GbE 15c7 Ethernet Connection X553 1GbE 15c8 Ethernet Connection X553/X557-AT 10GBASE-T 15ce Ethernet Connection X553 10 GbE SFP+ 15d0 Ethernet SDI Adapter 8086 0001 Ethernet SDI Adapter FM10420-100GbE-QDA2 8086 0002 Ethernet SDI Adapter FM10840-MTP2 15d1 Ethernet Controller 10G X550T 8086 0002 Ethernet Converged Network Adapter X550-T1 8086 001b Ethernet Server Adapter X550-T1 for OCP 8086 0021 Ethernet Converged Network Adapter X550-T1 8086 00a2 Ethernet Converged Network Adapter X550-T1 15d2 JHL6540 Thunderbolt 3 NHI (C step) [Alpine Ridge 4C 2016] 15d3 JHL6540 Thunderbolt 3 Bridge (C step) [Alpine Ridge 4C 2016] 15d4 JHL6540 Thunderbolt 3 USB Controller (C step) [Alpine Ridge 4C 2016] 15d5 Ethernet SDI Adapter FM10420-25GbE-DA2 8086 0001 Ethernet SDI Adapter FM10420-25GbE-DA2 15d6 Ethernet Connection (5) I219-V 15d7 Ethernet Connection (4) I219-LM 15d8 Ethernet Connection (4) I219-V 17aa 2247 ThinkPad T570 17aa 224f ThinkPad X1 Carbon 5th Gen 17aa 225d ThinkPad T480 15d9 JHL6340 Thunderbolt 3 NHI (C step) [Alpine Ridge 2C 2016] 15da JHL6340 Thunderbolt 3 Bridge (C step) [Alpine Ridge 2C 2016] 15db JHL6340 Thunderbolt 3 USB 3.1 Controller (C step) [Alpine Ridge 2C 2016] 15df Ethernet Connection (8) I219-LM 15e0 Ethernet Connection (8) I219-V 15e1 Ethernet Connection (9) I219-LM 15e2 Ethernet Connection (9) I219-V 15e3 Ethernet Connection (5) I219-LM 15e4 Ethernet Connection X553 1GbE 15e5 Ethernet Connection X553 1GbE 15e7 JHL7540 Thunderbolt 3 Bridge [Titan Ridge 2C 2018] 15e8 JHL7540 Thunderbolt 3 NHI [Titan Ridge 2C 2018] 15e9 JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 2C 2018] 15ea JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] 15eb JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] 15ec JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] 15ef JHL7540 Thunderbolt 3 Bridge [Titan Ridge DD 2018] 15f0 JHL7540 Thunderbolt 3 USB Controller [Titan Ridge DD 2018] 15f2 Ethernet Controller I225-LM 8086 0001 Ethernet Network Adapter I225-T1 8086 0002 Ethernet Network Adapter I225-T1 15f3 Ethernet Controller I225-V 8086 0003 Intel(R) Ethernet Controller (3) I225-V 15f4 Ethernet Connection (15) I219-LM 15f5 Ethernet Connection (15) I219-V 15f6 I210 Gigabit Ethernet Connection 15f9 Ethernet Connection (14) I219-LM 15fa Ethernet Connection (14) I219-V 15fb Ethernet Connection (13) I219-LM 15fc Ethernet Connection (13) I219-V 15ff Ethernet Controller X710 for 10GBASE-T 1137 0000 X710TLG GbE RJ45 PCIe NIC 1137 02c1 X710T2LG 2x10 GbE RJ45 PCIe NIC 1137 02c2 X710T4LG 4x10 GbE RJ45 PCIe NIC 8086 0000 Ethernet Network Adapter X710-TL 8086 0001 Ethernet Network Adapter X710-T4L 8086 0002 Ethernet Network Adapter X710-T4L 8086 0003 Ethernet Network Adapter X710-T2L 8086 0004 Ethernet Network Adapter X710-T2L 8086 0005 Ethernet 10G 2P X710-T2L-t Adapter 8086 0006 Ethernet 10G 4P X710-T4L-t Adapter 8086 0007 Ethernet 10G 2P X710-T2L-t OCP 8086 0008 Ethernet 10G 4P X710-T4L-t OCP 8086 0009 Ethernet Network Adapter X710-T4L for OCP 3.0 8086 000a Ethernet Network Adapter X710-T4L for OCP 3.0 8086 000b Ethernet Network Adapter X710-T2L for OCP 3.0 8086 000c Ethernet Network Adapter X710-T2L for OCP 3.0 8086 000f Ethernet Network Adapter X710-T2L for OCP 3.0 1600 Broadwell-U Host Bridge -OPI 1601 Broadwell-U PCI Express x16 Controller 1602 Broadwell-U Integrated Graphics 1603 Broadwell-U Processor Thermal Subsystem 1604 Broadwell-U Host Bridge -OPI 1605 Broadwell-U PCI Express x8 Controller 1606 HD Graphics 1607 Broadwell-U CHAPS Device 1608 Broadwell-U Host Bridge -OPI 1609 Broadwell-U x4 PCIe 160a Broadwell-U Integrated Graphics 160b Broadwell-U Integrated Graphics 160c Broadwell-U Audio Controller 160d Broadwell-U Integrated Graphics 160e Broadwell-U Integrated Graphics 160f Broadwell-U SoftSKU 1610 Broadwell-U Host Bridge - DMI 1612 HD Graphics 5600 1614 Broadwell-U Host Bridge - DMI 1616 HD Graphics 5500 103c 2216 ZBook 15u G2 Mobile Workstation 1618 Broadwell-U Host Bridge - DMI 161a Broadwell-U Integrated Graphics 161b Broadwell-U Integrated Graphics 161d Broadwell-U Integrated Graphics 161e HD Graphics 5300 1622 Iris Pro Graphics 6200 1626 HD Graphics 6000 162a Iris Pro Graphics P6300 162b Iris Graphics 6100 162d Broadwell-U Integrated Graphics 162e Broadwell-U Integrated Graphics 1632 Broadwell-U Integrated Graphics 1636 Broadwell-U Integrated Graphics 163a Broadwell-U Integrated Graphics 163b Broadwell-U Integrated Graphics 163d Broadwell-U Integrated Graphics 163e Broadwell-U Integrated Graphics 1889 Ethernet Adaptive Virtual Function 1890 Ethernet Connection E822-C for backplane 1891 Ethernet Connection E822-C for QSFP 1892 Ethernet Connection E822-C for SFP 1893 Ethernet Connection E822-C/X557-AT 10GBASE-T 1894 Ethernet Connection E822-C 1GbE 1897 Ethernet Connection E822-L for backplane 1898 Ethernet Connection E822-L for SFP 1899 Ethernet Connection E822-L/X557-AT 10GBASE-T 189a Ethernet Connection E822-L 1GbE 18a0 C4xxx Series QAT 18a1 C4XXX Series QAT Virtual Function 1900 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers 1901 6th-9th Gen Core Processor PCIe Controller (x16) 1902 HD Graphics 510 1903 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem 1028 06d6 Latitude 7275 tablet 1028 06dc Latitude E7470 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv 17aa 225d ThinkPad T480 1904 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 17aa 382a B51-80 Laptop 1905 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x8) 1906 HD Graphics 510 17aa 382a B51-80 Laptop 1908 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers 1909 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x4) 190c Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers 1028 06d6 Latitude 7275 tablet 190f Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers 1910 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv 1911 Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model 1028 0869 Vostro 3470 17aa 2247 ThinkPad T570 17aa 224f ThinkPad X1 Carbon 5th Gen 17aa 225d ThinkPad T480 1912 HD Graphics 530 1916 Skylake GT2 [HD Graphics 520] 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 1918 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers 1919 Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Imaging Unit 1028 06d6 Latitude 7275 tablet 191b HD Graphics 530 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv 191d HD Graphics P530 191e HD Graphics 515 1028 06d6 Latitude 7275 tablet 191f Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers 1921 HD Graphics 520 1926 Iris Graphics 540 1927 Iris Graphics 550 192b Iris Graphics 555 192d Iris Graphics P555 1932 Iris Pro Graphics 580 193a Iris Pro Graphics P580 193b Iris Pro Graphics 580 193d Iris Pro Graphics P580 1960 80960RP (i960RP) Microprocessor 101e 0431 MegaRAID 431 RAID Controller 101e 0438 MegaRAID 438 Ultra2 LVD RAID Controller 101e 0466 MegaRAID 466 Express Plus RAID Controller 101e 0467 MegaRAID 467 Enterprise 1500 RAID Controller 101e 0490 MegaRAID 490 Express 300 RAID Controller 101e 0762 MegaRAID 762 Express RAID Controller 101e 09a0 PowerEdge Expandable RAID Controller 2/SC 1028 0467 PowerEdge Expandable RAID Controller 2/DC 1028 1111 PowerEdge Expandable RAID Controller 2/SC 103c 03a2 MegaRAID 103c 10c6 MegaRAID 438, NetRAID-3Si 103c 10c7 MegaRAID T5, Integrated NetRAID 103c 10cc MegaRAID, Integrated NetRAID 103c 10cd NetRAID-1Si 105a 0000 SuperTrak 105a 2168 SuperTrak Pro 105a 5168 SuperTrak66/100 1111 1111 MegaRAID 466, PowerEdge Expandable RAID Controller 2/SC 1111 1112 PowerEdge Expandable RAID Controller 2/SC 113c 03a2 MegaRAID e4bf 1010 CG1-RADIO e4bf 1020 CU2-QUARTET e4bf 1040 CU1-CHORUS e4bf 3100 CX1-BAND 1962 80960RM (i960RM) Microprocessor 105a 0000 SuperTrak SX6000 I2O CPU 1964 80960RN (i960RN) Microprocessor 1980 Atom Processor C3000 Series System Agent 19a1 Atom Processor C3000 Series Error Registers 19a2 Atom Processor C3000 Series Root Complex Event Collector 19a3 Atom Processor C3000 Series Integrated QAT Root Port 19a4 Atom Processor C3000 Series PCI Express Root Port #0 19a5 Atom Processor C3000 Series PCI Express Root Port #1 19a6 Atom Processor C3000 Series PCI Express Root Port #2 19a7 Atom Processor C3000 Series PCI Express Root Port #3 19a8 Atom Processor C3000 Series PCI Express Root Port #4 19a9 Atom Processor C3000 Series PCI Express Root Port #5 19aa Atom Processor C3000 Series PCI Express Root Port #6 19ab Atom Processor C3000 Series PCI Express Root Port #7 19ac Atom Processor C3000 Series SMBus Contoller - Host 19b0 Atom Processor C3000 Series SATA Controller 0 19b1 Atom Processor C3000 Series SATA Controller 0 19b2 Atom Processor C3000 Series SATA Controller 0 19b3 Atom Processor C3000 Series SATA Controller 0 19b4 Atom Processor C3000 Series SATA Controller 0 19b5 Atom Processor C3000 Series SATA Controller 0 19b6 Atom Processor C3000 Series SATA Controller 0 19b7 Atom Processor C3000 Series SATA Controller 0 19be Atom Processor C3000 Series SATA Controller 0 19bf Atom Processor C3000 Series SATA Controller 0 19c0 Atom Processor C3000 Series SATA Controller 1 19c1 Atom Processor C3000 Series SATA Controller 1 19c2 Atom Processor C3000 Series SATA Controller 1 19c3 Atom Processor C3000 Series SATA Controller 1 19c4 Atom Processor C3000 Series SATA Controller 1 19c5 Atom Processor C3000 Series SATA Controller 1 19c6 Atom Processor C3000 Series SATA Controller 1 19c7 Atom Processor C3000 Series SATA Controller 1 19ce Atom Processor C3000 Series SATA Controller 1 19cf Atom Processor C3000 Series SATA Controller 1 19d0 Atom Processor C3000 Series USB 3.0 xHCI Controller 19d1 Atom Processor C3000 Series Integrated LAN Root Port #0 19d2 Atom Processor C3000 Series Integrated LAN Root Port #1 19d3 Atom Processor C3000 Series ME HECI 1 19d4 Atom Processor C3000 Series ME HECI 2 19d5 Atom Processor C3000 Series ME KT Controller 19d6 Atom Processor C3000 Series ME HECI 3 19d8 Atom Processor C3000 Series HSUART Controller 19dc Atom Processor C3000 Series LPC or eSPI 19dd Atom Processor C3000 Series Primary to Side Band (P2SB) Bridge 19de Atom Processor C3000 Series Power Management Controller 19df Atom Processor C3000 Series SMBus controller 19e0 Atom Processor C3000 Series SPI Controller 19e2 Atom Processor C3000 Series QuickAssist Technology 1a1c Ethernet Connection (17) I219-LM 1a1d Ethernet Connection (17) I219-V 1a1e Ethernet Connection (16) I219-LM 1a1f Ethernet Connection (16) I219-V 1a21 82840 840 [Carmel] Chipset Host Bridge (Hub A) 1a23 82840 840 [Carmel] Chipset AGP Bridge 1a24 82840 840 [Carmel] Chipset PCI Bridge (Hub B) 1a30 82845 845 [Brookdale] Chipset Host Bridge 1028 010e Optiplex GX240 147b 0505 BL7 motherboard 15d9 3280 Supermicro P4SBE Mainboard 1a31 82845 845 [Brookdale] Chipset AGP Bridge 1a38 5000 Series Chipset DMA Engine 15d9 8680 X7DVL-E-O motherboard 8086 3476 S5000PSLSATA Server Board 1a48 82597EX 10GbE Ethernet Controller 8086 a01f PRO/10GbE SR Server Adapter 8086 a11f PRO/10GbE SR Server Adapter 1b48 82597EX 10GbE Ethernet Controller 8086 a01f PRO/10GbE LR Server Adapter 8086 a11f PRO/10GbE LR Server Adapter 1c00 6 Series/C200 Series Chipset Family Desktop SATA Controller (IDE mode, ports 0-3) 1c01 6 Series/C200 Series Chipset Family Mobile SATA Controller (IDE mode, ports 0-3) 1c02 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller 1028 04aa XPS 8300 1043 844d P8 series motherboard 8086 7270 Server Board S1200BT Family 1c03 6 Series/C200 Series Chipset Family 6 port Mobile SATA AHCI Controller 1028 04a3 Precision M4600 1028 04b2 Vostro 3350 1028 04da Vostro 3750 17aa 21cf ThinkPad T520 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c04 6 Series/C200 Series Desktop SATA RAID Controller 103c 3118 Smart Array B110i SATA RAID Controller 1c05 6 Series/C200 Series Mobile SATA RAID Controller 1c06 Z68 Express Chipset SATA RAID Controller 1c08 6 Series/C200 Series Chipset Family Desktop SATA Controller (IDE mode, ports 4-5) 1c09 6 Series/C200 Series Chipset Family Mobile SATA Controller (IDE mode, ports 4-5) 1c10 6 Series/C200 Series Chipset Family PCI Express Root Port 1 1028 04aa XPS 8300 1028 04da Vostro 3750 1043 844d P8 series motherboard 17aa 21cf ThinkPad T520 8086 7270 Server Board S1200BTS / Apple MacBook Pro 8,1/8,2 1c12 6 Series/C200 Series Chipset Family PCI Express Root Port 2 1028 04aa XPS 8300 17aa 21cf ThinkPad T520 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c14 6 Series/C200 Series Chipset Family PCI Express Root Port 3 1028 04da Vostro 3750 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c16 6 Series/C200 Series Chipset Family PCI Express Root Port 4 1028 04aa XPS 8300 17aa 21cf ThinkPad T520 1c18 6 Series/C200 Series Chipset Family PCI Express Root Port 5 1028 04da Vostro 3750 17aa 21cf ThinkPad T520 8086 7270 Server Board S1200BTS 1c1a 6 Series/C200 Series Chipset Family PCI Express Root Port 6 1028 04da Vostro 3750 1043 844d P8 series motherboard 1c1c 6 Series/C200 Series Chipset Family PCI Express Root Port 7 1c1e 6 Series/C200 Series Chipset Family PCI Express Root Port 8 1043 844d P8 series motherboard 1c20 6 Series/C200 Series Chipset Family High Definition Audio Controller 1028 0490 Alienware M17x R3 1028 04a3 Precision M4600 1028 04aa XPS 8300 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1043 8418 P8P67 Deluxe Motherboard 1043 841b P8H67 Series Motherboard 17aa 21cf ThinkPad T520 # Realtek ALC888 audio codec 8086 2008 DQ67SW board 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c22 6 Series/C200 Series Chipset Family SMBus Controller 1028 04a3 Precision M4600 1028 04aa XPS 8300 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1043 844d P8 series motherboard 17aa 21cf ThinkPad T520 8086 7270 Server Board S1200BT Family / Apple MacBook Pro 8,1/8,2 1c24 6 Series/C200 Series Chipset Family Thermal Management Controller 1c25 6 Series/C200 Series Chipset Family DMI to PCI Bridge 1c26 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 1028 04a3 Precision M4600 1028 04aa XPS 8300 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1043 844d P8 series motherboard 17aa 21cf ThinkPad T520 8086 7270 Server Board S1200BT Family / Apple MacBook Pro 8,1/8,2 1c27 6 Series/C200 Series Chipset Family USB Universal Host Controller #1 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c2c 6 Series/C200 Series Chipset Family USB Universal Host Controller #5 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c2d 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 1028 04a3 Precision M4600 1028 04aa XPS 8300 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1043 844d P8 series motherboard 17aa 21cf ThinkPad T520 8086 7270 Server Board S1200BT Family / Apple MacBook Pro 8,1/8,2 1c33 6 Series/C200 Series Chipset Family LAN Controller 1c35 6 Series/C200 Series Chipset Family VECI Controller 1c3a 6 Series/C200 Series Chipset Family MEI Controller #1 1028 04a3 Precision M4600 1028 04aa XPS 8300 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1043 844d P8 series motherboard 17aa 21cf ThinkPad T520 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c3b 6 Series/C200 Series Chipset Family MEI Controller #2 1c3c 6 Series/C200 Series Chipset Family IDE-r Controller 1c3d 6 Series/C200 Series Chipset Family KT Controller 1c40 6 Series/C200 Series Chipset Family LPC Controller 1c41 Mobile SFF 6 Series Chipset Family LPC Controller 1c42 6 Series/C200 Series Chipset Family LPC Controller 1c43 Mobile 6 Series Chipset Family LPC Controller 1c44 Z68 Express Chipset LPC Controller 1c45 6 Series/C200 Series Chipset Family LPC Controller 1c46 P67 Express Chipset LPC Controller 1043 844d P8P67 Deluxe Motherboard 1c47 UM67 Express Chipset LPC Controller 1c48 6 Series/C200 Series Chipset Family LPC Controller 1c49 HM65 Express Chipset LPC Controller 8086 7270 Apple MacBookPro8,2 [Core i7, 15", 2011] 1c4a H67 Express Chipset LPC Controller 1028 04aa XPS 8300 1043 844d P8H67 Series Motherboard 1c4b HM67 Express Chipset LPC Controller 1028 04b2 Vostro 3350 1028 04da Vostro 3750 1c4c Q65 Express Chipset LPC Controller 1c4d QS67 Express Chipset LPC Controller 1c4e Q67 Express Chipset LPC Controller 1c4f QM67 Express Chipset LPC Controller 1028 04a3 Precision M4600 17aa 21cf ThinkPad T520 1c50 B65 Express Chipset LPC Controller 1c51 6 Series/C200 Series Chipset Family LPC Controller 1c52 C202 Chipset LPC Controller 8086 7270 Server Board S1200BTS 1c53 6 Series/C200 Series Chipset Family LPC Controller 1c54 C204 Chipset LPC Controller 1c55 6 Series/C200 Series Chipset Family LPC Controller 1c56 C206 Chipset LPC Controller 1043 844d P8B WS Motherboard 1c57 6 Series/C200 Series Chipset Family LPC Controller 1c58 Upgraded B65 Express Chipset LPC Controller 1c59 Upgraded HM67 Express Chipset LPC Controller 1c5a Upgraded Q67 Express Chipset LPC Controller 1c5b 6 Series/C200 Series Chipset Family LPC Controller 1c5c H61 Express Chipset LPC Controller 1c5d 6 Series/C200 Series Chipset Family LPC Controller 1c5e 6 Series/C200 Series Chipset Family LPC Controller 1c5f 6 Series/C200 Series Chipset Family LPC Controller 1d00 C600/X79 series chipset 4-Port SATA IDE Controller 1d02 C600/X79 series chipset 6-Port SATA AHCI Controller 1028 04f7 C602J on PowerEdge R320 server 1d04 C600/X79 series chipset SATA RAID Controller 1d06 C600/X79 series chipset SATA Premium RAID Controller 1d08 C600/X79 series chipset 2-Port SATA IDE Controller 1d10 C600/X79 series chipset PCI Express Root Port 1 1028 04f7 C602J on PowerEdge R320 server 1d11 C600/X79 series chipset PCI Express Root Port 1 1d12 C600/X79 series chipset PCI Express Root Port 2 1d13 C600/X79 series chipset PCI Express Root Port 2 1d14 C600/X79 series chipset PCI Express Root Port 3 1d15 C600/X79 series chipset PCI Express Root Port 3 1d16 C600/X79 series chipset PCI Express Root Port 4 1d17 C600/X79 series chipset PCI Express Root Port 4 1d18 C600/X79 series chipset PCI Express Root Port 5 1028 04f7 C602J on PowerEdge R320 server 1d19 C600/X79 series chipset PCI Express Root Port 5 1d1a C600/X79 series chipset PCI Express Root Port 6 1d1b C600/X79 series chipset PCI Express Root Port 6 1d1c C600/X79 series chipset PCI Express Root Port 7 1d1d C600/X79 series chipset PCI Express Root Port 7 1d1e C600/X79 series chipset PCI Express Root Port 8 1028 04f7 C602J on PowerEdge R320 server 1d1f C600/X79 series chipset PCI Express Root Port 8 1d20 C600/X79 series chipset High Definition Audio Controller 1d22 C600/X79 series chipset SMBus Host Controller 15d9 066b X9SRL-F 1d24 C600/X79 series chipset Thermal Management Controller 15d9 066b X9SRL-F 1d25 C600/X79 series chipset DMI to PCI Bridge 1d26 C600/X79 series chipset USB2 Enhanced Host Controller #1 1028 04f7 C602J on PowerEdge R320 server 15d9 066b X9SRL-F 1d2d C600/X79 series chipset USB2 Enhanced Host Controller #2 1028 04f7 C602J on PowerEdge R320 server 15d9 066b X9SRL-F 1d33 C600/X79 series chipset LAN Controller 1d35 C600/X79 series chipset VECI Controller 1d3a C600/X79 series chipset MEI Controller #1 1028 04f7 C602J on PowerEdge R320 server 15d9 066b X9SRL-F 1d3b C600/X79 series chipset MEI Controller #2 1028 04f7 C602J on PowerEdge R320 server 15d9 066b X9SRL-F 1d3c C600/X79 series chipset IDE-r Controller 1d3d C600/X79 series chipset KT Controller 1d3e C600/X79 series chipset PCI Express Virtual Root Port 1028 04f7 C602J on PowerEdge R320 server 1d3f C608/C606/X79 series chipset PCI Express Virtual Switch Port 1d40 C600/X79 series chipset LPC Controller 1d41 C600/X79 series chipset LPC Controller 1028 04f7 C602J on PowerEdge R320 server 15d9 066b X9SRL-F 1d50 C608 chipset Dual 4-Port SATA/SAS Storage Control Unit 1d54 C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit 1d55 C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit 1d58 C606 chipset Dual 4-Port SATA/SAS Storage Control Unit 1d59 C604/X79 series chipset 4-Port SATA/SAS Storage Control Unit 1d5a C600/X79 series chipset Dual 4-Port SATA Storage Control Unit 1d5b C602 chipset 4-Port SATA Storage Control Unit 1d5c C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit 1d5d C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit 1d5e C600/X79 series chipset Dual 4-Port SATA Storage Control Unit 1d5f C600/X79 series chipset 4-Port SATA Storage Control Unit 1d60 C608 chipset Dual 4-Port SATA/SAS Storage Control Unit 1d64 C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit 1d65 C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit 1d68 C606 chipset Dual 4-Port SATA/SAS Storage Control Unit 1d69 C604/X79 series chipset 4-Port SATA/SAS Storage Control Unit 1d6a C600/X79 series chipset Dual 4-Port SATA Storage Control Unit 1d6b C602 chipset 4-Port SATA Storage Control Unit 0497 1028 Dell Precision T3600 1d6c C600/X79 series chipset Dual 4-Port SATA/SAS Storage Control Unit 1d6d C600/X79 series chipset 4-Port SATA/SAS Storage Control Unit 1d6e C600/X79 series chipset Dual 4-Port SATA Storage Control Unit 1d6f C600/X79 series chipset 4-Port SATA Storage Control Unit 1d70 C600/X79 series chipset SMBus Controller 0 1d71 C608/C606/X79 series chipset SMBus Controller 1 1d72 C608 chipset SMBus Controller 2 1d74 C608/C606/X79 series chipset PCI Express Upstream Port 1d76 C600/X79 series chipset Multi-Function Glue 1e00 7 Series/C210 Series Chipset Family 4-port SATA Controller [IDE mode] 1e01 7 Series Chipset Family 4-port SATA Controller [IDE mode] 144d c652 NP300E5C series laptop 1e02 7 Series/C210 Series Chipset Family 6-port SATA Controller [AHCI mode] 1043 84ca P8 series motherboard 1849 1e02 Motherboard 1e03 7 Series Chipset Family 6-port SATA Controller [AHCI mode] 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 10cf 16e2 LIFEBOOK E752 144d c652 NP300E5C series laptop 1e04 7 Series/C210 Series Chipset Family SATA Controller [RAID mode] 1e05 7 Series Chipset SATA Controller [RAID mode] 1e06 7 Series/C210 Series Chipset Family SATA Controller [RAID mode] 1e07 7 Series Chipset Family SATA Controller [RAID mode] 1e08 7 Series/C210 Series Chipset Family 2-port SATA Controller [IDE mode] 1e09 7 Series Chipset Family 2-port SATA Controller [IDE mode] 144d c652 NP300E5C series laptop 1e0e 7 Series/C210 Series Chipset Family SATA Controller [RAID mode] 1e10 7 Series/C216 Chipset Family PCI Express Root Port 1 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 1043 84ca P8H77-I Motherboard 10cf 16e9 LIFEBOOK E752 144d c652 NP300E5C series laptop 1849 1e10 Motherboard 1e12 7 Series/C210 Series Chipset Family PCI Express Root Port 2 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 1e14 7 Series/C210 Series Chipset Family PCI Express Root Port 3 10cf 16e9 LIFEBOOK E752 1e16 7 Series/C216 Chipset Family PCI Express Root Port 4 1043 108d VivoBook X202EV 1043 1477 N56VZ 144d c652 NP300E5C series laptop 1849 1618 Z77 Extreme4 motherboard 1e18 7 Series/C210 Series Chipset Family PCI Express Root Port 5 1043 84ca P8H77-I Motherboard 1849 1e18 Motherboard 1e1a 7 Series/C210 Series Chipset Family PCI Express Root Port 6 1849 1e1a Motherboard 1e1c 7 Series/C210 Series Chipset Family PCI Express Root Port 7 1e1e 7 Series/C210 Series Chipset Family PCI Express Root Port 8 10cf 16e9 LIFEBOOK E752 1849 1e1e Motherboard 1e20 7 Series/C216 Chipset Family High Definition Audio Controller 1028 054b XPS One 2710 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 1043 8415 P8H77-I Motherboard 1043 8445 P8Z77-V LX Motherboard 10cf 1757 LIFEBOOK E752 144d c652 NP300E5C series laptop 1849 1898 Z77 Extreme4 motherboard 1e22 7 Series/C216 Chipset Family SMBus Controller 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 1043 84ca P8 series motherboard 10cf 16e6 LIFEBOOK E752 144d c652 NP300E5C series laptop 1849 1e22 Motherboard 1e24 7 Series/C210 Series Chipset Family Thermal Management Controller 1043 1517 Zenbook Prime UX31A 1e25 7 Series/C210 Series Chipset Family DMI to PCI Bridge 1e26 7 Series/C216 Chipset Family USB Enhanced Host Controller #1 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 1043 84ca P8 series motherboard 10cf 16e8 LIFEBOOK E752 144d c652 NP300E5C series laptop 1849 1e26 Motherboard 1e2d 7 Series/C216 Chipset Family USB Enhanced Host Controller #2 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 1043 84ca P8 series motherboard 10cf 16e8 LIFEBOOK E752 144d c652 NP300E5C series laptop 1849 1e2d Motherboard 1e31 7 Series/C210 Series Chipset Family USB xHCI Host Controller 103c 179b Elitebook 8470p 103c 17ab ProBook 6570b 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 1043 84ca P8 series motherboard 10cf 16ee LIFEBOOK E752 17aa 21f3 ThinkPad T430 1849 1e31 Motherboard 1e33 7 Series/C210 Series Chipset Family LAN Controller 1e3a 7 Series/C216 Chipset Family MEI Controller #1 1043 108d VivoBook X202EV 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 1043 84ca P8 series motherboard 10cf 16ea LIFEBOOK E752 144d c652 NP300E5C series laptop 1849 1e3a Motherboard 1e3b 7 Series/C210 Series Chipset Family MEI Controller #2 1e3c 7 Series/C210 Series Chipset Family IDE-r Controller 1e3d 7 Series/C210 Series Chipset Family KT Controller 1e41 7 Series Chipset Family LPC Controller 1e42 7 Series Chipset Family LPC Controller 1e43 7 Series Chipset Family LPC Controller 1e44 Z77 Express Chipset LPC Controller 1043 84ca P8 series motherboard 1849 1e44 Motherboard 1e45 7 Series Chipset Family LPC Controller 1e46 Z75 Express Chipset LPC Controller 1e47 Q77 Express Chipset LPC Controller 1e48 Q75 Express Chipset LPC Controller 1e49 B75 Express Chipset LPC Controller 1e4a H77 Express Chipset LPC Controller 1043 84ca P8H77-I Motherboard 1e4b 7 Series Chipset Family LPC Controller 1e4c 7 Series Chipset Family LPC Controller 1e4d 7 Series Chipset Family LPC Controller 1e4e 7 Series Chipset Family LPC Controller 1e4f 7 Series Chipset Family LPC Controller 1e50 7 Series Chipset Family LPC Controller 1e51 7 Series Chipset Family LPC Controller 1e52 7 Series Chipset Family LPC Controller 1e53 C216 Series Chipset LPC Controller 1e54 7 Series Chipset Family LPC Controller 1e55 QM77 Express Chipset LPC Controller 1e56 QS77 Express Chipset LPC Controller 1e57 HM77 Express Chipset LPC Controller 1e58 UM77 Express Chipset LPC Controller 1e59 HM76 Express Chipset LPC Controller 1043 1477 N56VZ 1043 1517 Zenbook Prime UX31A 10cf 16e0 LIFEBOOK E752 1e5a 7 Series Chipset Family LPC Controller 1e5b UM77 Express Chipset LPC Controller 1e5c 7 Series Chipset Family LPC Controller 1e5d HM75 Express Chipset LPC Controller 144d c652 NP300E5C series laptop 1e5e HM70 Express Chipset LPC Controller 1043 108d VivoBook X202EV 1e5f NM70 Express Chipset LPC Controller 1f00 Atom processor C2000 SoC Transaction Router 1f01 Atom processor C2000 SoC Transaction Router 1f02 Atom processor C2000 SoC Transaction Router 1f03 Atom processor C2000 SoC Transaction Router 1f04 Atom processor C2000 SoC Transaction Router 1f05 Atom processor C2000 SoC Transaction Router 1f06 Atom processor C2000 SoC Transaction Router 1f07 Atom processor C2000 SoC Transaction Router 1f08 Atom processor C2000 SoC Transaction Router 1f09 Atom processor C2000 SoC Transaction Router 1f0a Atom processor C2000 SoC Transaction Router 1f0b Atom processor C2000 SoC Transaction Router 1f0c Atom processor C2000 SoC Transaction Router 1f0d Atom processor C2000 SoC Transaction Router 1f0e Atom processor C2000 SoC Transaction Router 1f0f Atom processor C2000 SoC Transaction Router 1f10 Atom processor C2000 PCIe Root Port 1 1f11 Atom processor C2000 PCIe Root Port 2 1f12 Atom processor C2000 PCIe Root Port 3 1f13 Atom processor C2000 PCIe Root Port 4 1f14 Atom processor C2000 RAS 1f15 Atom processor C2000 SMBus 2.0 1f16 Atom processor C2000 RCEC 1f18 Atom processor C2000 QAT 1f19 Atom processor C2000 QAT 1f20 Atom processor C2000 4-Port IDE SATA2 Controller 1f21 Atom processor C2000 4-Port IDE SATA2 Controller 1f22 Atom processor C2000 AHCI SATA2 Controller 1f23 Atom processor C2000 AHCI SATA2 Controller 1f24 Atom processor C2000 RAID SATA2 Controller 1f25 Atom processor C2000 RAID SATA2 Controller 1f26 Atom processor C2000 RAID SATA2 Controller 1f27 Atom processor C2000 RAID SATA2 Controller 1f2c Atom processor C2000 USB Enhanced Host Controller 0200 1028 Atom C2338 on Dell 0K8Y0N motherboard 1f2e Atom processor C2000 RAID SATA2 Controller 1f2f Atom processor C2000 RAID SATA2 Controller 1f30 Atom processor C2000 2-Port IDE SATA3 Controller 1f31 Atom processor C2000 2-Port IDE SATA3 Controller 1f32 Atom processor C2000 AHCI SATA3 Controller 1f33 Atom processor C2000 AHCI SATA3 Controller 1f34 Atom processor C2000 RAID SATA3 Controller 1f35 Atom processor C2000 RAID SATA3 Controller 1f36 Atom processor C2000 RAID SATA3 Controller 1f37 Atom processor C2000 RAID SATA3 Controller 1f38 Atom processor C2000 PCU 1f39 Atom processor C2000 PCU 1f3a Atom processor C2000 PCU 1f3b Atom processor C2000 PCU 1f3c Atom processor C2000 PCU SMBus 1f3d Atom Processor C2000 PECI SMBus 1f3e Atom processor C2000 RAID SATA3 Controller 1f3f Atom processor C2000 RAID SATA3 Controller 1f40 Ethernet Connection I354 1.0 GbE Backplane 1028 05f1 Ethernet Connection I354 1.0 GbE Backplane 1f41 Ethernet Connection I354 1f42 Atom processor C2000 GbE 1f44 Atom processor C2000 GbE Virtual Function 1f45 Ethernet Connection I354 2.5 GbE Backplane 2014 Sky Lake-E Ubox Registers 2015 Sky Lake-E Ubox Registers 2016 Sky Lake-E Ubox Registers 2018 Sky Lake-E M2PCI Registers 201a Sky Lake-E Non-Transparent Bridge Registers 201c Sky Lake-E Non-Transparent Bridge Registers 201d Volume Management Device NVMe RAID Controller 2020 Sky Lake-E DMI3 Registers 15d9 095d X11SPM-TF 2021 Sky Lake-E CBDMA Registers 2024 Sky Lake-E MM/Vt-d Configuration Registers 2025 Sky Lake-E RAS 2026 Sky Lake-E IOAPIC 2030 Sky Lake-E PCI Express Root Port A 2031 Sky Lake-E PCI Express Root Port B 2032 Sky Lake-E PCI Express Root Port C 2033 Sky Lake-E PCI Express Root Port D 2034 Sky Lake-E VT-d 2035 Sky Lake-E RAS Configuration Registers 2036 Sky Lake-E IOxAPIC Configuration Registers 2040 Sky Lake-E Integrated Memory Controller 2041 Sky Lake-E Integrated Memory Controller 2042 Sky Lake-E Integrated Memory Controller 2043 Sky Lake-E Integrated Memory Controller 2044 Sky Lake-E Integrated Memory Controller 2045 Sky Lake-E LM Channel 1 2046 Sky Lake-E LMS Channel 1 2047 Sky Lake-E LMDP Channel 1 2048 Sky Lake-E DECS Channel 2 2049 Sky Lake-E LM Channel 2 204a Sky Lake-E LMS Channel 2 204b Sky Lake-E LMDP Channel 2 204c Sky Lake-E M3KTI Registers 204d Sky Lake-E M3KTI Registers 204e Sky Lake-E M3KTI Registers 2054 Sky Lake-E CHA Registers 2055 Sky Lake-E CHA Registers 2056 Sky Lake-E CHA Registers 2057 Sky Lake-E CHA Registers 2058 Sky Lake-E KTI 0 2059 Sky Lake-E UPI Registers 2066 Sky Lake-E Integrated Memory Controller 2068 Sky Lake-E DDRIO Registers 2069 Sky Lake-E DDRIO Registers 206a Sky Lake-E IOxAPIC Configuration Registers 206e Sky Lake-E DDRIO Registers 206f Sky Lake-E DDRIO Registers 2078 Sky Lake-E PCU Registers 207a Sky Lake-E PCU Registers 2080 Sky Lake-E PCU Registers 2081 Sky Lake-E PCU Registers 2082 Sky Lake-E PCU Registers 2083 Sky Lake-E PCU Registers 2084 Sky Lake-E PCU Registers 2085 Sky Lake-E PCU Registers 2086 Sky Lake-E PCU Registers 2088 Sky Lake-E DDRIO Registers 208d Sky Lake-E CHA Registers 208e Sky Lake-E CHA Registers 2241 Larrabee 2250 Xeon Phi coprocessor 5100 series 225c Xeon Phi coprocessor SE10/7120 series 225d Xeon Phi coprocessor 3120 series 225e Xeon Phi coprocessor 31S1 2262 Xeon Phi coprocessor 7220 2280 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register 2284 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller 2286 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO1 DMA Controller 228a Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO1 HSUART Controller #1 228c Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO1 HSUART Controller #2 2292 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx SMBus Controller 2294 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series MMC Controller 2295 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SDIO Controller 2296 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SD Controller 2298 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine 229c Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU 22a3 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA Controller 22a4 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SATA AHCI Controller 22a8 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Low Power Engine Audio 22b0 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller 22b1 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller 22b5 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller 22b8 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Imaging Unit 22c0 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO2 DMA Controller 22c1 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO2 I2C Controller #1 22c2 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO2 I2C Controller #2 22c3 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO2 I2C Controller #3 22c4 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO2 I2C Controller #4 22c5 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO2 I2C Controller #5 22c6 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO2 I2C Controller #6 22c7 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series LPIO2 I2C Controller #7 22c8 Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #1 22ca Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #2 22cc Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #3 22ce Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #4 22dc Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller 2310 DH89xxCC LPC Controller 2323 DH89xxCC 4 Port SATA AHCI Controller 2330 DH89xxCC SMBus Controller 2331 DH89xxCC Chap Counter 2332 DH89xxCC Thermal Subsystem 2334 DH89xxCC USB2 Enhanced Host Controller #1 2335 DH89xxCC USB2 Enhanced Host Controller #1 2342 DH89xxCC PCI Express Root Port #1 2343 DH89xxCC PCI Express Root Port #1 2344 DH89xxCC PCI Express Root Port #2 2345 DH89xxCC PCI Express Root Port #2 2346 DH89xxCC PCI Express Root Port #3 2347 DH89xxCC PCI Express Root Port #3 2348 DH89xxCC PCI Express Root Port #4 2349 DH89xxCC PCI Express Root Port #4 2360 DH89xxCC Watchdog Timer 2364 DH89xxCC MEI 0 2365 DH89xxCC MEI 1 2390 DH895XCC Series LPC Controller 23a1 DH895XCC Series 2-Port SATA Controller [IDE Mode] 23a3 DH895XCC Series 4-Port SATA Controller [AHCI Mode] 23a6 DH895XCC Series 2-Port SATA Controller [IDE Mode] 23b0 DH895XCC Series SMBus Controller 23b1 DH895XCC Series CHAP Counter 23b2 DH895XCC Series Thermal Management Controller 23b4 DH895XCC Series USB2 Enhanced Host Controller #1 23b5 DH895XCC Series USB2 Enhanced Host Controller #1 23c2 DH895XCC Series PCI Express Root Port #1 23c3 DH895XCC Series PCI Express Root Port #1 23c4 DH895XCC Series PCI Express Root Port #2 23c5 DH895XCC Series PCI Express Root Port #2 23c6 CDH895XCC Series PCI Express Root Port #3 23c7 DH895XCC Series PCI Express Root Port #3 23c8 DH895XCC Series PCI Express Root Port #4 23c9 DH895XCC Series PCI Express Root Port #4 23e0 DH895XCC Series Watchdog Timer 23e4 DH895XCC Series MEI Controller #1 23e5 DH895XCC Series MEI Controller #2 2410 82801AA ISA Bridge (LPC) 2411 82801AA IDE Controller 2412 82801AA USB Controller 2413 82801AA SMBus Controller 2415 82801AA AC'97 Audio Controller 1028 0095 Precision Workstation 220 Integrated Digital Audio 1028 00b4 OptiPlex GX110 110a 0051 Activy 2xx 11d4 0040 SoundMAX Integrated Digital Audio 11d4 0048 SoundMAX Integrated Digital Audio 11d4 5340 SoundMAX Integrated Digital Audio 1734 1025 Activy 3xx 1af4 1100 QEMU Virtual Machine 2416 82801AA AC'97 Modem Controller 2418 82801AA PCI Bridge 2420 82801AB ISA Bridge (LPC) 2421 82801AB IDE Controller 2422 82801AB USB Controller 2423 82801AB SMBus Controller 2425 82801AB AC'97 Audio Controller 11d4 0040 SoundMAX Integrated Digital Audio 11d4 0048 SoundMAX Integrated Digital Audio 2426 82801AB AC'97 Modem Controller 2428 82801AB PCI Bridge 2440 82801BA ISA Bridge (LPC) 8086 5744 S845WD1-E 2442 82801BA/BAM UHCI USB 1.1 Controller #1 1014 01c6 Netvista A40/A40p 1025 1016 Travelmate 612 TX 1028 00c7 Dimension 8100 1028 00d8 Precision 530 1028 010e Optiplex GX240 103c 126f e-pc 40 1043 8027 TUSL2-C Mainboard 104d 80df Vaio PCG-FX403 147b 0505 BL7 motherboard 147b 0507 TH7II-RAID 8086 4532 Desktop Board D815EEA2/D815EFV 8086 4557 D815EGEW Mainboard 8086 5744 S845WD1-E mainboard 2443 82801BA/BAM SMBus Controller 1014 01c6 Netvista A40/A40p 1025 1016 Travelmate 612 TX 1028 00c7 Dimension 8100 1028 00d8 Precision 530 1028 010e Optiplex GX240 103c 126f e-pc 40 1043 8027 TUSL2-C Mainboard 104d 80df Vaio PCG-FX403 147b 0505 BL7 motherboard 147b 0507 TH7II-RAID 15d9 3280 Supermicro P4SBE Mainboard 8086 4532 Desktop Board D815EEA2/D815EFV 8086 4557 D815EGEW Mainboard 8086 5744 S845WD1-E mainboard 2444 82801BA/BAM UHCI USB 1.1 Controller #2 1025 1016 Travelmate 612 TX 1028 00c7 Dimension 8100 1028 00d8 Precision 530 1028 010e Optiplex GX240 103c 126f e-pc 40 1043 8027 TUSL2-C Mainboard 104d 80df Vaio PCG-FX403 147b 0505 BL7 motherboard 147b 0507 TH7II-RAID 8086 4532 Desktop Board D815EEA2/D815EFV 8086 5744 S845WD1-E mainboard 2445 82801BA/BAM AC'97 Audio Controller 0e11 000b Compaq Deskpro EN Audio 0e11 0088 Evo D500 1014 01c6 Netvista A40/A40p 1025 1016 Travelmate 612 TX 1028 00d8 Precision 530 103c 126f e-pc 40 104d 80df Vaio PCG-FX403 1462 3370 STAC9721 AC 147b 0505 BL7 motherboard 147b 0507 TH7II-RAID 8086 4557 D815EGEW Mainboard 8086 4656 Desktop Board D815EFV 2446 82801BA/BAM AC'97 Modem Controller 1025 1016 Travelmate 612 TX 104d 80df Vaio PCG-FX403 2448 82801 Mobile PCI Bridge 1028 040a Latitude E6410 1028 040b Latitude E6510 103c 0934 Compaq nw8240 Mobile Workstation 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq nw8440 103c 30c1 Compaq 6910p 1043 1017 X58LE 104d 902d VAIO VGN-NR120E 105b 0d7c D270S/D250S Motherboard 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 144d c00c P30 notebook 144d c06a R730 Laptop 144d c072 Notebook N150P 1458 5000 GA-D525TUD 1734 1055 Amilo M1420 17aa 2013 ThinkPad R60e 17aa 20ae ThinkPad T61/R61 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] 8086 544b Desktop Board D425KT e4bf cc47 CCG-RUMBA 2449 82801BA/BAM/CA/CAM Ethernet Controller 0e11 0012 EtherExpress PRO/100 VM 0e11 0091 EtherExpress PRO/100 VE 1014 01ce EtherExpress PRO/100 VE 1014 01dc EtherExpress PRO/100 VE 1014 01eb EtherExpress PRO/100 VE 1014 01ec EtherExpress PRO/100 VE 1014 0202 EtherExpress PRO/100 VE 1014 0205 EtherExpress PRO/100 VE 1014 0217 EtherExpress PRO/100 VE 1014 0234 EtherExpress PRO/100 VE 1014 023d EtherExpress PRO/100 VE 1014 0244 EtherExpress PRO/100 VE 1014 0245 EtherExpress PRO/100 VE 1014 0265 PRO/100 VE Desktop Connection 1014 0267 PRO/100 VE Desktop Connection 1014 026a PRO/100 VE Desktop Connection 109f 315d EtherExpress PRO/100 VE 109f 3181 EtherExpress PRO/100 VE 1179 ff01 PRO/100 VE Network Connection 1186 7801 EtherExpress PRO/100 VE 144d 2602 HomePNA 1M CNR 1af4 1100 QEMU Virtual Machine 8086 3010 EtherExpress PRO/100 VE 8086 3011 EtherExpress PRO/100 VM 8086 3012 82562EH based Phoneline 8086 3013 EtherExpress PRO/100 VE 8086 3014 EtherExpress PRO/100 VM 8086 3015 82562EH based Phoneline 8086 3016 EtherExpress PRO/100 P Mobile Combo 8086 3017 EtherExpress PRO/100 P Mobile 8086 3018 EtherExpress PRO/100 244a 82801BAM IDE U100 Controller 1025 1016 Travelmate 612TX 104d 80df Vaio PCG-FX403 244b 82801BA IDE U100 Controller 1014 01c6 Netvista A40/A40p 1028 00c7 Dimension 8100 1028 00d8 Precision 530 1028 010e Optiplex GX240 103c 126f e-pc 40 1043 8027 TUSL2-C Mainboard 147b 0505 BL7 motherboard 147b 0507 TH7II-RAID 15d9 3280 Supermicro P4SBE Mainboard 8086 4532 Desktop Board D815EEA2/D815EFV 8086 4557 D815EGEW Mainboard 8086 5744 S845WD1-E mainboard 244c 82801BAM ISA Bridge (LPC) 244e 82801 PCI Bridge 1014 0267 NetVista A30p 1028 020d Inspiron 530 1028 0211 Optiplex 755 1028 02da OptiPlex 980 1028 04f7 PowerEdge R320 server 103c 2a3b Pavilion A1512X 103c 2a6f Asus IPIBL-LB Motherboard 103c 31fe ProLiant DL140 G3 103c 330b ProLiant ML150 G6 Server # same ID possibly also on other ASUS boards 1043 8277 P5K PRO Motherboard 1043 844d P8 series motherboard 1043 8534 ASUS B85-PLUS 1458 5000 Motherboard 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7418 Wind PC MS-7418 15d9 060d C7SIM-Q Motherboard 15d9 9680 X7DBN Motherboard 1775 11cc CC11/CL11 8086 7270 Server Board S1200BTS 2450 82801E ISA Bridge (LPC) 2452 82801E USB Controller 2453 82801E SMBus Controller 2459 82801E Ethernet Controller 0 245b 82801E IDE U100 Controller 245d 82801E Ethernet Controller 1 245e 82801E PCI Bridge 2480 82801CA LPC Interface Controller 2482 82801CA/CAM USB Controller #1 0e11 0030 Evo N600c 1014 0220 ThinkPad A/T/X Series 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 15d9 3480 P4DP6 8086 1958 vpr Matrix 170B4 8086 3424 SE7501HG2 Mainboard 8086 4541 Latitude C640 2483 82801CA/CAM SMBus Controller 1014 0220 ThinkPad A/T/X Series 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 15d9 3480 P4DP6 8086 1958 vpr Matrix 170B4 2484 82801CA/CAM USB Controller #2 0e11 0030 Evo N600c 1014 0220 ThinkPad A/T/X Series 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 15d9 3480 P4DP6 8086 1958 vpr Matrix 170B4 2485 82801CA/CAM AC'97 Audio Controller 1013 5959 Crystal WMD Audio Codec 1014 0222 ThinkPad A30/A30p/T23 1014 0508 ThinkPad T30 1014 051c ThinkPad A/T/X Series 1043 1583 L3C (SPDIF) 1043 1623 L2B (no SPDIF) 1043 1643 L3F 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 144d c006 vpr Matrix 170B4 2486 82801CA/CAM AC'97 Modem Controller 1014 0223 ThinkPad A/T/X Series 1014 0503 ThinkPad R31 1014 051a ThinkPad A/T/X Series 101f 1025 620 Series 1043 1496 PCtel HSP56 MR 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 134d 4c21 Dell Inspiron 2100 internal modem 144d 2115 vpr Matrix 170B4 internal modem 14f1 5421 MD56ORD V.92 MDC Modem 2487 82801CA/CAM USB Controller #3 0e11 0030 Evo N600c 1014 0220 ThinkPad A/T/X Series 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 15d9 3480 P4DP6 8086 1958 vpr Matrix 170B4 248a 82801CAM IDE U100 Controller 0e11 0030 Evo N600c 1014 0220 ThinkPad A/T/X Series 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 8086 1958 vpr Matrix 170B4 8086 4541 Latitude C640 248b 82801CA Ultra ATA Storage Controller 15d9 3480 P4DP6 248c 82801CAM ISA Bridge (LPC) 24c0 82801DB/DBL (ICH4/ICH4-L) LPC Interface Bridge 1014 0267 NetVista A30p 1462 5800 845PE Max (MS-6580) 24c1 82801DBL (ICH4-L) IDE Controller 24c2 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 1014 0267 NetVista A30p 1014 052d ThinkPad 1025 005a TravelMate 290 1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M) 1028 0126 Optiplex GX260 1028 0160 Dimension 2400 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m 1028 0196 Inspiron 5160 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 1043 8089 P4B533 1071 8160 MIM2000 114a 0582 PC8 onboard USB 1.x 144d c005 X10 Laptop 144d c00c P30/P35 notebook 1462 5800 845PE Max (MS-6580) 1509 2990 Averatec 5110H laptop 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) 1734 1055 Amilo M1420 4c53 1090 Cx9 / Vx9 mainboard 8086 24c2 Latitude X300 8086 4541 Latitude D400/D500 e4bf 0cc9 CC9-SAMBA e4bf 0cd2 CD2-BEBOP 24c3 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller 1014 0267 NetVista A30p 1014 052d ThinkPad 1025 005a TravelMate 290 1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M) 1028 0126 Optiplex GX260 1028 014f Latitude X300 1028 0160 Dimension 2400 1028 018d Inspiron 700m/710m 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 1071 8160 MIM2000 114a 0582 PC8 onboard SMbus 144d c005 X10 Laptop 144d c00c P30/P35 notebook 1458 24c2 GA-8PE667 Ultra 1462 5800 845PE Max (MS-6580) 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) 1734 1055 Amilo M1420 4c53 1090 Cx9 / Vx9 mainboard e4bf 0cc9 CC9-SAMBA e4bf 0cd2 CD2-BEBOP 24c4 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 1014 0267 NetVista A30p 1014 052d ThinkPad 1025 005a TravelMate 290 1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M) 1028 0126 Optiplex GX260 1028 0160 Dimension 2400 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m 1028 0196 Inspiron 5160 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 1043 8089 P4B533 1071 8160 MIM2000 144d c00c P30/P35 notebook 1462 5800 845PE Max (MS-6580) 1509 2990 Averatec 5110H 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) 4c53 1090 Cx9 / Vx9 mainboard 8086 24c2 Latitude X300 8086 4541 Latitude D400/D500 e4bf 0cc9 CC9-SAMBA e4bf 0cd2 CD2-BEBOP 24c5 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller 0e11 00b8 Analog Devices Inc. codec [SoundMAX] 1014 0267 NetVista A30p 1014 0537 ThinkPad T4x Series 1014 055f Thinkpad R50e model 1634 1025 005a TravelMate 290 1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M) 1028 0139 Latitude D400 1028 014f Latitude X300 1028 0152 Latitude D500 1028 0160 Dimension 2400 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m [SigmaTel STAC9750,51] 1028 0196 Inspiron 5160 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 1043 1713 M2400N/M6800N laptop 1043 80b0 P4B533 1071 8160 MIM2000 1179 0201 Toshiba Tecra M1 144d c005 X10 Laptop 144d c00c P30/P35 notebook 1458 a002 GA-8PE667 Ultra 1462 5800 845PE Max (MS-6580) 1734 1005 D1451 (SCENIC N300, i845GV) Sigmatel STAC9750T 1734 1055 Amilo M1420 24c6 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller 1014 0524 ThinkPad T4x Series 1014 0525 ThinkPad 1014 0559 ThinkPad R50e 1025 003c Aspire 2001WLCi (Compal CL50 motherboard) implementation 1025 005a TravelMate 290 1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M) 1028 0196 Inspiron 5160 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 1043 1716 M2400N laptop 1043 1826 M6800N 1071 8160 MIM2000 134d 4c21 Latitude D500 144d 2115 X10 Laptop 144d c00c P30/P35 notebook # Conexant HSF Softmodem (CXT22) 14f1 5422 D480 MDC V.9x Modem 24c7 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 1014 0267 NetVista A30p 1014 052d ThinkPad 1025 005a TravelMate 290 1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M) 1028 0126 Optiplex GX260 1028 0160 Dimension 2400 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m 1028 0196 Inspiron 5160 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 1043 8089 P4B533 1071 8160 MIM2000 144d c00c P30/P35 notebook 1462 5800 845PE Max (MS-6580) 1509 2990 Averatec 5110H 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) 4c53 1090 Cx9 / Vx9 mainboard 8086 24c2 Latitude X300 8086 4541 Latitude D400/D500 e4bf 0cc9 CC9-SAMBA e4bf 0cd2 CD2-BEBOP 24ca 82801DBM (ICH4-M) IDE Controller 1014 052d ThinkPad 1025 005a TravelMate 290 1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M) 1028 014f Latitude X300 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m 1028 0196 Inspiron 5160 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 1071 8160 MIM2000 144d c005 X10 Laptop 144d c00c P30/P35 notebook 1734 1055 Amilo M1420 8086 4541 Latitude D400/D500 24cb 82801DB (ICH4) IDE Controller 1014 0267 NetVista A30p 1028 0126 Optiplex GX260 1028 0160 Dimension 2400 1043 8089 P4B533 114a 0582 PC8 onboard IDE 1458 24c2 GA-8PE667 Ultra 1462 5800 845PE Max (MS-6580) 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) 4c53 1090 Cx9 / Vx9 mainboard e4bf 0cc9 CC9-SAMBA e4bf 0cd2 CD2-BEBOP 24cc 82801DBM (ICH4-M) LPC Interface Bridge 144d c00c P30 notebook 1734 1055 Amilo M1420 24cd 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller 1014 0267 NetVista A30p 1014 052e ThinkPad 1025 005a TravelMate 290 1025 0064 Extensa 3000 series laptop: Intel 82801DBM (ICH4-M) 1028 011d Latitude D600 1028 0126 Optiplex GX260 1028 0139 Latitude D400 1028 0152 Latitude D500 1028 0160 Dimension 2400 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m 1028 0196 Inspiron 5160 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 1043 8089 P4B533 1071 8160 MIM2000 114a 0582 PC8 onboard USB 2.0 1179 ff00 Satellite 2430 144d c005 X10 Laptop 144d c00c P30/P35 notebook 1462 3981 845PE Max (MS-6580) 1509 1968 Averatec 5110H 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) 1734 1055 Amilo M1420 1af4 1100 QEMU Virtual Machine 4c53 1090 Cx9 / Vx9 mainboard 8086 24c2 Latitude X300 e4bf 0cc9 CC9-SAMBA e4bf 0cd2 CD2-BEBOP 24d0 82801EB/ER (ICH5/ICH5R) LPC Interface Bridge 24d1 82801EB (ICH5) SATA Controller 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 019a PowerEdge SC1425 103c 12bc d530 CMT (DG746A) 103c 3208 ProLiant DL140 G2 1043 80a6 P4P800 series motherboard 1458 24d1 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) 1462 7650 Hetis 865GV-E (MS-7065) 1565 5200 P4TSV Motherboard (865G) 15d9 4580 P4SCE Mainboard 8086 3427 S875WP1-E mainboard 8086 4246 Desktop Board D865GBF 8086 4c43 Desktop Board D865GLC 8086 524c D865PERL mainboard 24d2 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 1014 0287 ThinkCentre S50 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 onboard UHCI 1028 016d PowerEdge 2850 onboard UHCI 1028 0170 PowerEdge 6850 onboard UHCI 1028 0183 PowerEdge 1800 1028 019a PowerEdge SC1425 103c 006a NX9500 103c 12bc d530 CMT (DG746A) 103c 3208 ProLiant DL140 G2 1043 80a6 P4P800/P5P800 series motherboard 1458 24d2 GA-8IPE1000/8KNXP motherboard 1462 7280 865PE Neo2 (MS-6728) 1565 3101 P4TSV Motherboard (865G) 15d9 4580 P4SCE Mainboard 1734 101c PRIMERGY RX/TX series onboard UHCI 8086 3427 S875WP1-E mainboard 8086 4246 Desktop Board D865GBF 8086 4c43 Desktop Board D865GLC 8086 524c D865PERL mainboard 24d3 82801EB/ER (ICH5/ICH5R) SMBus Controller 1014 0287 ThinkCentre S50 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard 1028 0156 Precision 360 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 103c 12bc d330 uT 103c 3208 ProLiant DL140 G2 1043 80a6 P4P800/P5P800 series motherboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) 1462 7650 Hetis 865GV-E (MS-7065) 1565 3101 P4TSV Motherboard (865G) 15d9 4580 P4SCE Mainboard 1734 101c PRIMERGY RX/TX S2 series SMBus 8086 3427 S875WP1-E mainboard 8086 4246 Desktop Board D865GBF 8086 4c43 Desktop Board D865GLC 8086 524c D865PERL mainboard 24d4 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 1014 0287 ThinkCentre S50 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 onboard UHCI 1028 016d PowerEdge 2850 onboard UHCI 1028 0170 PowerEdge 6850 onboard UHCI 1028 0183 PowerEdge 1800 1028 019a PowerEdge SC1425 103c 006a NX9500 103c 12bc d530 CMT (DG746A) 103c 3208 ProLiant DL140 G2 1043 80a6 P4P800/P5P800 series motherboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) 1462 7650 Hetis 865GV-E (MS-7065) 1565 3101 P4TSV Motherboard (865G) 15d9 4580 P4SCE Mainboard 1734 101c PRIMERGY RX/TX S2 series onboard UHCI 8086 3427 S875WP1-E mainboard 8086 4246 Desktop Board D865GBF 8086 4c43 Desktop Board D865GLC 8086 524c D865PERL mainboard 24d5 82801EB/ER (ICH5/ICH5R) AC'97 Audio Controller 100a 147b Abit IS7-E motherboard 1014 0287 ThinkCentre S50 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 103c 006a NX9500 103c 12bc d330 uT 1043 80f3 P4P800 series motherboard 1043 810f P5P800-MX Mainboard 1458 a002 GA-8IPE1000/8KNXP motherboard 1462 0080 865PE Neo2-V (MS-6788) Mainboard 1462 7280 865PE Neo2 (MS-6728) 1462 7650 Hetis 865GV-E (MS-7065) 8086 a000 D865PERL mainboard 8086 e000 D865PERL mainboard 8086 e001 Desktop Board D865GBF 8086 e002 SoundMax Integrated Digital Audio 24d6 82801EB/ER (ICH5/ICH5R) AC'97 Modem Controller 103c 006a NX9500 24d7 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #3 1014 0287 ThinkCentre S50 1014 02ed xSeries server mainboard 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 onboard UHCI 1028 016d PowerEdge 2850 onboard UHCI 1028 0170 PowerEdge 6850 onboard UHCI 1028 0183 PowerEdge 1800 103c 006a NX9500 103c 12bc d530 CMT (DG746A) 1043 80a6 P4P800/P5P800 series motherboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) 1462 7650 Hetis 865GV-E (MS-7065) 1565 3101 P4TSV Motherboard (865G) 15d9 4580 P4SCE Mainboard 1734 101c PRIMERGY RX/TX S2 series onboard UHCI 8086 3427 S875WP1-E mainboard 8086 4246 Desktop Board D865GBF 8086 4c43 Desktop Board D865GLC 8086 524c D865PERL mainboard 24db 82801EB/ER (ICH5/ICH5R) IDE Controller 1014 0287 ThinkCentre S50 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 IDE Controller 1028 016d PowerEdge 2850 IDE Controller 1028 0170 PowerEdge 6850 IDE Controller 1028 019a PowerEdge SC1425 103c 006a NX9500 103c 12bc d530 CMT (DG746A) 1043 80a6 P4P800/P5P800 series motherboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) 1462 7580 MSI 875P 1462 7650 Hetis 865GV-E (MS-7065) 1565 3101 P4TSV Motherboard (865G) 15d9 4580 P4SCE Mainboard 1734 101c PRIMERGY RX/TX S2 series onboard IDE 8086 24db P4C800 Mainboard 8086 3427 S875WP1-E mainboard 8086 4246 Desktop Board D865GBF 8086 4c43 Desktop Board D865GLC 8086 524c D865PERL mainboard 24dc 82801EB (ICH5) LPC Interface Bridge 24dd 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller 1014 0287 ThinkCentre S50 1014 02dd eServer xSeries server mainboard 1014 02ed eServer xSeries server mainboard 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1028 016c PowerEdge 1850 onboard EHCI 1028 016d PowerEdge 2850 onboard EHCI 1028 0170 PowerEdge 6850 onboard EHCI 1028 0183 PowerEdge 1800 1028 019a PowerEdge SC1425 103c 006a NX9500 103c 12bc d530 CMT (DG746A) 103c 3208 ProLiant DL140 G2 1043 80a6 P4P800/P5P800 series motherboard 1458 5006 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) 1462 7650 Hetis 865GV-E (MS-7065) 8086 3427 S875WP1-E mainboard 8086 4246 Desktop Board D865GBF 8086 4c43 Desktop Board D865GLC 8086 524c D865PERL mainboard 24de 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 1014 0287 ThinkCentre S50 1014 02ed xSeries server mainboard 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 1043 80a6 P4P800/P5P800 series motherboard 1458 24d2 GA-8IPE1000 Pro2 motherboard (865PE) 1462 7280 865PE Neo2 (MS-6728) 1462 7650 Hetis 865GV-E (MS-7065) 1565 3101 P4TSV Motherboard (865G) 15d9 4580 P4SCE Mainboard 1734 101c PRIMERGY RX/TX S2 series onboard UHCI 8086 3427 S875WP1-E mainboard 8086 4246 Desktop Board D865GBF 8086 4c43 Desktop Board D865GLC 8086 524c D865PERL mainboard 24df 82801ER (ICH5R) SATA Controller 1028 0168 Precision Workstation 670 Mainboard 24f0 Omni-Path HFI Silicon 100 Series [discrete] 10a9 802e Omni-path HFI 100 Series, 1-port A-board 10a9 802f Omni-path HFI 100 Series, 2-port A-board 10a9 8030 Omni-path HFI 100 Series, 1-port B-board 10a9 8031 Omni-path HFI 100 Series, 2-port B-board 1590 00e7 100Gb 1-port OP101 QSFP28 x8 PCIe Gen3 with Intel Omni-Path Adapter 1590 00e8 100Gb 1-port OP101 QSFP28 x16 PCIe Gen3 with Intel Omni-Path Adapter 1590 021c Apollo 100Gb 1-port Intel Omni-Path Architecture 860z Mezzanine FIO Adapter 15d9 0934 Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16, SIOM Module 15d9 099b Omni-path HFI Mezz AOC, 1 Port, PCIe x16. 1cb8 0001 Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16, TC4600 QSFP28 1cb8 0002 Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16, TC6600 Fixed Port 1cb8 0003 Omni-Path HFI Adapter 100 Series, 2 Port, 2 PCIe x16, Earth Simulation QSFP28 1cb8 0004 Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16, TC4600E QSFP28 8086 2628 Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16 8086 2629 Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x8 8086 262a Omni-Path HFI Adapter 100 Series, 2 Ports, Split PCIe x16 8086 262d Omni-Path HFI Adapter 100 Series, 1 Port, PCIe x16, IO Module AHWKPTP100HF 24f1 Omni-Path HFI Silicon 100 Series [integrated] 24f3 Wireless 8260 # Snow Field Peak AC 8086 0010 Dual Band Wireless-AC 8260 8086 1010 Dual Band Wireless-AC 8260 24f4 Wireless 8260 # Snow Field Peak AC 8086 0030 Dual Band Wireless-AC 8260 24fb Dual Band Wireless-AC 3168NGW [Stone Peak] 24fd Wireless 8265 / 8275 # Windstorm Peak 8086 0010 Dual Band Wireless-AC 8265 8086 0150 Dual Band Wireless-AC 8265 8086 1010 Dual Band Wireless-AC 8265 8086 1130 Dual Band Wireless-AC 8265 2500 82820 820 (Camino) Chipset Host Bridge (MCH) 1028 0095 Precision Workstation 220 Chipset 1043 801c P3C-2000 system chipset 2501 82820 820 (Camino) Chipset Host Bridge (MCH) 1043 801c P3C-2000 system chipset 250b 82820 820 (Camino) Chipset Host Bridge 250f 82820 820 (Camino) Chipset AGP Bridge 2520 82805AA MTH Memory Translator Hub 2521 82804AA MRH-S Memory Repeater Hub for SDRAM 2522 NVMe Optane Memory Series 8086 3806 Optane Memory 16GB 8086 3810 Optane Memory M10 16GB 2526 Wireless-AC 9260 2530 82850 850 (Tehama) Chipset Host Bridge (MCH) 1028 00c7 Dimension 8100 147b 0507 TH7II-RAID 2531 82860 860 (Wombat) Chipset Host Bridge (MCH) 1028 00d8 Precision 530 2532 82850 850 (Tehama) Chipset AGP Bridge 2533 82860 860 (Wombat) Chipset AGP Bridge 2534 82860 860 (Wombat) Chipset PCI Bridge 2540 E7500 Memory Controller Hub 15d9 3480 P4DP6 2541 E7500/E7501 Host RASUM Controller 15d9 3480 P4DP6 4c53 1090 Cx9 / Vx9 mainboard 8086 3424 SE7501HG2 Mainboard 2543 E7500/E7501 Hub Interface B PCI-to-PCI Bridge 2544 E7500/E7501 Hub Interface B RASUM Controller 4c53 1090 Cx9 / Vx9 mainboard 2545 E7500/E7501 Hub Interface C PCI-to-PCI Bridge 2546 E7500/E7501 Hub Interface C RASUM Controller 2547 E7500/E7501 Hub Interface D PCI-to-PCI Bridge 2548 E7500/E7501 Hub Interface D RASUM Controller 254c E7501 Memory Controller Hub 4c53 1090 Cx9 / Vx9 mainboard 8086 3424 SE7501HG2 Mainboard 2550 E7505 Memory Controller Hub 2551 E7505/E7205 Series RAS Controller 2552 E7505/E7205 PCI-to-AGP Bridge 2553 E7505 Hub Interface B PCI-to-PCI Bridge 2554 E7505 Hub Interface B PCI-to-PCI Bridge RAS Controller 255d E7205 Memory Controller Hub 2560 82845G/GL[Brookdale-G]/GE/PE DRAM Controller/Host-Hub Interface 1028 0126 Optiplex GX260 1458 2560 GA-8PE667 Ultra 1462 5800 845PE Max (MS-6580) 2561 82845G/GL[Brookdale-G]/GE/PE Host-to-AGP Bridge 2562 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device 0e11 00b9 Evo D510 SFF 1014 0267 NetVista A30p 1028 0160 Dimension 2400 1734 1003 D1521 Mainboard (Fujitsu-Siemens) 1734 1004 D1451 Mainboard (SCENIC N300, i845GV) 2570 82865G/PE/P DRAM Controller/Host-Hub Interface 103c 006a NX9500 103c 12bc d330 uT 1043 80f2 P4P800/P5P800 series motherboard 1458 2570 GA-8IPE1000 Pro2 motherboard (865PE) 2571 82865G/PE/P AGP Bridge 2572 82865G Integrated Graphics Controller 1014 0287 ThinkCentre S50 1028 019d Dimension 3000 103c 12bc D530 sff(dc578av) 1043 80a5 P5P800-MX Mainboard 1462 7650 Hetis 865GV-E (MS-7065) 1734 101b Fujitsu-Siemens Scenic E300 i865GV 8086 4246 Desktop Board D865GBF 8086 4c43 Desktop Board D865GLC 2573 82865G/PE/P PCI to CSA Bridge 2576 82865G/PE/P Processor to I/O Memory Interface 2578 82875P/E7210 Memory Controller Hub 1458 2578 GA-8KNXP motherboard (875P) 1462 7580 MS-6758 (875P Neo) 15d9 4580 P4SCE Motherboard 2579 82875P Processor to AGP Controller 257b 82875P/E7210 Processor to PCI to CSA Bridge 257e 82875P/E7210 Processor to I/O Memory Interface 2580 82915G/P/GV/GL/PL/910GL Memory Controller Hub 1458 2580 GA-8I915ME-G Mainboard 1462 7028 915P/G Neo2 1734 105b Scenic W620 2581 82915G/P/GV/GL/PL/910GL PCI Express Root Port 2582 82915G/GV/910GL Integrated Graphics Controller 1028 1079 Optiplex GX280 103c 3006 DC7100 SFF(DX878AV) 1043 2582 P5GD1-VW Mainboard 1458 2582 GA-8I915ME-G Mainboard 1734 105b Scenic W620 1849 2582 ASRock P4Dual-915GL 2584 82925X/XE Memory Controller Hub 1028 0177 Dimension 8400 2585 82925X/XE PCI Express Root Port 2588 E7220/E7221 Memory Controller Hub 2589 E7220/E7221 PCI Express Root Port 258a E7221 Integrated Graphics Controller 2590 Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller 1014 0575 ThinkPad X41 / Z60t 1028 0182 Latitude C610 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 104d 81b7 Vaio VGN-S3XP a304 81b7 Vaio VGN-S3XP e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2591 Mobile 915GM/PM Express PCI Express Root Port 103c 0934 Compaq nw8240 Mobile Workstation 2592 Mobile 915GM/GMS/910GML Express Graphics Controller 1014 0582 ThinkPad X41 103c 099c NX6110/NC6120 103c 308a NC6220 1043 1881 GMA 900 915GM Integrated Graphics e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 25a1 6300ESB LPC Interface Controller 25a2 6300ESB PATA Storage Controller 1734 1073 Primergy Econel 200 D2020 mainboard 1775 10d0 V5D Single Board Computer IDE 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10e0 PSL09 PrPMC 25a3 6300ESB SATA Storage Controller 1734 1073 Primergy Econel 200 D2020 mainboard 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10d0 Telum ASLP10 Processor AMC 4c53 10e0 PSL09 PrPMC 25a4 6300ESB SMBus Controller 1734 1073 Primergy Econel 200 D2020 mainboard 1775 10d0 V5D Single Board Computer 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10d0 Telum ASLP10 Processor AMC 4c53 10e0 PSL09 PrPMC 25a6 6300ESB AC'97 Audio Controller 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 25a7 6300ESB AC'97 Modem Controller 25a9 6300ESB USB Universal Host Controller 1734 1073 Primergy Econel 200 D2020 mainboard 1775 10d0 V5D Single Board Computer USB 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10d0 Telum ASLP10 Processor AMC 4c53 10e0 PSL09 PrPMC 25aa 6300ESB USB Universal Host Controller 1734 1073 Primergy Econel 200 D2020 mainboard 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10d0 Telum ASLP10 Processor AMC 4c53 10e0 PSL09 PrPMC 25ab 6300ESB Watchdog Timer 1734 1073 Primergy Econel 200 D2020 mainboard 1775 10d0 V5D Single Board Computer 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 1af4 1100 QEMU Virtual Machine 4c53 10b0 CL9 mainboard 4c53 10d0 Telum ASLP10 Processor AMC 4c53 10e0 PSL09 PrPMC 25ac 6300ESB I/O Advanced Programmable Interrupt Controller 1734 1073 Primergy Econel 200 D2020 mainboard 1775 10d0 V5D Single Board Computer 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10d0 Telum ASLP10 Processor AMC 4c53 10e0 PSL09 PrPMC 25ad 6300ESB USB2 Enhanced Host Controller 1734 1073 Primergy Econel 200 D2020 mainboard 1775 10d0 V5D Single Board Computer USB 2.0 1775 1100 CR11/VR11 Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10d0 Telum ASLP10 Processor AMC 4c53 10e0 PSL09 PrPMC 25ae 6300ESB 64-bit PCI-X Bridge 25b0 6300ESB SATA RAID Controller 1775 1100 CR11/VR11 Single Board Computer 4c53 10d0 Telum ASLP10 Processor AMC 4c53 10e0 PSL09 PrPMC 25c0 5000X Chipset Memory Controller Hub 25d0 5000Z Chipset Memory Controller Hub 25d4 5000V Chipset Memory Controller Hub 15d9 8680 X7DVL-E-O motherboard 25d8 5000P Chipset Memory Controller Hub 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 25e2 5000 Series Chipset PCI Express x4 Port 2 25e3 5000 Series Chipset PCI Express x4 Port 3 25e4 5000 Series Chipset PCI Express x4 Port 4 25e5 5000 Series Chipset PCI Express x4 Port 5 25e6 5000 Series Chipset PCI Express x4 Port 6 25e7 5000 Series Chipset PCI Express x4 Port 7 25f0 5000 Series Chipset FSB Registers 1028 01bb PowerEdge 1955 FSB Registers 103c 31fd ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 25f1 5000 Series Chipset Reserved Registers 103c 31fd ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 25f3 5000 Series Chipset Reserved Registers 103c 31fd ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 25f5 5000 Series Chipset FBD Registers 103c 31fd ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 25f6 5000 Series Chipset FBD Registers 103c 31fd ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 25f7 5000 Series Chipset PCI Express x8 Port 2-3 25f8 5000 Series Chipset PCI Express x8 Port 4-5 25f9 5000 Series Chipset PCI Express x8 Port 6-7 25fa 5000X Chipset PCI Express x16 Port 4-7 2600 E8500/E8501 Hub Interface 1.5 1028 0170 PowerEdge 6850 Hub Interface 2601 E8500/E8501 PCI Express x4 Port D 2602 E8500/E8501 PCI Express x4 Port C0 2603 E8500/E8501 PCI Express x4 Port C1 2604 E8500/E8501 PCI Express x4 Port B0 2605 E8500/E8501 PCI Express x4 Port B1 2606 E8500/E8501 PCI Express x4 Port A0 2607 E8500/E8501 PCI Express x4 Port A1 2608 E8500/E8501 PCI Express x8 Port C 2609 E8500/E8501 PCI Express x8 Port B 260a E8500/E8501 PCI Express x8 Port A 260c E8500/E8501 IMI Registers 2610 E8500/E8501 FSB Registers 2611 E8500/E8501 Address Mapping Registers 2612 E8500/E8501 RAS Registers 2613 E8500/E8501 Reserved Registers 2614 E8500/E8501 Reserved Registers 2615 E8500/E8501 Miscellaneous Registers 2617 E8500/E8501 Reserved Registers 2618 E8500/E8501 Reserved Registers 2619 E8500/E8501 Reserved Registers 261a E8500/E8501 Reserved Registers 261b E8500/E8501 Reserved Registers 261c E8500/E8501 Reserved Registers 261d E8500/E8501 Reserved Registers 261e E8500/E8501 Reserved Registers 2620 E8500/E8501 eXternal Memory Bridge 1028 0170 PowerEdge 6850 Memory Bridge 2621 E8500/E8501 XMB Miscellaneous Registers 1028 0170 PowerEdge 6850 XMB Registers 2622 E8500/E8501 XMB Memory Interleaving Registers 1028 0170 PowerEdge 6850 Memory Interleaving Registers 2623 E8500/E8501 XMB DDR Initialization and Calibration 1028 0170 PowerEdge 6850 DDR Initialization and Calibration 2624 E8500/E8501 XMB Reserved Registers 1028 0170 PowerEdge 6850 Reserved Registers 2625 E8500/E8501 XMB Reserved Registers 1028 0170 PowerEdge 6850 Reserved Registers 2626 E8500/E8501 XMB Reserved Registers 1028 0170 PowerEdge 6850 Reserved Registers 2627 E8500/E8501 XMB Reserved Registers 1028 0170 PowerEdge 6850 Reserved Registers 2640 82801FB/FR (ICH6/ICH6R) LPC Interface Bridge 1462 7028 915P/G Neo2 1734 105c Scenic W620 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2641 82801FBM (ICH6M) LPC Interface Bridge 1014 0568 ThinkPad X41 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 2642 82801FW/FRW (ICH6W/ICH6RW) LPC Interface Bridge 2651 82801FB/FW (ICH6/ICH6W) SATA Controller 1028 0179 Optiplex GX280 1043 2601 P5GD1-VW Mainboard 1734 105c Scenic W620 8086 4147 D915GAG Motherboard e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2652 82801FR/FRW (ICH6R/ICH6RW) SATA Controller 1028 0177 Dimension 8400 1462 7028 915P/G Neo2 2653 82801FBM (ICH6M) SATA Controller 1014 056a ThinkPad X41 2658 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 1014 0565 ThinkPad X41 1028 0177 Dimension 8400 1028 0179 Optiplex GX280 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 1043 80a6 P5GD1-VW Mainboard 1458 2558 GA-8I915ME-G Mainboard 1462 7028 915P/G Neo2 1734 105c Scenic W620 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2659 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 1014 0565 ThinkPad X41 1028 0177 Dimension 8400 1028 0179 Optiplex GX280 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 1043 80a6 P5GD1-VW Mainboard 1458 2659 GA-8I915ME-G Mainboard 1462 7028 915P/G Neo2 1734 105c Scenic W620 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 265a 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 1014 0565 ThinkPad X41 1028 0177 Dimension 8400 1028 0179 Optiplex GX280 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 1043 80a6 P5GD1-VW Mainboard 1458 265a GA-8I915ME-G Mainboard 1462 7028 915P/G Neo2 1734 105c Scenic W620 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 265b 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 1014 0565 ThinkPad X41 1028 0177 Dimension 8400 1028 0179 Optiplex GX280 103c 099c NX6110/NC6120 1043 80a6 P5GD1-VW Mainboard 1458 265a GA-8I915ME-G Mainboard 1462 7028 915P/G Neo2 1734 105c Scenic W620 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 265c 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller 1014 0566 ThinkPad X41 1028 0177 Dimension 8400 1028 0179 Optiplex GX280 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 1043 80a6 P5GD1-VW Mainboard 1458 5006 GA-8I915ME-G Mainboard 1462 7028 915P/G Neo2 1734 105c Scenic W620 8086 265c Dimension 3100 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2660 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 103c 0934 Compaq nw8240 Mobile Workstation 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2662 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 2 103c 0934 Compaq nw8240 Mobile Workstation 103c 0944 Compaq nc6220 Notebook PC e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2664 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 3 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2666 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 4 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2668 82801FB/FBM/FR/FW/FRW (ICH6 Family) High Definition Audio Controller 1014 05b7 ThinkPad Z60t # based on the PTGD1-LA motherboard 103c 2a09 PufferM-UL8E 1043 1173 A6VC 1043 814e P5GD1-VW Mainboard 1462 7028 915P/G Neo2 1af4 1100 QEMU Virtual Machine 266a 82801FB/FBM/FR/FW/FRW (ICH6 Family) SMBus Controller 1014 056b ThinkPad X41 1028 0177 Dimension 8400 1028 0179 Optiplex GX280 1043 80a6 P5GD1-VW Mainboard 1458 266a GA-8I915ME-G Mainboard 1462 7028 915P/G Neo2 1734 105c Scenic W620 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 266c 82801FB/FBM/FR/FW/FRW (ICH6 Family) LAN Controller 266d 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller 1025 006a Conexant AC'97 CoDec (in Acer TravelMate 2410 serie laptop) 103c 0934 Compaq nw8240/nx8220 103c 099c NX6110/NC6120 266e 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller 1014 0581 ThinkPad X41 (Analog Devices AD1981B codec) 1025 006a Realtek ALC 655 codec (in Acer TravelMate 2410 serie laptop) 1028 0177 Dimension 8400 1028 0179 Optiplex GX280 1028 0182 Latitude D610 Laptop 1028 0187 Precision M70 Laptop 1028 0188 Inspiron 6000 laptop 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq NC6220 103c 099c NX6110/NC6120 103c 3006 DC7100 SFF(DX878AV) 1458 a002 GA-8I915ME-G Mainboard 152d 0745 Packard Bell A8550 Laptop 1734 105a Scenic W620 266f 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller 1028 0177 Dimension 8400 103c 0934 Compaq nw8240/nx8220 103c 0944 Compaq nc6220 Notebook PC 103c 099c NX6110/NC6120 1043 80a6 P5GD1-VW Mainboard 1458 266f GA-8I915ME-G Mainboard 1462 7028 915P/G Neo2 1734 105c Scenic W620 e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 2670 631xESB/632xESB/3100 Chipset LPC Interface Controller 103c 31fe ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 2680 631xESB/632xESB/3100 Chipset SATA IDE Controller 2681 631xESB/632xESB SATA AHCI Controller 103c 31fe ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 2682 631xESB/632xESB SATA RAID Controller 103c 31fe Adaptec Serial ATA HostRAID 2683 631xESB/632xESB SATA RAID Controller 2688 631xESB/632xESB/3100 Chipset UHCI USB Controller #1 1028 01bb PowerEdge 1955 onboard USB 1028 01f0 PowerEdge R900 onboard USB 103c 31fe ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 2689 631xESB/632xESB/3100 Chipset UHCI USB Controller #2 1028 01bb PowerEdge 1955 onboard USB 1028 01f0 PowerEdge R900 onboard USB 103c 31fe ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 268a 631xESB/632xESB/3100 Chipset UHCI USB Controller #3 1028 01f0 PowerEdge R900 onboard USB 103c 31fe ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 268b 631xESB/632xESB/3100 Chipset UHCI USB Controller #4 1028 01f0 PowerEdge R900 onboard USB 15d9 8680 X7DVL-E-O motherboard 8086 3476 S5000PSLSATA Server Board 268c 631xESB/632xESB/3100 Chipset EHCI USB2 Controller 1028 01bb PowerEdge 1955 onboard USB 1028 01f0 PowerEdge R900 onboard USB 103c 31fe ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 2690 631xESB/632xESB/3100 Chipset PCI Express Root Port 1 103c 31fe ProLiant DL140 G3 15d9 9680 X7DBN Motherboard 2692 631xESB/632xESB/3100 Chipset PCI Express Root Port 2 103c 31fe ProLiant DL140 G3 2694 631xESB/632xESB/3100 Chipset PCI Express Root Port 3 2696 631xESB/632xESB/3100 Chipset PCI Express Root Port 4 2698 631xESB/632xESB AC '97 Audio Controller 2699 631xESB/632xESB AC '97 Modem Controller 269a 631xESB/632xESB High Definition Audio Controller 269b 631xESB/632xESB/3100 Chipset SMBus Controller 103c 31fe ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 8086 3476 S5000PSLSATA Server Board 269e 631xESB/632xESB IDE Controller 103c 31fe ProLiant DL140 G3 15d9 8680 X7DVL-E-O motherboard 15d9 9680 X7DBN Motherboard 2700 Optane SSD 900P Series 8086 3900 900P Series [Add-in Card] 8086 3901 900P Series [2.5" SFF] 2701 NVMe Datacenter SSD [Optane] 1028 2000 Express Flash NVMe [Optane] 375GB 2.5" U.2 (P4800X) 1028 2001 Express Flash NVMe [Optane] 750GB 2.5" U.2 (P4800X) 1028 2002 Express Flash NVMe [Optane] 750GB AIC (P4800X) 1028 200a Express Flash NVMe [Optane] 375GB AIC (P4800X) 8086 3904 NVMe Datacenter SSD [Optane] x4 AIC (P4800X) 8086 3905 NVMe Datacenter SSD [Optane] 15mm 2.5" U.2 (P4800X) 2723 Wi-Fi 6 AX200 8086 2723 Wireless AX200 2770 82945G/GZ/P/PL Memory Controller Hub 1028 01ad OptiPlex GX620 103c 2a3b Pavilion A1512X 1043 817a P5LD2-VM Mainboard 107b 5048 E4500 1462 7418 Wind PC MS-7418 1849 2770 ConRoe1333-D667 8086 544e DeskTop Board D945GTP 2771 82945G/GZ/P/PL PCI Express Root Port 2772 82945G/GZ Integrated Graphics Controller 103c 2a3b Pavilion A1512X 1462 7418 Wind PC MS-7418 1849 2772 ConRoe1333-D667 8086 544e DeskTop Board D945GTP 8086 d605 Desktop Board D945GCCR 2774 82955X Memory Controller Hub 2775 82955X PCI Express Root Port 2776 82945G/GZ Integrated Graphics Controller 2778 E7230/3000/3010 Memory Controller Hub 1028 01df PowerEdge SC440 1028 01e6 PowerEdge 860 2779 E7230/3000/3010 PCI Express Root Port 277a 82975X/3010 PCI Express Root Port 277c 82975X Memory Controller Hub 1043 8178 P5WDG2 WS Professional motherboard 277d 82975X PCI Express Root Port 2782 82915G Integrated Graphics Controller 1043 2582 P5GD1-VW Mainboard 1734 105b Scenic W620 2792 Mobile 915GM/GMS/910GML Express Graphics Controller 1014 0582 ThinkPad X41 103c 099c NX6110/NC6120 103c 308a Compaq nc6220 Notebook PC 1043 1881 GMA 900 915GM Integrated Graphics e4bf 0ccd CCD-CALYPSO e4bf 0cd3 CD3-JIVE e4bf 58b1 XB1 27a0 Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub 1025 006c 9814 WKMI 1028 01d7 XPS M1210 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 103c 30d5 530 Laptop 1043 1237 A6J-Q008 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 17aa 2015 ThinkPad T60 17aa 2017 ThinkPad R60/T60/X60 series 27a1 Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq nw8440 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 27a2 Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller 103c 30a1 NC2400 103c 30d5 530 Laptop 17aa 201a ThinkPad R60/T60/X60 series 9902 1584 CCE MPL-D10H120F 27a6 Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller 103c 30a1 NC2400 103c 30d5 530 Laptop 1775 11cc CC11/CL11 integrated graphics (secondary) 17aa 201a ThinkPad R60/T60/X60 series 27ac Mobile 945GSE Express Memory Controller Hub 1775 11cc CC11/CL11 27ad Mobile 945GSE Express PCI Express Root Port 27ae Mobile 945GSE Express Integrated Graphics Controller 1775 11cc CC11/CL11 integrated graphics (primary) 27b0 82801GH (ICH7DH) LPC Interface Bridge 103c 2a3b Pavilion A1512X 8086 544e DeskTop Board D945GTP 27b8 82801GB/GR (ICH7 Family) LPC Interface Bridge 1028 01e6 PowerEdge 860 103c 2a8c Compaq 500B Microtower 1043 8179 P5B-MX/WiFi-AP, P5KPL-VM Motherboard 107b 5048 E4500 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 8086 544e DeskTop Board D945GTP 27b9 82801GBM (ICH7-M) LPC Interface Bridge 1028 01d7 XPS M1210 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 103c 30d5 530 Laptop 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 10f7 8338 Panasonic CF-Y5 laptop 17aa 2009 ThinkPad R60/T60/X60 series 27bc NM10 Family LPC Controller 1043 83ad Eee PC 1015PX 105b 0d7c D270S/D250S Motherboard 144d c072 Notebook N150P 1458 5001 GA-D525TUD 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT 27bd 82801GHM (ICH7-M DH) LPC Interface Bridge 1025 006c 9814 WKMI 27c0 NM10/ICH7 Family SATA Controller [IDE mode] 1028 01ad OptiPlex GX620 1028 01df PowerEdge SC440 1028 01e6 PowerEdge 860 103c 2a8c Compaq 500B Microtower 1043 8179 P5B-MX/WiFi-AP, P5KPL-VM Motherboard 107b 5048 E4500 1462 2310 MSI Hetis 945 1462 7236 945P Neo3-F Rev. 2.2 motherboard 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP 27c1 NM10/ICH7 Family SATA Controller [AHCI mode] 1028 01df PowerEdge SC440 103c 2a3b Pavilion A1512X 1043 83ad Eee PC 1015PX 105b 0d7c D270S/D250S Motherboard 144d c072 Notebook N150P 1458 b005 GA-D525TUD 1775 11cc CC11/CL11 8086 4f4d DeskTop Board D510MO 8086 5842 DeskTop Board D975XBX 27c3 82801GR/GDH (ICH7R/ICH7DH) SATA Controller [RAID mode] 1775 11cc CC11/CL11 8086 544e DeskTop Board D945GTP 27c4 82801GBM/GHM (ICH7-M Family) SATA Controller [IDE mode] 1025 006c 9814 WKMI 1028 01d7 XPS M1210 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 17aa 200e ThinkPad T60 27c5 82801GBM/GHM (ICH7-M Family) SATA Controller [AHCI mode] 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq nw8440 103c 30d5 530 Laptop 17aa 200d ThinkPad R60/T60/X60 series 27c6 82801GHM (ICH7-M DH) SATA Controller [RAID mode] 27c8 NM10/ICH7 Family USB UHCI Controller #1 1025 006c 9814 WKMI 1028 01ad OptiPlex GX620 1028 01d7 XPS M1210 1028 01df PowerEdge SC440 1028 01e6 PowerEdge 860 103c 2a3b Pavilion A1512X 103c 2a8c Compaq 500B Microtower 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 103c 30d5 530 Laptop 1043 1237 A6J-Q008 1043 8179 P5B-MX/WiFi-AP, P5KPL-VM, P5LD2-VM Mainboard 1043 83ad Eee PC 1015PX 105b 0d7c D270S/D250S Motherboard 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 107b 5048 E4500 144d c072 Notebook N150P 1458 5004 GA-D525TUD 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 200a ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP 27c9 NM10/ICH7 Family USB UHCI Controller #2 1025 006c 9814 WKMI 1028 01ad OptiPlex GX620 1028 01d7 XPS M1210 1028 01df PowerEdge SC440 1028 01e6 PowerEdge 860 103c 2a3b Pavilion A1512X 103c 2a8c Compaq 500B Microtower 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 1043 1237 A6J-Q008 1043 8179 P5B-MX/WiFi-AP, P5KPL-VM, P5LD2-VM Mainboard 1043 83ad Eee PC 1015PX 105b 0d7c D270S/D250S Motherboard 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 107b 5048 E4500 144d c072 Notebook N150P 1458 5004 GA-D525TUD 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 200a ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP 27ca NM10/ICH7 Family USB UHCI Controller #3 1025 006c 9814 WKMI 1028 01ad OptiPlex GX620 1028 01d7 XPS M1210 1028 01df PowerEdge SC440 1028 01e6 PowerEdge 860 103c 2a3b Pavilion A1512X 103c 2a8c Compaq 500B Microtower 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 1043 1237 A6J-Q008 1043 8179 P5B-MX/WiFi-AP, P5KPL-VM, P5LD2-VM Mainboard 1043 83ad Eee PC 1015PX 105b 0d7c D270S/D250S Motherboard 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 107b 5048 E4500 144d c072 Notebook N150P 1458 5004 GA-D525TUD 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 200a ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544e DeskTop Board D945GTP 27cb NM10/ICH7 Family USB UHCI Controller #4 1025 006c 9814 WKMI 1028 01ad OptiPlex GX620 1028 01d7 XPS M1210 1028 01df PowerEdge SC440 103c 2a3b Pavilion A1512X 103c 2a8c Compaq 500B Microtower 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 1043 1237 A6J-Q008 1043 8179 P5B-MX/WiFi-AP, P5KPL-VM, P5LD2-VM Mainboard 1043 83ad Eee PC 1015PX 105b 0d7c D270S/D250S Motherboard 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 107b 5048 E4500 144d c072 Notebook N150P 1458 5004 GA-D525TUD 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 200a ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544e DeskTop Board D945GTP 27cc NM10/ICH7 Family USB2 EHCI Controller 1025 006c 9814 WKMI 1028 01ad OptiPlex GX620 1028 01d7 XPS M1210 1028 01df PowerEdge SC440 1028 01e6 PowerEdge 860 103c 2a3b Pavilion A1512X 103c 2a8c Compaq 500B Microtower 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 103c 30d5 530 Laptop 1043 1237 A6J-Q008 1043 8179 P5B-MX/WiFi-AP, P5KPL-VM, P5LD2-VM Mainboard 1043 83ad Eee PC 1015PX 105b 0d7c D270S/D250S Motherboard 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 144d c072 Notebook N150P 1458 5006 GA-D525TUD 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 200b ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP 27d0 NM10/ICH7 Family PCI Express Port 1 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq nw8440 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 144d c072 Notebook N150P 1458 5001 GA-D525TUD 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 2011 ThinkPad R60e 8086 544b Desktop Board D425KT 27d2 NM10/ICH7 Family PCI Express Port 2 103c 309f Compaq nx9420 Notebook 103c 30a3 Compaq nw8440 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 144d c072 Notebook N150P 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 2011 ThinkPad R60e 8086 544b Desktop Board D425KT 27d4 NM10/ICH7 Family PCI Express Port 3 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 144d c072 Notebook N150P 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 2011 ThinkPad R60e 8086 544b Desktop Board D425KT 27d6 NM10/ICH7 Family PCI Express Port 4 103c 30a3 Compaq nw8440 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 144d c072 Notebook N150P 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 2011 ThinkPad R60e 8086 544b Desktop Board D425KT 27d8 NM10/ICH7 Family High Definition Audio Controller 1025 006c 9814 WKMI 1028 01d7 XPS M1210 103c 2a3b Pavilion A1512X 103c 2a8c Compaq 500B Microtower 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 103c 30d5 530 Laptop 1043 1123 A6J-Q008 1043 13c4 G2P 1043 817f P5LD2-VM Mainboard (Realtek ALC 882 codec) 1043 8249 P5B-MX/WiFi-AP 1043 8290 P5KPL-VM Motherboard 1043 82ea P5KPL-CM Motherboard 1043 8437 Eee PC 1015PX 105b 0d7c D270S/D250S Motherboard 1071 8207 Medion MIM 2240 Notebook PC [MD98100] 107b 5048 E4500 10f7 8338 Panasonic CF-Y5 laptop 1179 ff10 Toshiba Satellite A100-796 audio (Realtek ALC861) 1179 ff31 AC97 Data Fax SoftModem with SmartCP 1447 1043 Asus A8JP (Analog Devices AD1986A) 144d c072 Notebook N150P 1458 a002 GA-D525TUD (Realtek ALC887) 1458 a102 GA-8I945PG-RH Mainboard 1462 7418 Wind PC MS-7418 152d 0753 Softmodem 1734 10ad Conexant softmodem SmartCP 17aa 2010 ThinkPad R60/T60/X60 series 17aa 3802 3000 C200 audio [Realtek ALC861VD] 8086 1112 DeskTop Board D945GTP 8086 27d8 DeskTop Board D945GTP 8086 d618 DeskTop Board D510MO 8384 7680 STAC9221 HD Audio Codec 27da NM10/ICH7 Family SMBus Controller 1025 006c 9814 WKMI 1028 01ad OptiPlex GX620 1028 01d7 XPS M1210 1028 01df PowerEdge SC440 1028 01e6 PowerEdge 860 103c 2a3b Pavilion A1512X 103c 2a8c Compaq 500B Microtower 1043 8179 P5B-MX/WiFi-AP, P5KPL-VM Motherboard 105b 0d7c D270S/D250S Motherboard 1071 8209 Medion MIM 2240 Notebook PC [MD98100] 10f7 8338 Panasonic CF-Y5 laptop 144d c072 Notebook N150P 1458 5001 GA-8I945PG-RH/GA-D525TUD Mainboard 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 200f ThinkPad R60/T60/X60 series 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT 8086 544e DeskTop Board D945GTP 8086 5842 DeskTop Board D975XBX 27dc NM10/ICH7 Family LAN Controller 103c 2a3b Pavilion A1512X 8086 308d DeskTop Board D945GTP 27dd 82801G (ICH7 Family) AC'97 Modem Controller 27de 82801G (ICH7 Family) AC'97 Audio Controller 1028 01ad OptiPlex GX620 1462 7267 Realtek ALC883 Audio Controller 1775 11cc CC11 integrated audio (AD1981BL codec) 27df 82801G (ICH7 Family) IDE Controller 1028 01df PowerEdge SC440 1028 01e6 PowerEdge 860 103c 2a3b Pavilion A1512X 103c 2a8c Compaq 500B Microtower 103c 309f Compaq nx9420 Notebook 103c 30a1 NC2400 103c 30a3 Compaq nw8440 103c 30d5 530 Laptop 1043 1237 A6J-Q008 1043 8179 P5B-MX/WiFi-AP, P5KPL-VM Motherboard 107b 5048 E4500 10f7 8338 Panasonic CF-Y5 laptop 1462 7418 Wind PC MS-7418 1775 11cc CC11/CL11 17aa 200c ThinkPad R60/T60/X60 series 8086 544e DeskTop Board D945GTP 27e0 82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 1775 11cc CC11/CL11 27e2 82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 1775 11cc CC11/CL11 2810 82801HB/HR (ICH8/R) LPC Interface Controller 1043 81ec P5B 2811 82801HEM (ICH8M-E) LPC Interface Controller 103c 30c1 Compaq 6910p 17aa 20b6 ThinkPad T61/R61 e4bf cc47 CCG-RUMBA 2812 82801HH (ICH8DH) LPC Interface Controller 2814 82801HO (ICH8DO) LPC Interface Controller 2815 82801HM (ICH8M) LPC Interface Controller 1025 0121 Aspire 5920G 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30cc Pavilion dv6700 103c 30d9 Presario C700 1043 1017 X58LE 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 17aa 20a5 ThinkPad R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] 2820 82801H (ICH8 Family) 4 port SATA Controller [IDE mode] 1028 01da OptiPlex 745 1462 7235 P965 Neo MS-7235 mainboard 2821 82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA Controller [AHCI mode] 2822 SATA Controller [RAID mode] 1028 020d Inspiron 530 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 2823 C610/X99 series chipset sSATA Controller [RAID mode] 2824 82801HB (ICH8) 4 port SATA Controller [AHCI mode] 1043 81ec P5B 2825 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] 1028 01da OptiPlex 745 1462 7235 P965 Neo MS-7235 mainboard 2826 C600/X79 series chipset SATA RAID Controller 1d49 0100 Intel RSTe SATA Software RAID 1d49 0101 Intel RSTe SATA Software RAID 1d49 0102 Intel RSTe SATA Software RAID 1d49 0103 Intel RSTe SATA Software RAID 1d49 0104 Intel RSTe SATA Software RAID 1d49 0105 Intel RSTe SATA Software RAID 2827 C610/X99 series chipset sSATA Controller [RAID mode] 2828 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [IDE mode] 1028 01f3 Inspiron 1420 103c 30c0 Compaq 6710b 17aa 20a8 ThinkPad R61 e4bf cc47 CCG-RUMBA 2829 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] 1025 0121 Aspire 5920G 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 103c 30d9 Presario C700 1043 1017 X58LE 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 17aa 20a7 ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 282a 82801 Mobile SATA Controller [RAID mode] 1028 040b Latitude E6510 e4bf 50c1 PC1-GROOVE 2830 82801H (ICH8 Family) USB UHCI Controller #1 1025 0121 Aspire 5920G 1028 01da OptiPlex 745 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 103c 30d9 Presario C700 1043 1017 X58LE 1043 81ec P5B 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 1462 7235 P965 Neo MS-7235 mainboard 17aa 20aa ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 2831 82801H (ICH8 Family) USB UHCI Controller #2 1025 0121 Aspire 5920G 1028 01da OptiPlex 745 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 103c 30d9 Presario C700 1043 1017 X58LE 1043 81ec P5B 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 1462 7235 P965 Neo MS-7235 mainboard 17aa 20aa ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 2832 82801H (ICH8 Family) USB UHCI Controller #3 1025 0121 Aspire 5920G 1028 01da OptiPlex 745 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 103c 30d9 Presario C700 1043 1017 X58LE 1043 81ec P5B 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 17aa 20aa ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 2833 82801H (ICH8 Family) USB UHCI Controller #4 1043 81ec P5B 2834 82801H (ICH8 Family) USB UHCI Controller #4 1025 0121 Aspire 5920G 1028 01da OptiPlex 745 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 1043 1017 X58LE 1043 81ec P5B 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 1462 7235 P965 Neo MS-7235 mainboard 17aa 20aa ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 2835 82801H (ICH8 Family) USB UHCI Controller #5 1025 0121 Aspire 5920G 1028 01da OptiPlex 745 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 1043 1017 X58LE 1043 81ec P5B 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 17aa 20aa Thinkpad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 2836 82801H (ICH8 Family) USB2 EHCI Controller #1 1025 0121 Aspire 5920G 1028 01da OptiPlex 745 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 103c 30d9 Presario C700 1043 1017 X58LE 1043 81ec P5B 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 1462 7235 P965 Neo MS-7235 mainboard 17aa 20ab ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 283a 82801H (ICH8 Family) USB2 EHCI Controller #2 1025 0121 Aspire 5920G 1028 01da OptiPlex 745 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 1043 1017 X58LE 1043 81ec P5B 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 17aa 20ab ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 283e 82801H (ICH8 Family) SMBus Controller 1025 0121 Aspire 5920G 1028 01da OptiPlex 745 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30d9 Presario C700 1043 1017 X58LE 1043 81ec P5B 104d 9005 Vaio VGN-FZ260E 104d 9008 Vaio VGN-SZ79SN_C 104d 902d VAIO VGN-NR120E 1462 7235 P965 Neo MS-7235 mainboard 17aa 20a9 ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 283f 82801H (ICH8 Family) PCI Express Port 1 1028 01da OptiPlex 745 103c 30c1 Compaq 6910p 1043 1017 X58LE 104d 902d VAIO VGN-NR120E 17aa 20ad ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] 2841 82801H (ICH8 Family) PCI Express Port 2 103c 30c1 Compaq 6910p 1043 1017 X58LE 104d 902d VAIO VGN-NR120E 17aa 20ad ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] 2843 82801H (ICH8 Family) PCI Express Port 3 1043 1017 X58LE 104d 902d VAIO VGN-NR120E 17aa 20ad ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] 2845 82801H (ICH8 Family) PCI Express Port 4 1043 1017 X58LE 17aa 20ad ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] 2847 82801H (ICH8 Family) PCI Express Port 5 1028 01da OptiPlex 745 103c 30c1 Compaq 6910p 17aa 20ad ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] 2849 82801H (ICH8 Family) PCI Express Port 6 284b 82801H (ICH8 Family) HD Audio Controller 1025 011f Realtek ALC268 audio codec 1025 0121 Aspire 5920G 1025 0145 Realtek ALC889 (Aspire 8920G w. Dolby Theater) 1028 01da OptiPlex 745 1028 01f3 Inspiron 1420 1028 01f9 Latitude D630 1028 01ff Precision M4300 1028 022f Inspiron 1525 1028 0256 Studio 1735 103c 2802 Compaq dc7700p 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 1043 1339 M51S series 1043 17f3 X58LE 1043 81ec P5B 104d 9005 Vaio VGN-FZ260E 104d 9008 Vaio VGN-SZ79SN_C 104d 9016 Sony VAIO VGN-AR51M 104d 902d VAIO VGN-NR120E 14f1 5051 Presario C700 17aa 20ac ThinkPad T61/R61 17c0 4088 Medion WIM 2210 Notebook PC [MD96850] 8384 7616 Dell Vostro 1400 e4bf cc47 CCG-RUMBA 284f 82801H (ICH8 Family) Thermal Reporting Device 2850 82801HM/HEM (ICH8M/ICH8M-E) IDE Controller 1025 0121 Aspire 5920G 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 103c 30d9 Presario C700 1043 1017 X58LE 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 17aa 20a6 ThinkPad T61/R61 17c0 4083 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 28c0 Volume Management Device NVMe RAID Controller 2912 82801IH (ICH9DH) LPC Interface Controller 2914 82801IO (ICH9DO) LPC Interface Controller 1028 0211 Optiplex 755 2916 82801IR (ICH9R) LPC Interface Controller 1028 020d Inspiron 530 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard 1462 7345 MS-7345 Motherboard 8086 5044 Desktop Board DP35DP 2917 ICH9M-E LPC Interface Controller 17aa 20f5 ThinkPad T400 e4bf cc4d CCM-BOOGIE 2918 82801IB (ICH9) LPC Interface Controller 1028 0236 PowerEdge R610 82801IB (ICH9) LPC Interface Controller 1462 7360 G33/P35 Neo 1af4 1100 QEMU Virtual Machine 2919 ICH9M LPC Interface Controller 2920 82801IR/IO/IH (ICH9R/DO/DH) 4 port SATA Controller [IDE mode] 1028 020d Inspiron 530 1028 020f PowerEdge R300 onboard SATA Controller 1028 0210 PowerEdge T300 onboard SATA Controller 1028 0211 Optiplex 755 1028 023c PowerEdge R200 onboard SATA Controller 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801IR [ICH9R] 2921 82801IB (ICH9) 2 port SATA Controller [IDE mode] 1028 0235 PowerEdge R710 SATA IDE Controller 1028 0236 PowerEdge R610 SATA IDE Controller 1028 0237 PowerEdge T610 SATA IDE Controller 1462 7360 G33/P35 Neo 2922 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801IR [ICH9R] 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP 2923 82801IB (ICH9) 4 port SATA Controller [AHCI mode] 2925 82801IR/IO (ICH9R/DO) SATA Controller [RAID mode] 1734 10e0 System Board D2542 8086 2925 System Board D2542 2926 82801I (ICH9 Family) 2 port SATA Controller [IDE mode] 1028 020d Inspiron 530 1028 020f PowerEdge R300 onboard SATA Controller 1028 0210 PowerEdge T300 onboard SATA Controller 1028 0211 Optiplex 755 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801IR [ICH9R] 1462 7360 G33/P35 Neo 2928 82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] 2929 82801IBM/IEM (ICH9M/ICH9M-E) 4 port SATA Controller [AHCI mode] 103c 3628 dv6-1190en 17aa 20f8 ThinkPad T400 e4bf cc4d CCM-BOOGIE 292c 82801IEM (ICH9M-E) SATA Controller [RAID mode] 292d 82801IBM/IEM (ICH9M/ICH9M-E) 2 port SATA Controller [IDE mode] e4bf cc4d CCM-BOOGIE 2930 82801I (ICH9 Family) SMBus Controller 1028 020d Inspiron 530 1028 0211 Optiplex 755 103c 2a6f Asus IPIBL-LB Motherboard 103c 3628 dv6-1190en 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f9 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2932 82801I (ICH9 Family) Thermal Subsystem 103c 3628 dv6-1190en 2934 82801I (ICH9 Family) USB UHCI Controller #1 1028 020d Inspiron 530 1028 020f PowerEdge R300 onboard UHCI 1028 0210 PowerEdge T300 onboard UHCI 1028 0211 Optiplex 755 1028 0235 PowerEdge R710 USB UHCI Controller 1028 0236 PowerEdge R610 USB UHCI Controller 1028 0237 PowerEdge T610 USB UHCI Controller 1028 023c PowerEdge R200 onboard UHCI 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller 1028 2011 Optiplex 755 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f0 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2935 82801I (ICH9 Family) USB UHCI Controller #2 1028 020d Inspiron 530 1028 020f PowerEdge R300 onboard UHCI 1028 0210 PowerEdge T300 onboard UHCI 1028 0211 Optiplex 755 1028 0235 PowerEdge R710 USB UHCI Controller 1028 0236 PowerEdge R610 USB UHCI Controller 1028 0237 PowerEdge T610 USB UHCI Controller 1028 023c PowerEdge R200 onboard UHCI 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f0 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2936 82801I (ICH9 Family) USB UHCI Controller #3 1028 020d Inspiron 530 1028 020f PowerEdge R300 onboard UHCI 1028 0210 PowerEdge T300 onboard UHCI 1028 0211 Optiplex 755 1028 0237 PowerEdge T610 USB UHCI Controller 1028 023c PowerEdge R200 onboard UHCI 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f0 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2937 82801I (ICH9 Family) USB UHCI Controller #4 1028 020d Inspiron 530 1028 0211 Optiplex 755 1028 0235 PowerEdge R710 USB UHCI Controller 1028 0236 PowerEdge R610 USB UHCI Controller 1028 0237 PowerEdge T610 USB UHCI Controller 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller 1028 2011 Optiplex 755 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f0 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 2937 Optiplex 755 8086 2942 828011 (ICH9 Family ) USB UHCI Controller 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2938 82801I (ICH9 Family) USB UHCI Controller #5 1028 020d Inspiron 530 1028 0211 Optiplex 755 1028 0235 PowerEdge R710 USB UHCI Controller 1028 0236 PowerEdge R610 USB UHCI Controller 1028 0237 PowerEdge T610 USB UHCI Controller 1028 0287 PowerEdge M610 onboard UHCI 1028 029c PowerEdge M710 USB UHCI Controller 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f0 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 2938 Optiplex 755 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 2939 82801I (ICH9 Family) USB UHCI Controller #6 1028 020d Inspiron 530 1028 0210 PowerEdge T300 onboard UHCI 1028 0237 PowerEdge T610 USB UHCI Controller 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f0 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 293a 82801I (ICH9 Family) USB2 EHCI Controller #1 1028 020d Inspiron 530 1028 020f PowerEdge R300 onboard EHCI 1028 0210 PowerEdge T300 onboard EHCI 1028 0211 Optiplex 755 1028 0235 PowerEdge R710 USB EHCI Controller 1028 0236 PowerEdge R610 USB EHCI Controller 1028 0237 PowerEdge T610 USB EHCI Controller 1028 023c PowerEdge R200 onboard EHCI 1028 0287 PowerEdge M610 onboard EHCI 1028 029c PowerEdge M710 USB EHCI Controller 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f1 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 293c 82801I (ICH9 Family) USB2 EHCI Controller #2 1028 020d Inspiron 530 1028 0211 Optiplex 755 1028 0235 PowerEdge R710 USB EHCI Controller 1028 0236 PowerEdge R610 USB EHCI Controller 1028 0237 PowerEdge T610 USB EHCI Controller 1028 0287 PowerEdge M610 onboard EHCI 1028 029c PowerEdge M710 USB EHCI Controller 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f1 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 293c Optiplex 755 8086 5044 Desktop Board DP35DP e4bf cc4d CCM-BOOGIE 293e 82801I (ICH9 Family) HD Audio Controller 1028 020d Inspiron 530 1028 0211 Optiplex 755 103c 2a6f Asus IPIBL-LB Motherboard 103c 3628 dv6-1190en 1043 829f P5K PRO Motherboard: 82801IR [ICH9R] 1462 735a MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 1462 7360 G33/P35 Neo 17aa 20f2 ThinkPad T400 1af4 1100 QEMU Virtual Machine 8086 293e Optiplex 755 8086 2940 Optiplex 755 e4bf cc4d CCM-BOOGIE 2940 82801I (ICH9 Family) PCI Express Port 1 1028 020d Inspiron 530 1028 0211 Optiplex 755 103c 2a6f Asus IPIBL-LB Motherboard 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 8086 2940 Optiplex 755 2942 82801I (ICH9 Family) PCI Express Port 2 1028 020d Inspiron 530 2944 82801I (ICH9 Family) PCI Express Port 3 1028 020d Inspiron 530 103c 2a6f Asus IPIBL-LB Motherboard 2946 82801I (ICH9 Family) PCI Express Port 4 1028 020d Inspiron 530 2948 82801I (ICH9 Family) PCI Express Port 5 1028 020d Inspiron 530 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 294a 82801I (ICH9 Family) PCI Express Port 6 1028 020d Inspiron 530 1043 8277 P5K PRO Motherboard: 82801IR [ICH9R] 1462 7345 MS-7345 Motherboard: Intel 82801I/IR [ICH9/ICH9R] 294c 82566DC-2 Gigabit Network Connection 17aa 302e 82566DM-2 Gigabit Network Connection 2970 82946GZ/PL/GL Memory Controller Hub 1043 823b P5B-MX/WiFi-AP 2971 82946GZ/PL/GL PCI Express Root Port 2972 82946GZ/GL Integrated Graphics Controller 1043 823b P5B-MX/WiFi-AP 2973 82946GZ/GL Integrated Graphics Controller 2974 82946GZ/GL HECI Controller 2975 82946GZ/GL HECI Controller 2976 82946GZ/GL PT IDER Controller 2977 82946GZ/GL KT Controller 2980 82G35 Express DRAM Controller 2981 82G35 Express PCI Express Root Port 2982 82G35 Express Integrated Graphics Controller 2983 82G35 Express Integrated Graphics Controller 2984 82G35 Express HECI Controller 2990 82Q963/Q965 Memory Controller Hub 1028 01da OptiPlex 745 2991 82Q963/Q965 PCI Express Root Port 2992 82Q963/Q965 Integrated Graphics Controller 2993 82Q963/Q965 Integrated Graphics Controller 2994 82Q963/Q965 HECI Controller 2995 82Q963/Q965 HECI Controller 2996 82Q963/Q965 PT IDER Controller 2997 82Q963/Q965 KT Controller 29a0 82P965/G965 Memory Controller Hub 1043 81ea P5B 1462 7276 MS-7276 [G965MDH] 29a1 82P965/G965 PCI Express Root Port 29a2 82G965 Integrated Graphics Controller 1462 7276 MS-7276 [G965MDH] 29a3 82G965 Integrated Graphics Controller 29a4 82P965/G965 HECI Controller 29a5 82P965/G965 HECI Controller 29a6 82P965/G965 PT IDER Controller 29a7 82P965/G965 KT Controller 29b0 82Q35 Express DRAM Controller 1028 0211 OptiPlex 755 29b1 82Q35 Express PCI Express Root Port 1028 0211 OptiPlex 755 29b2 82Q35 Express Integrated Graphics Controller 1028 0211 OptiPlex 755 29b3 82Q35 Express Integrated Graphics Controller 1028 0211 OptiPlex 755 29b4 82Q35 Express MEI Controller 1028 0211 OptiPlex 755 29b5 82Q35 Express MEI Controller 29b6 82Q35 Express PT IDER Controller 1028 0211 OptiPlex 755 29b7 82Q35 Express Serial KT Controller 1028 0211 OptiPlex 755 29c0 82G33/G31/P35/P31 Express DRAM Controller 1028 020d Inspiron 530 103c 2a6f Asus IPIBL-LB Motherboard 1043 8276 P5K PRO Motherboard: Intel 82P35 Northbridge 1043 82b0 P5KPL-VM Motherboard 1462 7345 MS-7345 Motherboard: Intel 82G33/P35 Northbridge 1462 7360 G33/P35 Neo 1af4 1100 QEMU Virtual Machine 8086 5044 Desktop Board DP35DP 29c1 82G33/G31/P35/P31 Express PCI Express Root Port 1028 020d Inspiron 530 1043 8276 P5K PRO Motherboard: Intel 82P35 Northbridge 29c2 82G33/G31 Express Integrated Graphics Controller 1028 020d Inspiron 530 1043 82b0 P5KPL-VM Motherboard 29c3 82G33/G31 Express Integrated Graphics Controller 1028 020d Inspiron 530 1043 82b0 P5KPL-VM Motherboard 29c4 82G33/G31/P35/P31 Express MEI Controller 8086 5044 Desktop Board DP35DP 29c5 82G33/G31/P35/P31 Express MEI Controller 29c6 82G33/G31/P35/P31 Express PT IDER Controller 29c7 82G33/G31/P35/P31 Express Serial KT Controller 29cf Virtual HECI Controller 29d0 82Q33 Express DRAM Controller 29d1 82Q33 Express PCI Express Root Port 29d2 82Q33 Express Integrated Graphics Controller 29d3 82Q33 Express Integrated Graphics Controller 29d4 82Q33 Express MEI Controller 29d5 82Q33 Express MEI Controller 29d6 82Q33 Express PT IDER Controller 29d7 82Q33 Express Serial KT Controller 29e0 82X38/X48 Express DRAM Controller 29e1 82X38/X48 Express Host-Primary PCI Express Bridge 29e4 82X38/X48 Express MEI Controller 29e5 82X38/X48 Express MEI Controller 29e6 82X38/X48 Express PT IDER Controller 29e7 82X38/X48 Express Serial KT Controller 29e9 82X38/X48 Express Host-Secondary PCI Express Bridge 29f0 3200/3210 Chipset DRAM Controller 29f1 3200/3210 Chipset Host-Primary PCI Express Bridge 29f4 3200/3210 Chipset MEI Controller 29f5 3200/3210 Chipset MEI Controller 29f6 3200/3210 Chipset PT IDER Controller 29f7 3200/3210 Chipset Serial KT Controller 29f9 3210 Chipset Host-Secondary PCI Express Bridge 2a00 Mobile PM965/GM965/GL960 Memory Controller Hub 1025 0121 Aspire 5920G 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30c1 Compaq 6910p 103c 30cc Pavilion dv6700 103c 30d9 Presario C700 1043 1017 X58LE 104d 9005 Vaio VGN-FZ260E 104d 902d VAIO VGN-NR120E 17aa 20b1 ThinkPad T61 17aa 20b3 ThinkPad T61/R61 17c0 4082 Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 2a01 Mobile PM965/GM965/GL960 PCI Express Root Port 2a02 Mobile GM965/GL960 Integrated Graphics Controller (primary) 1028 01f3 Inspiron 1420 1028 01f9 Latitude D630 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30d9 Presario C700 1043 14e2 X58LE 104d 902d VAIO VGN-NR120E 17aa 20b5 GM965 [X3100] on ThinkPad T61/R61 17c0 4082 GM965 on Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 2a03 Mobile GM965/GL960 Integrated Graphics Controller (secondary) 1028 01f3 Inspiron 1420 1028 022f Inspiron 1525 103c 30c0 Compaq 6710b 103c 30d9 Presario C700 1043 14e2 X58LE 104d 902d VAIO VGN-NR120E 17aa 20b5 GM965 [X3100] on ThinkPad T61/R61 17c0 4082 GM965 on Medion WIM 2210 Notebook PC [MD96850] e4bf cc47 CCG-RUMBA 2a04 Mobile PM965/GM965 MEI Controller 103c 30c1 Compaq 6910p 2a05 Mobile PM965/GM965 MEI Controller 2a06 Mobile PM965/GM965 PT IDER Controller 103c 30c1 Compaq 6910p 2a07 Mobile PM965/GM965 KT Controller 103c 30c1 Compaq 6910p 2a10 Mobile GME965/GLE960 Memory Controller Hub e4bf cc47 CCG-RUMBA 2a11 Mobile GME965/GLE960 PCI Express Root Port 2a12 Mobile GME965/GLE960 Integrated Graphics Controller e4bf cc47 CCG-RUMBA 2a13 Mobile GME965/GLE960 Integrated Graphics Controller e4bf cc47 CCG-RUMBA 2a14 Mobile GME965/GLE960 MEI Controller 2a15 Mobile GME965/GLE960 MEI Controller 2a16 Mobile GME965/GLE960 PT IDER Controller 2a17 Mobile GME965/GLE960 KT Controller 2a40 Mobile 4 Series Chipset Memory Controller Hub 17aa 20e0 ThinkPad T400 e4bf cc4d CCM-BOOGIE 2a41 Mobile 4 Series Chipset PCI Express Graphics Port e4bf cc4d CCM-BOOGIE 2a42 Mobile 4 Series Chipset Integrated Graphics Controller 17aa 2112 ThinkPad T400 e4bf cc4d CCM-BOOGIE 2a43 Mobile 4 Series Chipset Integrated Graphics Controller 17aa 2112 ThinkPad T400 e4bf cc4d CCM-BOOGIE 2a44 Mobile 4 Series Chipset MEI Controller 17aa 20e6 ThinkPad T400 2a45 Mobile 4 Series Chipset MEI Controller 2a46 Mobile 4 Series Chipset PT IDER Controller 2a47 Mobile 4 Series Chipset AMT SOL Redirection 2a50 Cantiga MEI Controller 2a51 Cantiga MEI Controller 2a52 Cantiga PT IDER Controller 2a53 Cantiga AMT SOL Redirection 2b00 Xeon Processor E7 Product Family System Configuration Controller 1 2b02 Xeon Processor E7 Product Family System Configuration Controller 2 2b04 Xeon Processor E7 Product Family Power Controller 2b08 Xeon Processor E7 Product Family Caching Agent 0 2b0c Xeon Processor E7 Product Family Caching Agent 1 2b10 Xeon Processor E7 Product Family QPI Home Agent 0 2b13 Xeon Processor E7 Product Family Memory Controller 0c 2b14 Xeon Processor E7 Product Family Memory Controller 0a 2b16 Xeon Processor E7 Product Family Memory Controller 0b 2b18 Xeon Processor E7 Product Family QPI Home Agent 1 2b1b Xeon Processor E7 Product Family Memory Controller 1c 2b1c Xeon Processor E7 Product Family Memory Controller 1a 2b1e Xeon Processor E7 Product Family Memory Controller 1b 2b20 Xeon Processor E7 Product Family Last Level Cache Coherence Engine 0 2b22 Xeon Processor E7 Product Family System Configuration Controller 3 2b24 Xeon Processor E7 Product Family Last Level Cache Coherence Engine 1 2b28 Xeon Processor E7 Product Family Last Level Cache Coherence Engine 2 2b2a Xeon Processor E7 Product Family System Configuration Controller 4 2b2c Xeon Processor E7 Product Family Last Level Cache Coherence Engine 3 2b30 Xeon Processor E7 Product Family Last Level Cache Coherence Engine 4 2b34 Xeon Processor E7 Product Family Last Level Cache Coherence Engine 5 2b38 Xeon Processor E7 Product Family Last Level Cache Coherence Engine 6 2b3c Xeon Processor E7 Product Family Last Level Cache Coherence Engine 7 2b40 Xeon Processor E7 Product Family QPI Router Port 0-1 2b42 Xeon Processor E7 Product Family QPI Router Port 2-3 2b44 Xeon Processor E7 Product Family QPI Router Port 4-5 2b46 Xeon Processor E7 Product Family QPI Router Port 6-7 2b48 Xeon Processor E7 Product Family Test and Debug 0 2b4c Xeon Processor E7 Product Family Test and Debug 1 2b50 Xeon Processor E7 Product Family QPI Physical Port 0: REUT control/status 2b52 Xeon Processor E7 Product Family QPI Physical Port 0: Misc. control/status 2b54 Xeon Processor E7 Product Family QPI Physical Port 1: REUT control/status 2b56 Xeon Processor E7 Product Family QPI Physical Port 1: Misc. control/status 2b58 Xeon Processor E7 Product Family QPI Physical Port 2: REUT control/status 2b5a Xeon Processor E7 Product Family QPI Physical Port 2: Misc. control/status 2b5c Xeon Processor E7 Product Family QPI Physical Port 3: REUT control/status 2b5e Xeon Processor E7 Product Family QPI Physical Port 3: Misc. control/status 2b60 Xeon Processor E7 Product Family SMI Physical Port 0: REUT control/status 2b62 Xeon Processor E7 Product Family SMI Physical Port 0: Misc control/status 2b64 Xeon Processor E7 Product Family SMI Physical Port 1: REUT control/status 2b66 Xeon Processor E7 Product Family SMI Physical Port 1: Misc control/status 2b68 Xeon Processor E7 Product Family Last Level Cache Coherence Engine 8 2b6c Xeon Processor E7 Product Family Last Level Cache Coherence Engine 9 2c01 Xeon 5500/Core i7 QuickPath Architecture System Address Decoder 2c10 Xeon 5500/Core i7 QPI Link 0 2c11 Xeon 5500/Core i7 QPI Physical 0 2c14 Xeon 5500/Core i7 QPI Link 1 2c15 Xeon 5500/Core i7 QPI Physical 1 2c18 Xeon 5500/Core i7 Integrated Memory Controller 2c19 Xeon 5500/Core i7 Integrated Memory Controller Target Address Decoder 2c1a Xeon 5500/Core i7 Integrated Memory Controller RAS Registers 2c1c Xeon 5500/Core i7 Integrated Memory Controller Test Registers 2c20 Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Control Registers 2c21 Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Address Registers 2c22 Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Rank Registers 2c23 Xeon 5500/Core i7 Integrated Memory Controller Channel 0 Thermal Control Registers 2c28 Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Control Registers 2c29 Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Address Registers 2c2a Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Rank Registers 2c2b Xeon 5500/Core i7 Integrated Memory Controller Channel 1 Thermal Control Registers 2c30 Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Control Registers 2c31 Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Address Registers 2c32 Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Rank Registers 2c33 Xeon 5500/Core i7 Integrated Memory Controller Channel 2 Thermal Control Registers 2c40 Xeon 5500/Core i7 QuickPath Architecture Generic Non-Core Registers 2c41 Xeon 5500/Core i7 QuickPath Architecture Generic Non-Core Registers 2c50 Core Processor QuickPath Architecture Generic Non-Core Registers 2c51 Core Processor QuickPath Architecture Generic Non-Core Registers 2c52 Core Processor QuickPath Architecture Generic Non-Core Registers 2c53 Core Processor QuickPath Architecture Generic Non-Core Registers 2c54 Core Processor QuickPath Architecture Generic Non-Core Registers 2c55 Core Processor QuickPath Architecture Generic Non-Core Registers 2c56 Core Processor QuickPath Architecture Generic Non-Core Registers 2c57 Core Processor QuickPath Architecture Generic Non-Core Registers 2c58 Xeon C5500/C3500 QPI Generic Non-core Registers 2c59 Xeon C5500/C3500 QPI Generic Non-core Registers 2c5a Xeon C5500/C3500 QPI Generic Non-core Registers 2c5b Xeon C5500/C3500 QPI Generic Non-core Registers 2c5c Xeon C5500/C3500 QPI Generic Non-core Registers 2c5d Xeon C5500/C3500 QPI Generic Non-core Registers 2c5e Xeon C5500/C3500 QPI Generic Non-core Registers 2c5f Xeon C5500/C3500 QPI Generic Non-core Registers 2c61 Core Processor QuickPath Architecture Generic Non-core Registers 2c62 Core Processor QuickPath Architecture Generic Non-core Registers 2c70 Xeon 5600 Series QuickPath Architecture Generic Non-core Registers 2c81 Core Processor QuickPath Architecture System Address Decoder 2c90 Core Processor QPI Link 0 2c91 Core Processor QPI Physical 0 2c98 Core Processor Integrated Memory Controller 2c99 Core Processor Integrated Memory Controller Target Address Decoder 2c9a Core Processor Integrated Memory Controller Test Registers 2c9c Core Processor Integrated Memory Controller Test Registers 2ca0 Core Processor Integrated Memory Controller Channel 0 Control Registers 2ca1 Core Processor Integrated Memory Controller Channel 0 Address Registers 2ca2 Core Processor Integrated Memory Controller Channel 0 Rank Registers 2ca3 Core Processor Integrated Memory Controller Channel 0 Thermal Control Registers 2ca8 Core Processor Integrated Memory Controller Channel 1 Control Registers 2ca9 Core Processor Integrated Memory Controller Channel 1 Address Registers 2caa Core Processor Integrated Memory Controller Channel 1 Rank Registers 2cab Core Processor Integrated Memory Controller Channel 1 Thermal Control Registers 2cc1 Xeon C5500/C3500 QPI System Address Decoder 2cd0 Xeon C5500/C3500 QPI Link 0 2cd1 Xeon C5500/C3500 QPI Physical 0 2cd4 Xeon C5500/C3500 QPI Link 1 2cd5 Xeon C5500/C3500 QPI Physical 1 2cd8 Xeon C5500/C3500 Integrated Memory Controller Registers 2cd9 Xeon C5500/C3500 Integrated Memory Controller Target Address Decoder 2cda Xeon C5500/C3500 Integrated Memory Controller RAS Registers 2cdc Xeon C5500/C3500 Integrated Memory Controller Test Registers 2ce0 Xeon C5500/C3500 Integrated Memory Controller Channel 0 Control 2ce1 Xeon C5500/C3500 Integrated Memory Controller Channel 0 Address 2ce2 Xeon C5500/C3500 Integrated Memory Controller Channel 0 Rank 2ce3 Xeon C5500/C3500 Integrated Memory Controller Channel 0 Thermal Control 2ce8 Xeon C5500/C3500 Integrated Memory Controller Channel 1 Control 2ce9 Xeon C5500/C3500 Integrated Memory Controller Channel 1 Address 2cea Xeon C5500/C3500 Integrated Memory Controller Channel 1 Rank 2ceb Xeon C5500/C3500 Integrated Memory Controller Channel 1 Thermal Control 2cf0 Xeon C5500/C3500 Integrated Memory Controller Channel 2 Control 2cf1 Xeon C5500/C3500 Integrated Memory Controller Channel 2 Address 2cf2 Xeon C5500/C3500 Integrated Memory Controller Channel 2 Rank 2cf3 Xeon C5500/C3500 Integrated Memory Controller Channel 2 Thermal Control 2d01 Core Processor QuickPath Architecture System Address Decoder 2d10 Core Processor QPI Link 0 2d11 1st Generation Core i3/5/7 Processor QPI Physical 0 2d12 1st Generation Core i3/5/7 Processor Reserved 2d13 1st Generation Core i3/5/7 Processor Reserved 2d81 Xeon 5600 Series QuickPath Architecture System Address Decoder 2d90 Xeon 5600 Series QPI Link 0 2d91 Xeon 5600 Series QPI Physical 0 2d92 Xeon 5600 Series Mirror Port Link 0 2d93 Xeon 5600 Series Mirror Port Link 1 2d94 Xeon 5600 Series QPI Link 1 2d95 Xeon 5600 Series QPI Physical 1 2d98 Xeon 5600 Series Integrated Memory Controller Registers 2d99 Xeon 5600 Series Integrated Memory Controller Target Address Decoder 2d9a Xeon 5600 Series Integrated Memory Controller RAS Registers 2d9c Xeon 5600 Series Integrated Memory Controller Test Registers 2da0 Xeon 5600 Series Integrated Memory Controller Channel 0 Control 2da1 Xeon 5600 Series Integrated Memory Controller Channel 0 Address 2da2 Xeon 5600 Series Integrated Memory Controller Channel 0 Rank 2da3 Xeon 5600 Series Integrated Memory Controller Channel 0 Thermal Control 2da8 Xeon 5600 Series Integrated Memory Controller Channel 1 Control 2da9 Xeon 5600 Series Integrated Memory Controller Channel 1 Address 2daa Xeon 5600 Series Integrated Memory Controller Channel 1 Rank 2dab Xeon 5600 Series Integrated Memory Controller Channel 1 Thermal Control 2db0 Xeon 5600 Series Integrated Memory Controller Channel 2 Control 2db1 Xeon 5600 Series Integrated Memory Controller Channel 2 Address 2db2 Xeon 5600 Series Integrated Memory Controller Channel 2 Rank 2db3 Xeon 5600 Series Integrated Memory Controller Channel 2 Thermal Control 2e00 4 Series Chipset DRAM Controller 2e01 4 Series Chipset PCI Express Root Port 2e02 4 Series Chipset Integrated Graphics Controller 2e03 4 Series Chipset Integrated Graphics Controller 2e04 4 Series Chipset HECI Controller 2e05 4 Series Chipset HECI Controller 2e06 4 Series Chipset PT IDER Controller 2e07 4 Series Chipset Serial KT Controller 2e10 4 Series Chipset DRAM Controller 2e11 4 Series Chipset PCI Express Root Port 2e12 4 Series Chipset Integrated Graphics Controller 17aa 3048 ThinkCentre M6258 2e13 4 Series Chipset Integrated Graphics Controller 2e14 4 Series Chipset HECI Controller 2e15 4 Series Chipset HECI Controller 2e16 4 Series Chipset PT IDER Controller 2e17 4 Series Chipset Serial KT Controller 2e20 4 Series Chipset DRAM Controller 1028 0283 Vostro 220 1043 82d3 P5Q Deluxe Motherboard 1458 5000 GA-EP45-DS5/GA-EG45M-DS2H Motherboard 2e21 4 Series Chipset PCI Express Root Port 1043 82d3 P5Q Deluxe Motherboard 1458 5000 GA-EP45-DS5 Motherboard 2e22 4 Series Chipset Integrated Graphics Controller 1458 d000 GA-EG45M-DS2H Mainboard 2e23 4 Series Chipset Integrated Graphics Controller 1458 d000 GA-EG45M-DS2H Mainboard 2e24 4 Series Chipset HECI Controller 2e25 4 Series Chipset HECI Controller 2e26 4 Series Chipset PT IDER Controller 2e27 4 Series Chipset Serial KT Controller 2e29 4 Series Chipset PCI Express Root Port 2e30 4 Series Chipset DRAM Controller 103c 2a8c Compaq 500B Microtower 2e31 4 Series Chipset PCI Express Root Port 2e32 4 Series Chipset Integrated Graphics Controller 103c 2a8c Compaq 500B Microtower 2e33 4 Series Chipset Integrated Graphics Controller 2e34 4 Series Chipset HECI Controller 2e35 4 Series Chipset HECI Controller 2e36 4 Series Chipset PT IDER Controller 2e37 4 Series Chipset Serial KT Controller 2e40 4 Series Chipset DRAM Controller 2e41 4 Series Chipset PCI Express Root Port 2e42 4 Series Chipset Integrated Graphics Controller 2e43 4 Series Chipset Integrated Graphics Controller 2e44 4 Series Chipset HECI Controller 2e45 4 Series Chipset HECI Controller 2e46 4 Series Chipset PT IDER Controller 2e47 4 Series Chipset Serial KT Controller 2e50 CE Media Processor CE3100 2e52 CE Media Processor Clock and Reset Controller 2e58 CE Media Processor Interrupt Controller 2e5a CE Media Processor CE3100 A/V Bridge 2e5b Graphics Media Accelerator 500 Graphics 2e5c CE Media Processor Video Decoder 2e5d CE Media Processor Transport Stream Interface 2e5e CE Media Processor Transport Stream Processor 0 2e5f CE Media Processor Audio DSP 2e60 CE Media Processor Audio Interfaces 2e61 CE Media Processor Video Display Controller 2e62 CE Media Processor Video Processing Unit 2e63 CE Media Processor HDMI Tx Interface 2e65 CE Media Processor Expansion Bus Interface 2e66 CE Media Processor UART 2e67 CE Media Processor General Purpose I/Os 2e68 CE Media Processor I2C Interface 2e69 CE Media Processor Smart Card Interface 2e6a CE Media Processor SPI Master Interface 2e6e CE Media Processor Gigabit Ethernet Controller 2e6f CE Media Processor Media Timing Unit 2e70 CE Media Processor USB 2e71 CE Media Processor SATA 2e73 CE Media Processor CE3100 PCI Express 2e90 4 Series Chipset DRAM Controller 2e91 4 Series Chipset PCI Express Root Port 2e92 4 Series Chipset Integrated Graphics Controller 2e93 4 Series Chipset Integrated Graphics Controller 2e94 4 Series Chipset HECI Controller 2e95 4 Series Chipset HECI Controller 2e96 4 Series Chipset PT IDER Controller 2f00 Xeon E7 v3/Xeon E5 v3/Core i7 DMI2 2f01 Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 0 2f02 Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 1 2f03 Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 1 2f04 Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 2 2f05 Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 2 2f06 Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 2 2f07 Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 2 2f08 Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 3 2f09 Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 3 2f0a Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 3 2f0b Xeon E7 v3/Xeon E5 v3/Core i7 PCI Express Root Port 3 2f0d Haswell Xeon Non-Transparent Bridge (Back-to-back) 2f0e Haswell Xeon Non-Transparent Bridge (Primary Side) 2f0f Haswell Xeon Non-Transparent Bridge (Secondary Side) 2f10 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f11 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f12 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f13 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f14 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f15 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f16 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f17 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f18 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f19 Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f1a Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f1b Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f1c Xeon E7 v3/Xeon E5 v3/Core i7 IIO Debug 2f1d Xeon E7 v3/Xeon E5 v3/Core i7 PCIe Ring Interface 2f1e Xeon E7 v3/Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers 2f1f Xeon E7 v3/Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers 2f20 Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 0 2f21 Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 1 2f22 Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 2 2f23 Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 3 2f24 Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 4 2f25 Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 5 2f26 Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 6 2f27 Xeon E7 v3/Xeon E5 v3/Core i7 DMA Channel 7 2f28 Xeon E7 v3/Xeon E5 v3/Core i7 Address Map, VTd_Misc, System Management 2f29 Xeon E7 v3/Xeon E5 v3/Core i7 Hot Plug 2f2a Xeon E7 v3/Xeon E5 v3/Core i7 RAS, Control Status and Global Errors 2f2c Xeon E7 v3/Xeon E5 v3/Core i7 I/O APIC 2f2e Xeon E7 v3/Xeon E5 v3/Core i7 RAID 5/6 2f2f Xeon E7 v3/Xeon E5 v3/Core i7 RAID 5/6 2f30 Xeon E7 v3/Xeon E5 v3/Core i7 Home Agent 0 2f32 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 0 2f33 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 1 2f34 Xeon E7 v3/Xeon E5 v3/Core i7 PCIe Ring Interface 2f36 Xeon E7 v3/Xeon E5 v3/Core i7 R3 QPI Link 0 & 1 Monitoring 2f37 Xeon E7 v3/Xeon E5 v3/Core i7 R3 QPI Link 0 & 1 Monitoring 2f38 Xeon E7 v3/Xeon E5 v3/Core i7 Home Agent 1 2f39 Xeon E7 v3/Xeon E5 v3/Core i7 I/O Performance Monitoring 2f3a Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 2 2f3e Xeon E7 v3/Xeon E5 v3/Core i7 R3 QPI Link 2 Monitoring 2f3f Xeon E7 v3/Xeon E5 v3/Core i7 R3 QPI Link 2 Monitoring 2f40 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 2 2f41 Xeon E7 v3/Xeon E5 v3/Core i7 R3 QPI Link 2 Monitoring 2f43 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 2 2f45 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 2 Debug 2f46 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 2 Debug 2f47 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 2 Debug 2f60 Xeon E7 v3/Xeon E5 v3/Core i7 Home Agent 1 2f68 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Target Address, Thermal & RAS Registers 2f6a Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder 2f6b Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder 2f6c Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder 2f6d Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel Target Address Decoder 2f6e Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO Channel 2/3 Broadcast 2f6f Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO Global Broadcast 2f70 Xeon E7 v3/Xeon E5 v3/Core i7 Home Agent 0 Debug 2f71 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Target Address, Thermal & RAS Registers 2f76 Xeon E7 v3/Xeon E5 v3/Core i7 E3 QPI Link Debug 2f78 Xeon E7 v3/Xeon E5 v3/Core i7 Home Agent 1 Debug 2f79 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Target Address, Thermal & RAS Registers 2f7d Xeon E7 v3/Xeon E5 v3/Core i7 Scratchpad & Semaphore Registers 2f7e Xeon E7 v3/Xeon E5 v3/Core i7 E3 QPI Link Debug 2f80 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 0 2f81 Xeon E7 v3/Xeon E5 v3/Core i7 R3 QPI Link 0 & 1 Monitoring 2f83 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 0 2f85 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 0 Debug 2f86 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 0 Debug 2f87 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 0 Debug 2f88 Xeon E7 v3/Xeon E5 v3/Core i7 VCU 2f8a Xeon E7 v3/Xeon E5 v3/Core i7 VCU 2f90 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 1 2f93 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 1 2f95 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 1 Debug 2f96 Xeon E7 v3/Xeon E5 v3/Core i7 QPI Link 1 Debug 2f98 Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2f99 Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2f9a Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2f9c Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2fa0 Xeon E7 v3/Xeon E5 v3/Core i7 Home Agent 0 2fa8 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Target Address, Thermal & RAS Registers 2faa Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder 2fab Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder 2fac Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder 2fad Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel Target Address Decoder 2fae Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO Channel 0/1 Broadcast 2faf Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO Global Broadcast 2fb0 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel 0 Thermal Control 2fb1 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel 1 Thermal Control 2fb2 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel 0 ERROR Registers 2fb3 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel 1 ERROR Registers 2fb4 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel 2 Thermal Control 2fb5 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel 3 Thermal Control 2fb6 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel 2 ERROR Registers 2fb7 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 0 Channel 3 ERROR Registers 2fb8 Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO (VMSE) 2 & 3 2fb9 Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO (VMSE) 2 & 3 2fba Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO (VMSE) 2 & 3 2fbb Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO (VMSE) 2 & 3 2fbc Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO (VMSE) 0 & 1 2fbd Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO (VMSE) 0 & 1 2fbe Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO (VMSE) 0 & 1 2fbf Xeon E7 v3/Xeon E5 v3/Core i7 DDRIO (VMSE) 0 & 1 2fc0 Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2fc1 Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2fc2 Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2fc3 Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2fc4 Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2fc5 Xeon E7 v3/Xeon E5 v3/Core i7 Power Control Unit 2fd0 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel 0 Thermal Control 2fd1 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel 1 Thermal Control 2fd2 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel 0 ERROR Registers 2fd3 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel 1 ERROR Registers 2fd4 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel 2 Thermal Control 2fd5 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel 3 Thermal Control 2fd6 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel 2 ERROR Registers 2fd7 Xeon E7 v3/Xeon E5 v3/Core i7 Integrated Memory Controller 1 Channel 3 ERROR Registers 2fe0 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fe1 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fe2 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fe3 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fe4 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fe5 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fe6 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fe7 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fe8 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fe9 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fea Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2feb Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fec Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fed Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fee Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2fef Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2ff0 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2ff1 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2ff2 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2ff3 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2ff4 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2ff5 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2ff6 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2ff7 Xeon E7 v3/Xeon E5 v3/Core i7 Unicast Registers 2ff8 Xeon E7 v3/Xeon E5 v3/Core i7 Buffered Ring Agent 2ff9 Xeon E7 v3/Xeon E5 v3/Core i7 Buffered Ring Agent 2ffa Xeon E7 v3/Xeon E5 v3/Core i7 Buffered Ring Agent 2ffb Xeon E7 v3/Xeon E5 v3/Core i7 Buffered Ring Agent 2ffc Xeon E7 v3/Xeon E5 v3/Core i7 System Address Decoder & Broadcast Registers 2ffd Xeon E7 v3/Xeon E5 v3/Core i7 System Address Decoder & Broadcast Registers 2ffe Xeon E7 v3/Xeon E5 v3/Core i7 System Address Decoder & Broadcast Registers 3140 Easel/Monette Hill Image Processor [Pixel Visual Core] 3165 Wireless 3165 # Stone Peak 1x1 8086 4010 Dual Band Wireless AC 3165 # Stone Peak 1x1 8086 4210 Dual Band Wireless AC 3165 3166 Dual Band Wireless-AC 3165 Plus Bluetooth 8086 4210 Dual Band Wireless-AC 3165 3184 UHD Graphics 605 3185 UHD Graphics 605 318c Celeron/Pentium Silver Processor Dynamic Platform and Thermal Framework Processor Participant 318e Celeron/Pentium Silver Processor NorthPeak 3190 Celeron/Pentium Silver Processor Gaussian Mixture Model 3192 Gemini Lake P2SB 3197 Celeron/Pentium Silver Processor PCI-default ISA-bridge 3198 Celeron/Pentium Silver Processor High Definition Audio 17aa 380b V130-15IGM Laptop (Lenovo) - Type 81HL 319a Celeron/Pentium Silver Processor Trusted Execution Engine Interface 31a2 Celeron/Pentium Silver Processor Integrated Sensor Solution 31ac Celeron/Pentium Silver Processor Serial IO I2C Host Controller 31ae Celeron/Pentium Silver Processor Serial IO I2C Host Controller 31bc Celeron/Pentium Silver Processor Serial IO UART Host Controller 31be Celeron/Pentium Silver Processor Serial IO UART Host Controller 31c0 Celeron/Pentium Silver Processor Serial IO UART Host Controller 31c2 Celeron/Pentium Silver Processor Serial IO SPI Host Controller 31c4 Celeron/Pentium Silver Processor Serial IO SPI Host Controller 31c6 Celeron/Pentium Silver Processor Serial IO SPI Host Controller 31cc Celeron/Pentium Silver Processor SDA Standard Compliant SD Host Controller 31d4 Celeron/Pentium Silver Processor Gaussian Mixture Model 31d6 Gemini Lake PCI Express Root Port 31d7 Gemini Lake PCI Express Root Port 31d8 Gemini Lake PCI Express Root Port 31d9 Gemini Lake PCI Express Root Port 31da Gemini Lake PCI Express Root Port 31db Gemini Lake PCI Express Root Port 31dc AC 1550i Wireless 31ee Celeron/Pentium Silver Processor Serial IO UART Host Controller 31f0 Gemini Lake Host Bridge 3200 GD31244 PCI-X SATA HBA 1775 c200 C2K onboard SATA host bus adapter 3310 IOP348 I/O Processor 1054 3030 HRA380 Hitachi RAID Adapter to PCIe 1054 3034 HRA381 Hitachi RAID Adapter to PCIe 3313 IOP348 I/O Processor (SL8e) in IOC Mode SAS/SATA 331b IOP348 I/O Processor (SL8x) in IOC Mode SAS/SATA 3331 IOC340 I/O Controller (VV8e) SAS/SATA 3339 IOC340 I/O Controller (VV8x) SAS/SATA 3340 82855PM Processor to I/O Controller 1014 0529 Thinkpad T40 series 1025 005a TravelMate 290 103c 088c NC8000 laptop 103c 0890 NC6000 laptop 103c 08b0 tc1100 tablet 144d c005 X10 Laptop 144d c00c P30/P35 notebook 3341 82855PM Processor to AGP Controller 144d c00c P30 notebook 3363 IOC340 I/O Controller in IOC Mode SAS/SATA 3382 81342 [Chevelon] I/O Processor (ATUe) 33c3 IOP348 I/O Processor (SL8De) in IOC Mode SAS/SATA 33cb IOP348 I/O Processor (SL8Dx) in IOC Mode SAS/SATA 3400 5520/5500/X58 I/O Hub to ESI Port 3401 5520/5500/X58 I/O Hub to ESI Port 3402 5520/5500/X58 I/O Hub to ESI Port 3403 5500 I/O Hub to ESI Port 1028 0236 PowerEdge R610 I/O Hub to ESI Port 1028 0287 PowerEdge M610 I/O Hub to ESI Port 1028 028c PowerEdge R410 I/O Hub to ESI Port 1028 028d PowerEdge T410 I/O Hub to ESI Port 103c 330b ProLiant ML150 G6 Server 3404 5520/5500/X58 I/O Hub to ESI Port 3405 5520/5500/X58 I/O Hub to ESI Port 3406 5520 I/O Hub to ESI Port 103c 330b ProLiant G6 series 3407 5520/5500/X58 I/O Hub to ESI Port 3408 5520/5500/X58 I/O Hub PCI Express Root Port 1 103c 330b ProLiant G6 series 3409 5520/5500/X58 I/O Hub PCI Express Root Port 2 340a 5520/5500/X58 I/O Hub PCI Express Root Port 3 103c 330b ProLiant ML150 G6 Server 340b 5520/X58 I/O Hub PCI Express Root Port 4 340c 5520/X58 I/O Hub PCI Express Root Port 5 340d 5520/X58 I/O Hub PCI Express Root Port 6 340e 5520/5500/X58 I/O Hub PCI Express Root Port 7 103c 330b ProLiant ML150 G6 Server 340f 5520/5500/X58 I/O Hub PCI Express Root Port 8 3410 7500/5520/5500/X58 I/O Hub PCI Express Root Port 9 3411 7500/5520/5500/X58 I/O Hub PCI Express Root Port 10 3418 7500/5520/5500/X58 Physical Layer Port 0 3419 7500/5520/5500 Physical Layer Port 1 3420 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 3421 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 3422 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers 103c 330b ProLiant G6 series 3423 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers 103c 330b ProLiant G6 series 3425 7500/5520/5500/X58 Physical and Link Layer Registers Port 0 3426 7500/5520/5500/X58 Routing and Protocol Layer Registers Port 0 3427 7500/5520/5500 Physical and Link Layer Registers Port 1 3428 7500/5520/5500 Routing & Protocol Layer Register Port 1 3429 5520/5500/X58 Chipset QuickData Technology Device 342a 5520/5500/X58 Chipset QuickData Technology Device 342b 5520/5500/X58 Chipset QuickData Technology Device 342c 5520/5500/X58 Chipset QuickData Technology Device 342d 7500/5520/5500/X58 I/O Hub I/OxAPIC Interrupt Controller 342e 7500/5520/5500/X58 I/O Hub System Management Registers 103c 330b ProLiant G6 series 342f 7500/5520/5500/X58 Trusted Execution Technology Registers 3430 5520/5500/X58 Chipset QuickData Technology Device 3431 5520/5500/X58 Chipset QuickData Technology Device 3432 5520/5500/X58 Chipset QuickData Technology Device 3433 5520/5500/X58 Chipset QuickData Technology Device 3438 7500/5520/5500/X58 I/O Hub Throttle Registers 3482 Ice Lake-LP LPC Controller 34a3 Ice Lake-LP SMBus Controller 34a4 Ice Lake-LP SPI Controller 34a8 Ice Lake-LP Serial IO UART Controller #0 34a9 Ice Lake-LP Serial IO UART Controller #1 34aa Ice Lake-LP Serial IO SPI Controller #0 34ab Ice Lake-LP Serial IO SPI Controller #1 34b0 Ice Lake-LP PCI Express Root Port #9 34bc Ice Lake-LP PCI Express Root Port #5 34c5 Ice Lake-LP Serial IO I2c Controller #4 34c6 Ice Lake-LP Serial IO I2c Controller #5 34c8 Smart Sound Technology Audio Controller 34d3 Ice Lake-LP SATA Controller [AHCI mode] 34e0 Management Engine Interface 34e8 Ice Lake-LP Serial IO I2C Controller #0 34e9 Ice Lake-LP Serial IO I2C Controller #1 34ea Ice Lake-LP Serial IO I2C Controller #2 34eb Ice Lake-LP Serial IO I2C Controller #3 34ed Ice Lake-LP USB 3.1 xHCI Host Controller 34f0 Killer Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW) 34f8 Ice Lake-LP SD Controller 3500 6311ESB/6321ESB PCI Express Upstream Port 103c 31fe ProLiant DL140 G3 15d9 9680 X7DBN Motherboard 3501 6310ESB PCI Express Upstream Port 3504 6311ESB/6321ESB I/OxAPIC Interrupt Controller 3505 6310ESB I/OxAPIC Interrupt Controller 350c 6311ESB/6321ESB PCI Express to PCI-X Bridge 103c 31fe ProLiant DL140 G3 15d9 9680 X7DBN Motherboard 350d 6310ESB PCI Express to PCI-X Bridge 3510 6311ESB/6321ESB PCI Express Downstream Port E1 103c 31fe ProLiant DL140 G3 15d9 9680 X7DBN Motherboard 3511 6310ESB PCI Express Downstream Port E1 3514 6311ESB/6321ESB PCI Express Downstream Port E2 3515 6310ESB PCI Express Downstream Port E2 3518 6311ESB/6321ESB PCI Express Downstream Port E3 15d9 9680 X7DBN Motherboard 3519 6310ESB PCI Express Downstream Port E3 3575 82830M/MG/MP Host Bridge 0e11 0030 Evo N600c 1014 021d ThinkPad A/T/X Series 104d 80e7 VAIO PCG-GR214EP/GR214MP/GR215MP/GR314MP/GR315MP 3576 82830M/MP AGP Bridge 3577 82830M/MG Integrated Graphics Controller 1014 0513 ThinkPad A/T/X Series 3578 82830M/MG/MP Host Bridge 3580 82852/82855 GM/GME/PM/GMV Processor to I/O Controller 1014 055c ThinkPad R50e 1025 0064 Extensa 3000 series laptop 1028 0139 Latitude D400 1028 014f Latitude X300 1028 0152 Latitude D500 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m 1028 0196 Inspiron 5160 114a 0582 PC8 1734 1055 Amilo M1420 1775 10d0 V5D Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10e0 PSL09 PrPMC e4bf 0cc9 CC9-SAMBA e4bf 0cd2 CD2-BEBOP 3581 82852/82855 GM/GME/PM/GMV Processor to AGP Controller 1734 1055 Amilo M1420 3582 82852/855GM Integrated Graphics Device 1014 0562 ThinkPad R50e 1028 0139 Latitude D400 1028 014f Latitude X300 1028 0152 Latitude D500 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m 114a 0582 PC8 integrated graphics 1775 10d0 V5D Single Board Computer VGA 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10e0 PSL09 PrPMC e4bf 0cc9 CC9-SAMBA e4bf 0cd2 CD2-BEBOP 3584 82852/82855 GM/GME/PM/GMV Processor to I/O Controller 1014 055d ThinkPad R50e 1025 0064 Extensa 3000 series laptop 1028 0139 Latitude D400 1028 014f Latitude X300 1028 0152 Latitude D500 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m 1028 0196 Inspiron 5160 114a 0582 PC8 1734 1055 Amilo M1420 1775 10d0 V5D Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10e0 PSL09 PrPMC 3585 82852/82855 GM/GME/PM/GMV Processor to I/O Controller 1014 055e ThinkPad R50e 1025 0064 Extensa 3000 series laptop 1028 0139 Latitude D400 1028 014f Latitude X300 1028 0152 Latitude D500 1028 0163 Latitude D505 1028 018d Inspiron 700m/710m 1028 0196 Inspiron 5160 114a 0582 PC8 1734 1055 Amilo M1420 1775 10d0 V5D Single Board Computer 1775 ce90 CE9 4c53 10b0 CL9 mainboard 4c53 10e0 PSL09 PrPMC 358c 82854 GMCH 358e 82854 GMCH Integrated Graphics Device 3590 E7520 Memory Controller Hub 1014 02dd eServer xSeries server mainboard 1028 016c PowerEdge 1850 Memory Controller Hub 1028 016d PowerEdge 2850 Memory Controller Hub 1028 019a PowerEdge SC1425 1734 103e PRIMERGY RX/TX S2 series 1775 1100 CR11/VR11 Single Board Computer 4c53 10d0 Telum ASLP10 Processor AMC 3591 E7525/E7520 Error Reporting Registers 1014 02dd eServer xSeries server mainboard 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 103c 3208 ProLiant DL140 G2 4c53 10d0 Telum ASLP10 Processor AMC 3592 E7320 Memory Controller Hub 1734 1073 Primergy Econel 200 D2020 mainboard 3593 E7320 Error Reporting Registers 1734 1073 Primergy Econel 200 D2020 mainboard 3594 E7520 DMA Controller 1775 1100 CR11/VR11 Single Board Computer 4c53 10d0 Telum ASLP10 Processor AMC 3595 E7525/E7520/E7320 PCI Express Port A 1775 1100 CR11/VR11 Single Board Computer 3596 E7525/E7520/E7320 PCI Express Port A1 3597 E7525/E7520 PCI Express Port B 1775 1100 CR11/VR11 Single Board Computer 3598 E7520 PCI Express Port B1 1775 1100 CR11/VR11 Single Board Computer 3599 E7520 PCI Express Port C 1775 1100 CR11/VR11 Single Board Computer 359a E7520 PCI Express Port C1 359b E7525/E7520/E7320 Extended Configuration Registers 1014 02dd eServer xSeries server mainboard 359e E7525 Memory Controller Hub 1028 0168 Precision Workstation 670 Mainboard 1028 0169 Precision 470 35b0 3100 Chipset Memory I/O Controller Hub 35b1 3100 DRAM Controller Error Reporting Registers 35b5 3100 Chipset Enhanced DMA Controller 35b6 3100 Chipset PCI Express Port A 35b7 3100 Chipset PCI Express Port A1 35c8 3100 Extended Configuration Test Overflow Registers 3600 7300 Chipset Memory Controller Hub 3604 7300 Chipset PCI Express Port 1 3605 7300 Chipset PCI Express Port 2 3606 7300 Chipset PCI Express Port 3 3607 7300 Chipset PCI Express Port 4 3608 7300 Chipset PCI Express Port 5 3609 7300 Chipset PCI Express Port 6 360a 7300 Chipset PCI Express Port 7 360b 7300 Chipset QuickData Technology Device 360c 7300 Chipset FSB Registers 1028 01f0 PowerEdge R900 7300 Chipset FSB Registers 360d 7300 Chipset Snoop Filter Registers 360e 7300 Chipset Debug and Miscellaneous Registers 360f 7300 Chipset FBD Branch 0 Registers 3610 7300 Chipset FBD Branch 1 Registers 3700 Xeon C5500/C3500 DMI 3701 Xeon C5500/C3500 DMI 3702 Xeon C5500/C3500 DMI 3703 Xeon C5500/C3500 DMI 3704 Xeon C5500/C3500 DMI 3705 Xeon C5500/C3500 DMI 3706 Xeon C5500/C3500 DMI 3707 Xeon C5500/C3500 DMI 3708 Xeon C5500/C3500 DMI 3709 Xeon C5500/C3500 DMI 370a Xeon C5500/C3500 DMI 370b Xeon C5500/C3500 DMI 370c Xeon C5500/C3500 DMI 370d Xeon C5500/C3500 DMI 370e Xeon C5500/C3500 DMI 370f Xeon C5500/C3500 DMI 3710 Xeon C5500/C3500 CB3 DMA 3711 Xeon C5500/C3500 CB3 DMA 3712 Xeon C5500/C3500 CB3 DMA 3713 Xeon C5500/C3500 CB3 DMA 3714 Xeon C5500/C3500 CB3 DMA 3715 Xeon C5500/C3500 CB3 DMA 3716 Xeon C5500/C3500 CB3 DMA 3717 Xeon C5500/C3500 CB3 DMA 3718 Xeon C5500/C3500 CB3 DMA 3719 Xeon C5500/C3500 CB3 DMA 371a Xeon C5500/C3500 QPI Link 371b Xeon C5500/C3500 QPI Routing and Protocol 371d Xeon C5500/C3500 QPI Routing and Protocol 3720 Xeon C5500/C3500 PCI Express Root Port 0 3721 Xeon C5500/C3500 PCI Express Root Port 1 3722 Xeon C5500/C3500 PCI Express Root Port 2 3723 Xeon C5500/C3500 PCI Express Root Port 3 3724 Xeon C5500/C3500 PCI Express Root Port 4 3725 Xeon C5500/C3500 NTB Primary 3726 Xeon C5500/C3500 NTB Primary 3727 Xeon C5500/C3500 NTB Secondary 3728 Xeon C5500/C3500 Core 3729 Xeon C5500/C3500 Core 372a Xeon C5500/C3500 Core 372b Xeon C5500/C3500 Core 372c Xeon C5500/C3500 Reserved 373f Xeon C5500/C3500 IOxAPIC 37c8 C62x Chipset QuickAssist Technology 8086 0001 QuickAssist Adapter 8960 8086 0002 QuickAssist Adapter 8970 37cc Ethernet Connection X722 37cd Ethernet Virtual Function 700 Series 37ce Ethernet Connection X722 for 10GbE backplane 1590 0215 Ethernet 10Gb 2-port 568i Adapter 17aa 4023 Intel Ethernet Connection X722 for 10GbE backplane 17aa 4025 Ethernet Connection X722 for 10GbE backplane 37cf Ethernet Connection X722 for 10GbE QSFP+ 37d0 Ethernet Connection X722 for 10GbE SFP+ 17aa 4020 Intel Ethernet Connection X722 for 10G SFP+ 17aa 4021 Intel Ethernet Connection X722 for 10G SFP+ 17aa 4022 Ethernet Connection X722 for 10GbE SFP+ 8086 0001 Ethernet Network Adapter X722-2 8086 0002 Ethernet Network Adapter X722-2 8086 0003 Ethernet Network Adapter X722-4 8086 0004 Ethernet Network Adapter X722-4 37d1 Ethernet Connection X722 for 1GbE 14cd 0010 88E1514 Ethernet OCP 2x1G RJ45 Phy Card [USI-1514-1GbaseT] 1590 0216 Ethernet 1Gb 2-port 368i Adapter 1590 0217 Ethernet 1Gb 2-port 368FLR-MMT Adapter 1590 0247 Ethernet 1Gb 4-port 369i Adapter 17aa 4020 Ethernet Connection X722 for 1GbE 17aa 4021 Ethernet Connection X722 for 1GbE 17aa 4022 Ethernet Connection X722 for 1GbE 17aa 4024 Ethernet Connection X722 for 1GbE 37d2 Ethernet Connection X722 for 10GBASE-T 1059 0180 RD10019 10GbE interface 1170 37d2 Ethernet Connection X722 for 10GBASE-T 14cd 0030 Ethernet OCP 2x10G RJ45 Phy Card [USI-X557-10GbaseT] 1590 0218 Ethernet 10Gb 2-port 568FLR-MMT Adapter 17aa 4020 Ethernet Connection X722 for 10GBASE-T 17aa 4021 Ethernet Connection X722 for 10GBASE-T 17aa 4022 Ethernet Connection X722 for 10GBASE-T 17aa 4024 Ethernet Connection X722 for 10GBASE-T 17aa 4025 Ethernet Connection X722 for 10GBASE-T 37d3 Ethernet Connection X722 for 10GbE SFP+ 1590 0219 Ethernet 10Gb 2-port 568FLR-MMSFP+ Adapter 17aa 4020 Ethernet Connection X722 for 10GbE SFP+ 17aa 4021 Ethernet Connection X722 for 10GbE SFP+ 17aa 4025 Ethernet Connection X722 for 10GbE SFP+ 37d4 Ethernet Connection X722 for 10GbE QSFP+ 37d9 X722 Hyper-V Virtual Function 3a00 82801JD/DO (ICH10 Family) 4-port SATA IDE Controller 3a02 82801JD/DO (ICH10 Family) SATA AHCI Controller 3a05 82801JD/DO (ICH10 Family) SATA RAID Controller 3a06 82801JD/DO (ICH10 Family) 2-port SATA IDE Controller 3a14 82801JDO (ICH10DO) LPC Interface Controller 3a16 82801JIR (ICH10R) LPC Interface Controller 1028 028c PowerEdge R410 LPC Interface Controller 1028 028d PowerEdge T410 LPC Interface Controller 103c 330b ProLiant G6 series 1043 82d4 P5Q Deluxe Motherboard 1458 5001 GA-EP45-DS5 Motherboard 3a18 82801JIB (ICH10) LPC Interface Controller 3a1a 82801JD (ICH10D) LPC Interface Controller 3a20 82801JI (ICH10 Family) 4 port SATA IDE Controller #1 1028 028c PowerEdge R410 SATA IDE Controller 1028 028d PowerEdge T410 SATA IDE Controller 3a22 82801JI (ICH10 Family) SATA AHCI Controller 103c 330b ProLiant G6 series 1043 82d4 P5Q Deluxe Motherboard 1458 b005 GA-EP45-DS5/GA-EG45M-DS2H Motherboard 3a25 82801JIR (ICH10R) SATA RAID Controller 1028 028c PERC S100 Controller (PE R410) 1028 028d PERC S100 Controller (PE T410) 1028 02f1 PERC S100 Controller (PE R510) 3a26 82801JI (ICH10 Family) 2 port SATA IDE Controller #2 1028 028c PowerEdge R410 SATA IDE Controller 1028 028d PowerEdge T410 SATA IDE Controller 3a30 82801JI (ICH10 Family) SMBus Controller 1043 82d4 P5Q Deluxe Motherboard 1458 5001 GA-EP45-DS5/GA-EG45M-DS2H Motherboard 3a32 82801JI (ICH10 Family) Thermal Subsystem 3a34 82801JI (ICH10 Family) USB UHCI Controller #1 1028 028c PowerEdge R410 USB UHCI Controller 1028 028d PowerEdge T410 USB UHCI Controller 103c 330b ProLiant G6 series 1043 82d4 P5Q Deluxe Motherboard 1458 5004 GA-EP45-DS5 Motherboard 3a35 82801JI (ICH10 Family) USB UHCI Controller #2 1028 028c PowerEdge R410 USB UHCI Controller 1028 028d PowerEdge T410 USB UHCI Controller 103c 330b ProLiant G6 series 1043 82d4 P5Q Deluxe Motherboard 1458 5004 GA-EP45-DS5 Motherboard 3a36 82801JI (ICH10 Family) USB UHCI Controller #3 1028 028c PowerEdge R410 USB UHCI Controller 1028 028d PowerEdge T410 USB UHCI Controller 103c 330b ProLiant G6 series 1043 82d4 P5Q Deluxe Motherboard 1458 5004 GA-EP45-DS5 Motherboard 3a37 82801JI (ICH10 Family) USB UHCI Controller #4 1028 028c PowerEdge R410 USB UHCI Controller 1028 028d PowerEdge T410 USB UHCI Controller 103c 330b ProLiant G6 series 1043 82d4 P5Q Deluxe Motherboard 1458 5004 Motherboard 3a38 82801JI (ICH10 Family) USB UHCI Controller #5 1028 028c PowerEdge R410 USB UHCI Controller 1028 028d PowerEdge T410 USB UHCI Controller 103c 330b ProLiant ML150 G6 Server 1043 82d4 P5Q Deluxe Motherboard 1458 5004 Motherboard 3a39 82801JI (ICH10 Family) USB UHCI Controller #6 1028 028c PowerEdge R410 USB UHCI Controller 1028 028d PowerEdge T410 USB UHCI Controller 103c 330b ProLiant ML150 G6 Server 1043 82d4 P5Q Deluxe Motherboard 1458 5004 Motherboard 3a3a 82801JI (ICH10 Family) USB2 EHCI Controller #1 1028 028c PowerEdge R410 USB EHCI Controller 1028 028d PowerEdge T410 USB EHCI Controller 103c 330b ProLiant G6 series 1043 82d4 P5Q Deluxe Motherboard 1458 5006 GA-EP45-DS5 Motherboard 3a3c 82801JI (ICH10 Family) USB2 EHCI Controller #2 1028 028c PowerEdge R410 USB EHCI Controller 1028 028d PowerEdge T410 USB EHCI Controller 103c 330b ProLiant G6 series 1043 82d4 P5Q Deluxe Motherboard 1458 5006 Motherboard 3a3e 82801JI (ICH10 Family) HD Audio Controller 1043 8311 P5Q Deluxe Motherboard 1458 a002 GA-EP45-UD3R Motherboard 1458 a102 GA-EP45-DS5/GA-EG45M-DS2H Motherboard 3a40 82801JI (ICH10 Family) PCI Express Root Port 1 1028 028c PowerEdge R410 PCI Express Port 1 1028 028d PowerEdge T410 PCI Express Port 1 103c 330b ProLiant ML150 G6 Server 1043 82d4 P5Q Deluxe Motherboard 1043 82ea P6T DeLuxe Motherboard 1458 5001 GA-EP45-DS5/GA-EG45M-DS2H Motherboard 3a42 82801JI (ICH10 Family) PCI Express Port 2 3a44 82801JI (ICH10 Family) PCI Express Root Port 3 1043 82ea P6T DeLuxe Motherboard 3a46 82801JI (ICH10 Family) PCI Express Root Port 4 1043 82ea P6T DeLuxe Motherboard 1458 5001 GA-EP45-DS5 Motherboard 3a48 82801JI (ICH10 Family) PCI Express Root Port 5 103c 330b ProLiant ML150 G6 Server 1043 82ea P6T Deluxe Motherboard 1458 5001 GA-EP45-DS5 Motherboard 3a4a 82801JI (ICH10 Family) PCI Express Root Port 6 103c 330b ProLiant ML150 G6 Server 1043 82d4 P5Q Deluxe Motherboard 1043 82ea P6T DeLuxe Motherboard 1458 5001 GA-EP45-DS5/GA-EG45M-DS2H Motherboard 3a4c 82801JI (ICH10 Family) Gigabit Ethernet Controller 3a51 82801JDO (ICH10DO) VECI Controller 3a55 82801JD/DO (ICH10 Family) Virtual SATA Controller 3a60 82801JD/DO (ICH10 Family) SMBus Controller 3a62 82801JD/DO (ICH10 Family) Thermal Subsystem 3a64 82801JD/DO (ICH10 Family) USB UHCI Controller #1 3a65 82801JD/DO (ICH10 Family) USB UHCI Controller #2 3a66 82801JD/DO (ICH10 Family) USB UHCI Controller #3 3a67 82801JD/DO (ICH10 Family) USB UHCI Controller #4 3a68 82801JD/DO (ICH10 Family) USB UHCI Controller #5 3a69 82801JD/DO (ICH10 Family) USB UHCI Controller #6 3a6a 82801JD/DO (ICH10 Family) USB2 EHCI Controller #1 3a6c 82801JD/DO (ICH10 Family) USB2 EHCI Controller #2 3a6e 82801JD/DO (ICH10 Family) HD Audio Controller 3a70 82801JD/DO (ICH10 Family) PCI Express Port 1 3a72 82801JD/DO (ICH10 Family) PCI Express Port 2 3a74 82801JD/DO (ICH10 Family) PCI Express Port 3 3a76 82801JD/DO (ICH10 Family) PCI Express Port 4 3a78 82801JD/DO (ICH10 Family) PCI Express Port 5 3a7a 82801JD/DO (ICH10 Family) PCI Express Port 6 3a7c 82801JD/DO (ICH10 Family) Gigabit Ethernet Controller 3b00 5 Series/3400 Series Chipset LPC Interface Controller 3b01 Mobile 5 Series Chipset LPC Interface Controller 3b02 P55 Chipset LPC Interface Controller 3b03 PM55 Chipset LPC Interface Controller 3b04 5 Series Chipset LPC Interface Controller 3b05 Mobile 5 Series Chipset LPC Interface Controller 3b06 H55 Chipset LPC Interface Controller 3b07 QM57 Chipset LPC Interface Controller 1028 040a Latitude E6410 1028 040b Latitude E6510 e4bf 50c1 PC1-GROOVE 3b08 H57 Chipset LPC Interface Controller 3b09 HM55 Chipset LPC Interface Controller 1025 0347 Aspire 7740G 144d c06a R730 Laptop 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 3b0a Q57 Chipset LPC Interface Controller 1028 02da OptiPlex 980 15d9 060d C7SIM-Q Motherboard 3b0b HM57 Chipset LPC Interface Controller 3b0c 5 Series Chipset LPC Interface Controller 3b0d 5 Series/3400 Series Chipset LPC Interface Controller 3b0e 5 Series/3400 Series Chipset LPC Interface Controller 3b0f QS57 Chipset LPC Interface Controller 3b10 5 Series/3400 Series Chipset LPC Interface Controller 3b11 5 Series/3400 Series Chipset LPC Interface Controller 3b12 3400 Series Chipset LPC Interface Controller 3b13 5 Series/3400 Series Chipset LPC Interface Controller 3b14 3420 Chipset LPC Interface Controller 15d9 0605 X8SIL 3b15 5 Series/3400 Series Chipset LPC Interface Controller 3b16 3450 Chipset LPC Interface Controller 3b17 5 Series/3400 Series Chipset LPC Interface Controller 3b18 5 Series/3400 Series Chipset LPC Interface Controller 3b19 5 Series/3400 Series Chipset LPC Interface Controller 3b1a 5 Series/3400 Series Chipset LPC Interface Controller 3b1b 5 Series/3400 Series Chipset LPC Interface Controller 3b1c 5 Series/3400 Series Chipset LPC Interface Controller 3b1d 5 Series/3400 Series Chipset LPC Interface Controller 3b1e 5 Series/3400 Series Chipset LPC Interface Controller 3b1f 5 Series/3400 Series Chipset LPC Interface Controller 3b20 5 Series/3400 Series Chipset 4 port SATA IDE Controller 3b21 5 Series/3400 Series Chipset 2 port SATA IDE Controller 3b22 5 Series/3400 Series Chipset 6 port SATA AHCI Controller 1028 02da OptiPlex 980 15d9 0605 X8SIL 15d9 060d C7SIM-Q Motherboard 3b23 5 Series/3400 Series Chipset 4 port SATA AHCI Controller 3b25 5 Series/3400 Series Chipset SATA RAID Controller 103c 3118 Smart Array B110i SATA RAID Controller 3b26 5 Series/3400 Series Chipset 2 port SATA IDE Controller 3b28 5 Series/3400 Series Chipset 4 port SATA IDE Controller 144d c06a R730 Laptop 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 3b29 5 Series/3400 Series Chipset 4 port SATA AHCI Controller 1025 0347 Aspire 7740G 144d c06a R730 Laptop 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 3b2c 5 Series/3400 Series Chipset SATA RAID Controller 3b2d 5 Series/3400 Series Chipset 2 port SATA IDE Controller 144d c06a R730 Laptop 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] e4bf 50c1 PC1-GROOVE 3b2e 5 Series/3400 Series Chipset 4 port SATA IDE Controller e4bf 50c1 PC1-GROOVE 3b2f 5 Series/3400 Series Chipset 6 port SATA AHCI Controller 1028 040a Latitude E6410 1028 040b Latitude E6510 e4bf 50c1 PC1-GROOVE 3b30 5 Series/3400 Series Chipset SMBus Controller 1025 0347 Aspire 7740G 1028 02da OptiPlex 980 1028 040a Latitude E6410 1028 040b Latitude E6510 1043 3838 P7P55-M Motherboard 1043 8383 P7P55-M Motherboard 144d c06a R730 Laptop 15d9 0605 X8SIL 15d9 060d C7SIM-Q Motherboard 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] e4bf 50c1 PC1-GROOVE 3b32 5 Series/3400 Series Chipset Thermal Subsystem 1025 0347 Aspire 7740G 1028 040a Latitude E6410 144d c06a R730 Laptop 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 3b34 5 Series/3400 Series Chipset USB2 Enhanced Host Controller 1025 0347 Aspire 7740G 1028 02da OptiPlex 980 1028 040a Latitude E6410 1028 040b Latitude E6510 144d c06a R730 Laptop 15d9 0605 X8SIL 15d9 060d C7SIM-Q Motherboard 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] e4bf 50c1 PC1-GROOVE 3b36 5 Series/3400 Series Chipset USB Universal Host Controller 3b37 5 Series/3400 Series Chipset USB Universal Host Controller 3b38 5 Series/3400 Series Chipset USB Universal Host Controller 3b39 5 Series/3400 Series Chipset USB Universal Host Controller 3b3a 5 Series/3400 Series Chipset USB Universal Host Controller 3b3b 5 Series/3400 Series Chipset USB Universal Host Controller 3b3c 5 Series/3400 Series Chipset USB2 Enhanced Host Controller 1025 0347 Aspire 7740G 1028 02da OptiPlex 980 1028 040a Latitude E6410 1028 040b Latitude E6510 144d c06a R730 Laptop 15d9 0605 X8SIL 15d9 060d C7SIM-Q Motherboard 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] e4bf 50c1 PC1-GROOVE 3b3e 5 Series/3400 Series Chipset USB Universal Host Controller 3b3f 5 Series/3400 Series Chipset USB Universal Host Controller 3b40 5 Series/3400 Series Chipset USB Universal Host Controller 3b41 5 Series/3400 Series Chipset LAN Controller 3b42 5 Series/3400 Series Chipset PCI Express Root Port 1 1028 02da OptiPlex 980 1028 040a Latitude E6410 1028 040b Latitude E6510 103c 1521 EliteBook 8540p 144d c06a R730 Laptop 15d9 060d C7SIM-Q Motherboard 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 3b44 5 Series/3400 Series Chipset PCI Express Root Port 2 1028 040a Latitude E6410 1028 040b Latitude E6510 15d9 060d C7SIM-Q Motherboard 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 3b46 5 Series/3400 Series Chipset PCI Express Root Port 3 1028 040a Latitude E6410 1028 040b Latitude E6510 144d c06a R730 Laptop 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 3b48 5 Series/3400 Series Chipset PCI Express Root Port 4 1028 040a Latitude E6410 1028 040b Latitude E6510 144d c06a R730 Laptop 3b4a 5 Series/3400 Series Chipset PCI Express Root Port 5 1028 02da OptiPlex 980 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] 3b4c 5 Series/3400 Series Chipset PCI Express Root Port 6 3b4e 5 Series/3400 Series Chipset PCI Express Root Port 7 3b50 5 Series/3400 Series Chipset PCI Express Root Port 8 3b53 5 Series/3400 Series Chipset VECI Controller 3b56 5 Series/3400 Series Chipset High Definition Audio 1025 0347 Aspire 7740G 1028 02da OptiPlex 980 1028 040a Latitude E6410 1028 040b Latitude E6510 1043 1373 G73-series gaming laptop 144d c06a R730 Laptop 15d9 060d C7SIM-Q Motherboard 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] e4bf 50c1 PC1-GROOVE 3b57 5 Series/3400 Series Chipset High Definition Audio 3b64 5 Series/3400 Series Chipset HECI Controller 1025 0347 Aspire 7740G 15d9 060d C7SIM-Q Motherboard 17c0 10d2 Medion Akoya E7214 Notebook PC [MD98410] e4bf 50c1 PC1-GROOVE 3b65 5 Series/3400 Series Chipset HECI Controller 3b66 5 Series/3400 Series Chipset PT IDER Controller 3b67 5 Series/3400 Series Chipset KT Controller e4bf 50c1 PC1-GROOVE 3c00 Xeon E5/Core i7 DMI2 3c01 Xeon E5/Core i7 DMI2 in PCI Express Mode 3c02 Xeon E5/Core i7 IIO PCI Express Root Port 1a 3c03 Xeon E5/Core i7 IIO PCI Express Root Port 1b 3c04 Xeon E5/Core i7 IIO PCI Express Root Port 2a 3c05 Xeon E5/Core i7 IIO PCI Express Root Port 2b 3c06 Xeon E5/Core i7 IIO PCI Express Root Port 2c 3c07 Xeon E5/Core i7 IIO PCI Express Root Port 2d 3c08 Xeon E5/Core i7 IIO PCI Express Root Port 3a in PCI Express Mode 3c09 Xeon E5/Core i7 IIO PCI Express Root Port 3b 3c0a Xeon E5/Core i7 IIO PCI Express Root Port 3c 3c0b Xeon E5/Core i7 IIO PCI Express Root Port 3d 3c0d Xeon E5/Core i7 Non-Transparent Bridge 3c0e Xeon E5/Core i7 Non-Transparent Bridge 3c0f Xeon E5/Core i7 Non-Transparent Bridge 3c20 Xeon E5/Core i7 DMA Channel 0 3c21 Xeon E5/Core i7 DMA Channel 1 3c22 Xeon E5/Core i7 DMA Channel 2 3c23 Xeon E5/Core i7 DMA Channel 3 3c24 Xeon E5/Core i7 DMA Channel 4 3c25 Xeon E5/Core i7 DMA Channel 5 3c26 Xeon E5/Core i7 DMA Channel 6 3c27 Xeon E5/Core i7 DMA Channel 7 3c28 Xeon E5/Core i7 Address Map, VTd_Misc, System Management 3c2a Xeon E5/Core i7 Control Status and Global Errors 3c2c Xeon E5/Core i7 I/O APIC 3c2e Xeon E5/Core i7 DMA 3c2f Xeon E5/Core i7 DMA 3c40 Xeon E5/Core i7 IIO Switch and IRP Performance Monitor 3c43 Xeon E5/Core i7 Ring to PCI Express Performance Monitor 3c44 Xeon E5/Core i7 Ring to QuickPath Interconnect Link 0 Performance Monitor 3c45 Xeon E5/Core i7 Ring to QuickPath Interconnect Link 1 Performance Monitor 3c46 Xeon E5/Core i7 Processor Home Agent Performance Monitoring 3c71 Xeon E5/Core i7 Integrated Memory Controller RAS Registers 3c80 Xeon E5/Core i7 QPI Link 0 3c83 Xeon E5/Core i7 QPI Link Reut 0 3c84 Xeon E5/Core i7 QPI Link Reut 0 3c90 Xeon E5/Core i7 QPI Link 1 3c93 Xeon E5/Core i7 QPI Link Reut 1 3c94 Xeon E5/Core i7 QPI Link Reut 1 3ca0 Xeon E5/Core i7 Processor Home Agent 3ca8 Xeon E5/Core i7 Integrated Memory Controller Registers 3caa Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 0 3cab Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 1 3cac Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 2 3cad Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 3 3cae Xeon E5/Core i7 Integrated Memory Controller Target Address Decoder 4 3cb0 Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 0 3cb1 Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 1 3cb2 Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 0 3cb3 Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 1 3cb4 Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 2 3cb5 Xeon E5/Core i7 Integrated Memory Controller Channel 0-3 Thermal Control 3 3cb6 Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 2 3cb7 Xeon E5/Core i7 Integrated Memory Controller ERROR Registers 3 3cb8 Xeon E5/Core i7 DDRIO 3cc0 Xeon E5/Core i7 Power Control Unit 0 3cc1 Xeon E5/Core i7 Power Control Unit 1 3cc2 Xeon E5/Core i7 Power Control Unit 2 3cd0 Xeon E5/Core i7 Power Control Unit 3 3ce0 Xeon E5/Core i7 Interrupt Control Registers 3ce3 Xeon E5/Core i7 Semaphore and Scratchpad Configuration Registers 3ce4 Xeon E5/Core i7 R2PCIe 3ce6 Xeon E5/Core i7 QuickPath Interconnect Agent Ring Registers 3ce8 Xeon E5/Core i7 Unicast Register 0 3ce9 Xeon E5/Core i7 Unicast Register 5 3cea Xeon E5/Core i7 Unicast Register 1 3ceb Xeon E5/Core i7 Unicast Register 6 3cec Xeon E5/Core i7 Unicast Register 3 3ced Xeon E5/Core i7 Unicast Register 7 3cee Xeon E5/Core i7 Unicast Register 4 3cef Xeon E5/Core i7 Unicast Register 8 3cf4 Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 0 3cf5 Xeon E5/Core i7 Integrated Memory Controller System Address Decoder 1 3cf6 Xeon E5/Core i7 System Address Decoder 3e10 8th Gen Core 4-core Processor Host Bridge/DRAM Registers [Coffee Lake H] 3e18 8th Gen Core 4-core Workstation Processor Host Bridge/DRAM Registers [Coffee Lake S] 3e1f 8th Gen Core 4-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S] 1458 5000 Z370 AORUS Gaming K3-CF 3e30 8th/9th Gen Core 8-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S] 3e33 8th/9th Gen Core Processor Host Bridge/DRAM Registers [Coffee Lake] 3e34 Coffee Lake HOST and DRAM Controller 3e35 Coffee Lake Host Bridge/DRAM Registers 3e81 8th Gen Core Processor PCIe Controller (x16) 3e85 8th Gen Core Processor PCIe Controller (x8) 3e89 8th Gen Core Processor PCIe Controller (x4) 3e91 8th Gen Core Processor Gaussian Mixture Model 3e92 UHD Graphics 630 (Desktop) 1028 0869 Vostro 3470 3e93 UHD Graphics 610 3e96 HD Graphics P630 3e98 UHD Graphics 630 (Desktop 9 Series) 3e9b UHD Graphics 630 (Mobile) 3ea0 UHD Graphics 620 (Whiskey Lake) 1028 089e Inspiron 5482 3ea5 Iris Plus Graphics 655 3ec2 8th Gen Core Processor Host Bridge/DRAM Registers 1028 0869 Vostro 3470 1043 8694 PRIME H310M-D 3ec4 8th Gen Core Processor Host Bridge/DRAM Registers 3ec6 8th Gen Core Processor Host Bridge/DRAM Registers 3eca 8th Gen Core Processor Host Bridge/DRAM Registers 3ed0 8th Gen Core Processor Host Bridge/DRAM Registers 4000 5400 Chipset Memory Controller Hub 4001 5400 Chipset Memory Controller Hub 4003 5400 Chipset Memory Controller Hub 4021 5400 Chipset PCI Express Port 1 4022 5400 Chipset PCI Express Port 2 4023 5400 Chipset PCI Express Port 3 4024 5400 Chipset PCI Express Port 4 4025 5400 Chipset PCI Express Port 5 4026 5400 Chipset PCI Express Port 6 4027 5400 Chipset PCI Express Port 7 4028 5400 Chipset PCI Express Port 8 4029 5400 Chipset PCI Express Port 9 402d 5400 Chipset IBIST Registers 402e 5400 Chipset IBIST Registers 402f 5400 Chipset QuickData Technology Device 4030 5400 Chipset FSB Registers 4031 5400 Chipset CE/SF Registers 4032 5400 Chipset IOxAPIC 4035 5400 Chipset FBD Registers 4036 5400 Chipset FBD Registers 4100 Moorestown Graphics and Video 4108 Atom Processor E6xx Integrated Graphics Controller 4109 Atom Processor E6xx Integrated Graphics Controller 410a Atom Processor E6xx Integrated Graphics Controller 410b Atom Processor E6xx Integrated Graphics Controller 410c Atom Processor E6xx Integrated Graphics Controller 410d Atom Processor E6xx Integrated Graphics Controller 410e Atom Processor E6xx Integrated Graphics Controller 410f Atom Processor E6xx Integrated Graphics Controller 4114 Atom Processor E6xx PCI Host Bridge #1 4115 Atom Processor E6xx PCI Host Bridge #2 4116 Atom Processor E6xx PCI Host Bridge #3 4117 Atom Processor E6xx PCI Host Bridge #4 4220 PRO/Wireless 2200BG [Calexico2] Network Connection 103c 0934 Compaq nw8240/nx8220 103c 12f6 nc6120/nc6220/nw8240/nx8220 8086 2701 WM3B2200BG Mini-PCI Card 8086 2712 IBM ThinkPad R50e 8086 2721 Dell B130 laptop integrated WLAN 8086 2722 Dell Latitude D600 8086 2731 Samsung P35 integrated WLAN 4222 PRO/Wireless 3945ABG [Golan] Network Connection 103c 135c PRO/Wireless 3945ABG [Golan] Network Connection 8086 1000 PRO/Wireless 3945ABG Network Connection 8086 1001 WM3945ABG MOW2 8086 1005 PRO/Wireless 3945BG Network Connection 8086 1034 PRO/Wireless 3945BG Network Connection 8086 1044 PRO/Wireless 3945BG Network Connection 8086 1c00 PRO/Wireless 3945ABG Network Connection 4223 PRO/Wireless 2915ABG [Calexico2] Network Connection 1000 8086 mPCI 3B Americas/Europe ZZA 1001 8086 mPCI 3B Europe ZZE 1002 8086 mPCI 3B Japan ZZJ 1003 8086 mPCI 3B High-Band ZZH 103c 1351 Compaq nc6220 4224 PRO/Wireless 2915ABG [Calexico2] Network Connection 4227 PRO/Wireless 3945ABG [Golan] Network Connection 8086 1010 ThinkPad R60e 8086 1011 ThinkPad T60/R60e/X60s/R61 8086 1014 PRO/Wireless 3945BG Network Connection 4229 PRO/Wireless 4965 AG or AGN [Kedron] Network Connection 8086 1100 Vaio VGN-SZ79SN_C 8086 1101 PRO/Wireless 4965 AG or AGN 422b Centrino Ultimate-N 6300 8086 1101 Centrino Ultimate-N 6300 3x3 AGN 8086 1121 Centrino Ultimate-N 6300 3x3 AGN 422c Centrino Advanced-N 6200 8086 1301 Centrino Advanced-N 6200 2x2 AGN 8086 1306 Centrino Advanced-N 6200 2x2 ABG 8086 1307 Centrino Advanced-N 6200 2x2 BG 8086 1321 Centrino Advanced-N 6200 2x2 AGN 8086 1326 Centrino Advanced-N 6200 2x2 ABG 4230 PRO/Wireless 4965 AG or AGN [Kedron] Network Connection 8086 1110 Lenovo ThinkPad T51 8086 1111 Lenovo ThinkPad T61 4232 WiFi Link 5100 8086 1201 WiFi Link 5100 AGN 8086 1204 WiFi Link 5100 AGN 8086 1205 WiFi Link 5100 BGN 8086 1206 WiFi Link 5100 ABG 8086 1221 WiFi Link 5100 AGN 8086 1224 WiFi Link 5100 AGN 8086 1225 WiFi Link 5100 BGN 8086 1226 WiFi Link 5100 ABG 8086 1301 WiFi Link 5100 AGN 8086 1304 WiFi Link 5100 AGN 8086 1305 WiFi Link 5100 BGN 8086 1306 WiFi Link 5100 ABG 8086 1321 WiFi Link 5100 AGN 8086 1324 WiFi Link 5100 AGN 8086 1325 WiFi Link 5100 BGN 8086 1326 WiFi Link 5100 ABG 4235 Ultimate N WiFi Link 5300 4236 Ultimate N WiFi Link 5300 4237 PRO/Wireless 5100 AGN [Shiloh] Network Connection 8086 1211 WiFi Link 5100 AGN 8086 1214 WiFi Link 5100 AGN 8086 1215 WiFi Link 5100 BGN 8086 1216 WiFi Link 5100 ABG 8086 1311 WiFi Link 5100 AGN 8086 1314 WiFi Link 5100 AGN 8086 1315 WiFi Link 5100 BGN 8086 1316 WiFi Link 5100 ABG 4238 Centrino Ultimate-N 6300 8086 1111 Centrino Ultimate-N 6300 3x3 AGN 4239 Centrino Advanced-N 6200 8086 1311 Centrino Advanced-N 6200 2x2 AGN 8086 1316 Centrino Advanced-N 6200 2x2 ABG 423a PRO/Wireless 5350 AGN [Echo Peak] Network Connection 423b PRO/Wireless 5350 AGN [Echo Peak] Network Connection 423c WiMAX/WiFi Link 5150 8086 1201 WiMAX/WiFi Link 5150 AGN 8086 1206 WiMAX/WiFi Link 5150 ABG 8086 1221 WiMAX/WiFi Link 5150 AGN 8086 1301 WiMAX/WiFi Link 5150 AGN 8086 1306 WiMAX/WiFi Link 5150 ABG 8086 1321 WiMAX/WiFi Link 5150 AGN 423d WiMAX/WiFi Link 5150 8086 1211 WiMAX/WiFi Link 5150 AGN 8086 1216 WiMAX/WiFi Link 5150 ABG 8086 1311 WiMAX/WiFi Link 5150 AGN 8086 1316 WiMAX/WiFi Link 5150 ABG 444e Turbo Memory Controller 467f Volume Management Device NVMe RAID Controller 4c3d Volume Management Device NVMe RAID Controller 5001 LE80578 5002 LE80578 Graphics Processor Unit 5009 LE80578 Video Display Controller 500d LE80578 Expansion Bus 500e LE80578 UART Controller 500f LE80578 General Purpose IO 5010 LE80578 I2C Controller 5012 LE80578 Serial Peripheral Interface Bus 5020 EP80579 Memory Controller Hub 5021 EP80579 DRAM Error Reporting Registers 5023 EP80579 EDMA Controller 5024 EP80579 PCI Express Port PEA0 5025 EP80579 PCI Express Port PEA1 5028 EP80579 S-ATA IDE 5029 EP80579 S-ATA AHCI 502a EP80579 S-ATA Reserved 502b EP80579 S-ATA Reserved 502c EP80579 Integrated Processor ASU 502d EP80579 Integrated Processor with QuickAssist ASU 502e EP80579 Reserved 502f EP80579 Reserved 5030 EP80579 Reserved 5031 EP80579 LPC Bus 5032 EP80579 SMBus Controller 5033 EP80579 USB 1.1 Controller 5035 EP80579 USB 2.0 Controller 5037 EP80579 PCI-PCI Bridge (transparent mode) 5039 EP80579 Controller Area Network (CAN) interface #1 503a EP80579 Controller Area Network (CAN) interface #2 503b EP80579 Synchronous Serial Port (SPP) 503c EP80579 IEEE 1588 Hardware Assist 503d EP80579 Local Expansion Bus 503e EP80579 Global Control Unit (GCU) 503f EP80579 Reserved 5040 EP80579 Integrated Processor Gigabit Ethernet MAC 5041 EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC 5042 EP80579 Reserved 5043 EP80579 Reserved 5044 EP80579 Integrated Processor Gigabit Ethernet MAC 5045 EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC 5046 EP80579 Reserved 5047 EP80579 Reserved 5048 EP80579 Integrated Processor Gigabit Ethernet MAC 5049 EP80579 Integrated Processor with QuickAssist Gigabit Ethernet MAC 504a EP80579 Reserved 504b EP80579 Reserved 504c EP80579 Integrated Processor with QuickAssist TDM 5200 EtherExpress PRO/100 Intelligent Server PCI Bridge 5201 EtherExpress PRO/100 Intelligent Server Fast Ethernet Controller 8086 0001 EtherExpress PRO/100 Server Ethernet Adapter 530d 80310 (IOP) IO Processor 5502 Ethernet Controller (2) I225-LMvP 5845 QEMU NVM Express Controller 1af4 1100 QEMU Virtual Machine 5900 Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers 5901 Xeon E3-1200 v6/7th Gen Core Processor PCIe Controller (x16) 5902 HD Graphics 610 5904 Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers 1025 115f Aspire E5-575G 17aa 2247 ThinkPad T570 17aa 224f ThinkPad X1 Carbon 5th Gen 5905 Xeon E3-1200 v6/7th Gen Core Processor PCIe Controller (x8) 5909 Xeon E3-1200 v6/7th Gen Core Processor PCIe Controller (x4) 590c Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers 590f Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers 1462 7a68 B250 KRAIT GAMING (MS-7A68) 5910 Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers 5911 Xeon E3-1200 v6/7th Gen Core Processor Gaussian Mixture Model 5912 HD Graphics 630 5914 Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers 17aa 225d ThinkPad T480 5916 HD Graphics 620 1025 1094 Aspire E5-575G 17aa 2248 ThinkPad T570 17aa 224f ThinkPad X1 Carbon 5th Gen 5917 UHD Graphics 620 17aa 225e ThinkPad T480 5918 Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers 591b HD Graphics 630 591c UHD Graphics 615 591d HD Graphics P630 591e HD Graphics 615 591f Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers 5923 HD Graphics 635 5926 Iris Plus Graphics 640 5927 Iris Plus Graphics 650 5a84 Celeron N3350/Pentium N4200/Atom E3900 Series Integrated Graphics Controller 5a85 HD Graphics 500 5a88 Celeron N3350/Pentium N4200/Atom E3900 Series Imaging Unit 5a98 Celeron N3350/Pentium N4200/Atom E3900 Series Audio Cluster 5a9a Celeron N3350/Pentium N4200/Atom E3900 Series Trusted Execution Engine 5aa2 Celeron N3350/Pentium N4200/Atom E3900 Series Integrated Sensor Hub 5aa8 Celeron N3350/Pentium N4200/Atom E3900 Series USB xHCI 5aac Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #1 5aae Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #2 5ab0 Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #3 5ab2 Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #4 5ab4 Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #5 5ab6 Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #6 5ab8 Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #7 5aba Celeron N3350/Pentium N4200/Atom E3900 Series I2C Controller #8 5abc Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #1 5abe Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #2 5ac0 Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #3 5ac2 Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #1 5ac4 Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #2 5ac6 Celeron N3350/Pentium N4200/Atom E3900 Series SPI Controller #3 5ac8 Celeron N3350/Pentium N4200/Atom E3900 Series PWM Pin Controller 5aca Celeron N3350/Pentium N4200/Atom E3900 Series SDXC/MMC Host Controller 5acc Celeron N3350/Pentium N4200/Atom E3900 Series eMMC Controller 5ad0 Celeron N3350/Pentium N4200/Atom E3900 Series SDIO Controller 5ad4 Celeron N3350/Pentium N4200/Atom E3900 Series SMBus Controller 5ad6 Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port B #1 5ad7 Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port B #2 5ad8 Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #1 5ad9 Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #2 5ada Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #3 5adb Celeron N3350/Pentium N4200/Atom E3900 Series PCI Express Port A #4 5ae3 Celeron N3350/Pentium N4200/Atom E3900 Series SATA AHCI Controller 5ae8 Celeron N3350/Pentium N4200/Atom E3900 Series Low Pin Count Interface 5aee Celeron N3350/Pentium N4200/Atom E3900 Series HSUART Controller #4 5af0 Celeron N3350/Pentium N4200/Atom E3900 Series Host Bridge 65c0 5100 Chipset Memory Controller Hub 65e2 5100 Chipset PCI Express x4 Port 2 65e3 5100 Chipset PCI Express x4 Port 3 65e4 5100 Chipset PCI Express x4 Port 4 65e5 5100 Chipset PCI Express x4 Port 5 65e6 5100 Chipset PCI Express x4 Port 6 65e7 5100 Chipset PCI Express x4 Port 7 65f0 5100 Chipset FSB Registers 1028 020f PowerEdge R300 1028 0210 PowerEdge T300 65f1 5100 Chipset Reserved Registers 1028 0210 PowerEdge T300 65f3 5100 Chipset Reserved Registers 65f5 5100 Chipset DDR Channel 0 Registers 65f6 5100 Chipset DDR Channel 1 Registers 65f7 5100 Chipset PCI Express x8 Port 2-3 65f8 5100 Chipset PCI Express x8 Port 4-5 65f9 5100 Chipset PCI Express x8 Port 6-7 65fa 5100 Chipset PCI Express x16 Port 4-7 65ff 5100 Chipset DMA Engine 6f00 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DMI2 15d9 0832 X10SRL-F 6f01 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 0 6f02 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 1 6f03 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 1 6f04 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 2 6f05 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 2 6f06 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 2 6f07 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 2 6f08 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3 6f09 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3 6f0a Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3 6f0b Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D PCI Express Root Port 3 6f10 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f11 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f12 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f13 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f14 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f15 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f16 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f17 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f18 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f19 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f1a Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f1b Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f1c Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Debug 6f1d Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R2PCIe Agent 6f1e Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Ubox 6f1f Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Ubox 6f20 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 0 15d9 0832 X10SRL-F 6f21 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 1 15d9 0832 X10SRL-F 6f22 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 2 15d9 0832 X10SRL-F 6f23 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 3 15d9 0832 X10SRL-F 6f24 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 4 15d9 0832 X10SRL-F 6f25 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 5 15d9 0832 X10SRL-F 6f26 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 6 15d9 0832 X10SRL-F 6f27 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Crystal Beach DMA Channel 7 15d9 0832 X10SRL-F 6f28 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Map/VTd_Misc/System Management 15d9 0832 X10SRL-F 6f29 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO Hot Plug 15d9 0832 X10SRL-F 6f2a Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IIO RAS/Control Status/Global Errors 15d9 0832 X10SRL-F 6f2c Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D I/O APIC 15d9 0832 X10SRL-F 6f30 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 0 6f32 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0 6f33 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1 6f34 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R2PCIe Agent 6f36 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 0/1 6f37 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 0/1 6f38 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 1 6f39 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D IO Performance Monitoring 6f3a Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 6f3e Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 2 6f3f Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 2 6f40 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 6f41 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 2 6f43 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 6f45 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 Debug 6f46 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 Debug 6f47 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 2 Debug 6f50 Xeon Processor D Family QuickData Technology Register DMA Channel 0 6f51 Xeon Processor D Family QuickData Technology Register DMA Channel 1 6f52 Xeon Processor D Family QuickData Technology Register DMA Channel 2 6f53 Xeon Processor D Family QuickData Technology Register DMA Channel 3 6f54 Xeon Processor D Family QuickAssist Technology 6f55 Xeon Processor D Family QuickAssist Technology Virtual Fuction 6f60 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 1 6f68 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Target Address/Thermal/RAS 6f6a Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Channel Target Address Decoder 6f6b Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Channel Target Address Decoder 6f6c Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Channel Target Address Decoder 6f6d Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Channel Target Address Decoder 6f6e Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Broadcast 6f6f Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Global Broadcast 6f70 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 0 Debug 6f71 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Target Address/Thermal/RAS 6f76 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link Debug 6f78 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 1 Debug 6f79 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Target Address/Thermal/RAS 6f7d Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Ubox 6f7e Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link Debug 6f80 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0 6f81 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D R3 QPI Link 0/1 6f83 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0 6f85 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0 Debug 6f86 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0 Debug 6f87 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 0 Debug 6f88 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6f8a Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6f90 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1 6f93 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1 6f95 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1 Debug 6f96 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D QPI Link 1 Debug 6f98 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6f99 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6f9a Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6f9c Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fa0 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Home Agent 0 6fa8 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Target Address/Thermal/RAS 6faa Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder 6fab Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder 6fac Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder 6fad Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel Target Address Decoder 6fae Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Broadcast 6faf Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Global Broadcast 6fb0 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 0 Thermal Control 6fb1 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 1 Thermal Control 6fb2 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 0 Error 6fb3 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 1 Error 6fb4 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 2 Thermal Control 6fb5 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 3 Thermal Control 6fb6 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 2 Error 6fb7 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 0 - Channel 3 Error 6fb8 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface 6fb9 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface 6fba Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface 6fbb Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 2/3 Interface 6fbc Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface 6fbd Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface 6fbe Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface 6fbf Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D DDRIO Channel 0/1 Interface 6fc0 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fc1 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fc2 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fc3 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fc4 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fc5 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fc6 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fc7 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fc8 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fc9 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fca Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fcb Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fcc Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fcd Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fce Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fcf Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Power Control Unit 6fd0 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 0 Thermal Control 6fd1 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 1 Thermal Control 6fd2 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 0 Error 6fd3 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 1 Error 6fd4 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 2 Thermal Control 6fd5 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 3 Thermal Control 6fd6 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 2 Error 6fd7 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Memory Controller 1 - Channel 3 Error 6fe0 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fe1 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fe2 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fe3 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fe4 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fe5 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fe6 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fe7 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fe8 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fe9 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fea Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6feb Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fec Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fed Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fee Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6fef Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6ff0 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6ff1 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6ff8 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6ff9 Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6ffa Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6ffb Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6ffc Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6ffd Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 6ffe Xeon E7 v4/Xeon E5 v4/Xeon E3 v4/Xeon D Caching Agent 7000 82371SB PIIX3 ISA [Natoma/Triton II] 1af4 1100 Qemu virtual machine 7010 82371SB PIIX3 IDE [Natoma/Triton II] 1af4 1100 Qemu virtual machine 7020 82371SB PIIX3 USB [Natoma/Triton II] 1af4 1100 QEMU Virtual Machine 7030 430VX - 82437VX TVX [Triton VX] 7050 Intercast Video Capture Card 7051 PB 642365-003 (Business Video Conferencing Card) 7100 430TX - 82439TX MTXC 7110 82371AB/EB/MB PIIX4 ISA 15ad 1976 Virtual Machine Chipset 7111 82371AB/EB/MB PIIX4 IDE 15ad 1976 Virtual Machine Chipset 7112 82371AB/EB/MB PIIX4 USB 15ad 1976 Virtual Machine Chipset 1af4 1100 QEMU Virtual Machine 7113 82371AB/EB/MB PIIX4 ACPI 15ad 1976 Virtual Machine Chipset 1af4 1100 Qemu virtual machine 7120 82810 GMCH (Graphics Memory Controller Hub) 4c53 1040 CL7 mainboard 4c53 1060 PC7 mainboard 7121 82810 (CGC) Chipset Graphics Controller 4c53 1040 CL7 mainboard 4c53 1060 PC7 mainboard 8086 4341 Cayman (CA810) Mainboard 7122 82810 DC-100 (GMCH) Graphics Memory Controller Hub 7123 82810 DC-100 (CGC) Chipset Graphics Controller 7124 82810E DC-133 (GMCH) Graphics Memory Controller Hub 1028 00b4 OptiPlex GX110 7125 82810E DC-133 (CGC) Chipset Graphics Controller 1028 00b4 OptiPlex GX110 7126 82810 DC-133 System and Graphics Controller 7128 82810-M DC-100 System and Graphics Controller 712a 82810-M DC-133 System and Graphics Controller 7180 440LX/EX - 82443LX/EX Host bridge 7181 440LX/EX - 82443LX/EX AGP bridge 7190 440BX/ZX/DX - 82443BX/ZX/DX Host bridge 0e11 0500 Armada 1750 Laptop System Chipset 0e11 b110 Armada M700/E500 1028 008e PowerEdge 1300 mainboard 1043 803b CUBX-L/E Mainboard 1179 0001 Toshiba Tecra 8100 Laptop System Chipset 15ad 1976 Virtual Machine Chipset 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard 7191 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge 1028 008e PowerEdge 1300 mainboard 7192 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) 0e11 0460 Armada 1700 Laptop System Chipset 1179 0001 Satellite 4010 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard 8086 7190 Dell PowerEdge 350 7194 82440MX Host Bridge 1033 0000 Versa Note Vxi 4c53 10a0 CA3/CR3 mainboard 7195 82440MX AC'97 Audio Controller 1033 80cc Versa Note VXi 10cf 1099 QSound_SigmaTel Stac97 PCI Audio 11d4 0040 SoundMAX Integrated Digital Audio 11d4 0048 SoundMAX Integrated Digital Audio 7196 82440MX AC'97 Modem Controller 7198 82440MX ISA Bridge 7199 82440MX EIDE Controller 719a 82440MX USB Universal Host Controller 719b 82440MX Power Management Controller 71a0 440GX - 82443GX Host bridge 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard 71a1 440GX - 82443GX AGP bridge 71a2 440GX - 82443GX Host bridge (AGP disabled) 4c53 1000 CC7/CR7/CP7/VC7/VP7/VR7 mainboard 7360 XMM7360 LTE Advanced Modem 7600 82372FB PIIX5 ISA 7601 82372FB PIIX5 IDE 7602 82372FB PIIX5 USB 7603 82372FB PIIX5 SMBus 7800 82740 (i740) AGP Graphics Accelerator 003d 0008 Starfighter AGP 003d 000b Starfighter AGP 1092 0100 Stealth II G460 10b4 201a Lightspeed 740 10b4 202f Lightspeed 740 8086 0000 Terminator 2x/i 8086 0100 Intel740 Graphics Accelerator 8002 Trusted Execution Technology Registers 8003 Trusted Execution Technology Registers 8100 US15W/US15X SCH [Poulsbo] Host Bridge 8101 US15L/UL11L SCH [Poulsbo] Host Bridge 8108 US15W/US15X SCH [Poulsbo] Graphics Controller 8109 US15L/UL11L SCH [Poulsbo] Graphics Controller 8110 US15W/US15X/US15L/UL11L SCH [Poulsbo] PCI Express Port 1 8112 US15W/US15X/US15L/UL11L SCH [Poulsbo] PCI Express Port 2 8114 US15W/US15X/US15L/UL11L SCH [Poulsbo] USB UHCI Controller #1 8115 US15W/US15X/US15L/UL11L SCH [Poulsbo] USB UHCI Controller #2 8116 US15W/US15X/US15L/UL11L SCH [Poulsbo] USB UHCI Controller #3 8117 US15W/US15X/US15L/UL11L SCH [Poulsbo] USB EHCI Controller 8118 US15W/US15X/US15L/UL11L SCH [Poulsbo] USB Client Controller 8119 US15W/US15X/US15L/UL11L SCH [Poulsbo] LPC Bridge 811a US15W/US15X/US15L/UL11L SCH [Poulsbo] IDE Controller 811b US15W/US15X/US15L/UL11L SCH [Poulsbo] HD Audio Controller 811c US15W/US15X/US15L/UL11L SCH [Poulsbo] SDIO/MMC Controller #1 811d US15W/US15X/US15L/UL11L SCH [Poulsbo] SDIO/MMC Controller #2 811e US15W/US15X/US15L/UL11L SCH [Poulsbo] SDIO/MMC Controller #3 8180 Atom Processor E6xx PCI Express Port 3 8181 Atom Processor E6xx PCI Express Port 4 8182 Atom Processor E6xx Integrated Graphics Controller 8183 Atom Processor E6xx Configuration Unit 8184 Atom Processor E6xx PCI Express Port 1 8185 Atom Processor E6xx PCI Express Port 2 8186 Atom Processor E6xx LPC Bridge 84c4 450KX/GX [Orion] - 82454KX/GX PCI bridge 84c5 450KX/GX [Orion] - 82453KX/GX Memory controller 84ca 450NX - 82451NX Memory & I/O Controller 84cb 450NX - 82454NX/84460GX PCI Expander Bridge 84e0 460GX - 84460GX System Address Controller (SAC) 84e1 460GX - 84460GX System Data Controller (SDC) 84e2 460GX - 84460GX AGP Bridge (GXB function 2) 84e3 460GX - 84460GX Memory Address Controller (MAC) 84e4 460GX - 84460GX Memory Data Controller (MDC) 84e6 460GX - 82466GX Wide and fast PCI eXpander Bridge (WXB) 84ea 460GX - 84460GX AGP Bridge (GXB function 1) 8500 IXP4XX Network Processor (IXP420/421/422/425/IXC1100) 1993 0ded mGuard-PCI AV#2 1993 0dee mGuard-PCI AV#1 1993 0def mGuard-PCI AV#0 87c0 UHD Graphics 617 8800 Platform Controller Hub EG20T PCI Express Port 8801 Platform Controller Hub EG20T Packet Hub 8802 Platform Controller Hub EG20T Gigabit Ethernet Controller 8803 Platform Controller Hub EG20T General Purpose IO Controller 8804 Platform Controller Hub EG20T USB OHCI Controller #4 8805 Platform Controller Hub EG20T USB OHCI Controller #5 8806 Platform Controller Hub EG20T USB OHCI Controller #6 8807 Platform Controller Hub EG20T USB2 EHCI Controller #2 8808 Platform Controller Hub EG20T USB Client Controller 8809 Platform Controller Hub EG20T SDIO Controller #1 880a Platform Controller Hub EG20T SDIO Controller #2 880b Platform Controller Hub EG20T SATA AHCI Controller 880c Platform Controller Hub EG20T USB OHCI Controller #1 880d Platform Controller Hub EG20T USB OHCI Controller #2 880e Platform Controller Hub EG20T USB OHCI Controller #3 880f Platform Controller Hub EG20T USB2 EHCI Controller #1 8810 Platform Controller Hub EG20T DMA Controller #1 8811 Platform Controller Hub EG20T UART Controller 0 8812 Platform Controller Hub EG20T UART Controller 1 8813 Platform Controller Hub EG20T UART Controller 2 8814 Platform Controller Hub EG20T UART Controller 3 8815 Platform Controller Hub EG20T DMA Controller #2 8816 Platform Controller Hub EG20T Serial Peripheral Interface Bus 8817 Platform Controller Hub EG20T I2C Controller 8818 Platform Controller Hub EG20T Controller Area Network (CAN) Controller 8819 Platform Controller Hub EG20T IEEE 1588 Hardware Assist 8a0d Ice Lake Thunderbolt 3 NHI #1 8a13 Ice Lake Thunderbolt 3 USB Controller 8a17 Ice Lake Thunderbolt 3 NHI #0 8a1d Ice Lake Thunderbolt 3 PCI Express Root Port #0 8a1f Ice Lake Thunderbolt 3 PCI Express Root Port #1 8a21 Ice Lake Thunderbolt 3 PCI Express Root Port #2 8a23 Ice Lake Thunderbolt 3 PCI Express Root Port #3 8a51 Iris Plus Graphics G7 (Ice Lake) 8a52 Iris Plus Graphics G7 8a56 Iris Plus Graphics G1 (Ice Lake) 8a5a Iris Plus Graphics G4 (Ice Lake) 8a5c Iris Plus Graphics G4 (Ice Lake) 8c00 8 Series/C220 Series Chipset Family 4-port SATA Controller 1 [IDE mode] 8c01 8 Series Chipset Family 4-port SATA Controller 1 [IDE mode] - Mobile 8c02 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] 103c 1998 EliteDesk 800 G1 17aa 309f ThinkCentre M83 8c03 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] 103c 1909 ZBook 15 17aa 220e ThinkPad T440p 8c04 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c05 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c06 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c07 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c08 8 Series/C220 Series Chipset Family 2-port SATA Controller 2 [IDE mode] 8c09 8 Series/C220 Series Chipset Family 2-port SATA Controller 2 [IDE mode] 8c0e 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c0f 8 Series/C220 Series Chipset Family SATA Controller 1 [RAID mode] 8c10 8 Series/C220 Series Chipset Family PCI Express Root Port #1 103c 1998 EliteDesk 800 G1 1043 8534 ASUS H81I-PLUS 17aa 220e ThinkPad T440p 8c11 8 Series/C220 Series Chipset Family PCI Express Root Port #1 8c12 8 Series/C220 Series Chipset Family PCI Express Root Port #2 103c 1998 EliteDesk 800 G1 17aa 220e ThinkPad T440p 8c13 8 Series/C220 Series Chipset Family PCI Express Root Port #2 8c14 8 Series/C220 Series Chipset Family PCI Express Root Port #3 8c15 8 Series/C220 Series Chipset Family PCI Express Root Port #3 8c16 8 Series/C220 Series Chipset Family PCI Express Root Port #4 8c17 8 Series/C220 Series Chipset Family PCI Express Root Port #4 8c18 8 Series/C220 Series Chipset Family PCI Express Root Port #5 8c19 8 Series/C220 Series Chipset Family PCI Express Root Port #5 8c1a 8 Series/C220 Series Chipset Family PCI Express Root Port #6 8c1b 8 Series/C220 Series Chipset Family PCI Express Root Port #6 8c1c 8 Series/C220 Series Chipset Family PCI Express Root Port #7 8c1d 8 Series/C220 Series Chipset Family PCI Express Root Port #7 8c1e 8 Series/C220 Series Chipset Family PCI Express Root Port #8 8c1f 8 Series/C220 Series Chipset Family PCI Express Root Port #8 8c20 8 Series/C220 Series Chipset High Definition Audio Controller 103c 1909 ZBook 15 103c 1998 EliteDesk 800 G1 17aa 220e ThinkPad T440p 17aa 309f ThinkCentre M83 8c21 8 Series/C220 Series Chipset High Definition Audio Controller 8c22 8 Series/C220 Series Chipset Family SMBus Controller 103c 1909 ZBook 15 103c 1998 EliteDesk 800 G1 17aa 220e ThinkPad T440p 17aa 309f ThinkCentre M83 8c23 8 Series Chipset Family CHAP Counters 8c24 8 Series Chipset Family Thermal Management Controller 8c26 8 Series/C220 Series Chipset Family USB EHCI #1 103c 1909 ZBook 15 103c 1998 EliteDesk 800 G1 17aa 220e ThinkPad T440p 17aa 2210 ThinkPad T540p 17aa 309f ThinkCentre M83 2210 17aa ThinkPad T540p 8c2d 8 Series/C220 Series Chipset Family USB EHCI #2 103c 1909 ZBook 15 103c 1998 EliteDesk 800 G1 17aa 220e ThinkPad T440p 17aa 309f ThinkCentre M83 8c31 8 Series/C220 Series Chipset Family USB xHCI 103c 1909 ZBook 15 103c 1998 EliteDesk 800 G1 17aa 220e ThinkPad T440p 17aa 309f ThinkCentre M83 8c33 8 Series/C220 Series Chipset Family LAN Controller 8c34 8 Series/C220 Series Chipset Family NAND Controller 8c3a 8 Series/C220 Series Chipset Family MEI Controller #1 103c 1909 ZBook 15 103c 1998 EliteDesk 800 G1 17aa 220e ThinkPad T440p 17aa 309f ThinkCentre M83 8c3b 8 Series/C220 Series Chipset Family MEI Controller #2 8c3c 8 Series/C220 Series Chipset Family IDE-r Controller 8c3d 8 Series/C220 Series Chipset Family KT Controller 103c 1998 EliteDesk 800 G1 8c40 8 Series/C220 Series Chipset Family LPC Controller 8c41 8 Series Chipset Family Mobile Super SKU LPC Controller 8c42 8 Series/C220 Series Chipset Family Desktop Super SKU LPC Controller 8c43 8 Series/C220 Series Chipset Family LPC Controller 8c44 Z87 Express LPC Controller 8c45 8 Series/C220 Series Chipset Family LPC Controller 8c46 Z85 Express LPC Controller 8c47 8 Series/C220 Series Chipset Family LPC Controller 8c48 8 Series/C220 Series Chipset Family LPC Controller 8c49 HM86 Express LPC Controller 8c4a H87 Express LPC Controller 8c4b HM87 Express LPC Controller 8c4c Q85 Express LPC Controller 17aa 309f ThinkCentre M83 8c4d 8 Series/C220 Series Chipset Family LPC Controller 8c4e Q87 Express LPC Controller 103c 1998 EliteDesk 800 G1 8c4f QM87 Express LPC Controller 103c 1909 ZBook 15 17aa 220e ThinkPad T440p 8c50 B85 Express LPC Controller 8c51 8 Series/C220 Series Chipset Family LPC Controller 8c52 C222 Series Chipset Family Server Essential SKU LPC Controller 8c53 8 Series/C220 Series Chipset Family LPC Controller 8c54 C224 Series Chipset Family Server Standard SKU LPC Controller 8c55 8 Series/C220 Series Chipset Family LPC Controller 8c56 C226 Series Chipset Family Server Advanced SKU LPC Controller 8c57 8 Series/C220 Series Chipset Family LPC Controller 8c58 8 Series/C220 Series Chipset Family WS SKU LPC Controller 8c59 8 Series/C220 Series Chipset Family LPC Controller 8c5a 8 Series/C220 Series Chipset Family LPC Controller 8c5b 8 Series/C220 Series Chipset Family LPC Controller 8c5c H81 Express LPC Controller 8c5d 8 Series/C220 Series Chipset Family LPC Controller 8c5e 8 Series/C220 Series Chipset Family LPC Controller 8c5f 8 Series/C220 Series Chipset Family LPC Controller 8c80 9 Series Chipset Family SATA Controller [IDE Mode] 8c81 9 Series Chipset Family SATA Controller [IDE Mode] 8c82 9 Series Chipset Family SATA Controller [AHCI Mode] 8c83 9 Series Chipset Family SATA Controller [AHCI Mode] 8c84 9 Series Chipset Family SATA Controller [RAID Mode] 8c85 9 Series Chipset Family SATA Controller [RAID Mode] 8c86 9 Series Chipset Family SATA Controller [RAID Mode] 8c87 9 Series Chipset Family SATA Controller [RAID Mode] 8c88 9 Series Chipset Family SATA Controller [IDE Mode] 8c89 9 Series Chipset Family SATA Controller [IDE Mode] 8c8e 9 Series Chipset Family SATA Controller [RAID Mode] 8c8f 9 Series Chipset Family SATA Controller [RAID Mode] 8c90 9 Series Chipset Family PCI Express Root Port 1 8c92 9 Series Chipset Family PCI Express Root Port 2 8c94 9 Series Chipset Family PCI Express Root Port 3 8c96 9 Series Chipset Family PCI Express Root Port 4 8c98 9 Series Chipset Family PCI Express Root Port 5 8c9a 9 Series Chipset Family PCI Express Root Port 6 8c9c 9 Series Chipset Family PCI Express Root Port 7 8c9e 9 Series Chipset Family PCI Express Root Port 8 8ca0 9 Series Chipset Family HD Audio Controller 8ca2 9 Series Chipset Family SMBus Controller 8ca4 9 Series Chipset Family Thermal Controller 8ca6 9 Series Chipset Family USB EHCI Controller #1 8cad 9 Series Chipset Family USB EHCI Controller #2 8cb1 9 Series Chipset Family USB xHCI Controller 8cb3 9 Series Chipset Family LAN Controller 8cba 9 Series Chipset Family ME Interface #1 8cbb 9 Series Chipset Family ME Interface #2 8cbc 9 Series Chipset Family IDE-R Controller 8cbd 9 Series Chipset Family KT Controller 8cc1 9 Series Chipset Family LPC Controller 8cc2 9 Series Chipset Family LPC Controller 8cc3 HM97 Chipset LPC Controller 8cc4 Z97 Chipset LPC Controller 8cc5 QM97 Chipset LPC Controller 8cc6 H97 Chipset LPC Controller 8d00 C610/X99 series chipset 4-port SATA Controller [IDE mode] 8d02 C610/X99 series chipset 6-Port SATA Controller [AHCI mode] 8d04 C610/X99 series chipset SATA Controller [RAID mode] 8d06 C610/X99 series chipset SATA Controller [RAID mode] 17aa 1031 ThinkServer RAID 110i 8d08 C610/X99 series chipset 2-port SATA Controller [IDE mode] 8d0e C610/X99 series chipset SATA Controller [RAID mode] 8d10 C610/X99 series chipset PCI Express Root Port #1 8d11 C610/X99 series chipset PCI Express Root Port #1 8d12 C610/X99 series chipset PCI Express Root Port #2 8d13 C610/X99 series chipset PCI Express Root Port #2 8d14 C610/X99 series chipset PCI Express Root Port #3 8d15 C610/X99 series chipset PCI Express Root Port #3 8d16 C610/X99 series chipset PCI Express Root Port #4 8d17 C610/X99 series chipset PCI Express Root Port #4 8d18 C610/X99 series chipset PCI Express Root Port #5 8d19 C610/X99 series chipset PCI Express Root Port #5 8d1a C610/X99 series chipset PCI Express Root Port #6 8d1b C610/X99 series chipset PCI Express Root Port #6 8d1c C610/X99 series chipset PCI Express Root Port #7 8d1d C610/X99 series chipset PCI Express Root Port #7 8d1e C610/X99 series chipset PCI Express Root Port #8 8d1f C610/X99 series chipset PCI Express Root Port #8 8d20 C610/X99 series chipset HD Audio Controller 8d21 C610/X99 series chipset HD Audio Controller 8d22 C610/X99 series chipset SMBus Controller 15d9 0832 X10SRL-F 8d24 C610/X99 series chipset Thermal Subsystem 8d26 C610/X99 series chipset USB Enhanced Host Controller #1 15d9 0832 X10SRL-F 8d2d C610/X99 series chipset USB Enhanced Host Controller #2 15d9 0832 X10SRL-F 8d31 C610/X99 series chipset USB xHCI Host Controller 15d9 0832 X10SRL-F 8d33 C610/X99 series chipset LAN Controller 8d34 C610/X99 series chipset NAND Controller 8d3a C610/X99 series chipset MEI Controller #1 15d9 0832 X10SRL-F 8d3b C610/X99 series chipset MEI Controller #2 15d9 0832 X10SRL-F 8d3c C610/X99 series chipset IDE-r Controller 8d3d C610/X99 series chipset KT Controller 8d40 C610/X99 series chipset LPC Controller 8d41 C610/X99 series chipset LPC Controller 8d42 C610/X99 series chipset LPC Controller 8d43 C610/X99 series chipset LPC Controller 8d44 C610/X99 series chipset LPC Controller 15d9 0832 X10SRL-F 8d45 C610/X99 series chipset LPC Controller 8d46 C610/X99 series chipset LPC Controller 8d47 C610/X99 series chipset LPC Controller 8d48 C610/X99 series chipset LPC Controller 8d49 C610/X99 series chipset LPC Controller 8d4a C610/X99 series chipset LPC Controller 8d4b C610/X99 series chipset LPC Controller 8d4c C610/X99 series chipset LPC Controller 8d4d C610/X99 series chipset LPC Controller 8d4e C610/X99 series chipset LPC Controller 8d4f C610/X99 series chipset LPC Controller 8d60 C610/X99 series chipset sSATA Controller [IDE mode] 8d62 C610/X99 series chipset sSATA Controller [AHCI mode] 8d64 C610/X99 series chipset sSATA Controller [RAID mode] 8d66 C610/X99 series chipset sSATA Controller [RAID mode] 8d68 C610/X99 series chipset sSATA Controller [IDE mode] 8d6e C610/X99 series chipset sSATA Controller [RAID mode] 8d7c C610/X99 series chipset SPSR 15d9 0832 X10SRL-F 8d7d C610/X99 series chipset MS SMBus 0 8d7e C610/X99 series chipset MS SMBus 1 8d7f C610/X99 series chipset MS SMBus 2 9000 IXP2000 Family Network Processor 9001 IXP2400 Network Processor 9002 IXP2300 Network Processor 9004 IXP2800 Network Processor 9621 Integrated RAID 9622 Integrated RAID 9641 Integrated RAID 96a1 Integrated RAID 9a09 11th Gen Core Processor PCIe Controller 9a0b Volume Management Device NVMe RAID Controller 9a13 Tiger Lake-LP Thunderbolt USB Controller 9a14 11th Gen Core Processor Host Bridge/DRAM Registers 9a17 Tiger Lake-H Thunderbolt USB Controller 9a1b Tiger Lake-LP Thunderbolt NHI #0 9a1d Tiger Lake-LP Thunderbolt NHI #1 9a1f Tiger Lake-H Thunderbolt NHI #0 9a21 Tiger Lake-H Thunderbolt NHI #1 9a23 Tiger Lake-LP Thunderbolt PCI Express Root Port #0 9a25 Tiger Lake-LP Thunderbolt PCI Express Root Port #1 9a27 Tiger Lake-LP Thunderbolt PCI Express Root Port #2 9a29 Tiger Lake-LP Thunderbolt PCI Express Root Port #3 9a2b Tiger Lake-H Thunderbolt PCI Express Root Port #0 9a2d Tiger Lake-H Thunderbolt PCI Express Root Port #1 9a2f Tiger Lake-H Thunderbolt PCI Express Root Port #2 9a31 Tiger Lake-H Thunderbolt PCI Express Root Port #3 9a33 Tiger Lake Trace Hub 9a49 Iris Xe Graphics 9b41 UHD Graphics 9b44 10th Gen Core Processor Host Bridge/DRAM Registers 9b54 10th Gen Core Processor Host Bridge/DRAM Registers 9b61 Comet Lake-U v1 4c Host Bridge/DRAM Controller 9b64 10th Gen Core Processor Host Bridge/DRAM Registers 9bc4 UHD Graphics 9bc8 UHD Graphics 630 9c00 8 Series SATA Controller 1 [IDE mode] 9c01 8 Series SATA Controller 1 [IDE mode] 9c02 8 Series SATA Controller 1 [AHCI mode] 9c03 8 Series SATA Controller 1 [AHCI mode] 17aa 2214 ThinkPad X240 9c04 8 Series SATA Controller 1 [RAID mode] 9c05 8 Series SATA Controller 1 [RAID mode] 9c06 8 Series SATA Controller 1 [RAID mode] 9c07 8 Series SATA Controller 1 [RAID mode] 9c08 8 Series SATA Controller 2 [IDE mode] 9c09 8 Series SATA Controller 2 [IDE mode] 9c0a 8 Series SATA Controller [Reserved] 9c0b 8 Series SATA Controller [Reserved] 9c0c 8 Series SATA Controller [Reserved] 9c0d 8 Series SATA Controller [Reserved] 9c0e 8 Series SATA Controller 1 [RAID mode] 9c0f 8 Series SATA Controller 1 [RAID mode] 9c10 8 Series PCI Express Root Port 1 9c11 8 Series PCI Express Root Port 1 9c12 8 Series PCI Express Root Port 2 9c13 8 Series PCI Express Root Port 2 9c14 8 Series PCI Express Root Port 3 9c15 8 Series PCI Express Root Port 3 9c16 8 Series PCI Express Root Port 4 9c17 8 Series PCI Express Root Port 4 9c18 8 Series PCI Express Root Port 5 9c19 8 Series PCI Express Root Port 5 9c1a 8 Series PCI Express Root Port 6 9c1b 8 Series PCI Express Root Port 6 9c1c 8 Series PCI Express Root Port 7 9c1d 8 Series PCI Express Root Port 7 9c1e 8 Series PCI Express Root Port 8 9c1f 8 Series PCI Express Root Port 8 9c20 8 Series HD Audio Controller 17aa 2214 ThinkPad X240 9c21 8 Series HD Audio Controller 9c22 8 Series SMBus Controller 17aa 2214 ThinkPad X240 9c23 8 Series CHAP Counters 9c24 8 Series Thermal 9c26 8 Series USB EHCI #1 17aa 220c T440s 17aa 2214 ThinkPad X240 9c2d 8 Series USB EHCI #2 9c31 8 Series USB xHCI HC 17aa 2214 ThinkPad X240 8086 7270 Apple MacBookAir6,2 / MacBookPro11,1 9c35 8 Series SDIO Controller 9c36 8 Series Audio DSP Controller 9c3a 8 Series HECI #0 17aa 2214 ThinkPad X240 9c3b 8 Series HECI #1 9c3c 8 Series HECI IDER 9c3d 8 Series HECI KT 9c40 8 Series LPC Controller 9c41 8 Series LPC Controller 9c42 8 Series LPC Controller 9c43 8 Series LPC Controller 17aa 2214 ThinkPad X240 9c44 8 Series LPC Controller 9c45 8 Series LPC Controller 9c46 8 Series LPC Controller 9c47 8 Series LPC Controller 9c60 8 Series Low Power Sub-System DMA 9c61 8 Series I2C Controller #0 9c62 8 Series I2C Controller #1 9c63 8 Series UART Controller #0 9c64 8 Series UART Controller #1 9c65 8 Series SPI Controller #0 9c66 8 Series SPI Controller #1 9c83 Wildcat Point-LP SATA Controller [AHCI Mode] 9c85 Wildcat Point-LP SATA Controller [RAID Mode] 9c87 Wildcat Point-LP SATA Controller [RAID Mode] 9c8f Wildcat Point-LP SATA Controller [RAID Mode] 9c90 Wildcat Point-LP PCI Express Root Port #1 9c92 Wildcat Point-LP PCI Express Root Port #2 9c94 Wildcat Point-LP PCI Express Root Port #3 9c96 Wildcat Point-LP PCI Express Root Port #4 9c98 Wildcat Point-LP PCI Express Root Port #5 9c9a Wildcat Point-LP PCI Express Root Port #6 9ca0 Wildcat Point-LP High Definition Audio Controller 9ca2 Wildcat Point-LP SMBus Controller 9ca4 Wildcat Point-LP Thermal Management Controller 9ca6 Wildcat Point-LP USB EHCI Controller 9cb1 Wildcat Point-LP USB xHCI Controller 9cb5 Wildcat Point-LP Secure Digital IO Controller 9cb6 Wildcat Point-LP Smart Sound Technology Controller 9cba Wildcat Point-LP MEI Controller #1 9cbb Wildcat Point-LP MEI Controller #2 9cbc Wildcat Point-LP IDE-r Controller 9cbd Wildcat Point-LP KT Controller 9cc1 Wildcat Point-LP LPC Controller 9cc2 Wildcat Point-LP LPC Controller 9cc3 Wildcat Point-LP LPC Controller 9cc5 Wildcat Point-LP LPC Controller 9cc6 Wildcat Point-LP LPC Controller 9cc7 Wildcat Point-LP LPC Controller 9cc9 Wildcat Point-LP LPC Controller 9ce0 Wildcat Point-LP Serial IO DMA Controller 9ce1 Wildcat Point-LP Serial IO I2C Controller #0 9ce2 Wildcat Point-LP Serial IO I2C Controller #1 9ce3 Wildcat Point-LP Serial IO UART Controller #0 9ce4 Wildcat Point-LP Serial IO UART Controller #1 9ce5 Wildcat Point-LP Serial IO GSPI Controller #0 9ce6 Wildcat Point-LP Serial IO GSPI Controller #1 9d03 Sunrise Point-LP SATA Controller [AHCI mode] 1025 115f Acer Aspire E5-575G 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 17aa 225d ThinkPad T480 17aa 382a B51-80 Laptop 9d10 Sunrise Point-LP PCI Express Root Port #1 9d11 Sunrise Point-LP PCI Express Root Port #2 9d12 Sunrise Point-LP PCI Express Root Port #3 9d13 Sunrise Point-LP PCI Express Root Port #4 9d14 Sunrise Point-LP PCI Express Root Port #5 17aa 382a B51-80 Laptop 9d15 Sunrise Point-LP PCI Express Root Port #6 17aa 382a B51-80 Laptop 9d16 Sunrise Point-LP PCI Express Root Port #7 9d17 Sunrise Point-LP PCI Express Root Port #8 9d18 Sunrise Point-LP PCI Express Root Port #9 17aa 382a B51-80 Laptop 9d19 Sunrise Point-LP PCI Express Root Port #10 9d1a Sunrise Point-LP PCI Express Root Port #11 9d21 Sunrise Point-LP PMC 1025 115f Acer Aspire E5-575G 1028 06d6 Latitude 7275 tablet 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 17aa 224f ThinkPad X1 Carbon 5th Gen 17aa 225d ThinkPad T480 17aa 382a B51-80 Laptop 9d23 Sunrise Point-LP SMBus 1025 115f Acer Aspire E5-575G 1028 06d6 Latitude 7275 tablet 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 17aa 2247 ThinkPad T570 17aa 224f ThinkPad X1 Carbon 5th Gen 17aa 225d ThinkPad T480 17aa 382a B51-80 Laptop 9d27 Sunrise Point-LP Serial IO UART Controller #0 9d28 Sunrise Point-LP Serial IO UART Controller #1 9d29 Sunrise Point-LP Serial IO SPI Controller #0 9d2a Sunrise Point-LP Serial IO SPI Controller #1 9d2d Sunrise Point-LP Secure Digital IO Controller 9d2f Sunrise Point-LP USB 3.0 xHCI Controller 1025 115f Acer Aspire E5-575G 1028 06d6 Latitude 7275 tablet 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 17aa 2247 ThinkPad T570 17aa 225d ThinkPad T480 17aa 382a B51-80 Laptop 9d31 Sunrise Point-LP Thermal subsystem 1025 115f Acer Aspire E5-575G 1028 06d6 Latitude 7275 tablet 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 17aa 2247 ThinkPad T570 17aa 224f ThinkPad X1 Carbon 5th Gen 17aa 225d ThinkPad T480 17aa 382a B51-80 Laptop 9d32 CSI-2 Host Controller 1028 06d6 Latitude 7275 tablet 9d35 Sunrise Point-LP Integrated Sensor Hub 1028 06d6 Latitude 7275 tablet 9d3a Sunrise Point-LP CSME HECI #1 1025 115f Acer Aspire E5-575G 1028 06d6 Latitude 7275 tablet 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 17aa 2247 ThinkPad T570 17aa 224f ThinkPad X1 Carbon 5th Gen 17aa 225d ThinkPad T480 17aa 382a B51-80 Laptop 9d3d Sunrise Point-LP Active Management Technology - SOL 103c 8079 EliteBook 840 G3 9d43 Sunrise Point-LP LPC Controller 17aa 382a B51-80 Laptop 9d46 LPC/eSPI Controller 1028 06d6 Latitude 7275 tablet 9d48 Sunrise Point-LP LPC Controller 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 9d4e Sunrise Point LPC Controller/eSPI Controller 17aa 225d ThinkPad T480 9d50 Sunrise Point LPC Controller 9d56 Sunrise Point-LP LPC Controller 9d58 Sunrise Point-LP LPC Controller 1025 115f Acer Aspire E5-575G 17aa 2247 ThinkPad T570 17aa 224f ThinkPad X1 Carbon 5th Gen 9d60 Sunrise Point-LP Serial IO I2C Controller #0 1025 115f Acer Aspire E5-575G 1028 06d6 Latitude 7275 tablet 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 17aa 225d ThinkPad T480 8086 9d60 100 Series PCH/Sunrise Point PCH I2C0 [Skylake/Kaby Lake LPSS I2C] 9d61 Sunrise Point-LP Serial IO I2C Controller #1 1028 06d6 Latitude 7275 tablet 9d62 Sunrise Point-LP Serial IO I2C Controller #2 1028 06d6 Latitude 7275 tablet 9d63 Sunrise Point-LP Serial IO I2C Controller #3 9d64 Sunrise Point-LP Serial IO I2C Controller #4 9d65 Sunrise Point-LP Serial IO I2C Controller #5 9d66 Sunrise Point-LP Serial IO UART Controller #2 9d70 Sunrise Point-LP HD Audio 1028 06d6 Latitude 7275 tablet 1028 06dc Latitude E7470 1028 06f3 Latitude 3570 103c 8079 EliteBook 840 G3 17aa 382a B51-80 Laptop 9d71 Sunrise Point-LP HD Audio 1025 1094 Acer Aspire E5-575G 17aa 224f ThinkPad X1 Carbon 5th Gen 17aa 225d ThinkPad T480 9d84 Cannon Point-LP LPC Controller 1028 089e Inspiron 5482 9da3 Cannon Point-LP SMBus Controller 9da4 Cannon Point-LP SPI Controller 9da8 Cannon Point-LP Serial IO UART Controller #2 9daa Cannon Point-LP Serial IO SPI Controller 9db0 Cannon Point-LP PCI Express Root Port #9 9db1 Cannon Point-LP PCI Express Root Port #10 9db2 Cannon Point-LP PCI Express Root Port #1 9db4 Cannon Point-LP PCI Express Root Port #13 1028 089e Inspiron 5482 9db6 Cannon Point-LP PCI Express Root Port #15 9db8 Cannon Point-LP PCI Express Root Port #1 9dbc Cannon Point-LP PCI Express Root Port #5 9dbe Cannon Point-LP PCI Express Root Port #7 9dbf Cannon Point PCI Express Root Port #8 9dc5 Cannon Point-LP Serial IO I2C Host Controller 9dc8 Cannon Point-LP High Definition Audio Controller 1028 089e Inspiron 5482 9dd3 Cannon Point-LP SATA Controller [AHCI Mode] 9de0 Cannon Point-LP MEI Controller #1 9de3 Cannon Point-LP Keyboard and Text (KT) Redirection 9de8 Cannon Point-LP Serial IO I2C Controller #0 1028 089e Inspiron 5482 9de9 Cannon Point-LP Serial IO I2C Controller #1 1028 089e Inspiron 5482 9ded Cannon Point-LP USB 3.1 xHCI Controller 9def Cannon Point-LP Shared SRAM 9df0 Cannon Point-LP CNVi [Wireless-AC] 9df5 BayHubTech Integrated SD controller 9df9 Cannon Point-LP Thermal Controller 9dfc Cannon Point-LP Integrated Sensor Hub a000 Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge 1458 5000 GA-D525TUD 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT a001 Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller 1458 d000 GA-D525TUD 8086 4f4d DeskTop Board D510MO 8086 544b Desktop Board D425KT a002 Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller a003 Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter a010 Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge 1043 83ac Eee PC 1015PX 144d c072 Notebook N150P a011 Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller 1043 83ac Eee PC 1015PX 144d c072 Notebook N150P a012 Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller 1043 83ac Eee PC 1015PX 144d c072 Notebook N150P a013 Atom Processor D4xx/D5xx/N4xx/N5xx CHAPS counter a082 Tiger Lake-LP LPC Controller a0a3 Tiger Lake-LP SMBus Controller a0a4 Tiger Lake-LP SPI Controller a0a6 Tiger Lake-LP Trace Hub a0a8 Tiger Lake-LP Serial IO UART Controller #0 a0a9 Tiger Lake-LP Serial IO UART Controller #1 a0ab Tiger Lake-LP Serial IO SPI Controller #1 a0b0 Tiger Lake-LP PCI Express Root Port #9 a0bf Tiger Lake-LP PCI Express Root Port #8 a0c5 Tiger Lake-LP Serial IO I2C Controller #4 a0c6 Tiger Lake-LP Serial IO I2C Controller #5 a0c8 Tiger Lake-LP Smart Sound Technology Audio Controller a0e0 Tiger Lake-LP Management Engine Interface a0e8 Tiger Lake-LP Serial IO I2C Controller #0 a0e9 Tiger Lake-LP Serial IO I2C Controller #1 a0ea Tiger Lake-LP Serial IO I2C Controller #2 a0eb Tiger Lake-LP Serial IO I2C Controller #3 a0ed Tiger Lake-LP USB 3.2 Gen 2x1 xHCI Host Controller a0ef Tiger Lake-LP Shared SRAM a0f0 Wi-Fi 6 AX201 a0fc Tiger Lake-LP Integrated Sensor Hub a102 Q170/Q150/B150/H170/H110/Z170/CM236 Chipset SATA Controller [AHCI Mode] a103 HM170/QM170 Chipset SATA Controller [AHCI Mode] 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv a105 Sunrise Point-H SATA Controller [RAID mode] a106 Q170/H170/Z170/CM236 Chipset SATA Controller [RAID Mode] a107 HM170/QM170 Chipset SATA Controller [RAID Mode] a10f Sunrise Point-H SATA Controller [RAID mode] a110 100 Series/C230 Series Chipset Family PCI Express Root Port #1 a111 100 Series/C230 Series Chipset Family PCI Express Root Port #2 a112 100 Series/C230 Series Chipset Family PCI Express Root Port #3 a113 100 Series/C230 Series Chipset Family PCI Express Root Port #4 a114 100 Series/C230 Series Chipset Family PCI Express Root Port #5 a115 100 Series/C230 Series Chipset Family PCI Express Root Port #6 a116 100 Series/C230 Series Chipset Family PCI Express Root Port #7 a117 100 Series/C230 Series Chipset Family PCI Express Root Port #8 a118 100 Series/C230 Series Chipset Family PCI Express Root Port #9 a119 100 Series/C230 Series Chipset Family PCI Express Root Port #10 a11a 100 Series/C230 Series Chipset Family PCI Express Root Port #11 a11b 100 Series/C230 Series Chipset Family PCI Express Root Port #12 a11c 100 Series/C230 Series Chipset Family PCI Express Root Port #13 a11d 100 Series/C230 Series Chipset Family PCI Express Root Port #14 a11e 100 Series/C230 Series Chipset Family PCI Express Root Port #15 a11f 100 Series/C230 Series Chipset Family PCI Express Root Port #16 a120 100 Series/C230 Series Chipset Family P2SB a121 100 Series/C230 Series Chipset Family Power Management Controller 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv a122 Sunrise Point-H cAVS a123 100 Series/C230 Series Chipset Family SMBus 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv a124 100 Series/C230 Series Chipset Family SPI Controller a125 100 Series/C230 Series Chipset Family Gigabit Ethernet Controller a126 100 Series/C230 Series Chipset Family Trace Hub a127 100 Series/C230 Series Chipset Family Serial IO UART #0 a128 100 Series/C230 Series Chipset Family Serial IO UART #1 a129 100 Series/C230 Series Chipset Family Serial IO GSPI #0 a12a 100 Series/C230 Series Chipset Family Serial IO GSPI #1 a12f 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv a130 100 Series/C230 Series Chipset Family USB Device Controller (OTG) a131 100 Series/C230 Series Chipset Family Thermal Subsystem 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv a133 Sunrise Point-H Northpeak ACPI Function a135 100 Series/C230 Series Chipset Family Integrated Sensor Hub a13a 100 Series/C230 Series Chipset Family MEI Controller #1 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv a13b 100 Series/C230 Series Chipset Family MEI Controller #2 a13c 100 Series/C230 Series Chipset Family IDE Redirection a13d 100 Series/C230 Series Chipset Family KT Redirection a13e 100 Series/C230 Series Chipset Family MEI Controller #3 a140 Sunrise Point-H LPC Controller a141 Sunrise Point-H LPC Controller a142 Sunrise Point-H LPC Controller a143 H110 Chipset LPC/eSPI Controller a144 H170 Chipset LPC/eSPI Controller a145 Z170 Chipset LPC/eSPI Controller a146 Q170 Chipset LPC/eSPI Controller a147 Q150 Chipset LPC/eSPI Controller a148 B150 Chipset LPC/eSPI Controller a149 C236 Chipset LPC/eSPI Controller a14a C232 Chipset LPC/eSPI Controller a14b Sunrise Point-H LPC Controller a14c Sunrise Point-H LPC Controller a14d QM170 Chipset LPC/eSPI Controller a14e HM170 Chipset LPC/eSPI Controller 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv a14f Sunrise Point-H LPC Controller a150 CM236 Chipset LPC/eSPI Controller a151 Sunrise Point-H LPC Controller a152 HM175 Chipset LPC/eSPI Controller a153 QM175 Chipset LPC/eSPI Controller a154 CM238 Chipset LPC/eSPI Controller a155 Sunrise Point-H LPC Controller a156 Sunrise Point-H LPC Controller a157 Sunrise Point-H LPC Controller a158 Sunrise Point-H LPC Controller a159 Sunrise Point-H LPC Controller a15a Sunrise Point-H LPC Controller a15b Sunrise Point-H LPC Controller a15c Sunrise Point-H LPC Controller a15d Sunrise Point-H LPC Controller a15e Sunrise Point-H LPC Controller a15f Sunrise Point-H LPC Controller a160 100 Series/C230 Series Chipset Family Serial IO I2C Controller #0 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv a161 100 Series/C230 Series Chipset Family Serial IO I2C Controller #1 1028 06e4 XPS 15 9550 a162 100 Series/C230 Series Chipset Family Serial IO I2C Controller #2 a163 100 Series/C230 Series Chipset Family Serial IO I2C Controller #3 a166 100 Series/C230 Series Chipset Family Serial IO UART Controller #2 a167 100 Series/C230 Series Chipset Family PCI Express Root Port #17 a168 100 Series/C230 Series Chipset Family PCI Express Root Port #18 a169 100 Series/C230 Series Chipset Family PCI Express Root Port #19 a16a 100 Series/C230 Series Chipset Family PCI Express Root Port #20 a170 100 Series/C230 Series Chipset Family HD Audio Controller 1028 06e4 XPS 15 9550 103c 825b OMEN-17-w001nv a171 CM238 HD Audio Controller a182 C620 Series Chipset Family SATA Controller [AHCI mode] a186 C620 Series Chipset Family SATA Controller [RAID mode] a190 C620 Series Chipset Family PCI Express Root Port #1 a191 C620 Series Chipset Family PCI Express Root Port #2 a192 C620 Series Chipset Family PCI Express Root Port #3 a193 C620 Series Chipset Family PCI Express Root Port #4 a194 C620 Series Chipset Family PCI Express Root Port #5 a195 C620 Series Chipset Family PCI Express Root Port #6 a196 C620 Series Chipset Family PCI Express Root Port #7 a197 C620 Series Chipset Family PCI Express Root Port #8 a198 C620 Series Chipset Family PCI Express Root Port #9 a199 C620 Series Chipset Family PCI Express Root Port #10 a19a C620 Series Chipset Family PCI Express Root Port #11 a19b C620 Series Chipset Family PCI Express Root Port #12 a19c C620 Series Chipset Family PCI Express Root Port #13 a19d C620 Series Chipset Family PCI Express Root Port #14 a19e C620 Series Chipset Family PCI Express Root Port #15 a19f C620 Series Chipset Family PCI Express Root Port #16 a1a0 C620 Series Chipset Family P2SB a1a1 C620 Series Chipset Family Power Management Controller 15d9 095d X11SPM-TF a1a2 C620 Series Chipset Family cAVS a1a3 C620 Series Chipset Family SMBus 15d9 095d X11SPM-TF a1a4 C620 Series Chipset Family SPI Controller 15d9 095d X11SPM-TF a1a6 C620 Series Chipset Family Trace Hub a1af C620 Series Chipset Family USB 3.0 xHCI Controller 15d9 095d X11SPM-TF a1b1 C620 Series Chipset Family Thermal Subsystem 15d9 095d X11SPM-TF a1ba C620 Series Chipset Family MEI Controller #1 15d9 095d X11SPM-TF a1bb C620 Series Chipset Family MEI Controller #2 15d9 095d X11SPM-TF a1bc C620 Series Chipset Family IDE Redirection a1bd C620 Series Chipset Family KT Redirection a1be C620 Series Chipset Family MEI Controller #3 15d9 095d X11SPM-TF a1c1 C621 Series Chipset LPC/eSPI Controller a1c2 C622 Series Chipset LPC/eSPI Controller 15d9 095d X11SPM-TF a1c3 C624 Series Chipset LPC/eSPI Controller a1c4 C625 Series Chipset LPC/eSPI Controller a1c5 C626 Series Chipset LPC/eSPI Controller a1c6 C627 Series Chipset LPC/eSPI Controller a1c7 C628 Series Chipset LPC/eSPI Controller a1d2 C620 Series Chipset Family SSATA Controller [AHCI mode] a1d6 C620 Series Chipset Family SSATA Controller [RAID mode] a1e7 C620 Series Chipset Family PCI Express Root Port #17 a1e8 C620 Series Chipset Family PCI Express Root Port #18 a1e9 C620 Series Chipset Family PCI Express Root Port #19 a1ea C620 Series Chipset Family PCI Express Root Port #20 a1ec C620 Series Chipset Family MROM 0 a1ed C620 Series Chipset Family MROM 1 a1f8 Lewisburg IE: HECI #1 a1f9 Lewisburg IE: HECI #2 a1fa Lewisburg IE: IDE-r a1fb Lewisburg IE: KT Controller a1fc Lewisburg IE: HECI #3 a202 Lewisburg SATA Controller [AHCI mode] a206 Lewisburg SATA Controller [RAID mode] a223 Lewisburg SMBus a224 Lewisburg SPI Controller a242 Lewisburg LPC or eSPI Controller a243 Lewisburg LPC or eSPI Controller a252 Lewisburg SSATA Controller [AHCI mode] a256 Lewisburg SSATA Controller [RAID mode] a282 200 Series PCH SATA controller [AHCI mode] a286 200 Series PCH SATA controller [RAID mode] a290 200 Series PCH PCI Express Root Port #1 a291 200 Series PCH PCI Express Root Port #2 a292 200 Series PCH PCI Express Root Port #3 a293 200 Series PCH PCI Express Root Port #4 a294 200 Series PCH PCI Express Root Port #5 a295 200 Series PCH PCI Express Root Port #6 a296 200 Series PCH PCI Express Root Port #7 a297 200 Series PCH PCI Express Root Port #8 a298 200 Series PCH PCI Express Root Port #9 a299 200 Series PCH PCI Express Root Port #10 a29a 200 Series PCH PCI Express Root Port #11 a29b 200 Series PCH PCI Express Root Port #12 a29c 200 Series PCH PCI Express Root Port #13 a29d 200 Series PCH PCI Express Root Port #14 a29e 200 Series PCH PCI Express Root Port #15 a29f 200 Series PCH PCI Express Root Port #16 a2a0 200 Series/Z370 Chipset Family P2SB a2a1 200 Series/Z370 Chipset Family Power Management Controller a2a3 200 Series/Z370 Chipset Family SMBus Controller a2a4 200 Series/Z370 Chipset Family SPI Controller a2a5 200 Series/Z370 Chipset Family Gigabit Ethernet Controller a2a6 200 Series/Z370 Chipset Family Trace Hub a2a7 200 Series/Z370 Chipset Family Serial IO UART Controller #0 a2a8 200 Series/Z370 Chipset Family Serial IO UART Controller #1 a2a9 200 Series/Z370 Chipset Family Serial IO SPI Controller #0 a2aa 200 Series/Z370 Chipset Family Serial IO SPI Controller #1 a2af 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller a2b1 200 Series PCH Thermal Subsystem a2ba 200 Series PCH CSME HECI #1 a2bb 200 Series PCH CSME HECI #2 a2c4 200 Series PCH LPC Controller (H270) a2c5 200 Series PCH LPC Controller (Z270) a2c6 200 Series PCH LPC Controller (Q270) a2c7 200 Series PCH LPC Controller (Q250) a2c8 200 Series PCH LPC Controller (B250) a2c9 Z370 Chipset LPC/eSPI Controller a2d2 X299 Chipset LPC/eSPI Controller a2d3 C422 Chipset LPC/eSPI Controller a2e0 200 Series PCH Serial IO I2C Controller #0 a2e1 200 Series PCH Serial IO I2C Controller #1 a2e2 200 Series PCH Serial IO I2C Controller #2 a2e3 200 Series PCH Serial IO I2C Controller #3 a2e6 200 Series PCH Serial IO UART Controller #2 a2e7 200 Series PCH PCI Express Root Port #17 a2e8 200 Series PCH PCI Express Root Port #18 a2e9 200 Series PCH PCI Express Root Port #19 a2ea 200 Series PCH PCI Express Root Port #20 a2eb 200 Series PCH PCI Express Root Port #21 a2ec 200 Series PCH PCI Express Root Port #22 a2ed 200 Series PCH PCI Express Root Port #23 a2ee 200 Series PCH PCI Express Root Port #24 a2f0 200 Series PCH HD Audio a304 H370 Chipset LPC/eSPI Controller 1028 0869 Vostro 3470 a305 Z390 Chipset LPC/eSPI Controller a306 Q370 Chipset LPC/eSPI Controller a309 Cannon Point-LP LPC Controller a30c QM370 Chipset LPC/eSPI Controller a30d HM470 Chipset LPC/eSPI Controller a30e Cannon Lake LPC Controller a323 Cannon Lake PCH SMBus Controller 1028 0869 Vostro 3470 a324 Cannon Lake PCH SPI Controller 1028 0869 Vostro 3470 a328 Cannon Lake PCH Serial IO UART Host Controller a32c Cannon Lake PCH PCI Express Root Port #21 a32d Cannon Lake PCH PCI Express Root Port #22 a32e Cannon Lake PCH PCI Express Root Port #23 a32f Cannon Lake PCH PCI Express Root Port #24 a330 Cannon Lake PCH PCI Express Root Port #9 a331 Cannon Lake PCH PCI Express Root Port #10 a332 Cannon Lake PCH PCI Express Root Port #11 a333 Cannon Lake PCH PCI Express Root Port #12 a334 Cannon Lake PCH PCI Express Root Port #13 a335 Cannon Lake PCH PCI Express Root Port #14 a336 Cannon Lake PCH PCI Express Root Port #15 a337 Cannon Lake PCH PCI Express Root Port #16 a338 Cannon Lake PCH PCI Express Root Port #1 a339 Cannon Lake PCH PCI Express Root Port #2 a33a Cannon Lake PCH PCI Express Root Port #3 a33b Cannon Lake PCH PCI Express Root Port #4 a33c Cannon Lake PCH PCI Express Root Port #5 a33d Cannon Lake PCH PCI Express Root Port #6 a33e Cannon Lake PCH PCI Express Root Port #7 a33f Cannon Lake PCH PCI Express Root Port #8 a340 Cannon Lake PCH PCI Express Root Port #17 a341 Cannon Lake PCH PCI Express Root Port #18 a342 Cannon Lake PCH PCI Express Root Port #19 a343 Cannon Lake PCH PCI Express Root Port #20 a348 Cannon Lake PCH cAVS 1028 0869 Vostro 3470 a352 Cannon Lake PCH SATA AHCI Controller 1028 0869 Vostro 3470 a353 Cannon Lake Mobile PCH SATA AHCI Controller a360 Cannon Lake PCH HECI Controller 1028 0869 Vostro 3470 a363 Cannon Lake PCH Active Management Technology - SOL a364 Cannon Lake PCH HECI Controller #2 a368 Cannon Lake PCH Serial IO I2C Controller #0 a369 Cannon Lake PCH Serial IO I2C Controller #1 a36a Cannon Lake PCH Serial IO I2C Controller #2 a36b Cannon Lake PCH Serial IO I2C Controller #3 a36d Cannon Lake PCH USB 3.1 xHCI Host Controller 1028 0869 Vostro 3470 a36f Cannon Lake PCH Shared SRAM a370 Wireless-AC 9560 [Jefferson Peak] 1a56 1552 Killer(R) Wireless-AC 1550i Wireless Network Adapter (9560NGW) a379 Cannon Lake PCH Thermal Controller 1028 0869 Vostro 3470 a382 400 Series Chipset Family SATA AHCI Controller a3a3 Comet Lake PCH-V SMBus Host Controller a3b1 Comet Lake PCH-V Thermal Subsystem a620 6400/6402 Advanced Memory Buffer (AMB) abc0 Omni-Path Fabric Switch Silicon 100 Series b152 21152 PCI-to-PCI Bridge 8086 b152 21152 PCI-to-PCI Bridge # observed, and documented in Intel revision note; new mask of 1011:0026 b154 21154 PCI-to-PCI Bridge b555 21555 Non transparent PCI-to-PCI Bridge 12c7 5005 SS7HD PCI Adaptor Card 12c7 5006 SS7HDC cPCI Adaptor Card 12d9 000a PCI VoIP Gateway 4c53 1050 CT7 mainboard 4c53 1051 CE7 mainboard e4bf 1000 CC8-1-BLUES d130 Core Processor DMI 15d9 0605 X8SIL d131 Core Processor DMI 1028 02da OptiPlex 980 15d9 060d C7SIM-Q Motherboard d132 Core Processor DMI 1028 040b Latitude E6510 d133 Core Processor DMI d134 Core Processor DMI d135 Core Processor DMI d136 Core Processor DMI d137 Core Processor DMI d138 Core Processor PCI Express Root Port 1 1028 02da OptiPlex 980 1028 040b Latitude E6510 15d9 060d C7SIM-Q Motherboard d139 Core Processor PCI Express Root Port 2 d13a Core Processor PCI Express Root Port 3 d13b Core Processor PCI Express Root Port 4 d150 Core Processor QPI Link d151 Core Processor QPI Routing and Protocol Registers d155 Core Processor System Management Registers d156 Core Processor Semaphore and Scratchpad Registers d157 Core Processor System Control and Status Registers d158 Core Processor Miscellaneous Registers f1a5 SSD 600P Series f1a6 SSD Pro 7600p/760p/E 6100p Series 8086 390b SSD Pro 7600p/760p/E 6100p Series [NVM Express] f1a8 SSD 660P Series 8088 Beijing Wangxun Technology Co., Ltd. 0101 WX1860A2 Gigabit Ethernet Controller 8088 0201 Dual-Port Ethernet Network Adaptor SF200T 0102 WX1860A2S Gigabit Ethernet Controller 8088 0210 Dual-Port Ethernet Network Adaptor SF200T-S 0103 WX1860A4 Gigabit Ethernet Controller 8088 0401 Qual-Port Ethernet Network Adaptor SF400T 8088 0440 Qual-Port Ethernet Network Adaptor SF400-OCP 0104 WX1860A4S Gigabit Ethernet Controller 8088 0410 Qual-Port Ethernet Network Adaptor SF400T-S 0105 WX1860AL2 Gigabit Ethernet Controller 8088 0202 Dual-Port Ethernet Network Adaptor SF200HT 0106 WX1860AL2S Gigabit Ethernet Controller 8088 0220 Dual-Port Ethernet Network Adaptor SF200HT-S 0107 WX1860AL4 Gigabit Ethernet Controller 8088 0402 Qual-Port Ethernet Network Adaptor SF400HT 0108 WX1860AL4S Gigabit Ethernet Controller 8088 0420 Qual-Port Ethernet Network Adaptor SF400HT-S 1001 Ethernet Controller RP1000 for 10GbE SFP+ 8088 0000 Ethernet Network Adaptor RP1000 for 10GbE SFP+ 2001 Ethernet Controller RP2000 for 10GbE SFP+ 8088 2000 Ethernet Network Adaptor RP2000 for 10GbE SFP+ 80ee InnoTek Systemberatung GmbH beef VirtualBox Graphics Adapter cafe VirtualBox Guest Service 8322 Sodick America Corp. 8384 SigmaTel 8401 TRENDware International Inc. 8686 ScaleMP 1010 vSMP Foundation controller [vSMP CTL] 1011 vSMP Foundation MEX/FLX controller [vSMP CTL] 8800 Trigem Computer Inc. 2008 Video assistant component 8866 T-Square Design Inc. 8888 Silicon Magic 8912 TRX # 8c4a is not Winbond but there is a board misprogrammed 8c4a Winbond 1980 W89C940 misprogrammed [ne2k] 8e0e Computone Corporation 8e2e KTI 3000 ET32P2 9004 Adaptec 0078 AHA-2940U_CN 1078 AIC-7810 1160 AIC-1160 [Family Fibre Channel Adapter] 2178 AIC-7821 3860 AHA-2930CU 3b78 AHA-4844W/4844UW 5075 AIC-755x 5078 AIC-7850T/7856T [AVA-2902/4/6 / AHA-2910] 9004 7850 AIC-7850T/7856T [AVA-290x / AHA-2910] 5175 AIC-755x 5178 AIC-7851 5275 AIC-755x 5278 AIC-7852 5375 AIC-755x 5378 AIC-7850 5475 AIC-755x 5478 AIC-7850 5575 AVA-2930 5578 AIC-7855 5647 ANA-7711 TCP Offload Engine 9004 7710 ANA-7711F TCP Offload Engine - Optical 9004 7711 ANA-7711LP TCP Offload Engine - Copper 5675 AIC-755x 5678 AIC-7856 5775 AIC-755x 5778 AIC-7850 5800 AIC-5800 5900 ANA-5910/5930/5940 ATM155 & 25 LAN Adapter 5905 ANA-5910A/5930A/5940A ATM Adapter 6038 AIC-3860 6075 AIC-1480 / APA-1480 9004 7560 AIC-1480 / APA-1480 Cardbus 6078 AIC-7860 6178 AIC-7861 9004 7861 AHA-2940AU Single 6278 AIC-7860 6378 AIC-7860 6478 AIC-786x 6578 AIC-786x 6678 AIC-786x 6778 AIC-786x 6915 ANA620xx/ANA69011A 9004 0008 ANA69011A/TX 10/100 9004 0009 ANA69011A/TX 10/100 9004 0010 ANA62022 2-port 10/100 9004 0018 ANA62044 4-port 10/100 9004 0019 ANA62044 4-port 10/100 9004 0020 ANA62022 2-port 10/100 9004 0028 ANA69011A/TX 10/100 9004 8008 ANA69011A/TX 64 bit 10/100 9004 8009 ANA69011A/TX 64 bit 10/100 9004 8010 ANA62022 2-port 64 bit 10/100 9004 8018 ANA62044 4-port 64 bit 10/100 9004 8019 ANA62044 4-port 64 bit 10/100 9004 8020 ANA62022 2-port 64 bit 10/100 9004 8028 ANA69011A/TX 64 bit 10/100 7078 AHA-294x / AIC-7870 7178 AIC-7870P/7871 [AHA-2940/W/S76] 7278 AHA-3940/3940W / AIC-7872 7378 AHA-3985 / AIC-7873 7478 AHA-2944/2944W / AIC-7874 7578 AHA-3944/3944W / AIC-7875 7678 AHA-4944W/UW / AIC-7876 7710 ANA-7711F Network Accelerator Card (NAC) - Optical 7711 ANA-7711C Network Accelerator Card (NAC) - Copper 7778 AIC-787x 7810 AIC-7810 7815 AIC-7815 RAID+Memory Controller IC 9004 7815 ARO-1130U2 RAID Controller 9004 7840 AIC-7815 RAID+Memory Controller IC 7850 AIC-7850 7855 AHA-2930 7860 AIC-7860 7870 AIC-7870 7871 AHA-2940 7872 AHA-3940 7873 AHA-3980 7874 AHA-2944 7880 AIC-7880P 7890 AIC-7890 7891 AIC-789x 7892 AIC-789x 7893 AIC-789x 7894 AIC-789x 7895 AHA-2940U/UW / AHA-39xx / AIC-7895 9004 7890 AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B 9004 7891 AHA-2940U/2940UW Dual 9004 7892 AHA-3940AU/AUW/AUWD/UWD 9004 7894 AHA-3944AUWD 9004 7895 AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B 9004 7896 AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B 9004 7897 AHA-2940U/2940UW Dual AHA-394xAU/AUW/AUWD AIC-7895B 7896 AIC-789x 7897 AIC-789x 8078 AIC-7880U 9004 7880 AIC-7880P Ultra/Ultra Wide SCSI Chipset 8178 AIC-7870P/7881U [AHA-2940U/UW/D/S76] 9004 7881 AHA-2940UW SCSI Host Adapter 8278 AHA-3940U/UW/UWD / AIC-7882U 8378 AHA-3940U/UW / AIC-7883U 8478 AHA-2944UW / AIC-7884U 8578 AHA-3944U/UWD / AIC-7885 8678 AHA-4944UW / AIC-7886 8778 AHA-2940UW Pro / AIC-788x 9004 7887 2940UW Pro Ultra-Wide SCSI Controller 8878 AHA-2930UW / AIC-7888 9004 7888 AHA-2930UW SCSI Controller 8b78 ABA-1030 ec78 AHA-4944W/UW # Acquired by Microchip Technology 9005 Adaptec 0010 AHA-2940U2/U2W 9005 2180 AHA-2940U2 SCSI Controller 9005 8100 AHA-2940U2B SCSI Controller 9005 a100 AHA-2940U2B SCSI Controller 9005 a180 AIC-3860Q [AHA-2940U2W/GE] SCSI Controller 9005 e100 AHA-2950U2B SCSI Controller 0011 AHA-2930U2 0013 78902 9005 0003 AAA-131U2 Array1000 1 Channel RAID Controller 9005 000f AIC7890_ARO 001f AHA-2940U2/U2W / 7890/7891 9005 000f 2940U2W SCSI Controller 9005 a180 2940U2W SCSI Controller 0020 AIC-7890 002f AIC-7890 0030 AIC-7890 003f AIC-7890 0050 AHA-3940U2x/395U2x 9005 f500 AHA-3950U2B 9005 ffff AHA-3950U2B 0051 AHA-3950U2D 9005 b500 AHA-3950U2D 0053 AIC-7896 SCSI Controller 9005 ffff AIC-7896 SCSI Controller mainboard implementation 005f AIC-7896U2/7897U2 0080 AIC-7892A U160/m 0e11 e2a0 Compaq 64-Bit/66MHz Wide Ultra3 SCSI Adapter 9005 6220 AHA-29160C 9005 62a0 29160N Ultra160 SCSI Controller 9005 e220 29160LP Low Profile Ultra160 SCSI Controller 9005 e2a0 29160 Ultra160 SCSI Controller 0081 AIC-7892B U160/m 9005 62a1 19160 Ultra160 SCSI Controller 0083 AIC-7892D U160/m 008f AIC-7892P U160/m 1179 0001 Magnia Z310 15d9 9005 Onboard SCSI Host Adapter 0092 AVC-2010 [VideoH!] 0093 AVC-2410 [VideoH!] 00c0 AHA-3960D / AIC-7899A U160/m 0e11 f620 Compaq 64-Bit/66MHz Dual Channel Wide Ultra3 SCSI Adapter 9005 f620 AHA-3960D U160/m 00c1 AIC-7899B U160/m 00c3 AIC-7899D U160/m 00c5 RAID subsystem HBA 1028 00c5 PowerEdge 2400,2500,2550,4400 00cf AIC-7899P U160/m 1028 00ce PowerEdge 1400 1028 00d1 PowerEdge 2550 1028 00d9 PowerEdge 2500 10f1 2462 Thunder K7 S2462 15d9 9005 Onboard SCSI Host Adapter 8086 3411 SDS2 Mainboard 0241 Serial ATA II RAID 1420SA 0242 Serial ATA II RAID 1220SA 0243 Serial ATA II RAID 1430SA 0244 eSATA II RAID 1225SA 0250 ServeRAID Controller 1014 0279 ServeRAID 6M 1014 028c ServeRAID 6i/6i+ 1014 028e ServeRAID 7k 0279 ServeRAID 6M 0283 AAC-RAID 9005 0283 Catapult 0284 AAC-RAID 9005 0284 Tomcat 0285 AAC-RAID 0e11 0295 SATA 6Ch (Bearcat) 1014 02f2 ServeRAID 8i 1028 0287 PowerEdge Expandable RAID Controller 320/DC 1028 0291 CERC SATA RAID 2 PCI SATA 6ch (DellCorsair) 103c 3227 AAR-2610SA 108e 0286 Sun StorageTek SAS RAID HBA, Internal 108e 0287 STK RAID EXT 108e 7aac STK RAID REM 108e 7aae STK RAID EX 15d9 02b5 SMC AOC-USAS-S4i 15d9 02b6 SMC AOC-USAS-S8i 15d9 02c9 SMC AOC-USAS-S4iR 15d9 02ca SMC AOC-USAS-S8iR 15d9 02d2 SMC AOC-USAS-S8i-LP 15d9 02d3 SMC AOC-USAS-S8iR-LP 17aa 0286 Legend S220 (Legend Crusader) 17aa 0287 Legend S230 (Legend Vulcan) 9005 0285 2200S (Vulcan) 9005 0286 2120S (Crusader) 9005 0287 2200S (Vulcan-2m) 9005 0288 3230S (Harrier) 9005 0289 3240S (Tornado) # Some early versions reported 2020S 9005 028a ASR-2020ZCR # Some early versions reported 2025S 9005 028b ASR-2025ZCR (Terminator) 9005 028e ASR-2020SA (Skyhawk) 9005 028f ASR-2025SA 9005 0290 AAR-2410SA PCI SATA 4ch (Jaguar II) 9005 0292 AAR-2810SA PCI SATA 8ch (Corsair-8) 9005 0293 AAR-21610SA PCI SATA 16ch (Corsair-16) 9005 0294 ESD SO-DIMM PCI-X SATA ZCR (Prowler) 9005 0296 ASR-2240S 9005 0297 ASR-4005SAS 9005 0298 ASR-4000 9005 0299 ASR-4800SAS 9005 029a 4805SAS 9005 02a4 ICP ICP9085LI 9005 02a5 ICP ICP5085BR 9005 02b5 ASR5800 9005 02b6 ASR5805 9005 02b7 ASR5808 9005 02b8 ICP5445SL 9005 02b9 ICP5085SL 9005 02ba ICP5805SL 9005 02bb 3405 9005 02bc 3805 9005 02bd 31205 9005 02be 31605 9005 02bf ICP ICP5045BL 9005 02c0 ICP ICP5085BL 9005 02c1 ICP ICP5125BR 9005 02c2 ICP ICP5165BR 9005 02c3 51205 9005 02c4 51605 9005 02c5 ICP ICP5125SL 9005 02c6 ICP ICP5165SL 9005 02c7 3085 9005 02c8 ICP5805BL 9005 02ce 51245 9005 02cf 51645 9005 02d0 52445 9005 02d1 5405 9005 02d4 ASR-2045 9005 02d5 ASR-2405 9005 02d6 ASR-2445 9005 02d7 ASR-2805 9005 02d8 5405G 9005 02d9 5445G 9005 02da 5805G 9005 02db 5085G 9005 02dc 51245G 9005 02dd 51645G 9005 02de 52445G 9005 02df ASR-2045G 9005 02e0 ASR-2405G 9005 02e1 ASR-2445G 9005 02e2 ASR-2805G 0286 AAC-RAID (Rocket) 1014 034d 8s 1014 9540 ServeRAID 8k/8k-l4 1014 9580 ServeRAID 8k/8k-l8 9005 028c ASR-2230S + ASR-2230SLP PCI-X (Lancer) 9005 028d ASR-2130S 9005 029b ASR-2820SA 9005 029c ASR-2620SA 9005 029d ASR-2420SA 9005 029e ICP ICP9024R0 9005 029f ICP ICP9014R0 9005 02a0 ICP ICP9047MA 9005 02a1 ICP ICP9087MA 9005 02a2 3800 9005 02a3 ICP ICP5445AU 9005 02a4 ICP ICP9085LI 9005 02a5 ICP ICP5085BR 9005 02a6 ICP9067MA 9005 02a7 3805 9005 02a8 3400 9005 02a9 ICP ICP5085AU 9005 02aa ICP ICP5045AU 9005 02ac 1800 9005 02b3 2400 9005 02b4 ICP ICP5045AL 9005 0800 Callisto 028b Series 6 - 6G SAS/PCIe 2 9005 0200 Series 6 Entry Level - ASR-6405E - 4 internal 6G SAS ports 9005 0201 Series 6 Entry Level - ASR-6805E - 8 internal 6G SAS ports 9005 0300 Series 6 - ASR-6405 - 4 internal 6G SAS ports 9005 0301 Series 6 - ASR-6805 - 8 internal 6G SAS ports 9005 0302 Series 6 - ASR-6445 - 4 internal and 4 external 6G SAS ports 9005 0310 Series 6 Connectors on Top - ASR-6405T - 4 internal 6G SAS ports 9005 0311 Series 6 Connectors on Top - ASR-6805T - 8 internal 6G SAS 9005 0400 Series 6 - ASR-61205 - 12 internal 6G SAS ports 9005 0401 Series 6 - ASR-61605 - 16 internal 6G SAS ports 9005 0403 Series 6 - ASR-62405 - 24 internal 6G SAS ports 028c Series 7 6G SAS/PCIe 3 9005 0500 Series 7 - ASR-7805 - 8 internal 6G SAS Port/PCIe 3.0 9005 0501 Series 7 - ASR-71605 - 16 internal 6G SAS Port/PCIe 3.0 9005 0502 Series 7 - ASR-71685 - 16 internal 8 external 6G SAS Port/PCIe 3.0 9005 0503 Series 7 - ASR-72405 - 24 internal 0 external 6G SAS Port/PCIe 3.0 9005 0504 Series 7 - ASR-7885 - 8 internal 8 external 6G SAS Port/PCIe 3.0 9005 0505 Series 7 Entry Level - ASR-71685E - 16 internal 8 external 6G SAS Port/PCIe 3.0 9005 0506 Series 7 Entry Level - ASR-72405E - 24 internal 0 external 6G SAS Port/PCIe 3.0 028d Series 8 12G SAS/PCIe 3 9005 0550 Series 8 - ASR-82405 - 24 internal 0 external 12G SAS Port/PCIe 3.0 9005 0551 Series 8 - ASR-81605 - 16 internal 0 external 12G SAS Port/PCIe 3.0 9005 0552 Series 8 - ASR-8805 - 8 internal 0 external 12G SAS Port/PCIe 3.0 9005 0553 Series 8 - ASR-8085 - 0 internal 8 external 12G SAS Port/PCIe 3.0 9005 0554 Series 8 - ASR-8885 - 8 internal 8 external 12G SAS Port/PCIe 3.0 028f Smart Storage PQI SAS 103c 0600 Smart Array P408i-p SR Gen10 103c 0601 Smart Array P408e-p SR Gen10 103c 0602 Smart Array P408i-a SR Gen10 103c 0603 Smart Array P408i-c SR Gen10 103c 0650 Smart Array E208i-p SR Gen10 103c 0651 Smart Array E208e-p SR Gen10 103c 0652 Smart Array E208i-c SR Gen10 103c 0654 Smart Array E208i-a SR Gen10 103c 0655 Smart Array P408e-m SR Gen10 103c 0700 Smart Array P204i-c SR Gen10 103c 0701 Smart Array P204i-b SR Gen10 103c 1100 Smart Array P816i-a SR Gen10 103c 1101 Smart Array P416ie-m SR G10 105b 1211 HBA 8238-16i 105b 1321 HBA 8242-24i 13fe 8312 SKY-9200 MIC-8312BridgeB 152d 8a22 QS-8204-8i 152d 8a23 QS-8238-16i 152d 8a24 QS-8236-16i 152d 8a36 QS-8240-24i 152d 8a37 QS-8242-24i 193d 1104 RAID P2404-Mf-4i-2GB 193d 1105 RAID P4408-Mf-8i-2GB 193d 1106 RAID P2404-Mf-4i-1GB 193d 1107 RAID P4408-Mf-8i-4GB 193d 8460 HBA H460-M1 193d 8461 HBA H460-B1 193d c460 RAID P460-M2 193d c461 RAID P460-B2 193d f460 RAID P460-M4 193d f461 RAID P460-B4 19e5 d227 SmartROC-HD SR465C-M 4G 19e5 d228 SmartROC SR455C-M 2G 19e5 d229 SmartIOC SR155-M 19e5 d22a SmartIOC-HD SR765-M 19e5 d22b SmartROC-e SR455C-ME 4G 19e5 d22c SmartROC SR455C-M 4G 1bd4 0045 SMART-HBA 8242-24i 1bd4 0046 RAID 8236-16i 1bd4 0047 RAID 8240-24i 1bd4 0048 SMART-HBA 8238-16i 1bd4 004a PM8222-SHBA 1bd4 004b RAID PM8204-2GB 1bd4 004c RAID PM8204-4GB 1bd4 004f PM8222-HBA 9005 0608 SmartRAID 3162-8i /e 9005 0800 SmartRAID 3154-8i 9005 0801 SmartRAID 3152-8i 9005 0802 SmartRAID 3151-4i 9005 0803 SmartRAID 3101-4i 9005 0804 SmartRAID 3154-8e 9005 0805 SmartRAID 3102-8i 9005 0806 SmartRAID 3100 9005 0807 SmartRAID 3162-8i 9005 0808 SmartRAID 3101E-4i 9005 0809 SmartRAID 3102E-8i 9005 0900 SmartHBA 2100-8i 9005 0901 SmartHBA 2100-4i 9005 0902 HBA 1100-8i 9005 0903 HBA 1100-4i 9005 0904 SmartHBA 2100-8e 9005 0905 HBA 1100-8e 9005 0906 SmartHBA 2100-4i4e 9005 0907 HBA 1100 9005 0908 SmartHBA 2100 9005 090a SmartHBA 2100A-8i 9005 1200 SmartRAID 3154-24i 9005 1201 SmartRAID 3154-8i16e 9005 1202 SmartRAID 3154-8i8e 9005 1280 HBA 1100-16i 9005 1281 HBA 1100-16e 9005 1282 SmartHBA 2100-16i 9005 1300 HBA 1100-8i8e 9005 1301 HBA 1100-24i 9005 1302 SmartHBA 2100-8i8e 9005 1303 SmartHBA 2100-24i 9005 1380 SmartRAID 3154-16i 0410 AIC-9410W SAS (Razor HBA RAID) 9005 0410 ASC-48300(Spirit RAID) 9005 0411 ASC-58300 (Oakmont RAID) 0412 AIC-9410W SAS (Razor HBA non-RAID) 9005 0412 ASC-48300 (Spirit non-RAID) 9005 0413 ASC-58300 (Oakmont non-RAID) 0415 ASC-58300 SAS (Razor-External HBA RAID) 0416 ASC-58300 SAS (Razor-External HBA non-RAID) 041e AIC-9410W SAS (Razor ASIC non-RAID) 041f AIC-9410W SAS (Razor ASIC RAID) 9005 041f AIC-9410W SAS (Razor ASIC RAID) 042f VSC7250/7251 SAS (Aurora ASIC non-RAID) 0430 AIC-9405W SAS (Razor-Lite HBA RAID) 9005 0430 ASC-44300 (Spirit-Lite RAID) 0432 AIC-9405W SAS (Razor-Lite HBA non-RAID) 9005 0432 ASC-44300 (Spirit-Lite non-RAID) 043e AIC-9405W SAS (Razor-Lite ASIC non-RAID) 043f AIC-9405W SAS (Razor-Lite ASIC RAID) 0450 ASC-1405 Unified Serial HBA 0500 Obsidian chipset SCSI controller 1014 02c1 PCI-X DDR 3Gb SAS Adapter (572A/572C) 1014 02c2 PCI-X DDR 3Gb SAS RAID Adapter (572B/572D) 0503 Scamp chipset SCSI controller 1014 02bf Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571E) 1014 02c3 PCI-X DDR 3Gb SAS RAID Adapter (572F) 1014 02d5 Quad Channel PCI-X DDR U320 SCSI RAID Adapter (571F) 0910 AUA-3100B 091e AUA-3100B 8000 ASC-29320A U320 800f AIC-7901 U320 8010 ASC-39320 U320 8011 ASC-39320D 0e11 00ac ASC-39320D U320 9005 0041 ASC-39320D U320 8012 ASC-29320 U320 8013 ASC-29320B U320 8014 ASC-29320LP U320 8015 ASC-39320B U320 8016 ASC-39320A U320 8017 ASC-29320ALP U320 9005 0044 ASC-29320ALP PCIx U320 9005 0045 ASC-29320LPE PCIe U320 801c ASC-39320D U320 801d AIC-7902B U320 1014 02cc ServeRAID 7e 801e AIC-7901A U320 801f AIC-7902 U320 1734 1011 PRIMERGY RX300 onboard SCSI 8080 ASC-29320A U320 w/HostRAID 8081 PMC-Sierra PM8001 SAS HBA [Series 6H] 8088 PMC-Sierra PM8018 SAS HBA [Series 7H] 8089 PMC-Sierra PM8019 SAS encryption HBA [Series 7He] 808f AIC-7901 U320 w/HostRAID 1028 0168 Precision Workstation 670 Mainboard 8090 ASC-39320 U320 w/HostRAID 8091 ASC-39320D U320 w/HostRAID 8092 ASC-29320 U320 w/HostRAID 8093 ASC-29320B U320 w/HostRAID 8094 ASC-29320LP U320 w/HostRAID 8095 ASC-39320(B) U320 w/HostRAID 8096 ASC-39320A U320 w/HostRAID 8097 ASC-29320ALP U320 w/HostRAID 809c ASC-39320D(B) U320 w/HostRAID 809d AIC-7902(B) U320 w/HostRAID 1014 02cc ServeRAID 7e 809e AIC-7901A U320 w/HostRAID 809f AIC-7902 U320 w/HostRAID 907f Atronics 2015 IDE-2015PL 919a Gigapixel Corp 9412 Holtek 6565 6565 9413 Softlogic Co., Ltd. 6010 SOLO6010 MPEG-4 Video encoder/decoder 6110 SOLO6110 H.264 Video encoder/decoder 9618 JusonTech Corporation 0001 JusonTech Gigabit Ethernet Controller 9699 Omni Media Technology Inc 6565 6565 # nee Netmos Technology 9710 MosChip Semiconductor Technology Ltd. 9250 PCI-to-PCI bridge [MCS9250] 9805 PCI 1 port parallel adapter 9815 PCI 9815 Multi-I/O Controller 1000 0020 2P0S (2 port parallel adaptor) 9820 PCI 9820 Multi-I/O Controller 9835 PCI 9835 Multi-I/O Controller 1000 0002 2S (16C550 UART) 1000 0012 1P2S 9845 PCI 9845 Multi-I/O Controller # Serial ports at BAR0-3 1000 0004 0P4S (4 port 16550A serial card) 1000 0006 0P6S (6 port 16550a serial card) # Serial ports at BAR0-3, Parallel port at BAR4 1000 0014 1P4S (1 Parallel / 4 16550A Serial Port Adapter) 9855 PCI 9855 Multi-I/O Controller # Parallel port at BAR0. Serial ports at BAR2-5 1000 0014 1P4S # Parallel ports at BAR0,BAR2. Serial ports at BAR4-5 1000 0022 2P2S (2 Parallel / 2 16550A Serial Port Adapter) 9865 PCI 9865 Multi-I/O Controller 9900 MCS9900 Multi-I/O Controller 9901 PCIe 9901 Multi-I/O Controller 9904 4-Port PCIe Serial Adapter # 2-port Serial 1-port Parallel Adaptor 9912 PCIe 9912 Multi-I/O Controller 9922 MCS9922 PCIe Multi-I/O Controller 9990 MCS9990 PCIe to 4‐Port USB 2.0 Host Controller # Subsystem ID on a 3c985B-SX network card 9850 3Com (wrong ID) 9902 Stargen Inc. 0001 SG2010 PCI over Starfabric Bridge 0002 SG2010 PCI to Starfabric Gateway 0003 SG1010 Starfabric Switch and PCI Bridge 9d32 Beijing Starblaze Technology Co. Ltd. 0000 STAR1000 PCIe NVMe SSD Controller 1001 STAR1000P PCIe NVMe SSD Controller 1201 STAR1200C NVMe SSD 1202 STAR1200I NVMe SSD 1203 STAR1200L NVMe SSD 1204 STAR1200E NVMe SSD a000 Asix Electronics Corporation (Wrong ID) a0a0 AOPEN Inc. a0f1 UNISYS Corporation a200 NEC Corporation a259 Hewlett Packard a25b Hewlett Packard GmbH PL24-MKT a304 Sony a727 3Com Corporation 0013 3CRPAG175 Wireless PC Card 6803 3CRDAG675B Wireless 11a/b/g Adapter aa00 iTuner aa01 iTuner aa02 iTuner aa03 iTuner aa04 iTuner aa05 iTuner aa06 iTuner aa07 iTuner aa08 iTuner aa09 iTuner aa0a iTuner aa0b iTuner aa0c iTuner aa0d iTuner aa0e iTuner aa0f iTuner aa42 Scitex Digital Video aa55 Ncomputing X300 PCI-Engine aaaa Adnaco Technology Inc. 0001 H1 PCIe over fiber optic host controller 0002 R1BP1 PCIe over fiber optic expansion chassis abcd Vadatech Inc. ac1e Digital Receiver Technology Inc ac3d Actuality Systems ad00 Alta Data Technologies LLC aecb Adrienne Electronics Corporation 6250 VITC/LTC Timecode Reader card [PCI-VLTC/RDR] affe Sirrix AG security technologies 01e1 PCI1E1 1-port ISDN E1 interface 02e1 PCI2E1 2-port ISDN E1 interface 450e PCI4S0EC 4-port ISDN S0 interface dead Sirrix.PCI4S0 4-port ISDN S0 interface b100 OpenVox Communication Co. Ltd. # Not registered officially b10b Uakron PCI Project b1b3 Shiva Europe Limited b1d9 ATCOM Technology co., LTD. # Pinnacle should be 11bd, but they got it wrong several times --mj bd11 Pinnacle Systems, Inc. (Wrong ID) bdbd Blackmagic Design a106 Multibridge Extreme a117 Intensity Pro a11a DeckLink HD Extreme 2 a11b DeckLink SDI/Duo/Quad a11c DeckLink HD Extreme 3 a11d DeckLink Studio a11e DeckLink Optical Fibre a120 Decklink Studio 2 a121 DeckLink HD Extreme 3D/3D+ a124 Intensity Extreme a126 Intensity Shuttle a127 UltraStudio Express a129 UltraStudio Mini Recorder a12a UltraStudio Mini Monitor a12d UltraStudio 4K a12e DeckLink 4K Extreme a12f DeckLink Mini Monitor a130 DeckLink Mini Recorder a132 UltraStudio 4K a136 DeckLink 4K Extreme 12G a137 DeckLink Studio 4K a138 Decklink SDI 4K a139 Intensity Pro 4K a13b DeckLink Micro Recorder a13d DeckLink 4K Pro a13e UltraStudio 4K Extreme a13f DeckLink Quad 2 a140 DeckLink Duo 2 a141 UltraStudio 4K Extreme 3 a142 UltraStudio HD Mini a143 DeckLink Mini Recorder 4K a144 DeckLink Mini Monitor 4K a148 DeckLink SDI Micro a14b DeckLink 8K Pro a14e DeckLink Quad HDMI Recorder a1ff eGPU RX580 c001 TSI Telsys c0a9 Micron/Crucial Technology 2263 P1 NVMe PCIe SSD c0de Motorola c0fe Motion Engineering, Inc. ca3b Cambrionix Ltd. ca50 Varian Australia Pty Ltd cace CACE Technologies, Inc. 0001 TurboCap Port A 0002 TurboCap Port B 0023 AirPcap N caed Canny Edge cafe Chrysalis-ITS 0003 Luna K3 Hardware Security Module 0006 Luna PCI-e 3000 Hardware Security Module 0007 Luna K6 Hardware Security Module 0008 Luna K7 Hardware Security Module cc53 ScaleFlux Inc. cccc Catapult Communications ccec Curtiss-Wright Controls Embedded Computing cddd Tyzx, Inc. 0101 DeepSea 1 High Speed Stereo Vision Frame Grabber 0200 DeepSea 2 High Speed Stereo Vision Frame Grabber ceba KEBA AG d161 Digium, Inc. 0120 Wildcard TE120P single-span T1/E1/J1 card 0205 Wildcard TE205P/TE207P dual-span T1/E1/J1 card 5.0V 0210 Wildcard TE210P/TE212P dual-span T1/E1/J1 card 3.3V 0220 Wildcard TE220 dual-span T1/E1/J1 card 3.3V (PCI-Express) 0405 Wildcard TE405P/TE407P quad-span T1/E1/J1 card 5.0V 0410 Wildcard TE410P/TE412P quad-span T1/E1/J1 card 3.3V 0420 Wildcard TE420P quad-span T1/E1/J1 card 3.3V (PCI-Express) 0800 Wildcard TDM800P 8-port analog card 1205 Wildcard TE205P/TE207P dual-span T1/E1/J1 card 5.0V (u1) 1220 Wildcard TE220 dual-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen) 1405 Wildcard TE405P/TE407P quad-span T1/E1/J1 card 5.0V (u1) 1410 Wildcard TE410P quad-span T1/E1/J1 card 3.3V (5th Gen) 1420 Wildcard TE420 quad-span T1/E1/J1 card 3.3V (PCI-Express) (5th gen) 1820 Wildcard TE820 octal-span T1/E1/J1 card 3.3V (PCI-Express) 2400 Wildcard TDM2400P 24-port analog card 3400 Wildcard TC400P transcoder base card 8000 Wildcard TE121 single-span T1/E1/J1 card (PCI-Express) 8001 Wildcard TE122 single-span T1/E1/J1 card 8002 Wildcard AEX800 8-port analog card (PCI-Express) 8003 Wildcard AEX2400 24-port analog card (PCI-Express) 8004 Wildcard TCE400P transcoder base card 8005 Wildcard TDM410 4-port analog card 8006 Wildcard AEX410 4-port analog card (PCI-Express) 8007 Hx8 Series 8-port Base Card 8008 Hx8 Series 8-port Base Card (PCI-Express) 800a Wildcard TE133 single-span T1/E1/J1 card (PCI Express) 800b Wildcard TE134 single-span T1/E1/J1 card 800c Wildcard A8A 8-port analog card 800d Wildcard A8B 8-port analog card (PCI-Express) 800e Wildcard TE235/TE435 quad-span T1/E1/J1 card (PCI-Express) 800f Wildcard A4A 4-port analog card 8010 Wildcard A4B 4-port analog card (PCI-Express) 8013 Wildcard TE236/TE436 quad-span T1/E1/J1 card b410 Wildcard B410 quad-BRI card d209 Ultimarc 1500 PAC Drive 15a2 SpinTrak 1601 AimTrak d4d4 Dy4 Systems Inc 0601 PCI Mezzanine Card d531 I+ME ACTIA GmbH d84d Exsys dada Datapath Limited 0133 VisionRGB-X2 0139 VisionRGB-E1 0144 VisionSD8 0150 VisionRGB-E2 0151 VisionSD4+1 0159 VisionAV 0161 DGC161 0165 DGC165 0167 DGC167 0168 DGC168 1139 VisionRGB-E1S 1150 VisionRGB-E2S 1151 VisionSD4+1S 1153 VisionDVI-DL 1154 VisionSDI2 db10 Diablo Technologies dc93 Dawicontrol GmbH dcba Dynamic Engineering 0046 PCIe Altera Cyclone IV # VPX format Receiver Controller Board 0047 VPX-RCB # PMC Format FPGA design with 8 high speed UART channels 0048 PMC-Biserial-III-BAE9 004e PC104p-Biserial-III-NVY5 004f PC104p-Biserial-III-NVY6 0052 PCIeBiSerialDb37 BA22 LVDS IO # 8 port 16550 compatible UART, PMC format, RS-232 IO, RTS, CTS, DTR, DSR supported 0066 PMC-OctalUART-232 dd01 Digital Devices GmbH 0003 Octopus DVB Adapter dd01 0001 Octopus DVB adapter dd01 0002 Octopus LE DVB adapter dd01 0003 Octopus OEM dd01 0004 Octopus V3 DVB adapter dd01 0010 Octopus Mini dd01 0020 Cine S2 V6 DVB adapter dd01 0021 Cine S2 V6.5 DVB adapter dd01 0030 Cine CT V6.1 DVB adapter dd01 db03 Mystique SaTiX-S2 V3 DVB adapter 0006 Cine V7 0007 Max dd01 0023 Max S8 4/8 0011 Octopus CI DVB Adapter dd01 0040 Octopus CI dd01 0041 Octopus CI Single 0201 Resi DVB-C Modulator dd01 0001 Resi DVB-C Modulator dead Indigita Corporation deaf Middle Digital Inc. 9050 PC Weasel Virtual VGA 9051 PC Weasel Serial Port 9052 PC Weasel Watchdog Timer # formerly SoftHard Technology Ltd. deda XIMEA 4001 CB or MX camera 4021 MT camera e000 Winbond e000 W89C940 e159 Tiger Jet Network Inc. 0001 Tiger3XX Modem/ISDN interface 0059 0001 128k ISDN-S/T Adapter 0059 0003 128k ISDN-U Adapter 00a7 0001 TELES.S0/PCI 2.x ISDN Adapter 8086 0003 Digium X100P/X101P analogue PSTN FXO interface b100 0003 OpenVox A400P 4-port analog card b1d9 0003 AX400P 4-port analog card 0002 Tiger100APC ISDN chipset e1c5 Elcus e4bf EKF Elektronik GmbH 0ccd CCD-CALYPSO 0cd1 CD1-OPERA 0cd2 CD2-BEBOP 0cd3 CD3-JIVE 50c1 PC1-GROOVE 50c2 PC2-LIMBO 53c1 SC1-ALLEGRO cc47 CCG-RUMBA cc4d CCM-BOOGIE e4e4 Xorcom e55e Essence Technology, Inc. ea01 Eagle Technology 000a PCI-773 Temperature Card 0032 PCI-730 & PC104P-30 Card 003e PCI-762 Opto-Isolator Card 0041 PCI-763 Reed Relay Card 0043 PCI-769 Opto-Isolator Reed Relay Combo Card 0046 PCI-766 Analog Output Card 0052 PCI-703 Analog I/O Card 0800 PCI-800 Digital I/O Card # The main chip of all these devices is by Xilinx -> It could also be a Xilinx ID. ea60 RME 9896 Digi32 9897 Digi32 Pro 9898 Digi32/8 eabb Aashima Technology B.V. eace Endace Measurement Systems, Ltd 3100 DAG 3.10 OC-3/OC-12 3200 DAG 3.2x OC-3/OC-12 320e DAG 3.2E Fast Ethernet 340e DAG 3.4E Fast Ethernet 341e DAG 3.41E Fast Ethernet 3500 DAG 3.5 OC-3/OC-12 351c DAG 3.5ECM Fast Ethernet 360d DAG 3.6D DS3 360e DAG 3.6E Fast Ethernet 368e DAG 3.6E Gig Ethernet 3707 DAG 3.7T T1/E1/J1 370d DAG 3.7D DS3/E3 378e DAG 3.7G Gig Ethernet 3800 DAG 3.8S OC-3/OC-12 4100 DAG 4.10 OC-48 4110 DAG 4.11 OC-48 4220 DAG 4.2 OC-48 422e DAG 4.2GE Gig Ethernet 4230 DAG 4.2S OC-48 423e DAG 4.2GE Gig Ethernet 4300 DAG 4.3S OC-48 430e DAG 4.3GE Gig Ethernet 452e DAG 4.5G2 Gig Ethernet 454e DAG 4.5G4 Gig Ethernet 45b8 DAG 4.5Z8 Gig Ethernet 45be DAG 4.5Z2 Gig Ethernet 520e DAG 5.2X 10G Ethernet 521a DAG 5.2SXA 10G Ethernet/OC-192 5400 DAG 5.4S-12 OC-3/OC-12 5401 DAG 5.4SG-48 Gig Ethernet/OC-3/OC-12/OC-48 540a DAG 5.4GA Gig Ethernet 541a DAG 5.4SA-12 OC-3/OC-12 542a DAG 5.4SGA-48 Gig Ethernet/OC-3/OC-12/OC-48 6000 DAG 6.0SE 10G Ethernet/OC-192 6100 DAG 6.1SE 10G Ethernet/OC-192 6200 DAG 6.2SE 10G Ethernet/OC-192 7100 DAG 7.1S OC-3/OC-12 7400 DAG 7.4S OC-3/OC-12 7401 DAG 7.4S48 OC-48 752e DAG 7.5G2 Gig Ethernet 754e DAG 7.5G4 Gig Ethernet 8100 DAG 8.1X 10G Ethernet 8101 DAG 8.1SX 10G Ethernet/OC-192 8102 DAG 8.1X 10G Ethernet 820e DAG 8.2X 10G Ethernet 820f DAG 8.2X 10G Ethernet (2nd bus) 8400 DAG 8.4I Infiniband x4 SDR 8500 DAG 8.5I Infiniband x4 DDR 9200 DAG 9.2SX2 10G Ethernet 920e DAG 9.2X2 10G Ethernet 9540 DAG 9.5G4 Gig Ethernet 954f DAG 9.5G4F Gig Ethernet a120 DAG 10X2-P 10G Ethernet a12e DAG 10X2-S 10G Ethernet a140 DAG 10X4-P 10/40G Ethernet a14e DAG 10X4-S 10/40G Ethernet eace vDAG virtual device ec80 Belkin Corporation ec00 F5D6000 ecc0 Echo Digital Audio Corporation edd8 ARK Logic Inc a091 1000PV [Stingray] a099 2000PV [Stingray] a0a1 2000MT a0a9 2000MI # Found on M2N68-AM Motherboard f043 ASUSTeK Computer Inc. (Wrong ID) f05b Foxconn International, Inc. (Wrong ID) f15e SiFive, Inc. f1d0 AJA Video c0fe Xena HS/HD-R c0ff Kona/Xena 2 cafe Kona SD cfee Xena LS/SD-22-DA/SD-DA dafe Corvid 1 daff KONA LHi db00 IoExpress db01 Corvid22 db02 Kona 3G db03 Corvid 3G db04 Kona 3G QUAD db05 Kona LHe+ db06 IoXT db07 Kona 3G P2P db08 Kona 3G QUAD P2P db09 Corvid 24 db11 T-Tap dcaf Kona HD dfee Xena HD-DA eb07 Io4K eb0a Io4K UFC eb0b Kona 4 eb0c Kona 4 UFC eb0d Corvid 88 eb0e Corvid 44 eb16 Corvid HEVC 10cf 1049 Corvid HEVC M31 eb18 Corvid HB-R eb1a Kona IP 1SFP eb1c Kona IP 2SFP eb1d Io4KPlus eb1e IoIP eb1f Kona 5 eb23 Kona 1 eb24 Kona HDMI eb25 Corvid 44 12g efac Xena SD-MM/SD-22-MM facd Xena HD-MM f5f5 F5 Networks, Inc. # Subsystem ID for PATA controller on nForce motherboard f849 ASRock Incorporation (Wrong ID) fa57 Interagon AS 0001 PMC [Pattern Matching Chip] fab7 Fabric7 Systems, Inc. febd Ultraview Corp. # Nee Epigram feda Broadcom Inc a0fa BCM4210 iLine10 HomePNA 2.0 a10e BCM4230 iLine10 HomePNA 2.0 fede Fedetec Inc. 0003 TABIC PCI v3 fffd XenSource, Inc. 0101 PCI Event Channel Controller # Used in some old VMWare products before they got a real ID assigned fffe VMWare Inc (temporary ID) 0710 Virtual SVGA ffff Illegal Vendor ID # List of known device classes, subclasses and programming interfaces # Syntax: # C class class_name # subclass subclass_name <-- single tab # prog-if prog-if_name <-- two tabs C 00 Unclassified device 00 Non-VGA unclassified device 01 VGA compatible unclassified device 05 Image coprocessor C 01 Mass storage controller 00 SCSI storage controller 01 IDE interface 00 ISA Compatibility mode-only controller 05 PCI native mode-only controller 0a ISA Compatibility mode controller, supports both channels switched to PCI native mode 0f PCI native mode controller, supports both channels switched to ISA compatibility mode 80 ISA Compatibility mode-only controller, supports bus mastering 85 PCI native mode-only controller, supports bus mastering 8a ISA Compatibility mode controller, supports both channels switched to PCI native mode, supports bus mastering 8f PCI native mode controller, supports both channels switched to ISA compatibility mode, supports bus mastering 02 Floppy disk controller 03 IPI bus controller 04 RAID bus controller 05 ATA controller 20 ADMA single stepping 30 ADMA continuous operation 06 SATA controller 00 Vendor specific 01 AHCI 1.0 02 Serial Storage Bus 07 Serial Attached SCSI controller 01 Serial Storage Bus 08 Non-Volatile memory controller 01 NVMHCI 02 NVM Express 80 Mass storage controller C 02 Network controller 00 Ethernet controller 01 Token ring network controller 02 FDDI network controller 03 ATM network controller 04 ISDN controller 05 WorldFip controller 06 PICMG controller 07 Infiniband controller 08 Fabric controller 80 Network controller C 03 Display controller 00 VGA compatible controller 00 VGA controller 01 8514 controller 01 XGA compatible controller 02 3D controller 80 Display controller C 04 Multimedia controller 00 Multimedia video controller 01 Multimedia audio controller 02 Computer telephony device 03 Audio device 80 Multimedia controller C 05 Memory controller 00 RAM memory 01 FLASH memory 80 Memory controller C 06 Bridge 00 Host bridge 01 ISA bridge 02 EISA bridge 03 MicroChannel bridge 04 PCI bridge 00 Normal decode 01 Subtractive decode 05 PCMCIA bridge 06 NuBus bridge 07 CardBus bridge 08 RACEway bridge 00 Transparent mode 01 Endpoint mode 09 Semi-transparent PCI-to-PCI bridge 40 Primary bus towards host CPU 80 Secondary bus towards host CPU 0a InfiniBand to PCI host bridge 80 Bridge C 07 Communication controller 00 Serial controller 00 8250 01 16450 02 16550 03 16650 04 16750 05 16850 06 16950 01 Parallel controller 00 SPP 01 BiDir 02 ECP 03 IEEE1284 fe IEEE1284 Target 02 Multiport serial controller 03 Modem 00 Generic 01 Hayes/16450 02 Hayes/16550 03 Hayes/16650 04 Hayes/16750 04 GPIB controller 05 Smard Card controller 80 Communication controller C 08 Generic system peripheral 00 PIC 00 8259 01 ISA PIC 02 EISA PIC 10 IO-APIC 20 IO(X)-APIC 01 DMA controller 00 8237 01 ISA DMA 02 EISA DMA 02 Timer 00 8254 01 ISA Timer 02 EISA Timers 03 HPET 03 RTC 00 Generic 01 ISA RTC 04 PCI Hot-plug controller 05 SD Host controller 06 IOMMU 80 System peripheral 99 Timing Card # PTP Grandmaster Source Clock 01 TAP Timing Card C 09 Input device controller 00 Keyboard controller 01 Digitizer Pen 02 Mouse controller 03 Scanner controller 04 Gameport controller 00 Generic 10 Extended 80 Input device controller C 0a Docking station 00 Generic Docking Station 80 Docking Station C 0b Processor 00 386 01 486 02 Pentium 10 Alpha 20 Power PC 30 MIPS 40 Co-processor C 0c Serial bus controller 00 FireWire (IEEE 1394) 00 Generic 10 OHCI 01 ACCESS Bus 02 SSA 03 USB controller 00 UHCI 10 OHCI 20 EHCI 30 XHCI 40 USB4 Host Interface 80 Unspecified fe USB Device 04 Fibre Channel 05 SMBus 06 InfiniBand 07 IPMI Interface 00 SMIC 01 KCS 02 BT (Block Transfer) 08 SERCOS interface 09 CANBUS C 0d Wireless controller 00 IRDA controller 01 Consumer IR controller 10 RF controller 11 Bluetooth 12 Broadband 20 802.1a controller 21 802.1b controller 80 Wireless controller C 0e Intelligent controller 00 I2O C 0f Satellite communications controller 01 Satellite TV controller 02 Satellite audio communication controller 03 Satellite voice communication controller 04 Satellite data communication controller C 10 Encryption controller 00 Network and computing encryption device 10 Entertainment encryption device 80 Encryption controller C 11 Signal processing controller 00 DPIO module 01 Performance counters 10 Communication synchronizer 20 Signal processing management 80 Signal processing controller C 12 Processing accelerators 00 Processing accelerators # For the class of PCI attached devices which perform a function of Deep Learning Neural Network inference acceleration 01 AI Inference Accelerator C 13 Non-Essential Instrumentation C 40 Coprocessor C ff Unassigned class FusionInventory-Agent-2.6/share/html/0000755000175000017500000000000013757703277020034 5ustar gbougardgbougardFusionInventory-Agent-2.6/share/html/inventory.tpl0000644000175000017500000000326613360140457022602 0ustar gbougardgbougard FusionInventory-Agent {$deviceid}

Inventory for {$deviceid}

FusionInventory Agent {$version}
DEVICEID {$deviceid} { foreach my $section (sort keys %data) { next if $section eq 'VERSIONCLIENT'; $OUT .= "

$section

\n"; my $content = $data{$section}; if (ref($content) eq 'ARRAY') { my @fields = keys %{$fields{$section}}; $OUT .= "\n"; $OUT .= "\n"; foreach my $field (@fields) { $OUT .= "\n"; } $OUT .= "\n"; my $count = 0; foreach my $item (@$content) { my $class = $count++ % 2 ? 'odd' : 'even'; $OUT .= "\n"; foreach my $field (@fields) { $OUT .= "\n"; } $OUT .= "\n"; } $OUT .= "
" . lc($field). "
" . ($item->{$field} || "" ). "
\n"; } else { $OUT .= "
    \n"; foreach my $key (sort keys %{$content}) { $OUT .= "
  • $key: $content->{$key}
  • \n"; } $OUT .= "
\n
\n"; } } } FusionInventory-Agent-2.6/share/html/now.tpl0000644000175000017500000000062413360140457021343 0ustar gbougardgbougard FusionInventory-Agent

{$message}

Back

FusionInventory-Agent-2.6/share/html/site.css0000644000175000017500000000055113360140457021474 0ustar gbougardgbougardbody, p, li { font-family: Arial,Helvetica,sans-serif; color: black; font-size:18px; text-align:center; /* for IE */ margin:0 auto; /* for the rest */ } a { color: black; text-decoration: underline; font-family: Arial,Helvetica,sans-serif; } a:hover { color: #ff9900; text-decoration: underline; font-family: Arial,Helvetica,sans-serif; } FusionInventory-Agent-2.6/share/html/logo.png0000644000175000017500000010055613360140457021472 0ustar gbougardgbougardPNG  IHDRT .sRGBbKGD pHYs  tIME &d IDATxKpW6xn&֮-,:՛.XiK"ڴY%?bF|ʫjޔRMOD eϪrD6mTͮճ{gqI|D"9<@xȏ@ "?@ @ #ȏ@ "?@ @ #ȏ@ "?@ @ #ȏ@ "?@ @G @ D~@ @G @ D~@ @G @ D~@ @G @ D~@ #ȏ@ "?@ @ #ȏ@ "?@ @ #ȏ@ "?@ @ #ȏ@ "?@ @G @ D~@ @G @ D~@ @G @ D~@ @wlB |1@ {Í<##"7Du@1iц@ W{$Ɓ@ {cy@ tY9t~а¹bS#kjMA~ iGVkP T2:8ΆFWNSGr} žxjcsMPi2*QPIrdr#ɤfdt]O&2aj|6|>$&OSSn/ %˃x HVWILI G؟,  !ǁy5F2L$x\ +U8r7BM*O8N~׌W,ZV-uaʃ !ү? z<WpT@F!y|2޿SHT,bLF&Od ȃ(iH ϒw !j!!e"1I ڝY3tξ䧭*_b?GZ~xZ["#COu}7^nw9k _?O!W&ʂ%yH &F4LC 8|PΒ3dãHd>2ʏլvg]v~6EG %ug{W,vXwwd2]^^^~AlL*iYz4nnB ;t:NUHҫʬon/kUw(v&1^),ʼ=Ǐ_pGG H$'nwk[[e"i?ɨ5bU ߯wݍ?JiN_t&d2)h f%H mmm@)cP(rVзCC#hԸCXJ[yMӤt.|9߈aȏp0dbؘo#---OObh1gd555~S\撺JpBVLU2L|2qBtd$@ }-^SRюs2lfj!0;|qq@ *0_h{4>!D[.N5d<_) 2M0AC'mMLTU`ZۮYU;H$255:`xDBqkjj*OBlmem~`LB3:(V~|u5@ Jmg݄hiiw8*lxiiY!@QɒӔ2`l,_;[ R0ԫ?1|Y[[9#S-巿}v-j驙ȬÑٰ4^o/*Tejhh(H085 'O: "?Bh6h]/_沺'@wwwߧ?zRtssl`E[,gBg&WnOK(W`*"cqΑP0T0 wvԹlL쬾f;ojj9}'~}ܗ;7y ){\r% i߬Ђ'`zyieppPuɳq]>…0U$b[Ŭ&7lEWͲrVlLIZ0J9(Ou]~6+iBӟ_xUV&{uxMM+_/E7> fm|4Ђ'%XΝ;3y(lHaM5::*SSS3gR 5Wj{|0HiZӼM=!vchoB=B:7}¦˦=o-МNԕ+k㿏'g(sm5-փNsƅk->_oO\p[WC×{4$ hѾ!jb_7Z-1d:8|;88,*vȭ`Obrnh=$r %?kjc'ȃ 7e+ڢ]N { r5u}(b>IƘ~k506i<!4ӹXq2 tdA]9D@`f& ҙ˗vqPL!'75[X *M@ e>Հ`͗.' 4R#;/p8F2c,2ɉǺ'|s t:Mh?X+Es8mww:cԤfwOS|^lsB|z/7OO:{{_۷ !}bbR)~tReu}-w2[\-b$#sC2wH_ D87G[완p%Oŀ+x/{GGd8h.b1lzMtEڝ5]N{{wJewSZpN6<:22Bۅ=S%׹9Ɣ׷{ރ?]Qr QSSp4O<245owĩ^dEjfЪH\pm\Ly>@ ;g6 ظtR*=0^555-|!dʕ@$2/݀ɐxFL" 076;;{J+#467+#fa,-9\jfv{ T3 η WRPM|dʕ+XE!4kmm]D%Qh ! cW?2=  [6Hٱ<8Un[~ѩ@X~%XRH.zh`x``0q1|ۙw}7Շܹs(=ItZ@br1z?ރHw(.ǏZ<[BqcU\ v5q|9hoɓ'4ZfB\v(Y緍u{<`P} #`޽}+?1M{ $0ƌLKKKM/= Uƀx]MWWYִOjf~!jW >c,zZٟؔon['7Nc=Ix< vgM*}GlVimJ{Gna;XNq: _.64 fh`X62&1v_;2X>O{C:T0c"/xmmmww׽{)Rܰp8^;L |A~(`._n ww% 0r5ǏwuwKSTwJJizs8jv@w^m>H%o: R-..zR*Hw\2cSyp#!^؁s8ϿY@H@v};g[\Ʒ@ 099iwH@xK g2) ~"26PY)bp)f"]<' ߳oM״N=,\|ə,j |1mw֨n2A Rl6;>>n~m:4ܟbE"3|@.D"ёfU*+;;;wo0jq|xddśOI]aە2j8]K]p^ 9MӞ?Ԁo]ҚL&Ï铟d#׮p\l {+zA>lB70yp|,'#Ziͦ,&=ݝ7V$N b1600ܙ>DXGB1q1f#ڀl+|C×.] GFG?uyS!&]]]0O\N!`6c6*mLf||Oxz{{ )3 Cj7w~z$|>_&&o樽\?8Ƙqȃxo.+w|ԩ=zhϤE(ff/yٜ&] ~rOdtӅ!'@9vSvvvB<~l ~](J:sz ~}YT 1akx< |j'-IIҲLo NLO?KLhQ@8k2H/ZM]PmAPI9Ok󩟥@ 'Uۮt>p ,2Ie< r9.;609c6/NTg󵴴+gW7|xogwK:v|P#"a#佨ig{~wΆB㣣Y˒vN벁E|߹4wp@pGBOߨŴ,y/y< ^HxGFa54<4z; 2u?`?A8!DwE)UYtww;5vwZ2쳿0O=?ԴYsKM{JUS>AkΑd5fߢ[?XHZ1#R`mUyp0mNw'SªcLO?fs~ z):9U[;GC*gTfM}9|c"?2J})UV%F` iXorU)` 1!&4Ƙ|ttpLE[+eeFZ8~{lVQvL`JДQ1j|UӐl>"U9c0#===]NӔpNvXE:^>ǩ t7[DKKKoc/'Y]hs&e GICj|l"Tɞ_إ$qsEh0;;9lv]mH4@{1X8?] m(m=>"}wǷ@ IDATC7hBUؗZi\ ֽ* ,..B p2^,Ov: p-`grdL"fVD旗H+y~[[[Ww0Vb{r߮e]xѳGn AWÈ1Jj.P!OcpNפLfZ<ٰ<#/_-^)s24w-U]1uMf7CӘ;'/w%YA_d8G_- 7_ g2JHI7_XZZ6|4_/--ڷU~<_l٘N[m@w $)]ץ*JӲ$$IIimmm 5/N@.O?N؄>$k H&׮\u]"/ +MX:3!p/ !~چ]7pЩJF݃]dΝ{%ǤpPwcH$´JwBycY24 u0p囄ЫWp]a||/kjjN*mbOF3+_LntwmnnM!GAx;??bkGlqC#dr4Mm%iSkWZu]7q wK9+I<ϫ !nw~jpBxmvvVn|>1fWWW&tf-~ F+[$l6 Zf(x>Tu~txH\F3 \ݚ8m?Y"H\X"WyX,[ΦCJ6 !ɼ|Ro}d2Tʴ8-7BT*No_c E4q[ZZβNp6ꣴT#OIЬWP urrR֓;*OwrL ze J4MX`bw g5V sLJ 0D~'(c5u] ղNK}J8ˏqk& v&K4K'] أD">PqeXCGңBf%OyD"~l>ݪ{V-uf?rG͒QJ#;A!|T3Y߄h!r<*j5M KKKgP=;4 8=B_,Ø@C }i?/־żeb7~Ͱɸuottxdd(f6b^#ñ*5cÔKa;rR#9BքiB~Tʰ#c b^8M.`?ߟHk ܹxN.`9n8榦F"ysTqXl-Fl6'gϞUJ;j 7oT,xhm~{]l2188]JhLeD<JKTNBWWl$BўD~'׹כ FW*+D@ `l6Ln`> D4moW?[F0jWU*|4*Gު/S5|z4vZk۵G01ch|y%hx3LM2Y~=@cϾbʕkv~ M<΅'?6TîƙL$;o8nO kd! › k8+HH$r%xd7'&.M߲^_QUz=rU1 K- y?|>c]uuu֏) hb úf3s*? ɤkll5˷˗(.\ b9XԕWӴz=jdooqm.-ے$*3c`vxiW]!qzzz'$Ew_K#3p\FV;(*l !ZS~ڳUq[O/}Ҳ2VyeuuwVh 4`T`ځ5|f٧OC@EUo5-ntdavSSV7mnn~66Ujmmm΂2kZl6Qg(J&%$q )"grZoA9+9Q֩TBC~#EW\ns3#Ww4o<=/دS>ࢩ zNt'ܓK89rXӎFB& Vtn{m m;[!Gj%C9״w8l6z:=rk>" Ca 7tqx ܠ緄p%$ $r'cD':>j/yo^\\ewl R$M۱V9zRݍF";j`)|RG_Scv DQ54dgkW?L=>{Kqrf\d Px$L#[[[{4%K`9&4A D~Gnu}``,u@y'Pl6+tML<)e3\vhxxX4ٰS:t֞ 4;66640xT8uD\1~ڷdfgg$;.tu-Unۍ}PϷDCE/:\(4L"46+l38{5OjmmUw5Åț /((O 禧fdܬɅ TYͥT6t݋/V6Fytڕ"E7&X^^ǓXۡa׬*i"N."rOs] Ql =r+-a5 -F,ŋ-[ŪM2611qȚ)V3:%MjnfܐkV7lK ;6t:cir_(-_녌bZ6`6t:={60wnn)%&8+^MѼV\5FE=K4&r2Tv@ ֪K+޽+6'}\3 YUWcըdT*fYY$N7bP:Vt,62^{ż0kf'=g7o+73cW56%ټ-qέYmidJ͝S\K^aOxnUi`^_şN# _}昛ʉL%#࠹,堖Ĺ`l5Ƹ!=*~> BF'TH8e o'3]:դ.Y+ C 5YtbX.2VV;۞vF?l|/^Tt&J4Pm;cdxN9j=6\{[`&Cw4r_߽}o#07,';G8=¼cB54.]1 &vnL)_NˡSHcf5VxleAZr^-5{kە?_~Ջ?z<{+;#(( UQVGtf|x*.)rtM 2RD+P(pLNN.// !~_"#R2PFdH3C 1c^[/b(&6**nz9uuu`Ǐ*9@VtH_mw/Pr.t:mkP)xeYm̠7^P"; X!!5NQBfXa`a!U.Bn&59r {RWgWGSScE>&|"gbmm-Y[~{&j+QwsM/BW}zz> Wa%??mssjQIU7c~E-L˗/s\?&!k566`2 q-N[;vLx`cٞ񜫛[h:NɼZZZ'{X`vvv,ZAƑX%Z[F|jwlnn޹s,`ppvJ)g@___ɝ}! w,s3t@6eZoL5B%tuu95. =g cPUrvp8zkkkl,bn(iN8&u BPp466bDK&o.U Ց[IR ql"|.wN.^]]:fq bDpF.`م>H8H!4x< sG`{[_auZE(^2e)pt;θr3Zp8fxt:133+G2li֭[l5c>Y%ȯ*k -u{B ]B8RO\LX*c$ doxbmQdćL.a%[Tuv@Y2>+dSnw}}={<ټEx]]]2 25MRl7hc\hz !\.׃p Šj*yyo6Ep:_owM?!_'MZ J`.3 *b.ӰbG:T5-55{]yj υu:3_rA)S(",ɿic;N`-L\/(ROr{JO.s'ίx '3LB!.HWd^2 ĔZ.C"— ?Y ՐL)ѕfABApnw: vB4y&@ҹ2.-!UӅ/;> fY ʢ| Dxř/]IkOGCeښ,U_ 0c /HvigBϰ;qco_~+҄r8LSιpz6(,O3Qlhh$'ZGccBL#V/LoH\|D"!Msx<֢'/Ul2>PX+Zg\'rPsIk .VU͗Uu}ncώcZlm655=336Z`1"V >OԴ|>_ߧ׮]|W;^VU4 ÉD#& "ϥϺ@o\OOل |^y&cGΚgx<>=5f )oWFCі!H[fEy55D`x >T"s8n[&W|0t:,?:GVG%KI|)XZʗշҵwv-?)mBG6P4nnwȠ8ńcttxttx%O&T1/l0qM.@*ǦBԹ/~Vd2H$6LpY/^lljhkkuB_ l`aFJ|//b1e4[hjjx<~-`,wqt`'nr&GKf##C.Bp%lSt]oŧŋ:Ït]oi#~;6 416;c)hx2yIa==99Qӿ[|U(! 1d(kjj\P౳+s1 .|9C3҉~\˗/Qxy d5q*X+9Ux^`74HMR˭;Bp Ng9m֠|$<*BZ1Yra?1' GvǽwK>*xE?O Wh?ib6ݹ+4fsrwޑw ebL,OIiB+r*VbvKؔnLWQvgkN\ƷSƜ3== ^j[]]šM2u~XoW?;=t8 H~|nnn?҇\ e *(~m$Sw2RuWc*ߡi>/cLMD)״0~SWo_Ys6BM/gĩUyx|}b|Ń!ؘA~ŔA߅b񃎉 QixdXiz&,:C}*z?::ؗ?)]rW_?`^ >/s]]ȼQBn6U}[T[n/v 9\بHT-k@c-#),?P86@6L%6"!k8- Wd2|$w:ְ=FdC᾵U=gђkhl4U^^^!01Ғ7-hkkn %j9V5xM2*t]U/ fto`ll f+W(8{ .im LMM|f+D^@Zɨbk.]ڏdpw&"{=00040hZ 55>rkTc^>|SrnOsy!]02[M %mp0z řeOK @hl6ѱ|egL']o%Ķy5%^鰽?my(ЄM!N`\A!Լ9idWnƍOv}mUgtEZbZ [\Ǫ kFu1PO}A]ƸhsЌt[3<M% 4]דl`BpMMv1&\0cjёL&4,U nwߧ@@~ !fB677qs@dَ߬TO lnX>a|&ZQUpxw o%`f CwP/"W| ˜hϓ$?-_Ww.+Ut:ٜiYfo|r}~qԙZ%Cic7B=m؛FjE5ջvf;csDd6<22vיkQzX󻻻0vcD"yem]FWvvv,vk%hi~xdjm)+=z<4/޽{Bjp8,*B?4B11!BRS!S~63daa0<:41h[drĞjz J/W'''dk{&i I  ʹ-[P4f҉JWyfFc q-z9뽌kNzMNrb ;lU٪ ,X,@&1a rj>2NoYkY~_-2/7|ڮrIU1I!%P+YIs B| ݻZz{)[3ljjXcYY]Q&d2xܤЌȶٶCOKrÇv ;= oeOOOeqtdGԹȈ2,XW)-6>Q 1]9gYkU| : p ",2M?p! xM<3H`@M|ye{{[~@k{$<`c!Io&I@ +}P5OB0|}澾ݹ;땞*B& ^GN[~_04mjj*Yטw.MӤg'{L&mu2fZMDd"cªЛXߺiqD"LfOZJJu 7◿ ]ALgKeAtW9Ȉu>tC~V8]'N״[;NDWwva4.D9kHC8}qޭoGKcz rp1s~E8hX칮F2tVd>.ى;fyp SIMf͒l|?2&f[ >۫W߅ZH)mI2Ʈ^3-|`0h1[(Af?%9g;%OT*4MzPL·PIVŃgp|/xd cƘȸ|qXz>~\᫫(-!,+Yʥe< L&o2I,/Eq &}c0rk_ss;&'tҒ=I׈6.#07:RZŝ+,J5G?+BP%7>>)r__Fy,?i>n&hm32+Uwţ.ׅzէr41f;؍T jqB]_SO}\yOqN.[Utzja?{v++tϸuk7Vbcډq.455bXϫx|ݐLklw=s*b\kC ,^H6RISbq2k_ș&>rGJFVXE2 t)V/ i %]&@`w} o?XūD"j *< .bkތ*cR`'%Qٸh,8(0::_ʖ, H7H_>Ғ)NÆE~_gbx| XkOEQJ5o{^5q8TM?p nif3~ڊǔI䕵jƋ5EYk~ttᨑlvz*d7ǏAp85M{z/{>M+$8[MI~tc[[[j_}|)\#ƕzɗrQRզeOYR]uf#NiRLPEM!ɦ&yZ,^ґɼ裏֔aࢦ?B!b…|c7+h2جUf{vAnJ+͆M%θk{c[Kb!r]xȓQ"7)#4jH޻̺#ҫU ȕP{'$!]lx5㹧͛75Mq~+ߚMOTA/b"lSSA(kCW$,v:t`hVy:̓7|~WN߃'`̧端j 9UY8P(tݒӦS3OfzYj?/._gmnn΅ =lhBoTbcssz%8ѣGޫ{u/JouvLa""D Z9kڕ*V,rqƄTԻR ^w\F -XؼXm-J/6;׮ONX,-dis'4ڋ_Jxτ$ UϚ֐˽UrUb\z>bxtН ljLx"cGs,~TH.cL=yafm(ɫ5 T-z~~Ȃ5K-l6+~UTkx<+']i vvcQ Xvg2v@F47_Ro~E|pq/ kx%I&(#db:_@H@9I&޽;8tڡ|#:Rw:F󁨮XJUgG?~o0f2ԍ2I2#͊e-qm\<6*]HĒt *6zMɳ U&tfliKd6H"KrnWT":a_~XRUS;gsԓɚڪK< W.VU#D; .-F/ l`g<)F c;n=;ogS * l~(Ggjb^)a 1.@!E L'ټ1VhpR¬Td4kE46NJWW28gf(If2O٬=ȱ,/|:?C eePD o]*C( C nSZHY!` '.uP!Ϗ iy06``%HY@ajgX,FKj`_ԤLH3 ᵵ5u/NNNz|Zaܢpc(EhE8I"Ib9jEy}H<I0ܥџ@.CϏma6zTE ^FNg{$Ix|lGsAHGFQ`]4 $YG2nrg$*B}{X~ F^i 4ɓjA~$Bbm5SԳ'mGw8-Qb7IObP}`?Bv^lorDؐfWj>VDldW._?Nje-!E o޼mc+237ME&p8NWX}>_ƕ.l sbq:;A:pTgg'!E&>/_, @`d2 PuSl`3+;PsiFU4IkQAuz/܌#PDhΛ_nQR$2d6́1gWC4ztˣ/^~T@QX0BzS=:: "`6ߠ p2g lVQϠaskssnIٳ^(ޭR_6{*v~W5\?gjm3<<<\k^ZY%Op~~ Eq0'h0rF$}Mht>qgU&dM=d : ow! /qe6]M!"5hp8{|b~¨`oOOg,6X,GS >es.ؽ;!2UŖ?N)J}U9/scEtw.i5GΒZ;vNf8EefnRAPXXX  [ݥj.//olZT7m#BD"$j>55!@Xcfss=.FNNQ?,T\W_+]Тlɖ\gQFB@MLLH=KKKD.N.ep bZv7V> nrjjJ|{W)J7JT2RY3)o?@TŃMY2  vQM-I0YL<,ULMMwB&WD$VBpMQEMTtRIm.c'CUXu )ogxFSWEc0 C^l6v.rg[BX:;W1fto::n8(xd2w"ՙk񑟦^xuAc_XBƆC9 jQBf^u "%I:G {P(ڔ IDAT;lBT !.WIjzzz_`᯾ΜX,v%NMK~͠M-E |;<;jt]w G,4q*Mm3I3>F@֕/,, v(W@WG> tazv-ahwGgY"-6ܣ>s;jU‘plGHIR;:t>m(D6=?EU+D#l靍3y!f]gar$N0&9V̕$ԭ+Ԩi#M[s̢R*ΕxHEQґb]:C~hհ|`}5)͆m6>!$b:?@a~O뒳˿JX Z 5vꎤT1l2ns3 !dH|096UJއxfѫhlLcձ!7* 'JJ8DevvM}FWekZ;9b(hb=Oj\ZY#R^Q^#ñ@ @Mh0jAl0EAL^ٜvvJ[ۛJt%惱PSpBm$J$>UQƻIhi(zxFdSZp9(?jeSCs[V'65.Rd86~K~SQ|Ymlm¦/JO]ӓ3PS9 U!dzz6=ŖOf5gV֏]^;q:]ޕm?1ƵKCexvvV{?b_AT7CxI=.ϟ?Wm貟4nr/qzfOsc^Z!N\]]e~6 \FeYո U>XXX* Kj_pYkD V+=<<Nf$ϧfF"wZ 'I%Ͽ9Ⱦ@<|!fu:й9aiPYjQG73ԡmQ݀Qj&MG7V#ӓSlmu"}CբR8,K5%xD.!b>QZ_(G^o>}X:::@\v_Q^  6`- !fZS`` ^8ӧO<޶7ofY5qN?z񌏏Ss+/zTQRPJ0mTo,, CCCyATeܚTy, i(ǽLurȔ!ݞp{<it`JNq~.M!pؠUa @}upwO[x!d4+/A4 TsھpviϮ?,, ht[ۤ,Ad2#j$mooDzP(вGaNn;;%j=L_ɟ6z1L|=133c6߀ׇ? fY2(Q Ğ^iiKќ6w=1}'!EuTꞞ FkB@U 'v7Ʉ~'C=Pn8JJjLS J!"`lX__b~\%Y" F6a(CCC$IV0R^_!gLP(vlX WXlgaR*l=0( 6v0邷`@)Xa͈Q6u:ۛ2$/6ggVDD?8NI giSN7hFu0c, TD AA$r9= F {c!؊z^ c:TrX537M0Z[[D!eyl`)k~ &iccfsal A&(Ͻ|iiuv\8|t:d2HVo%]I15ٞWcI^_'ޭ XW,. bxSxgN?{0TEy]:ϩ,e?EflށEEQPriaMJ_Fkq\FADpE%cSI`µ+t%6.I`PWYT$O?>gfv.2܋lͩƴ!$I}Yx]r*:FÉ^2eY؊w60.W7 'VVMФ\QdKG.#_8>ȫbnO]GP&dBsk2t[jD3keaw<7ggg} 6FlW}?z. uSO=KӳSuR(iwK!?AzyyjYb ؊T5P /<.prz-ƳTm=/?TOPm*l.sjB843.5zVBjׯ e{ $(j@[]] U֚O>e/jr̷ U}LZcd2MaWg<9)L׆y>m`cQOg:t@NB+ 6`eҞO{q䧽߿OeݻwL]{wdgJUBP;iŸ@|nnd@pvv&>xzV:8$z#D;#7@U5unji*u MO&"?H8halkrrrM溛W|>ȇUTУP%4(ln34l`QUa4>yL8eR&?~3΁&ǩN\ EyCp"W8Ǒ}-;b_*h4.BHxfj:ݮof*zA4NFw[֪¬ѹGEQKD| H3BRo@aK@ڐ7gAFph8z+m4X0d5 Idd8YۨMzpp@+ ћ?AD`l4V=^0'ϫ6k.jsppp>䧁{@oooiFc Ɵ?>]lownoo!>Hdv`yM#h4ur/]oo,IZ`637t9888*!fggBB8-T*ueHm! %dA]i6Tb蜔_AHq8_ll6ںwdMnŖ(T[q JW c4|arrriaQ*@HFqss~.]].V-08(|?D? w!dپ⋪M[~e"h%6"?iˏKa ^ZHKHIvRhY}nI8%޿}ch*M<0H:no׍?aCŵpW5RDQj? Txm!߾166vttF( P}>[X+|?`a_ d2?N{QIHf777uJ8qpp\ 1^_l{wNQk6>0ONON% j9/v]N~'/ )oVVhw\.w*BZ=?b&qǏXo 8bȦyhE<IK!MZ)e8L)XѣY B#cՂXl'84_lX ǏB{܅DBH8K2&_LnUgəyVt8bX,i 8SO[@"p4޺/j2~`.[<߇}Iea4ZɯA Ņ0 }}}Q'xA*H6{'N4VD,Yl6 6CqWr֡aKVա *K)9B5+Vup^߿{MNN2_^\Y]]$Iݮ{Ni Ѫ^D"n"d2"ui3߈/,,1ݸ9U19)l smYfiU<^7\n4(PUerppp; Un_EQ&)b$f9ggG#* 5dYd2l6'k3&uI ;9 ^$y?\(@(KP3.. i:CX!"PS0Ƣ(v޻fc^y&"l6fOyYi!˽=5*oY,b6V(.!DAe@P** H!D!H$4?Bʚc9_, H$h`mqRRk8 UB ,eb\D"8D+/-ELk )FG<+,|& l6iU52sOʹb,' :dՈ)Z`hNyVtA'{W3gkkkHc <^RM|Bʭ[N~bp"a\:Le !$IKqer|^>5*BVry tNnuV4oT~=Պ۴2"CA88885)k6P[=<<K!#I؊=bj 5NBzBL:˽xi&t:/4fFa2vn7[-̼3Lp!*ab j1#=UH0$L&ӗ_fۛ؍C> 9xft,S\bB0TC%t:crl6 fnB9yJ1VP{N\.H$vO$l1N5"X߈*B4J%o8888Jn_=P%ۛ'PtL# }SV@EQ$Kde2.%ӧOt<rlAE\-R],Ipx~r}}c_N.'+`)]n7p42;ofPPccůחPGY[[bXT]ZͻvoIbk!^2٬(pꠗ*o(Bd}CimmM?Kqw/ɸx f|p)/A!Z<,b[-:K.@ىRAaRݮ݅DP,IPQhɹ9ؘ &iwwW֮.XSpq~i||nckkk2[OКey'nqYQyZ\ʫ !X,5HmcFCQ2.|b\.(J]U"wP(2[U3^/-QNeD"I&;Ҟlj Njl~͛!k;Vm2^f$i6p:P`޴;;6t9!ORt:B@9X2+ˠull67)WfTt==]pJ2߉~L&KWo[M_?\.dY(uH\-q>1׆"?Q&f'gU-.crØsG7jZo<0_h4l6P_?-l6YsΪtQվu LIDAT[ЀQ74Fqpppp{BM;쾾>F(N~G Zt|>TMߕJNEmsܬќѩ;|[~Wg/orG=988888qppppppq1dGDIENDB`FusionInventory-Agent-2.6/share/html/favicon.ico0000644000175000017500000002267613360140464022151 0ustar gbougardgbougard00 %(0` " '=PdqrnS=* mbdcCB{B|^wpP@@eR* /v|Cf->=Q}| Rs8c**VeDZ~9zk!4dlMi336@d)f`R~u U m]]j P  ;% ;yB Y a9pQ pf|y^f$dUv'kucZJ[ f_A= /[~taN;) ]]dlhuoq$dGlJe@n`=Diszqv{Tf ~@*E zoL $vVvn0gE yg 6_c& ZA\Q~~fs}JyUSR@ 7D2 2;*^e}{aRxn~A**,| Q_(ta ## p_h o B  HPP  <FusionInventory-Agent-2.6/share/html/index.tpl0000644000175000017500000000301213712210012021623 0ustar gbougardgbougard FusionInventory-Agent FusionInventory
This is FusionInventory Agent {$version}
The current status is {$status}
{ if ($trust && (@server_targets||@local_targets)) { $OUT .= 'Force an Inventory'; } else { ''; } }
{ if (@server_targets) { $OUT .= "Next server target execution planned for:\n"; $OUT .= "
    \n"; foreach my $target (@server_targets) { $OUT .= "
  • $target->{name}: $target->{date}
  • \n"; } $OUT .= "
\n"; } else { ''; } } { if (@local_targets) { $OUT .= "Next local target execution planned for:\n"; $OUT .= "
    \n"; foreach my $target (@local_targets) { $OUT .= "
  • $target->{name}: $target->{date}
  • \n"; } $OUT .= "
\n"; } else { ''; } } { if ($trust && @httpd_plugins) { $OUT .= "HTTPD plugins listening ports:\n"; foreach my $plugin (@httpd_plugins) { $OUT .= "
  • $plugin->{port}: $plugin->{name}
  • \n"; } $OUT .= "\n"; } else { ''; } } FusionInventory-Agent-2.6/share/edid.ids0000644000175000017500000016555013360140457020473 0ustar gbougardgbougard# the full list is available here (ISA_PNPID_List.xlsx) # http://msdn.microsoft.com/en-us/windows/hardware/gg463195.aspx # # #This list is based on: # - the list from Microsoft website # - the entries of our list unfound in Microsoft list # - a filter s/\ +$// to remove trailing white space in string # # Some code have been reverted to our initial string: # - "DO NOT USE - AUO" back to "AU Optronics" # - "DO NOT USE - LPL" back to "LG Philips" # # The rest of "DO NOT USE - " prefix string has been dropped. AAA __ Avolites Ltd AAE __ Anatek Electronics Inc. AAT __ Ann Arbor Technologies ABA __ ABBAHOME INC. ABC __ AboCom System Inc ABD __ Allen Bradley Company ABE __ Alcatel Bell ABT __ Anchor Bay Technologies, Inc. ABV __ Advanced Research Technology ACA __ Ariel Corporation ACB __ Aculab Ltd ACC __ Accton Technology Corporation ACD __ AWETA BV ACE __ Actek Engineering Pty Ltd ACG __ A&R Cambridge Ltd ACH __ Archtek Telecom Corporation ACI __ Ancor Communications Inc ACK __ Acksys ACL __ Apricot Computers ACM __ Acroloop Motion Control Systems Inc ACO __ Allion Computer Inc. ACP __ Aspen Tech Inc ACR __ Acer Technologies ACS __ Altos Computer Systems ACT __ Applied Creative Technology ACU __ Acculogic ACV __ ActivCard S.A ADA __ Addi-Data GmbH ADB __ Aldebbaron ADC __ Acnhor Datacomm ADD __ Advanced Peripheral Devices Inc ADE __ Arithmos, Inc. ADH __ Aerodata Holdings Ltd ADI __ ADI Systems Inc ADK __ Adtek System Science Company Ltd ADL __ ASTRA Security Products Ltd ADM __ Ad Lib MultiMedia Inc ADN __ Analog & Digital Devices Tel. Inc ADP __ Adaptec Inc ADR __ Nasa Ames Research Center ADS __ Analog Devices Inc ADT __ Aved Display Technologies ADV __ Advanced Micro Devices Inc ADX __ Adax Inc AEC __ Antex Electronics Corporation AED __ Advanced Electronic Designs, Inc. AEI __ Actiontec Electric Inc AEJ __ Alpha Electronics Company AEM __ ASEM S.p.A. AEN __ Avencall AEP __ Aetas Peripheral International AET __ Aethra Telecomunicazioni S.r.l. AFA __ Alfa Inc AGC __ Beijing Aerospace Golden Card Electronic Engineering Co.,Ltd. AGI __ Artish Graphics Inc AGL __ Argolis AGM __ Advan Int'l Corporation AGT __ Agilent Technologies AHC __ Advantech Co., Ltd. AIC __ Arnos Insturments & Computer Systems AIE __ Altmann Industrieelektronik AII __ Amptron International Inc. AIL __ Altos India Ltd AIM __ AIMS Lab Inc AIR __ Advanced Integ. Research Inc AIS __ Alien Internet Services AIW __ Aiwa Company Ltd AIX __ ALTINEX, INC. AJA __ AJA Video Systems, Inc. AKB __ Akebia Ltd AKE __ AKAMI Electric Co.,Ltd AKI __ AKIA Corporation AKL __ AMiT Ltd AKM __ Asahi Kasei Microsystems Company Ltd AKP __ Atom Komplex Prylad AKY __ Askey Computer Corporation ALA __ Alacron Inc ALC __ Altec Corporation ALD __ In4S Inc ALG __ Realtek Semiconductor Corp. ALH __ AL Systems ALI __ Acer Labs ALJ __ Altec Lansing ALK __ Acrolink Inc ALL __ Alliance Semiconductor Corporation ALM __ Acutec Ltd. ALN __ Alana Technologies ALO __ Algolith Inc. ALP __ Alps Electric Company Ltd ALR __ Advanced Logic ALS __ Texas Advanced optoelectronics Solutions, Inc ALT __ Altra ALV __ AlphaView LCD ALX __ ALEXON Co.,Ltd. AMA __ Asia Microelectronic Development Inc AMB __ Ambient Technologies, Inc. AMC __ Attachmate Corporation AMD __ Amdek Corporation AMI __ American Megatrends Inc AML __ Anderson Multimedia Communications (HK) Limited AMN __ Amimon LTD. AMO __ Amino Technologies PLC and Amino Communications Limited AMP __ AMP Inc AMT __ AMT International Industry AMW __ AMW AMX __ AMX LLC ANA __ Anakron ANC __ Ancot AND __ Adtran Inc ANI __ Anigma Inc ANK __ Anko Electronic Company Ltd ANL __ Analogix Semiconductor, Inc ANO __ Anorad Corporation ANP __ Andrew Network Production ANR __ ANR Ltd ANS __ Ansel Communication Company ANT __ Ace CAD Enterprise Company Ltd ANX __ Acer Netxus Inc AOA __ AOpen Inc. AOC __ AOC International (USA) Ltd. AOE __ Advanced Optics Electronics, Inc. AOL __ America OnLine AOT __ Alcatel APC __ American Power Conversion APD __ AppliAdata APG __ Horner Electric Inc API __ A Plus Info Corporation APL __ Aplicom Oy APM __ Applied Memory Tech APN __ Appian Tech Inc APP __ Apple Computer Inc APR __ Aprilia s.p.a. APS __ Autologic Inc APT __ Audio Processing Technology Ltd APV __ A+V Link APX __ AP Designs Ltd ARC __ Alta Research Corporation ARE __ ICET S.p.A. ARG __ Argus Electronics Co., LTD ARI __ Argosy Research Inc ARK __ Ark Logic Inc ARL __ Arlotto Comnet Inc ARM __ Arima ARO __ Poso International B.V. ARS __ Arescom Inc ART __ Corion Industrial Corporation ASC __ Ascom Strategic Technology Unit ASD __ USC Information Sciences Institute ASE __ AseV Display Labs ASI __ Ahead Systems ASK __ Ask A/S ASL __ AccuScene Corporation Ltd ASN __ Asante Tech Inc ASP __ ASP Microelectronics Ltd AST __ AST Research Inc ASU __ Asuscom Network Inc ASX __ AudioScience ASY __ Rockwell Collins / Airshow Systems ATA __ Allied Telesyn International (Asia) Pte Ltd ATC __ Ably-Tech Corporation ATD __ Alpha Telecom Inc ATE __ Innovate Ltd ATH __ Athena Informatica S.R.L. ATI __ Allied Telesis KK ATK __ Allied Telesyn Int'l ATL __ Arcus Technology Ltd ATM __ ATM Ltd ATN __ Athena Smartcard Solutions Ltd. ATO __ ASTRO DESIGN, INC. ATP __ Alpha-Top Corporation ATT __ AT&T ATV __ Office Depot, Inc. ATX __ Athenix Corporation AUI __ Alps Electric Inc AUO __ AU Optronics AUR __ Aureal Semiconductor AUT __ Autotime Corporation AVA __ Avaya Communication AVC __ Auravision Corporation AVD __ Avid Electronics Corporation AVE __ Add Value Enterpises (Asia) Pte Ltd AVI __ Nippon Avionics Co.,Ltd AVL __ Avalue Technology Inc. AVM __ AVM GmbH AVO __ Avocent Corporation AVR __ AVer Information Inc. AVT __ Avtek (Electronics) Pty Ltd AVV __ SBS Technologies (Canada), Inc. (was Avvida Systems, Inc.) AWC __ Access Works Comm Inc AWL __ Aironet Wireless Communications, Inc AWS __ Wave Systems AXB __ Adrienne Electronics Corporation AXC __ AXIOMTEK CO., LTD. AXE __ D-Link Systems Inc (used as 2nd pnpid) AXI __ American Magnetics AXL __ Axel AXO __ Axonic Labs LLC AXP __ American Express AXT __ Axtend Technologies Inc AXX __ Axxon Computer Corporation AXY __ AXYZ Automation Services, Inc AYD __ Aydin Displays AYR __ Airlib, Inc AZM __ AZ Middelheim - Radiotherapy AZT __ Aztech Systems Ltd BAC __ Biometric Access Corporation BAN __ Banyan BBB __ an-najah university BBH __ B&Bh BBL __ Brain Boxes Limited BCC __ Beaver Computer Corporaton BCD __ Barco GmbH BCM __ Broadcom BCQ __ Deutsche Telekom Berkom GmbH BCS __ Booria CAD/CAM systems BDO __ Brahler ICS BDR __ Blonder Tongue Labs, Inc. BDS __ Barco Display Systems BEC __ Elektro Beckhoff GmbH BEI __ Beckworth Enterprises Inc BEK __ Beko Elektronik A.S. BEL __ Beltronic Industrieelektronik GmbH BEO __ Baug & Olufsen BFE __ B.F. Engineering Corporation BGB __ Barco Graphics N.V BGT __ Budzetron Inc BHZ __ BitHeadz, Inc. BIC __ Big Island Communications BII __ Boeckeler Instruments Inc BIL __ Billion Electric Company Ltd BIO __ BioLink Technologies International, Inc. BLI __ Busicom BLN __ BioLink Technologies BLP __ Bloomberg L.P. BMI __ Benson Medical Instruments Company BML __ BIOMED Lab BMM __ BMM BMS __ BIOMEDISYS BNE __ Bull AB BNK __ Banksia Tech Pty Ltd BNO __ Bang & Olufsen BNQ __ BenQ Corporation BNS __ Boulder Nonlinear Systems BOB __ Rainy Orchard BOE __ BOE BOI __ NINGBO BOIGLE DIGITAL TECHNOLOGY CO.,LTD BOS __ BOS BPD __ Micro Solutions, Inc. BPU __ Best Power BRA __ Braemac Pty Ltd BRC __ BARC BRG __ Bridge Information Co., Ltd BRI __ Boca Research Inc BRM __ Braemar Inc BRO __ BROTHER INDUSTRIES,LTD. BSE __ Bose Corporation BSL __ Biomedical Systems Laboratory BSN __ BRIGHTSIGN, LLC BST __ BodySound Technologies, Inc. BTC __ Bit 3 Computer BTE __ Brilliant Technology BTF __ Bitfield Oy BTI __ BusTech Inc BTO __ BioTao Ltd BUF __ Yasuhiko Shirai Melco Inc BUG __ B.U.G., Inc. BUJ __ ATI Tech Inc BUL __ Bull BUR __ Bernecker & Rainer Ind-Eletronik GmbH BUS __ BusTek BUT __ 21ST CENTURY ENTERTAINMENT BWK __ Bitworks Inc. BXE __ Buxco Electronics BYD __ byd:sign corporation CAA __ Castles Automation Co., Ltd CAC __ CA & F Elettronica CAI __ Canon Inc. CAL __ Acon CAM __ Cambridge Audio CAN __ Carrera Computer Inc CAR __ Cardinal Company Ltd CAS __ CASIO COMPUTER CO.,LTD CAT __ Consultancy in Advanced Technology CAV __ Cavium Networks, Inc CBI __ ComputerBoards Inc CBR __ Cebra Tech A/S CBT __ Cabletime Ltd CBX __ Cybex Computer Products Corporation CCC __ C-Cube Microsystems CCI __ Cache CCJ __ CONTEC CO.,LTD. CCL __ CCL/ITRI CCP __ Capetronic USA Inc CDC __ Core Dynamics Corporation CDD __ Convergent Data Devices CDE __ Colin.de CDG __ Christie Digital Systems Inc CDI __ Concept Development Inc CDK __ Cray Communications CDN __ Codenoll Technical Corporation CDP __ CalComp CDS __ Computer Diagnostic Systems CDT __ IBM Corporation CDV __ Convergent Design Inc. CEA __ Consumer Electronics Association CEC __ Chicony Electronics Company Ltd CED __ Cambridge Electronic Design Ltd CEF __ Cefar Digital Vision CEI __ Crestron Electronics, Inc. CEM __ MEC Electronics GmbH CEN __ Centurion Technologies P/L CEP __ C-DAC CER __ Ceronix CET __ TEC CORPORATION CFG __ Atlantis CGA __ Chunghwa Picture Tubes, LTD CGS __ Chyron Corp CGT __ congatec AG CHA __ Chase Research PLC CHC __ Chic Technology Corp. CHD __ ChangHong Electric Co.,Ltd CHE __ Acer Inc CHG __ Sichuan Changhong Electric CO, LTD. CHI __ Chrontel Inc CHL __ Chloride-R&D CHM __ CHIC TECHNOLOGY CORP. CHO __ Sichuang Changhong Corporation CHP __ CH Products CHS __ Agentur Chairos CHT __ Chunghwa Picture Tubes,LTD. CHY __ Cherry GmbH CIC __ Comm. Intelligence Corporation CII __ Cromack Industries Inc CIL __ Citicom Infotech Private Limited CIN __ Citron GmbH CIS __ Cisco Systems Inc CIT __ Citifax Limited CKC __ The Concept Keyboard Company Ltd CKJ __ Carina System Co., Ltd. CLA __ Clarion Company Ltd CLD __ COMMAT L.t.d. CLE __ Classe Audio CLG __ CoreLogic CLI __ Cirrus Logic Inc CLM __ CrystaLake Multimedia CLO __ Clone Computers CLT __ automated computer control systems CLV __ Clevo Company CLX __ CardLogix CMC __ CMC Ltd CMD __ Colorado MicroDisplay, Inc. CMG __ Chenming Mold Ind. Corp. CMI __ C-Media Electronics CMM __ Comtime GmbH CMN __ Chimei Innolux Corporation CMO __ Chi Mei Optoelectronics corp. CMR __ Cambridge Research Systems Ltd CMS __ CompuMaster Srl CMX __ Comex Electronics AB CNC __ Alvedon Computers Ltd CNE __ Cine-tal CNI __ Connect Int'l A/S CNN __ Canon Inc CNT __ COINT Multimedia Systems COB __ COBY Electronics Co., Ltd COD __ CODAN Pty. Ltd. COI __ Codec Inc. COL __ Rockwell Collins, Inc. COM __ Comtrol Corporation CON __ Contec Company Ltd COO __ coolux GmbH COR __ Corollary Inc COS __ CoStar Corporation COT __ Core Technology Inc COW __ Polycow Productions COX __ Comrex CPC __ Ciprico Inc CPD __ CompuAdd CPI __ Computer Peripherals Inc CPL __ Compal Electronics Inc CPM __ Capella Microsystems Inc. CPQ __ Compaq Computer Company CPT __ cPATH CPX __ Powermatic Data Systems CRC __ CONRAC GmbH CRD __ Cardinal Technical Inc CRE __ Creative Labs Inc CRI __ Crio Inc. CRL __ Creative Logic   CRN __ Cornerstone Imaging CRO __ Extraordinary Technologies PTY Limited CRQ __ Cirque Corporation CRS __ Crescendo Communication Inc CRV __ Cerevo Inc. CRX __ Cyrix Corporation CSB __ Transtex SA CSC __ Crystal Semiconductor CSD __ Cresta Systems Inc CSE __ Concept Solutions & Engineering CSI __ Cabletron System Inc CSM __ Cosmic Engineering Inc. CSO __ California Institute of Technology CSS __ CSS Laboratories CST __ CSTI Inc CTA __ CoSystems Inc CTC __ CTC Communication Development Company Ltd CTE __ Chunghwa Telecom Co., Ltd. CTL __ Creative Technology Ltd CTM __ Computerm Corporation CTN __ Computone Products CTP __ Computer Technology Corporation CTS __ Comtec Systems Co., Ltd. CTX __ Creatix Polymedia GmbH CUB __ Cubix Corporation CUK __ Calibre UK Ltd CVA __ Covia Inc. CVS __ Clarity Visual Systems CWR __ Connectware Inc CXT __ Conexant Systems CYB __ CyberVision CYC __ Cylink Corporation CYD __ Cyclades Corporation CYL __ Cyberlabs CYT __ Cytechinfo Inc CYV __ Cyviz AS CYW __ Cyberware CZE __ Carl Zeiss AG DAC __ Digital Acoustics Corporation DAE __ Digatron Industrie Elektronik GmbH DAI __ DAIS SET Ltd. DAK __ Daktronics DAL __ Digital Audio Labs Inc DAN __ Danelec Marine A/S DAS __ DAVIS AS DAT __ Datel Inc DAU __ Daou Tech Inc DAV __ Davicom Semiconductor Inc DAW __ DA2 Technologies Inc DAX __ Data Apex Ltd DBD __ Diebold Inc. DBI __ DigiBoard Inc DBK __ Databook Inc DBL __ Doble Engineering Company DBN __ DB Networks Inc DCA __ Digital Communications Association DCC __ Dale Computer Corporation DCD __ Datacast LLC DCE __ dSPACE GmbH DCI __ Concepts Inc DCL __ Dynamic Controls Ltd DCM __ DCM Data Products DCO __ Dialogue Technology Corporation DCR __ Decros Ltd DCS __ Diamond Computer Systems Inc DCT __ Dancall Telecom A/S DCV __ Datatronics Technology Inc DDA __ DA2 Technologies Corporation DDD __ Danka Data Devices DDE __ Datasat Digital Entertainment DDI __ Data Display AG DDS __ Barco, n.v. DDT __ Datadesk Technologies Inc DDV __ Delta Information Systems, Inc DEC __ Digital Equipment Corporation DEI __ Deico Electronics DEL __ Dell Inc. DEN __ Densitron Computers Ltd DEX __ idex displays DFI __ DFI DFK __ SharkTec A/S DFT __ DEI Holdings dba Definitive Technology DGA __ Digiital Arts Inc DGC __ Data General Corporation DGI __ DIGI International DGK __ DugoTech Co., LTD DGP __ Digicorp European sales S.A. DGS __ Diagsoft Inc DGT __ The Dearborn Group DHP __ DH Print DHT __ Projectavision Inc DIA __ Diadem DIG __ Digicom S.p.A. DII __ Dataq Instruments Inc DIM __ dPict Imaging, Inc. DIN __ Daintelecom Co., Ltd DIS __ Diseda S.A. DIT __ Dragon Information Technology DJE __ Capstone Visua lProduct Development DJP __ Maygay Machines, Ltd DKY __ Datakey Inc DLB __ Dolby Laboratories Inc. DLC __ Diamond Lane Comm. Corporation DLG __ Digital-Logic GmbH DLK __ D-Link Systems Inc DLL __ Dell Inc DLT __ Digitelec Informatique Park Cadera DMB __ Digicom Systems Inc DMC __ Dune Microsystems Corporation DMM __ Dimond Multimedia Systems Inc DMP __ D&M Holdings Inc, Professional Business Company DMS __ DOME imaging systems DMT __ Distributed Management Task Force, Inc. (DMTF) DMV __ NDS Ltd DNA __ DNA Enterprises, Inc. DNG __ Apache Micro Peripherals Inc DNI __ Deterministic Networks Inc. DNT __ Dr. Neuhous Telekommunikation GmbH DNV __ DiCon DOL __ Dolman Technologies Group Inc DOM __ Dome Imaging Systems DON __ DENON, Ltd. DOT __ Dotronic Mikroelektronik GmbH DPA __ DigiTalk Pro AV DPC __ Delta Electronics Inc DPI __ DocuPoint DPL __ Digital Projection Limited DPM __ ADPM Synthesis sas DPS __ Digital Processing Systems DPT __ DPT DPX __ DpiX, Inc. DQB __ Datacube Inc DRB __ Dr. Bott KG DRC __ Data Ray Corp. DRD __ DIGITAL REFLECTION INC. DRI __ Data Race Inc DRS __ DRS Defense Solutions, LLC DSD __ DS Multimedia Pte Ltd DSI __ Digitan Systems Inc DSM __ DSM Digital Services GmbH DSP __ Domain Technology Inc DTA __ DELTATEC DTC __ DTC Tech Corporation DTE __ Dimension Technologies, Inc. DTI __ Diversified Technology, Inc. DTL __ e-Net Inc DTN __ Datang Telephone Co DTO __ Deutsche Thomson OHG DTT __ Design & Test Technology, Inc. DTX __ Data Translation DUA __ Dosch & Amand GmbH & Company KG DVD __ Dictaphone Corporation DVL __ Devolo AG DVS __ Digital Video System DVT __ Data Video DWE __ Daewoo Electronics Company Ltd DXC __ Digipronix Control Systems DXD __ DECIMATOR DESIGN PTY LTD DXL __ Dextera Labs Inc DXP __ Data Expert Corporation DXS __ Signet DYC __ Dycam Inc DYM __ Dymo-CoStar Corporation DYX __ Dynax Electronics (HK) Ltd EAS __ Evans and Sutherland Computer EBH __ Data Price Informatica EBT __ HUALONG TECHNOLOGY CO., LTD ECA __ Electro Cam Corp. ECC __ ESSential Comm. Corporation ECI __ Enciris Technologies ECK __ Eugene Chukhlomin Sole Proprietorship, d.b.a. ECL __ Excel Company Ltd ECM __ E-Cmos Tech Corporation ECO __ Echo Speech Corporation ECS __ ELITEGROUP Computer Systems ECT __ Enciris Technologies EDC __ e.Digital Corporation EDG __ Electronic-Design GmbH EDI __ Edimax Tech. Company Ltd EDM __ EDMI EDT __ Emerging Display Technologies Corp EEE __ ET&T Technology Company Ltd EEH __ EEH Datalink GmbH EEP __ E.E.P.D. GmbH EES __ EE Solutions, Inc. EGA __ Elgato Systems LLC EGD __ EIZO GmbH Display Technologies EGL __ Eagle Technology EGN __ Egenera, Inc. EGO __ Ergo Electronics EHJ __ Epson Research EHN __ Enhansoft EIC __ Eicon Technology Corporation EIZ __ EIZO EKA __ MagTek Inc. EKC __ Eastman Kodak Company EKS __ EKSEN YAZILIM ELA __ ELAD srl ELC __ Electro Scientific Ind ELE __ Elecom Company Ltd ELG __ Elmeg GmbH Kommunikationstechnik ELI __ Edsun Laboratories ELL __ Electrosonic Ltd ELM __ Elmic Systems Inc ELO __ Tyco Electronics ELS __ ELSA GmbH ELT __ Element Labs, Inc. ELX __ Elonex PLC EMB __ Embedded computing inc ltd EMC __ eMicro Corporation EME __ EMiNE TECHNOLOGY COMPANY, LTD. EMG __ EMG Consultants Inc EMI __ Ex Machina Inc EMK __ Emcore Corporation EMO __ ELMO COMPANY, LIMITED EMU __ Emulex Corporation ENC __ Eizo Nanao Corporation END __ ENIDAN Technologies Ltd ENE __ ENE Technology Inc. ENI __ Efficient Networks ENS __ Ensoniq Corporation ENT __ Enterprise Comm. & Computing Inc EPC __ Empac EPI __ Envision Peripherals, Inc EPN __ EPiCON Inc. EPS __ KEPS EQP __ Equipe Electronics Ltd. EQX __ Equinox Systems Inc ERG __ Ergo System ERI __ Ericsson Mobile Communications AB ERN __ Ericsson, Inc. ERP __ Euraplan GmbH ERT __ Escort Insturments Corporation ESA __ Elbit Systems of America ESC __ Eden Sistemas de Computacao S/A ESD __ Ensemble Designs, Inc ESG __ ELCON Systemtechnik GmbH ESI __ Extended Systems, Inc. ESK __ ES&S ESL __ Esterline Technologies ESN __ eSATURNUS ESS __ ESS Technology Inc EST __ Embedded Solution Technology ESY __ E-Systems Inc ETC __ Everton Technology Company Ltd ETD __ ELAN MICROELECTRONICS CORPORATION ETH __ Etherboot Project ETI __ Eclipse Tech Inc ETK __ eTEK Labs Inc. ETL __ Evertz Microsystems Ltd. ETS __ Electronic Trade Solutions Ltd ETT __ E-Tech Inc EUT __ Ericsson Mobile Networks B.V. EVI __ eviateg GmbH EVX __ Everex EXA __ Exabyte EXC __ Excession Audio EXI __ Exide Electronics EXN __ RGB Systems, Inc. dba Extron Electronics EXP __ Data Export Corporation EXT __ Exatech Computadores & Servicos Ltda EXX __ Exxact GmbH EXY __ Exterity Ltd EYE __ eyevis GmbH EZE __ EzE Technologies EZP __ Storm Technology FAR __ Farallon Computing FBI __ Interface Corporation FCB __ Furukawa Electric Company Ltd FCG __ First International Computer Ltd FCM __ Funai Electric Company of Taiwan FCS __ Focus Enhancements, Inc. FDC __ Future Domain FDT __ Fujitsu Display Technologies Corp. FEC __ FURUNO ELECTRIC CO., LTD. FEL __ Fellowes & Questec FEN __ Fen Systems Ltd. FER __ Ferranti Int'L FFC __ FUJIFILM Corporation FFI __ Fairfield Industries FGD __ Lisa Draexlmaier GmbH FGL __ Fujitsu General Limited. FHL __ FHLP FIC __ Formosa Industrial Computing Inc FIL __ Forefront Int'l Ltd FIN __ Finecom Co., Ltd. FIR __ Chaplet Systems Inc FIS __ FLY-IT Simulators FIT __ Feature Integration Technology Inc. FJC __ Fujitsu Takamisawa Component Limited FJS __ Fujitsu Spain FJT __ F.J. Tieman BV FLE __ ADTI Media, Inc FLI __ Faroudja Laboratories FLY __ Butterfly Communications FMA __ Fast Multimedia AG FMC __ Ford Microelectronics Inc FMI __ Fujitsu Microelect Inc FML __ Fujitsu Microelect Ltd FMZ __ Formoza-Altair FNC __ Fanuc LTD FNI __ Funai Electric Co., Ltd. FOA __ FOR-A Company Limited FOS __ Foss Tecator FOX __ HON HAI PRECISON IND.CO.,LTD. FPE __ Fujitsu Peripherals Ltd FPS __ Deltec Corporation FPX __ Cirel Systemes FRC __ Force Computers FRD __ Freedom Scientific BLV FRE __ Forvus Research Inc FRI __ Fibernet Research Inc FRS __ South Mountain Technologies, LTD FSC __ Future Systems Consulting KK FSI __ Fore Systems Inc FST __ Modesto PC Inc FTC __ Futuretouch Corporation FTE __ Frontline Test Equipment Inc. FTG __ FTG Data Systems FTI __ FastPoint Technologies, Inc. FTL __ FUJITSU TEN LIMITED FTN __ Fountain Technologies Inc FTR __ Mediasonic FTW __ MindTribe Product Engineering, Inc. FUJ __ Fujitsu Ltd FUN __ sisel muhendislik FUS __ Fujitsu Siemens Computers GmbH FVC __ First Virtual Corporation FVX __ C-C-C Group Plc FWA __ Attero Tech, LLC FWR __ Flat Connections Inc FXX __ Fuji Xerox FZC __ Founder Group Shenzhen Co. FZI __ FZI Forschungszentrum Informatik GAG __ Gage Applied Sciences Inc GAL __ Galil Motion Control GAU __ Gaudi Co., Ltd. GCC __ GCC Technologies Inc GCI __ Gateway Comm. Inc GCS __ Grey Cell Systems Ltd GDC __ General Datacom GDI __ G. Diehl ISDN GmbH GDS __ GDS GDT __ Vortex Computersysteme GmbH GEF __ GE Fanuc Embedded Systems GEH __ GE Intelligent Platforms - Huntsville GEM __ Gem Plus GEN __ Genesys ATE Inc GEO __ GEO Sense GER __ GERMANEERS GmbH GES __ GES Singapore Pte Ltd GET __ Getac Technology Corporation GFM __ GFMesstechnik GmbH GFN __ Gefen Inc. GGL __ Google Inc. GIC __ General Inst. Corporation GIM __ Guillemont International GIP __ GI Provision Ltd GIS __ AT&T Global Info Solutions GJN __ Grand Junction Networks GLD __ Goldmund - Digital Audio SA GLE __ AD electronics GLM __ Genesys Logic GLS __ Gadget Labs LLC GMK __ GMK Electronic Design GmbH GML __ General Information Systems GMM __ GMM Research Inc GMN __ GEMINI 2000 Ltd GMX __ GMX Inc GND __ Gennum Corporation GNN __ GN Nettest Inc GNZ __ Gunze Ltd GRA __ Graphica Computer GRE __ GOLD RAIN ENTERPRISES CORP. GRH __ Granch Ltd GRM __ Garmin International GRV __ Advanced Gravis GRY __ Robert Gray Company GSB __ NIPPONDENCHI CO,.LTD GSC __ General Standards Corporation GSM __ Goldstar Company Ltd GST __ Graphic SystemTechnology GSY __ Grossenbacher Systeme AG GTC __ Graphtec Corporation GTI __ Goldtouch GTK __ G-Tech Corporation GTM __ Garnet System Company Ltd GTS __ Geotest Marvin Test Systems Inc GTT __ General Touch Technology Co., Ltd. GUD __ Guntermann & Drunck GmbH GUZ __ Guzik Technical Enterprises GVC __ GVC Corporation GVL __ Global Village Communication GWI __ GW Instruments GWY __ Gateway 2000 GZE __ GUNZE Limited HAE __ Haider electronics HAI __ Haivision Systems Inc. HAL __ Halberthal HAN __ Hanchang System Corporation HAR __ Harris Corporation HAY __ Hayes Microcomputer Products Inc HCA __ DAT HCE __ Hitachi Consumer Electronics Co., Ltd HCL __ HCL America Inc HCM __ HCL Peripherals HCP __ Hitachi Computer Products Inc HCW __ Hauppauge Computer Works Inc HDC __ HardCom Elektronik & Datateknik HDI __ HD-INFO d.o.o. HDV __ Holografika kft. HEC __ Hitachi Engineering Company Ltd HEI __ Hyundai Electronics Industries Co., Ltd. HEL __ Hitachi Micro Systems Europe Ltd HER __ Ascom Business Systems HET __ HETEC Datensysteme GmbH HHC __ HIRAKAWA HEWTECH CORP. HHI __ Fraunhofer Heinrich-Hertz-Institute HIB __ Hibino Corporation HIC __ Hitachi Information Technology Co., Ltd. HIK __ Hikom Co., Ltd. HIL __ Hilevel Technology HIQ __ Kaohsiung Opto Electronics Americas, Inc. HIT __ Hitachi America Ltd HJI __ Harris & Jeffries Inc HKA __ HONKO MFG. CO., LTD. HKG __ Josef Heim KG HMC __ Hualon Microelectric Corporation HMK __ hmk Daten-System-Technik BmbH HMX __ HUMAX Co., Ltd. HNS __ Hughes Network Systems HOB __ HOB Electronic GmbH HOE __ Hosiden Corporation HOL __ Holoeye Photonics AG HON __ Sonitronix HPA __ Zytor Communications HPC __ Hewlett Packard Co. HPD __ Hewlett Packard HPI __ Headplay, Inc. HPK __ HAMAMATSU PHOTONICS K.K. HPQ __ HP HPR __ H.P.R. Electronics GmbH HRC __ Hercules HRE __ Qingdao Haier Electronics Co., Ltd. HRI __ Hall Research HRL __ Herolab GmbH HRS __ Harris Semiconductor HRT __ HERCULES HSC __ Hagiwara Sys-Com Company Ltd HSD __ Hannspree Inc HSL __ Hansol Electronics HSP __ HannStar Display Corp HTC __ Hitachi Ltd HTI __ Hampshire Company, Inc. HTK __ Holtek Microelectronics Inc HTX __ Hitex Systementwicklung GmbH HUB __ GAI-Tronics, A Hubbell Company HUM __ IMP Electronics Ltd. HWA __ Harris Canada Inc HWC __ DBA Hans Wedemeyer HWD __ Highwater Designs Ltd HWP __ Hewlett Packard HXM __ Hexium Ltd. HYC __ Hypercope Gmbh Aachen HYD __ Hydis Technologies.Co.,LTD HYO __ HYC CO., LTD. HYP __ Hyphen Ltd HYR __ Hypertec Pty Ltd HYT __ Heng Yu Technology (HK) Limited HYV __ Hynix Semiconductor IAF __ Institut f r angewandte Funksystemtechnik GmbH IAI __ Integration Associates, Inc. IAT __ IAT Germany GmbH IBC __ Integrated Business Systems IBI __ INBINE.CO.LTD IBM __ IBM France IBP __ IBP Instruments GmbH IBR __ IBR GmbH ICA __ ICA Inc ICC __ BICC Data Networks Ltd ICD __ ICD Inc ICE __ IC Ensemble ICI __ Infotek Communication Inc ICL __ Fujitsu ICL ICM __ Intracom SA ICN __ Sanyo Icon ICO __ Intel Corp ICS __ Integrated Circuit Systems ICV __ Inside Contactless ICX __ ICCC A/S IDC __ International Datacasting Corporation IDE __ IDE Associates IDK __ IDK Corporation IDN __ Idneo Technologies IDO __ IDEO Product Development IDP __ Integrated Device Technology, Inc. IDS __ Interdigital Sistemas de Informacao IDT __ International Display Technology IDX __ IDEXX Labs IEC __ Interlace Engineering Corporation IEE __ IEE IEI __ Interlink Electronics IFS __ In Focus Systems Inc IFT __ Informtech IFX __ Infineon Technologies AG IFZ __ Infinite Z IGC __ Intergate Pty Ltd IGM __ IGM Communi IHE __ InHand Electronics IIC __ ISIC Innoscan Industrial Computers A/S III __ Intelligent Instrumentation IIN __ IINFRA Co., Ltd IKS __ Ikos Systems Inc ILC __ Image Logic Corporation ILS __ Innotech Corporation IMA __ Imagraph IMB __ ART s.r.l. IMC __ IMC Networks IMD __ ImasDe Canarias S.A. IMG __ IMAGENICS Co., Ltd. IMI __ International Microsystems Inc IMM __ Immersion Corporation IMN __ Impossible Production IMP __ Impression Products Incorporated IMT __ Inmax Technology Corporation INC __ Home Row Inc IND __ ILC INE __ Inventec Electronics (M) Sdn. Bhd. INF __ Inframetrics Inc ING __ Integraph Corporation INI __ Initio Corporation INK __ Indtek Co., Ltd. INL __ InnoLux Display Corporation INM __ InnoMedia Inc INN __ Innovent Systems, Inc. INO __ Innolab Pte Ltd INS __ Ines GmbH INT __ Interphase Corporation INV __ Inviso, Inc. IOA __ CRE Technology Corporation IOD __ I-O Data Device Inc IOM __ Iomega ION __ Inside Out Networks IOS __ i-O Display System IOT __ I/OTech Inc IPC __ IPC Corporation IPD __ Industrial Products Design, Inc. IPI __ Intelligent Platform Management Interface (IPMI) forum (Intel, HP, NEC, Dell) IPM __ IPM Industria Politecnica Meridionale SpA IPN __ Performance Technologies IPP __ IP Power Technologies GmbH IPR __ Ithaca Peripherals IPS __ IPS, Inc. (Intellectual Property Solutions, Inc.) IPT __ International Power Technologies IPW __ IPWireless, Inc IQI __ IneoQuest Technologies, Inc IQT __ IMAGEQUEST Co., Ltd IRD __ IRdata ISA __ Symbol Technologies ISC __ Id3 Semiconductors ISG __ Insignia Solutions Inc ISI __ Interface Solutions ISL __ Isolation Systems ISM __ Image Stream Medical ISP __ IntreSource Systems Pte Ltd ISR __ INSIS Co., LTD. ISS __ ISS Inc IST __ Intersolve Technologies ISY __ International Integrated Systems,Inc.(IISI) ITA __ Itausa Export North America ITC __ Intercom Inc ITD __ Internet Technology Corporation ITK __ ITK Telekommunikation AG ITL __ Inter-Tel ITM __ ITM inc. ITN __ The NTI Group ITP __ IT-PRO Consulting und Systemhaus GmbH ITR __ Infotronic America, Inc. ITS __ IDTECH ITT __ I&T Telecom. ITX __ integrated Technology Express Inc IUC __ ICSL IVI __ Intervoice Inc IVM __ Iiyama North America IVS __ Intevac Photonics Inc. IWR __ Icuiti Corporation IWX __ Intelliworxx, Inc. IXD __ Intertex Data AB JAC __ Astec Inc JAE __ Japan Aviation Electronics Industry, Limited JAS __ Janz Automationssysteme AG JAT __ Jaton Corporation JAZ __ Carrera Computer Inc (used as second pnpid) JCE __ Jace Tech Inc JDL __ Japan Digital Laboratory Co.,Ltd. JEN __ N-Vision JET __ JET POWER TECHNOLOGY CO., LTD. JFX __ Jones Futurex Inc JGD __ University College JIC __ Jaeik Information & Communication Co., Ltd. JKC __ JVC KENWOOD Corporation JMT __ Micro Technical Company Ltd JPC __ JPC Technology Limited JPW __ Wallis Hamilton Industries JQE __ CNet Technical Inc JSD __ JS DigiTech, Inc JSI __ Jupiter Systems, Inc. JSK __ SANKEN ELECTRIC CO., LTD JTS __ JS Motorsports JTY __ jetway security micro,inc JUK __ Janich & Klass Computertechnik GmbH JUP __ Jupiter Systems JVC __ JVC JWD __ Video International Inc. JWL __ Jewell Instruments, LLC JWS __ JWSpencer & Co. JWY __ Jetway Information Co., Ltd KAR __ Karna KBI __ Kidboard Inc KCD __ Chunichi Denshi Co.,LTD. KCL __ Keycorp Ltd KDE __ KDE KDK __ Kodiak Tech KDM __ Korea Data Systems Co., Ltd. KDS __ KDS USA KDT __ KDDI Technology Corporation KEC __ Kyushu Electronics Systems Inc KEM __ Kontron Embedded Modules GmbH KES __ Kesa Corporation KEY __ Key Tech Inc KFC __ SCD Tech KFX __ Kofax Image Products KGL __ KEISOKU GIKEN Co.,Ltd. KIS __ KiSS Technology A/S KMC __ Mitsumi Company Ltd KME __ KIMIN Electronics Co., Ltd. KML __ Kensington Microware Ltd KNC __ Konica corporation KNX __ Nutech Marketing PTL KOB __ Kobil Systems GmbH KOE __ KOLTER ELECTRONIC KOL __ Kollmorgen Motion Technologies Group KOU __ KOUZIRO Co.,Ltd. KOW __ KOWA Company,LTD. KPC __ King Phoenix Company KRL __ Krell Industries Inc. KRM __ Kroma Telecom KRY __ Kroy LLC KSC __ Kinetic Systems Corporation KSL __ Karn Solutions Ltd. KSX __ King Tester Corporation KTC __ Kingston Tech Corporation KTD __ Takahata Electronics Co.,Ltd. KTE __ K-Tech KTG __ Kayser-Threde GmbH KTI __ Konica Technical Inc KTK __ Key Tronic Corporation KTN __ Katron Tech Inc KUR __ Kurta Corporation KVA __ Kvaser AB KVX __ KeyView KWD __ Kenwood Corporation KYC __ Kyocera Corporation KYE __ KYE Syst Corporation KYK __ Samsung Electronics America Inc KZI __ K-Zone International co. Ltd. KZN __ K-Zone International LAB __ ACT Labs Ltd LAC __ LaCie LAF __ Microline LAG __ Laguna Systems LAN __ Sodeman Lancom Inc LAS __ LASAT Comm. A/S LAV __ Lava Computer MFG Inc LBO __ Lubosoft LCC __ LCI LCD __ Toshiba Matsushita Display Technology Co., Ltd LCE __ La Commande Electronique LCI __ Lite-On Communication Inc LCM __ Latitude Comm. LCN __ LEXICON LCS __ Longshine Electronics Company LCT __ Labcal Technologies LDT __ LogiDataTech Electronic GmbH LEC __ Lectron Company Ltd LED __ Long Engineering Design Inc LEG __ Legerity, Inc LEN __ Lenovo Group Limited LEO __ First International Computer Inc LEX __ Lexical Ltd LGC __ Logic Ltd LGD __ LG Display LGI __ Logitech Inc LGS __ LG Semicom Company Ltd LGX __ Lasergraphics, Inc. LHA __ Lars Haagh ApS LHE __ Lung Hwa Electronics Company Ltd LHT __ Lighthouse Technologies Limited LIN __ Lenovo Beijing Co. Ltd. LIP __ Linked IP GmbH LIT __ Lithics Silicon Technology LJX __ Datalogic Corporation LKM __ Likom Technology Sdn. Bhd. LLL __ L-3 Communications LMG __ Lucent Technologies LMI __ Lexmark Int'l Inc LMP __ Leda Media Products LMT __ Laser Master LND __ Land Computer Company Ltd LNK __ Link Tech Inc LNR __ Linear Systems Ltd. LNT __ LANETCO International LNV __ Lenovo LOC __ Locamation B.V. LOE __ Loewe Opta GmbH LOG __ Logicode Technology Inc LOL __ Litelogic Operations Ltd LPE __ El-PUSK Co., Ltd. LPI __ Design Technology LPL __ LG Philips LSC __ LifeSize Communications LSD __ Intersil Corporation LSI __ Loughborough Sound Images LSJ __ LSI Japan Company Ltd LSL __ Logical Solutions LSY __ LSI Systems Inc LTC __ Labtec Inc LTI __ Jongshine Tech Inc LTK __ Lucidity Technology Company Ltd LTN __ Litronic Inc LTS __ LTS Scale LLC LTV __ Leitch Technology International Inc. LTW __ Lightware, Inc LUM __ Lumagen, Inc. LUX __ Luxxell Research Inc LVI __ LVI Low Vision International AB LWC __ Labway Corporation LWR __ Lightware Visual Engineering LWW __ Lanier Worldwide LXC __ LXCO Technologies AG LXN __ Luxeon LXS __ ELEA CardWare LZX __ Lightwell Company Ltd MAC __ MAC System Company Ltd MAD __ Xedia Corporation MAE __ Maestro Pty Ltd MAG __ MAG InnoVision MAI __ Mutoh America Inc MAL __ Meridian Audio Ltd MAN __ LGIC MAS __ Mass Inc. MAT __ Matsushita Electric Ind. Company Ltd MAX __ Rogen Tech Distribution Inc MAY __ Maynard Electronics MAZ __ MAZeT GmbH MBC __ MBC MBD __ Microbus PLC MBM __ Marshall Electronics MBV __ Moreton Bay MCA __ American Nuclear Systems Inc MCC __ Micro Industries MCD __ McDATA Corporation MCE __ Metz-Werke GmbH & Co KG MCG __ Motorola Computer Group MCI __ Micronics Computers MCL __ Motorola Communications Israel MCM __ Metricom Inc MCN __ Micron Electronics Inc MCO __ Motion Computing Inc. MCP __ Magni Systems Inc MCQ __ Mat's Computers MCR __ Marina Communicaitons MCS __ Micro Computer Systems MCT __ Microtec MDA __ Media4 Inc MDC __ Midori Electronics MDD __ MODIS MDG __ Madge Networks MDI __ Micro Design Inc MDK __ Mediatek Corporation MDO __ Panasonic MDR __ Medar Inc MDS __ Micro Display Systems Inc MDT __ Magus Data Tech MDV __ MET Development Inc MDX __ MicroDatec GmbH MDY __ Microdyne Inc MEC __ Mega System Technologies Inc MED __ Messeltronik Dresden GmbH MEE __ Mitsubishi Electric Engineering Co., Ltd. MEG __ Abeam Tech Ltd MEI __ Panasonic Industry Company MEJ __ Mac-Eight Co., LTD. MEL __ Mitsubishi Electric Corporation MEN __ MEN Mikroelectronik Nueruberg GmbH MEQ __ Matelect Ltd. MET __ Metheus Corporation MEX __ MSC Vertriebs GmbH MFG __ MicroField Graphics Inc MFI __ Micro Firmware MFR __ MediaFire Corp. MGA __ Mega System Technologies, Inc. MGC __ Mentor Graphics Corporation MGE __ Schneider Electric S.A. MGL __ M-G Technology Ltd MGT __ Megatech R & D Company MIC __ Micom Communications Inc MID __ miro Displays MII __ Mitec Inc MIL __ Marconi Instruments Ltd MIM __ Mimio – A Newell Rubbermaid Company MIN __ Minicom Digital Signage MIP __ micronpc.com MIR __ Miro Computer Prod. MIS __ Modular Industrial Solutions Inc MIT __ MCM Industrial Technology GmbH MJI __ MARANTZ JAPAN, INC. MJS __ MJS Designs MKC __ Media Tek Inc. MKT __ MICROTEK Inc. MKV __ Trtheim Technology MLD __ Deep Video Imaging Ltd MLG __ Micrologica AG MLI __ McIntosh Laboratory Inc. MLM __ Millennium Engineering Inc MLN __ Mark Levinson MLS __ Milestone EPE MLX __ Mylex Corporation MMA __ Micromedia AG MMD __ Micromed Biotecnologia Ltd MMF __ Minnesota Mining and Manufacturing MMI __ Multimax MMM __ Electronic Measurements MMN __ MiniMan Inc MMS __ MMS Electronics MNC __ Mini Micro Methods Ltd MNL __ Monorail Inc MNP __ Microcom MOD __ Modular Technology MOM __ Momentum Data Systems MOS __ Moses Corporation MOT __ Motorola UDS MPC __ M-Pact Inc MPI __ Mediatrix Peripherals Inc MPJ __ Microlab MPL __ Maple Research Inst. Company Ltd MPN __ Mainpine Limited MPS __ mps Software GmbH MPX __ Micropix Technologies, Ltd. MQP __ MultiQ Products AB MRA __ Miranda Technologies Inc MRC __ Marconi Simulation & Ty-Coch Way Training MRD __ MicroDisplay Corporation MRK __ Maruko & Company Ltd MRL __ Miratel MRO __ Medikro Oy MRT __ Merging Technologies MSA __ Micro Systemation AB MSC __ Mouse Systems Corporation MSD __ Datenerfassungs- und Informationssysteme MSF __ M-Systems Flash Disk Pioneers MSG __ MSI GmbH MSI __ Microstep MSK __ Megasoft Inc MSL __ MicroSlate Inc. MSM __ Advanced Digital Systems MSP __ Mistral Solutions [P] Ltd. MST __ MS Telematica MSU __ motorola MSV __ Mosgi Corporation MSX __ Micomsoft Co., Ltd. MSY __ MicroTouch Systems Inc MTB __ Media Technologies Ltd. MTC __ Mars-Tech Corporation MTD __ MindTech Display Co. Ltd MTE __ MediaTec GmbH MTH __ Micro-Tech Hearing Instruments MTI __ Motorola Inc. MTK __ Microtek International Inc. MTL __ Mitel Corporation MTM __ Motium MTN __ Mtron Storage Technology Co., Ltd. MTR __ Mitron computer Inc MTS __ Multi-Tech Systems MTU __ Mark of the Unicorn Inc MTX __ Matrox MUD __ Multi-Dimension Institute MUK __ mainpine limited MVD __ Microvitec PLC MVI __ Media Vision Inc MVM __ SOBO VISION MVS __ Microvision MVX __ COM 1 MWI __ Multiwave Innovation Pte Ltd MWR __ mware MWY __ Microway Inc MXD __ MaxData Computer GmbH & Co.KG MXI __ Macronix Inc MXL __ Hitachi Maxell, Ltd. MXP __ Maxpeed Corporation MXT __ Maxtech Corporation MXV __ MaxVision Corporation MYA __ Monydata MYR __ Myriad Solutions Ltd MYX __ Micronyx Inc NAC __ Ncast Corporation NAD __ NAD Electronics NAK __ Nakano Engineering Co.,Ltd. NAL __ Network Alchemy NAN __ NANAO NAT __ NaturalPoint Inc. NAV __ Navigation Corporation NAX __ Naxos Tecnologia NBL __ N*Able Technologies Inc NBS __ National Key Lab. on ISN NBT __ NingBo Bestwinning Technology CO., Ltd NCA __ Nixdorf Company NCC __ NCR Corporation NCE __ Norcent Technology, Inc. NCI __ NewCom Inc NCL __ NetComm Ltd NCR __ NCR Electronics NCS __ Northgate Computer Systems NCT __ NEC CustomTechnica, Ltd. NDC __ National DataComm Corporaiton NDI __ National Display Systems NDK __ Naitoh Densei CO., LTD. NDL __ Network Designers NDS __ Nokia Data NEC __ NEC Corporation NEO __ NEO TELECOM CO.,LTD. NET __ Mettler Toledo NEU __ NEUROTEC - EMPRESA DE PESQUISA E DESENVOLVIMENTO EM BIOMEDICINA NEX __ Nexgen Mediatech Inc., NFC __ BTC Korea Co., Ltd NFS __ Number Five Software NGC __ Network General NGS __ A D S Exports NHT __ Vinci Labs NIC __ National Instruments Corporation NIS __ Nissei Electric Company NIT __ Network Info Technology NIX __ Seanix Technology Inc NLC __ Next Level Communications NMP __ Nokia Mobile Phones NMS __ Natural Micro System NMV __ NEC-Mitsubishi Electric Visual Systems Corporation NMX __ Neomagic NNC __ NNC NOE __ NordicEye AB NOI __ North Invent A/S NOK __ Nokia Display Products NOR __ Norand Corporation NOT __ Not Limited Inc NPI __ Network Peripherals Inc NRL __ U.S. Naval Research Lab NRT __ Beijing Northern Radiantelecom Co. NRV __ Taugagreining hf NSC __ National Semiconductor Corporation NSI __ NISSEI ELECTRIC CO.,LTD NSP __ Nspire System Inc. NSS __ Newport Systems Solutions NST __ Network Security Technology Co NTC __ NeoTech S.R.L NTI __ New Tech Int'l Company NTL __ National Transcomm. Ltd NTN __ Nuvoton Technology Corporation NTR __ N-trig Innovative Technologies, Inc. NTS __ Nits Technology Inc. NTT __ NTT Advanced Technology Corporation NTW __ Networth Inc NTX __ Netaccess Inc NUG __ NU Technology, Inc. NUI __ NU Inc. NVC __ NetVision Corporation NVD __ Nvidia NVI __ NuVision US, Inc. NVL __ Novell Inc NVT __ Navatek Engineering Corporation NWC __ NW Computer Engineering NWP __ NovaWeb Technologies Inc NWS __ Newisys, Inc. NXC __ NextCom K.K. NXG __ Nexgen NXP __ NXP Semiconductors bv. NXQ __ Nexiq Technologies, Inc. NXS __ Technology Nexus Secure Open Systems AB NYC __ nakayo telecommunications,inc. OAK __ Oak Tech Inc OAS __ Oasys Technology Company OBS __ Optibase Technologies OCD __ Macraigor Systems Inc OCN __ Olfan OCS __ Open Connect Solutions ODM __ ODME Inc. ODR __ Odrac OEC __ ORION ELECTRIC CO.,LTD OEI __ Optum Engineering Inc. OIC __ Option Industrial Computers OIM __ Option International OKI __ OKI Electric Industrial Company Ltd OLC __ Olicom A/S OLD __ Olidata S.p.A. OLI __ Olivetti OLV __ Olitec S.A. OLY __ OLYMPUS CORPORATION OMC __ OBJIX Multimedia Corporation OMN __ Omnitel OMR __ Omron Corporation ONE __ Oneac Corporation ONK __ ONKYO Corporation ONL __ OnLive, Inc ONS __ On Systems Inc ONW __ OPEN Networks Ltd ONX __ SOMELEC Z.I. Du Vert Galanta OOS __ OSRAM OPC __ Opcode Inc OPI __ D.N.S. Corporation OPP __ OPPO Digital, Inc. OPT __ OPTi Inc OPV __ Optivision Inc OQI __ OPTIQUEST ORG __ ORGA Kartensysteme GmbH ORI __ OSR Open Systems Resources, Inc. ORN __ ORION ELECTRIC CO., LTD. OSA __ OSAKA Micro Computer, Inc. OSP __ OPTI-UPS Corporation OSR __ Oksori Company Ltd OTB __ outsidetheboxstuff.com OTI __ Orchid Technology OTM __ Optoma Corporation           OTT __ OPTO22, Inc. OUK __ OUK Company Ltd OWL __ Mediacom Technologies Pte Ltd OXU __ Oxus Research S.A. OYO __ Shadow Systems OZC __ OZ Corporation OZO __ Tribe Computer Works Inc PAC __ Pacific Avionics Corporation PAK __ Many CNC System Co., Ltd. PAM __ Peter Antesberger Messtechnik PAN __ The Panda Project PAR __ Parallan Comp Inc PBI __ Pitney Bowes PBL __ Packard Bell Electronics PBN __ Packard Bell NEC PCA __ Philips BU Add On Card PCB __ OCTAL S.A. PCC __ PowerCom Technology Company Ltd PCG __ First Industrial Computer Inc PCI __ Pioneer Computer Inc PCK __ PCBANK21 PCL __ pentel.co.,ltd PCM __ PCM Systems Corporation PCO __ Performance Concepts Inc., PCP __ Procomp USA Inc PCS __ TOSHIBA PERSONAL COMPUTER SYSTEM CORPRATION PCT __ PC-Tel Inc PCW __ Pacific CommWare Inc PCX __ PC Xperten PDC __ Polaroid PDM __ Psion Dacom Plc. PDN __ AT&T Paradyne PDR __ Pure Data Inc PDS __ PD Systems International Ltd PDT __ PDTS - Prozessdatentechnik und Systeme PDV __ Prodrive B.V. PEC __ POTRANS Electrical Corp. PEI __ PEI Electronics Inc PEL __ Primax Electric Ltd PEN __ Interactive Computer Products Inc PEP __ Peppercon AG PER __ Perceptive Signal Technologies PET __ Practical Electronic Tools PFT __ Telia ProSoft AB PGI __ PACSGEAR, Inc. PGM __ Paradigm Advanced Research Centre PGP __ propagamma kommunikation PGS __ Princeton Graphic Systems PHC __ Pijnenburg Beheer N.V. PHE __ Philips Medical Systems Boeblingen GmbH PHI __ PHI PHL __ Philips Consumer Electronics Company PHO __ Photonics Systems Inc. PHS __ Philips Communication Systems PHY __ Phylon Communications PIE __ Pacific Image Electronics Company Ltd PIM __ Prism, LLC PIO __ Pioneer Electronic Corporation PIX __ Pixie Tech Inc PJA __ Projecta PJD __ Projectiondesign AS PJT __ Pan Jit International Inc. PKA __ Acco UK ltd. PLC __ Pro-Log Corporation PLF __ Panasonic Avionics Corporation PLM __ PROLINK Microsystems Corp. PLT __ PT Hartono Istana Teknologi PLV __ PLUS Vision Corp. PLX __ Parallax Graphics PLY __ Polycom Inc. PMC __ PMC Consumer Electronics Ltd PMM __ Point Multimedia System PMT __ Promate Electronic Co., Ltd. PMX __ Photomatrix PNG __ P.I. Engineering Inc PNL __ Panelview, Inc. PNR __ Planar Systems, Inc. PNS __ PanaScope PNX __ Phoenix Technologies, Ltd. POL __ PolyComp (PTY) Ltd. PON __ Perpetual Technologies, LLC POR __ Portalis LC PPC __ Phoenixtec Power Company Ltd PPD __ MEPhI PPI __ Practical Peripherals PPM __ Clinton Electronics Corp. PPP __ Purup Prepress AS PPR __ PicPro PPX __ Perceptive Pixel Inc. PQI __ Pixel Qi PRA __ PRO/AUTOMATION PRC __ PerComm PRD __ Praim S.R.L. PRF __ Digital Electronics Corporation PRG __ The Phoenix Research Group Inc PRI __ Priva Hortimation BV PRM __ Prometheus PRO __ Proteon PRS __ Leutron Vision PRT __ Parade Technologies, Ltd. PRX __ Proxima Corporation PSA __ Advanced Signal Processing Technologies PSC __ Philips Semiconductors PSD __ Peus-Systems GmbH PSE __ Practical Solutions Pte., Ltd. PSI __ PSI-Perceptive Solutions Inc PSL __ Perle Systems Limited PSM __ Prosum PST __ Global Data SA PTA __ PAR Tech Inc. PTC __ PS Technology Corporation PTG __ Cipher Systems Inc PTH __ Pathlight Technology Inc PTI __ Promise Technology Inc PTL __ Pantel Inc PTS __ Plain Tree Systems Inc PTW __ PTW PVC __ PVC PVG __ Proview Global Co., Ltd PVI __ Prime view international Co., Ltd PVM __ Penta Studiotechnik GmbH PVN __ Pixel Vision PVP __ Klos Technologies, Inc. PXC __ Phoenix Contact PXE __ PIXELA CORPORATION PXL __ The Moving Pixel Company PXM __ Proxim Inc QCC __ QuakeCom Company Ltd QCH __ Metronics Inc QCI __ Quanta Computer Inc QCK __ Quick Corporation QCL __ Quadrant Components Inc QCP __ Qualcomm Inc QDI __ Quantum Data Incorporated QDM __ Quadram QDS __ Quanta Display Inc. QFF __ Padix Co., Inc. QFI __ Quickflex, Inc QLC __ Q-Logic QQQ __ Chuomusen Co., Ltd. QSI __ Quantum Solutions, Inc. QTD __ Quantum 3D Inc QTH __ Questech Ltd QTI __ Quicknet Technologies Inc QTM __ Quantum QTR __ Qtronix Corporation QUA __ Quatographic AG QUE __ Questra Consulting QVU __ Quartics RAC __ Racore Computer Products Inc RAD __ Radisys Corporation RAI __ Rockwell Automation/Intecolor RAR __ Raritan, Inc. RAS __ RAScom Inc RAT __ Rent-A-Tech RAY __ Raylar Design, Inc. RCE __ Parc d'Activite des Bellevues RCH __ Reach Technology Inc RCI __ RC International RCN __ Radio Consult SRL RCO __ Rockwell Collins RDI __ Rainbow Displays, Inc. RDM __ Tremon Enterprises Company Ltd RDN __ RADIODATA GmbH RDS __ Radius Inc REA __ Real D REC __ ReCom RED __ Research Electronics Development Inc REF __ Reflectivity, Inc. REH __ Rehan Electronics Ltd. REL __ Reliance Electric Ind Corporation REM __ SCI Systems Inc. REN __ Renesas Technology Corp. RES __ ResMed Pty Ltd RET __ Resonance Technology, Inc. REX __ RATOC Systems, Inc. RGL __ Robertson Geologging Ltd RHD __ RightHand Technologies RHM __ Rohm Company Ltd RHT __ Red Hat, Inc. RIC __ RICOH COMPANY, LTD. RII __ Racal Interlan Inc RIO __ Rios Systems Company Ltd RIT __ Ritech Inc RIV __ Rivulet Communications RJA __ Roland Corporation RJS __ Advanced Engineering RKC __ Reakin Technolohy Corporation RLD __ MEPCO RLN __ RadioLAN Inc RMC __ Raritan Computer, Inc RMP __ Research Machines RMT __ Roper Mobile RNB __ Rainbow Technologies ROB __ Robust Electronics GmbH ROH __ Rohm Co., Ltd. ROK __ Rockwell International ROP __ Roper International Ltd ROS __ Rohde & Schwarz RPI __ RoomPro Technologies RPT __ R.P.T.Intergroups RRI __ Radicom Research Inc RSC __ PhotoTelesis RSH __ ADC-Centre RSI __ Rampage Systems Inc RSN __ Radiospire Networks, Inc. RSQ __ R Squared RSS __ Rockwell Semiconductor Systems RSV __ Ross Video Ltd RSX __ Rapid Tech Corporation RTC __ Relia Technologies RTI __ Rancho Tech Inc RTK __ RTK RTL __ Realtek Semiconductor Company Ltd RTS __ Raintree Systems RUN __ RUNCO International RUP __ Ups Manufactoring s.r.l. RVC __ RSI Systems Inc RVI __ Realvision Inc RVL __ Reveal Computer Prod RWC __ Red Wing Corporation RXT __ Tectona SoftSolutions (P) Ltd., SAA __ Sanritz Automation Co.,Ltd. SAE __ Saab Aerotech SAG __ Sedlbauer SAI __ Sage Inc SAK __ Saitek Ltd SAM __ Samsung Electric Company SAN __ Sanyo Electric Co.,Ltd. SAS __ Stores Automated Systems Inc SAT __ Shuttle Tech SBC __ Shanghai Bell Telephone Equip Mfg Co SBD __ Softbed - Consulting & Development Ltd SBI __ SMART Technologies Inc. SBS __ SBS-or Industrial Computers GmbH SBT __ Senseboard Technologies AB SCC __ SORD Computer Corporation SCE __ Sun Corporation SCH __ Schlumberger Cards SCI __ System Craft SCL __ Sigmacom Co., Ltd. SCM __ SCM Microsystems Inc SCN __ Scanport, Inc. SCO __ SORCUS Computer GmbH SCP __ Scriptel Corporation SCR __ Systran Corporation SCS __ Nanomach Anstalt SCT __ Smart Card Technology SDA __ SAT (Societe Anonyme) SDD __ Intrada-SDD Ltd SDE __ Sherwood Digital Electronics Corporation SDF __ SODIFF E&T CO., Ltd. SDH __ Communications Specialies, Inc. SDI __ Samtron Displays Inc SDK __ SAIT-Devlonics SDR __ SDR Systems SDS __ SunRiver Data System SDT __ Siemens AG SDX __ SDX Business Systems Ltd SEA __ Seanix Technology Inc. SEB __ system elektronik GmbH SEC __ Seiko Epson Corporation SEE __ SeeColor Corporation SEG __ SEG SEI __ Seitz & Associates Inc SEL __ Way2Call Communications SEM __ Samsung Electronics Company Ltd SEN __ Sencore SEO __ SEOS Ltd SEP __ SEP Eletronica Ltda. SER __ Sony Ericsson Mobile Communications Inc. SES __ Session Control LLC SET __ SendTek Corporation SFM __ TORNADO Company SFT __ Mikroforum Ring 3 SGC __ Spectragraphics Corporation SGD __ Sigma Designs, Inc. SGE __ Kansai Electric Company Ltd SGI __ Scan Group Ltd SGL __ Super Gate Technology Company Ltd SGM __ SAGEM SGO __ Logos Design A/S SGT __ Stargate Technology SGW __ Shanghai Guowei Science and Technology Co., Ltd. SGX __ Silicon Graphics Inc SGZ __ Systec Computer GmbH SHC __ ShibaSoku Co., Ltd. SHG __ Soft & Hardware development Goldammer GmbH SHI __ Jiangsu Shinco Electronic Group Co., Ltd SHP __ Sharp Corporation SHR __ Digital Discovery SHT __ Shin Ho Tech SIA __ SIEMENS AG SIC __ Sysmate Corporation SID __ Seiko Instruments Information Devices Inc SIE __ Siemens SIG __ Sigma Designs Inc SII __ Silicon Image, Inc. SIL __ Silicon Laboratories, Inc SIN __ Singular Technology Co., Ltd. SIR __ Sirius Technologies Pty Ltd SIS __ Silicon Integrated Systems Corporation SIT __ Sitintel SIU __ Seiko Instruments USA Inc SIX __ Zuniq Data Corporation SJE __ Sejin Electron Inc SKD __ Schneider & Koch SKT __ Samsung Electro-Mechanics Company Ltd SKY __ SKYDATA S.P.A. SLA __ Systeme Lauer GmbH&Co KG SLB __ Shlumberger Ltd SLC __ Syslogic Datentechnik AG SLF __ StarLeaf SLH __ Silicon Library Inc. SLI __ Symbios Logic Inc SLK __ Silitek Corporation SLM __ Solomon Technology Corporation SLR __ Schlumberger Technology Corporate SLS __ Schnick-Schnack-Systems GmbH SLT __ Salt Internatioinal Corp. SLX __ Specialix SMA __ SMART Modular Technologies SMB __ Schlumberger SMC __ Standard Microsystems Corporation SME __ Sysmate Company SMI __ SpaceLabs Medical Inc SMK __ SMK CORPORATION SML __ Sumitomo Metal Industries, Ltd. SMM __ Shark Multimedia Inc SMO __ STMicroelectronics SMP __ Simple Computing SMR __ B.& V. s.r.l. SMS __ Silicom Multimedia Systems Inc SMT __ Silcom Manufacturing Tech Inc SNC __ Sentronic International Corp. SNI __ Siemens Microdesign GmbH SNK __ S&K Electronics SNO __ SINOSUN TECHNOLOGY CO., LTD SNP __ Siemens Nixdorf Info Systems SNS __ Cirtech (UK) Ltd SNT __ SuperNet Inc SNW __ Snell & Wilcox SNX __ Sonix Comm. Ltd SNY __ Sony Corporation SOI __ Silicon Optix Corporation SOL __ Solitron Technologies Inc SON __ Sony SOR __ Sorcus Computer GmbH SOT __ Sotec Company Ltd SOY __ SOYO Group, Inc SPC __ SpinCore Technologies, Inc SPE __ SPEA Software AG SPH __ G&W Instruments GmbH SPI __ SPACE-I Co., Ltd. SPK __ SpeakerCraft SPL __ Smart Silicon Systems Pty Ltd SPN __ Sapience Corporation SPR __ pmns GmbH SPS __ Synopsys Inc SPT __ Sceptre Tech Inc SPU __ SIM2 Multimedia S.P.A. SPX __ Simplex Time Recorder Co. SQT __ Sequent Computer Systems Inc SRC __ Integrated Tech Express Inc SRD __ Setred SRF __ Surf Communication Solutions Ltd SRG __ Intuitive Surgical, Inc. SRT __ SeeReal Technologies GmbH SSC __ Sierra Semiconductor Inc SSD __ FlightSafety International SSE __ Samsung Electronic Co. SSI __ S-S Technology Inc SSJ __ Sankyo Seiki Mfg.co., Ltd SSP __ Spectrum Signal Proecessing Inc SSS __ S3 Inc SST __ SystemSoft Corporation STA __ ST Electronics Systems Assembly Pte Ltd STB __ STB Systems Inc STC __ STAC Electronics STD __ STD Computer Inc STE __ SII Ido-Tsushin Inc STF __ Starflight Electronics STG __ StereoGraphics Corp. STH __ Semtech Corporation STI __ Smart Tech Inc STK __ SANTAK CORP. STL __ SigmaTel Inc STM __ SGS Thomson Microelectronics STN __ Samsung Electronics America STO __ Stollmann E+V GmbH STP __ StreamPlay Ltd STR __ Starlight Networks Inc STS __ SITECSYSTEM CO., LTD. STT __ Star Paging Telecom Tech (Shenzhen) Co. Ltd. STU __ Sentelic Corporation STW __ Starwin Inc. STX __ ST-Ericsson STY __ SDS Technologies SUB __ Subspace Comm. Inc SUM __ Summagraphics Corporation SUN __ Sun Electronics Corporation SUP __ Supra Corporation SUR __ Surenam Computer Corporation SVA __ SGEG SVC __ Intellix Corp. SVD __ SVD Computer SVI __ Sun Microsystems SVS __ SVSI SVT __ SEVIT Co., Ltd. SWC __ Software Café SWI __ Sierra Wireless Inc. SWL __ Sharedware Ltd SWS __ Static SWT __ Software Technologies Group,Inc. SXB __ Syntax-Brillian SXD __ Silex technology, Inc. SXL __ SolutionInside SXT __ SHARP TAKAYA ELECTRONIC INDUSTRY CO.,LTD. SYC __ Sysmic SYE __ SY Electronics Ltd SYK __ Stryker Communications SYL __ Sylvania Computer Products SYM __ Symicron Computer Communications Ltd. SYN __ Synaptics Inc SYP __ SYPRO Co Ltd SYS __ Sysgration Ltd SYT __ Seyeon Tech Company Ltd SYV __ SYVAX Inc SYX __ Prime Systems, Inc. TAA __ Tandberg TAB __ Todos Data System AB TAG __ Teles AG TAM __ Tamura Seisakusyo Ltd TAS __ Taskit Rechnertechnik GmbH TAT __ Teleliaison Inc TAX __ Taxan (Europe) Ltd TBB __ Triple S Engineering Inc TBC __ Turbo Communication, Inc TBS __ Turtle Beach System TCC __ Tandon Corporation TCD __ Taicom Data Systems Co., Ltd. TCE __ Century Corporation TCH __ Interaction Systems, Inc TCI __ Tulip Computers Int'l B.V. TCJ __ TEAC America Inc TCL __ Technical Concepts Ltd TCM __ 3Com Corporation TCN __ Tecnetics (PTY) Ltd TCO __ Thomas-Conrad Corporation TCR __ Thomson Consumer Electronics TCS __ Tatung Company of America Inc TCT __ Telecom Technology Centre Co. Ltd. TCX __ FREEMARS Heavy Industries TDC __ Teradici TDD __ Tandberg Data Display AS TDK __ TDK USA Corporation TDM __ Tandem Computer Europe Inc TDP __ 3D Perception TDS __ Tri-Data Systems Inc TDT __ TDT TDV __ TDVision Systems, Inc. TDY __ Tandy Electronics TEA __ TEAC System Corporation TEC __ Tecmar Inc TEK __ Tektronix Inc TEL __ Promotion and Display Technology Ltd. TER __ TerraTec Electronic GmbH TGC __ Toshiba Global Commerce Solutions, Inc. TGI __ TriGem Computer Inc TGM __ TriGem Computer,Inc. TGV __ Grass Valley Germany GmbH THN __ Thundercom Holdings Sdn. Bhd. TIC __ Trigem KinfoComm TIP __ TIPTEL AG TIV __ OOO Technoinvest TIX __ Tixi.Com GmbH TKC __ Taiko Electric Works.LTD TKN __ Teknor Microsystem Inc TKO __ TouchKo, Inc. TKS __ TimeKeeping Systems, Inc. TLA __ Ferrari Electronic GmbH TLD __ Telindus TLI __ TOSHIBA TELI CORPORATION TLK __ Telelink AG TLS __ Teleste Educational OY TLT __ Dai Telecom S.p.A. TLX __ Telxon Corporation TMC __ Techmedia Computer Systems Corporation TME __ AT&T Microelectronics TMI __ Texas Microsystem TMM __ Time Management, Inc. TMR __ Taicom International Inc TMS __ Trident Microsystems Ltd TMT __ T-Metrics Inc. TMX __ Thermotrex Corporation TNC __ TNC Industrial Company Ltd TNJ __ TNJ TNM __ TECNIMAGEN SA TNY __ Tennyson Tech Pty Ltd TOE __ TOEI Electronics Co., Ltd. TOG __ The OPEN Group TON __ TONNA TOP __ Orion Communications Co., Ltd. TOS __ Toshiba Corporation TOU __ Touchstone Technology TPC __ Touch Panel Systems Corporation TPE __ Technology Power Enterprises Inc TPJ __ Junnila TPK __ TOPRE CORPORATION TPR __ Topro Technology Inc TPS __ Teleprocessing Systeme GmbH TPT __ Thruput Ltd TPV __ Top Victory Electronics ( Fujian ) Company Ltd TPZ __ Ypoaz Systems Inc TRA __ TriTech Microelectronics International TRC __ Trioc AB TRD __ Trident Microsystem Inc TRE __ Tremetrics TRI __ Tricord Systems TRL __ Royal Information TRM __ Tekram Technology Company Ltd TRN __ Datacommunicatie Tron B.V. TRS __ Torus Systems Ltd TRT __ Tritec Electronic AG TRU __ Aashima Technology B.V. TRV __ Trivisio Prototyping GmbH TRX __ Trex Enterprises TSB __ Toshiba America Info Systems Inc TSC __ Sanyo Electric Company Ltd TSD __ TechniSat Digital GmbH TSE __ Tottori Sanyo Electric TSF __ Racal-Airtech Software Forge Ltd TSG __ The Software Group Ltd TSI __ TeleVideo Systems TSL __ Tottori SANYO Electric Co., Ltd. TSP __ U.S. Navy TST __ Transtream Inc TSV __ TRANSVIDEO TSY __ TouchSystems TTA __ Topson Technology Co., Ltd. TTB __ National Semiconductor Japan Ltd TTC __ Telecommunications Techniques Corporation TTE __ TTE, Inc. TTI __ Trenton Terminals Inc TTK __ Totoku Electric Company Ltd TTL __ 2-Tel B.V. TTS __ TechnoTrend Systemtechnik GmbH TTY __ TRIDELITY Display Solutions GmbH TUT __ Tut Systems TVD __ Tecnovision TVI __ Truevision TVM __ Taiwan Video & Monitor Corporation TVO __ TV One Ltd TVR __ TV Interactive Corporation TVS __ TVS Electronics Limited TVV __ TV1 GmbH TWA __ Tidewater Association TWE __ Kontron Electronik TWH __ Twinhead International Corporation TWI __ Easytel oy TWK __ TOWITOKO electronics GmbH TWX __ TEKWorx Limited TXL __ Trixel Ltd TXN __ Texas Insturments TXT __ Textron Defense System TYN __ Tyan Computer Corporation UAS __ Ultima Associates Pte Ltd UBI __ Ungermann-Bass Inc UBL __ Ubinetics Ltd. UDN __ Uniden Corporation UEC __ Ultima Electronics Corporation UEG __ Elitegroup Computer Systems Company Ltd UEI __ Universal Electronics Inc UET __ Universal Empowering Technologies UFG __ UNIGRAF-USA UFO __ UFO Systems Inc UHB __ XOCECO UIC __ Uniform Industrial Corporation UJR __ Ueda Japan Radio Co., Ltd. ULT __ Ultra Network Tech UMC __ United Microelectr Corporation UMG __ Umezawa Giken Co.,Ltd UMM __ Universal Multimedia UNA __ Unisys DSD UND __ UND UNE __ UNE UNF __ UNF UNI __ Uniform Industry Corp. UNM __ Unisys Corporation UNP __ Unitop UNT __ Unisys Corporation UNY __ Unicate UPP __ UPPI UPS __ Systems Enhancement URD __ Video Computer S.p.A. USA __ Utimaco Safeware AG USD __ U.S. Digital Corporation USI __ Universal Scientific Industrial Co., Ltd. USR __ U.S. Robotics Inc UTD __ Up to Date Tech UWC __ Uniwill Computer Corp. VAL __ Valence Computing Corporation VAR __ Varian Australia Pty Ltd VBR __ VBrick Systems Inc. VBT __ Valley Board Ltda VCC __ Virtual Computer Corporation VCI __ VistaCom Inc VCJ __ Victor Company of Japan, Limited VCM __ Vector Magnetics, LLC VCX __ VCONEX VDA __ Victor Data Systems VDC __ VDC Display Systems VDM __ Vadem VDO __ Video & Display Oriented Corporation VDS __ Vidisys GmbH & Company VDT __ Viditec, Inc. VEC __ Vector Informatik GmbH VEK __ Vektrex VES __ Vestel Elektronik Sanayi ve Ticaret A. S. VFI __ VeriFone Inc VHI __ Macrocad Development Inc. VIA __ VIA Tech Inc VIB __ Tatung UK Ltd VIC __ Victron B.V. VID __ Ingram Macrotron Germany VIK __ Viking Connectors VIN __ Vine Micros Ltd VIR __ Visual Interface, Inc VIS __ Visioneer VIT __ Visitech AS VIZ __ VIZIO, Inc VLB __ ValleyBoard Ltda. VLT __ VideoLan Technologies VMI __ Vermont Microsystems VML __ Vine Micros Limited VMW __ VMware Inc., VNC __ Vinca Corporation VOB __ MaxData Computer AG VPI __ Video Products Inc VPR __ Best Buy VQ@ __ Vision Quest VRC __ Virtual Resources Corporation VSC __ ViewSonic Corporation VSD __ 3M VSI __ VideoServer VSN __ Ingram Macrotron VSP __ Vision Systems GmbH VSR __ V-Star Electronics Inc. VTC __ VTel Corporation VTG __ Voice Technologies Group Inc VTI __ VLSI Tech Inc VTK __ Viewteck Co., Ltd. VTL __ Vivid Technology Pte Ltd VTM __ Miltope Corporation VTN __ VIDEOTRON CORP. VTS __ VTech Computers Ltd VTV __ VATIV Technologies VTX __ Vestax Corporation VUT __ Vutrix (UK) Ltd VWB __ Vweb Corp. WAC __ Wacom Tech WAL __ Wave Access WAN __ WAN WAV __ Wavephore WBN __ MicroSoftWare WBS __ WB Systemtechnik GmbH WCI __ Wisecom Inc WCS __ Woodwind Communications Systems Inc WDC __ Western Digital WDE __ Westinghouse Digital Electronics WEB __ WebGear Inc WEC __ Winbond Electronics Corporation WEY __ WEY Design AG WHI __ Whistle Communications WII __ Innoware Inc WIL __ WIPRO Information Technology Ltd WIN __ Wintop Technology Inc WIP __ Wipro Infotech WKH __ Uni-Take Int'l Inc. WLD __ Wildfire Communications Inc WML __ Wolfson Microelectronics Ltd WMO __ Westermo Teleindustri AB WMT __ Winmate Communication Inc WNI __ WillNet Inc. WNV __ Winnov L.P. WNX __ Wincor Nixdorf International GmbH WPA __ Matsushita Communication Industrial Co., Ltd. WPI __ Wearnes Peripherals International (Pte) Ltd WRC __ WiNRADiO Communications WSC __ CIS Technology Inc WSP __ Wireless And Smart Products Inc. WST __ Wistron Corporation WTC __ ACC Microelectronics WTI __ WorkStation Tech WTK __ Wearnes Thakral Pte WTS __ Restek Electric Company Ltd WVM __ Wave Systems Corporation WWV __ World Wide Video, Inc. WXT __ Woxter Technology Co. Ltd WYS __ Myse Technology WYT __ Wooyoung Image & Information Co.,Ltd. XAC __ XAC Automation Corp XAD __ Alpha Data XDM __ XDM Ltd. XER __ XER XFG __ Jan Strapko - FOTO XFO __ EXFO Electro Optical Engineering XIN __ Xinex Networks Inc XIO __ Xiotech Corporation XIR __ Xirocm Inc XIT __ Xitel Pty ltd XLX __ Xilinx, Inc. XMM __ C3PO S.L. XNT __ XN Technologies, Inc. XOC __ XOC XQU __ SHANGHAI SVA-DAV ELECTRONICS CO., LTD XRC __ Xircom Inc XRO __ XORO ELECTRONICS (CHENGDU) LIMITED XSN __ Xscreen AS XST __ XS Technologies Inc XSY __ XSYS XTE __ X2E GmbH XTL __ Crystal Computer XTN __ X-10 (USA) Inc XYC __ Xycotec Computer GmbH YED __ Y-E Data Inc YHQ __ Yokogawa Electric Corporation YHW __ Exacom SA YMH __ Yamaha Corporation YOW __ American Biometric Company ZAN __ Zandar Technologies plc ZAX __ Zefiro Acoustics ZAZ __ Zazzle Technologies ZBR __ Zebra Technologies International, LLC ZCM __ Zenith Data Systems ZCT __ ZeitControl cardsystems GmbH ZIC __ Nationz Technologies Inc. ZMT __ Zalman Tech Co., Ltd. ZMZ __ Z Microsystems ZNI __ Zetinet Inc ZNX __ Znyx Adv. Systems ZOW __ Zowie Intertainment, Inc ZRN __ Zoran Corporation ZSE __ Zenith Data Systems ZTC __ ZyDAS Technology Corporation ZTE __ ZTE Corporation ZTI __ Zoom Telephonics Inc ZTM __ ZT Group Int'l Inc. ZTT __ Z3 Technology ZYD __ Zydacron Inc ZYP __ Zypcom Inc ZYT __ Zytex Computers ZYX __ Zyxel inu __ Inovatec S.p.A. FusionInventory-Agent-2.6/MANIFEST0000644000175000017500000020122613757703016017111 0ustar gbougardgbougardbin/fusioninventory-agent bin/fusioninventory-esx bin/fusioninventory-injector bin/fusioninventory-inventory bin/fusioninventory-netdiscovery bin/fusioninventory-netinventory bin/fusioninventory-remoteinventory bin/fusioninventory-wakeonlan bin/fusioninventory-win32-service bin/fusioninventory-win32-service.rc.sample bin/fusioninventory-wmi Changes CONTRIB.md contrib/debian-builder.sh contrib/netdisco/netdisco_2_glpi.sh contrib/unix/fusioninventory-agent.init.debian contrib/unix/fusioninventory-agent.init.redhat contrib/unix/fusioninventory-agent.service contrib/unix/install-deb-README.md contrib/unix/install-deb.sh contrib/windows/fusioninventory-agent-deployment.vbs contrib/windows/FusionInventory.adml contrib/windows/FusionInventory.admx contrib/yum-plugin/fusioninventory-agent.conf contrib/yum-plugin/fusioninventory-agent.py contrib/yum-plugin/INSTALL doc/deploy.mdwn doc/esx.mdwn doc/inventory.mdwn doc/network.mdwn doc/wakeonlan.mdwn etc/agent.cfg etc/inventory-server-plugin.cfg etc/proxy-server-plugin.cfg etc/proxy2-server-plugin.cfg etc/server-test-plugin.cfg etc/ssl-server-plugin.cfg inc/Module/AutoInstall.pm inc/Module/Install.pm inc/Module/Install/Base.pm inc/Module/Install/Can.pm inc/Module/Install/Fetch.pm inc/Module/Install/Include.pm inc/Module/Install/Makefile.pm inc/Module/Install/Metadata.pm inc/Module/Install/Scripts.pm inc/Module/Install/Win32.pm inc/Module/Install/WriteAll.pm lib/FusionInventory/Agent.pm lib/FusionInventory/Agent/Config.pm lib/FusionInventory/Agent/Daemon.pm lib/FusionInventory/Agent/Daemon/Win32.pm lib/FusionInventory/Agent/HTTP/Client.pm lib/FusionInventory/Agent/HTTP/Client/Fusion.pm lib/FusionInventory/Agent/HTTP/Client/OCS.pm lib/FusionInventory/Agent/HTTP/Protocol/https.pm lib/FusionInventory/Agent/HTTP/Server.pm lib/FusionInventory/Agent/HTTP/Server/Inventory.pm lib/FusionInventory/Agent/HTTP/Server/Plugin.pm lib/FusionInventory/Agent/HTTP/Server/Proxy.pm lib/FusionInventory/Agent/HTTP/Server/SecondaryProxy.pm lib/FusionInventory/Agent/HTTP/Server/SSL.pm lib/FusionInventory/Agent/HTTP/Server/Test.pm lib/FusionInventory/Agent/HTTP/Session.pm lib/FusionInventory/Agent/Inventory.pm lib/FusionInventory/Agent/Logger.pm lib/FusionInventory/Agent/Logger/Backend.pm lib/FusionInventory/Agent/Logger/File.pm lib/FusionInventory/Agent/Logger/Stderr.pm lib/FusionInventory/Agent/Logger/Syslog.pm lib/FusionInventory/Agent/SNMP.pm lib/FusionInventory/Agent/SNMP/Device.pm lib/FusionInventory/Agent/SNMP/Device/Components.pm lib/FusionInventory/Agent/SNMP/Live.pm lib/FusionInventory/Agent/SNMP/MibSupport.pm lib/FusionInventory/Agent/SNMP/MibSupport/Brocade.pm lib/FusionInventory/Agent/SNMP/MibSupport/Digi.pm lib/FusionInventory/Agent/SNMP/MibSupport/EatonEpdu.pm lib/FusionInventory/Agent/SNMP/MibSupport/Epson.pm lib/FusionInventory/Agent/SNMP/MibSupport/FreeBSD.pm lib/FusionInventory/Agent/SNMP/MibSupport/HPHttpManagement.pm lib/FusionInventory/Agent/SNMP/MibSupport/HPNetPeripheral.pm lib/FusionInventory/Agent/SNMP/MibSupport/Hwg.pm lib/FusionInventory/Agent/SNMP/MibSupport/iLO.pm lib/FusionInventory/Agent/SNMP/MibSupport/Kyocera.pm lib/FusionInventory/Agent/SNMP/MibSupport/LinuxAppliance.pm lib/FusionInventory/Agent/SNMP/MibSupport/Mikrotik.pm lib/FusionInventory/Agent/SNMP/MibSupport/Multitech.pm lib/FusionInventory/Agent/SNMP/MibSupport/Oki.pm lib/FusionInventory/Agent/SNMP/MibSupport/Panasas.pm lib/FusionInventory/Agent/SNMP/MibSupport/Ricoh.pm lib/FusionInventory/Agent/SNMP/MibSupport/Siemens.pm lib/FusionInventory/Agent/SNMP/MibSupport/Ubnt.pm lib/FusionInventory/Agent/SNMP/MibSupport/UPS.pm lib/FusionInventory/Agent/SNMP/MibSupport/Zebra.pm lib/FusionInventory/Agent/SNMP/MibSupportTemplate.pm lib/FusionInventory/Agent/SNMP/Mock.pm lib/FusionInventory/Agent/SOAP/VMware.pm lib/FusionInventory/Agent/SOAP/VMware/Host.pm lib/FusionInventory/Agent/Storage.pm lib/FusionInventory/Agent/Target.pm lib/FusionInventory/Agent/Target/Listener.pm lib/FusionInventory/Agent/Target/Local.pm lib/FusionInventory/Agent/Target/Scheduler.pm lib/FusionInventory/Agent/Target/Server.pm lib/FusionInventory/Agent/Task.pm lib/FusionInventory/Agent/Task/Collect.pm lib/FusionInventory/Agent/Task/Collect/Version.pm lib/FusionInventory/Agent/Task/Deploy.pm lib/FusionInventory/Agent/Task/Deploy/ActionProcessor.pm lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Cmd.pm lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Copy.pm lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Delete.pm lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Mkdir.pm lib/FusionInventory/Agent/Task/Deploy/ActionProcessor/Action/Move.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/DirectoryExists.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/DirectoryMissing.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileExists.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileMissing.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSHA512.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSHA512Mismatch.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSizeEquals.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSizeGreater.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FileSizeLower.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/FreeSpaceGreater.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinKeyEquals.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinKeyExists.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinKeyMissing.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinKeyNotEquals.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinValueExists.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinValueMissing.pm lib/FusionInventory/Agent/Task/Deploy/CheckProcessor/WinValueType.pm lib/FusionInventory/Agent/Task/Deploy/Datastore.pm lib/FusionInventory/Agent/Task/Deploy/Datastore/WorkDir.pm lib/FusionInventory/Agent/Task/Deploy/DiskFree.pm lib/FusionInventory/Agent/Task/Deploy/File.pm lib/FusionInventory/Agent/Task/Deploy/Job.pm lib/FusionInventory/Agent/Task/Deploy/Maintenance.pm lib/FusionInventory/Agent/Task/Deploy/P2P.pm lib/FusionInventory/Agent/Task/Deploy/UserCheck.pm lib/FusionInventory/Agent/Task/Deploy/UserCheck/WTS.pm lib/FusionInventory/Agent/Task/Deploy/Version.pm lib/FusionInventory/Agent/Task/ESX.pm lib/FusionInventory/Agent/Task/ESX/Version.pm lib/FusionInventory/Agent/Task/Inventory.pm lib/FusionInventory/Agent/Task/Inventory/AccessLog.pm lib/FusionInventory/Agent/Task/Inventory/AIX.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Controllers.pm lib/FusionInventory/Agent/Task/Inventory/AIX/CPU.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Drives.pm lib/FusionInventory/Agent/Task/Inventory/AIX/LVM.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Memory.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Modems.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Networks.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Slots.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Softwares.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Sounds.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Storages.pm lib/FusionInventory/Agent/Task/Inventory/AIX/Videos.pm lib/FusionInventory/Agent/Task/Inventory/BSD.pm lib/FusionInventory/Agent/Task/Inventory/BSD/Alpha.pm lib/FusionInventory/Agent/Task/Inventory/BSD/CPU.pm lib/FusionInventory/Agent/Task/Inventory/BSD/Drives.pm lib/FusionInventory/Agent/Task/Inventory/BSD/i386.pm lib/FusionInventory/Agent/Task/Inventory/BSD/Memory.pm lib/FusionInventory/Agent/Task/Inventory/BSD/MIPS.pm lib/FusionInventory/Agent/Task/Inventory/BSD/Networks.pm lib/FusionInventory/Agent/Task/Inventory/BSD/Softwares.pm lib/FusionInventory/Agent/Task/Inventory/BSD/SPARC.pm lib/FusionInventory/Agent/Task/Inventory/BSD/Storages.pm lib/FusionInventory/Agent/Task/Inventory/BSD/Storages/Megaraid.pm lib/FusionInventory/Agent/Task/Inventory/BSD/Uptime.pm lib/FusionInventory/Agent/Task/Inventory/Generic.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Arch.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Batteries.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Batteries/Acpiconf.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Batteries/SysClass.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Batteries/Upower.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Battery.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Bios.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Memory.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Ports.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Psu.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Dmidecode/Slots.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Domains.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Drives.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Drives/ASM.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Environment.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Firewall.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Firewall/Systemd.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Firewall/Ufw.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Hostname.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Fru.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Fru/Controllers.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Fru/Memory.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Fru/Psu.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Ipmi/Lan.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Networks.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Networks/iLO.pm lib/FusionInventory/Agent/Task/Inventory/Generic/PCI.pm lib/FusionInventory/Agent/Task/Inventory/Generic/PCI/Controllers.pm lib/FusionInventory/Agent/Task/Inventory/Generic/PCI/Modems.pm lib/FusionInventory/Agent/Task/Inventory/Generic/PCI/Sounds.pm lib/FusionInventory/Agent/Task/Inventory/Generic/PCI/Videos.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Printers.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Processes.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Remote_Mgmt.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Remote_Mgmt/LiteManager.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Remote_Mgmt/TeamViewer.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Rudder.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Screen.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Deb.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Gentoo.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Nix.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Pacman.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/RPM.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Slackware.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Softwares/Snap.pm lib/FusionInventory/Agent/Task/Inventory/Generic/SSH.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Storages.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Storages/3ware.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Storages/HP.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Storages/HpWithSmartctl.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Timezone.pm lib/FusionInventory/Agent/Task/Inventory/Generic/USB.pm lib/FusionInventory/Agent/Task/Inventory/Generic/Users.pm lib/FusionInventory/Agent/Task/Inventory/HPUX.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/Bios.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/Controllers.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/CPU.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/Drives.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/Memory.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/MP.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/Networks.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/Slots.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/Softwares.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/Storages.pm lib/FusionInventory/Agent/Task/Inventory/HPUX/Uptime.pm lib/FusionInventory/Agent/Task/Inventory/Linux.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Alpha.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Alpha/CPU.pm lib/FusionInventory/Agent/Task/Inventory/Linux/ARM.pm lib/FusionInventory/Agent/Task/Inventory/Linux/ARM/Board.pm lib/FusionInventory/Agent/Task/Inventory/Linux/ARM/CPU.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Bios.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Distro.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Distro/NonLSB.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Distro/OSRelease.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Drives.pm lib/FusionInventory/Agent/Task/Inventory/Linux/i386.pm lib/FusionInventory/Agent/Task/Inventory/Linux/i386/CPU.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Inputs.pm lib/FusionInventory/Agent/Task/Inventory/Linux/LVM.pm lib/FusionInventory/Agent/Task/Inventory/Linux/m68k.pm lib/FusionInventory/Agent/Task/Inventory/Linux/m68k/CPU.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Memory.pm lib/FusionInventory/Agent/Task/Inventory/Linux/MIPS.pm lib/FusionInventory/Agent/Task/Inventory/Linux/MIPS/CPU.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Networks.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Networks/DockerMacvlan.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Networks/FibreChannel.pm lib/FusionInventory/Agent/Task/Inventory/Linux/PowerPC.pm lib/FusionInventory/Agent/Task/Inventory/Linux/PowerPC/Bios.pm lib/FusionInventory/Agent/Task/Inventory/Linux/PowerPC/CPU.pm lib/FusionInventory/Agent/Task/Inventory/Linux/SPARC.pm lib/FusionInventory/Agent/Task/Inventory/Linux/SPARC/CPU.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Storages.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/Adaptec.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/Lsilogic.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/Megacli.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/MegacliWithSmartctl.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/Megaraid.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Storages/ServeRaid.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Uptime.pm lib/FusionInventory/Agent/Task/Inventory/Linux/Videos.pm lib/FusionInventory/Agent/Task/Inventory/MacOS.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Batteries.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Bios.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/CPU.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Drives.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Firewall.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Hostname.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/License.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Memory.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Networks.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Printers.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Psu.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Softwares.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Sound.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Storages.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Uptime.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/USB.pm lib/FusionInventory/Agent/Task/Inventory/MacOS/Videos.pm lib/FusionInventory/Agent/Task/Inventory/Module.pm lib/FusionInventory/Agent/Task/Inventory/Provider.pm lib/FusionInventory/Agent/Task/Inventory/Solaris.pm lib/FusionInventory/Agent/Task/Inventory/Solaris/Bios.pm lib/FusionInventory/Agent/Task/Inventory/Solaris/Controllers.pm lib/FusionInventory/Agent/Task/Inventory/Solaris/CPU.pm lib/FusionInventory/Agent/Task/Inventory/Solaris/Drives.pm lib/FusionInventory/Agent/Task/Inventory/Solaris/Memory.pm lib/FusionInventory/Agent/Task/Inventory/Solaris/Networks.pm lib/FusionInventory/Agent/Task/Inventory/Solaris/Slots.pm lib/FusionInventory/Agent/Task/Inventory/Solaris/Softwares.pm lib/FusionInventory/Agent/Task/Inventory/Solaris/Storages.pm lib/FusionInventory/Agent/Task/Inventory/Version.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Docker.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Hpvm.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/HyperV.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Jails.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Libvirt.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxc.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Lxd.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Parallels.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Qemu.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/SolarisZones.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/VirtualBox.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Virtuozzo.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Vmsystem.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/VmWareDesktop.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/VmWareESX.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Vserver.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/Xen.pm lib/FusionInventory/Agent/Task/Inventory/Virtualization/XenCitrixServer.pm lib/FusionInventory/Agent/Task/Inventory/Win32.pm lib/FusionInventory/Agent/Task/Inventory/Win32/AntiVirus.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Bios.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Chassis.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Controllers.pm lib/FusionInventory/Agent/Task/Inventory/Win32/CPU.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Drives.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Environment.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Firewall.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Inputs.pm lib/FusionInventory/Agent/Task/Inventory/Win32/License.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Memory.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Modems.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Networks.pm lib/FusionInventory/Agent/Task/Inventory/Win32/OS.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Ports.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Printers.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Registry.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Slots.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Softwares.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Sounds.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Storages.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Storages/HP.pm lib/FusionInventory/Agent/Task/Inventory/Win32/USB.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Users.pm lib/FusionInventory/Agent/Task/Inventory/Win32/Videos.pm lib/FusionInventory/Agent/Task/Maintenance.pm lib/FusionInventory/Agent/Task/Maintenance/Version.pm lib/FusionInventory/Agent/Task/NetDiscovery.pm lib/FusionInventory/Agent/Task/NetDiscovery/Job.pm lib/FusionInventory/Agent/Task/NetDiscovery/Version.pm lib/FusionInventory/Agent/Task/NetInventory.pm lib/FusionInventory/Agent/Task/NetInventory/Job.pm lib/FusionInventory/Agent/Task/NetInventory/Version.pm lib/FusionInventory/Agent/Task/WakeOnLan.pm lib/FusionInventory/Agent/Task/WakeOnLan/Version.pm lib/FusionInventory/Agent/Task/WMI.pm lib/FusionInventory/Agent/Task/WMI/Version.pm lib/FusionInventory/Agent/Tools.pm lib/FusionInventory/Agent/Tools/AIX.pm lib/FusionInventory/Agent/Tools/Batteries.pm lib/FusionInventory/Agent/Tools/BSD.pm lib/FusionInventory/Agent/Tools/Constants.pm lib/FusionInventory/Agent/Tools/Expiration.pm lib/FusionInventory/Agent/Tools/Generic.pm lib/FusionInventory/Agent/Tools/Hardware.pm lib/FusionInventory/Agent/Tools/Hardware/Brocade.pm lib/FusionInventory/Agent/Tools/Hardware/Qlogic.pm lib/FusionInventory/Agent/Tools/Hostname.pm lib/FusionInventory/Agent/Tools/HPUX.pm lib/FusionInventory/Agent/Tools/IpmiFru.pm lib/FusionInventory/Agent/Tools/License.pm lib/FusionInventory/Agent/Tools/Linux.pm lib/FusionInventory/Agent/Tools/MacOS.pm lib/FusionInventory/Agent/Tools/Network.pm lib/FusionInventory/Agent/Tools/PartNumber.pm lib/FusionInventory/Agent/Tools/PartNumber/Dell.pm lib/FusionInventory/Agent/Tools/PartNumber/Elpida.pm lib/FusionInventory/Agent/Tools/PartNumber/Hynix.pm lib/FusionInventory/Agent/Tools/PartNumber/Micron.pm lib/FusionInventory/Agent/Tools/PartNumber/Samsung.pm lib/FusionInventory/Agent/Tools/PowerSupplies.pm lib/FusionInventory/Agent/Tools/Screen.pm lib/FusionInventory/Agent/Tools/Screen/Acer.pm lib/FusionInventory/Agent/Tools/Screen/Goldstar.pm lib/FusionInventory/Agent/Tools/Screen/Philips.pm lib/FusionInventory/Agent/Tools/Screen/Samsung.pm lib/FusionInventory/Agent/Tools/SNMP.pm lib/FusionInventory/Agent/Tools/Solaris.pm lib/FusionInventory/Agent/Tools/Standards/MobileCountryCode.pm lib/FusionInventory/Agent/Tools/Storages/HP.pm lib/FusionInventory/Agent/Tools/Unix.pm lib/FusionInventory/Agent/Tools/Virtualization.pm lib/FusionInventory/Agent/Tools/Win32.pm lib/FusionInventory/Agent/Tools/Win32/API.pm lib/FusionInventory/Agent/Tools/Win32/Constants.pm lib/FusionInventory/Agent/Tools/Win32/LoadIndirectString.pm lib/FusionInventory/Agent/Tools/Win32/NetAdapter.pm lib/FusionInventory/Agent/Tools/Win32/WideChar.pm lib/FusionInventory/Agent/Tools/Win32/WTS.pm lib/FusionInventory/Agent/Version.pm lib/FusionInventory/Agent/XML/Query.pm lib/FusionInventory/Agent/XML/Query/Inventory.pm lib/FusionInventory/Agent/XML/Query/Prolog.pm lib/FusionInventory/Agent/XML/Response.pm lib/setup.pm LICENSE Makefile.PL MANIFEST This list of files META.yml README.Cron README.md README.Packaging resources/aix/lparstat/README resources/aix/lparstat/sample1 resources/aix/lparstat/sample2 resources/aix/lparstat/sample3 resources/aix/lparstat/sample4 resources/aix/lparstat/sample5 resources/aix/lparstat/sample6 resources/aix/lsattr/aix-4.3.1-en0 resources/aix/lsattr/aix-4.3.1-hdisk0 resources/aix/lsattr/aix-4.3.1-hdisk1 resources/aix/lsattr/aix-4.3.1-lo0 resources/aix/lsattr/aix-4.3.1-mem0 resources/aix/lsattr/aix-4.3.2-en0 resources/aix/lsattr/aix-4.3.2-en1 resources/aix/lsattr/aix-4.3.2-hdisk0 resources/aix/lsattr/aix-4.3.2-hdisk1 resources/aix/lsattr/aix-4.3.2-lo0 resources/aix/lsattr/aix-4.3.2-mem0 resources/aix/lsattr/aix-5.3a-en0 resources/aix/lsattr/aix-5.3a-hdisk0 resources/aix/lsattr/aix-5.3a-hdisk1 resources/aix/lsattr/aix-5.3a-lo0 resources/aix/lsattr/aix-5.3a-mem0 resources/aix/lsattr/aix-5.3a-proc0 resources/aix/lsattr/aix-5.3b-en0 resources/aix/lsattr/aix-5.3b-en1 resources/aix/lsattr/aix-5.3b-en2 resources/aix/lsattr/aix-5.3b-en3 resources/aix/lsattr/aix-5.3b-en4 resources/aix/lsattr/aix-5.3b-hdisk0 resources/aix/lsattr/aix-5.3b-hdisk1 resources/aix/lsattr/aix-5.3b-l0 resources/aix/lsattr/aix-5.3b-mem0 resources/aix/lsattr/aix-5.3b-proc0 resources/aix/lsattr/aix-5.3b-proc1 resources/aix/lsattr/aix-5.3c-en0 resources/aix/lsattr/aix-5.3c-en1 resources/aix/lsattr/aix-5.3c-en2 resources/aix/lsattr/aix-5.3c-mem0 resources/aix/lsattr/aix-5.3c-proc0 resources/aix/lsattr/aix-5.3c-proc2 resources/aix/lsattr/aix-5.3c-proc4 resources/aix/lsattr/aix-5.3c-proc6 resources/aix/lsattr/aix-6.1a-mem0 resources/aix/lsattr/aix-6.1a-proc0 resources/aix/lsattr/aix-6.1a-proc4 resources/aix/lsattr/aix-6.1b-en0 resources/aix/lsattr/aix-6.1b-en1 resources/aix/lsattr/aix-6.1b-en2 resources/aix/lsattr/aix-6.1b-en3 resources/aix/lsattr/aix-6.1b-hdisk0 resources/aix/lsattr/aix-6.1b-hdisk1 resources/aix/lsattr/aix-6.1b-mem0 resources/aix/lsattr/aix-6.1b-proc0 resources/aix/lsattr/aix-6.1b-proc2 resources/aix/lscfg/aix-4.3.1-en resources/aix/lscfg/aix-4.3.1-sysplanar0 resources/aix/lscfg/aix-4.3.2-en resources/aix/lscfg/aix-4.3.2-sysplanar0 resources/aix/lscfg/aix-5.3a-en resources/aix/lscfg/aix-5.3a-hdisk0 resources/aix/lscfg/aix-5.3a-hdisk1 resources/aix/lscfg/aix-5.3a-sysplanar0 resources/aix/lscfg/aix-5.3b-en resources/aix/lscfg/aix-5.3b-hdisk0 resources/aix/lscfg/aix-5.3b-hdisk1 resources/aix/lscfg/aix-5.3b-sysplanar0 resources/aix/lscfg/aix-5.3c-en resources/aix/lscfg/aix-5.3c-hdisk0 resources/aix/lscfg/aix-5.3c-hdisk1 resources/aix/lscfg/aix-5.3c-sysplanar0 resources/aix/lscfg/aix-6.1a-en resources/aix/lscfg/aix-6.1a-hdisk3 resources/aix/lscfg/aix-6.1a-sysplanar0 resources/aix/lscfg/aix-6.1b-en resources/aix/lscfg/aix-6.1b-hdisk0 resources/aix/lscfg/aix-6.1b-hdisk1 resources/aix/lscfg/aix-6.1b-sysplanar0 resources/aix/lsdev/aix-4.3.1-adapter resources/aix/lsdev/aix-4.3.1-bus resources/aix/lsdev/aix-4.3.1-cdrom resources/aix/lsdev/aix-4.3.1-disk-scsi resources/aix/lsdev/aix-4.3.1-diskette resources/aix/lsdev/aix-4.3.1-memory resources/aix/lsdev/aix-4.3.1-processor resources/aix/lsdev/aix-4.3.1-tape resources/aix/lsdev/aix-4.3.2-adapter resources/aix/lsdev/aix-4.3.2-bus resources/aix/lsdev/aix-4.3.2-cdrom resources/aix/lsdev/aix-4.3.2-disk-scsi resources/aix/lsdev/aix-4.3.2-diskette resources/aix/lsdev/aix-4.3.2-memory resources/aix/lsdev/aix-4.3.2-processor resources/aix/lsdev/aix-4.3.2-tape resources/aix/lsdev/aix-5.3a-adapter resources/aix/lsdev/aix-5.3a-bus resources/aix/lsdev/aix-5.3a-disk-scsi resources/aix/lsdev/aix-5.3a-memory resources/aix/lsdev/aix-5.3a-processor resources/aix/lsdev/aix-5.3a-tape resources/aix/lsdev/aix-5.3b-adapter resources/aix/lsdev/aix-5.3b-bus resources/aix/lsdev/aix-5.3b-disk-scsi resources/aix/lsdev/aix-5.3b-diskette resources/aix/lsdev/aix-5.3b-memory resources/aix/lsdev/aix-5.3b-processor resources/aix/lsdev/aix-5.3c-adapter resources/aix/lsdev/aix-5.3c-bus resources/aix/lsdev/aix-5.3c-disk-vscsi resources/aix/lsdev/aix-5.3c-memory resources/aix/lsdev/aix-5.3c-processor resources/aix/lsdev/aix-6.1a-adapter resources/aix/lsdev/aix-6.1a-bus resources/aix/lsdev/aix-6.1a-disk-fcp resources/aix/lsdev/aix-6.1a-disk-vscsi resources/aix/lsdev/aix-6.1a-memory resources/aix/lsdev/aix-6.1a-processor resources/aix/lsdev/aix-6.1b-adapter resources/aix/lsdev/aix-6.1b-bus resources/aix/lsdev/aix-6.1b-disk-sas resources/aix/lsdev/aix-6.1b-mem resources/aix/lsdev/aix-6.1b-memory resources/aix/lsdev/aix-6.1b-pdisk resources/aix/lsdev/aix-6.1b-processor resources/aix/lsfs/aix-4.3.1 resources/aix/lsfs/aix-5.3 resources/aix/lsfs/aix-6.1 resources/aix/lslpp/aix-4.3.1 resources/aix/lslpp/aix-4.3.2 resources/aix/lslpp/aix-5.3a resources/aix/lslpp/aix-5.3b resources/aix/lslpp/aix-5.3c resources/aix/lslpp/aix-6.1a resources/aix/lslpp/aix-6.1b resources/aix/lslv/aix-6.1-dooncelv resources/aix/lslv/aix-6.1-fslv00 resources/aix/lslv/aix-6.1-fslv01 resources/aix/lslv/aix-6.1-hd1 resources/aix/lslv/aix-6.1-hd10opt resources/aix/lslv/aix-6.1-hd11admin resources/aix/lslv/aix-6.1-hd2 resources/aix/lslv/aix-6.1-hd3 resources/aix/lslv/aix-6.1-hd4 resources/aix/lslv/aix-6.1-hd5 resources/aix/lslv/aix-6.1-hd6 resources/aix/lslv/aix-6.1-hd8 resources/aix/lslv/aix-6.1-hd9var resources/aix/lslv/aix-6.1-lg_dumplv resources/aix/lslv/aix-6.1-livedump resources/aix/lslv/aix-6.1-lv_auditlog resources/aix/lslv/aix-6.1-lv_tpc resources/aix/lsps/aix-4.3.1 resources/aix/lsps/aix-4.3.2 resources/aix/lsps/aix-5.3a resources/aix/lsps/aix-5.3b resources/aix/lsps/aix-5.3c resources/aix/lsps/aix-6.1a resources/aix/lsps/aix-6.1b resources/aix/lspv/aix-6.1-hdisk0 resources/aix/lspv/aix-6.1-hdisk1 resources/aix/lspv/aix-6.1-hdisk2 resources/aix/lspv/aix-6.1-hdisk3 resources/aix/lsvg/aix-6.1-l_altinst_rootvg resources/aix/lsvg/aix-6.1-l_rootvg resources/aix/lsvg/aix-6.1-l_vg_apps01 resources/aix/lsvg/aix-6.x-l_rootvg resources/aix/lsvg/aix-6.x-rootvg resources/aix/lsvpd/aix-5.3a resources/aix/lsvpd/aix-5.3b resources/aix/lsvpd/aix-5.3c resources/aix/lsvpd/aix-6.1a resources/aix/lsvpd/aix-6.1b resources/aix/README resources/bsd/lsvfs/freebsd-8.1 resources/bsd/mount/dragonfly-1 resources/bsd/pkg_info/sample1 resources/bsd/pkg_info/sample2 resources/bsd/storages/dmesg resources/bsd/storages/kern.geom.confxml resources/bsd/storages/mfiutil resources/config/conf.d/00-include0.cfg resources/config/conf.d/10-include2.cfg resources/config/conf.d/empty-logfile resources/config/conf.d/looping-cfg.txt resources/config/conf.d/no-include.txt resources/config/conf.d/timeout resources/config/daemon1 resources/config/include1 resources/config/include2 resources/config/include3 resources/config/include4 resources/config/include5 resources/config/include6 resources/config/include7 resources/config/include8 resources/config/loop.d/loop.cfg resources/config/sample1 resources/config/sample2 resources/config/sample3 resources/config/sample4 resources/containers/docker/docker_inspect.json resources/containers/docker/docker_ps-a-with-template.sample resources/esx-4.1.0-1/Login.soap resources/esx-4.1.0-1/RetrieveProperties-VM-16.soap resources/esx-4.1.0-1/RetrieveProperties-VM-32.soap resources/esx-4.1.0-1/RetrieveProperties-VM-48.soap resources/esx-4.1.0-1/RetrieveProperties-VM-64.soap resources/esx-4.1.0-1/RetrieveProperties.soap resources/esx-4.1.0-1/RetrievePropertiesVMList.soap resources/esx-4.1.0-1/ServiceInstance.soap resources/generic/arp/linux resources/generic/arp/linux-ip-neighbor resources/generic/arp/none resources/generic/arp/win32 resources/generic/asmcmd/grid-1 resources/generic/asmcmd/oracle-1 resources/generic/batteries/acpiconf/dmidecode_1.txt resources/generic/batteries/acpiconf/infos_1.txt resources/generic/batteries/upower/dmidecode_1.txt resources/generic/batteries/upower/dmidecode_2.txt resources/generic/batteries/upower/enumerate_1.txt resources/generic/batteries/upower/enumerate_2.txt resources/generic/batteries/upower/infos_1.txt resources/generic/batteries/upower/infos_2.txt resources/generic/batteries/upower/infos_3.txt resources/generic/df/aix resources/generic/df/freebsd resources/generic/df/linux resources/generic/df/netbsd resources/generic/df/openbsd resources/generic/df/solaris resources/generic/dhcp/dhclient-wlan0-1.lease resources/generic/dhcp/dhclient-wlan0-2.lease resources/generic/dmidecode/dell-fx160 resources/generic/dmidecode/dell-fx170 resources/generic/dmidecode/dell-r620 resources/generic/dmidecode/dell-r630 resources/generic/dmidecode/dell-r640 resources/generic/dmidecode/dell-r640-1 resources/generic/dmidecode/dell-r720 resources/generic/dmidecode/freebsd-6.2 resources/generic/dmidecode/freebsd-8.1 resources/generic/dmidecode/hp-dl180 resources/generic/dmidecode/hp-dl360-gen7 resources/generic/dmidecode/hp-dl360-gen7_2 resources/generic/dmidecode/hp-dl360-gen8 resources/generic/dmidecode/hp-proLiant-DL120-G6 resources/generic/dmidecode/lenovo-thinkpad resources/generic/dmidecode/linux-1 resources/generic/dmidecode/linux-2.6 resources/generic/dmidecode/macos-battery resources/generic/dmidecode/openbsd-3.7 resources/generic/dmidecode/openbsd-3.8 resources/generic/dmidecode/openbsd-4.5 resources/generic/dmidecode/oracle-server-6.7-oda resources/generic/dmidecode/oracle-server-x5-2 resources/generic/dmidecode/psu/Dedibox_SC_SATA_2016 resources/generic/dmidecode/psu/Dedibox_XC_SSD_SATA_2016 resources/generic/dmidecode/psu/Dell_DL380p_Gen8_2 resources/generic/dmidecode/psu/Dell_DSS_1500 resources/generic/dmidecode/psu/Dell_Latitude_3550 resources/generic/dmidecode/psu/Dell_PowerEdge_R330 resources/generic/dmidecode/psu/Dell_PowerEdge_R330_2 resources/generic/dmidecode/psu/Dell_R630 resources/generic/dmidecode/psu/Fujitsu_ESPRIMO_P5730 resources/generic/dmidecode/psu/HP_1 resources/generic/dmidecode/psu/HP_Proliant_Microserver_Gen_8 resources/generic/dmidecode/psu/Kimsufi_OVH resources/generic/dmidecode/psu/MSI_MS-7817 resources/generic/dmidecode/psu/MSI_MS-7A72 resources/generic/dmidecode/psu/nucIntel resources/generic/dmidecode/psu/ProLiant_DL360p_Gen8_2 resources/generic/dmidecode/psu/ProLiant_DL380_Gen10 resources/generic/dmidecode/psu/ProLiant_DL380_Gen9 resources/generic/dmidecode/psu/ProLiant_DL380p_Gen8 resources/generic/dmidecode/psu/ProLiant_DL560_Gen8 resources/generic/dmidecode/psu/Supermicro_1 resources/generic/dmidecode/psu/Supermicro_2 resources/generic/dmidecode/psu/Supermicro_3 resources/generic/dmidecode/psu/Supermicro_4 resources/generic/dmidecode/psu/Supermicro_SYS-2028TP-HC1R resources/generic/dmidecode/psu/Supermicro_SYS-2028TP-HC1R_2 resources/generic/dmidecode/psu/supermicro_SYS-5038ML-H8TRF resources/generic/dmidecode/psu/Supermicro_X11DPU resources/generic/dmidecode/psu/Supermicro_X11SSL-CF resources/generic/dmidecode/psu/Unknown_1 resources/generic/dmidecode/psu/Workstation_Lenovo_10A9004TFR resources/generic/dmidecode/rhel-2.1 resources/generic/dmidecode/rhel-3.4 resources/generic/dmidecode/rhel-3.9 resources/generic/dmidecode/rhel-4.3 resources/generic/dmidecode/rhel-4.6 resources/generic/dmidecode/rhel-5.6 resources/generic/dmidecode/rhel-6.2-vmware-2vcpus resources/generic/dmidecode/rhel-6.3-esx-1vcpu resources/generic/dmidecode/S3000AHLX resources/generic/dmidecode/S5000VSA resources/generic/dmidecode/sun-x2200-m2 resources/generic/dmidecode/surface-go-2 resources/generic/dmidecode/vmware resources/generic/dmidecode/vmware-esx resources/generic/dmidecode/vmware-esx-2.5 resources/generic/dmidecode/windows resources/generic/dmidecode/windows-2003R2-Hotfix resources/generic/dmidecode/windows-7 resources/generic/dmidecode/windows-7.2 resources/generic/dmidecode/windows-hyperV resources/generic/dmidecode/windows-xp resources/generic/edid/crt.13 resources/generic/edid/crt.dell-d1626ht resources/generic/edid/crt.dell-e190s resources/generic/edid/crt.dell-p1110 resources/generic/edid/crt.dell-p190s resources/generic/edid/crt.dell-p790 resources/generic/edid/crt.E55 resources/generic/edid/crt.emc0313 resources/generic/edid/crt.hyundai-ImageQuest-L70S+ resources/generic/edid/crt.iiyama-1451 resources/generic/edid/crt.iiyama-404 resources/generic/edid/crt.iiyama-410pro resources/generic/edid/crt.leia resources/generic/edid/crt.LG-Studioworks-N2200P resources/generic/edid/crt.med2914 resources/generic/edid/crt.nokia-valuegraph-447w resources/generic/edid/crt.SM550S resources/generic/edid/crt.SM550V resources/generic/edid/crt.sony-gdm400ps resources/generic/edid/crt.sony-gdm420 resources/generic/edid/crt.test_box_lmontel resources/generic/edid/iiyama-PL2779A resources/generic/edid/IMP2262 resources/generic/edid/lcd.20inches resources/generic/edid/lcd.acer-al19161.1 resources/generic/edid/lcd.acer-al19161.2 resources/generic/edid/lcd.acer-al19161.3 resources/generic/edid/lcd.acer-al19161.4 resources/generic/edid/lcd.acer-al1921 resources/generic/edid/lcd.acer-asp1680 resources/generic/edid/lcd.acer-b196hql resources/generic/edid/lcd.acer-b226hql resources/generic/edid/lcd.acer-b226hql.28.2016 resources/generic/edid/lcd.acer-b243h resources/generic/edid/lcd.acer-g227hql resources/generic/edid/lcd.acer-g236hl resources/generic/edid/lcd.acer-h226hql resources/generic/edid/lcd.acer-k222hql resources/generic/edid/lcd.acer-ka240hq resources/generic/edid/lcd.acer-r221q resources/generic/edid/lcd.acer-s273hl resources/generic/edid/lcd.acer-sa220q resources/generic/edid/lcd.acer-v193.1 resources/generic/edid/lcd.acer-v193.2 resources/generic/edid/lcd.acer-v193.3 resources/generic/edid/lcd.acer-v243h resources/generic/edid/lcd.acer-v246hl resources/generic/edid/lcd.acer-x193hq resources/generic/edid/lcd.b-101750 resources/generic/edid/lcd.benq-t904 resources/generic/edid/lcd.blino resources/generic/edid/lcd.cmc-17-AD resources/generic/edid/lcd.compaq-evo-n1020v resources/generic/edid/lcd.dell-2001fp resources/generic/edid/lcd.dell-inspiron-6400 resources/generic/edid/lcd.dell-U2410 resources/generic/edid/lcd.dell-U2413 resources/generic/edid/lcd.dell-U2415 resources/generic/edid/lcd.eizo-l997 resources/generic/edid/lcd.Elonex-PR600 resources/generic/edid/lcd.fujitsu-a171 resources/generic/edid/lcd.gericom-cy-96 resources/generic/edid/lcd.hp-l1950 resources/generic/edid/lcd.hp-nx-7000 resources/generic/edid/lcd.hp-nx-7010 resources/generic/edid/lcd.HP-Pavilion-ZV6000 resources/generic/edid/lcd.iiyama-pl2409hd resources/generic/edid/lcd.internal resources/generic/edid/lcd.lenovo-3000-v100 resources/generic/edid/lcd.lenovo-w500 resources/generic/edid/lcd.lg-l1960.1 resources/generic/edid/lcd.lg-l1960.2 resources/generic/edid/lcd.lg.tv.22MT44DP-PZ resources/generic/edid/lcd.philips-150s resources/generic/edid/lcd.philips-180b2 resources/generic/edid/lcd.philips-241b-vga resources/generic/edid/lcd.philips-288p6-hdmi resources/generic/edid/lcd.philips-288p6-vga resources/generic/edid/lcd.presario-R4000 resources/generic/edid/lcd.rafael resources/generic/edid/lcd.regis resources/generic/edid/lcd.samsung-191n resources/generic/edid/lcd.samsung-2494hm resources/generic/edid/lcd.samsung-s22c450 resources/generic/edid/lcd.samsung-s24e450 resources/generic/edid/lcd.tv.VQ32-1T resources/generic/edid/lcd.viewsonic-vx715 resources/generic/edid/lenovo-LT2452 resources/generic/hdparm/linux1 resources/generic/hdparm/linux2 resources/generic/hdparm/linux3 resources/generic/hdparm/linux4 resources/generic/hpacucli/1-ctrl-all-show-config resources/generic/hpacucli/README resources/generic/hpacucli/sample1-drives resources/generic/hpacucli/sample1-slots resources/generic/hpacucli/sample1-storage resources/generic/hpacucli/sample2-drives resources/generic/hpacucli/sample2-slots resources/generic/hpacucli/sample2-storage resources/generic/hpacucli/sample3-drives resources/generic/hpacucli/sample3-slots resources/generic/hpacucli/sample3-storage resources/generic/ifconfig/aix-5.3 resources/generic/ifconfig/aix-6.1 resources/generic/ifconfig/dell-xt2 resources/generic/ifconfig/dragonfly-1 resources/generic/ifconfig/freebsd-4 resources/generic/ifconfig/freebsd-8.1 resources/generic/ifconfig/freebsd-bis resources/generic/ifconfig/freebsd-ter resources/generic/ifconfig/hpux1-lan0 resources/generic/ifconfig/hpux2-lan0 resources/generic/ifconfig/linux-archlinux resources/generic/ifconfig/linux-bonding resources/generic/ifconfig/linux-fc17 resources/generic/ifconfig/linux-rhel5.6 resources/generic/ifconfig/opensolaris resources/generic/ifconfig/solaris-10 resources/generic/ipmitool/fru/dell-r630 resources/generic/ipmitool/fru/dell-r640 resources/generic/ipmitool/fru/dell-r720 resources/generic/ipmitool/fru/hp-dl360-gen7 resources/generic/ipmitool/fru/hp-dl360-gen7_2 resources/generic/ipmitool/fru/hp-dl360-gen8 resources/generic/ipmitool/fru/sun-x2200-m2 resources/generic/ipmitool_lan_print/sample1 resources/generic/license/adobe/cache.db-sample1 resources/generic/license/adobe/cache.db-sample1.db resources/generic/license/adobe/README resources/generic/lspci/dell-xt2 resources/generic/lspci/linux-2 resources/generic/lsusb/dell-xt2 resources/generic/mount/darwin resources/generic/mount/freebsd resources/generic/mount/linux resources/generic/netstat/aix-5.3a resources/generic/netstat/aix-5.3c resources/generic/netstat/aix-6.1a resources/generic/netstat/aix-6.1b resources/generic/netstat/hpux1 resources/generic/netstat/hpux2 resources/generic/netstat/linux1 resources/generic/netstat/macosx1 resources/generic/netstat/netbsd resources/generic/netstat/openbsd resources/generic/powersupplies/dmidecode_1.txt resources/generic/powersupplies/dmidecode_2.txt resources/generic/powersupplies/dmidecode_3.txt resources/generic/powersupplies/dmidecode_4.txt resources/generic/powersupplies/fru_1.txt resources/generic/powersupplies/fru_2.txt resources/generic/powersupplies/fru_3.txt resources/generic/powersupplies/fru_4.txt resources/generic/ps/busybox resources/generic/ps/linux resources/generic/ps/macos resources/generic/README resources/generic/teamviewer/teamviewer-15.11.6-RPM resources/generic/tw_cli/cards resources/generic/tw_cli/ports resources/generic/tw_cli/storage resources/generic/tw_cli/units resources/generic/xorg/linux-ati-1 resources/generic/xorg/linux-ati-2 resources/generic/xorg/linux-intel-1 resources/generic/xorg/linux-intel-2 resources/generic/xorg/linux-intel-3 resources/generic/xorg/linux-intel-4 resources/generic/xorg/linux-nouveau resources/generic/xorg/linux-nvidia-1 resources/generic/xorg/linux-nvidia-2 resources/generic/xorg/linux-nvidia-3 resources/generic/xorg/linux-vesa-1 resources/generic/xorg/linux-vesa-3 resources/generic/xorg/openbsd resources/hpux/bdf/hpux1-nfs resources/hpux/bdf/hpux1-vxfs resources/hpux/bdf/hpux2-nfs resources/hpux/bdf/hpux2-vxfs resources/hpux/CIMUtil/hpux2 resources/hpux/CIMUtil/hpux4 resources/hpux/cprop/hpux4-cpu resources/hpux/cprop/hpux4-memory resources/hpux/cstm/hpux-mem resources/hpux/cstm/hpux-MEMORY resources/hpux/cstm/hpux1-cpu resources/hpux/cstm/hpux1-MEMORY resources/hpux/cstm/hpux1-system resources/hpux/cstm/hpux2-cpu resources/hpux/cstm/hpux2-MEMORY resources/hpux/cstm/hpux2-system resources/hpux/fstyp/hpux1 resources/hpux/fstyp/hpux2 resources/hpux/getMPInfo.cgi/hpux2 resources/hpux/hpvminfo/hpux3 resources/hpux/hpvminfo/hpux4 resources/hpux/ioscan/hpux-ioa resources/hpux/ioscan/hpux-processor resources/hpux/ioscan/hpux-tape resources/hpux/ioscan/hpux1-ba resources/hpux/ioscan/hpux1-disk resources/hpux/ioscan/hpux1-ext_bus resources/hpux/ioscan/hpux1-fc resources/hpux/ioscan/hpux1-ioa resources/hpux/ioscan/hpux1-processor resources/hpux/ioscan/hpux1-tape resources/hpux/ioscan/hpux2-ba resources/hpux/ioscan/hpux2-disk resources/hpux/ioscan/hpux2-ext_bus resources/hpux/ioscan/hpux2-fc resources/hpux/ioscan/hpux2-ioa resources/hpux/ioscan/hpux2-processor resources/hpux/ioscan/hpux3-ext_bus resources/hpux/ioscan/hpux4-fc resources/hpux/lanadmin/hpux1-0 resources/hpux/lanadmin/hpux1-1 resources/hpux/lanadmin/hpux2-0 resources/hpux/lanadmin/hpux2-1 resources/hpux/lanscan/hpux resources/hpux/lanscan/hpux1 resources/hpux/lanscan/hpux2 resources/hpux/machinfo/hpux_11.23.ia64 resources/hpux/machinfo/hpux_11.31-1 resources/hpux/machinfo/hpux_11.31-2 resources/hpux/machinfo/hpux_11.31-3 resources/hpux/machinfo/hpux_11.31-superdome resources/hpux/machinfo/hpux_11.31_3xia64 resources/hpux/model/hpux1 resources/hpux/model/hpux2 resources/hpux/model/hpux3 resources/hpux/model/hpux4 resources/hpux/netstat/hpux resources/hpux/netstat/hpux1 resources/hpux/netstat/hpux2 resources/hpux/netstat/hpux3 resources/hpux/nwmgr/sample1 resources/hpux/nwmgr/sample2 resources/hpux/README resources/hpux/swapinfo/hpux resources/hpux/swapinfo/hpux1 resources/hpux/swapinfo/hpux2 resources/hpux/swlist/hpux1 resources/hpux/swlist/hpux2 resources/hpux/uptime/sample1 resources/linux/ddcprobe/98LMTF053166 resources/linux/ddcprobe/B101AW03 resources/linux/ddcprobe/B154EW02 resources/linux/ddcprobe/HT009154WU2 resources/linux/ddcprobe/no-edid resources/linux/ddcprobe/S2202W resources/linux/ddcprobe/virtualbox-1 resources/linux/docker/docker-network-inspect resources/linux/docker/docker-network-ls resources/linux/equery/gentoo1 resources/linux/equery/gentoo2 resources/linux/firewall/fedora_systemctl_status_firewalld.service_ON.txt resources/linux/firewall/fedora_systemctl_status_firewalld.service_ON_disabled.txt resources/linux/firewall/ubuntu_ufw_status_OFF.txt resources/linux/firewall/ubuntu_ufw_status_ON.txt resources/linux/gentoo/equery/0.1.4 resources/linux/gentoo/equery/0.3.0 resources/linux/gentoo/equery/README resources/linux/hal/dell-xt2 resources/linux/hal/rh4-kvm resources/linux/hponcfg/sample1 resources/linux/hponcfg/sample2 resources/linux/ip/ip_addr-1 resources/linux/ip/ip_addr-2 resources/linux/ip/ip_addr-3 resources/linux/ip/ip_addr-4 resources/linux/ip/ip_addr-5 resources/linux/iwconfig/sample1 resources/linux/iwconfig/sample2 resources/linux/megacli/set1_adpCount resources/linux/megacli/set1_EncInfo resources/linux/megacli/set1_PDlist resources/linux/megacli/set1_ShowSummary resources/linux/megacli/set2_adpCount resources/linux/megacli/set2_EncInfo resources/linux/megacli/set2_PDlist resources/linux/megacli/set2_ShowSummary resources/linux/megacli/set3_EncInfo resources/linux/megacli/set3_PDlist resources/linux/megacli/set3_ShowSummary resources/linux/megacli/set4_EncInfo resources/linux/megacli/set4_PDlist resources/linux/megacli/set4_ShowSummary resources/linux/megacli/set6_AdpPciInfo resources/linux/megacli/set6_LDinfo resources/linux/megacli/set6_PDlist resources/linux/megacli/set7_AdpPciInfo resources/linux/megacli/set7_LDinfo resources/linux/megacli/set7_PDlist resources/linux/megasasctl/sample resources/linux/mpt-status/sample1 resources/linux/mpt-status/sample2 resources/linux/multipath/multipath1 resources/linux/multipath/multipath2 resources/linux/packaging/dpkg resources/linux/packaging/nix resources/linux/packaging/pacman resources/linux/packaging/rpm resources/linux/packaging/snap resources/linux/packaging/snap_kde-frameworks-5-core18 resources/linux/packaging/snap_kdenlive resources/linux/packaging/snap_scrcpy resources/linux/proc/1-environ.txt resources/linux/proc/cpuinfo/cpuinfo-vmware-esx resources/linux/proc/cpuinfo/esx resources/linux/proc/cpuinfo/linux-2.6.35-1-core-2-thread resources/linux/proc/cpuinfo/linux-686-1 resources/linux/proc/cpuinfo/linux-686-samsung-nc10-1 resources/linux/proc/cpuinfo/linux-alpha-1 resources/linux/proc/cpuinfo/linux-armel-1 resources/linux/proc/cpuinfo/linux-armel-2 resources/linux/proc/cpuinfo/linux-armel-3 resources/linux/proc/cpuinfo/linux-hp-dl180 resources/linux/proc/cpuinfo/linux-ia64-1 resources/linux/proc/cpuinfo/linux-mips-1 resources/linux/proc/cpuinfo/linux-ppc-1 resources/linux/proc/cpuinfo/linux-ppc-2 resources/linux/proc/cpuinfo/linux-ppc-3 resources/linux/proc/cpuinfo/linux-raspberry-pi-3-model-b resources/linux/proc/cpuinfo/linux-sparc-1 resources/linux/proc/cpuinfo/oracle-server-6.7-oda resources/linux/proc/cpuinfo/rhel-5.6 resources/linux/proc/cpuinfo/rhel-6.2-vmware-2vcpus resources/linux/proc/cpuinfo/rhel-6.3-esx-1vcpu resources/linux/proc/cpuinfo/toshiba-r630-2-core resources/linux/proc/scsi/linux1 resources/linux/proc/scsi/linux2 resources/linux/proc/scsi/linux3 resources/linux/proc/scsi/linux4 resources/linux/README resources/linux/rhn-systemid/ID-1232324425 resources/linux/smartctl/sample1 resources/linux/smartctl/sample2 resources/linux/smartctl/sample3 resources/linux/smartctl/sample4 resources/linux/smartctl/sample5 resources/linux/smartctl/sample6 resources/linux/smartctl/sample7 resources/linux/smartctl/sample8 resources/linux/smartctl/sample9 resources/linux/storages/f31-nanobox.dump resources/linux/storages/f31-simple-qemu.dump resources/linux/storages/f32-simple-qemu-failing-smartctl.dump resources/linux/storages/f33-imac.dump resources/linux/storages/README resources/linux/storages/sles-multipath-sas.dump resources/linux/storages/ubuntu-18.04.5-xps.dump resources/linux/storages/ubuntu-dell-xps.dump resources/linux/systool/sample1 resources/linux/udev/ssd resources/lvm/linux/lvs/linux-1 resources/lvm/linux/lvs/README resources/lvm/linux/pvs/linux-1 resources/lvm/linux/pvs/linux-2 resources/lvm/linux/pvs/linux-3 resources/lvm/linux/pvs/README resources/lvm/linux/vgs/linux-1 resources/lvm/linux/vgs/linux-2 resources/lvm/linux/vgs/linux-3 resources/lvm/linux/vgs/README resources/macos/firewall/defaults_read_preferences_com_alf_globalstate.txt resources/macos/firewall/launctl_list.txt resources/macos/firewall/launctl_list_unloaded.txt resources/macos/firewall/procinfo.txt resources/macos/ifconfig/macosx-01 resources/macos/ifconfig/macosx-01-networksetup resources/macos/ioreg/IOPlatformExpertDevice resources/macos/ioreg/IOUSBDevice1 resources/macos/ioreg/IOUSBDevice2 resources/macos/storages/sample1.xml resources/macos/sysctl/10.6-macmini resources/macos/SysProfile/sample1.yaml resources/macos/system_profiler/10.11-system_profiler_SPPowerDataType.txt resources/macos/system_profiler/10.4-powerpc resources/macos/system_profiler/10.5-powerpc resources/macos/system_profiler/10.6-intel resources/macos/system_profiler/10.6-macmini resources/macos/system_profiler/10.6-system_profiler_Software_SPSoftwareDataType resources/macos/system_profiler/10.6.5-dual-monitor resources/macos/system_profiler/10.6.6-intel resources/macos/system_profiler/10.8-system_profiler_SPApplicationsDataType.example.txt resources/macos/system_profiler/10.8-system_profiler_SPApplicationsDataType_-xml.example.xml resources/macos/system_profiler/asus-geforce-gt-730 resources/macos/system_profiler/charged-SPPowerDataType resources/macos/system_profiler/charging-SPPowerDataType resources/macos/system_profiler/datatypes resources/macos/system_profiler/dual-display-#475 resources/macos/system_profiler/fiberchannel resources/macos/system_profiler/mojave-dual-video-cards resources/macos/system_profiler/sample1.SPApplicationsDataType resources/macos/system_profiler/sample2.SPApplicationsDataType resources/macos/system_profiler/SPCardReaderDataType.xml resources/macos/system_profiler/SPCardReaderDataType_with_inserted_card.xml resources/macos/system_profiler/SPDiscBurningDataType.xml resources/macos/system_profiler/SPDiscBurningDataType2.xml resources/macos/system_profiler/SPFireWireDataType.xml resources/macos/system_profiler/SPSerialATADataType.xml resources/macos/system_profiler/SPSerialATADataType2.xml resources/macos/system_profiler/SPUSBDataType.xml resources/macos/system_profiler/SPUSBDataType2.xml resources/macos/system_profiler/SPUSBDataType3.xml resources/macos/system_profiler/SPUSBDataType_with_inserted_dvd.xml resources/macos/system_profiler/SPUSBDataType_without_inserted_dvd.xml resources/messages/message2.xml resources/messages/message3.xml resources/solaris/df/zfs-samples resources/solaris/fcinfo_hba-port/sample-1 resources/solaris/fcinfo_hba-port/sample-2 resources/solaris/iostat/sample1 resources/solaris/iostat/sample2 resources/solaris/iostat/sample3-wrong-vendor-product resources/solaris/iostat/sample4-slash-char-in-model resources/solaris/kstat/kstat_bge_ce.txt resources/solaris/kstat/sample1 resources/solaris/kstat/sample2 resources/solaris/kstat/sample3 resources/solaris/kstat/sample4 resources/solaris/mount/mount_-v_sample1 resources/solaris/mount/zfs-samples resources/solaris/opensolaris/release-1 resources/solaris/opensolaris/smbios-1 resources/solaris/pkg-info/sample resources/solaris/pkg-info/sample-sol10 resources/solaris/prtconf/sparc1 resources/solaris/prtconf/sparc2 resources/solaris/prtconf/sparc3 resources/solaris/prtdiag/sample1 resources/solaris/prtdiag/sample2 resources/solaris/prtdiag/sample3 resources/solaris/prtdiag/sample4 resources/solaris/prtdiag/sample5 resources/solaris/prtdiag/sample6 resources/solaris/prtdiag/sample7 resources/solaris/prtdiag/sample8 resources/solaris/psrinfo/e6900-psrinfo_v resources/solaris/psrinfo/e6900-psrinfo_vp resources/solaris/psrinfo/giration-psrinfo_v resources/solaris/psrinfo/giration-psrinfo_vp resources/solaris/psrinfo/sample1-psrinfo_v resources/solaris/psrinfo/solaris11-psrinfo_v resources/solaris/psrinfo/solaris11-psrinfo_vp resources/solaris/psrinfo/sparc-t5-psrinfo_v resources/solaris/psrinfo/sparc-t5-psrinfo_vp resources/solaris/psrinfo/t1-psrinfo_v resources/solaris/psrinfo/t1-psrinfo_vp resources/solaris/psrinfo/t5120-psrinfo_v resources/solaris/psrinfo/t5120-psrinfo_vp resources/solaris/psrinfo/unstable10s-psrinfo_v resources/solaris/psrinfo/unstable10s-psrinfo_vp resources/solaris/psrinfo/unstable10x-psrinfo_v resources/solaris/psrinfo/unstable10x-psrinfo_vp resources/solaris/psrinfo/unstable11s-psrinfo_v resources/solaris/psrinfo/unstable11s-psrinfo_vp resources/solaris/psrinfo/unstable11x-psrinfo_v resources/solaris/psrinfo/unstable11x-psrinfo_vp resources/solaris/psrinfo/unstable9s-psrinfo_v resources/solaris/psrinfo/unstable9s-psrinfo_vp resources/solaris/psrinfo/unstable9x-psrinfo_v resources/solaris/psrinfo/unstable9x-psrinfo_vp resources/solaris/psrinfo/v240-psrinfo_v resources/solaris/psrinfo/v240-psrinfo_vp resources/solaris/psrinfo/v490-psrinfo_v resources/solaris/psrinfo/v490-psrinfo_vp resources/solaris/release/sample1 resources/solaris/release/sample2 resources/solaris/release/sample3 resources/solaris/release/sample4 resources/solaris/release/sample5 resources/solaris/release/sample6 resources/solaris/release/sample7 resources/solaris/release/sample8 resources/solaris/showrev/SPARC-1 resources/solaris/showrev/SPARC-2 resources/solaris/showrev/x86-1 resources/solaris/showrev/x86-2 resources/solaris/showrev/x86-3 resources/solaris/smbios/x86-1 resources/solaris/smbios/x86-3 resources/ssl/cnf/alternate.cnf resources/ssl/cnf/bad.cnf resources/ssl/cnf/ca.cnf resources/ssl/cnf/good.cnf resources/ssl/cnf/wrong.cnf resources/ssl/crt/alternate.pem resources/ssl/crt/bad.pem resources/ssl/crt/ca.pem resources/ssl/crt/good.pem resources/ssl/crt/wrong.pem resources/ssl/generate.log resources/ssl/generate.sh resources/ssl/key/alternate.pem resources/ssl/key/bad.pem resources/ssl/key/ca.pem resources/ssl/key/good.pem resources/ssl/key/wrong.pem resources/ssl/README resources/virtualization/jails/sample1 resources/virtualization/lxc/arch-linux resources/virtualization/lxc/config resources/virtualization/lxc/debian-hosting resources/virtualization/lxc/lxc-info_-n_name1 resources/virtualization/lxc/lxc-info_-n_name2 resources/virtualization/openvz/example-config-new.conf resources/virtualization/openvz/example-config-old.conf resources/virtualization/openvz/status-sample1 resources/virtualization/openvz/status_sample1 resources/virtualization/prlctl/sample1 resources/virtualization/README resources/virtualization/vboxmanage/sample1 resources/virtualization/vboxmanage/sample2 resources/virtualization/vboxmanage/sample3 resources/virtualization/virsh/dumpxml1 resources/virtualization/virsh/dumpxml2 resources/virtualization/virsh/dumpxml3 resources/virtualization/virsh/dumpxml4 resources/virtualization/virsh/dumpxml5_lxc resources/virtualization/virsh/list1 resources/virtualization/virsh/list2 resources/virtualization/virtuozzo/sample1 resources/virtualization/virtuozzo/sample1-ctid-conf resources/virtualization/virtuozzo/sample1-getmac-101 resources/virtualization/virtuozzo/sample1-getmac-102 resources/virtualization/virtuozzo/sample1-getmac-103 resources/virtualization/virtuozzo/sample2 resources/virtualization/virtuozzo/sample2-ctid-conf resources/virtualization/virtuozzo/sample2-getmac-136 resources/virtualization/virtuozzo/sample2-getmac-1951898610 resources/virtualization/virtuozzo/sample2-getmac-208185 resources/virtualization/virtuozzo/sample2-getmac-21179 resources/virtualization/virtuozzo/sample2-getmac-8102 resources/virtualization/xe/xe_none resources/virtualization/xe/xenserver-6.2_vm_list resources/virtualization/xe/xenserver-6.2_vm_param_list_001 resources/virtualization/xe/xenserver-6.2_vm_param_list_002 resources/virtualization/xe/xenserver-6.2_vm_param_list_003 resources/virtualization/xe/xenserver-6.2_vm_param_list_004 resources/virtualization/xe/xenserver-6.2_vm_param_list_005 resources/virtualization/xe/xenserver-6.2_vm_param_list_006 resources/virtualization/xe/xenserver-6.2_vm_param_list_007 resources/virtualization/xe/xenserver-6.2_vm_param_list_008 resources/virtualization/xe/xenserver-6.2_vm_param_list_009 resources/virtualization/xe/xenserver-6.2_vm_param_list_010 resources/virtualization/xm/xl_list resources/virtualization/xm/xl_list2 resources/virtualization/xm/xl_list_-v_vmname resources/virtualization/xm/xm_list resources/virtualization/xm/xm_list2 resources/virtualization/xm/xm_list_-l_vmname resources/walks/sample1.walk resources/walks/sample2.walk resources/walks/sample3.walk resources/walks/sample4.result resources/walks/sample4.walk resources/walks/sample5.walk resources/walks/sample6.result resources/walks/sample6.walk resources/win32/README resources/win32/registry/10-DNSRegisteredAdapters.reg resources/win32/registry/10-FirewallPolicy.reg resources/win32/registry/10-NetworkList.reg resources/win32/registry/10-StandAlone-LogonUI.reg resources/win32/registry/2003-CentralProcessor.reg resources/win32/registry/2003R2-Hotfix-CentralProcessor.reg resources/win32/registry/2003SP2-CentralProcessor.reg resources/win32/registry/7-AD-LogonUI.reg resources/win32/registry/7-CentralProcessor.reg resources/win32/registry/7-Network.reg resources/win32/registry/7-USB.reg resources/win32/registry/7-USBPRINT.reg resources/win32/registry/7_firewall-DNSRegisteredAdapters.reg resources/win32/registry/7_firewall-FirewallPolicy.reg resources/win32/registry/7_firewall-NetworkList.reg resources/win32/registry/7bis-USB.reg resources/win32/registry/7bis-USBPRINT.reg resources/win32/registry/7ter-USB.reg resources/win32/registry/7ter-USBPRINT.reg resources/win32/registry/fia-audit-test.reg resources/win32/registry/mssql-Setup.reg resources/win32/registry/mssql-SQL.reg resources/win32/registry/mssql-Uninstall.reg resources/win32/registry/mssql_engine-Setup.reg resources/win32/registry/mssql_engine-SQL.reg resources/win32/registry/mssql_engine-Uninstall.reg resources/win32/registry/office_2010_1.reg resources/win32/registry/office_2010_2.reg resources/win32/registry/office_2016_01.reg resources/win32/registry/office_2016_02.reg resources/win32/registry/xp-CentralProcessor.reg resources/win32/registry/xp-Uninstall.reg resources/win32/registry/xp-{4D36E972-E325-11CE-BFC1-08002BE10318}.reg resources/win32/registry/xppro1-USB.reg resources/win32/registry/xppro1-USBPRINT.reg resources/win32/registry/xppro2-USB.reg resources/win32/registry/xppro2-USBPRINT.reg resources/win32/wmi/10-net-MSFT_NetAdapter.wmi resources/win32/wmi/10-net-Win32_NetworkAdapter.wmi resources/win32/wmi/10-net-Win32_NetworkAdapterConfiguration.wmi resources/win32/wmi/10-StandAlone-Win32_UserAccount.wmi resources/win32/wmi/10-Win32_NetworkAdapter.wmi resources/win32/wmi/10-Win32_NetworkAdapterConfiguration.wmi resources/win32/wmi/2003-Win32_PhysicalMemory.wmi resources/win32/wmi/2003-Win32_PhysicalMemoryArray.wmi resources/win32/wmi/2003-Win32_Processor.wmi resources/win32/wmi/2003R2-Hotfix-Win32_Processor.wmi resources/win32/wmi/2003SP2-Win32_PhysicalMemory.wmi resources/win32/wmi/2003SP2-Win32_PhysicalMemoryArray.wmi resources/win32/wmi/2003SP2-Win32_Processor.wmi resources/win32/wmi/2008-Enterprise-Win32_DiskDrive.wmi resources/win32/wmi/2008-Enterprise-Win32_LogicalDisk.wmi resources/win32/wmi/2008-Enterprise-Win32_OperatingSystem.wmi resources/win32/wmi/2008-MSVM_ComputerSystem.wmi resources/win32/wmi/2008-MSVM_MemorySettingData.wmi resources/win32/wmi/2008-MSVM_ProcessorSettingData.wmi resources/win32/wmi/7-AD-Win32_UserAccount.wmi resources/win32/wmi/7-CIM_LogicalDevice.wmi resources/win32/wmi/7-Win32_NetworkAdapter.wmi resources/win32/wmi/7-Win32_NetworkAdapterConfiguration.wmi resources/win32/wmi/7-Win32_PhysicalMemory.wmi resources/win32/wmi/7-Win32_PhysicalMemoryArray.wmi resources/win32/wmi/7-Win32_Processor.wmi resources/win32/wmi/7_firewall-Win32_NetworkAdapter.wmi resources/win32/wmi/7_firewall-Win32_NetworkAdapterConfiguration.wmi resources/win32/wmi/office_2016_01-SoftwareLicensingProduct.wmi resources/win32/wmi/unknown-MSVM_ComputerSystem.wmi resources/win32/wmi/win10-crypt-Win32_DiskDrive.wmi resources/win32/wmi/win10-crypt-Win32_EncryptableVolume.wmi resources/win32/wmi/win10-crypt-Win32_LogicalDisk.wmi resources/win32/wmi/win10-crypt-Win32_Volume.wmi resources/win32/wmi/win7-sp1-x64-Win32_DiskDrive.wmi resources/win32/wmi/win7-sp1-x64-Win32_LogicalDisk.wmi resources/win32/wmi/win7-sp1-x64-Win32_OperatingSystem.wmi resources/win32/wmi/win7-sp1-x64-Win32_Volume.wmi resources/win32/wmi/winxp-sp3-x86-Win32_LogicalDisk.wmi resources/win32/wmi/winxp-sp3-x86-Win32_OperatingSystem.wmi resources/win32/wmi/xp-Win32_NetworkAdapter.wmi resources/win32/wmi/xp-Win32_NetworkAdapterConfiguration.wmi resources/win32/wmi/xp-Win32_PhysicalMemory.wmi resources/win32/wmi/xp-Win32_PhysicalMemoryArray.wmi resources/win32/wmi/xp-Win32_Processor.wmi resources/win32/wmi/xp-Win32_QuickFixEngineering.wmi resources/win32/wmi/xppro2-CIM_LogicalDevice.wmi resources/xml/response/message1.xml resources/xml/response/message2.xml resources/xml/response/message3.xml share/edid.ids share/html/favicon.ico share/html/index.tpl share/html/inventory.tpl share/html/logo.png share/html/now.tpl share/html/site.css share/pci.ids share/sysobject.ids share/usb.ids t/01compile.t t/02critic.t t/03var.t t/04pod-syntax.t t/05pod-coverage.t t/06pod-no404.t t/06pod-spelling.t t/07whitespaces.t t/08changelog.t t/09cpanmeta.t t/agent/agent.t t/agent/config.t t/agent/daemon.t t/agent/http/client/connection.t t/agent/http/client/fusion/response.t t/agent/http/client/instanciation.t t/agent/http/client/ocs/compression.t t/agent/http/client/ocs/response.t t/agent/http/client/ssl.t t/agent/http/server.t t/agent/inventory.t t/agent/logger.t t/agent/snmp/live.t t/agent/snmp/mock.t t/agent/soap.t t/agent/storage.t t/agent/target.t t/agent/task.t t/agent/tools.t t/agent/tools/aix.t t/agent/tools/bsd.t t/agent/tools/generic.t t/agent/tools/hardware.t t/agent/tools/hpux.t t/agent/tools/license.t t/agent/tools/linux.t t/agent/tools/macos.t t/agent/tools/network.t t/agent/tools/solaris.t t/agent/tools/storages/hp.t t/agent/tools/unix.t t/agent/tools/win32.t t/agent/xml/netinventory.t t/agent/xml/query/inventory.t t/agent/xml/query/prolog.t t/agent/xml/query/simpleMessage.t t/agent/xml/response.t t/apps/agent.t t/apps/esx.t t/apps/injector.t t/apps/inventory.t t/apps/netdiscovery.t t/apps/netinventory.t t/apps/wakeonlan.t t/lib/fake/unix/Sys/Syslog.pm t/lib/fake/windows/Win32.pm t/lib/fake/windows/Win32/API.pm t/lib/fake/windows/Win32/Daemon.pm t/lib/fake/windows/Win32/Job.pm t/lib/fake/windows/Win32/OLE.pm t/lib/fake/windows/Win32/TieRegistry.pm t/lib/fake/windows/Win32API/Registry.pm t/lib/FusionInventory/Agent/Logger/Fatal.pm t/lib/FusionInventory/Agent/Logger/Test.pm t/lib/FusionInventory/Test/Agent.pm t/lib/FusionInventory/Test/Auth.pm t/lib/FusionInventory/Test/Inventory.pm t/lib/FusionInventory/Test/Module.pm t/lib/FusionInventory/Test/Proxy.pm t/lib/FusionInventory/Test/Server.pm t/lib/FusionInventory/Test/Utils.pm t/perlcriticrc t/tasks/collect.t t/tasks/collect/findfile.t t/tasks/deploy/checkprocessor.t t/tasks/deploy/diskfree.t t/tasks/deploy/file.t t/tasks/deploy/p2p.t t/tasks/deploy/validate.t t/tasks/inventory/aix/controllers.t t/tasks/inventory/aix/drives.t t/tasks/inventory/aix/lvm.t t/tasks/inventory/aix/memory.t t/tasks/inventory/aix/modems.t t/tasks/inventory/aix/networks.t t/tasks/inventory/aix/slots.t t/tasks/inventory/aix/softwares.t t/tasks/inventory/aix/sounds.t t/tasks/inventory/aix/storages.t t/tasks/inventory/aix/videos.t t/tasks/inventory/bsd/softwares.t t/tasks/inventory/bsd/storages.t t/tasks/inventory/generic/batteries/acpiconf.t t/tasks/inventory/generic/batteries/upower.t t/tasks/inventory/generic/dmidecode/battery.t t/tasks/inventory/generic/dmidecode/bios.t t/tasks/inventory/generic/dmidecode/memory.t t/tasks/inventory/generic/dmidecode/ports.t t/tasks/inventory/generic/dmidecode/psu.t t/tasks/inventory/generic/dmidecode/slots.t t/tasks/inventory/generic/drives/asm.t t/tasks/inventory/generic/firewall.t t/tasks/inventory/generic/ipmi/fru.t t/tasks/inventory/generic/ipmi/fru_controllers.t t/tasks/inventory/generic/ipmi/fru_memories.t t/tasks/inventory/generic/networks/ilo.t t/tasks/inventory/generic/pci/controllers.t t/tasks/inventory/generic/pci/modems.t t/tasks/inventory/generic/pci/sounds.t t/tasks/inventory/generic/pci/videos.t t/tasks/inventory/generic/Remote_Mgmt/TeamViewer.t t/tasks/inventory/generic/screen.t t/tasks/inventory/generic/storages/3ware.t t/tasks/inventory/generic/storages/hp_w_smartctl.t t/tasks/inventory/generic/usb.t t/tasks/inventory/hpux/controllers.t t/tasks/inventory/hpux/cpu.t t/tasks/inventory/hpux/drives.t t/tasks/inventory/hpux/memory.t t/tasks/inventory/hpux/mp.t t/tasks/inventory/hpux/networks.t t/tasks/inventory/hpux/slots.t t/tasks/inventory/hpux/softwares.t t/tasks/inventory/hpux/storages.t t/tasks/inventory/hpux/uptime.t t/tasks/inventory/linux/arm/board.t t/tasks/inventory/linux/cpu.t t/tasks/inventory/linux/drives.t t/tasks/inventory/linux/lvm.t t/tasks/inventory/linux/multipath.t t/tasks/inventory/linux/networks.t t/tasks/inventory/linux/networks/dockermacvlan.t t/tasks/inventory/linux/networks/fibrechannel.t t/tasks/inventory/linux/rhn-systemid.t t/tasks/inventory/linux/softwares.t t/tasks/inventory/linux/storages.t t/tasks/inventory/linux/storages/adaptec.t t/tasks/inventory/linux/storages/lsilogic.t t/tasks/inventory/linux/storages/megacli.t t/tasks/inventory/linux/storages/megacli_w_smartctl.t t/tasks/inventory/linux/storages/megaraid.t t/tasks/inventory/linux/video.t t/tasks/inventory/macos/batteries.t t/tasks/inventory/macos/cpu.t t/tasks/inventory/macos/firewall.t t/tasks/inventory/macos/hostname.t t/tasks/inventory/macos/memory.t t/tasks/inventory/macos/networks.t t/tasks/inventory/macos/psu.t t/tasks/inventory/macos/softwares.t t/tasks/inventory/macos/storages.t t/tasks/inventory/macos/uptime.t t/tasks/inventory/macos/usb.t t/tasks/inventory/macos/videos.t t/tasks/inventory/solaris/bios.t t/tasks/inventory/solaris/cpu.t t/tasks/inventory/solaris/drives.t t/tasks/inventory/solaris/memory.t t/tasks/inventory/solaris/networks.t t/tasks/inventory/solaris/slots.t t/tasks/inventory/solaris/softwares.t t/tasks/inventory/solaris/storages.t t/tasks/inventory/virtualization/docker.t t/tasks/inventory/virtualization/hyperv.t t/tasks/inventory/virtualization/jails.t t/tasks/inventory/virtualization/libvirt.t t/tasks/inventory/virtualization/lxc.t t/tasks/inventory/virtualization/parallels.t t/tasks/inventory/virtualization/qemu.t t/tasks/inventory/virtualization/virtualbox.t t/tasks/inventory/virtualization/virtuozzo.t t/tasks/inventory/virtualization/xen.t t/tasks/inventory/virtualization/xencitrixserver.t t/tasks/inventory/windows/bios.t t/tasks/inventory/windows/cpu.t t/tasks/inventory/windows/drives.t t/tasks/inventory/windows/firewall.t t/tasks/inventory/windows/license.t t/tasks/inventory/windows/memory.t t/tasks/inventory/windows/networks.t t/tasks/inventory/windows/printers.t t/tasks/inventory/windows/registry.t t/tasks/inventory/windows/softwares.t t/tasks/inventory/windows/storages.t t/tasks/inventory/windows/usb.t t/tasks/inventory/windows/users.t t/tasks/maintenance.t t/tasks/netdiscovery.t t/tasks/netinventory.t t/tasks/wakeonlan.t THANKS FusionInventory-Agent-2.6/THANKS0000644000175000017500000000613613360140464016666 0ustar gbougardgbougardIf you think you should be in this list, please drop us a mail: → guillomovitch@gmail.com → gbougard@teclib.com or don't forget to update it while proposing a pull request on github Alexander Evseev Alex Mauer: PNP monitor IDs Amir Pakdel: HP-UX maintainer Aurelien Bondis: Patch Barius Drubeck: documentation patch Benoit Campedel Benoit Machiavello: Beta tester Benoit Mortier: English wording Christian Lete: patch Christoph Halmes: Solaris patches Damien Mauran: MacOSX packaging, doc and support David Durieux: developer David Olivier: MacOSX patches Denis Linvinus: Cyrillic Windows Dennis Cabooter: FreeBSD maintainer Didier Liroulet: Installation script Dmitry Ilyin: Patches DuyLong LE: Solaris testing/debug and much more Earl Flack: bug reports and testing Edouard Gamin: RAID devices support for Linux Egor Morozov: lxc-tools support, patches and bug reports, LXD support Egor Shornikov: LXD support Emengao: Patch Eric Freyens: debuging Eric Meygret: AIX testing samples Erwan Rigollot: Gentoo testing/debug Etienne Guillaumont: AIX4 CPU detection Fabrice Flore-Thebault: various important bug report and much more François Mermet: HP-UX support Girish Navuda: Patches Gonéri Le Bouder: Agent developper Guillaume Bougard: Agent developper Guillaume Garson: debuging Guillaume Rousse: Agent developper Igor Polovinkin: patch Jan Jungmann: Virtuozzo support Jean-François Boucher: Solaris patch Jean-Jacques Michel: Solaris patches Jean Parpaillon: IPMI backends and patches Jérome Lebas: Solaris patches Jon Clarke: patch Julien Safar: ArchLinux support Kevin Roy: patches Lucas Masse: Solaris Patches Ludovic Hutin: patch Marcin Kowalski: LXD support Mario Gzuk: helpful and friendly feedback Marty Riedling: HPUX corrections Matthieu Cerda: bug reports/prebuilts Maurizio Bertaboni: Solaris Zone support Nicolas Charles: Beta tester Nicolas Dorfsman: Solaris patches Nicolas Eisen: patches Nicolas Richard: patches and bug reports Olivier Andreotti: AIX, Solaris patches Olivier Mengué Olivier Roussy: minor patches Pablo Nicola: AIX testing samples Philippe Camelio: AIX testing samples Philippe Libat: patchs and Xen support Pierre Chifflier: Debian maintainer Raphaël Surcouf: patch Remi Collet: code, bug fixes, Fedora/RedHat maintainer and much more Scott Hannahs: MacOSX patches Sébastien Aperghis-Tramoni Sebastien Chapelant: AIX testing samples Sebastien Dagnicourt: AIX and Solaris patches Sébastien Prud'homme: bug reports and HPVM support Sergio Merino: patch Sofiane Marchoud: various bug fixes Stéphane Urbanovski: patchs Sylvain Luce: Sun M5000 and M4000 support Thierry Lacoste: BSD portage Thomas Lornet: Agent developper, MacOSX packaging update, doc and support Tomás Abad: testing/debug, patch, packaging, and much more Vincent Knecht: wording patch Vincent Membré: patches and bug reports Vladimir Elisseev: various patches Walery Wysotsky: bug reports and testing Walid Nouh: gave access to PowerPC hardware to help the portage, patches Wes Young: MacOSX support and patches Wilfried Brunken: patch for memory detection on AIX Xavier Caillaud: hardware access Yanick Durant: bug reports, testing and patches FusionInventory-Agent-2.6/CONTRIB.md0000644000175000017500000000420413712210012017353 0ustar gbougardgbougard # FusionInventory Agent Contribs ## Included contribs * [Yum-plugin](contrib/yum-plugin) by @remicollet, see [INSTALL](contrib/yum-plugin/INSTALL) * [Unix](contrib/unix): * legacy Debian and Redhat init scripts * systemd sample service file * install-deb.sh by @J-C-P, script to simplify installation on debian/ubuntu, see [README](contrib/unix/install-deb-README.md) * [Windows](contrib/windows): * [fusioninventory-agent-deployment.vbs](contrib/windows/fusioninventory-agent-deployment.vbs): FusionInventory Agent deployment helper script * ADML & ADMX templates to help setup FusionInventory Agent through GPO * [netdisco_2_glpi.sh](contrib/netdisco/netdisco_2_glpi.sh) by Stoatwblr This script makes fusioninventory-compatible xml from netdisco data. Stoatwblr says even if it is ugly and slow, it works ;-) ## Other contribs * [fusioninventory-agent-deployment.vbs](contrib/windows/fusioninventory-agent-deployment.vbs) with server location support See [Add server location to allow server move](https://github.com/EChaffraix/fusioninventory-agent/commit/16507d0a5da09e019d5baa6264b97edf3efb3164) or #220 [Download](https://github.com/EChaffraix/ws/fusioninventory-agent/raw/2.3.x/contrib/windows/fusioninventory-agent-deployment.vbs), thanks to @EChaffraix * [fusioninventory-agent-deployment.vbs](contrib/windows/fusioninventory-agent-deployment.vbs) with Telegram notification support See [Implement notification in Telegram when agent was installed](https://github.com/fusioninventory/fusioninventory-agent/pull/256/commits/86c9f85516e89394523ef5641911974cfc684326) or #256 [Download](https://github.com/fusioninventory/fusioninventory-agent/raw/86c9f85516e89394523ef5641911974cfc684326/contrib/windows/fusioninventory-agent-deployment.vbs), thanks to @wanderleihuttel ## Submit your contribs * Clone [FusionInventory-Agent github repository](https://github.com/fusioninventory/fusioninventory-agent) * Create a dedicated branch to develop and test your contrib * On your 2.3.x branch, update this CONTRIB.md file to reference properly your contrib * Make a PR so we only include your new contrib reference FusionInventory-Agent-2.6/inc/0000755000175000017500000000000013757703276016536 5ustar gbougardgbougardFusionInventory-Agent-2.6/inc/Module/0000755000175000017500000000000013757703276017763 5ustar gbougardgbougardFusionInventory-Agent-2.6/inc/Module/Install.pm0000644000175000017500000002714513757703011021723 0ustar gbougardgbougard#line 1 package Module::Install; # For any maintainers: # The load order for Module::Install is a bit magic. # It goes something like this... # # IF ( host has Module::Install installed, creating author mode ) { # 1. Makefile.PL calls "use inc::Module::Install" # 2. $INC{inc/Module/Install.pm} set to installed version of inc::Module::Install # 3. The installed version of inc::Module::Install loads # 4. inc::Module::Install calls "require Module::Install" # 5. The ./inc/ version of Module::Install loads # } ELSE { # 1. Makefile.PL calls "use inc::Module::Install" # 2. $INC{inc/Module/Install.pm} set to ./inc/ version of Module::Install # 3. The ./inc/ version of Module::Install loads # } use 5.006; use strict 'vars'; use Cwd (); use File::Find (); use File::Path (); use vars qw{$VERSION $MAIN}; BEGIN { # All Module::Install core packages now require synchronised versions. # This will be used to ensure we don't accidentally load old or # different versions of modules. # This is not enforced yet, but will be some time in the next few # releases once we can make sure it won't clash with custom # Module::Install extensions. $VERSION = '1.19'; # Storage for the pseudo-singleton $MAIN = undef; *inc::Module::Install::VERSION = *VERSION; @inc::Module::Install::ISA = __PACKAGE__; } sub import { my $class = shift; my $self = $class->new(@_); my $who = $self->_caller; #------------------------------------------------------------- # all of the following checks should be included in import(), # to allow "eval 'require Module::Install; 1' to test # installation of Module::Install. (RT #51267) #------------------------------------------------------------- # Whether or not inc::Module::Install is actually loaded, the # $INC{inc/Module/Install.pm} is what will still get set as long as # the caller loaded module this in the documented manner. # If not set, the caller may NOT have loaded the bundled version, and thus # they may not have a MI version that works with the Makefile.PL. This would # result in false errors or unexpected behaviour. And we don't want that. my $file = join( '/', 'inc', split /::/, __PACKAGE__ ) . '.pm'; unless ( $INC{$file} ) { die <<"END_DIE" } Please invoke ${\__PACKAGE__} with: use inc::${\__PACKAGE__}; not: use ${\__PACKAGE__}; END_DIE # This reportedly fixes a rare Win32 UTC file time issue, but # as this is a non-cross-platform XS module not in the core, # we shouldn't really depend on it. See RT #24194 for detail. # (Also, this module only supports Perl 5.6 and above). eval "use Win32::UTCFileTime" if $^O eq 'MSWin32' && $] >= 5.006; # If the script that is loading Module::Install is from the future, # then make will detect this and cause it to re-run over and over # again. This is bad. Rather than taking action to touch it (which # is unreliable on some platforms and requires write permissions) # for now we should catch this and refuse to run. if ( -f $0 ) { my $s = (stat($0))[9]; # If the modification time is only slightly in the future, # sleep briefly to remove the problem. my $a = $s - time; if ( $a > 0 and $a < 5 ) { sleep 5 } # Too far in the future, throw an error. my $t = time; if ( $s > $t ) { die <<"END_DIE" } Your installer $0 has a modification time in the future ($s > $t). This is known to create infinite loops in make. Please correct this, then run $0 again. END_DIE } # Build.PL was formerly supported, but no longer is due to excessive # difficulty in implementing every single feature twice. if ( $0 =~ /Build.PL$/i ) { die <<"END_DIE" } Module::Install no longer supports Build.PL. It was impossible to maintain duel backends, and has been deprecated. Please remove all Build.PL files and only use the Makefile.PL installer. END_DIE #------------------------------------------------------------- # To save some more typing in Module::Install installers, every... # use inc::Module::Install # ...also acts as an implicit use strict. $^H |= strict::bits(qw(refs subs vars)); #------------------------------------------------------------- unless ( -f $self->{file} ) { foreach my $key (keys %INC) { delete $INC{$key} if $key =~ /Module\/Install/; } local $^W; require "$self->{path}/$self->{dispatch}.pm"; File::Path::mkpath("$self->{prefix}/$self->{author}"); $self->{admin} = "$self->{name}::$self->{dispatch}"->new( _top => $self ); $self->{admin}->init; @_ = ($class, _self => $self); goto &{"$self->{name}::import"}; } local $^W; *{"${who}::AUTOLOAD"} = $self->autoload; $self->preload; # Unregister loader and worker packages so subdirs can use them again delete $INC{'inc/Module/Install.pm'}; delete $INC{'Module/Install.pm'}; # Save to the singleton $MAIN = $self; return 1; } sub autoload { my $self = shift; my $who = $self->_caller; my $cwd = Cwd::getcwd(); my $sym = "${who}::AUTOLOAD"; $sym->{$cwd} = sub { my $pwd = Cwd::getcwd(); if ( my $code = $sym->{$pwd} ) { # Delegate back to parent dirs goto &$code unless $cwd eq $pwd; } unless ($$sym =~ s/([^:]+)$//) { # XXX: it looks like we can't retrieve the missing function # via $$sym (usually $main::AUTOLOAD) in this case. # I'm still wondering if we should slurp Makefile.PL to # get some context or not ... my ($package, $file, $line) = caller; die <<"EOT"; Unknown function is found at $file line $line. Execution of $file aborted due to runtime errors. If you're a contributor to a project, you may need to install some Module::Install extensions from CPAN (or other repository). If you're a user of a module, please contact the author. EOT } my $method = $1; if ( uc($method) eq $method ) { # Do nothing return; } elsif ( $method =~ /^_/ and $self->can($method) ) { # Dispatch to the root M:I class return $self->$method(@_); } # Dispatch to the appropriate plugin unshift @_, ( $self, $1 ); goto &{$self->can('call')}; }; } sub preload { my $self = shift; unless ( $self->{extensions} ) { $self->load_extensions( "$self->{prefix}/$self->{path}", $self ); } my @exts = @{$self->{extensions}}; unless ( @exts ) { @exts = $self->{admin}->load_all_extensions; } my %seen; foreach my $obj ( @exts ) { while (my ($method, $glob) = each %{ref($obj) . '::'}) { next unless $obj->can($method); next if $method =~ /^_/; next if $method eq uc($method); $seen{$method}++; } } my $who = $self->_caller; foreach my $name ( sort keys %seen ) { local $^W; *{"${who}::$name"} = sub { ${"${who}::AUTOLOAD"} = "${who}::$name"; goto &{"${who}::AUTOLOAD"}; }; } } sub new { my ($class, %args) = @_; delete $INC{'FindBin.pm'}; { # to suppress the redefine warning local $SIG{__WARN__} = sub {}; require FindBin; } # ignore the prefix on extension modules built from top level. my $base_path = Cwd::abs_path($FindBin::Bin); unless ( Cwd::abs_path(Cwd::getcwd()) eq $base_path ) { delete $args{prefix}; } return $args{_self} if $args{_self}; $base_path = VMS::Filespec::unixify($base_path) if $^O eq 'VMS'; $args{dispatch} ||= 'Admin'; $args{prefix} ||= 'inc'; $args{author} ||= ($^O eq 'VMS' ? '_author' : '.author'); $args{bundle} ||= 'inc/BUNDLES'; $args{base} ||= $base_path; $class =~ s/^\Q$args{prefix}\E:://; $args{name} ||= $class; $args{version} ||= $class->VERSION; unless ( $args{path} ) { $args{path} = $args{name}; $args{path} =~ s!::!/!g; } $args{file} ||= "$args{base}/$args{prefix}/$args{path}.pm"; $args{wrote} = 0; bless( \%args, $class ); } sub call { my ($self, $method) = @_; my $obj = $self->load($method) or return; splice(@_, 0, 2, $obj); goto &{$obj->can($method)}; } sub load { my ($self, $method) = @_; $self->load_extensions( "$self->{prefix}/$self->{path}", $self ) unless $self->{extensions}; foreach my $obj (@{$self->{extensions}}) { return $obj if $obj->can($method); } my $admin = $self->{admin} or die <<"END_DIE"; The '$method' method does not exist in the '$self->{prefix}' path! Please remove the '$self->{prefix}' directory and run $0 again to load it. END_DIE my $obj = $admin->load($method, 1); push @{$self->{extensions}}, $obj; $obj; } sub load_extensions { my ($self, $path, $top) = @_; my $should_reload = 0; unless ( grep { ! ref $_ and lc $_ eq lc $self->{prefix} } @INC ) { unshift @INC, $self->{prefix}; $should_reload = 1; } foreach my $rv ( $self->find_extensions($path) ) { my ($file, $pkg) = @{$rv}; next if $self->{pathnames}{$pkg}; local $@; my $new = eval { local $^W; require $file; $pkg->can('new') }; unless ( $new ) { warn $@ if $@; next; } $self->{pathnames}{$pkg} = $should_reload ? delete $INC{$file} : $INC{$file}; push @{$self->{extensions}}, &{$new}($pkg, _top => $top ); } $self->{extensions} ||= []; } sub find_extensions { my ($self, $path) = @_; my @found; File::Find::find( {no_chdir => 1, wanted => sub { my $file = $File::Find::name; return unless $file =~ m!^\Q$path\E/(.+)\.pm\Z!is; my $subpath = $1; return if lc($subpath) eq lc($self->{dispatch}); $file = "$self->{path}/$subpath.pm"; my $pkg = "$self->{name}::$subpath"; $pkg =~ s!/!::!g; # If we have a mixed-case package name, assume case has been preserved # correctly. Otherwise, root through the file to locate the case-preserved # version of the package name. if ( $subpath eq lc($subpath) || $subpath eq uc($subpath) ) { my $content = Module::Install::_read($File::Find::name); my $in_pod = 0; foreach ( split /\n/, $content ) { $in_pod = 1 if /^=\w/; $in_pod = 0 if /^=cut/; next if ($in_pod || /^=cut/); # skip pod text next if /^\s*#/; # and comments if ( m/^\s*package\s+($pkg)\s*;/i ) { $pkg = $1; last; } } } push @found, [ $file, $pkg ]; }}, $path ) if -d $path; @found; } ##################################################################### # Common Utility Functions sub _caller { my $depth = 0; my $call = caller($depth); while ( $call eq __PACKAGE__ ) { $depth++; $call = caller($depth); } return $call; } sub _read { local *FH; open( FH, '<', $_[0] ) or die "open($_[0]): $!"; binmode FH; my $string = do { local $/; }; close FH or die "close($_[0]): $!"; return $string; } sub _readperl { my $string = Module::Install::_read($_[0]); $string =~ s/(?:\015{1,2}\012|\015|\012)/\n/sg; $string =~ s/(\n)\n*__(?:DATA|END)__\b.*\z/$1/s; $string =~ s/\n\n=\w+.+?\n\n=cut\b.+?\n+/\n\n/sg; return $string; } sub _readpod { my $string = Module::Install::_read($_[0]); $string =~ s/(?:\015{1,2}\012|\015|\012)/\n/sg; return $string if $_[0] =~ /\.pod\z/; $string =~ s/(^|\n=cut\b.+?\n+)[^=\s].+?\n(\n=\w+|\z)/$1$2/sg; $string =~ s/\n*=pod\b[^\n]*\n+/\n\n/sg; $string =~ s/\n*=cut\b[^\n]*\n+/\n\n/sg; $string =~ s/^\n+//s; return $string; } sub _write { local *FH; open( FH, '>', $_[0] ) or die "open($_[0]): $!"; binmode FH; foreach ( 1 .. $#_ ) { print FH $_[$_] or die "print($_[0]): $!"; } close FH or die "close($_[0]): $!"; } # _version is for processing module versions (eg, 1.03_05) not # Perl versions (eg, 5.8.1). sub _version { my $s = shift || 0; my $d =()= $s =~ /(\.)/g; if ( $d >= 2 ) { # Normalise multipart versions $s =~ s/(\.)(\d{1,3})/sprintf("$1%03d",$2)/eg; } $s =~ s/^(\d+)\.?//; my $l = $1 || 0; my @v = map { $_ . '0' x (3 - length $_) } $s =~ /(\d{1,3})\D?/g; $l = $l . '.' . join '', @v if @v; return $l + 0; } sub _cmp { _version($_[1]) <=> _version($_[2]); } # Cloned from Params::Util::_CLASS sub _CLASS { ( defined $_[0] and ! ref $_[0] and $_[0] =~ m/^[^\W\d]\w*(?:::\w+)*\z/s ) ? $_[0] : undef; } 1; # Copyright 2008 - 2012 Adam Kennedy. FusionInventory-Agent-2.6/inc/Module/AutoInstall.pm0000644000175000017500000006231113757703012022547 0ustar gbougardgbougard#line 1 package Module::AutoInstall; use strict; use Cwd (); use File::Spec (); use ExtUtils::MakeMaker (); use vars qw{$VERSION}; BEGIN { $VERSION = '1.19'; } # special map on pre-defined feature sets my %FeatureMap = ( '' => 'Core Features', # XXX: deprecated '-core' => 'Core Features', ); # various lexical flags my ( @Missing, @Existing, %DisabledTests, $UnderCPAN, $InstallDepsTarget, $HasCPANPLUS ); my ( $Config, $CheckOnly, $SkipInstall, $AcceptDefault, $TestOnly, $AllDeps, $UpgradeDeps ); my ( $PostambleActions, $PostambleActionsNoTest, $PostambleActionsUpgradeDeps, $PostambleActionsUpgradeDepsNoTest, $PostambleActionsListDeps, $PostambleActionsListAllDeps, $PostambleUsed, $NoTest); # See if it's a testing or non-interactive session _accept_default( $ENV{AUTOMATED_TESTING} or ! -t STDIN ); _init(); sub _accept_default { $AcceptDefault = shift; } sub _installdeps_target { $InstallDepsTarget = shift; } sub missing_modules { return @Missing; } sub do_install { __PACKAGE__->install( [ $Config ? ( UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} ) : () ], @Missing, ); } # initialize various flags, and/or perform install sub _init { foreach my $arg ( @ARGV, split( /[\s\t]+/, $ENV{PERL_AUTOINSTALL} || $ENV{PERL_EXTUTILS_AUTOINSTALL} || '' ) ) { if ( $arg =~ /^--config=(.*)$/ ) { $Config = [ split( ',', $1 ) ]; } elsif ( $arg =~ /^--installdeps=(.*)$/ ) { __PACKAGE__->install( $Config, @Missing = split( /,/, $1 ) ); exit 0; } elsif ( $arg =~ /^--upgradedeps=(.*)$/ ) { $UpgradeDeps = 1; __PACKAGE__->install( $Config, @Missing = split( /,/, $1 ) ); exit 0; } elsif ( $arg =~ /^--default(?:deps)?$/ ) { $AcceptDefault = 1; } elsif ( $arg =~ /^--check(?:deps)?$/ ) { $CheckOnly = 1; } elsif ( $arg =~ /^--skip(?:deps)?$/ ) { $SkipInstall = 1; } elsif ( $arg =~ /^--test(?:only)?$/ ) { $TestOnly = 1; } elsif ( $arg =~ /^--all(?:deps)?$/ ) { $AllDeps = 1; } } } # overrides MakeMaker's prompt() to automatically accept the default choice sub _prompt { goto &ExtUtils::MakeMaker::prompt unless $AcceptDefault; my ( $prompt, $default ) = @_; my $y = ( $default =~ /^[Yy]/ ); print $prompt, ' [', ( $y ? 'Y' : 'y' ), '/', ( $y ? 'n' : 'N' ), '] '; print "$default\n"; return $default; } # the workhorse sub import { my $class = shift; my @args = @_ or return; my $core_all; print "*** $class version " . $class->VERSION . "\n"; print "*** Checking for Perl dependencies...\n"; my $cwd = Cwd::getcwd(); $Config = []; my $maxlen = length( ( sort { length($b) <=> length($a) } grep { /^[^\-]/ } map { ref($_) ? ( ( ref($_) eq 'HASH' ) ? keys(%$_) : @{$_} ) : '' } map { +{@args}->{$_} } grep { /^[^\-]/ or /^-core$/i } keys %{ +{@args} } )[0] ); # We want to know if we're under CPAN early to avoid prompting, but # if we aren't going to try and install anything anyway then skip the # check entirely since we don't want to have to load (and configure) # an old CPAN just for a cosmetic message $UnderCPAN = _check_lock(1) unless $SkipInstall || $InstallDepsTarget; while ( my ( $feature, $modules ) = splice( @args, 0, 2 ) ) { my ( @required, @tests, @skiptests ); my $default = 1; my $conflict = 0; if ( $feature =~ m/^-(\w+)$/ ) { my $option = lc($1); # check for a newer version of myself _update_to( $modules, @_ ) and return if $option eq 'version'; # sets CPAN configuration options $Config = $modules if $option eq 'config'; # promote every features to core status $core_all = ( $modules =~ /^all$/i ) and next if $option eq 'core'; next unless $option eq 'core'; } print "[" . ( $FeatureMap{ lc($feature) } || $feature ) . "]\n"; $modules = [ %{$modules} ] if UNIVERSAL::isa( $modules, 'HASH' ); unshift @$modules, -default => &{ shift(@$modules) } if ( ref( $modules->[0] ) eq 'CODE' ); # XXX: bugward compatibility while ( my ( $mod, $arg ) = splice( @$modules, 0, 2 ) ) { if ( $mod =~ m/^-(\w+)$/ ) { my $option = lc($1); $default = $arg if ( $option eq 'default' ); $conflict = $arg if ( $option eq 'conflict' ); @tests = @{$arg} if ( $option eq 'tests' ); @skiptests = @{$arg} if ( $option eq 'skiptests' ); next; } printf( "- %-${maxlen}s ...", $mod ); if ( $arg and $arg =~ /^\D/ ) { unshift @$modules, $arg; $arg = 0; } # XXX: check for conflicts and uninstalls(!) them. my $cur = _version_of($mod); if (_version_cmp ($cur, $arg) >= 0) { print "loaded. ($cur" . ( $arg ? " >= $arg" : '' ) . ")\n"; push @Existing, $mod => $arg; $DisabledTests{$_} = 1 for map { glob($_) } @skiptests; } else { if (not defined $cur) # indeed missing { print "missing." . ( $arg ? " (would need $arg)" : '' ) . "\n"; } else { # no need to check $arg as _version_cmp ($cur, undef) would satisfy >= above print "too old. ($cur < $arg)\n"; } push @required, $mod => $arg; } } next unless @required; my $mandatory = ( $feature eq '-core' or $core_all ); if ( !$SkipInstall and ( $CheckOnly or ($mandatory and $UnderCPAN) or $AllDeps or $InstallDepsTarget or _prompt( qq{==> Auto-install the } . ( @required / 2 ) . ( $mandatory ? ' mandatory' : ' optional' ) . qq{ module(s) from CPAN?}, $default ? 'y' : 'n', ) =~ /^[Yy]/ ) ) { push( @Missing, @required ); $DisabledTests{$_} = 1 for map { glob($_) } @skiptests; } elsif ( !$SkipInstall and $default and $mandatory and _prompt( qq{==> The module(s) are mandatory! Really skip?}, 'n', ) =~ /^[Nn]/ ) { push( @Missing, @required ); $DisabledTests{$_} = 1 for map { glob($_) } @skiptests; } else { $DisabledTests{$_} = 1 for map { glob($_) } @tests; } } if ( @Missing and not( $CheckOnly or $UnderCPAN) ) { require Config; my $make = $Config::Config{make}; if ($InstallDepsTarget) { print "*** To install dependencies type '$make installdeps' or '$make installdeps_notest'.\n"; } else { print "*** Dependencies will be installed the next time you type '$make'.\n"; } # make an educated guess of whether we'll need root permission. print " (You may need to do that as the 'root' user.)\n" if eval '$>'; } print "*** $class configuration finished.\n"; chdir $cwd; # import to main:: no strict 'refs'; *{'main::WriteMakefile'} = \&Write if caller(0) eq 'main'; return (@Existing, @Missing); } sub _running_under { my $thing = shift; print <<"END_MESSAGE"; *** Since we're running under ${thing}, I'll just let it take care of the dependency's installation later. END_MESSAGE return 1; } # Check to see if we are currently running under CPAN.pm and/or CPANPLUS; # if we are, then we simply let it taking care of our dependencies sub _check_lock { return unless @Missing or @_; if ($ENV{PERL5_CPANM_IS_RUNNING}) { return _running_under('cpanminus'); } my $cpan_env = $ENV{PERL5_CPAN_IS_RUNNING}; if ($ENV{PERL5_CPANPLUS_IS_RUNNING}) { return _running_under($cpan_env ? 'CPAN' : 'CPANPLUS'); } require CPAN; if ($CPAN::VERSION > '1.89') { if ($cpan_env) { return _running_under('CPAN'); } return; # CPAN.pm new enough, don't need to check further } # last ditch attempt, this -will- configure CPAN, very sorry _load_cpan(1); # force initialize even though it's already loaded # Find the CPAN lock-file my $lock = MM->catfile( $CPAN::Config->{cpan_home}, ".lock" ); return unless -f $lock; # Check the lock local *LOCK; return unless open(LOCK, $lock); if ( ( $^O eq 'MSWin32' ? _under_cpan() : == getppid() ) and ( $CPAN::Config->{prerequisites_policy} || '' ) ne 'ignore' ) { print <<'END_MESSAGE'; *** Since we're running under CPAN, I'll just let it take care of the dependency's installation later. END_MESSAGE return 1; } close LOCK; return; } sub install { my $class = shift; my $i; # used below to strip leading '-' from config keys my @config = ( map { s/^-// if ++$i; $_ } @{ +shift } ); my ( @modules, @installed, @modules_to_upgrade ); while (my ($pkg, $ver) = splice(@_, 0, 2)) { # grep out those already installed if (_version_cmp(_version_of($pkg), $ver) >= 0) { push @installed, $pkg; if ($UpgradeDeps) { push @modules_to_upgrade, $pkg, $ver; } } else { push @modules, $pkg, $ver; } } if ($UpgradeDeps) { push @modules, @modules_to_upgrade; @installed = (); @modules_to_upgrade = (); } return @installed unless @modules; # nothing to do return @installed if _check_lock(); # defer to the CPAN shell print "*** Installing dependencies...\n"; return unless _connected_to('cpan.org'); my %args = @config; my %failed; local *FAILED; if ( $args{do_once} and open( FAILED, '.#autoinstall.failed' ) ) { while () { chomp; $failed{$_}++ } close FAILED; my @newmod; while ( my ( $k, $v ) = splice( @modules, 0, 2 ) ) { push @newmod, ( $k => $v ) unless $failed{$k}; } @modules = @newmod; } if ( _has_cpanplus() and not $ENV{PERL_AUTOINSTALL_PREFER_CPAN} ) { _install_cpanplus( \@modules, \@config ); } else { _install_cpan( \@modules, \@config ); } print "*** $class installation finished.\n"; # see if we have successfully installed them while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) { if ( _version_cmp( _version_of($pkg), $ver ) >= 0 ) { push @installed, $pkg; } elsif ( $args{do_once} and open( FAILED, '>> .#autoinstall.failed' ) ) { print FAILED "$pkg\n"; } } close FAILED if $args{do_once}; return @installed; } sub _install_cpanplus { my @modules = @{ +shift }; my @config = _cpanplus_config( @{ +shift } ); my $installed = 0; require CPANPLUS::Backend; my $cp = CPANPLUS::Backend->new; my $conf = $cp->configure_object; return unless $conf->can('conf') # 0.05x+ with "sudo" support or _can_write($conf->_get_build('base')); # 0.04x # if we're root, set UNINST=1 to avoid trouble unless user asked for it. my $makeflags = $conf->get_conf('makeflags') || ''; if ( UNIVERSAL::isa( $makeflags, 'HASH' ) ) { # 0.03+ uses a hashref here $makeflags->{UNINST} = 1 unless exists $makeflags->{UNINST}; } else { # 0.02 and below uses a scalar $makeflags = join( ' ', split( ' ', $makeflags ), 'UNINST=1' ) if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } ); } $conf->set_conf( makeflags => $makeflags ); $conf->set_conf( prereqs => 1 ); while ( my ( $key, $val ) = splice( @config, 0, 2 ) ) { $conf->set_conf( $key, $val ); } my $modtree = $cp->module_tree; while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) { print "*** Installing $pkg...\n"; MY::preinstall( $pkg, $ver ) or next if defined &MY::preinstall; my $success; my $obj = $modtree->{$pkg}; if ( $obj and _version_cmp( $obj->{version}, $ver ) >= 0 ) { my $pathname = $pkg; $pathname =~ s/::/\\W/; foreach my $inc ( grep { m/$pathname.pm/i } keys(%INC) ) { delete $INC{$inc}; } my $rv = $cp->install( modules => [ $obj->{module} ] ); if ( $rv and ( $rv->{ $obj->{module} } or $rv->{ok} ) ) { print "*** $pkg successfully installed.\n"; $success = 1; } else { print "*** $pkg installation cancelled.\n"; $success = 0; } $installed += $success; } else { print << "."; *** Could not find a version $ver or above for $pkg; skipping. . } MY::postinstall( $pkg, $ver, $success ) if defined &MY::postinstall; } return $installed; } sub _cpanplus_config { my @config = (); while ( @_ ) { my ($key, $value) = (shift(), shift()); if ( $key eq 'prerequisites_policy' ) { if ( $value eq 'follow' ) { $value = CPANPLUS::Internals::Constants::PREREQ_INSTALL(); } elsif ( $value eq 'ask' ) { $value = CPANPLUS::Internals::Constants::PREREQ_ASK(); } elsif ( $value eq 'ignore' ) { $value = CPANPLUS::Internals::Constants::PREREQ_IGNORE(); } else { die "*** Cannot convert option $key = '$value' to CPANPLUS version.\n"; } push @config, 'prereqs', $value; } elsif ( $key eq 'force' ) { push @config, $key, $value; } elsif ( $key eq 'notest' ) { push @config, 'skiptest', $value; } else { die "*** Cannot convert option $key to CPANPLUS version.\n"; } } return @config; } sub _install_cpan { my @modules = @{ +shift }; my @config = @{ +shift }; my $installed = 0; my %args; _load_cpan(); require Config; if (CPAN->VERSION < 1.80) { # no "sudo" support, probe for writableness return unless _can_write( MM->catfile( $CPAN::Config->{cpan_home}, 'sources' ) ) and _can_write( $Config::Config{sitelib} ); } # if we're root, set UNINST=1 to avoid trouble unless user asked for it. my $makeflags = $CPAN::Config->{make_install_arg} || ''; $CPAN::Config->{make_install_arg} = join( ' ', split( ' ', $makeflags ), 'UNINST=1' ) if ( $makeflags !~ /\bUNINST\b/ and eval qq{ $> eq '0' } ); # don't show start-up info $CPAN::Config->{inhibit_startup_message} = 1; # set additional options while ( my ( $opt, $arg ) = splice( @config, 0, 2 ) ) { ( $args{$opt} = $arg, next ) if $opt =~ /^(?:force|notest)$/; # pseudo-option $CPAN::Config->{$opt} = $opt eq 'urllist' ? [$arg] : $arg; } if ($args{notest} && (not CPAN::Shell->can('notest'))) { die "Your version of CPAN is too old to support the 'notest' pragma"; } local $CPAN::Config->{prerequisites_policy} = 'follow'; while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) { MY::preinstall( $pkg, $ver ) or next if defined &MY::preinstall; print "*** Installing $pkg...\n"; my $obj = CPAN::Shell->expand( Module => $pkg ); my $success = 0; if ( $obj and _version_cmp( $obj->cpan_version, $ver ) >= 0 ) { my $pathname = $pkg; $pathname =~ s/::/\\W/; foreach my $inc ( grep { m/$pathname.pm/i } keys(%INC) ) { delete $INC{$inc}; } my $rv = do { if ($args{force}) { CPAN::Shell->force( install => $pkg ) } elsif ($args{notest}) { CPAN::Shell->notest( install => $pkg ) } else { CPAN::Shell->install($pkg) } }; $rv ||= eval { $CPAN::META->instance( 'CPAN::Distribution', $obj->cpan_file, ) ->{install} if $CPAN::META; }; if ( $rv eq 'YES' ) { print "*** $pkg successfully installed.\n"; $success = 1; } else { print "*** $pkg installation failed.\n"; $success = 0; } $installed += $success; } else { print << "."; *** Could not find a version $ver or above for $pkg; skipping. . } MY::postinstall( $pkg, $ver, $success ) if defined &MY::postinstall; } return $installed; } sub _has_cpanplus { return ( $HasCPANPLUS = ( $INC{'CPANPLUS/Config.pm'} or _load('CPANPLUS::Shell::Default') ) ); } # make guesses on whether we're under the CPAN installation directory sub _under_cpan { require Cwd; require File::Spec; my $cwd = File::Spec->canonpath( Cwd::getcwd() ); my $cpan = File::Spec->canonpath( $CPAN::Config->{cpan_home} ); return ( index( $cwd, $cpan ) > -1 ); } sub _update_to { my $class = __PACKAGE__; my $ver = shift; return if _version_cmp( _version_of($class), $ver ) >= 0; # no need to upgrade if ( _prompt( "==> A newer version of $class ($ver) is required. Install?", 'y' ) =~ /^[Nn]/ ) { die "*** Please install $class $ver manually.\n"; } print << "."; *** Trying to fetch it from CPAN... . # install ourselves _load($class) and return $class->import(@_) if $class->install( [], $class, $ver ); print << '.'; exit 1; *** Cannot bootstrap myself. :-( Installation terminated. . } # check if we're connected to some host, using inet_aton sub _connected_to { my $site = shift; return ( ( _load('Socket') and Socket::inet_aton($site) ) or _prompt( qq( *** Your host cannot resolve the domain name '$site', which probably means the Internet connections are unavailable. ==> Should we try to install the required module(s) anyway?), 'n' ) =~ /^[Yy]/ ); } # check if a directory is writable; may create it on demand sub _can_write { my $path = shift; mkdir( $path, 0755 ) unless -e $path; return 1 if -w $path; print << "."; *** You are not allowed to write to the directory '$path'; the installation may fail due to insufficient permissions. . if ( eval '$>' and lc(`sudo -V`) =~ /version/ and _prompt( qq( ==> Should we try to re-execute the autoinstall process with 'sudo'?), ((-t STDIN) ? 'y' : 'n') ) =~ /^[Yy]/ ) { # try to bootstrap ourselves from sudo print << "."; *** Trying to re-execute the autoinstall process with 'sudo'... . my $missing = join( ',', @Missing ); my $config = join( ',', UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} ) if $Config; return unless system( 'sudo', $^X, $0, "--config=$config", "--installdeps=$missing" ); print << "."; *** The 'sudo' command exited with error! Resuming... . } return _prompt( qq( ==> Should we try to install the required module(s) anyway?), 'n' ) =~ /^[Yy]/; } # load a module and return the version it reports sub _load { my $mod = pop; # method/function doesn't matter my $file = $mod; $file =~ s|::|/|g; $file .= '.pm'; local $@; return eval { require $file; $mod->VERSION } || ( $@ ? undef: 0 ); } # report version without loading a module sub _version_of { my $mod = pop; # method/function doesn't matter my $file = $mod; $file =~ s|::|/|g; $file .= '.pm'; foreach my $dir ( @INC ) { next if ref $dir; my $path = File::Spec->catfile($dir, $file); next unless -e $path; require ExtUtils::MM_Unix; return ExtUtils::MM_Unix->parse_version($path); } return undef; } # Load CPAN.pm and it's configuration sub _load_cpan { return if $CPAN::VERSION and $CPAN::Config and not @_; require CPAN; # CPAN-1.82+ adds CPAN::Config::AUTOLOAD to redirect to # CPAN::HandleConfig->load. CPAN reports that the redirection # is deprecated in a warning printed at the user. # CPAN-1.81 expects CPAN::HandleConfig->load, does not have # $CPAN::HandleConfig::VERSION but cannot handle # CPAN::Config->load # Which "versions expect CPAN::Config->load? if ( $CPAN::HandleConfig::VERSION || CPAN::HandleConfig->can('load') ) { # Newer versions of CPAN have a HandleConfig module CPAN::HandleConfig->load; } else { # Older versions had the load method in Config directly CPAN::Config->load; } } # compare two versions, either use Sort::Versions or plain comparison # return values same as <=> sub _version_cmp { my ( $cur, $min ) = @_; return -1 unless defined $cur; # if 0 keep comparing return 1 unless $min; $cur =~ s/\s+$//; # check for version numbers that are not in decimal format if ( ref($cur) or ref($min) or $cur =~ /v|\..*\./ or $min =~ /v|\..*\./ ) { if ( ( $version::VERSION or defined( _load('version') )) and version->can('new') ) { # use version.pm if it is installed. return version->new($cur) <=> version->new($min); } elsif ( $Sort::Versions::VERSION or defined( _load('Sort::Versions') ) ) { # use Sort::Versions as the sorting algorithm for a.b.c versions return Sort::Versions::versioncmp( $cur, $min ); } warn "Cannot reliably compare non-decimal formatted versions.\n" . "Please install version.pm or Sort::Versions.\n"; } # plain comparison local $^W = 0; # shuts off 'not numeric' bugs return $cur <=> $min; } # nothing; this usage is deprecated. sub main::PREREQ_PM { return {}; } sub _make_args { my %args = @_; $args{PREREQ_PM} = { %{ $args{PREREQ_PM} || {} }, @Existing, @Missing } if $UnderCPAN or $TestOnly; if ( $args{EXE_FILES} and -e 'MANIFEST' ) { require ExtUtils::Manifest; my $manifest = ExtUtils::Manifest::maniread('MANIFEST'); $args{EXE_FILES} = [ grep { exists $manifest->{$_} } @{ $args{EXE_FILES} } ]; } $args{test}{TESTS} ||= 't/*.t'; $args{test}{TESTS} = join( ' ', grep { !exists( $DisabledTests{$_} ) } map { glob($_) } split( /\s+/, $args{test}{TESTS} ) ); my $missing = join( ',', @Missing ); my $config = join( ',', UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config} ) if $Config; $PostambleActions = ( ($missing and not $UnderCPAN) ? "\$(PERL) $0 --config=$config --installdeps=$missing" : "\$(NOECHO) \$(NOOP)" ); my $deps_list = join( ',', @Missing, @Existing ); $PostambleActionsUpgradeDeps = "\$(PERL) $0 --config=$config --upgradedeps=$deps_list"; my $config_notest = join( ',', (UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config}), 'notest', 1 ) if $Config; $PostambleActionsNoTest = ( ($missing and not $UnderCPAN) ? "\$(PERL) $0 --config=$config_notest --installdeps=$missing" : "\$(NOECHO) \$(NOOP)" ); $PostambleActionsUpgradeDepsNoTest = "\$(PERL) $0 --config=$config_notest --upgradedeps=$deps_list"; $PostambleActionsListDeps = '@$(PERL) -le "print for @ARGV" ' . join(' ', map $Missing[$_], grep $_ % 2 == 0, 0..$#Missing); my @all = (@Missing, @Existing); $PostambleActionsListAllDeps = '@$(PERL) -le "print for @ARGV" ' . join(' ', map $all[$_], grep $_ % 2 == 0, 0..$#all); return %args; } # a wrapper to ExtUtils::MakeMaker::WriteMakefile sub Write { require Carp; Carp::croak "WriteMakefile: Need even number of args" if @_ % 2; if ($CheckOnly) { print << "."; *** Makefile not written in check-only mode. . return; } my %args = _make_args(@_); no strict 'refs'; $PostambleUsed = 0; local *MY::postamble = \&postamble unless defined &MY::postamble; ExtUtils::MakeMaker::WriteMakefile(%args); print << "." unless $PostambleUsed; *** WARNING: Makefile written with customized MY::postamble() without including contents from Module::AutoInstall::postamble() -- auto installation features disabled. Please contact the author. . return 1; } sub postamble { $PostambleUsed = 1; my $fragment; $fragment .= <<"AUTO_INSTALL" if !$InstallDepsTarget; config :: installdeps \t\$(NOECHO) \$(NOOP) AUTO_INSTALL $fragment .= <<"END_MAKE"; checkdeps :: \t\$(PERL) $0 --checkdeps installdeps :: \t$PostambleActions installdeps_notest :: \t$PostambleActionsNoTest upgradedeps :: \t$PostambleActionsUpgradeDeps upgradedeps_notest :: \t$PostambleActionsUpgradeDepsNoTest listdeps :: \t$PostambleActionsListDeps listalldeps :: \t$PostambleActionsListAllDeps END_MAKE return $fragment; } 1; __END__ #line 1197 FusionInventory-Agent-2.6/inc/Module/Install/0000755000175000017500000000000013757703277021372 5ustar gbougardgbougardFusionInventory-Agent-2.6/inc/Module/Install/Can.pm0000644000175000017500000000640513757703012022421 0ustar gbougardgbougard#line 1 package Module::Install::Can; use strict; use Config (); use ExtUtils::MakeMaker (); use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } # check if we can load some module ### Upgrade this to not have to load the module if possible sub can_use { my ($self, $mod, $ver) = @_; $mod =~ s{::|\\}{/}g; $mod .= '.pm' unless $mod =~ /\.pm$/i; my $pkg = $mod; $pkg =~ s{/}{::}g; $pkg =~ s{\.pm$}{}i; local $@; eval { require $mod; $pkg->VERSION($ver || 0); 1 }; } # Check if we can run some command sub can_run { my ($self, $cmd) = @_; my $_cmd = $cmd; return $_cmd if (-x $_cmd or $_cmd = MM->maybe_command($_cmd)); for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') { next if $dir eq ''; require File::Spec; my $abs = File::Spec->catfile($dir, $cmd); return $abs if (-x $abs or $abs = MM->maybe_command($abs)); } return; } # Can our C compiler environment build XS files sub can_xs { my $self = shift; # Ensure we have the CBuilder module $self->configure_requires( 'ExtUtils::CBuilder' => 0.27 ); # Do we have the configure_requires checker? local $@; eval "require ExtUtils::CBuilder;"; if ( $@ ) { # They don't obey configure_requires, so it is # someone old and delicate. Try to avoid hurting # them by falling back to an older simpler test. return $self->can_cc(); } # Do we have a working C compiler my $builder = ExtUtils::CBuilder->new( quiet => 1, ); unless ( $builder->have_compiler ) { # No working C compiler return 0; } # Write a C file representative of what XS becomes require File::Temp; my ( $FH, $tmpfile ) = File::Temp::tempfile( "compilexs-XXXXX", SUFFIX => '.c', ); binmode $FH; print $FH <<'END_C'; #include "EXTERN.h" #include "perl.h" #include "XSUB.h" int main(int argc, char **argv) { return 0; } int boot_sanexs() { return 1; } END_C close $FH; # Can the C compiler access the same headers XS does my @libs = (); my $object = undef; eval { local $^W = 0; $object = $builder->compile( source => $tmpfile, ); @libs = $builder->link( objects => $object, module_name => 'sanexs', ); }; my $result = $@ ? 0 : 1; # Clean up all the build files foreach ( $tmpfile, $object, @libs ) { next unless defined $_; 1 while unlink; } return $result; } # Can we locate a (the) C compiler sub can_cc { my $self = shift; if ($^O eq 'VMS') { require ExtUtils::CBuilder; my $builder = ExtUtils::CBuilder->new( quiet => 1, ); return $builder->have_compiler; } my @chunks = split(/ /, $Config::Config{cc}) or return; # $Config{cc} may contain args; try to find out the program part while (@chunks) { return $self->can_run("@chunks") || (pop(@chunks), next); } return; } # Fix Cygwin bug on maybe_command(); if ( $^O eq 'cygwin' ) { require ExtUtils::MM_Cygwin; require ExtUtils::MM_Win32; if ( ! defined(&ExtUtils::MM_Cygwin::maybe_command) ) { *ExtUtils::MM_Cygwin::maybe_command = sub { my ($self, $file) = @_; if ($file =~ m{^/cygdrive/}i and ExtUtils::MM_Win32->can('maybe_command')) { ExtUtils::MM_Win32->maybe_command($file); } else { ExtUtils::MM_Unix->maybe_command($file); } } } } 1; __END__ #line 245 FusionInventory-Agent-2.6/inc/Module/Install/Base.pm0000644000175000017500000000214713757703012022571 0ustar gbougardgbougard#line 1 package Module::Install::Base; use strict 'vars'; use vars qw{$VERSION}; BEGIN { $VERSION = '1.19'; } # Suspend handler for "redefined" warnings BEGIN { my $w = $SIG{__WARN__}; $SIG{__WARN__} = sub { $w }; } #line 42 sub new { my $class = shift; unless ( defined &{"${class}::call"} ) { *{"${class}::call"} = sub { shift->_top->call(@_) }; } unless ( defined &{"${class}::load"} ) { *{"${class}::load"} = sub { shift->_top->load(@_) }; } bless { @_ }, $class; } #line 61 sub AUTOLOAD { local $@; my $func = eval { shift->_top->autoload } or return; goto &$func; } #line 75 sub _top { $_[0]->{_top}; } #line 90 sub admin { $_[0]->_top->{admin} or Module::Install::Base::FakeAdmin->new; } #line 106 sub is_admin { ! $_[0]->admin->isa('Module::Install::Base::FakeAdmin'); } sub DESTROY {} package Module::Install::Base::FakeAdmin; use vars qw{$VERSION}; BEGIN { $VERSION = $Module::Install::Base::VERSION; } my $fake; sub new { $fake ||= bless(\@_, $_[0]); } sub AUTOLOAD {} sub DESTROY {} # Restore warning handler BEGIN { $SIG{__WARN__} = $SIG{__WARN__}->(); } 1; #line 159 FusionInventory-Agent-2.6/inc/Module/Install/Include.pm0000644000175000017500000000101513757703012023273 0ustar gbougardgbougard#line 1 package Module::Install::Include; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } sub include { shift()->admin->include(@_); } sub include_deps { shift()->admin->include_deps(@_); } sub auto_include { shift()->admin->auto_include(@_); } sub auto_include_deps { shift()->admin->auto_include_deps(@_); } sub auto_include_dependent_dists { shift()->admin->auto_include_dependent_dists(@_); } 1; FusionInventory-Agent-2.6/inc/Module/Install/Metadata.pm0000644000175000017500000004330213757703012023435 0ustar gbougardgbougard#line 1 package Module::Install::Metadata; use strict 'vars'; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } my @boolean_keys = qw{ sign }; my @scalar_keys = qw{ name module_name abstract version distribution_type tests installdirs }; my @tuple_keys = qw{ configure_requires build_requires requires recommends bundles resources }; my @resource_keys = qw{ homepage bugtracker repository }; my @array_keys = qw{ keywords author }; *authors = \&author; sub Meta { shift } sub Meta_BooleanKeys { @boolean_keys } sub Meta_ScalarKeys { @scalar_keys } sub Meta_TupleKeys { @tuple_keys } sub Meta_ResourceKeys { @resource_keys } sub Meta_ArrayKeys { @array_keys } foreach my $key ( @boolean_keys ) { *$key = sub { my $self = shift; if ( defined wantarray and not @_ ) { return $self->{values}->{$key}; } $self->{values}->{$key} = ( @_ ? $_[0] : 1 ); return $self; }; } foreach my $key ( @scalar_keys ) { *$key = sub { my $self = shift; return $self->{values}->{$key} if defined wantarray and !@_; $self->{values}->{$key} = shift; return $self; }; } foreach my $key ( @array_keys ) { *$key = sub { my $self = shift; return $self->{values}->{$key} if defined wantarray and !@_; $self->{values}->{$key} ||= []; push @{$self->{values}->{$key}}, @_; return $self; }; } foreach my $key ( @resource_keys ) { *$key = sub { my $self = shift; unless ( @_ ) { return () unless $self->{values}->{resources}; return map { $_->[1] } grep { $_->[0] eq $key } @{ $self->{values}->{resources} }; } return $self->{values}->{resources}->{$key} unless @_; my $uri = shift or die( "Did not provide a value to $key()" ); $self->resources( $key => $uri ); return 1; }; } foreach my $key ( grep { $_ ne "resources" } @tuple_keys) { *$key = sub { my $self = shift; return $self->{values}->{$key} unless @_; my @added; while ( @_ ) { my $module = shift or last; my $version = shift || 0; push @added, [ $module, $version ]; } push @{ $self->{values}->{$key} }, @added; return map {@$_} @added; }; } # Resource handling my %lc_resource = map { $_ => 1 } qw{ homepage license bugtracker repository }; sub resources { my $self = shift; while ( @_ ) { my $name = shift or last; my $value = shift or next; if ( $name eq lc $name and ! $lc_resource{$name} ) { die("Unsupported reserved lowercase resource '$name'"); } $self->{values}->{resources} ||= []; push @{ $self->{values}->{resources} }, [ $name, $value ]; } $self->{values}->{resources}; } # Aliases for build_requires that will have alternative # meanings in some future version of META.yml. sub test_requires { shift->build_requires(@_) } sub install_requires { shift->build_requires(@_) } # Aliases for installdirs options sub install_as_core { $_[0]->installdirs('perl') } sub install_as_cpan { $_[0]->installdirs('site') } sub install_as_site { $_[0]->installdirs('site') } sub install_as_vendor { $_[0]->installdirs('vendor') } sub dynamic_config { my $self = shift; my $value = @_ ? shift : 1; if ( $self->{values}->{dynamic_config} ) { # Once dynamic we never change to static, for safety return 0; } $self->{values}->{dynamic_config} = $value ? 1 : 0; return 1; } # Convenience command sub static_config { shift->dynamic_config(0); } sub perl_version { my $self = shift; return $self->{values}->{perl_version} unless @_; my $version = shift or die( "Did not provide a value to perl_version()" ); # Normalize the version $version = $self->_perl_version($version); # We don't support the really old versions unless ( $version >= 5.005 ) { die "Module::Install only supports 5.005 or newer (use ExtUtils::MakeMaker)\n"; } $self->{values}->{perl_version} = $version; } sub all_from { my ( $self, $file ) = @_; unless ( defined($file) ) { my $name = $self->name or die( "all_from called with no args without setting name() first" ); $file = join('/', 'lib', split(/-/, $name)) . '.pm'; $file =~ s{.*/}{} unless -e $file; unless ( -e $file ) { die("all_from cannot find $file from $name"); } } unless ( -f $file ) { die("The path '$file' does not exist, or is not a file"); } $self->{values}{all_from} = $file; # Some methods pull from POD instead of code. # If there is a matching .pod, use that instead my $pod = $file; $pod =~ s/\.pm$/.pod/i; $pod = $file unless -e $pod; # Pull the different values $self->name_from($file) unless $self->name; $self->version_from($file) unless $self->version; $self->perl_version_from($file) unless $self->perl_version; $self->author_from($pod) unless @{$self->author || []}; $self->license_from($pod) unless $self->license; $self->abstract_from($pod) unless $self->abstract; return 1; } sub provides { my $self = shift; my $provides = ( $self->{values}->{provides} ||= {} ); %$provides = (%$provides, @_) if @_; return $provides; } sub auto_provides { my $self = shift; return $self unless $self->is_admin; unless (-e 'MANIFEST') { warn "Cannot deduce auto_provides without a MANIFEST, skipping\n"; return $self; } # Avoid spurious warnings as we are not checking manifest here. local $SIG{__WARN__} = sub {1}; require ExtUtils::Manifest; local *ExtUtils::Manifest::manicheck = sub { return }; require Module::Build; my $build = Module::Build->new( dist_name => $self->name, dist_version => $self->version, license => $self->license, ); $self->provides( %{ $build->find_dist_packages || {} } ); } sub feature { my $self = shift; my $name = shift; my $features = ( $self->{values}->{features} ||= [] ); my $mods; if ( @_ == 1 and ref( $_[0] ) ) { # The user used ->feature like ->features by passing in the second # argument as a reference. Accomodate for that. $mods = $_[0]; } else { $mods = \@_; } my $count = 0; push @$features, ( $name => [ map { ref($_) ? ( ref($_) eq 'HASH' ) ? %$_ : @$_ : $_ } @$mods ] ); return @$features; } sub features { my $self = shift; while ( my ( $name, $mods ) = splice( @_, 0, 2 ) ) { $self->feature( $name, @$mods ); } return $self->{values}->{features} ? @{ $self->{values}->{features} } : (); } sub no_index { my $self = shift; my $type = shift; push @{ $self->{values}->{no_index}->{$type} }, @_ if $type; return $self->{values}->{no_index}; } sub read { my $self = shift; $self->include_deps( 'YAML::Tiny', 0 ); require YAML::Tiny; my $data = YAML::Tiny::LoadFile('META.yml'); # Call methods explicitly in case user has already set some values. while ( my ( $key, $value ) = each %$data ) { next unless $self->can($key); if ( ref $value eq 'HASH' ) { while ( my ( $module, $version ) = each %$value ) { $self->can($key)->($self, $module => $version ); } } else { $self->can($key)->($self, $value); } } return $self; } sub write { my $self = shift; return $self unless $self->is_admin; $self->admin->write_meta; return $self; } sub version_from { require ExtUtils::MM_Unix; my ( $self, $file ) = @_; $self->version( ExtUtils::MM_Unix->parse_version($file) ); # for version integrity check $self->makemaker_args( VERSION_FROM => $file ); } sub abstract_from { require ExtUtils::MM_Unix; my ( $self, $file ) = @_; $self->abstract( bless( { DISTNAME => $self->name }, 'ExtUtils::MM_Unix' )->parse_abstract($file) ); } # Add both distribution and module name sub name_from { my ($self, $file) = @_; if ( Module::Install::_read($file) =~ m/ ^ \s* package \s* ([\w:]+) [\s|;]* /ixms ) { my ($name, $module_name) = ($1, $1); $name =~ s{::}{-}g; $self->name($name); unless ( $self->module_name ) { $self->module_name($module_name); } } else { die("Cannot determine name from $file\n"); } } sub _extract_perl_version { if ( $_[0] =~ m/ ^\s* (?:use|require) \s* v? ([\d_\.]+) \s* ; /ixms ) { my $perl_version = $1; $perl_version =~ s{_}{}g; return $perl_version; } else { return; } } sub perl_version_from { my $self = shift; my $perl_version=_extract_perl_version(Module::Install::_read($_[0])); if ($perl_version) { $self->perl_version($perl_version); } else { warn "Cannot determine perl version info from $_[0]\n"; return; } } sub author_from { my $self = shift; my $content = Module::Install::_read($_[0]); if ($content =~ m/ =head \d \s+ (?:authors?)\b \s* ([^\n]*) | =head \d \s+ (?:licen[cs]e|licensing|copyright|legal)\b \s* .*? copyright .*? \d\d\d[\d.]+ \s* (?:\bby\b)? \s* ([^\n]*) /ixms) { my $author = $1 || $2; # XXX: ugly but should work anyway... if (eval "require Pod::Escapes; 1") { # Pod::Escapes has a mapping table. # It's in core of perl >= 5.9.3, and should be installed # as one of the Pod::Simple's prereqs, which is a prereq # of Pod::Text 3.x (see also below). $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> } { defined $2 ? chr($2) : defined $Pod::Escapes::Name2character_number{$1} ? chr($Pod::Escapes::Name2character_number{$1}) : do { warn "Unknown escape: E<$1>"; "E<$1>"; }; }gex; } elsif (eval "require Pod::Text; 1" && $Pod::Text::VERSION < 3) { # Pod::Text < 3.0 has yet another mapping table, # though the table name of 2.x and 1.x are different. # (1.x is in core of Perl < 5.6, 2.x is in core of # Perl < 5.9.3) my $mapping = ($Pod::Text::VERSION < 2) ? \%Pod::Text::HTML_Escapes : \%Pod::Text::ESCAPES; $author =~ s{ E<( (\d+) | ([A-Za-z]+) )> } { defined $2 ? chr($2) : defined $mapping->{$1} ? $mapping->{$1} : do { warn "Unknown escape: E<$1>"; "E<$1>"; }; }gex; } else { $author =~ s{E}{<}g; $author =~ s{E}{>}g; } $self->author($author); } else { warn "Cannot determine author info from $_[0]\n"; } } #Stolen from M::B my %license_urls = ( perl => 'http://dev.perl.org/licenses/', apache => 'http://apache.org/licenses/LICENSE-2.0', apache_1_1 => 'http://apache.org/licenses/LICENSE-1.1', artistic => 'http://opensource.org/licenses/artistic-license.php', artistic_2 => 'http://opensource.org/licenses/artistic-license-2.0.php', lgpl => 'http://opensource.org/licenses/lgpl-license.php', lgpl2 => 'http://opensource.org/licenses/lgpl-2.1.php', lgpl3 => 'http://opensource.org/licenses/lgpl-3.0.html', bsd => 'http://opensource.org/licenses/bsd-license.php', gpl => 'http://opensource.org/licenses/gpl-license.php', gpl2 => 'http://opensource.org/licenses/gpl-2.0.php', gpl3 => 'http://opensource.org/licenses/gpl-3.0.html', mit => 'http://opensource.org/licenses/mit-license.php', mozilla => 'http://opensource.org/licenses/mozilla1.1.php', open_source => undef, unrestricted => undef, restrictive => undef, unknown => undef, ); sub license { my $self = shift; return $self->{values}->{license} unless @_; my $license = shift or die( 'Did not provide a value to license()' ); $license = __extract_license($license) || lc $license; $self->{values}->{license} = $license; # Automatically fill in license URLs if ( $license_urls{$license} ) { $self->resources( license => $license_urls{$license} ); } return 1; } sub _extract_license { my $pod = shift; my $matched; return __extract_license( ($matched) = $pod =~ m/ (=head \d \s+ L(?i:ICEN[CS]E|ICENSING)\b.*?) (=head \d.*|=cut.*|)\z /xms ) || __extract_license( ($matched) = $pod =~ m/ (=head \d \s+ (?:C(?i:OPYRIGHTS?)|L(?i:EGAL))\b.*?) (=head \d.*|=cut.*|)\z /xms ); } sub __extract_license { my $license_text = shift or return; my @phrases = ( '(?:under )?the same (?:terms|license) as (?:perl|the perl (?:\d )?programming language)' => 'perl', 1, '(?:under )?the terms of (?:perl|the perl programming language) itself' => 'perl', 1, 'Artistic and GPL' => 'perl', 1, 'GNU general public license' => 'gpl', 1, 'GNU public license' => 'gpl', 1, 'GNU lesser general public license' => 'lgpl', 1, 'GNU lesser public license' => 'lgpl', 1, 'GNU library general public license' => 'lgpl', 1, 'GNU library public license' => 'lgpl', 1, 'GNU Free Documentation license' => 'unrestricted', 1, 'GNU Affero General Public License' => 'open_source', 1, '(?:Free)?BSD license' => 'bsd', 1, 'Artistic license 2\.0' => 'artistic_2', 1, 'Artistic license' => 'artistic', 1, 'Apache (?:Software )?license' => 'apache', 1, 'GPL' => 'gpl', 1, 'LGPL' => 'lgpl', 1, 'BSD' => 'bsd', 1, 'Artistic' => 'artistic', 1, 'MIT' => 'mit', 1, 'Mozilla Public License' => 'mozilla', 1, 'Q Public License' => 'open_source', 1, 'OpenSSL License' => 'unrestricted', 1, 'SSLeay License' => 'unrestricted', 1, 'zlib License' => 'open_source', 1, 'proprietary' => 'proprietary', 0, ); while ( my ($pattern, $license, $osi) = splice(@phrases, 0, 3) ) { $pattern =~ s#\s+#\\s+#gs; if ( $license_text =~ /\b$pattern\b/i ) { return $license; } } return ''; } sub license_from { my $self = shift; if (my $license=_extract_license(Module::Install::_read($_[0]))) { $self->license($license); } else { warn "Cannot determine license info from $_[0]\n"; return 'unknown'; } } sub _extract_bugtracker { my @links = $_[0] =~ m#L<( https?\Q://rt.cpan.org/\E[^>]+| https?\Q://github.com/\E[\w_]+/[\w_]+/issues| https?\Q://code.google.com/p/\E[\w_\-]+/issues/list )>#gx; my %links; @links{@links}=(); @links=keys %links; return @links; } sub bugtracker_from { my $self = shift; my $content = Module::Install::_read($_[0]); my @links = _extract_bugtracker($content); unless ( @links ) { warn "Cannot determine bugtracker info from $_[0]\n"; return 0; } if ( @links > 1 ) { warn "Found more than one bugtracker link in $_[0]\n"; return 0; } # Set the bugtracker bugtracker( $links[0] ); return 1; } sub requires_from { my $self = shift; my $content = Module::Install::_readperl($_[0]); my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg; while ( @requires ) { my $module = shift @requires; my $version = shift @requires; $self->requires( $module => $version ); } } sub test_requires_from { my $self = shift; my $content = Module::Install::_readperl($_[0]); my @requires = $content =~ m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg; while ( @requires ) { my $module = shift @requires; my $version = shift @requires; $self->test_requires( $module => $version ); } } # Convert triple-part versions (eg, 5.6.1 or 5.8.9) to # numbers (eg, 5.006001 or 5.008009). # Also, convert double-part versions (eg, 5.8) sub _perl_version { my $v = $_[-1]; $v =~ s/^([1-9])\.([1-9]\d?\d?)$/sprintf("%d.%03d",$1,$2)/e; $v =~ s/^([1-9])\.([1-9]\d?\d?)\.(0|[1-9]\d?\d?)$/sprintf("%d.%03d%03d",$1,$2,$3 || 0)/e; $v =~ s/(\.\d\d\d)000$/$1/; $v =~ s/_.+$//; if ( ref($v) ) { # Numify $v = $v + 0; } return $v; } sub add_metadata { my $self = shift; my %hash = @_; for my $key (keys %hash) { warn "add_metadata: $key is not prefixed with 'x_'.\n" . "Use appopriate function to add non-private metadata.\n" unless $key =~ /^x_/; $self->{values}->{$key} = $hash{$key}; } } ###################################################################### # MYMETA Support sub WriteMyMeta { die "WriteMyMeta has been deprecated"; } sub write_mymeta_yaml { my $self = shift; # We need YAML::Tiny to write the MYMETA.yml file unless ( eval { require YAML::Tiny; 1; } ) { return 1; } # Generate the data my $meta = $self->_write_mymeta_data or return 1; # Save as the MYMETA.yml file print "Writing MYMETA.yml\n"; YAML::Tiny::DumpFile('MYMETA.yml', $meta); } sub write_mymeta_json { my $self = shift; # We need JSON to write the MYMETA.json file unless ( eval { require JSON; 1; } ) { return 1; } # Generate the data my $meta = $self->_write_mymeta_data or return 1; # Save as the MYMETA.yml file print "Writing MYMETA.json\n"; Module::Install::_write( 'MYMETA.json', JSON->new->pretty(1)->canonical->encode($meta), ); } sub _write_mymeta_data { my $self = shift; # If there's no existing META.yml there is nothing we can do return undef unless -f 'META.yml'; # We need Parse::CPAN::Meta to load the file unless ( eval { require Parse::CPAN::Meta; 1; } ) { return undef; } # Merge the perl version into the dependencies my $val = $self->Meta->{values}; my $perl = delete $val->{perl_version}; if ( $perl ) { $val->{requires} ||= []; my $requires = $val->{requires}; # Canonize to three-dot version after Perl 5.6 if ( $perl >= 5.006 ) { $perl =~ s{^(\d+)\.(\d\d\d)(\d*)}{join('.', $1, int($2||0), int($3||0))}e } unshift @$requires, [ perl => $perl ]; } # Load the advisory META.yml file my @yaml = Parse::CPAN::Meta::LoadFile('META.yml'); my $meta = $yaml[0]; # Overwrite the non-configure dependency hashes delete $meta->{requires}; delete $meta->{build_requires}; delete $meta->{recommends}; if ( exists $val->{requires} ) { $meta->{requires} = { map { @$_ } @{ $val->{requires} } }; } if ( exists $val->{build_requires} ) { $meta->{build_requires} = { map { @$_ } @{ $val->{build_requires} } }; } return $meta; } 1; FusionInventory-Agent-2.6/inc/Module/Install/Win32.pm0000644000175000017500000000340313757703012022615 0ustar gbougardgbougard#line 1 package Module::Install::Win32; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } # determine if the user needs nmake, and download it if needed sub check_nmake { my $self = shift; $self->load('can_run'); $self->load('get_file'); require Config; return unless ( $^O eq 'MSWin32' and $Config::Config{make} and $Config::Config{make} =~ /^nmake\b/i and ! $self->can_run('nmake') ); print "The required 'nmake' executable not found, fetching it...\n"; require File::Basename; my $rv = $self->get_file( url => 'http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe', ftp_url => 'ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe', local_dir => File::Basename::dirname($^X), size => 51928, run => 'Nmake15.exe /o > nul', check_for => 'Nmake.exe', remove => 1, ); die <<'END_MESSAGE' unless $rv; ------------------------------------------------------------------------------- Since you are using Microsoft Windows, you will need the 'nmake' utility before installation. It's available at: http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe or ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe Please download the file manually, save it to a directory in %PATH% (e.g. C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to that directory, and run "Nmake15.exe" from there; that will create the 'nmake.exe' file needed by this module. You may then resume the installation process described in README. ------------------------------------------------------------------------------- END_MESSAGE } 1; FusionInventory-Agent-2.6/inc/Module/Install/Scripts.pm0000644000175000017500000000101113757703012023333 0ustar gbougardgbougard#line 1 package Module::Install::Scripts; use strict 'vars'; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } sub install_script { my $self = shift; my $args = $self->makemaker_args; my $exe = $args->{EXE_FILES} ||= []; foreach ( @_ ) { if ( -f $_ ) { push @$exe, $_; } elsif ( -d 'script' and -f "script/$_" ) { push @$exe, "script/$_"; } else { die("Cannot find script '$_'"); } } } 1; FusionInventory-Agent-2.6/inc/Module/Install/Fetch.pm0000644000175000017500000000462713757703012022755 0ustar gbougardgbougard#line 1 package Module::Install::Fetch; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } sub get_file { my ($self, %args) = @_; my ($scheme, $host, $path, $file) = $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return; if ( $scheme eq 'http' and ! eval { require LWP::Simple; 1 } ) { $args{url} = $args{ftp_url} or (warn("LWP support unavailable!\n"), return); ($scheme, $host, $path, $file) = $args{url} =~ m|^(\w+)://([^/]+)(.+)/(.+)| or return; } $|++; print "Fetching '$file' from $host... "; unless (eval { require Socket; Socket::inet_aton($host) }) { warn "'$host' resolve failed!\n"; return; } return unless $scheme eq 'ftp' or $scheme eq 'http'; require Cwd; my $dir = Cwd::getcwd(); chdir $args{local_dir} or return if exists $args{local_dir}; if (eval { require LWP::Simple; 1 }) { LWP::Simple::mirror($args{url}, $file); } elsif (eval { require Net::FTP; 1 }) { eval { # use Net::FTP to get past firewall my $ftp = Net::FTP->new($host, Passive => 1, Timeout => 600); $ftp->login("anonymous", 'anonymous@example.com'); $ftp->cwd($path); $ftp->binary; $ftp->get($file) or (warn("$!\n"), return); $ftp->quit; } } elsif (my $ftp = $self->can_run('ftp')) { eval { # no Net::FTP, fallback to ftp.exe require FileHandle; my $fh = FileHandle->new; local $SIG{CHLD} = 'IGNORE'; unless ($fh->open("|$ftp -n")) { warn "Couldn't open ftp: $!\n"; chdir $dir; return; } my @dialog = split(/\n/, <<"END_FTP"); open $host user anonymous anonymous\@example.com cd $path binary get $file $file quit END_FTP foreach (@dialog) { $fh->print("$_\n") } $fh->close; } } else { warn "No working 'ftp' program available!\n"; chdir $dir; return; } unless (-f $file) { warn "Fetching failed: $@\n"; chdir $dir; return; } return if exists $args{size} and -s $file != $args{size}; system($args{run}) if exists $args{run}; unlink($file) if $args{remove}; print(((!exists $args{check_for} or -e $args{check_for}) ? "done!" : "failed! ($!)"), "\n"); chdir $dir; return !$?; } 1; FusionInventory-Agent-2.6/inc/Module/Install/WriteAll.pm0000644000175000017500000000237613757703012023446 0ustar gbougardgbougard#line 1 package Module::Install::WriteAll; use strict; use Module::Install::Base (); use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.19'; @ISA = qw{Module::Install::Base}; $ISCORE = 1; } sub WriteAll { my $self = shift; my %args = ( meta => 1, sign => 0, inline => 0, check_nmake => 1, @_, ); $self->sign(1) if $args{sign}; $self->admin->WriteAll(%args) if $self->is_admin; $self->check_nmake if $args{check_nmake}; unless ( $self->makemaker_args->{PL_FILES} ) { # XXX: This still may be a bit over-defensive... unless ($self->makemaker(6.25)) { $self->makemaker_args( PL_FILES => {} ) if -f 'Build.PL'; } } # Until ExtUtils::MakeMaker support MYMETA.yml, make sure # we clean it up properly ourself. $self->realclean_files('MYMETA.yml'); if ( $args{inline} ) { $self->Inline->write; } else { $self->Makefile->write; } # The Makefile write process adds a couple of dependencies, # so write the META.yml files after the Makefile. if ( $args{meta} ) { $self->Meta->write; } # Experimental support for MYMETA if ( $ENV{X_MYMETA} ) { if ( $ENV{X_MYMETA} eq 'JSON' ) { $self->Meta->write_mymeta_json; } else { $self->Meta->write_mymeta_yaml; } } return 1; } 1; FusionInventory-Agent-2.6/inc/Module/Install/Makefile.pm0000644000175000017500000002743713757703012023445 0ustar gbougardgbougard#line 1 package Module::Install::Makefile; use strict 'vars'; use ExtUtils::MakeMaker (); use Module::Install::Base (); use Fcntl qw/:flock :seek/; use vars qw{$VERSION @ISA $ISCORE}; BEGIN { $VERSION = '1.19'; @ISA = 'Module::Install::Base'; $ISCORE = 1; } sub Makefile { $_[0] } my %seen = (); sub prompt { shift; # Infinite loop protection my @c = caller(); if ( ++$seen{"$c[1]|$c[2]|$_[0]"} > 3 ) { die "Caught an potential prompt infinite loop ($c[1]|$c[2]|$_[0])"; } # In automated testing or non-interactive session, always use defaults if ( ($ENV{AUTOMATED_TESTING} or -! -t STDIN) and ! $ENV{PERL_MM_USE_DEFAULT} ) { local $ENV{PERL_MM_USE_DEFAULT} = 1; goto &ExtUtils::MakeMaker::prompt; } else { goto &ExtUtils::MakeMaker::prompt; } } # Store a cleaned up version of the MakeMaker version, # since we need to behave differently in a variety of # ways based on the MM version. my $makemaker = eval $ExtUtils::MakeMaker::VERSION; # If we are passed a param, do a "newer than" comparison. # Otherwise, just return the MakeMaker version. sub makemaker { ( @_ < 2 or $makemaker >= eval($_[1]) ) ? $makemaker : 0 } # Ripped from ExtUtils::MakeMaker 6.56, and slightly modified # as we only need to know here whether the attribute is an array # or a hash or something else (which may or may not be appendable). my %makemaker_argtype = ( C => 'ARRAY', CONFIG => 'ARRAY', # CONFIGURE => 'CODE', # ignore DIR => 'ARRAY', DL_FUNCS => 'HASH', DL_VARS => 'ARRAY', EXCLUDE_EXT => 'ARRAY', EXE_FILES => 'ARRAY', FUNCLIST => 'ARRAY', H => 'ARRAY', IMPORTS => 'HASH', INCLUDE_EXT => 'ARRAY', LIBS => 'ARRAY', # ignore '' MAN1PODS => 'HASH', MAN3PODS => 'HASH', META_ADD => 'HASH', META_MERGE => 'HASH', PL_FILES => 'HASH', PM => 'HASH', PMLIBDIRS => 'ARRAY', PMLIBPARENTDIRS => 'ARRAY', PREREQ_PM => 'HASH', CONFIGURE_REQUIRES => 'HASH', SKIP => 'ARRAY', TYPEMAPS => 'ARRAY', XS => 'HASH', # VERSION => ['version',''], # ignore # _KEEP_AFTER_FLUSH => '', clean => 'HASH', depend => 'HASH', dist => 'HASH', dynamic_lib=> 'HASH', linkext => 'HASH', macro => 'HASH', postamble => 'HASH', realclean => 'HASH', test => 'HASH', tool_autosplit => 'HASH', # special cases where you can use makemaker_append CCFLAGS => 'APPENDABLE', DEFINE => 'APPENDABLE', INC => 'APPENDABLE', LDDLFLAGS => 'APPENDABLE', LDFROM => 'APPENDABLE', ); sub makemaker_args { my ($self, %new_args) = @_; my $args = ( $self->{makemaker_args} ||= {} ); foreach my $key (keys %new_args) { if ($makemaker_argtype{$key}) { if ($makemaker_argtype{$key} eq 'ARRAY') { $args->{$key} = [] unless defined $args->{$key}; unless (ref $args->{$key} eq 'ARRAY') { $args->{$key} = [$args->{$key}] } push @{$args->{$key}}, ref $new_args{$key} eq 'ARRAY' ? @{$new_args{$key}} : $new_args{$key}; } elsif ($makemaker_argtype{$key} eq 'HASH') { $args->{$key} = {} unless defined $args->{$key}; foreach my $skey (keys %{ $new_args{$key} }) { $args->{$key}{$skey} = $new_args{$key}{$skey}; } } elsif ($makemaker_argtype{$key} eq 'APPENDABLE') { $self->makemaker_append($key => $new_args{$key}); } } else { if (defined $args->{$key}) { warn qq{MakeMaker attribute "$key" is overriden; use "makemaker_append" to append values\n}; } $args->{$key} = $new_args{$key}; } } return $args; } # For mm args that take multiple space-separated args, # append an argument to the current list. sub makemaker_append { my $self = shift; my $name = shift; my $args = $self->makemaker_args; $args->{$name} = defined $args->{$name} ? join( ' ', $args->{$name}, @_ ) : join( ' ', @_ ); } sub build_subdirs { my $self = shift; my $subdirs = $self->makemaker_args->{DIR} ||= []; for my $subdir (@_) { push @$subdirs, $subdir; } } sub clean_files { my $self = shift; my $clean = $self->makemaker_args->{clean} ||= {}; %$clean = ( %$clean, FILES => join ' ', grep { length $_ } ($clean->{FILES} || (), @_), ); } sub realclean_files { my $self = shift; my $realclean = $self->makemaker_args->{realclean} ||= {}; %$realclean = ( %$realclean, FILES => join ' ', grep { length $_ } ($realclean->{FILES} || (), @_), ); } sub libs { my $self = shift; my $libs = ref $_[0] ? shift : [ shift ]; $self->makemaker_args( LIBS => $libs ); } sub inc { my $self = shift; $self->makemaker_args( INC => shift ); } sub _wanted_t { } sub tests_recursive { my $self = shift; my $dir = shift || 't'; unless ( -d $dir ) { die "tests_recursive dir '$dir' does not exist"; } my %tests = map { $_ => 1 } split / /, ($self->tests || ''); require File::Find; File::Find::find( sub { /\.t$/ and -f $_ and $tests{"$File::Find::dir/*.t"} = 1 }, $dir ); $self->tests( join ' ', sort keys %tests ); } sub write { my $self = shift; die "&Makefile->write() takes no arguments\n" if @_; # Check the current Perl version my $perl_version = $self->perl_version; if ( $perl_version ) { eval "use $perl_version; 1" or die "ERROR: perl: Version $] is installed, " . "but we need version >= $perl_version"; } # Make sure we have a new enough MakeMaker require ExtUtils::MakeMaker; if ( $perl_version and $self->_cmp($perl_version, '5.006') >= 0 ) { # This previous attempted to inherit the version of # ExtUtils::MakeMaker in use by the module author, but this # was found to be untenable as some authors build releases # using future dev versions of EU:MM that nobody else has. # Instead, #toolchain suggests we use 6.59 which is the most # stable version on CPAN at time of writing and is, to quote # ribasushi, "not terminally fucked, > and tested enough". # TODO: We will now need to maintain this over time to push # the version up as new versions are released. $self->build_requires( 'ExtUtils::MakeMaker' => 6.59 ); $self->configure_requires( 'ExtUtils::MakeMaker' => 6.59 ); } else { # Allow legacy-compatibility with 5.005 by depending on the # most recent EU:MM that supported 5.005. $self->build_requires( 'ExtUtils::MakeMaker' => 6.36 ); $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 ); } # Generate the MakeMaker params my $args = $self->makemaker_args; $args->{DISTNAME} = $self->name; $args->{NAME} = $self->module_name || $self->name; $args->{NAME} =~ s/-/::/g; $args->{VERSION} = $self->version or die <<'EOT'; ERROR: Can't determine distribution version. Please specify it explicitly via 'version' in Makefile.PL, or set a valid $VERSION in a module, and provide its file path via 'version_from' (or 'all_from' if you prefer) in Makefile.PL. EOT if ( $self->tests ) { my @tests = split ' ', $self->tests; my %seen; $args->{test} = { TESTS => (join ' ', grep {!$seen{$_}++} @tests), }; } elsif ( $Module::Install::ExtraTests::use_extratests ) { # Module::Install::ExtraTests doesn't set $self->tests and does its own tests via harness. # So, just ignore our xt tests here. } elsif ( -d 'xt' and ($Module::Install::AUTHOR or $ENV{RELEASE_TESTING}) ) { $args->{test} = { TESTS => join( ' ', map { "$_/*.t" } grep { -d $_ } qw{ t xt } ), }; } if ( $] >= 5.005 ) { $args->{ABSTRACT} = $self->abstract; $args->{AUTHOR} = join ', ', @{$self->author || []}; } if ( $self->makemaker(6.10) ) { $args->{NO_META} = 1; #$args->{NO_MYMETA} = 1; } if ( $self->makemaker(6.17) and $self->sign ) { $args->{SIGN} = 1; } unless ( $self->is_admin ) { delete $args->{SIGN}; } if ( $self->makemaker(6.31) and $self->license ) { $args->{LICENSE} = $self->license; } my $prereq = ($args->{PREREQ_PM} ||= {}); %$prereq = ( %$prereq, map { @$_ } # flatten [module => version] map { @$_ } grep $_, ($self->requires) ); # Remove any reference to perl, PREREQ_PM doesn't support it delete $args->{PREREQ_PM}->{perl}; # Merge both kinds of requires into BUILD_REQUIRES my $build_prereq = ($args->{BUILD_REQUIRES} ||= {}); %$build_prereq = ( %$build_prereq, map { @$_ } # flatten [module => version] map { @$_ } grep $_, ($self->configure_requires, $self->build_requires) ); # Remove any reference to perl, BUILD_REQUIRES doesn't support it delete $args->{BUILD_REQUIRES}->{perl}; # Delete bundled dists from prereq_pm, add it to Makefile DIR my $subdirs = ($args->{DIR} || []); if ($self->bundles) { my %processed; foreach my $bundle (@{ $self->bundles }) { my ($mod_name, $dist_dir) = @$bundle; delete $prereq->{$mod_name}; $dist_dir = File::Basename::basename($dist_dir); # dir for building this module if (not exists $processed{$dist_dir}) { if (-d $dist_dir) { # List as sub-directory to be processed by make push @$subdirs, $dist_dir; } # Else do nothing: the module is already present on the system $processed{$dist_dir} = undef; } } } unless ( $self->makemaker('6.55_03') ) { %$prereq = (%$prereq,%$build_prereq); delete $args->{BUILD_REQUIRES}; } if ( my $perl_version = $self->perl_version ) { eval "use $perl_version; 1" or die "ERROR: perl: Version $] is installed, " . "but we need version >= $perl_version"; if ( $self->makemaker(6.48) ) { $args->{MIN_PERL_VERSION} = $perl_version; } } if ($self->installdirs) { warn qq{old INSTALLDIRS (probably set by makemaker_args) is overriden by installdirs\n} if $args->{INSTALLDIRS}; $args->{INSTALLDIRS} = $self->installdirs; } my %args = map { ( $_ => $args->{$_} ) } grep {defined($args->{$_} ) } keys %$args; my $user_preop = delete $args{dist}->{PREOP}; if ( my $preop = $self->admin->preop($user_preop) ) { foreach my $key ( keys %$preop ) { $args{dist}->{$key} = $preop->{$key}; } } my $mm = ExtUtils::MakeMaker::WriteMakefile(%args); $self->fix_up_makefile($mm->{FIRST_MAKEFILE} || 'Makefile'); } sub fix_up_makefile { my $self = shift; my $makefile_name = shift; my $top_class = ref($self->_top) || ''; my $top_version = $self->_top->VERSION || ''; my $preamble = $self->preamble ? "# Preamble by $top_class $top_version\n" . $self->preamble : ''; my $postamble = "# Postamble by $top_class $top_version\n" . ($self->postamble || ''); local *MAKEFILE; open MAKEFILE, "+< $makefile_name" or die "fix_up_makefile: Couldn't open $makefile_name: $!"; eval { flock MAKEFILE, LOCK_EX }; my $makefile = do { local $/; }; $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /; $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g; $makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g; $makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m; $makefile =~ s/^(PERL = .*)/$1 "-Iinc"/m; # Module::Install will never be used to build the Core Perl # Sometimes PERL_LIB and PERL_ARCHLIB get written anyway, which breaks # PREFIX/PERL5LIB, and thus, install_share. Blank them if they exist $makefile =~ s/^PERL_LIB = .+/PERL_LIB =/m; #$makefile =~ s/^PERL_ARCHLIB = .+/PERL_ARCHLIB =/m; # Perl 5.005 mentions PERL_LIB explicitly, so we have to remove that as well. $makefile =~ s/(\"?)-I\$\(PERL_LIB\)\1//g; # XXX - This is currently unused; not sure if it breaks other MM-users # $makefile =~ s/^pm_to_blib\s+:\s+/pm_to_blib :: /mg; seek MAKEFILE, 0, SEEK_SET; truncate MAKEFILE, 0; print MAKEFILE "$preamble$makefile$postamble" or die $!; close MAKEFILE or die $!; 1; } sub preamble { my ($self, $text) = @_; $self->{preamble} = $text . $self->{preamble} if defined $text; $self->{preamble}; } sub postamble { my ($self, $text) = @_; $self->{postamble} ||= $self->admin->postamble; $self->{postamble} .= $text if defined $text; $self->{postamble} } 1; __END__ #line 544 FusionInventory-Agent-2.6/LICENSE0000644000175000017500000004310313360140457016755 0ustar gbougardgbougard GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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; either version 2 of the License, or (at your option) any later version. This program 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 General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. FusionInventory-Agent-2.6/Changes0000644000175000017500000040751413757702355017270 0ustar gbougardgbougardRevision history for FusionInventory agent 2.6 Thu, 26 Nov 2020 core: * as explain in Version.pm comments, actual versioning is problematic for CPAN versions, so any future version will probably be defined as only major.minor but evantually as major.minor_rev if a package revision is necessary. This policy could be revised after any major upgrade. * Fix configuration reloading to keep set script options * Avoid a not critical perl error while reloading HTTP server * Fix #820: Fix config reading to permit completly empty settings inventory: * Bump Inventory task version to 1.10 * Fix #771: added Acer monitor serial support for models (G227HQL, G236HL, R221Q, S273HL) * Fix #787: fix debian package reporting when size is not defined * Battery capacity support provides now canonical values * Battery capacity support permits to compute battery capacity usage, thanks to Thierry Bugier * Fix #819: Surface Go 2 was recongized has Hyper-V * Fix #825: Enhanced disk encryption detection under linux * Fix #829: added other Acer monitor serial support (H226HQL, K222HQL, SA220Q) * Enhanced Qemu KVM virtualization detection, thanks to Rico29 * Dmidecode output parsing cleanup * Fix #804: Filter out virtual overlay FS while using docker * Fix #540: Added powersupplies support on MacOS * Fix #797: Fix ASM storage inventory * Better canonical manufacturer reporting * Fix Snap software inventory support with long summary on a package * Added PartNumber API to enhanced inventory memory and controllers support: * Elpida, Hynix, Micron & Samsung memory partnumbers * Dell controller partnumbers * thanks to Vadim Pisarev: * Storages can now use smartctl command * Enhanced HP Storage inventory with smartctl * Memory inventory includes partnumber as MODEL * Controller inventory includes SERIAL and MODEL * Enhanced memory and controllers inventory via IPMI * Better storage support * Micron memories PartNumber support * Updated pci.ids to 2020.11.14 version * Updated usb.ids to 2020.08.26 version netdiscovery/netinventory: * Bump NetDiscovery task version to 4.2 * Bump NetInventory task version to 4.2 * Updated Ricoh printers support with better hostname detection * Updated Zebra printers support with better hostname detection * Introduced Siemens industrial modules support * Introduced Multitech industrial modules support * Fix #823, #856: Add Ubiquiti UniFi AP linux appliance support * Fix #772: Enhanced some HP switchs support * Introduced Hwg support, thanks to Bertrand Keller * Fix #830: Retrieve rigth model for Oki printers * Updated sysobject.ids (tagged fia-2.6 tag on github repository) ESX: * Bump ESX task version to 2.6 * verify a user and password are provided before attemting to connect to ESX server injector: * Fix an issue with --xml-ua option triggering a perl fatal error on empty or wrong XML files * Fix typo in man page 2.5.2 Mon, 16 Dec 2019 core: * fix HTTP server IPv6 support as HTTP::Daemon module now supports IPv6 natively * Always compile IPv4 address as IPv6 too for trusted ips. This is needed when system default is to listen other IPv6 or you set httpd-ip to IPv6 address like '::' or '::1'. * win32: always detach agent thread after 10 seconds when stopping the agent service when it is blocking on anything to guaranty the service stops in 10s max * check agent persistent datas for a "forcerun" set flag. This is firstly intended to be used by win32 installer to handle the "start inventory after installation" option directly from the service. This can also be used to change or reset the agent deviceid. * Add --set-forcerun option support to fusioninventory-agent script * Add J-C-P contribution to simplify agent installation under linux debian/ubuntu * fix: don't reschedule too early on a forced run at start * fix: Don't use delaytime on config reload * fix: use target counters reset to better support config reload * feature: limit next run delay reduction Limit next run random delay reduction to max 1/6 of the delay if less than 6 hours, limit to max an hour for delay from 6 hours to 24 hours, and limit to max 1/24 of the delay for delay greater than a day. This would keep enough delay randomization to avoid mass agent server connection and keep next seen run more coherent with the requested delay. * fix service shutdown when HTTP client close the connection before the agent * fix HTTP server keep-alive support with a 8 requests by connection maximum limit * service update to support a safe forking system to firstly support handling parallel http request for the Proxy HTTP server plugin. * Proxy HTTP server plugin now support max_proxy_threads configuration which is set to 10 maximum concurrent requests by default. inventory: * Bump Inventory task version to 1.9 * unix: fix last log user after a reboot * added Samsung monitor serial support for models: B1940MR, B1940W, S22A450BW, S22B420, S22E450, S22F350FHU, S27D390H, S27D850T, S27H850QFU, S19A450, SM943BM, S22C450, S27H650FDU * macosx: - fix monitors inventory using ioreg as it provides EDID block from monitors - fix few perl error messages on exotic cases * win32: fix hyperv host wasn't filtered from installed virtual machines * win32: fix Adobe key detection, thanks to PR-gh * Megacli storage support update, thanks to po1vo * linux: Added macvlan/docker network interfaces support, thanks to po1vo * win32: fix firewall inventory cases, thanks to PR-gh * win32: fix Office license inventory, thanks to PR-gh * win32: enhanced network card inventory, thanks to PR-gh * linux: provides debian installed software filesize in bytes * linux: Added support for installed softwares by Snap * linux: double-check a network interface is not virtual * fix #723: check debian linux version in /etc/debian_version * fix #726: Added support for latest SPARC cpus on Solaris * hdparm support fixes by, thanks to po1vo * win32: fix software inventory failing due to unsupported UTF-16 Appx manifest XML * improved HP storage support, thanks to po1vo * fix minor edid parsing issue * linux: fix downed network interface speed, thanks to po1vo * linux: enhanced generic SCSI storage support, thanks to po1vo * linux: added process to enhance storage support testing * fix #769: fix Virtuozzo virtualization inventory * fix #752: normalize video cards memory on macosx * fix #452, #642: better macosx network cards support * fix #359: try to obtain remote management litemanager ID under win32 * Updated pci.ids to 2019.12.11 version * Updated usb.ids to 2019.11.05 version netdiscovery/netinventory: * Bump NetDiscovery task version to 4.1 * Bump NetInventory task version to 4.1 * linux: avoid to share HTTP client with threads to fix RHEL/CentOS 7 crash * Add Tagged VLAN, work at least with HPE Switch, thanks to PR-gh * Enhanced Qlogic support to report device serial number, thanks to po1vo * Added StormShield support via FreeBSD MIBSupport, thanks to PR-gh * Fix memory and storage size normalization in some cases, thanks to PR-gh * fix #738: fix time expiration when netinventory is chained with netdiscovery while using fusioninventory-netdiscovery script --inventory option * fix #741: device with empty description was no more inventoried * fix #717: use cdpCacheSysName when available to enhance connection detection Try also to extract remote mac address from deviceId when possible (fix Meraki connection detection, even support Yealink SIP phones) * fix #684: Added IAP Aruba serial number support * moved APC pdu support to mibsupport, thanks to po1vo * fix #751: Added Seagate storage support * enhanced VLAN support * fix #734: Fix issue with Ricoh printers * fix #722: Enhance LinuxAppliance support with Sophos UTG support * improved Ricoh printer support * Updated sysobject.ids (tagged fia-2.5.2 tag on github repository) 2.5.1 Tue, 02 Jul 2019 core: * build: fix fusioninventory-remoteinventory was not installed * fix HTTP server plugins base configuration folder * fix HTTP server plugins installation from Makefile * fix HTTP server SSL plugin so SSL sessions are not closed after one second * fix #679: Win32 service HTTP server wasn't answering during an inventory * feature: Added Proxy and SecondaryProxy HTTP server plugins inventory: * Bump Inventory task version to 1.8 * fix error message while starting fusioninventory-inventory script * fix #667: LG tv monitor inventory failure * win32: VirtualBox or VPN network adapters are now set as virtual * added Samsung S24E450 monitor serial support * linux: fix megacli storage analysis * linux: check package status before telling it is installed on debian/ubuntu * fix #688: inventory on "windows x64 1903" takes too much time. That was only happen when an antivirus other than Windows Defender was enabled and it blocks WMI call toward MSFT_MpComputerStatus class. * win32: Add Symantec/Norton antivirus support * fix #399: Deduplicate logged users without being case sensitive on win32 * Updated pci.ids to 2019.06.30 version * Updated usb.ids to 2019.05.08 version netdiscovery/netinventory: * Bump NetDiscovery task version to 4.0 * Bump NetInventory task version to 4.0 * add Hygon Dhyana Support * refactor: the multi-threading scheme has been re-worked so it is now working for netinventory task and more efficient for netdiscovery while scanning many range by job * refactor: Collected datas are also sent to server from threads * Added 2 options to fusioninventory-netdiscovery to save XMLs as file and automatically start netinventory when convenient: * add --inventory option to netdiscovery to automatically start netinventory * add --save option to define a folder where to save related XML * Updated sysobject.ids (tagged fia-2.5.1 tag on github repository) esx: * Bump ESX task version to 2.5 * Support EnclosureSerialNumberTag and SerialNumberTag values as availables since VMware ESXi 6.5, Patch Release ESXi650-201811002 (build-10884925) and in latest VMware ESXi 6.7. * add esx script new options: Add --dump and --dumpfile option to help ESX support debugging 2.5 Fri, 12 Apr 2019 core: * linux: reload logger during daemonize to avoid issues like not listening http daemon if logger has still not been used before starting the listener * Fix #646: HTTP daemon not starting on CentOS 7 * revert dfcb64573e as now more generic fix has been implemented in a538abaed7 (tested on CentOS 6) * win32: don't show service memory usage on OS not supporting GetProcessMemoryInfo * Fix #601: Log URL for server target and log path for local target * win32: add early stderr logging support for service Just rename "fusioninventory-win32-service.rc.sample" removing ".sample" part to enable this feature. This can be handy to investigate start service failures. * Added support for HTTPD plugins * Added Inventory HTTPD plugins to permit remote inventory request (disabled by default) * Added Listener target to permit agent to only answer http requests * Updated configuration to support HTTPD plugins dedicated configuration file * Added fusioninventory-remoteinventory script to request agent with Inventory HTTPD plugin enabled * Fix HTTPD local address reuse * Added SSL HTTPD plugins to support SSL in any server plugins * Limit the reload target check to 30 seconds * win32: report memory usage as Working Set Size (WSS) and Page File Usage (PFU) * win32: revert handling service with callbacks. Even if Win32::Daemon proposes the callbacks usage obsoletes the typical skeleton code, the callbacks usage is known to leak memory and tests with latest Win32::Daemon shows that's true. * win32: handle task run in a managed thread as this is more efficient than using perl fork with thread emulation under win32 and preserve a little memory usage. * win32: wait service control manager is ready before really starting the service * logger: don't use File::stat module to just get logfile file size, better use -s as File::stat module seems to fail in rare case. inventory: * Bump Inventory task version to 1.7 * Fix lspci command subsystem parsing * Fix hponcfg.exe can output on stderr on win32 when not really usable * Skip not working under win32 Generic::Users inventory Also avoid error in log on /etc/passwd and /etc/group not found files * Fix #601: Log deviceid as agentid and related target when running an inventory * Fix #644: Make WORKGROUP inventory consistent * Fix #541: Don't try to scan virtualbox VM in win32 users directories * Updated pci.ids to 2019.04.12 version * Updated usb.ids to 2019.03.20 version netdiscovery/netinventory: * Bump NetDiscovery task version to 2.9 * Bump NetInventory task version to 3.3 * Add Lancom in networking devices recognized by description parsing * Fix #650: discard empty consumable level elements * Fix #651: discard empty type element * Add Netdisco export contrib script from Stoatwblr, see contrib/netdisco * Fix #638: Fix Kyocera counters handling thanks to Stoatwblr * Printers: assume -2 counter value means a WARNING level and report it Thanks Stoatwblr for the deep investigation * Add Oki printer support * Add APC serialnumber support * Fix #612: Enhanced Ubnt AccessPoint support * Updated sysobject.ids (tagged fia-2.5 tag on github repository) deploy: * Bump Deploy task version to 2.8 * Fix #394: Check file parts source/mirror url to guaranty it ends with a slash and trigger an error if it doesn't look like a valid URL. collect: * Bump Collect task version to 2.6 * WMI properties can now be a list of properties with comma or space as separator 2.4.3 Fri, 22 Feb 2019 core: * fix some cases where a file handle was not closed * win32: fix a handle leak case when agent was running as service * Fix #637: Don't depend on GNU install during "make install" to support more Unix systems * daemon/service: reload target when the stat file has been updated by another script to use the updated next run timeout * For server target, server connection attempts are delayed from 60 seconds, doubled at each new failed attempt, now until reaching max defined by delaytime configuration parameter. inventory: * Bump Inventory task version to 1.6 * win32 antivirus support update: - nicer product name report for ESET - report expiration date for ESET * Fix #582: Add other Acer monitors support * Fix #687: Virtuozzo inventory task doesn't include first container * Add few minor fix to virtuozzo containers inventory * Fix LXC containers support to support recent LXC versions * Fix #625: Container UUID is the same than host UUID * Fix #624: Skip incomplete battery infos from dmidecode (seen on MacOS) * Fix #631: Fix duplicated memory inventory on MacOS * linux: fix storage size inventory * linux: try to set storage serialnumber from mbr partition id or even PV UUID when not found (hdparm missing or virtual drive) * Fix #604: Only inventory Windows Store on recent win32 platforms * Fix #596: Openstack container seen as Physical on win32 * Fix #593: Correct detection of machine type when /var/log/dmesg is too short * Fix #583: Add BitDefender antivirus support * Encrypted filesystems support added * Updated pci.ids to 2019.02.20 version * Updated usb.ids to 2019.01.17 version netdiscovery/netinventory: * Bump NetDiscovery task version to 2.8 * Bump NetInventory task version to 3.2 * Add BlueCoat proxy appliance serialnumber support * win32: Support arp table check for NetDiscovery task * Fix #634: Net::Ping version may not numeric with win32 installer * Add Panasas PanFS support * Add few HP/Compaq serialnumber cases support * Fix #605: try 'ip neighbor show' if 'arp' is not available for netdiscovery * Add UPS-MIB support for Riello, S2S & APC * Components support added * Updated sysobject.ids (tagged fia-2.4.3 tag on github repository) 2.4.2 Wed, 03 Oct 2018 core: * Linux: fix agent not listening on http port when syslog logger is active and Sys::Sylog module is too old inventory: * Bump Inventory task version to 1.5 * Fix physical memory error correction detection via WMI under win32 * Fix #299: Added UWP/APPX/Windows Store software inventory * win32 antivirus detection enhanced support: - add support for few antivirus base versions (defender, kaspersky, EST, avira, MSE, McAfee, F-Secure) - try to set license expiration date for F-Secure, kaspersky & avira * Fix #442: kaspersky not fully recognized in russia * Fix #501: wrong status was reported when windows defender was disabled * Enhanced software inventory under Arch Linux * Fix #453: under MacOS, skip XML DTD validation for software inventory as parsing may fail if a proxy is enabled * Fix #473: fix arch detection under MacOS * Fix #475: fix video cards support under MacOS * Fix #504: support non-standard ssh port to report local ssh server pubkey * Updated pci.ids to 2018.10.02 version * Updated usb.ids to 2018.08.15 version deploy: * Bump Deploy task version to 2.7 * Fix deployment of private packages: their downloaded parts were not fully found when download were too long (closes: #542) * Handle retention duration differently for p2p and not p2p files * P2p files have a default retention of 3 days by default * P2p files have a default retention of 3 times the target prolog delay after download, parts retention is reset to the same delay for all file parts, so the retention duration applies at the time parts has been downloaded * P2p file parts are now cleaned up after job success if retention duration is null * Fix WinKeyNotEquals audit check to also be true when the registry key is simply missing * Add support to "startjob" key for failing deploy audit check to permit to skip remaining checks when a failing condition makes them obsolete. esx: * Bump ESX task version to 2.4 * Support 2 ServiceTags case to cover chassis & lame board S/N inventory * Updated AssetTag support * fix wrong cpu core computation when only one package is available netdiscovery/netinventory: * Bump NetDiscovery task version to 2.7 * Bump NetInventory task version to 3.1 * Thanks to @QuickNerd357, Brocade devices will now show serial number and firmware informations. * Sanitize VLAN names. This fixes an issue with Cisco Small Business Switches. * Get rid of unofficial Net::Ping::TimeStamp support to only use official support if available. Net::Ping v2.67 is now mandatory to discover devices thanks to timestamp ping. * Fix #481: Add Synology NAS support * Fix #480: Add CheckPoint support * Fix #488: Update HP Printers support * Updated LLDP/CDP connection match checks * Updated sysobject.ids (tagged fia-2.4.2 tag on github repository) collect: * Bump Collect task version to 2.5 * Thanks to David Durieux, add support for dynamic pattern in registry key collect under win32. The dynamic pattern is '**' to glob subkeys like in: HKEY_USERS/**/Software/**/**/CurrentVersion maintenance: * Bump Maintenance task version to 1.1 * Disable Maintenance task if no maintenance module could be used test suite: * Make snmp walk tests faster 2.4.1 Fri, 29 Jun 2018 core: * Update setup & FusionInventory::Agent::Version modules during make install * Can set FusionInventory::Agent::Version module VERSION & COMMMENTS during perl Makefile.PL configuration stage * Normalized Target class APIs * Register planned tasks at target level so target class can filter out unsupported tasks * Add Scheduler target support to be used at the same time than Server target but more often to make maintenance other server target storage * One scheduler target is created for each configured server target * Scheduler target will trigger between one to 2 minutes * Get rid of Time::Piece dependency maintenance: * New Maintenance v1.0 task * Maintenance task handles quick server target storage cleanup to deploy packages are really removed afetr their expiration time * Task only supported by Scheduler target inventory: * Fix BSD Storages support * Don't try to run dmidecode inventories if it returns no output * Set Bios && Hardware from /sys/class/dmi on recent Linux when dmidecode is missing * Add PowerSupplies support * Add BSD batteries support * Add UUID to LXD containers under Linux * Fix #439: Wrong network interface speed under win32 * Fix #472: On MacOS, add monitors serial number when available * Fix #479: No virtual machine memory under Proxmox * Fix #485: Fix df output parsing under MacOS * Fix #500: Add Acer monitor EDID id match * Better SQL Server software inventory under win32 * Update Xen Server support * Fix get-edid command output parsing, thanks to David Durieux * Updated pci.ids to 2018.06.29 version * Updated usb.ids to 2018.05.04 version netdiscovery/netinventory: * Bump NetDiscovery task version to 2.6 * Bump NetInventory task version to 3.0 * fusioninventory-netdiscovery & fusioninventory-netinventory scripts now support '--port' and '--protocol' options for not standard snmp support. * Fix RAM & CPU are missing from net inventory * Fix MEMORY/RAM OID support * Added support for HP Net Peripheral, involving better HP printers inventory * Get Serial number & firmware version * Fix total printed pages counter in many case * Added total color pages counter support * Don't assume colors table was read: fixes black toner detection on many HP printers * Added Microtik devices support * Enhanced Epson printers support, including model name, serial number and firmwares * Updated LLDP support * NetInventory task protocol upgrade to fix multithreading scheduling according to upgrades done server-side. * Fix discovery of devices with only ping responding and without found hostname. In that case, we default the DNSHOSTNAME to the scanned ip. * fix entity option in fusioninventory-netdiscovery script * Get rid of nmap support for NetDiscovery task * Add Zebra printer support * Add QuesCom Appliance detection * Add Linux Appliance template support * Closes: #441,#519 * Update extmod function calls, thanks to Vadim Pisarev * Add custom OID for Canon printer counters * Updated sysobject.ids (tagged fia-2.4.1 tag on github repository) deploy: * Bump Deploy task version to 2.6 * Fix file retention support * Add P2P peers caching to reduce peers discovery load in the meantime * Reduced timeout for peer discovery and file parts downloading for P2P. This efficiently limits the time passed to discover the local peers and disqualify any busy or not responding peers in a more acceptable delay. * For better P2P support, agent ajusts its 404 message to "Nothing found" when it has nothing to share with other agents. So peers won't ask again and again for any file part during 20 minutes by default. 2.4 Fri, 29 Dec 2017 core: * Cleanup confdir use in task so using deprecated etc/softwares folder is no more logged in journal * Get rid of confdir setup in setup.pm * Added "include" directive support while reading configuration file to make configuration maintenance easy * Update syslog name to fullname agent * Get rid of List::Util & Proc::PID::File module dependencies * Try to load more recent IDS database files if found in well-known places * Fixed default daemon pid filename * When --pidfile is used, don't permit to manually start daemon even in foreground unless --pidfile parameter is different * Makes --pidfile filename optional to compute a default one * Check if we need to include libdir while daemonize * Class refactoring: Get rid of discouraged 'use base' syntax in favor of lighter 'use parent' and as fields pragma is not used (see 'base' man) * Logger refactoring: no more an Exporter based class to simplify its usage and as Logger object should be commonly shared everywhere it is used. * Fix command run to also time out while an alarm has been set * Fix WMI calls to also time out under win32 * Few code refactoring * remove devtom30 from maintainers inventory: * Bump Inventory task version to 1.4 * Fixed Provider program name in agent context * Fixed HyperV VM issue while BIOSGUID is not defined * Fix #349: Include last logged user as usual computer user on win32 platform * Linux distro: Add support for reading os-release file and removing LSB support * Fix Solaris drives df output parsing adding better zfs handling * Make backend-collect-timeout working even while waiting on command output * Support ASM filesystems on Oracle Grid * Introduce getDeviceId() API on Inventory class so it returns task deviceid if set or set a new deviceid (aka agentid or machineid) in case of remote inventory * Fix #161: Support retrieving License software via WMI, including Office 2016 * Fix #364: [win32] Get antivirus version from software installation and get Windows Defender version via WMI * Added Windows 10 version support * Updated pci.ids to 2017.12.20 version * Updated usb.ids to 2017.12.28 version netdiscovery/netinventory: * Bump NetDiscovery & NetInventory task version to 2.5 * Added section support for MODEMS, SIMCARDS & FIRMWARES * Added new detection algorithm based on exposed device supported MIB (sysORID list) and/or sysObjectID * Added support for HP iLO cards * Added support for Digi devices with enhanced MODEMS, SIMCARDS & FIRMWARES support * Updated sysobject.ids with a lot of new devices support * Keep first MAC address found while discovering * Try first to select MAC address from SNMP session during SNMP device scan * Updated sysobject.ids (tagged fia-2.4 tag on github repository) deploy: * Bump Deploy task version to 2.5 * ddurieux fixed a regression introduced in 2.3.18 preventing to re-use known good peer to download file parts. esx: * Bump ESX task version to 2.3 * Removed no more needed createFakeDeviceid() API injector: * Support --no-ssl-check option to avoid checking server SSL certificate wmi-inventory: * Added new task and script to permit agent-less inventory on win32 platform based on remote WMI support. 2.3.21 Mon, 31 Jul 2017 core: * Service/daemon refactoring: * Move all daemon method to dedicated FusionInventory::Agent::Daemon package * Win32 service now based on private FusionInventory::Agent::Service inheriting from FusionInventory::Agent::Daemon * support configuration reloading on SIGHUP signal (unix) * support pausing service under win32 * support run now on SIGUSR1 signal (unix) * and a lot of daemon/service optimizations and enhancements * daemon process renamed to provider derivated name under unix-like systems with tag if defined. Example: "fusioniventory-agent (prod)" * Report http proxy error to help debug communication problems: #324 * Prevent setup.pm indexing in CPAN as requested by CPAN admins * Other fixed issues: #321 inventory: * Bump Inventory task version to 1.3 * Fixed win32 softwares finally missing when 2 'inventory' are set in tasks * Fixed bug: last dmidecode block wasn't parsed * Updated pci.ids to 2017.07.27 version * Updated usb.ids to 2017.07.29 version * Updated storage inventory on MacOS supporting Firewire storages: #309 #310 * Fixes on dmidecode memory inventory: #320 * Update memory component capacity on virtual systems: #339 * Fix lenovo system information product name read from dmidecode: fix #311 * Include TL in AIX OS version: #328 * Fix Xen vm with space in name not colleted: #176 netdiscovery/netinventory: * Bump NetDiscovery & NetInventory task version to 2.3 * Fix credentials option support * Fixed duplicated mac addresses: #315 * Also accept LLDP notifications on sysName * Force MANUFACTURER to match real vendor, VENDOR inventory key removed * Better cleanup of canonical strings with invalid characters * Support more alternate mac address formats * Fix some string field encoding * Support Digi devices serial * Support ups model oid * Fixed Juniper serial retrieval * Enhanced Konica printer discovery * Enhanced mac address discovery * Fixed wrong result on snmp read case: #139 * Enhanced error messages in netdiscovery task * Updated sysobject.ids deploy: * Bump Deploy task version to 2.4 * Added new audit checks winkey not equals support * Support User Interaction under win32 using WTS API (need server-side plugin upgrade) injector: * Support xml file extension: #360 * Fixed returns exit code 0 even on error: #329 * Enhanced displayed error messages 2.3.20 Thu, 1 Jun 2017 core: * Fix #224, #254, #268 * Fix 2.3.19 regression while installing from sources * Fix bad initialization while computing inventory checksum involving crash in rare case * Include new CONTRIB.md file to reference not mergeable contributions * Fix scheduling issue restarting tasks too early * Avoid a warning on Socket module version check, issue found on Debian and MacOS * Fix: Support SSL debugging at verbosity 2 on Stderr only inventory: * Bump Inventory task version to 1.2 * Fixed Docker support * Added system software category support * Added firewall status innventory support * Fix last user computation on some unix systems * Add CPU CORECOUNT support based on dmidecode output * Fix STORAGES support on some platforms * MacOS: Refactoring to replace Tie::IxHash dependency with XML::XPath to better parse system profiler output * Fix: block device inventory still possible even if fdisk command is missing on linux * Fix #289: Add ARM Board support * Support UUID for lxc containers netinventory: * Fix #221, #275 * Command documentation updated * a lot more of additional devices in sysobject.ids * Fix Juniper new model and firmware detection deploy: * Bump Deploy task version to 2.3 * Audit checks refactoring and fixes * Fix win32 registry key check * Added new audit checks like winkey values, needs a server plugin upgrade * Enhanced audit checks error reporting * Fix and enhanced command action to really report output, may require a server plugin upgrade * Fix command action exit code while target command is not found on unix wakeonlan: * Bump WakeOnLan task version to 2.2 * Fix thanks to Ludovic Pouzenc: send magic packets to all non-loopback non-dumb interfaces 2.3.19 Fri, 17 Feb 2017 core: * Version & provider refactoring to simplify release process * Provided agent versions can now been commented by providers and programs will expose comments for --version argument * Tasks version is now read more efficiently and should reduce agent memory footing while running under daemon or service mode * Bump tasks versions to reflect new way of reading task version * Support no-compression option: useful for debugging or while server do not support compression * Replace JSON dependency with JSON::PP pure perl version * Fixed configuration parsing * Fix sigterm support on win32 * Reduced agent memory footprint on win32 * Service optimizations limiting inventory run time on win32 * Fix service registration on win32 while requested from sources * Try to reschedule target sooner on network error * add Thomas Lornet aka devtom30 as maintainer inventory: * Fix VERSIONCLIENT not set * Screen inventory refactoring introducing ALTSERIAL inventory value which may show a better serial number for some manufacturer. This will ease future screen serial number fix integration: comparing expected S/N toward ALTSERIAL will tell us we just need to update dedicated subclass for a given monitor. * Some portable computer screens are now recognized * Previously undefined screen caption may now contains additionnal informations, mostly for lcd internal panel, like panel model. These are taken from EDID "monitor_text" when found. * Few more Acer serial number are fixed * Fix some memory size read using canonical API * add --no-compression|-C option to disable compression of communication with server * Fix HOSTNAME for MacOS * Add docker container support for linux * Fix install date while using rpm packaging or for MacOS * solaris support update * macos support updates & fixes * rudder updates * virtualization/container detection updates (HyperV, VMWare, KVM, LXC/LXD, VirtualBox) * Added TeamviewerID support for win32 & MacOS * Fix win32 key registry reading while it contains white space * Add batteries support on MacOS * Add HOSTID support on linux & solaris deploy: * Bump Deploy task version to 2.2 * Deploy task audit refactoring * Add support for fileSHA512mismatch check processor in audit * Fix #205 - Improve software package's audits * Support optional audit check name in reported status (needs server update) * Add checkprocessor unit tests injector: * add --no-compression|-C option to disable compression of uploaded files 2.3.18 Thu, 16 Jun 2016 core: * Many bug fixes * enhance daemon/service mode: - running tasks are killed while service is stopping - httpd daemon is now made not blocking so daemon/service handles external events quickly * full win32 service refactoring introducing Windows 10 support * win32 service can be registered/deleted from sources * support new option --tasks to specify tasks to execute and their order * support new option --conf-reload-interval to ask to reload conf at regular time interval while running in daemon or service mode. inventory: * Many bug fixes * enhanced McAfee antivirus reporting * added REMOTE_MGMT section to report infos related to installed remote management tools. Actually reports Teamviewer ID * Eventually try ethtool syscall on linux to find network cards * Fixed memory reporting on Solaris * Enhanced installdate for softwares on many platforms * Enhanced drive a storage reporting on win32 * Fix #584: Acer B196HQL S/N support deploy: * Bump Deploy task version to 2.1.0 * trigger error on servers missing Digest::SHA library to help diagnostic * Backport some master branch work done by guillomovitch on P2P support * Net::Ping & Parallel::ForkManager library are now mandatory for P2P support * POE & POE::Component::Client::Ping requirements are now obsolete * Also add few fixes and enhancement to P2P support * Added unittest for P2P support * fixed issues related to JSON support * Enhanced run command output to help debugging failures injector: * add --recursive|-R option to scan sub-folder for OCS files * add g-bougard as maintainer 2.3.17 Sun, 27 Sep 2015 inventory: * add collect task support * fix CPU frequency retrieval on Windows (#2876) * fix CPU core and thread retrieval on Windows (#2894) * small fixes for DragonFlyBSD (#2899) * fix interface speed retrieval in Solaris zones (#2939) * fix memory information retrieval on Solaris (#2907) * fix recurrent timeout for system_profile usage on MacOS (#2913) * fix hangup when enumerating ovirt virtual machines (#2917) * fix virtuozzo virtual machines identification (reported on mailing-list) * fix offline xen virtual machines properties retrieval (#2988) * fix warning and parsing issues with LSI RAID adapter * retrieve Rudder agent information for all kind of Unix systems (#2999) netdiscovery: * fix multi-threading issues netinventory: * better serial retrieval (#2912) * better VLAN retrieval for non-Cisco devices * fix firmware retrieval issues leading to malformed XML (#2908, #2956, #2994) * fix multi-threading issues * add support for Kyocera printers page counters * additional devices in sysobject.ids (#2912, #2932, #2965, #2966, #2994) * minor fixes in sysobject.ids * relax constraints on sysobjectid syntax wake-on-lan: * fix communication issue with latest FusionInventory for GLPI (#2937) fusioninventory-injector: * allow to mimic agent in user-agent HTTP header fusioninventory-netinventory: * support multi-threading via --threads option * support inventory toward multiple hosts * dropped unused --entity option test suite: * more robust SSL connection tests 2.3.16 Sun, 1 Mar 2015 inventory: * fix Rudder server UUID file location (#2865) * use BIOS ID as guest ID for HyperV hypervisor (#2881) * filter disabled CPUs in DMI data (#2525) * minor fixes in CPU information retrieval netdiscovery: * fix communication with latest FusionInventory for GLPI (#2862) * add multiple H3C/SMC/HP models in sysobject.ids (#2873) * change sysobject.ids file format netinventory: * fix communication with latest FusionInventory for GLPI (#2862) * add hirschman-specific firmware and serial OIDs (#2631) 2.3.15 Tue, 6 Jan 2015 inventory: * retrieve attached network gateway from default gateway * do not report 0.0.0.0 as address for non-configured IPMI interfaces * fix last user retrieval with 32 bit agent on 64 bit Windows netinventory: * better firmware retrieval (#2806) test suite: * fix Perl version check for POE tests * force IPv4 for connection tests 2.3.14 Mon, 15 Dec 2014 core: * fix ESX and Deploy task execution from server request (#2809, #2820, #2823) * manage PID file explicitely (#2796) * make PID file location configurable, through --pidfile option (warning: default location is now in agent state directory) netdiscovery: * add a few H3C/HP models in sysobject.ids (#2812) netdiscovery: * fix fast interface speed computation (#2833) install: * add versioned dependencies on IO::Socket::SSL and Thread::Queue 2.3.13 Thu, 6 Nov 2014 core: * log HTTP replies status * log agent stop event (#61) * better logging of task initialisation process * fix syslog logger usage with debug level >= 2 (#2780) * fix SNMPv1 multiple values queries netdiscovery: * skip SNMP scan immediatly if there is no answer from remote host * send task termination message to server when shutting down (#185) * thread usage cleanup netinventory: * propagate error messages to server * fix null-character presence in XML output (#2670,#2746,#2754,#2784) * fix WWN physical address parsing (#2759) * send task termination message to server when shutting down (#185) * thread usage cleanup inventory: * add support for FibreChannel controller on Linux (#2759) * fix HyperV machines enumeration (#2141) * fix typo in printer property name on Windows (#2782) * fix wrong function call on BSD i386 (#2797) * fix wrong function call on Solaris (#2799) * fix parsing of psrinfo -vp output on Solaris (#2798) test suite: * disable tests requiring POE under perl 5.8 2.3.12 Mon, 06 Oct 2014 core: * drop Socket::GetAddrInfo usage, and use Socket directly for name to address resolution inventory: * fix networks interface enumeration on Windows XP (#2733) * fix BIOS date format error on Solaris (#2735) * retrieve OS minor version on Solaris (#2736) * identify dockers containers (#2731) * fix adobe license key format (RT #99164) 2.3.11.1 Wed, 25 Sep 2014 core: * update MANIFEST to fix missing files 2.3.11 Wed, 25 Sep 2014 core: * additional distribution metadata * more flexible message filtering in logger inventory: * additional exclusion categories * more detailed log message for inventory execution * utf8 encoding fixes for local users and groups on Windows * fix mac address retrieval for bonded addresses on Linux (#2622) * fix network interface type identification on Windows * add network interface type on BSD and Linux (#1838,#2622) * add WIFI info for network interfaces on BSD and Linux () * identify interfaces aliases on Linux (#2622) * add PCIID for network interfaces and video cards * better Xorg log file parsing on Linux * fix disk size computation on Linux (#2718) * prevent abusive /etc/blkid.tab update on Linux * ignore whitespace-only disk serial numbers on Windows (#2665) * fix architecture identification on Solaris (#2672) * add publisher for dpkg-based distribution on Linux netinventory: * drop consumables database in favor of standard consumable identification data * no more arbitrary consumables number limit * report unknown and approximate consumable level values as such * fix negative consumable level values * report multiple IP addresses associated with each port (#1421) * report aggregated network ports (#2179,#2564,#2575) * log sysdescr lookup in devices database * additional Hischmann and Fortinet devices IDs (#2631) 2.3.10.1 Mon, 04 Aug 2014 inventory: * fix regression introduced in 2.3.10 wrt hostname on Windows (#2647) * fix regression introduced in 2.3.10 wrt last logged user on Windows * provide error messages for name to resolution failures netdiscovery and netinventory: * avoid crash for missing logger with command-line tools 2.3.10 Wed, 30 Jul 2014 inventory: * fix serial key retrieval regression on Windows (#2632,#2641) * fix office 32bits serial retrieval on 64bits Windows (#2616) * fix duplicate network interface on AIX (#2527) * fix warnings for non-parsable etime on Unix (#2636) * fix global zone identification on Solaris (#2620) * fix software retrieval on recent BSDs (#2637) * better file system types identification on Solaris * add support for HyperV machines enumeration (#2141) * add support for LXC container identification (#2311) * add --scan-profiles option to fusioninventory-inventory (#2625) netdiscovery: * fix nmap parameters computation (#2618) * better device identification (#2601, #2194) netinventory: * fix invalid character presence in XML output * add support for Extreme Discovery Protocol (EDP) * better handling of CDP implementation differences * better handling of multiple discovery protocols 2.3.9.1 Tue, 15 Jul 2014 install: * fix sysobjectid and consumables databases files installation 2.3.9 Tue, 15 Jul 2014 core: * disable lower-level SSL checks when no-ssl-checks is used netinventory and netdiscovery tasks: * merge all files from sysobjectid database into a single one * update sysobjectid database netdiscovery task: * catch more SNMPv3 authentication errors * allow multiple SNMP credentials for netdiscovery executable netinventory task: * better printer consumable identification, using vendor references (#2581,#2582,#2583,#2584,#2587,#2589,#2591,#2592,#2593,#2594) * externalize consumable ids in a data file * report 0% level instead of 100% for wastetoners with OK status (#2593) * skip problematic address only for non-existing interfaces (#2599) * mark --model option as deprecated for netinventory executable inventory task: * disable user profile scanning for software by default on Windows (#2555) * avoid fatal dmidecode usage on Windows 2003 for CPUs (#2562) * fix last loggued user identification on Windows (#2553) * fix product key decoding on Windows 8 (#2544) * fix IE 10+ version retrieval on Windows (#2528) * more details for USB devices on Windows (#2598) * get OS UUID for SPARC on Solaris (#2539) * add Xen Citrix server VM support (#2529) 2.3.8 Sun, 11 May 2014 netinventory task: * add support for trunk port identification on non-cisco hardware (#2386) * add VENDOR element, and keep MANUFACTURER bound to original manufacturer * add H3C hardware database * better error messages for non-existing interfaces inventory task: * fix multiple crashes introduced by command logging * fix crash in Windows License module when office is not installed (#2202) * fix last loggued user retrieval on Windows (#2458) * fix 32bits software in user environment retrieval on Windows 64bits test suite: * transfer hardware tests in private hardware repository 2.3.7.1 Wed, 30 Apr 2014 inventory task: * fix crash introduced by command logging on BSD hosts 2.3.7 Tue, 29 Apr 2014 install: * do not rely on GNU install specific options netinventory and netdiscovery tasks: * drop support for SNMP dictionary * drop support for SNMP models * large code cleanup * enhance firmware and serial number retrieval * update extreme networks models database inventory task: * fix multiple warnings for missing commands (#2460) * fix 'broken pipe' error messages on Solaris (#2460) * fix warnings for NIS/NIS+ external references in /etc/passwd (#2460) * log executed commands with debug level >= 2 * fix a crash in Windows storage inventory (#2471) * fix process inventory on AIX (#2481) * fix firmware version retrieval on AIX (#2480) * fix mac address extraction for infiniband interfaces (#2432) * fix CPU identification on newer ARM kernels (#2485) * fix inconsistencies in process runtime computation (#2491) test suite: * ship missing LXC test file (#2483) 2.3.6 Mon, 10 Mar 2014 core: * abort with explicit error message when there is no available task * when receiving a push request from a server, reschedule contact for this server only inventory task: * fix a warning with LXC 1.0.x netinventory task: * fix SNMPv3 credentials handling * fix mac address retrieval on non-default VLANs * fix LLDP info retrieval for some hardware * fix memory exhaustion for some hardware (#2414) * use get-next-requests instead of get-bulk-requests, slower but safer, especially with large gaps in indexes netdiscovery task: * fix SNMPv3 credentials handling * do not report errors for non-responding host with SNMPv3 wake-on-lan task * honour all mac addresses from server request (#2353) test suite: * fix network interface test on Solaris (#2438) 2.3.5.1 Tue, 14 Jan 2014 inventory task: * fix AIX LVM regression introduced by incorrect fix (#2384) * fix another potential warning on AIX 2.3.5 Tue, 14 Jan 2014 netinventory task: * add more default OIDs for mappings undefined in SNMP model * fallback on default OID if SNMP model mapping doesn't bring any result * restore and enhance mac adressses extraction for connected devices on non-default VLANs * fix trunk port identification * fix model loading with fusioninventory-netinventory inventory task: * get size for Adaptec RAID controller disks on Linux (#2360) * fix size reporting for LSI RAID controller disks on Linux * add support for modern MegaRAID controllers on Linux (#2361) * better identification for hard disk manufacturers (#2362) * fix timeout for user enumeration in AD environment on Windows (#2201) * fix a potential crash in software inventory on Windows * cleanup whitespace for DMI and /proc values (#2391) * fix multiple potential warnings on AIX (#2384) test suite: * fix test files list (#2394) * fix network interface enumeration test on Solaris (#2346) 2.3.4 Fri, 29 Nov 2013 netdiscovery task: * install missing sysobjectid database files * add additional device types (phones, storage, etc...) support netinventory task: * add default OIDs for mappings undefined in SNMP model * add IFALIAS support for interfaces * allow SNMPv3 usage from fusioninventory-netinventory * allow discovery without model from fusioninventory-netinventory netinventory and netdiscovery tasks: * fix infinite recursion in mac address canonicalisation, leading to memory exhaustion (#2336) * fix SNMPv3 usage without optional parameters linux: * OpenVZ: disable the Virtuozzo module if libvirt is already plugged on OpenVZ 2.3.3 Wed, 06 Nov 2013 core * clean up in the distribution, thanks Olivier Mengué inventory task * fix missing 32bits software on 64bits windows (#2212) netinventory task * fix SNMP reconnection when issuing VLAN-specific queries on some Cisco devices (#2178) * use longer default SNMP timeout, and make them configurable * handle MAC addresses with embedded VLAN identifier netdiscovery task * backport device model identification from sysobjectid value 2.3.2 Fri, 20 Sep 2013 core * avoid some warning messages netinventory task * fix: properly pass the SNMP credentials * better handling of mac addresses 2.3.1 Mon, 09 Sep 2013 inventory task * report when running in a BSD Jail or a LXC system, thanks Igor Morozov * better strategy for extracting USB printer serial on windows (#2213) * force lowercase identifiers for USB and PCI lookups (#2122) netdiscovery task * fix invalid log message and spurious warnings during discovery (#2200) * fix dictionary update handling, breaking fusioninventory-netdiscovery usage * use sysobjectid for better identification * more sysdescr-based identification rules * fix loss of information when applying sysdescr-based identification rules * normalize sysdescr better before dictionary lookup netinventory task * ensure device type is set in agent answer * emits warnings when retrieved values are obviously wrong * better handling of mac addresses * large code cleanup and optimisation wake-on-lan task * fix wrong mac address pattern check 2.3.0 Thu, 01 Aug 2013 distribution: * Deploy, Network and ESX tasks are now integrated in the distribution * new fusioninventory-inventory executable, dedicated to inventory task core: * no more thread usage for HTTP interface * no more token usage for HTTP interface, request source address is enough * --httpd-trust option now allows multiple values * --daemon and --no-fork options are now available from command-line only inventory task: * add DNS_DOMAIN, BOOT_TIME and FQDN in OPERATINGSYSTEM section (#1197, #1347, #1358) * collect public SSH keys * collect local users and groups (#1570, #1870) * collect license key for MS Office on Windows (#152) * collect software from user profile on Windows(#1674) * collect license key for Adobe suite, Panic's Transit, VMware Fusion on MacOs * collect service package version on AIX (#1896) * collect manufacturer information for memories (#1735) * enforce consistent handling of USB and PCI identifiers (#1861) * enforce consistent TYPE values for network interfaces (#1838) * various UTF8 encoding fixes * better stripping of bogus values * Megaraid and 3ware RAID controller support on BSD (Egor Morozov) * Megaraid controller support on Linux (Egor Morozov) * support new OpenVZ configuration on Linux (Alessandro Iurlano) * LPAR support on AIX (#950, #952) * FreeBSD jail support on BSD (#736, #1555) * better caching of system_profiler output (#2076) * better Qemu support (#2106) * better OpenVM support (#1774) * better HyperV support (#1989, #1990, #1991) * fix CPU inventory for non-i386 arches on Linux (#2172) * better CPU inventory on Solaris (#1741, #1905, #2152) * better memory inventory on Solaris (#1711, #1714, #1737) * better slot inventory on Solaris (#1730) * fix VXFS filesystem identification on Solaris (#1696) * minimal support for busybox-specific command output (#1372) * no more memconf usage on Solaris * no more Mac::SysProfile usage on MacOS (#1646) wake-on-lan task: * ethernet and udp methods support on all systems netdiscovery task: * fix for regression introduced during code refactoring regarding printers identification test suite: * check the link for 404 error in the doc * check for warnings generated during parsing * check entries generated from parsing match expected inventory format * normalize list before comparaison, for perl 5.18 hash randomisation 2.2.8 unreleased AIX: * minor fixes in LVM support 2.2.7 Tue, 13 Nov 2012 General: * additional hack for LG screens (#1848) * additional model for ACER screens hack (#1840) * fix directory creation error handling with older File::Path versions (#1817) * fix initial delay randomness (#1809) * fix spurious null character in decoded strings (#1837) Windows: * fix missing bios release information on some machines (#1820, #1825) 2.2.6 Fri, 14 Sep 2012 Installation: * fix installation with older MakeMaker versions * do not generate html version of man pages * minor fixes to dependencies list General: * better fix for size parsing with HP RAID controllers, avoiding warnings (#1807) * implement model-specific hack for ACER screens serials (#1607) Linux: * fix parsing of newer ifconfig output, such as used on Fedora 17 2.2.5 Thu, 16 Aug 2012 General: * Fix: deal with broken last_state file * Fix: fix HP RAID size parsing * Fix: virtual machine inventory with VMware desktop * Fix: add /usr/local/{bin,sbin} in default $PATH Windows: * Fix: do not run dmidecode.exe on Win2003 * Fix: software inventory Solaris: * Fix: improve ZFS support * Fix: get memory on solaris on Sun-Fire-V490 HP-UX: * Fix: variou syntax issues (Drives, Uptime, etc) * Fix: get network interfaces from netstat -nrv * Fix: import VXFS 7 volumes Test suite: * Add an AIX slot test * Deals properly with disabled thread support * use the first available TCP port for network tests * Enable SSL test even in IPv6 environment 2.2.4 Sun, 22 Jul 2012 General: * Fix: non blocking flock() on log file MacOSX: * Fix: STORAGES uses MiB instead GB * Fix: add Fiber Channel storage support * Fix: Don't ignore second screen, if both have the same name Linux: * Fix: collect qemu -drive information (Alexander Evseev) Windows: * Fix: OCS Inventory registry support * Fix: some time the softwares were not collected Solaris: * Fix: Collect ZFS drives properly 2.2.3 Mon, 25 Jun 2012 General: * Fix battery voltage and capacity retrieval * Add --timeout option MacOSX: * Fix global memory and CPU inventory * Fix drives inventory Linux: * LXC support (Egor Morozov) 2.2.2 Wed, 30 May 2012 General: * Improve README * Fix Screen.pm syntax error * Add a test_requires dependency on LWP::Protocol::https Windows: * fix command execution 7ff3260 fix warning if getDevicesFromUdev returns nothing Linux: * detect Virtuozzo VM (Alexander Evseev) 2.2.1 Thu, 24 May 2012 General: * failure encoding with UTF8 content when using Fusion protocol (#1663) * wrong CSS path (#1580) * missing test suite dependency (#1575) * improve CPU details (#1597) * --no-category process support (#1630) * replace IS64BIT software property with more general ARCH property (#1581) * sync EDID parsing code with mandriva * more EDID manufacturer codes Windows: * various encoding issues (#1550) * network addresses collecting failure (#1549) * inventory all the KB on Win Vista/7 (#1668, #197, #706) * Store the XML file with the local codepage (#272) Virtualization: * wrong character in Xen machine ID (#1562) * additional disk emulation types for qemu and kvm support (#1630) BSD: * multiple network addresses per interface support (#1565) Solaris: * no swap/memory informations for unknown hardware (#1594) * solaris container zone bug (#1586) * sparc T3-1 CPU support (#1583) * solaris 8/9/10 swap bug (#1577) Linux: * bad name for physical volumes (#1587) * missing volume group ID (#1585) * wrong volume group ID (#1584) * duplicate volume groups (#1582) * fix Lsilogic raid controller support (#1630) * get device name from udev file content, not file name (#1630) * get more disk informations from smartctl (#1630) * sparc arch mismatch (#1573) * read EDID data directly from /sys when available 2.2.0 Sat, 07 Apr 2012 Major changes: * large speed improvement: up to 150% for a local inventory * better multitasking support: - the agent use fork() to run task if needed, instead of running a new process from scratch, avoiding the need to use a temporary file to transmit parameters, with related security risks - the agent only forks to run a tasks when running as a server, making tracing and debugging easier - the agent only use one thread for the web interface * better SSL support: - IO::Socket::SSL perl module is now required for certificate validation - Crypt::SSLeay perl module still allow HTTPS support, but without certificate validation, and the connection will be aborted unless certificate checking is disabled - validation is now performed by SSL library, and honours alternative subject names, and other subtilities * large cleanup of values returned from inventory: - unknown values are filtered out - strings are trimmed for trailing spaces - irrelevant values, such as windows internal USB serial number, or controllers type and manufacturer on AIX and HPUX, are filtered out * installation procedure automatically setup configuration and data directories locations in executable, there is no need to manually configure them anymore * removal of useless features: - support for OCS account info have been dropped, the agent doesn't store arbitrary informations locally anymore - support for OCS network discovery and software deployment features within inventory task have been removed, we have better alternatives - useless Ping task has been dropped * cleanup of available options: - deprecated --nosoft and --nosoftware options have been removed - --devlib, --share-dir, --basevardir and --realm options have been deprecated, as their values are now computed automatically at installation - --daemon-no-fork option has been deprecated, and replaced by --daemon --no-fork options - --info option has been deprecated, as it had no effect - --rpc-trust-localhost option has been deprecated, in favor of a more generic --http-trust option, allowing an arbitrary IP adresse or range - --debug option can be specified multiple times, for additional verbosity - --no-inventory, --no-ocsdeploy, --no-snmpquery, --no-netdiscovery options have been deprecated in favor of a generic --no-task option - --no-software, --no-printer options have been deprecated in favor of a generic --no-category option, and 'environment' value support has been added * new --config option allows to select configuration backend, allowing to use file configuration if needed under windows, or to ignore any external configuration * fusioninventory-agent-config executable has been dropped, in favor of better documentation * documentation has been reviewed for consistency in various places where it appears (--help output, man page, configuration file) * XML::TreePP perl module is now used instead of XML::Simple, reducing native perl modules dependencies * OcsDeploy task is now deprecated. Please continue to use the 2.1.x agent is you need it. Minor changes: * Add the HARDWARE/CHASSIS_TYPE information * Linux: report all IP addresses used by each interfaces (#854) * HPUX: don't report unoccupied memory slots * AIX: add LVM support 2.1.14 Wed, 22 Feb 2012 LINUX ✔ Detected OS is "RedHat" for CentOS servers if lsb_release not available commit:d3a252 http://forge.fusioninventory.org/issues/1193 thanks: Jonathan Clarke MACOSX ✔ no-software option doesn't work as advertised commit:18dfaf http://forge.fusioninventory.org/issues/1476 thanks: Ronan Mejecaze ✔ syntax error in Video module thanks: Walid Nouh WINDOWS ✔ No 2007 Microsoft Office system into XML commit:39f3c7 http://forge.fusioninventory.org/issues/1065 thanks: Walid Nouh, Xavier Caillaud, jerome slayer ✔ On Windows Vista Office 2007 is not correctly gathered commit:39f3c7 http://forge.fusioninventory.org/issues/1425 thanks: Walid Nouh, Xavier Caillaud ✔ VM System incorrect commit:259996 http://forge.fusioninventory.org/issues/1436 thanks: Mario Gzuk ✔ Inventory Internet Explorer when it's not present in Add/remove programs commit:39f3c7 http://forge.fusioninventory.org/issues/1441 thanks: Walid Nouh, Xavier Caillaud, jerome slayer 2.1.13 Wed, 14 Dec 2011 TEST-SUITE ✔ 2.1.10 Test suite fails commit:8035bd http://forge.fusioninventory.org/issues/1161 thanks: Remi Collet WINDOWS ✔ VM System incorrect commit:b59a09 http://forge.fusioninventory.org/issues/1391 thanks: Mario Gzuk ✔ Fix the CPU detection on Windows thanks: Anthony Facchin 2.1.12 Wed, 23 Nov 2011 GENERIC ✔ Memory: Add ECC / no ECC information commit:b01f6f http://forge.fusioninventory.org/issues/1234 thanks: Walid Nouh, jerome slayer LINUX ✔ Duplication virtualmachine name on the same machine commit:982c08 http://forge.fusioninventory.org/issues/1140 thanks: DuyLong LE WINDOWS ✔ [windows] Virtual network adapter reported as physical - and breaks all computer linking in GLPI commit:5b4a1e http://forge.fusioninventory.org/issues/1166 thanks: David Durieux, V'yacheslav Stetskevych ✔ use $ENV{COMPUTERNAME} is HARDWARE/NAME is empty commit:44c07b http://forge.fusioninventory.org/issues/1330 ✔ 2.1.11 - Total amount of total RAM memory incorrectly detected on some Windows 7 computers commit:f93d24 http://forge.fusioninventory.org/issues/1334 thanks: Tomás Abad, Andre Silva ✔ Dual screen configuration ignored on Windows Vista/7 commit:6cbf8b http://forge.fusioninventory.org/issues/1351 SOLARIS ✔ Fix some warnings for spurious stat() calls ✔ Fix hostname being forced to 'SOLARIS' 2.1.11 Mon, 12 Sep 2011 WINDOWS ✔ Fix the BIOS information collect on Win2003 <= system commit:8c2427da5, commit: fe345815 http://forge.fusioninventory.org/issues/1156 2.1.10 Tue, 06 Sep 2011 ✔ Model and SSN don't correct commit:7bb7b1 http://forge.fusioninventory.org/issues/1061 thanks: DuyLong LE INTERNAL ✔ Report Linux distribution version number commit:c7e958 http://forge.fusioninventory.org/issues/1066 thanks: Guillaume Rousse, Jonathan Clarke ✔ incorrect FSF postal address commit:190a04 http://forge.fusioninventory.org/issues/965 thanks: Remi Collet ✔ Incorrect test for LWP version commit:ebd880 http://forge.fusioninventory.org/issues/994 thanks: Guillaume Rousse LINUX ✔ Use of uninitialized value in pattern match on CPU.pm commit:ba5ee3 http://forge.fusioninventory.org/issues/1068 thanks: DuyLong LE SOLARIS ✔ Can't get network interface commit:c54339 http://forge.fusioninventory.org/issues/1056 thanks: DuyLong LE ✔ Agent segfault on Opensolaris when trying to send an inventory using https commit:fcfb8a http://forge.fusioninventory.org/issues/332 thanks: Walid Nouh TEST-SUITE ✔ FusionInventory::Agent::RPC build fails is no JSON commit:914cb5 http://forge.fusioninventory.org/issues/955 ✔ New build-deps: Test::Exception, HTTP::Server::Simple::CGI, HTTP::Server::Simple::Authen WINDOWS ✔ use BIOS/MMODEL instead of BIOS/SMODEL on Win32 <= 2003 commit:0b5ce8 http://forge.fusioninventory.org/issues/1139 ✔ keyboard with same serial added twice in connected items commit:ce7244 http://forge.fusioninventory.org/issues/788 thanks: David Durieux, Fabrice Flore-Thebault, jerome slayer 2.1.9 Tue, 14 Jun 2011 HPUX ✔ HARDWARE/MEMORY missing on HPUX PA-RISC 11.11 commit:262392 http://forge.fusioninventory.org/issues/737 thanks: Amir Pakdel, yanick durant ✔ machinfo on HP-UX 11.31 ia64 (tukwila chip) reports differently - breaks Fusioninventory CPU reporting commit:0a9037 http://forge.fusioninventory.org/issues/757 thanks: Earl Flack ✔ HP-UX: typo in CPU name commit:050ead http://forge.fusioninventory.org/issues/760 ✔ Serial and bios informations are missing on 11.31 commit:2e5608 http://forge.fusioninventory.org/issues/761 thanks: yanick durant ✔ HPUX Superdome CPU not correctly identified commit:0a9037 http://forge.fusioninventory.org/issues/767 thanks: yanick durant ✔ HPUX: Error in execution of fsdb in Drive.pm commit:9d1045 http://forge.fusioninventory.org/issues/773 thanks: yanick durant ✔ should we use fsdb on HP-UX to get the FS creation date? commit:39cd5a commit:ecd475 http://forge.fusioninventory.org/issues/778 thanks: Guillaume Rousse, Amir Pakdel INTERNAL ✔ Change message "Force run now" commit:03c651 http://forge.fusioninventory.org/issues/535 thanks: Walid Nouh ✔ RPC: do not regenerate a token if RPC request come from local loopback commit:96915c http://forge.fusioninventory.org/issues/730 ✔ regression if --rpc-trust-localhost --scan-homedirs have no argument commit:d9a436 http://forge.fusioninventory.org/issues/741 ✔ Agent should follow HTTP err 301 redirection commit:7f61f3 http://forge.fusioninventory.org/issues/776 ✔ on linux, type of computer not reported commit:d01560 http://forge.fusioninventory.org/issues/791 thanks: Fabrice Flore-Thebault ✔ use full name key for LVM inventory commit:75bb13 http://forge.fusioninventory.org/issues/863 ✔ missing RPC port in the agent log commit:504d53 http://forge.fusioninventory.org/issues/870 ✔ LWP 6 support commit:5953dc http://forge.fusioninventory.org/issues/878 ✔ add Hyper-V virtual machine detection commit:9152c7 http://forge.fusioninventory.org/issues/910 ✔ set TAG in local mode commit:000fcb http://forge.fusioninventory.org/issues/946 LINUX ✔ rhn inventory commit:e13d10 http://forge.fusioninventory.org/issues/713 thanks: Remi Collet ✔ HP DL servers - Harddisk commit:caa030 http://forge.fusioninventory.org/issues/768 thanks: Amir Pakdel, Walery Wysotsky ✔ Add Linux LVM support commit:5f861e commit:0a3aa5 commit:9e6d79 http://forge.fusioninventory.org/issues/802 thanks: Sébastien Dagnicourt ✔ Vmware desktop virtual machines not detected on Linux commit:88b545 http://forge.fusioninventory.org/issues/808 thanks: Walid Nouh ✔ With newer gentoolkit software query is failing commit:a07afd http://forge.fusioninventory.org/issues/852 thanks: Guillaume Rousse, İbrahim Özgür Erişen MACOSX ✔ Software installed on parallel virtual guest listed in physical host inventory commit:69ffe5 http://forge.fusioninventory.org/issues/716 thanks: Guillaume Rousse ✔ Error during Vmware Fusion inventort on Mac OS X commit:3eecb1 http://forge.fusioninventory.org/issues/762 thanks: Walid Nouh ✔ Error running Parallels Desktop on Mac OS X commit:4ec184 http://forge.fusioninventory.org/issues/763 thanks: Walid Nouh ✔ Improve Parallels Desktop support commit:823aec http://forge.fusioninventory.org/issues/769 thanks: Walid Nouh ✔ Fix MONITORS/VIDEOS detection on MacOSX commit:974fd8 http://forge.fusioninventory.org/issues/936 thanks: Loic Lhermitte SOLARIS ✔ SolarisZones module ignored in fusioninventory-agent 2.1.8_rc1 commit:9368ea http://forge.fusioninventory.org/issues/787 thanks: Christian Lete TEST-SUITE ✔ FusionInventory::Agent::RPC build fails is no JSON commit:782834 http://forge.fusioninventory.org/issues/955 thanks: Remi Collet WINDOWS ✔ The agent still conflicts with Oracle Perl commit:a63eba commit:1d18c6 commit:4afe98 http://forge.fusioninventory.org/issues/889 thanks: GuruNot ✔ GLPI plugin imports duplicate entries with software from Windows Agent commit:4553aa http://forge.fusioninventory.org/issues/927 thanks: David Durieux, Peter Luk 2.1.8 Fri, 25 Mar 2011 * Show a larger part of the string returned by the server in case of error * Win32: Decrease the severity of a winkey read error * add FusionInventory::Agent::Tools::Win32::getValueFromRegistry() unused for now. * Win32: getWmiProperties() depends on Win32::OLE, load it first. * Win32/AntiVirus: avoid pointless OLE error * Add BNQ screen manufacturer support https://bugs.launchpad.net/bugs/736095 * scan-homedirs and rpc-trust-localhost don't works in command line http://forge.fusioninventory.org/issues/636 * Update the Inventory XML documentation * HPUX: use NAME instead of TYPE to set the CPU name (Yanick Durant) http://forum.fusioninventory.org/viewtopic.php?id=278 * Document NETWORKS/{BSSID,SSID} * Add VIRTUALMACHINES/COMMENT and OWNER keys * VirtualBox: major rewrite of the mostly broken Vbox mod * add support for the task called «Deploy» * add support for the task called «ESX» 2.1.8_rc1 Sat, 05 Mar 2011 * Linux, correctly read the number of core from /proc/cpuinfo * MacOSX: KB unit in missing in Mac OS X Drive.pm http://forge.fusioninventory.org/issues/521 * FusionInventory::Agent::Task::Base, correctly preinitialize 'myData' by loading the expected file. * A yum plugin in contrib to trigger FusionInventory after the updates (Remi COLLET) * SSL certificat check: Accept wild card in the hostname http://forge.fusioninventory.org/issues/542 * Linux/CPU: avoid a warning is $serial is undef, thanks Raúl who pointed the issue * SSL: try to use the default CA if now --ca-cert-* is avalaible, thanks Kevin Cousin who suggested the idea * Inventory must be run after the deployment (OcsDeploy) * Linux: fix Knoppix version format * fix month number in process list start date * Avoid failure if the agent can't load the .dump file, see: #542 thanks Kevin Cousin for the report * Decrease the severity of the error message when a optional module is missing * MacOSX/Drives: do not ignore the / filesystem * MacOSX/USB: no empty devices * Win32/Software: avoid a warning * Networks: improve the error message if deflat fails, thanks Walid Nouh for the suggestion * HP-UX/CPU: add a test-suite * HP-UX/CPU: identify the CPU on HP RX4640, (Yanick Durant) * HP-UX/Memory: hack to preinitialize the memory map (Yanick Durant) * t/README.t: only run the test if TEST_AUTHOR=1 * Makefile.PL: add XML::TreePP in test_requires * RPM: feed the PUBLISHER field (Stéphane Urbanovski) * MacoSX/Software: Avoid breakage if .app's plist file is corrupted * Solaris: SUNWCzone is optionnal, use zonename instead (Raphaël SurcouF) * Inventory: look for backend module in @INC+$archname.'/auto' too, thanks to Philip Grodzki who helped to point out the issue. * Inventory: improve POD documentation * Inventory: Display a debug message if the STORAGES/INTERFACE is invalid * backport from master FusionInventory::Agent::Tools::getCanonicalManufacturer() * Linux/CPU rename AuthenticAMD to AMD * injector: --help show usage menu * injector: minor clean up in the --help menu * Add 2011 in the copyright years * Win32: set HARDWARE/DESCRIPTION * Tools: move the code used to find .pm in @INC in getFusionInventoryLibdir() * Linux/Network: set the IPv6 network address (Ludovic Hutin) * HP-UX/CPU: improve the machinfo parsing, thanks Amir Pakdel for the machinfo output on HP-UX 11.23 * AIX: collect EMC/Clariion LUN storage (Sébastien Dagnicourt) * Win32: fix NETWORKS/VIRTUALDEV on OS prior Vista (David DURIEUX) * Internal: add and use getFusionInventoryLibdir(), getFusionInventoryTaskList() * Linux/Storage: collect WWN from SAS / SATA disk using hdparm * Win32/Networks: avoid duplicated IP in HARDWARE/IPADDR, thanks Fernando Lagrange for the bug report http://forge.fusioninventory.org/users/603 * Gentoo: fix the regex to collect packages, https://bugs.launchpad.net/ocsinventory-contact/+bug/720626 * Linux: dhcp-leases file now always detected, mostly on Redhat hosts (Bernhard Denner) https://bugs.launchpad.net/ocsinventory-unix-agent/+bug/720628 * Win32: retrieve Antivirus information from //./root/SecurityCenter2 on Win7 http://forge.fusioninventory.org/issues/583 * Add VIRTUALMACHINES/MAC key * Win32: software, do not ignore software with very few information * Win32: better detection of product key on 64bit system, thanks Ionut Bujor for the feedbacks http://forge.fusioninventory.org/issues/582 * Drop the Ping task. Was not used. 2.1.7 Sun, 12 Dec 2010 * RPC: Better message if access is denied * add --no-p2p parameter http://forge.fusioninventory.org/issues/507 * initialize $config->{'rpc-trust-localhost'} to avoid a warning with --help * injector: fix the --help, there is no default server * fusioninventory-agent, do not load lib with use to be able to change the @INC first. this is needed for AIX 6.1 prebuilt. * AIX/CPU: use addCPU() and collect the CORE/THREAD * AIX/hardware: fix a typo sysplanar0 instead of sysplana00 * AIX/storage: reinitialise temp var correctly * AIX/storage: store the harddrive serial number * AIX/storage: use addStroage * AIX/user: use addUser() * Big Oops, CPUID != CPU serial number, see: http://en.wikipedia.org/wiki/CPUID Revert commit a1c4c665, which is broken because of that: Win32: try to identify dual core CPU even if Windows thinks it two physical CPU * Linux/resolution: fix the parsing for Nouveau, than Remi Collet * Linux: improve the Harddrive detection if lshal is not avalaible, thanks Bernhard DENNER for the initial patch https://bugs.launchpad.net/bugs/682689 * No warning if ddcprobe is not avalaible 2.1.7_beta1 Fri, 19 Nov 2010 * replace Cwd::abs_path with File::Spec->rel2abs abs_path fails if the directory doesn't exist yet. This was breaking --basevardir on UNIX system. The problem was fixed on Win32 with the 2.1.5 release. See commit 6f376013c8584145a8f824632f1292b3212bd3ca a1f32c62145c46fa176165bba1695420505290b7 * Fix regression: Do not empty log file if logfile-maxsize is undef or 0, thanks Remi Collet http://forge.fusioninventory.org/issues/414 * Linux/PPC: Fix various warnings in CPU.pm * Linux/PPC: ignore some wrong warning * Linux: CPUS/TYPE renamed to CPUS/NAME * POD: add doc for BIOS/{S,B}MANUFACTURER * POD: fix a syntax error in fusioninventory-agent * use the default basevardir. * POD: clarify, we ignore virtual filesystem like /proc in * Solaris: move showrev output example in ressources/solaris * Solaris: ignore Zone on Solaris < 5.10 * Solaris: collect the UUID on x86 http://forge.fusioninventory.org/issues/428 * OpenSolaris: collect firmware information even if showrev is not installed * OpenSolaris: support GNU df to collect partition * Solaris: identify zfs filesystem and collect serial number (UUID) * Solaris/Drives.pm code clean up * Solaris/Storages.pm Don't set revision to 'Serial' if revision is empty * MacOSX: No serial & uudi gathered on Mac OS X 10.5 running VirtualBox fail back on ioreg when system_profiler do not give the wanted information http://forge.fusioninventory.org/issues/431 * import a dmidecode output on OpenBSD 4.5 * BSD/Storage: Avoid warning if model is unknown * BSD/CPU: failback on CPU Family if Version is empty in dmidecode, closes: #439 http://forge.fusioninventory.org/issues/439 * Linux, distro detection: ensure /etc/issue is parsed last if lsb_release is missing. This way /etc/debian_version is used on Debian * Linux: correctly parse /etc/resolv.conf to identify the domain * Linux: don't save 2 time the same domain * Linux/ARM: collect the Hardware information from /proc/cpuinfo * BSD: use sysctl -n hw.model to get the CPU name and frequency * MacOSX: Mem.pm, convert hex string to ASCII when needed, thanks Sylvain la Gravière for the bug report http://forge.fusioninventory.org/issues/440 * Screen.pm: Add support for 3 new manufacturer. Backport Adam Buchbinder changes on 1.1.x branch * Linux/ARM: collect the Hardware information from /proc/cpuinfo * Windows: Disable dmidecode.exe on Win2003 http://forge.fusioninventory.org/issues/379 * MacOSX/Drives: don't ignore autofs filesystem, thanks François Legastelois for the bug report http://forge.fusioninventory.org/issues/446 * BSD: use mount to identify the filesystem type, this shoud fix bug #450 http://forge.fusioninventory.org/issues/450 * Win32: try to identify dual core CPU even if Windows thinks it two physical CPU * Win32: no need to change %PATH% anymore http://forge.fusioninventory.org/issues/151 * fusioninventory-agent-config, better question for server address * BIOS: clean up - do not mix motherboard and system information anymore - do not use CPU information do create fake serial anymore - retrieve the SKU number * MacOSX: use ioreg to get the machine serial number http://forge.fusioninventory.org/issues/442 * Logger: ensure the logger is load just one time * add fusioninventory-injector in the distribution * Linux: fix: Agent don't give video ram size and video resolution, Eric FREYENS for the fix suggestion. We now use ddcprobe or Xorg to get the resolution of the main screen. This fix will be improved in the futur and should be seen as experimental http://forge.fusioninventory.org/issues/316 * Win32: ignore garbage character in the XML, and filter SOFTWARES/VERSION to deal with some very strange case, thanks Mario GZUK for the bug report and RDP access http://forge.fusioninventory.org/issues/415 * MacOSX: ignore a warning in Drives.pm http://forge.fusioninventory.org/issues/441 * MacOSX: retrieve partition UUID on MacOSX 10.4 * Linux, use ddcprobe and Xorg log file to detect the X resolution, turn off the generic Screen.pm module * Solaris/Networks: no ugly hack to detect the Perl bin path to launch kstat http://forge.fusioninventory.org/issues/497 * Solaris/Networks: no useless grep call * HTML: add the deviceid in the HTML file * Linux/CPU: workaround if cpuinfo has broken "physical id" http://forge.fusioninventory.org/issues/505 * BSD: add support for DragonFlyBSD! :D * VirtualBox: Don't use process list (ps) to find running process * MacOSX/VirtualBox: looks for user dir in /Users on MacOSX * Linux/Storage: ignore fdisk -l error message http://forge.fusioninventory.org/issues/503 * Linux/Storage: avoid error message with fdisk -s on invalid devices * RPC: Allow access to / from everywhere 2.1.6 Tue, 05 Oct 2010 * Ensure the RPC serivce URL printed in the log message targets http://127.0.0.1::62354 with the default settings * Restore the Storage even if the target is not a server. Enable --tag and keep the DeviceID * fix 2.1.5 regression, correctly initialise $basevardir default value * POD, explain the registry is used on Windows, thanks Stéphane URBANOVSKI * Add support for MontaVista Linux, thanks Luka KODRIC * BSD: Fix a syntax error in Domain * BSD: Some adjustement for Debian GNU/kFreeBSD * BSD: avoid warning if the lease file can't be parsed * BSD: Drives.pm hide, df messages on STDERR * BSD: convert the IP mask from hex to dec * Win32: workaround to add timeout for HTTPS on Windows * OpenBSD: Do not fails if dmesg is in /sbin/dmesg instead of /bin/dmesg * AIX: ignore /proc filesystem like on Linux http://forge.fusioninventory.org/issues/397 * Logger: avoid breakage if log file is > 5MB, thanks Benoit Machiavello http://forge.fusioninventory.org/issues/406 * AIX: Error running AIX::Mem module on AIX 6.1, thanks Luka KODRIC http://forge.fusioninventory.org/issues/399 * AIX: Erroor in harddrive module on AIX 6.1, thanks Luka KODRIC http://forge.fusioninventory.org/issues/398 2.1.5 Wed, 15 Sep 2010 * Win32: Do not fail if the log file doesn't exist yet, thanks Igor * Win32: Correclty launch the sub Perl process, thanks Igor * Fix: Some NETWORKS/VIRTUALDEV were set to yes instead of 1 http://forge.fusioninventory.org/issues/352 2.1.4 Wed, 15 Sep 2010 * Save the realm if we found it by ourself. With this changes we avoid useless request with the wrong realm from sub module * Add Win32::OLE and Win32::TieRegistry dependency on Win32 * MacOSX: fix the memory size inventory, thanks Eric Freyens for the bug report * Do not use dmidecode if it fails to give valuable information, use WMI instead on Win32 * ensure basevardir and share-dir are canonical pathname * POD doc, add this sentence: "The command line parameters overwrite the configuration file." * Fix several issues in agent.cfg file (Walid NOUH) * Corrected a lot of english sentences (Benoit MORTIER) * Win32, avoid warning if the CPU has no name http://forge.fusioninventory.org/issues/349 * if envvar REALLIB is defined, we use it to overright @INC, this in order to relocate the perl tree easily * Pass @INC content to the subprocess * Vmsystem, ignore some normal warning (missing /proc on some OSes) http://forge.fusioninventory.org/issues/326 * fix Solaris Zone detection and add a test and some Solaris release file http://forge.fusioninventory.org/issues/323 2.1.3 Wed, 01 Sep 2010 * Linux: Avoid error on system with no /proc/bus/input/devices * agent.cfg, add more server= parameter example * --server remove spaces at the begin and end of the server parameter * Networks.pm: fix is_success, load use HTTP::Status; * fix t/xml-query-inventory.t to not fail on non i486-linux-gnu-thread-multi arch * fix t/app.t on Windows 2.1.2 Mon, 23 Aug 2010 * set a default SNMP version to really avoid warnings * Add ./t/README.t to check is README{,.html} files are present * Really set a default SNMP version, and bails out if an invalid version is used * Fix compatibility with snmpquery and netdiscovery plugins * Fix some warnings in Screen.pm * Ensure Xen PVH host identification * Linux: fix DNS domain detection * t/modules.t: do not fail on Syslog on Windows 2.1.1 Wed, 18 Aug 2010 * Turn daemon mode off in the base configuration file * Fix some POD warnings * POD: document the common server URL for OCS and FusInv for GLPI * Add resources/hal/rh4-kvm and test it with t/drives.t adjustment needed * RH4, avoid false STORAGES (partition instead of disk) * Proc::Daemon close all the file descriptors including the file logger. We reopen it if needed * Print rpc-trust-localhost value in --help * RPC, cosmetic adjustement in debug message format http://forge.fusioninventory.org/issues/290 * Linux/Storage: avoid breakaging if there is no disk in HAL * FusionInventory::Agent::SNMP clean up to avoid warning at run time (Guillaume Rousse) * Linux: parseLshal(): do not return empty hash ref anymore, thanks Guillaume Garson * Fix bypassing of virtualised system detection * Fix error message for non-present zoneadmin command * Do not call getCapacity() in parseUdev(), thanks Michał Panasiewicz 2.1 Sun, 15 Aug 2010 * cleanup Makefile.PL * enhance documentation with optional and mandatory dependencies * drop README file lost in the middle of perl modules * Fix some warnings on Windows * agent.cfg, fix a syntax error * turns most call to carp() and die() into logger usage * Linux: storage, hdparm gives more reliable serial number * XML, storage, rename STORAGES/SERIAL to STORAGES/SERIALNUMBER, thanks azman * Win32: uses WMI to collect Environment vars to get correct UTF-8 data * Win32: ensure the hostname is in UTF-8 * Win32: fix: load Win32::OLE in UTF-8 * Win32: get the hostname from WMI in unicode * Win32: use the standard codepage to access the registry * Big thank you to Denis Linvinus who gave RDP access to a Russian Windows * Win32: don't put BIOS ROM in STORAGES, thanks EmpereurZorg * Win32: add Modem.pm * Fix: Virtuozzo containers memory unit (Jan JUNGMANN) * Win32: Ignore network it the network interface has no PNPDeviceID http://comments.gmane.org/gmane.comp.monitoring.fusion-inventory.devel/34 * HP-UX: fix --no-software support * Win32: retrieve the Windows key on Windows 64 bit, http://forge.fusioninventory.org/issues/267 * Win32: Push the default monitor in http://forge.fusioninventory.org/issues/252 http://forge.fusioninventory.org/issues/269 * Win32: Use the GUID as software name is NAME is empty * Solaris: Various fixes (CPU, memory, storage) * Fix HTTP auth on non HTTPS server, _BIG_ thinks to Mario Gzuk and Michael Kolowicz * Linux: Avoid a warning if /sys/class/net/%INTERFACE%/device/uevent doesn't exist * Basic HTTP Auth: if the realm parameter is missing, the agent reuse the one from the server * Initialize PROLOG_FREQ to 1h for every target * Don't fail is RPC module can't be loaded. threads and HTTP::Daemon are optional and it may be normal. * web interface: do not open a new windows when an inventory is forced 2.1_rc3 Sun, 25 Jul 2010 * MacOSX: fix if diskutils gives size in GB/MB instead of GiB/MiB * MacOSX: ignore printer if name start with: The printers list is empty. To add printers (fixes: #169) * MacOSX, BSD, Linux: unify domain name computation to use host name as primary information source, and avoid using windows-specific 'workgroup' as default value * Add resources/cpuinfo/linux-686-samsung-nc10-1 * Fix, restore ability to specify server as an host name rather than a full URL * Fix, restore --noinventory support, print a warning saying --no-inventory should be used instead * Fix: Linux, PC: detect CPU configuration of machine with one CPU with one core and 2 threads (Samsung NC10) * Fix: Linux, PC: support /proc/cpuinfo with no "physical id:" thanks Sébastien Prud'homme * Fix: Linux, PC: get the number of core from dmidecode if avaible * Win32 and Linux, PC: get the CPU frequency from the CPU name, if possible. That's the most reliable way to get the information since 'Max Speed' in dmidecode is most of the time on crack and /proc/cpuinfo is not reliable because of the frequency scaling * Linux, PC: the cpu detection can work if only dmidecode is here * remove --perl-bin-dir-in-path, turns it on only in the Windows service * test scripts: fix is_deeply() argument order * RPC: print "now" as next contact date instead of 1/1970 * Inventory, correctly store user list * Fix the noDuplicated to avoid duplicated XML sections in inventory * Import the new FusionInventory logo * Fix, HP-UX errors when listing drives http://forge.fusioninventory.org/issues/188 (Amir PAKDEL) * Win32, network: Filter interfaces with no IP, IPv6 and MAC * Win32, printer: restore the DRIVER field * Win32, drive: restore the SIZE field * Win32, get the memories from WMI only if dmidecode is missing * Dmidecode, drop the unit from the memory speed like the Win32 OCS agent do * Win32, set the BIOS/TYPE field * Win32, storage: clean up. Reduce the number of hdparm call. * Win32, set USBDEVICES/NAME * RPC: rewrite the thread management to reduce the memory consumption on Windows * Win32: Users, we need to use Get() to retrieve Win32::OLE::Variant object content * Add more test scripts: xml-query-inventory.t, xml-query-simplemessage.t, t/xml-response.t * Fix a typo scanhomedirs → scan-homedirs * HP-UX: add HP-UX VM support (Sébastien PRUD'HOMME) * Linux, PC: CPU fixes for VMware ESX, thanks Benoit Machiavello * Linux: set correctly HARDWARE/WORKGROUP with the domain name, thanks Benoit Machiavello * HARDWARE/USERID: don't put more than one time in row the same user * Makefile.PL: Turns off the post-installation script. The hack is broken. * Solaris: imporove CPU, Mem, Slots (Lucas MASSE) * Solaris: imporove Bios, Controllers, Domains, Drives, IPv4, Memory, Networks, Packages, Storages and Users (Jérome LEBAS) * Add comment and default settings in agent.cfg (Walid NOUH) * UUID, improve the code to support old dmidecode * VirtualBox, improve Virtualbox detection, closes: #230 * MacOSX: Set the UUID * MacOSX: rewrite storage.pm without Mac::SysProfile * MacOSX: collecte IPv6 address * Win32: set the NT Domain for the WORKGROUP if avalaible like OCS agent * MacOSX: Collect Firewire disk 2.1_rc2 Thu, 01 Jul 2010 * MANIFEST.SKIP, we need the resources files for the test suite * Linux: set back DRIVES/FREE * Linux: CONTROLLERS/NAME drop the trailing whitespace * addEntry(), do not ignore $noDuplicated parameter * remplace --html-dir by --share-dir * use pciid to know the pci device name and manufacturer, thanks Sébastien Prud'homme * load dmidecode from $PATH * fix VirtualBox VM detection (David DURIEUX) * Makefile.PL, UNIVERSAL::require is a dependency now * Document --logger * Fix --logger: to not overwrite other loggers if --logfile is on * POD, add for PROCESSES inventory * tools/ fixes for Solaris shell * Add CONTROLLERS/REV * Fix: Linux/i386: retrieve the number of CORE correctly * Fix: Vmsystem, don't load 'version', we don't use it anymore * Fix: Linux/ARM: drop a debug print * Fix: Linux Storages, fix fdisk parsing * MacOSX: use addCPU to collect cpu information * MacOSX: the number of core of the CPU * MacOSX: Collect all the net devices and set VIRTUALDEV=1/0 * MacOSX: collect all the drives (fixes: #119) * MacOSX: DRIVES, swap VOLUMN and TYPE fields * Makefile.PL, no parameter for install_share, thanks Act from GLPI forum (http://www.glpi-project.org/forum/viewtopic.php?pid=107979#p107979) * Network.pm: drop the dependency on Net::SSLeay and IO::Socket::SSL, we don't need them (!) Fix: HTTP proxy with HTTPS * Network.pm: drop the dependency on Net::SSLeay and IO::Socket::SSL, we don't need them (!) Fix: HTTP proxy with HTTPS * Makefile.PL, no parameter for install_share, thanks Act from GLPI forum (http://www.glpi-project.org/forum/viewtopic.php?pid=107979#p107979) * Fix: don't ignore 0 values in the XML * MacOSX: don't use Mac::SysProfile to get memory info * Linux/i386: Igore empty CPU socket, thanks Sébastien Prud'homme, bug: #177 * MacOSX: USB devices inventory * LInux/PC: Fix the core detection on multiCPU system * in tools:build-perl-tree.sh download-perl-dependencies.sh merge-fusinv-with-perl-tree.sh and README are now in a new git repository 'agent-tools.git' * Linux + Lsilogic, avoid a warning if smartctl is installed * Linux Storage, parseUdev() use SERIALNUMBER _SHORT if avalaible 2.1_rc1 Sat, 26 Jun 2010 * Add Windows support for 2000/XP/2003/Vista/2008/Seven * Windows: Add new values for SOFTWARES key * Add Windows service * disable --color for Windows for now * Collect Solaris process informations (Emengao) * VirtualMachine: Add Vserver.pm * VirtualMachine: Check is the status is correct * detect Slackware packages (David DURIEUX) * Libvirt.pm switch SUBSYSTEM and VMTYPE values.VMTYPE is "libvirt" now * Better error handling if it's not possible to create basevardir * Inventory: reduce the number of debug messages * Add DRIVES/SYSTEMDRIVE to know if it's the system partition * Inventory.pm, fix: addStorages is deprecred, not addStorage * Inventory.pm, addSection() is now deprecated and a warning is printed everytime the function is called * Linux/PC/CPU: set CPU name and detect CORE/THREAD * Stores environement variables * Bios, add ENCLOSURESERIAL BASEBOARDSERIAL and BIOSSERIAL keys * Identify USB devices (Windows, Linux) * --realm was two time in --help * LoggerBackend/Syslog.pm: fix https://bugs.launchpad.net/bugs/571655 (Guillaume Rousse) * LoggerBackend/File.pm: don't reopen file descriptor for every new message (Guillaume Rousse) * Cups.pm: gets all installed printers and their drivers names (Aurelien Bondis) * ocsinventory-ng is not more the default server hostname, you've to set it yourself in agent.cfg * Inputs.pm: adds Inputs support for Linux clients (Aurelien Bondis) * Turns off interactive mode of GNU fdisk (Aurelien Bondis) * Add a few new PNP monitor IDs (Alex Mauer) * Makefile.PL: Define Perl 5.8 as the minimal version. * RPC: Add http://hostname:62354/status to get the current status of the agent * Add --rpc-trust-localhost * RPC: serve a basic page to present the agent * --html-dir parameter * Linux/Domains. Use Sys::Hostname to get the domain * Exit if no --server or --target is defined * Inventory: If two modules with the same name are found, only load the first * Linux/Storages: detect floppy and block devices (Amir PAKDEL) * Linux/Storages: don't attempt to run df on cdrom devices (Guillaume Rousse) * Linux/Storages: factorize redudant code for udev devices detection (Guillaume Rousse) * HP-UX numerous improvement (Amir PAKDEL) * Add NETWORKS/SPEED (in MB/s) (Amir PAKDEL) * HP-UX/Drives: Swapped "Type" and "File System" (Amir PAKDEL) * Inventory: POD doc for NETWORKS part * add --no-printer parameter * BSD: don't use uname to get the OSName, but $^O aka $SNAME * BSD: chomp() the number of CPU * HP RAID disk detection is now in Generic directory and so, can be used by Windows and probably HP-UX. * Linux: use blkid to get the partition serial number * Task: Add the Ping.pm module for debugging purpose * HTTP::Daemon::get_request is not thread safe and must be called from the master thread. The timeout is set at 5 seconds to avoid blockage * Linux: HP Integrated Lights-Out (iLO) (Management Interface of HP ProLiant servers) (Amir PAKDEL) * HP-UX: HP Management Processor (MP) (Management Interface of HP Integrity servers) (Amir PAKDEL) * Add --perl-bin-dir-in-path parameter for the Windows package * Collect Batteries information * Add --disable-perllib-envvar to be able to ignore PERLLIB and PERL5LIB envvar * turns off PERL5LIB envvar in win32-service * Get CONTROLLERS/PCISUBSYSTEMID * Simplify a lot Inventory.pm, add _addEntry() function * Do not set CPU Id as MBoard serial number anymore * XML: Only set the non empty field to decrease the final file size and improve the performance * Add a template config file in etc/agent.cfg * Add --conf-file=XXX parameter to allow the user to use another config file * Fix, allow dash in key name in config file * Rethink the script in ./tools, see ./tools/README * Inventory: use encode('UTF-8', $string) to reencode to UTF-8 string detected invalide. * print help messages on STDERR * Linux: factorize redundant modules for non-LSB Linux distribution identification (Guillaume Rousse) * rewrite lshal and dmidecode parsing code for readability and efficiency (Guillaume Rousse) * don't test umask() result, it always succeed * don't test Sys::Hostname availability, it's a core module * RPC: ignore when socket::accept return an undef $socket * RPC: display the date of the next inventory planned * testing: test modules loading (Guillaume Rousse) * testing: test PBP compliance (Guillaume Rousse) * testing: test dmidecode and lshal parsing tests (Guillaume Rousse) * code cleanup: ensure consistent 4-spaces indentation step everyhwere (Guillaume Rousse) * code cleanup: use strict and warning pragmas everywhere (Guillaume Rousse) * code cleanup: use lexical file handles (Guillaume Rousse) * code cleanup: use 3-args open statement (Guillaume Rousse) * code cleanup: use block-style eval statement (Guillaume Rousse) * code cleanup: use english names for magic variables (Guillaume Rousse) * code cleanup: use explicit return statement (Guillaume Rousse) * code cleanup: ensure all opened file handles are proprely closed (Guillaume Rousse) * code cleanup: ensure all open failure are signaled to user with a meaningful message (Guillaume Rousse) * code cleanup: ensure object constructors can handle subclasses (Guillaume Rousse) * Linux/Storages: Rename addStorages to addStorage finally * Add Virtuozzo support (Jan JUNGMANN) * merge README file with the fusioninventory-agent POD documentation * File::Find is required * Add --html parameter * Improve --help presentation 2.0.7 Mon, 14 Jun 2010 * Avoid a warning if --stdout is used. * print help messages on STDERR * --wait: no need to wait before the final exit * Inventory PROCESSES. Support more different date format and avoid warning 2.0.6 Fri, 28 May 2010 * Fix DRIVES/CREATEDATE for ext* filesystem * Inventory: Always generate a CHECKSUM, OCS is not able to import inventory is the key is missing, thanks Eric Feron * Ipdiscover: Fix, wrong IP/MAC pair, thanks anto1ne https://bugs.launchpad.net/bugs/585753 * Fix dmidecode version comparaison https://bugs.launchpad.net/ocsinventory-unix-agent/+bug/586321 (Guillaume Rousse) * Mismatch between xen dom0 and xen PV host https://bugs.launchpad.net/ocsinventory-unix-agent/+bug/586337 (Guillaume Rousse) 2.0.5 Wed, 12 May 2010 * Don't use dmidecode with -t and -s parameter since it's not supported on RHEL4 * Remove wrong code to detect problem with umask. umask(077) will returns the previous umask. In daemon mode, the umask is set to 0 which was seen as an error code * Fix a minor typo in Storage.pm * daemon mode: don't change current directory to / if --devlib is on * Add MIME::Base64 as recommended package * A Fedora RPC spec file in contrib/fedora (Remi COLLET) * RPC: drop the sleep(1) before every new request * RPC: avoid threads::running to keep compatiblity with Perl < 5.10 * SSL: --ca-cert-file correctly detect if the cert is present * Don't use ExtUtils::Installed to identify the installed files, ExtUtils::Installed looks all the @INC directory for .pack files, including '.'. When the agent was launched by a cron task or in daemon mode, the current directory is / and so the whole system was scanned, thank you Remi COLLET for pointing this issue. * BIOS: correctly set SMANUFACTURER and SSN instead of SMANUFACTURERSSN 2.0.4 Thu, 06 May 2010 * Add debug message on WOL and correction when no mac address comes in xml file from server (David DURIEUX) * etc/cron.d/fusioninventory-agent, call fusioninventory-agent instead of ocsinventory-agent * limit the number of RPC connection, and fix the Win32 issue * Restore --wait XXX * Fix --wait documentation. * Avoid an error with --lazy, thanks Remi Collet * Bump "Next server contact planned for ..." message severity from debug to info 2.0.3 Sun, 11 Apr 2010 * Fix a syntax problem in FusionInventory::Agent::Network 2.0.2 Sat Apr 10 * fusioninventory-agent-config: Fix a typo, thank you Act * --delaytime really read the parameter, thanks Walid NOUH * fix --no-socket * Fix a typo in fusioninventory-agent-config, logtotate (Girish NAVUDA) * Fix: between two server query, really wait during a random period still based on server PROLOG_FREQ * Do not load Crypt::SSLeay and IO::Socket::SSL at the same * POD doc, explain how to use more than one server * Fix: between two server query, really wait during a random period still based on server PROLOG_FREQ * SNMP.pm: Correct bug when oid result is pack and put mac in right format (David DURIEUX) * Set 2.0.1 release date in Changes file 2.0.1 (Solarium) Sun, 28 Mar 2010 * tools/build-perl-tree.sh: clean up * Only use thread if Perl has got thread support, thank you Lei Andy Shi for the bug report (LP: #545477) * -D/-d avoid unless loop if --local is used too * RPC: correctly initialize $logger in new() * Add a warning for the Storage.pm breakage with pre 2.0 tasks * SNMP.pm: fixes (David DURIEUX) 2.0 (Zygotene Bouquet) Tue, 23 Mar 2010 * OcsDeploy: avoid a warning when the server don't send DOWNLOAD option * Drop the Net::Walk dependency * README, add File::Copy::Recursive in the list of dependency * OcsDeploy: use 'df -Pm' to get a consistent output with GNU tools * Task exec: Log the errcode return by the system() * Debug: do not drop the FusionInventory-Agent.dump to help debbuging * VERSION is not defined in $FusionInventory::Agent::VERSION * README: Clean up * Storage: Use only hashref to pass arguments * SNMPQuery: translate in english some comments * FusionInventory::Agent::Task::{OcsDeploy,NetDiscovery,SNMPQuery} are now maintained in new sub-projects - drop their dependencies in Makefile.PL * backport a fix from ocsinventory in fusioninventory-agent-config to fix a typo thanks Guillaume PROTET and Jean-Sebastien NORMAND ocsinventor-agent → ocsinventory-agent * Don't try to parse empty response from server * fusioninventory-agent-config: RPM/DEB mode turn off by default * Check if the module is installed before the execution * fusioninventory-agent-config: add a minimalist POD doc * FusionInventory::Agent::RPC add POD documentation * Network.pm: Load LWP::UserAgent and HTTP::Status in an eval to get these dependencies loaded only when needed * Makefile.PL add Net::CUPS is recommended * Linux, retrieve the PCI Class 2.0beta4 Thu, 04 Mar 2010 * Drop the dependency on Net::SSLGlue::LWP because its own dependencies are not avalaible on RHEL5.x, thank you Remi Collet for pointing this issue. * Makefile.PL: suggest IO::Socket::SSL for SSL * Drop the Dependency on LWP::Simple * RPC: Do not die if client send random data * HP-UX: Use can_run to know if machinfo if avalaible (François MERMET) * HP-UX: code clean up (François MERMET) * Net::IP is now required. * OcsDeploy: Fix 2 malformed regex, thank you Mario Gzuk * OcsDeploy: avoid a warning if $rc in unset on Perl 5.8 * OcsDeploy: Archive::Extract is just recommended now * Network: load HTTP::Status * standalone.sh dropped, was deprecated with the 2.0 changes * Do not ignore --server if --local is present * Inventory: No need to generate in local mode * Inventory: create one last_state file per server * Inventory: save last_state if server send a response * Storage: use umask 077 for stored files * Target and Logger: fix the lock, use a global var now * Inventory: Set the VERSIONCLIENT XML key * HPUX: Software, fix the package name * MacOSX, move the MacOSX packing files from the main branch to lp:fusioninventory-agent/macosx * SNMPQUERY : Update Dico to known new devices (David DURIEUX) * SNMPQUERY : Corrections of ports, mac address and other things (David DURIEUX) * NETDISCOVERY : Correction of NMAP discovery (David DURIEUX) * NETDISCOVERY : Correction of many bugs (empty devices, data send to server...) (David DURIEUX) * rename FusionInventory::Agent::Task::NetDiscovery::dico in FusionInventory::Agent::Task::NetDiscovery::Dico; * WAKEONLAN : Begin to rewrite good WOL, so send magic packet directly on OSI2 of network card (ONLY FOR LINUX UNDER ROOT) (David DURIEUX) 2.0beta3 Mon, 22 Feb 2010 * README: clean up * Do not use IPC::Run, thanks Mario Gzuk * Fix --local * fix: Invalid type 'W' in pack in RPC.pm, thanks Mario Gzuk * HP-UX: fix the module. They'd been broken during the merge * Turns Off FusionInventory::Agent::Storage * Correctly checks if $basevardir exist (-d instead of -f) * --no-ssl-check, show warning just one time * Libvirt.pm: ignore stderr * HP-UX: Fix CPU/serial detection on HP-UX 11.31 (Marty RIEDLING) * POD documentation for FusionInventory::Agent::Network * POD documentation clean in FusionInventory::Agent::XML::Query::Inventory * POD documentation for FusionInventory::Agent::XML::Query::SimpleMessage * Linux: Handle channel bonding interfaces (Stéphane URBANOVSKI) * XML: clean up addNetwork (Stéphane URBANOVSKI) * CPU: Add CORE/THREAD * Inventory: use the standard Inventory object * Inventory: correctly save OcsDeploy package ID * NetDiscover/SNMP: Various changes (David DURIEUX) 2.0beta2 Wed, 17 Feb 2010 * Update dico for detected devices in NETDISCOVERY module (David DURIEUX) * Changes file clean up 2.0beta1 Wed, 17 Feb 2010 * Use Sys::Hostname instead of uname for better portability * add --daemon-no-fork * post-install.pl: Don't ask the user if Download.pm should be enabled * Drop the linux_agent modules compatibility layer * Rename module hook functions: check() → isInventoryEnabled() run() → doInventory() longRun() → postInventory() * Add isPostInventoryEnabled() function * Drop AccountConfig. replaced by Storage * Move Ocsinventory::Agent::XML::{Inventory,Prolog,SimpleMessage} in Ocsinventory::Agent::XML::Query * WakeOnLan support (David DURIEUX) * Ocsinventory renamed to FusionInventory * OcsDeply jull rewrite * P2P mode in daemon mode (-d or -D) * add --rpc-ip * SNMP support (David DURIEUX) * Network discovery (David DURIEUX) * WakeOnLan (David DURIEUX) * postinst.pl is now and is installed in the $PATH * Solaris: use regex to identify CPU class (Jerome LEBAS) * Solaris/Network: support Zone (Jerome LEBAS) * HP-UX: initial support, tested on RP3440 (François MERMET) * Changed arguments to dpkg-query for compatibility (Scott HANNAHS) * MacOSX: Distinguish clearly between "OS Name" and "System Version" by parsing output carefully for both variables. Clean up language in description. (Scott HANNAHS) * Add an in contrib example of script to identify specific software (Simon CLARA) * Upgrade memconf to V2.13 * Use parameters to simplify the way dmidecode is called (Dmitry ILYIN) * Solaris: Bonding support (Stéphane URBANOVSKI) * Remove exec flag on lib/Ocsinventory/Agent/Backend/OS/MacOS/Hostname.pm (Remi COLLET) * spelling in manpage authentification → authentication * MacOSX: Correctly identify the CPU frequency on MacOSX 1.6 French, thanks Grek * Improve the README about non-interactive installation * Bump copyright date from 2009 to 2010 * Linux/PPC: Frequency is an integer, not a float * run dosfslabel on the correct device * Nmap: Check ip send by server 1.1.2 Sun, 27 Dec 2009 * Avoid problem with dmidecode -V output on RHEL3.9 (Remi COLLET) * Fix internal --delaytime handling. That's seconds, not hours! * Download.pm: improve a error message 1.1.1 Mon, 21 Dec 2009 * NETWORKS/VIRTUALDEV should be 1 or 0 * FreeBSD: Fix CPU detection (David DURIEUX) * Virtualization::Qemu, fix kvm detection * Don't run brctl if it's not installed * Various wording fixes (Vincent KNECHT) * Improve README (Barius DRUBECK) * Get serial number from ext4 partition if ext4dev driver is used * LP: #494908 Agent fails to retrieve info file when a package is activated only with the server name (Pascal DANEK) * LP: #495398 Fix RedHat version detection (Stéphane URBANOVSKI) * Improve README (Barius DRUBECK) * LP: #490774 Fix PowerPC CPU detection on Linux, thanks darkpep for the bug report 1.1 Fri, 06 Nov 2009 * addMemorie() renamed to addMemories(), this had been broken during the addMemories() → addMemory() transition * Debug mode: msg "check function failed" changed to "ignored" since the fails may be wanted by the check() function * CompatibilityLayer: $self->{params} changed to $self->{config}, this restore the debug mode in Download.pm * Continue XML::Inventory functions name clean up. Rename: - addSlots() calls to addSlot() - addMemories() calls to addMemory() * Move ocsinventory-agent POD documentation frol Ocsinventory::Agent to the ocsinventory-agent shell script. So now the manpage has the correct name * Fix RPM output parsing (Remi COLLET) * VMWareESX: avoid breakage is VM has spaces in its name (Christian Michallek) * Try to detect kvm --uuid value * Makefile.PL, check for Net::SSLeay * Move Ocsinventory::Agent in a .pm and add a wrapper script to load in order to by able to process --devlib * Parallels.pm: doesn't use sudo anymore and check for --scan-homedirs * Prune 'Mac OS X' from the version on Mac + typo fixes (Scott HANNAHS) * POD doc, add a paragraph about the config file * LP: #462529, Fix EDID screen detection, thanks Sergio MERINO * Use boolean for networks/virtualdev * Generic/Screen: chomp uuencode output * Generic/Screen: HSD code for "Hanns.G" (Remi COLLET) * postinst.pl, put user $PATH in /etc/cron.d/ocsinventory-agent 1.1_beta1 Fri, 18 Sep 2009 * Can use Net::CUPS to find the default printer * AIX: Hide procfs in Filesystem * OS::Linux::Storages, correctly retrieve the serial (Vladimir ELISSEEV) * load $http_proxy env settings and --proxy option is available * Add OS::Linux::Distro::NonLSB::ArchLinux (Julien SAFAR) * New Backend OS::Generic::Processes * Linux/BSD: detect DNS servers config * Solaris: Better output for $OSVErsion (Vladimir ELISSEEV) * Solaris: Sun Fire T1000 patches for memory (Vladimir ELISSEEV) * Solaris: memory SPARC Enterprise T5220 (Vladimir ELISSEEV) * Solaris: CPU SPARC Enterprise T5220 (Vladimir ELISSEEV) * Solaris: CPU SPARC Enterprise T5220 (Vladimir ELISSEEV) * Linux: split the /proc/cpuinfo parsing depending on the arch * Linux: drop Linux::Controllers which is duplicated with Generic::Lspci::Controllers (Vladimir ELISSEEV) * AIX: Various fixes in Memory.pm (Sebastien DAGNICOURT) * AIX: Storages.pm, Virtual disks support and fixes (Sebastien DAGNICOURT) * Backend.pm: Bump the default timeout from 30 to 180 secondes * Agent/XML/Inventory: Fix when version == 0, bug found by neisen * AIX: device type adjustment (Sebastien DAGNICOURT) * Solaris: Sun-Fire-V440 support (Sebastien DAGNICOURT) * Add a missing space is the name banner in --debug mode * Agent/XML/Inventory.pm: Add FROM and INSTALLDATE fields in software list and LASTLOGGEDUSER DATELASTLOGGEDUSER in HARDWARE (Nicolas EISEN) * Initialize etcdir key even if there is no config file * CompatibilityLayer: correctly set $debug * CompatibilityLayer: better log messages * getOptionInfoByName return an array ref now * rename getOptionInfoByName to getOptionsInfoByName * --debug print the XML on STDERR * Rename the params key to config to avoid ambiguity with $params * set HARDWARE/DEFAULTGATEWAY (Nicolas EISEN) * RPM: collect the install date and the size (Nicolas EISEN) * Linux: Collect LASTLOGGEDUSER and DATELASTLOGGEDUSER (Nicolas EISEN) * DPKG: collect the Installed-Size (Nicolas EISEN) * Linux: Collect the ext{2,3,4} and xfs serial number * Linux: Collect the ext{2,3,4} creation date * Add a warning when no certificat is found * Turns off alarm once it's backend run is finish * Fix the IPMI module detection * Linux: Store the PCISLOT and the driver name * NETWORKDS, only store Networks with an address * Linux: detect virtual network device * Linux: Store CONTROLLERS/DRIVER and CONTROLLERS/PCISLOT * Linux: Collects xfs, ext{2,3,4} and vfat label * runs the backend module from main() it's possible to reuse the Backend object. * Linux: filter non standard MAC address returned by ifconfig like 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 mac * Linux: Fix the Uptime check() * Preliminary libvirt support * Partial rewrite of the Download.pm backend * Add a warning if the user is no root, thanks Nicolas EISEN and Sylvain LUCE * SPARC-Enterprise M4000 and M5000 support (Sylvain LUCE) * Libvirt: collect VCPU info (Philippe LIBAT) * Add Virtualization::Xen module (Philippe LIBAT) * Solaris: add a warning if memconf is not in $PATH * Switch the XML content from ISO-8859-1 to UTF-8, BTW we force LC_ALL=C... * Fix the history flood in Download.pm (Pascal DANEK) https://sourceforge.net/tracker/index.php?func=detail&aid=2806585&group_id=58373&atid=487492 * Stores PCIID in CONTROLLERS/PCIID * Storage the monitor EDID string in BASE64 and UUENCODE * Linux: Storages: reorganize the code base and use lshal * Linux: Drives, complete inforamtions with lshal (Nicolas EISEN) * Linux: fix the PowerPC CPU detection https://sourceforge.net/tracker/?func=detail&atid=487492&aid=2043221&group_id=58373 * Warns the user during the install process if one of the recommended module is not installed * Update out copy of memconf, thanks WeatherDave who notified the new revision and of course Tom Schmidt who do a great job * MacOSX: Avoid a scalar used has hash ref error, thanks Adadov * Save VIDEOS/MEMORY and VIDEOS/RESOLUTION * MacOSX: Correctilly detect Up/Down network interfaces (David OLIVIER) * AddNetwork() doesn't ignore network with no IP address (David OLIVIER) * add --backend-collect-timeout parameter (Nicolas EISEN) * MacOSX: convert the IP mask from hex (David OLIVIER) * MacOSX: add a workaround to avoid Mac::SysProfile failure on MacOSX 10.5.7 (David OLIVIER) * Add Virtualization::VirtualBox module (Nicolas EISEN) * Add Virtualization::Qemu module (Nicolas EISEN) * Add Virtualization::Vmsystem module (Nicolas EISEN) * Better smartctl detection (Nicolas EISEN) * optimization and vm users detection Virtualization::VirtualBox (Nicolas EISEN) * Add Virtualization::VmwareFusion module (Walid NOUH) * Don't use hdparm prior 9.2.2 anymore to avoid crap in kernel log, see http://forums.ocsinventory-ng.org/viewtopic.php?pid=20768 * Correctly detect ipmitool * Solaris: i86pc Memory support (Jean-François BOUCHER) * Solaris Zone support (Maurizio BERTABONI) * Always send tag, even if server already has one * Add the byHand software collect method (Sébastien DAGNICOURT) * add logging to can_read(), can_load() and can_run() * use addUser() instead of setHardware() * Add the runcmd() in the Backend modules 1.0.1 Sun, 22 Mar 2009 * Fix a typo in Ocsinventory::Agent::Backend::OS::AIX::Memory 1.0 Sun, 22 Mar 2009 * Hide warning messages when tw_cli or hpacucli are not present on CentOS * Avoid unnecessary about missing 'http://' in local mode * Ipmi.pm: use can_run do detect ipmitool * LSB.pm: properly use can_run * Avoid a warning in CompatibilityLayer.pm in local mode * Improve the README file * Avoid a warning at runtime if rpm is not correctly installed * BSD: Detect AMD64 arch (David DURIEUX) * HP.pm: force detection even if slot 1 is 0 (Remi COLLET) * HP.pm minor clean up + indentation * HP.pm send the $model as NAME to avoid NAME == 'unknown' (Remi COLLET) * New backend module ServeRaid for IBM ServeRAID card (Remi COLLET) * Linux::Storages, fix the hdparm call (Remi COLLET) * OS::Generic::Dmidecode::Bios, fix for RHEL2 dmidecode (Remi COLLET) * launch backend modules with a 30sec timeout * post-inst.pl: use prompt() from ExtUtils::MakeMaker to avoid unexpected error with cpan * avoid the "No LSB modules are available." warning message * Backend: --debug print a warning when arun() function is not found * Fix the Debian/Ubuntu detection for non lsb system * postinst.pl also drop /etc/cron.d/ocsinventory-client is the user want to drop the old linux_agent * Backend::OS::Solaris::Memory: use the Logger instead of "print" * Solaris: Drop unwanted spaces around OSVERSION and STORAGES/DESCRIPTION * Solaris: Avoid warning is the user can't use fstyp * MANIFEST.SKIP: ignore .git/ and .gitignore * add a workaround for http://rt.cpan.org/Ticket/Display.html?id=38067 * build-perl-tree.sh use cpanp and perl 5.10 now * Backend.pm: do a eval around require File::Find * Add a workaround to find the backend modules for PAR::Packer * Backend.pm: internal change, now do eval 'use $pmodule' instead of require * fix serialnum detection in Lsilogic.pm and Adaptec.pm (Edouard GAMIN) * Makefile.PL: drop wait(), not used * Makefile.PL: fix a syntax error * add tools/makedist.sh to document the workaround used to avoid http://rt.cpan.org/Public/Bug/Display.html?id=43060 * Fix --logfile=/somewhere.log, see http://forums.ocsinventory-ng.org/viewtopic.php?id=3092 * tools/build-perl-tree.sh, add a new script * Don't print ugly error if next_timefile can't be saved * OS::Linux::Domains, improve the way it deals with multiple domaine entries (Remi COLLET) * AIX: Record the last memory Slot (Wilfried BRUNKEN) http://sourceforge.net/tracker/?func=detail&atid=487492&aid=2350694&group_id=58373 * Bump 0.0.10 to 1.0 because it's the first release to be officially part of the OCSInventory distribution 0.0.10beta2 Wed, 24 Sep 2008 * README: add a not about the $PATH varible on Solaris. * Added extra section support for backends (Pascal DANEK) * Fix the way submodules are disabled with $runMeIfTheseChecksFailed * Linux: Use lsb_release if presents to detect the OS, this will fix the Ubuntu detection * Hide a Perl warning if the agent is run by the user want the last_state file is missing * Add Ipmi backend module (Jean PARPAILLON) * Drop the control characters from the inventory XML https://sourceforge.net/tracker/index.php?func=detail&aid=2100606&group_id=58373&atid=487492 * Apply a little change in standalone.sh that may fix the ParserDetails.ini problem, thanks tharoun 0.0.10beta1 Thu, 04 Sep 2008 * Fix a "ocs server name" => URI side effect (Pascal DANEK) * Download::Store: used absolute path to "cp" on STORE action (Pascal DANEK) * Download::Store: set -dpR flags to "cp" (Pascal DANEK) * Solaris: Replaced hostid in serialnumber by real serialnumber (Nicolas DORFSMAN) (SUNWsneep becomes mandatory on sparc) * Solaris: Return only one IP address (trying to guess which one corresponds to hostname) (Nicolas DORFSMAN) * Solaris: return disks SERIALNUMBER and FIRMWARE as XML fields (Nicolas DORFSMAN) * Redirection and stderr issue on Solaris (Nicolas DORFSMAN) - Removed close of stderr fd - Modified lspci and screen check() to avoid pollution of stdout/stderr * fix the previous changelog entry, the 0.0.9.1 fix had been done by Nicolas DORFSMAN * postinst.pl checks for MANIFEST present * improve the backend module detection by also scanning the symlinked directory * add the --devlib flag to load ./lib only if wanted and remove '.' from the directory to scan with File::Find. * import the can_run, can_load and can_read functions in the Backend modules * the backend module can have no check function, in this case OCS assume it's ok * apply a patch by Etienne GUILLAUMONT to fix CPU detection on AIX 4 * standalone.sh checks PAR::Packer presence now * only inventory installed .deb * postinst.pl: accept another vardir if the first one was invalide https://sourceforge.net/tracker/?func=detail&atid=487492&aid=1961771&group_id=58373 * postinst.pl Download.pm correctly actived in modules.conf is the user needs it * add MacOSX support thanks to Wes YOUNG (Wes YOUNG) - Added tools/darwin/ support scripts/code for OS X enterprise deployment * add the follow_skip==2 flag to File::Find in Backend.pm so it doesn't detect the same file two time * import of backend module for RAID controler on Linux (3ware, Adaptec, HP and Lsilogic) (Edouard GAMIN) * remove a warning in Debug mod, if a backend module has no run() function * don't crash in Daemon mode if the server is unreachable (Wes YOUNG) * Net::IP is just (strongly) suggested now * fix --basevardir so it really accepts a parameter, thanks Gubluts from the forum who pointed out the bug * postinst.pl use which to find ocsinventory-agent location * Makefile.PL, Perl 5.6 doesn't have Config::config_re, I call it from an eval now * Added --delaytime option as commandline / .cfg file adjustable (Wes YOUNG) * standalone.sh, don't use grep -v since it's not POSIX * doesn't die if Storable.pm is missing like with perl 5.6 * avoid a warning with gzip -h on AIX if Compress::Zlib is missing * README: depends on Perl 5.8 * README: On solaris the Makefile needs gmake * README: Add a note about crontab and PATH * Linux: redirect hdparm error to /dev/null * postinst.pl yes/no questions have a default value now * postinst.pl fix a bug in the import of the old ocsinv.adm https://sourceforge.net/tracker/index.php?func=detail&aid=1991668&group_id=58373&atid=487492 * postinst.pl doesn't create two vardir directories anymore * do not print a wrning is --nosoftware is used. Thanks Knarfling and Remi who pointed the issue out. http://forums.ocsinventory-ng.org/viewtopic.php?pid=12569 * fix the POD documentation, some mistakes were detected by Perl 5.10's perldoc. * the agent doesn't crash anymore if ocsinv.adm or ocsinv.conf is corrupted * Makefile.pl: install memconf on Solaris * Solaris: apply patches to use memconf for CPU, Drives and Memory (Christoph HALMES) 0.0.9.2 04/18/2008 Bug fix * Add /ocsinventory in the server path if the user enter just the hostname https://sourceforge.net/tracker/?func=detail&atid=487492&aid=1945865&group_id=58373 0.0.9.1 04/03/2008 Bug fix * fix a error in the previous release that was forcing the local mode (Nicolas DORFSMAN) https://sourceforge.net/tracker/?func=detail&atid=487492&aid=1945863&group_id=58373 0.0.9 04/01/2008 April Fool release! * Added fallback for --lazy if no prolog freq was found and server error (Pascal DANEK) * Fixed accountinfos handling bugs (Pascal DANEK) * Changed --wait behaviour (--wait=number_of_seconds || "server") (Pascal DANEK) * PROLOG_FREQ is handled in prolog phase (Pascal DANEK) * the random value for file_nexttime is computed only if prolog_freq has changed since last prolog (Pascal DANEK) * import the documentation documentation by adding a description of the agent and pointer to the official website * --nosoft option renamed to --nosoftware, --nosoft still works but with a warning * add --basevardir to be able to use a specific place to store the var file * add the --lazy parameter: send an inventory only if the a random delay between 0 and PROLOG_FREQ had been run over. Usefull for package maintainer (Remi COLLET) * return 1 to the shell is the agent failed to contact the server * postinst.pl asks for the basevardir * postinst.pl write the modules.conf * OS::Linux::Network::Networks, correctly reset the ipaddress before every loop so now a network can't have the address of the previous one * rename the key $params->{conffile} to $params->{accountconfig} * fix the way accountinfo information are stored * improve (a bit) tools/standalone.sh to avoid error if people launch it from the tools directory * --server is ignore if --local is in use * adjust Backend::OS::Generic::Screen to be able to use monitor-edid with DVI link (Remi COLLET) * OS::Linux::Storages, add NEC as a know manufacturer add assume the manifacturer is Seagate if the model doesn't match the others and begin with ST (rjhill) * fix the CPU detection on Linux Sparc64 and ARM (Linksys NSLU2) * improve the Solaris version detection by reading the /etc/release file (Nicolas DORFSMAN) * Solaris: fix the MAC addresses when the leading zeros is missing (Jean-Jacques MICHEL) * Solaris: Add publisher is possible in the software list (Nicolas DORFSMAN) * Solaris: improve the hard drive detection (Nicolas DORFSMAN) * postinst.pl can remove the previous linux_agent * postinst.pl reuse linux_agent old config file to set the default server and tag * return the SERIALNUMBER and the FIRMWARE on Linux with hdparm, the feature is not supported yet by the server (egamin) 0.0.8.1 02/20/2008 * postinst.pl, correctly save the realm, do not override the password * Added "CAPTION" field to memory (Pascal DANEK) * Fix a bug with "NUMSLOTS" memory field (Pascal DANEK) * improve the parsing of the config file to accept quote and spaces in the value * postinst.pl save the configfile with 0600 right since the server password maybe be stored in it * standalone.sh doesn't scan the inc/ directory anymore * remove the BUNDLE packages which seem to break the install process * change Solaris::CPU to use psrinfo -v to get the CPUs which works fine on x86 * fix a path error in Ocsinventory::LoggerBackend::File (Remi COLLET) * fix: don't send the inventory if the server doesn't need it (Remi COLLET) 0.0.8 02/05/2008 * fix the deviceid and old_deviceid handling (Pascal DANEK) * fix a debug message in Network.pm (Pascal DANEK) * different fixes on Compress.pm (Pascal DANEK) * fix an event message name in Option/Download.pm (Pascal DANEK) * fix the Compatibility Layer with prolog_read hook (Pascal DANEK) * merge PowerPC and PC code to detect the CPU and improve/fix the regex * looks for config file in /etc/ocsinventory /usr/local/etc/ocsinventory and /etc/ocsinventory-agent * add a pod documentation about the different config files and directories * Compress::Zlib is required but recommended now. In fact, you need it with ocs server prior 1.02 0.0.7.2 01/16/2008 * fix the post installation script to avoid invalid cron time 0.0.7.1 01/14/2008 * add setup.sh in the MANIFEST.SKIP to keep it out of the tarball 0.0.7 01/13/2008 * Ocsinventory::Agent::AccountInfo does not warn accountinfofile if runned in debug mode without root privilege * fix params->{etcdir} to /etc/ocsinventory, /etc/ocsinventory-agent/modules.conf must be moved to /etc/ocsinventory/modules.conf * Solaris: Improve the CPU detection (Olivier ROUSSY) * AIX: Return the directory with the AIX package name (Olivier ROUSSY) * Ocsinventory::Agent::XML::Inventory can now write software inventory value of FILESIZE, FOLDER and PUBLISHER * processChecksum() and feedInventory() are called by Ocsinventory::Agent::XML::Inventory directly now * the server responses are not parsed in the main script anymore * do not create an inventory if the server doesnn't need it * new parameters for the backend modules (run and check functions): - prologresp, the Ocsinventory::Agent::XML::Response::Prolog object returned by the prolog - storage: an hashref stored on the harddrive at the end of the execution of the module * a backend module without a run function is accepted now * Inventory.pm: add addIpDiscoverEntry() to add host from the same network * @runMeIfTheseChecksFailed: new optional setting for Backend module * Ipdiscover is now a backend module and nmap can be used instead of ipdiscover * --nosoft disable the Ocsinventory::Agent::Backend::OS::Generic::Packaging modules * Remove the deprecated modules Ocsinventory::Agent::Option::Ipdiscover and Ocsinventory::Agent::Option::Update * the check function of the backend accepts the same parameter than the run function * Linux::Archs::I386 regex are more robust * perldoc documentation for the ocsinventory-agent command * minor improvment on the Makefile.PL * change the way --server parameter is read. Now we can have a full URL, --remotedir is now useless * fix: correctly load the last_state * improve the Makefile.PL by using inc::Module::Install and adding new check * add a --version parameter and improve the --help * come with bundled dependency to simply the build process * fix the login/passwd/realm authentification * remove Agent/Pid.pm, I've to prepare a better system to keep the pid first * try to read the config in /usr/local/etc/ocsinventory/ocsinventory-agent.cfg if the standard one is missing 0.0.6.2 07/16/2007 Bug fix release * remove a debug "die" in the code 0.0.6.1 06/12/2007 Bug fix release * Fix an undef value in Ocsinventory::Agent::Backend::OS::BSD::Mem * AIX: retrieve correctly the MAC address of some FibberChannel card * now standalone.sh will try to find every module before the build to avoid unexplicated error 0.0.6 06/07/2007 * Enable "verbose" is debug is turned on * AIX: Ocsinventory::Agent::Backend::OS::AIX::Networks rewrote * AIX: Memory.pm, remove the spaces from the end of the DESCRIPTION * add standalone.sh, a script designed to prepare a stand-alone binary of the agent * AIX: Retrieve all the gateway of every subnet instead of just the default one * Config.pm renamed to AccountConfig.pm * New flag: --stdout to print the inventory directly on STDOUT * If the use want write on the system var directory, the agent create one in ~/.ocsinventory/var * The agent setting can be preinitialised with /etc/ocsinventory/ocsinventory-agent.cfg or ~/ocsinventory/ocsinventory-agent.cfg. * remove two debug messages printed during accountinfo rewrite and the daemon starting process * remove a stupid check in Ocsinventory::Agent::AccountConfig, the accountconfig file was not written unless the file was already present * add a recMkdir function in ocsinventory-agent to create directory recursivly * do not process checksum in local mode 0.0.5 04/17/2007 * AIX: use lslpp -c -l to find installed packages * AIX: fixes on CPU.pm, Networks.pm and Memory.pm * AIX: fetch the serial number with lscfg unless it was found with lsvpd * add the .ocs extension to local written files * with --local flag: don't not warn if last_state doesn't exit * Solaris: retrieve installed package * downgrade some message important from info to debug * read screen serial number in the EDID (DDC screen) * Xorg.pm replaced by Screen.pm * Screen.pm all the data are read from EDID now * Initial Linux PPC support (tested in Debian Etch). thanks Walid Nouh for the hardware * Apply patch by Remi Collet to fix an issue with Linux distro detection and Perl 5.6.1 * Turn of STDERR during the module execution to avoid useless message (e.g: foo: not found) use --debug to turn them back * If the system side vardir can't be created. The agent try to create one in ~/.ocs-inventory-agent * Add a THANKS file 0.0.4 03/20/2007 * use of gzip when Compress:Zlib is not avalaible. OCS server 1.01 and prior are not supported. * dmidecode parsing improved * lspci stuffs moved to generic * Linux: find Wifi connection * fix: pass correctly the logger to the modules * don't write the last_state is the connexion failed * Deals correctly with the accountinfo if it's internaly stored in a array ref * BSD support by Thierry Lacoste FusionInventory-Agent-2.6/etc/0000755000175000017500000000000013757703277016541 5ustar gbougardgbougardFusionInventory-Agent-2.6/etc/agent.cfg0000644000175000017500000000622413712210012020267 0ustar gbougardgbougard# fusioninventory agent configuration # all defined values match default # all commented values are examples # # Target definition options # # send tasks results to an OCS server #server = http://server.domain.com/ocsinventory # send tasks results to a FusionInventory for GLPI server #server = http://server.domain.com/glpi/plugins/fusioninventory/ # write tasks results in a directory #local = /tmp # # Task definition options # # disable software deployment tasks #no-task = deploy #tasks = inventory,deploy,inventory # # Target scheduling options # # maximum delay before first target, in seconds # Also the maximum delay on network error. Delay on network error starts # from 60, is doubled at each new failed attempt until reaching delaytime. delaytime = 3600 # do not contact the target before next scheduled time lazy = 0 # # Inventory task specific options # # do not list local printers # no-category = printer # allow to scan user home directories scan-homedirs = 0 # allow to scan user profiles scan-profiles = 0 # save the inventory as HTML html = 0 # timeout for inventory modules execution backend-collect-timeout = 180 # always send data to server force = 0 # additional inventory content file additional-content = # # Package deployment task specific options # # do not use peer to peer to download files no-p2p = 0 # # Network options # # proxy address proxy = # user name for server authentication user = # password for server authentication password = # CA certificates directory ca-cert-dir = # CA certificates file ca-cert-file = # do not check server SSL certificate no-ssl-check = 0 # connection timeout, in seconds timeout = 180 # # Web interface options # # disable embedded web server no-httpd = 0 # network interface to listen to httpd-ip = # network port to listen to httpd-port = 62354 # trust requests without authentication token httpd-trust = # # Logging options # # Logger backend, either Stderr, File or Syslog (Stderr) logger = stderr # log file #logfile = /var/log/fusioninventory.log # maximum log file size, in MB #logfile-maxsize = 0 # Syslog facility logfacility = LOG_USER # Use color in the console color = 0 # # Execution mode options # # add given tag to inventory results tag = # debug mode debug = 0 # time to wait to reload config (0 means no reload, it's default value) # conf-reload-interval = 0 # Since 2.4, you can include all .cfg files from a folder or any given file # For example: # 1. file "conf.d/tag.cfg" contains "tag = 'entity123'" # using "include 'conf.d' will set tag to 'entity123' # 2. file "/etc/production/glpi-tag" contains "tag = 'entity123'" # using "include '/etc/production/glpi-tag' will set tag to 'entity123' # Remark: # 1. Prefer to use full path to avoid confusion, but be aware relative paths are # relative against current config file folder # 2. A parameter set in included file can be over-rided if set again after the directive # 3. *.cfg files are read in order in folder, it's better to prefix them with a number # 4. Package maintainers are encouraged to use this feature to avoid conflict # during upgrades after configuration update # #include "conf.d/" #include "agent.local" FusionInventory-Agent-2.6/etc/proxy-server-plugin.cfg0000644000175000017500000000222713712210012023151 0ustar gbougardgbougard # Set this to no or 0 to enable Inventory HTTP::Daemon Server plugin and # permit remote inventory request for this agent disabled = yes # Set base url matching for API #url_path = /proxy # Port on which to listen for inventory requests, default to legacy port #port = 62354 # The delay the proxy should return as contact timeout to agents (in hours) #prolog_freq = 24 # Option to handle proxy local storing. Set a folder full path as local_store to # also store received XML locally. Set only_local_store to not immediatly send # received XML to known server(s). #only_local_store = no #local_store = # To limit any abuse we expect a maximum of 30 requests by hour and by ip (3600 seconds) # You can adjust the rate limitation by updating the requests number limit # or the period on which apply the requests number limit #maxrate = 30 #maxrate_period = 3600 # The maximum number of forked handled request #max_proxy_threads = 10 # You should create and define you specific parameter in the following # included configuration file to override any default. # For example just set "disabled = no" in it to enable the plugin include "proxy-server-plugin.local" FusionInventory-Agent-2.6/etc/proxy2-server-plugin.cfg0000644000175000017500000000255713712210012023241 0ustar gbougardgbougard # This config can be used to enable a secondary proxy in the case you need it. # A good example: you can setup another port like 443 enabling SSL support at # the same time you have a simple http proxy on port 80. # Set this to no or 0 to enable Inventory HTTP::Daemon Server plugin and # permit remote inventory request for this agent disabled = yes # Set base url matching for API #url_path = /proxy # Port on which to listen for inventory requests, default to legacy port #port = 62354 # The delay the proxy should return as contact timeout to agents (in hours) #prolog_freq = 24 # Option to handle proxy local storing. Set a folder full path as local_store to # also store received XML locally. Set only_local_store to not immediatly send # received XML to known server(s). #only_local_store = no #local_store = # To limit any abuse we expect a maximum of 30 requests by hour and by ip (3600 seconds) # You can adjust the rate limitation by updating the requests number limit # or the period on which apply the requests number limit #maxrate = 30 #maxrate_period = 3600 # The maximum number of forked handled request #max_proxy_threads = 10 # You should create and define you specific parameter in the following # included configuration file to override any default. # For example just set "disabled = no" in it to enable the plugin include "proxy2-server-plugin.local" FusionInventory-Agent-2.6/etc/ssl-server-plugin.cfg0000644000175000017500000000104413712210012022565 0ustar gbougardgbougard disabled = yes # Comma separated list of ports like in: ports = 62355,62356 #ports = 0 # Example command to generate key/certificate files pair # openssl req -x509 -newkey rsa:2048 -keyout etc/key.pem -out etc/cert.pem -days 3650 -sha256 -nodes -subj "/CN=127.0.0.1" #ssl_cert_file = cert.pem #ssl_key_file = key.pem # You should create and define you specific parameter in the following # included configuration file to override any default. # For example just set "disabled = no" in it to enable the plugin include "ssl-server-plugin.local" FusionInventory-Agent-2.6/etc/inventory-server-plugin.cfg0000644000175000017500000000206013712210012024020 0ustar gbougardgbougard # Set this to no or 0 to enable Inventory HTTP::Daemon Server plugin and # permit remote inventory request for this agent disabled = yes # Set base url matching for API #url_path = /inventory # Port on which to listen for inventory requests, default to legacy port #port = 62354 # token as private secret used to verify authorization token, not defined by # default, but mandatory to access API #token = [secret-string] # A timeout for session to no more trust a client payload #session_timeout = 60 # Set this to 'yes' if XML compression is not not required #no_compress = no # To limit any abuse we expect a maximum of 50 requests by hour (3600 seconds) # You can adjust the rate limitation by updating the requests number limit # or the period on which apply the requests number limit #maxrate = 50 #maxrate_period = 3600 # You should create and define you specific parameter in the following # included configuration file to override any default. # For example just set "disabled = no" in it to enable the plugin include "inventory-server-plugin.local" FusionInventory-Agent-2.6/etc/server-test-plugin.cfg0000644000175000017500000000042713712210012022747 0ustar gbougardgbougard disabled = yes #configtest = test #port = 62355 # You should create and define you specific parameter in the following # included configuration file to override any default. # For example just set "disabled = no" in it to enable the plugin include "server-test-plugin.local" FusionInventory-Agent-2.6/README.md0000644000175000017500000000725613712210012017222 0ustar gbougardgbougard# FusionInventory Agent [![Travis Build Status](https://travis-ci.org/fusioninventory/fusioninventory-agent.svg?branch=develop)](https://travis-ci.org/fusioninventory/fusioninventory-agent) [![Appveyor Build status](https://ci.appveyor.com/api/projects/status/f2oh6p3qnr2bck1b?svg=true)](https://ci.appveyor.com/project/fusioninventory/fusioninventory-agent) [![CircleCI Build status](https://circleci.com/gh/fusioninventory/fusioninventory-agent.svg?style=svg)](https://circleci.com/gh/fusioninventory/fusioninventory-agent) ## Summary The FusionInventory agent is a generic management agent. It can perform a certain number of tasks, according to its own execution plan, or on behalf of a GLPI server with fusioninventory plugin, acting as a control point. ## Description See [FusionInventory solution overview](http://fusioninventory.org/overview/) ## Dependencies ### Core Minimum perl version: 5.8 Mandatory Perl modules: * File::Which * LWP::UserAgent * Net::IP * Text::Template * UNIVERSAL::require * XML::TreePP Optional Perl modules: * Compress::Zlib, for message compression * HTTP::Daemon, for web interface * IO::Socket::SSL, for HTTPS support * LWP::Protocol::https, for HTTPS support * Proc::Daemon, for daemon mode (Unix only) * Proc::PID::File, for daemon mode (Unix only) ### Inventory task Optional Perl modules: * Net::CUPS, for printers detection * Parse::EDID, for EDID data parsing * DateTime, for reliable timezone name extraction Optional programs: * dmidecode, for DMI data retrieval * lspci, for PCI bus scanning * hdparm, for additional disk drive info retrieval * monitor-get-edid-using-vbe, monitor-get-edid or get-edid, for EDID data access * ssh-keyscan, for host SSH public key retrieval ### Network discovery tasks Mandatory Perl modules: * Thread::Queue Optional Perl modules: * Net::NBName, for NetBios method support * Net::SNMP, for SNMP method support Optional programs: * arp, for arp table lookup method support ### Network inventory tasks Mandatory Perl modules: * Net::SNMP * Thread::Queue Optional Perl modules: * Crypt::DES, for SNMPv3 support ### Wake on LAN task Optional Perl modules: * Net::Write::Layer2, for ethernet method support ### Deploy task Mandatory Perl modules: * Archive::Extract * Digest::SHA * File::Copy::Recursive * JSON::PP * URI::Escape Mandatory Perl modules for P2P Support: * Net::Ping * Parallel::ForkManager ## Related contribs See [CONTRIB](CONTRIB.md) to find references to FusionInventory Agent related scritps/files ## Contacts Project websites: * main site: * Github org: Project mailing lists: * * Project IRC channel: * #FusionInventory on FreeNode IRC Network Please report any issues on Github. ## Active authors * Guillaume Rousse * Guillaume Bougard Copyright 2006-2010 [OCS Inventory contributors](https://www.ocsinventory-ng.org/) Copyright 2010-2019 [FusionInventory Team](http://fusioninventory.org) Copyright 2011-2019 [Teclib Editions](http://www.teclib-edition.com/) ## License This software is licensed under the terms of GPLv2+, see LICENSE file for details. ## Additional pieces of software The fusioninventory-injector script: * author: Pascal Danek * copyright: 2005 Pascal Danek FusionInventory::Agent::Task::Inventory::Input::Virtualization::Vmsystem contains code from imvirt: * url: * author: Thomas Liske * copyright: 2008 IBH IT-Service GmbH * License: GPLv2+ FusionInventory-Agent-2.6/bin/0000755000175000017500000000000013757703277016536 5ustar gbougardgbougardFusionInventory-Agent-2.6/bin/fusioninventory-netdiscovery0000755000175000017500000002567113712210012024437 0ustar gbougardgbougard#!/usr/bin/perl use strict; use warnings; use lib './lib'; use setup; use English qw(-no_match_vars); use Getopt::Long; use Pod::Usage; use FusionInventory::Agent::Task::NetDiscovery; use FusionInventory::Agent::Task::NetDiscovery::Job; use FusionInventory::Agent::Logger; use FusionInventory::Agent::Version; our $options = { debug => 0, threads => 1 }; GetOptions( $options, 'first=s', 'last=s', 'community=s@', 'credentials=s@', 'entity=s', 'port=s@', 'protocol=s@', 'threads=i', 'timeout=i', 'control', 'debug+', 'help', 'inventory|i', 'save|s=s', 'version' ) or pod2usage(-verbose => 0); if ($options->{version}) { my $PROVIDER = $FusionInventory::Agent::Version::PROVIDER; map { print $_."\n" } "NetDiscovery task $FusionInventory::Agent::Task::NetDiscovery::VERSION", "based on $PROVIDER Agent v$FusionInventory::Agent::Version::VERSION", @{$FusionInventory::Agent::Version::COMMENTS} ; exit 0; } pod2usage(-verbose => 0, -exitval => 0) if $options->{help}; pod2usage( -message => "no first address, aborting\n", -verbose => 0 ) unless $options->{first}; pod2usage( -message => "no last address, aborting\n", -verbose => 0 ) unless $options->{last}; pod2usage( -message => "\nsave folder must exist, aborting\n", -verbose => 0 ) if ($options->{save} && ! -d $options->{save}); my $discovery = FusionInventory::Agent::Task::NetDiscovery->new( %setup, target => FusionInventory::Agent::Task::NetInventory::Target->new(), logger => FusionInventory::Agent::Logger->new(config => $options) ); my $credentials_id = 1; our @credentials; if ($options->{community}) { foreach my $community (@{$options->{community}}) { push @credentials, { ID => $credentials_id++, VERSION => 1, COMMUNITY => $community }; } } elsif ($options->{credentials}) { foreach my $specification (@{$options->{credentials}}) { my $credential = { ID => $credentials_id++ }; foreach my $parameter (split(',', $specification)) { my ($key, $value) = split(':', $parameter); $credential->{uc($key)} = $value; } push @credentials, $credential; } } else { push @credentials, { ID => $credentials_id++, VERSION => 1, COMMUNITY => 'public' }; } $discovery->{jobs} = [ FusionInventory::Agent::Task::NetDiscovery::Job->new( logger => $discovery->{logger}, params => { PID => 1, THREADS_DISCOVERY => $options->{threads}, TIMEOUT => $options->{timeout}, }, ranges => [ { ID => 1, IPSTART => $options->{first}, IPEND => $options->{last}, PORT => $options->{port}, PROTOCOL => $options->{protocol}, } ], credentials => \@credentials ) ]; if (defined($options->{entity})) { $discovery->{jobs}->[0]->{ranges}->[0]->{ENTITY} = $options->{entity}; } $discovery->{client} = FusionInventory::Agent::Task::NetDiscovery::Client->new( logger => $discovery->{logger}, ); if ($options->{save} && $options->{debug}) { print STDERR "netdiscovery XMLs will be saved in: $options->{save}/netdiscovery\n"; print STDERR "netinventory XMLs will be saved in: $options->{save}/netinventory\n" if $options->{inventory}; print STDERR "====\n"; } # Set target expiration to 15 minutes if we are chaining inventory $discovery->run( target_expiration => $options->{inventory} ? 900 : 60 ); ## no critic (ProhibitMultiplePackages) package FusionInventory::Agent::Task::NetDiscovery::Client; use threads; use English qw(-no_match_vars); use UNIVERSAL::require; use FusionInventory::Agent::Task::NetInventory; use FusionInventory::Agent::Task::NetInventory::Job; use FusionInventory::Agent::Logger; sub new { my ($class, %params) = @_; return bless { logger => $params{logger} || FusionInventory::Agent::Logger->new(config => $main::options), }, $class; } sub netdiscovery { 1 } sub ip {} sub send { my ($self, %params) = @_; # Get options from main program my $options = $main::options; my $devices = $params{message}->{h}->{CONTENT}->{DEVICE}; my $device = ref($devices) eq 'ARRAY' ? $devices->[0] : ref($devices) eq 'HASH' ? $devices : undef; # don't display control message by default return unless ($options->{control} || $device); my $ip = $device ? $device->{IP} || $self->ip() : undef; my $xml = $params{message}->getContent(); if ($options->{save} && $device) { die "No ip given with device\n" unless $ip; if ($self->netdiscovery()) { $self->{logger}->info("Saving $ip discovery infos as XML..."); _writeXml($options->{save} . "/netdiscovery", "$ip.xml", $xml); } else { if ($device->{ERROR}) { my $message = $device->{ERROR}->{MESSAGE}; $self->{logger}->error("Inventory failed on $message"); $self->{logger}->error("Check your credentials") if $message =~ /timeout/; } else { $self->{logger}->info("Saving $ip inventory infos as XML..."); _writeXml($options->{save} . "/netinventory", "$ip.xml", $xml); } } } else { print $xml; } if ($self->netdiscovery() && $options->{inventory} && $device) { die "No ip given with device\n" unless $ip; unless ($device->{TYPE}) { $self->{logger}->info("Skipping inventory for $ip on not recognized device type"); return; } unless ($device->{AUTHSNMP}) { $self->{logger}->info("Skipping inventory for $ip on no SNMP response"); return; } my $inventory = FusionInventory::Agent::Task::NetInventory->new( %main::setup, target => FusionInventory::Agent::Task::NetInventory::Target->new(), logger => FusionInventory::Agent::Logger->new(config => $options) ); # Multi-threading still set on NetDiscovery task and we are only # requesting one device scan $inventory->{jobs} = [ FusionInventory::Agent::Task::NetInventory::Job->new( params => { PID => 1, THREADS_QUERY => 1, TIMEOUT => $options->{timeout}, }, devices => [{ ID => 0, IP => $ip, PORT => $options->{port}, PROTOCOL => $options->{protocol}, AUTHSNMP_ID => $device->{AUTHSNMP} }], credentials => \@{main::credentials}, ) ]; $inventory->{client} = FusionInventory::Agent::Task::NetInventory::Client->new( logger => $self->{logger}, ip => $ip ); $inventory->run(); } } sub _writeXml { my ($folder, $file, $xml) = @_; mkdir $folder unless -d $folder; die "Can't create $folder directory: $!\n" unless -d $folder; if (open(my $XML,">", $folder.'/'.$file)) { print $XML $xml; close($XML); } else { die "Failed to write '$folder/$file': $!\n"; } } package FusionInventory::Agent::Task::NetInventory::Target; sub new { my ($class, %params) = @_; return bless {}, $class; } sub getUrl { my ($self, %params) = @_; ## no critic (ExplicitReturnUndef) return undef; } package FusionInventory::Agent::Task::NetInventory::Client; use parent -norequire, 'FusionInventory::Agent::Task::NetDiscovery::Client'; sub new { my ($class, %params) = @_; my $self = $class->SUPER::new(%params); $self->{_ip} = $params{ip}; return bless $self, $class; } sub netdiscovery { 0 } sub ip { my ($self) = @_; return $self->{_ip}; } __END__ =head1 NAME fusioninventory-netdiscovery - Standalone network discovery =head1 SYNOPSIS fusioninventory-netdiscovery [options] --first
    --last
    Options: --first
    IP range first address --last
    IP range last address --port SNMP port (161) --protocol SNMP protocol/domain (udp/ipv4) --community SNMP community string (public) --credentials SNMP credentials (version:1,community:public) --timeout