Update USB ID Database in Endeavor/Arch?

Just recently read this article: https://opensource.com/article/20/8/usb-id-repository?sc_cid=7013a000002h3D2AAI

It was about updating the USB ID database. I was wondering how this is accomplished in Endeavor, or if it’s even necessary?

I found this package hwids which provides:

/usr/share/hwdata/pci.ids
/usr/share/hwdata/pnp.ids
/usr/share/hwdata/usb.ids

My guess is that the databases get updated whenever there is an update to this package. But I am just guessing.

pacman -Si hwids
Repository : core
Name : hwids
Version : 20200813.1-1
Description : hardware identification databases
Architecture : any
URL : https://github.com/gentoo/hwids
Licenses : GPL2
Groups : None
Provides : None
Depends On : None
Optional Deps : None
Conflicts With : None
Replaces : None
Download Size : 455.65 KiB
Installed Size : 1943.83 KiB
Packager : Tobias Powalowski tpowa@archlinux.org
Build Date : Tue 18 Aug 2020 09:31:43 AM CEST
Validated By : MD5 Sum SHA-256 Sum Signature

Sorry, not answering the question, as I don’t know about Endeavour’s handling of this, but I can say that USB’s just hit the ‘creepy’ list for me, especially the guy’s comment at the bottom … " … and provide metadata about each device … ". This is a business function, with workplaces often not wanting people transferring things between work/home? I see no need for tracking/metadata regarding personal machines, and would find that a gross overreach, as the work system should be tracing in real time if anything is copied to USB as soon as that happens surely? Not very good security if they aren’t, lol.

1 Like

Just looked it up in TKpacman and hwids is required by systemd, pciutils and usbutils, so I’m imagining removing it could cause an issue?

Removing it looks like a bad idea :wink:

This is from a EnOS-GNOME

pactree -r hwids
hwids
├─libosinfo
│ ├─gnome-boxes
│ └─tracker-miners
│   ├─gnome-books
│   ├─gnome-documents
│   ├─gnome-music
│   ├─gnome-photos
│   └─nautilus
├─pciutils
│ ├─alsa-utils
│ ├─base
│ ├─chromium
│ ├─flashrom
│ │ └─fwupd
│ ├─inxi
│ ├─net-snmp
│ │ └─sane
│ │   ├─colord-sane
│ │   │ └─simple-scan
│ │   └─simple-scan
│ └─tlp
├─systemd
│ ├─accountsservice
│ │ ├─gnome-control-center
│ │ │ └─gnome-calendar
│ │ ├─gnome-shell
│ │ │ ├─chrome-gnome-shell
│ │ │ ├─gdm
│ │ │ └─gnome-shell-extensions
│ │ └─malcontent
│ │   └─gnome-software
│ ├─base
│ ├─bluez-utils
│ ├─bolt
│ │ └─gnome-control-center
│ ├─chromium
│ ├─colord
│ │ ├─colord-gtk
│ │ │ └─gnome-control-center
│ │ ├─colord-sane
│ │ ├─gnome-color-manager
│ │ │ └─gnome-control-center
│ │ └─gtk3
│ │   ├─alacarte
│ │   ├─amtk
│ │   │ └─tepl
│ │   │   └─gedit
│ │   ├─appstream-glib
│ │   │ ├─flatpak
│ │   │ │ └─malcontent
│ │   │ ├─gnome-software
│ │   │ └─pamac-aur-git
│ │   ├─baobab
│ │   ├─celluloid
│ │   ├─cheese
│ │   │ ├─gnome-contacts
│ │   │ └─gnome-control-center
│ │   ├─chromium
│ │   ├─clutter
│ │   │ ├─clutter-gst
│ │   │ │ ├─cheese
│ │   │ │ └─totem
│ │   │ └─clutter-gtk
│ │   │   ├─cheese
│ │   │   ├─libchamplain
│ │   │   │ └─gnome-maps
│ │   │   └─totem
│ │   ├─colord-gtk
│ │   ├─evince
│ │   │ ├─gnome-books
│ │   │ ├─gnome-documents
│ │   │ └─sushi
│ │   ├─file-roller
│ │   ├─firefox
│ │   ├─gcr
│ │   │ ├─epiphany
│ │   │ ├─gnome-keyring
│ │   │ │ └─xdg-desktop-portal-gtk
│ │   │ │   └─xdg-desktop-portal
│ │   │ │     └─flatpak
│ │   │ ├─gnome-online-accounts
│ │   │ │ ├─evolution-data-server
│ │   │ │ │ ├─folks
│ │   │ │ │ │ ├─gnome-contacts
│ │   │ │ │ │ └─gnome-maps
│ │   │ │ │ └─gnome-calendar
│ │   │ │ ├─gfbgraph
│ │   │ │ │ ├─gnome-maps
│ │   │ │ │ ├─gnome-online-miners
│ │   │ │ │ │ ├─gnome-documents
│ │   │ │ │ │ └─gnome-photos
│ │   │ │ │ └─gnome-photos
│ │   │ │ ├─gnome-contacts
│ │   │ │ ├─gnome-control-center
│ │   │ │ ├─gnome-documents
│ │   │ │ ├─gnome-online-miners
│ │   │ │ ├─gnome-photos
│ │   │ │ ├─gnome-software
│ │   │ │ ├─gvfs-goa
│ │   │ │ │ └─gvfs-google
│ │   │ │ ├─libgdata
│ │   │ │ │ ├─evolution-data-server
│ │   │ │ │ ├─gnome-documents
│ │   │ │ │ ├─gnome-online-miners
│ │   │ │ │ ├─gnome-photos
│ │   │ │ │ ├─grilo-plugins
│ │   │ │ │ │ ├─gnome-music
│ │   │ │ │ │ └─gnome-photos
│ │   │ │ │ └─gvfs-google
│ │   │ │ └─libzapojit
│ │   │ │   ├─gnome-documents
│ │   │ │   └─gnome-online-miners
│ │   │ ├─gnome-settings-daemon
│ │   │ │ ├─gnome-control-center
│ │   │ │ ├─gnome-shell
│ │   │ │ ├─gnome-tweaks
│ │   │ │ └─mutter
│ │   │ │   └─gnome-shell
│ │   │ ├─gnome-shell
│ │   │ ├─gvfs
│ │   │ │ ├─gnome-music
│ │   │ │ ├─gvfs-afc
│ │   │ │ ├─gvfs-goa
│ │   │ │ ├─gvfs-gphoto2
│ │   │ │ ├─gvfs-mtp
│ │   │ │ ├─gvfs-nfs
│ │   │ │ ├─gvfs-smb
│ │   │ │ └─nautilus
│ │   │ ├─libgdata
│ │   │ └─libnma
│ │   │   └─nm-connection-editor
│ │   │     ├─gnome-control-center
│ │   │     └─gnome-shell
│ │   ├─gnome-autoar
│ │   │ ├─gnome-shell
│ │   │ └─nautilus
│ │   ├─gnome-bluetooth
│ │   │ ├─gnome-control-center
│ │   │ └─gnome-shell
│ │   ├─gnome-books
│ │   ├─gnome-calculator
│ │   ├─gnome-characters
│ │   ├─gnome-clocks
│ │   ├─gnome-color-manager
│ │   ├─gnome-contacts
│ │   ├─gnome-control-center
│ │   ├─gnome-desktop
│ │   │ ├─cheese
│ │   │ ├─eog
│ │   │ ├─evince
│ │   │ ├─gnome-books
│ │   │ ├─gnome-characters
│ │   │ ├─gnome-clocks
│ │   │ ├─gnome-contacts
│ │   │ ├─gnome-control-center
│ │   │ ├─gnome-documents
│ │   │ ├─gnome-font-viewer
│ │   │ ├─gnome-session
│ │   │ │ ├─gdm
│ │   │ │ └─gnome-shell
│ │   │ ├─gnome-settings-daemon
│ │   │ ├─gnome-software
│ │   │ ├─gnome-weather
│ │   │ ├─mutter
│ │   │ ├─nautilus
│ │   │ ├─totem
│ │   │ └─xdg-desktop-portal-gtk
│ │   ├─gnome-disk-utility
│ │   │ └─gnome-shell
│ │   ├─gnome-documents
│ │   ├─gnome-font-viewer
│ │   ├─gnome-logs
│ │   ├─gnome-multi-writer
│ │   ├─gnome-music
│ │   ├─gnome-nettool
│ │   ├─gnome-packagekit
│ │   ├─gnome-photos
│ │   ├─gnome-screenshot
│ │   ├─gnome-session
│ │   ├─gnome-settings-daemon
│ │   ├─gnome-usage
│ │   ├─gnome-user-share
│ │   ├─gnome-weather
│ │   ├─gspell
│ │   │ ├─evince
│ │   │ ├─gedit
│ │   │ └─gnome-software
│ │   ├─gst-plugin-gtk
│ │   │ └─sushi
│ │   ├─gtk-vnc
│ │   │ └─gnome-boxes
│ │   ├─gtkmm3
│ │   │ ├─gnome-system-monitor
│ │   │ ├─paprefs
│ │   │ └─pavucontrol
│ │   ├─gtksourceview4
│ │   │ ├─gedit
│ │   │ ├─gnome-calculator
│ │   │ ├─sushi
│ │   │ └─tepl
│ │   ├─gtkspell3
│ │   │ └─yad
│ │   │   ├─eos-bash-shared
│ │   │   │ ├─eos-update-notifier
│ │   │   │ └─welcome
│ │   │   ├─eos-update-notifier
│ │   │   ├─reflector-simple
│ │   │   └─welcome
│ │   ├─libdazzle
│ │   │ ├─epiphany
│ │   │ ├─gnome-calendar
│ │   │ ├─gnome-music
│ │   │ ├─gnome-photos
│ │   │ └─gnome-usage
│ │   ├─libdbusmenu-gtk3
│ │   │ └─libappindicator-gtk3
│ │   │   └─pamac-aur-git
│ │   ├─libgnomekbd
│ │   │ └─gnome-control-center
│ │   ├─libgweather
│ │   │ ├─evolution-data-server
│ │   │ ├─gnome-clocks
│ │   │ ├─gnome-settings-daemon
│ │   │ └─gnome-weather
│ │   ├─libgxps
│ │   │ ├─evince
│ │   │ └─tracker-miners
│ │   ├─libhandy
│ │   │ ├─epiphany
│ │   │ ├─gnome-clocks
│ │   │ ├─gnome-contacts
│ │   │ ├─gnome-control-center
│ │   │ └─gnome-tweaks
│ │   ├─libindicator-gtk3
│ │   │ └─libappindicator-gtk3
│ │   ├─libnautilus-extension
│ │   │ └─nautilus
│ │   ├─libnma
│ │   ├─libpeas
│ │   │ ├─eog
│ │   │ ├─gedit
│ │   │ └─totem
│ │   ├─libwnck3
│ │   │ ├─bamf
│ │   │ │ └─plank
│ │   │ └─plank
│ │   ├─malcontent
│ │   ├─orca
│ │   ├─plank
│ │   ├─pulseaudio-equalizer-ladspa
│ │   ├─rygel
│ │   ├─simple-scan
│ │   ├─spice-gtk
│ │   │ └─gnome-boxes
│ │   ├─sushi
│ │   ├─vino
│ │   ├─vivaldi
│ │   ├─vte3
│ │   │ ├─gnome-terminal
│ │   │ ├─pamac-aur-git
│ │   │ └─qemu
│ │   │   └─gnome-boxes
│ │   ├─webkit2gtk
│ │   │ ├─epiphany
│ │   │ ├─gnome-books
│ │   │ ├─gnome-boxes
│ │   │ ├─gnome-documents
│ │   │ ├─gnome-online-accounts
│ │   │ ├─libgepub
│ │   │ │ ├─gnome-books
│ │   │ │ └─gnome-documents
│ │   │ ├─sushi
│ │   │ ├─yad
│ │   │ ├─yelp
│ │   │ │ ├─gnome-getting-started-docs
│ │   │ │ └─gnome-user-docs
│ │   │ └─zenity
│ │   │   └─mutter
│ │   ├─xdg-desktop-portal-gtk
│ │   ├─xdg-user-dirs-gtk
│ │   └─yad
│ ├─gnome-logs
│ ├─gnome-remote-desktop
│ ├─gnome-session
│ ├─gnome-system-monitor
│ ├─libgdm
│ │ ├─gdm
│ │ └─gnome-shell
│ ├─libinput
│ │ ├─clutter
│ │ ├─mutter
│ │ ├─qt5-base
│ │ │ ├─qt5-script
│ │ │ │ └─smplayer
│ │ │ │   ├─smplayer-skins
│ │ │ │   └─smplayer-themes
│ │ │ ├─smplayer
│ │ │ └─solid
│ │ └─xf86-input-libinput
│ │   └─xorg-server
│ │     └─gdm
│ ├─libmbim
│ │ ├─libqmi
│ │ │ └─modemmanager
│ │ └─modemmanager
│ ├─libpulse
│ │ ├─chromium
│ │ ├─ffmpeg
│ │ │ ├─chromaprint
│ │ │ │ ├─grilo-plugins
│ │ │ │ └─gst-plugins-bad
│ │ │ │   ├─cheese
│ │ │ │   ├─gnome-video-effects
│ │ │ │   │ └─cheese
│ │ │ │   ├─grilo-plugins
│ │ │ │   └─totem
│ │ │ ├─chromium
│ │ │ ├─ffmpegthumbnailer
│ │ │ ├─firefox
│ │ │ ├─freerdp
│ │ │ │ └─gnome-boxes
│ │ │ ├─gst-libav
│ │ │ ├─mplayer
│ │ │ └─mpv
│ │ │   ├─celluloid
│ │ │   └─smplayer
│ │ ├─firefox
│ │ ├─fluidsynth
│ │ │ └─gst-plugins-bad
│ │ ├─freerdp
│ │ ├─gst-plugins-good
│ │ │ ├─cheese
│ │ │ ├─gnome-getting-started-docs
│ │ │ ├─gnome-video-effects
│ │ │ ├─gst-plugins-bad
│ │ │ ├─orca
│ │ │ └─totem
│ │ ├─gtk-vnc
│ │ ├─libao
│ │ │ └─speech-dispatcher
│ │ │   └─orca
│ │ ├─libcanberra-pulse
│ │ │ ├─gnome-settings-daemon
│ │ │ ├─gnome-shell
│ │ │ └─pavucontrol
│ │ ├─mplayer
│ │ ├─pulseaudio
│ │ │ ├─gnome-settings-daemon
│ │ │ ├─paprefs
│ │ │ ├─pulseaudio-alsa
│ │ │ │ └─gnome-settings-daemon
│ │ │ ├─pulseaudio-bluetooth
│ │ │ │ └─gnome-bluetooth
│ │ │ └─pulseaudio-equalizer-ladspa
│ │ ├─qemu
│ │ ├─speech-dispatcher
│ │ └─spice-gtk
│ ├─libwacom
│ │ ├─gnome-settings-daemon
│ │ └─libinput
│ ├─media-player-info
│ │ └─solid
│ ├─mkinitcpio
│ │ ├─linux
│ │ │ └─r8168
│ │ └─mkinitcpio-openswap
│ ├─modemmanager
│ ├─netctl
│ ├─pcsclite
│ │ ├─freerdp
│ │ └─openconnect
│ ├─polkit
│ │ ├─accountsservice
│ │ ├─bolt
│ │ ├─colord
│ │ ├─cups-pk-helper
│ │ │ └─gnome-control-center
│ │ ├─flatpak
│ │ ├─fwupd
│ │ ├─libvirt
│ │ │ └─libvirt-glib
│ │ │   └─gnome-boxes
│ │ ├─malcontent
│ │ ├─modemmanager
│ │ ├─networkmanager
│ │ ├─packagekit
│ │ │ └─gnome-packagekit
│ │ ├─rtkit
│ │ │ ├─pipewire
│ │ │ │ ├─gnome-remote-desktop
│ │ │ │ ├─mutter
│ │ │ │ └─xdg-desktop-portal
│ │ │ └─pulseaudio
│ │ └─udisks2
│ │   ├─gnome-control-center
│ │   ├─gnome-disk-utility
│ │   ├─gnome-multi-writer
│ │   ├─gvfs
│ │   └─solid
│ ├─rtkit
│ ├─systemd-sysvcompat
│ │ └─base
│ ├─upower
│ │ ├─gdm
│ │ ├─gnome-control-center
│ │ ├─gnome-settings-daemon
│ │ ├─gnome-shell
│ │ ├─mutter
│ │ ├─solid
│ │ ├─tracker
│ │ │ ├─gnome-boxes
│ │ │ ├─gnome-online-miners
│ │ │ ├─gnome-usage
│ │ │ ├─grilo-plugins
│ │ │ ├─nautilus
│ │ │ ├─rygel
│ │ │ └─tracker-miners
│ │ └─tracker-miners
│ ├─welcome
│ └─xdg-user-dirs
│   └─xdg-user-dirs-gtk
└─usbutils
  └─tlp
1 Like

I’m on Mate, so the pciutils could cause most issue, re base and inxi and simple-scan. I would have zapped it, lol. It being tied up in base etc isn’t great.

EDIT: hadn’t scrolled down! … oh no …

SO that begs the question of how to opt out. I can’t see anything on the link referenced, unfortunately.

Wrong way round. When you update your USB ID database you are pulling the database from a web server, and that database contains metadata about USB devices. You aren’t sending data about your PC to a remote server.

5 Likes

Still a bit creeped out, lol, as I don’t want anything databasing anywhere, or see why that’s needed for a private USB. The occasional odd issue with a USB now has a frame of reference at least. Appreciate your assurances, but I suppose it’s not a big leap to say data could be shared at some point, due to linking with the web … hopefully that doesn’t come to pass.

A database is just a collection of information. A text file with some product names in is a database.

How does your system know what a USB device is, e.g. if you use lsusb? It needs some sort of database.

The kernel has a built-in hardware database so it knows which driver to use for which device. This is the only way anything can work - things need some sort of identifier otherwise there’s no way of knowing what it is. Is it a mouse? Is it a monitor? Is it a hard drive? How do you know unless each device has an identifier unique to the make and model?

New devices are released and your system won’t know what they are unless it has a list to check, so an updated list has to be downloaded from somewhere at some point.

It is a big leap to say that. There’s nothing installed on a Linux system which does that. If you truly distrust an existing distribution then the only real option is to build your own, and even then you’d have to trust the developers of the software you’d need to compile.

1 Like

That’s great about the kernel containing the necessary details, and those details updated when the kernel updates would be cool. If it was just that, I’d not have an issue. Not sure what to say about the final paragraph, as e.g. Ubuntu did the Amazon search thing, and various other examples, but I certainly wasn’t casting aspersions on Endeavour or making any specifically aimed points, but just saying a concern, which is realistic, as the IoT is increasingly pushed.

1 Like