ubuntuusers.de

Datei usb.ids aktualisiert. Änderungen beim lsusb werden nicht übernommen

Status: Ungelöst | Ubuntu-Version: Ubuntu MATE 22.04 (Jammy Jellyfish)
Antworten |

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 10137

Hallo in die Runde,

Ich habe gemäß Gerätemanager (Abschnitt „USB“) die Datei usb.ids erneuert:

mate-vm-22@matevm22-VirtualBox:/usr/share/misc$ ls -la
insgesamt 1288
drwxr-xr-x   2 root root    4096 Apr 19  2022 .
drwxr-xr-x 291 root root   12288 Aug 10 13:20 ..
lrwxrwxrwx   1 root root      13 Mai 29  2022 magic -> ../file/magic
lrwxrwxrwx   1 root root      24 Mai 29  2022 magic.mgc -> ../../lib/file/magic.mgc
-rw-r--r--   1 root root 1299875 Jan 22  2022 pci.ids
lrwxrwxrwx   1 root root      25 Mai 29  2022 usb.ids -> /var/lib/usbutils/usb.ids
mate-vm-22@matevm22-VirtualBox:

# dem Link gefolgt

mate-vm-22@matevm22-VirtualBox:/usr/share/misc$ ls -la /var/lib/usbutils/
insgesamt 716
drwxr-xr-x  2 root root   4096 Sep  5 14:22 .
drwxr-xr-x 75 root root   4096 Jul 30 15:04 ..
-rw-r--r--  1 root root 724018 Sep  5 13:53 usb.ids
mate-vm-22@matevm22-VirtualBox:/usr/share/misc$ l

Die aktuell Datei usb.ids wurde heute aufgespielt:

mate-vm-22@matevm22-VirtualBox:/usr/share/misc$ lsusb | grep -i sam
Bus 001 Device 004: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy A5 (MTP) # alter Text
mate-vm-22@matevm22-VirtualBox:/usr/share/misc$

lsusb zeigt den alten Text.

mate-vm-22@matevm22-VirtualBox:/usr/share/misc$ cat usb.ids | grep -i mtp| grep -i 6860
	6860  Galaxy series, misc. (MTP mode) # neuer Text
mate-vm-22@matevm22-VirtualBox:/usr/share/misc$ 

Der neue Text wird nicht übernommen.

Was ist da vllt noch zu tun?

Moderiert von Taomon:

Passender verschoben.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 11739

Steckst Du laufend was neues? 😉

1
usbreset 04e8:6860

durchgeführt?

Berlin_1946 Team-Icon

Supporter, Wikiteam
(Themenstarter)

Anmeldungsdatum:
18. September 2009

Beiträge: 10137

von.wert schrieb:

Steckst Du laufend was neues? 😉

Nein, es geht mir um das Verständnis und warum die Aktualisierung nicht funktioniert.
Ob ich was falsch mache oder was vergessen habe.

mate-vm-22-test@matevm22-VirtualBox:~$ cat /usr/share/misc/usb.ids | grep -i mtp| grep -i 6860
	6860  Galaxy A5 (MTP) #neu
mate-vm-22-test@matevm22-VirtualBox:~$

das markiete ist der neue Text ,

mate-vm-22-test@matevm22-VirtualBox:~$ lsusb| grep -i mtp
Bus 001 Device 004: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy A5 (MTP)
mate-vm-22-test@matevm22-VirtualBox:~$ 

,

mate-vm-22-test@matevm22-VirtualBox:~$ usbreset 04e8:6860
Resetting SAMSUNG_Android ... ok
mate-vm-22-test@matevm22-VirtualBox:~$ lsusb| grep -i mtp
Bus 001 Device 004: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy A5 (MTP) #alt
mate-vm-22-test@matevm22-VirtualBox:~$ 

Das ist der ausgegeben Text

Trotz Resetting ist der neue Text aus der aktuellen usb.ids nicht übernommen worden, es kommt immer noch der alte Text.

Ich erhalte die gleichen Ergebnisse, wenn ich ein uraltes Modell, ein Galaxy J5 (2016) anstecke, da ist die Ausgabe sogar falsch, denn da steht ja auch Galaxy A5, obwohl es ein Galaxy J5 ist. Okay auch wenn der Text dann vllt mal übernommen wird, ist er immer noch falsch, das ist aber ein Thema bei den Erstellen der Datei usb.ids.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

Offenbar wird die Datei /var/lib/usbutils/usb.ids nicht mehr aktuell als Nachschlagewerk verwendet und vielleicht auch gar nicht mehr. Inzwischen läuft das (natürlich) über systemd, welches zur Beschreibung der Hardware die Dateien /lib/udev/hwdb.d/, /lib/udev/hwdb.bin, /etc/udev/hwdb.d/ und /etc/udev/hwdb.bin vorsieht.

Die Datei /etc/udev/hwdb.bin bzw. /lib/udev/hwdb.bin wird durch den Befehl

sudo systemd-hwdb update 

generiert, dabei wird wohl auch die Datei /var/lib/usbutils/usb.ids berücksichtigt.

Lies die entsprechenden Manpages:

man 7 hwdb
man systemd-hwdb

Berlin_1946 Team-Icon

Supporter, Wikiteam
(Themenstarter)

Anmeldungsdatum:
18. September 2009

Beiträge: 10137

Hallo kB,

leider kann ich nicht viel den Man-Pages entnehmen.

Ich habe mal geschaut, ob nach dem Update ein anderes Datum in den ls auftauchen. Den Stand der Download-Seite der Datei http://www.linux-usb.org/usb.ids haben die nicht.

Version: 2023.08.24
Date: 2023-08-24 20:34:10

mate@mate-HP-ProDesk:~$ ls -la /etc/udev/| grep -i hwd
-r--r--r--   1 root root 11582940 Sep  6 16:46 hwdb.bin
drwxr-xr-x   2 root root     4096 Apr  7  2022 hwdb.d
mate@mate-HP-ProDesk:~$ 

,

mate@mate-HP-ProDesk:/lib/udev$ ls -la| grep -i hwd
-r--r--r--   1 root root 11582940 Aug  4 11:14 hwdb.bin
drwxr-xr-x   2 root root     4096 Aug  4 11:13 hwdb.d
mate@mate-HP-ProDesk:/lib/udev$ 

Ein anderes Kriterium für die Prüfung ob die Datein erneuert wurden, ist mir nicht eingefallen.

mate@mate-HP-ProDesk:~$ lsusb | grep -i mtp
Bus 003 Device 006: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy A5 (MTP)
mate@mate-HP-ProDesk:~$ 

Eine Änderung bei lsusb ist nicht erfolgt. 😢

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

Berlin_1946 schrieb:

[…]

mate@mate-HP-ProDesk:~$ lsusb | grep -i mtp
Bus 003 Device 006: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy A5 (MTP)
mate@mate-HP-ProDesk:~$ 

Mache bitte einmal folgenden Test:

grep -A4 -r v04E8p6860 /{lib,etc}/udev/hwdb.d/ | grep ID_MODEL_FROM_DATABASE 

Das sollte genau den von lsusb für das Samsung Galaxy ausgegebenen beschreibenden Text reproduzieren, z.B. bei mir:

/lib/udev/hwdb.d/20-usb-vendor-model.hwdb- ID_MODEL_FROM_DATABASE=Galaxy series, misc. (MTP mode)
/lib/udev/hwdb.d/20-usb-vendor-model.hwdb- ID_MODEL_FROM_DATABASE=Galaxy series, misc. (tethering mode)

(Die zweite Zeile ist ein Artefakt ungenauer Filterung.)

Berlin_1946 Team-Icon

Supporter, Wikiteam
(Themenstarter)

Anmeldungsdatum:
18. September 2009

Beiträge: 10137

kB schrieb:

Mache bitte einmal folgenden Test:

mate@mate-HP-ProDesk:~$ grep -A4 -r v04E8p6860 /{lib,etc}/udev/hwdb.d/ | grep ID_MODEL_FROM_DATABASE 
/lib/udev/hwdb.d/20-usb-vendor-model.hwdb- ID_MODEL_FROM_DATABASE=Galaxy A5 (MTP)
/lib/udev/hwdb.d/20-usb-vendor-model.hwdb- ID_MODEL_FROM_DATABASE=Galaxy series, misc. (tethering mode)
mate@mate-HP-ProDesk:~$ 

Nochmal zur Kontrolle:

mate@mate-HP-ProDesk:~$ lsusb| grep -i mtp
Bus 003 Device 013: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy A5 (MTP)
mate@mate-HP-ProDesk:~$

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

Berlin_1946 schrieb:

kB schrieb:

Mache bitte einmal folgenden Test:

mate@mate-HP-ProDesk:~$ grep -A4 -r v04E8p6860 /{lib,etc}/udev/hwdb.d/ | grep ID_MODEL_FROM_DATABASE 
/lib/udev/hwdb.d/20-usb-vendor-model.hwdb- ID_MODEL_FROM_DATABASE=Galaxy A5 (MTP)
[…]

Nochmal zur Kontrolle:

mate@mate-HP-ProDesk:~$ lsusb| grep -i mtp
Bus 003 Device 013: ID 04e8:6860 Samsung Electronics Co., Ltd Galaxy A5 (MTP)
mate@mate-HP-ProDesk:~$

Wie ich vermutete. Die aktuelle Ausgabe von lsusb stammt wohl aus /{lib,etc}/udev/hwdb.bin (Die Dateien aus hwdb.d/ werden durch

sudo systemd-hwdb update 

in diese kompiliert und nicht direkt verwendet.)

Die Datei /var/lib/usbutils/usb.ids wird wohl nicht mehr verwendet. Unklar ist, ob überhaupt, wie und durch wen ihr Inhalt in die Dateien /{lib,etc}/udev/hwdb.d/* gelangt.

Übrigens sind das alles nur plausible Vermutungen und Interpretationen aus dem Verhalten und keine sicheren Erkenntnisse!

Berlin_1946 Team-Icon

Supporter, Wikiteam
(Themenstarter)

Anmeldungsdatum:
18. September 2009

Beiträge: 10137

kB schrieb:

Übrigens sind das alles nur plausible Vermutungen und Interpretationen aus dem Verhalten und keine sicheren Erkenntnisse!

Das finde ich prima, dass du überhaupt antwortest, denn sonst würde ich mit dem Problem alleine sein.
Danke für deine Antworten.

Ich habe noch was gefunden, vllt kommst du damit etwas weiter.
Von hier (Gerätemanager (Abschnitt „USB“)) stammt die Info über die Datei usb.ids.
Aus dem Wiki zitiert:

Bei sehr neuer Hardware kann es sinnvoll sein, die Datei /usr/share/misc/usb.ids, die für die Ausgabe verantwortlich ist, zu erneuern

mate@mate-HP-ProDesk:/usr/share/misc$ ls -la| grep usb
lrwxrwxrwx   1 root root      25 Aug  3 15:43 usb.ids -> /var/lib/usbutils/usb.ids
mate@mate-HP-ProDesk:/usr/share/misc$ 

Hier ist es aber verlinkt und das ist schon ein etwas besserer Text.

mate@mate-HP-ProDesk:~$ cat /var/lib/usbutils/usb.ids|grep -i 6860
	6860  Galaxy series, misc. (MTP mode)
mate@mate-HP-ProDesk:~$ 

Der wird aber bei lsusb nicht berücksichtigt.

http://www.linux-usb.org/ ist z.Zt. abgeschaltet. 😢

Nachtrag funktioniert jetzt wieder:

Zu finden ist die usd.ids über diese Seite http://www.linux-usb.org/

USB Vendor/Device IDs Database, uses a CAcert certificate (text file)

Es ist die Seite http://www.linux-usb.org/usb.ids mit diesem Text.

6860 Galaxy series, misc. (MTP mode)

Absolut richtig, passt für alle meine drei Handys (A5, J5 und auch auf das uralte GT-I8190).

Wie gelingt es das in die Ausgabe von lsusb einzubauen?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

Ich habe noch folgendes gefunden:

  1. Diese Datei ist nach meiner Einschätzung Grundlage für die betreffende Ausgabe von lsusb:

    $ grep -A2 6860 /lib/udev/hwdb.d/20-usb-vendor-model.hwdb
    usb:v04E8p6860*
     ID_MODEL_FROM_DATABASE=Galaxy series, misc. (MTP mode)
  2. In dieser Datei steht aber auch:

    $ grep -e^# /lib/udev/hwdb.d/20-usb-vendor-model.hwdb 
    # This file is part of systemd.
    #
    # Data imported from: http://www.linux-usb.org/usb.ids

Demnach kümmert sich jetzt (siehe meine Signatur!) systemd um die USB-IDs und arbeitet diese auf zu den Dateien in /lib/udev/hwdb.d/, die dann wiederum in die Dateien hwdb.bin für die aktuelle Anwendung kompiliert werden.

Die Angaben im Wiki sind wohl veraltet. Vermutlich kann man nun auf dem eigenen Rechner das Paket usb.ids, welches einem die Datei /var/lib/usbutils/usb.ids verschafft, schadlos löschen.

Wenn man eigene Änderungen an diesen Hardware-Beschreibungen vornehmen möchte, geht der Weg wohl über eine eigene Datei /etc/udev/hwdb.d/SCHIESS-MICH-TOT.hwdb und Kompilation zu einer Datei /etc/udev/hwdb.bin.

Berlin_1946 Team-Icon

Supporter, Wikiteam
(Themenstarter)

Anmeldungsdatum:
18. September 2009

Beiträge: 10137

kB schrieb:

Demnach kümmert sich jetzt (siehe meine Signatur!) systemd um die USB-IDs und arbeitet diese auf zu den Dateien in /lib/udev/hwdb.d/, die dann wiederum in die Dateien hwdb.bin für die aktuelle Anwendung kompiliert werden.

Da fehlt mir leider Hintergrundwissen.
In der Datei 20-usb-vendor-model.hwdb steht doch der aktuelle Text

ID_MODEL_FROM_DATABASE=Galaxy series, misc. (MTP mode)

(den ich gerne hätte), der wird aber nicht benutzt.
Dieser Link

mate@mate-HP-ProDesk:/usr/share/misc$ ls -la| grep usb
lrwxrwxrwx   1 root root      25 Aug  3 15:43 usb.ids -> /var/lib/usbutils/usb.ids
mate@mate-HP-ProDesk:/usr/share/misc$ 

hat dann noch welche Funktion?

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9564

Wohnort: Münster

Berlin_1946 schrieb:

[…] In der Datei 20-usb-vendor-model.hwdb steht doch der aktuelle Text

ID_MODEL_FROM_DATABASE=Galaxy series, misc. (MTP mode)

(den ich gerne hätte), der wird aber nicht benutzt.

Der Wert für ID_MODEL_FROM_DATABASE ist wohl nur ein Kandidat von mehreren, aus denen udev den ihm am besten erscheinenden auswählt. Ich habe einmal irgendwo, vermutlich in den Handbuchseiten, etwas darüber gelesen. Leider habe ich aber weder genaue Details noch die Fundstelle präsent.

Meine eigenen Versuche, über die Dateien /etc/udev/hwdb.d/*.hwdb per ID_MODEL_FROM_DATABASE USB-Geräte zu bezeichnen, waren nicht erfolgreich. Vermutlich fehlt mir mindestens noch eine entscheidende Information zu udev. Leider enthält der Artikel von udev im UbuntuUsers.de-Wiki nichts zur Hardwaredatenbank und wie udev sie verwendet.

Dieser Link

mate@mate-HP-ProDesk:/usr/share/misc$ ls -la| grep usb
lrwxrwxrwx   1 root root      25 Aug  3 15:43 usb.ids -> /var/lib/usbutils/usb.ids
mate@mate-HP-ProDesk:/usr/share/misc$ 

hat dann noch welche Funktion?

Wenn meine – bisher unbewiesene – Vermutung stimmt, dass das Paket usb.ids auf dem eigenen Rechner überflüssig ist, macht dieser Link gar keinen Sinn mehr.

Antworten |