USB-Device IDs

  • Moin,


    hierhabe ich ein Problem mit libvirt geschildert, welches ich umschiffen möchte.


    Kurzum: Wenn ich ein USB-Device anhand seiner Vendor-ID an eine virtuelle Maschine durchreichen will, aber zwei identische Geräte davon habe, wird nur eins der beiden Devices durchgereicht.


    Mit der Syntax Bus/Device funktioniert das ganze aber.


    Nun ändert sich die Device-ID ja beim Reboot möglicherweise. Kann man dies via udev o.ä. ändern?


    Sonst muss ich die XML-Datei vor dem Start/im Startskript ändern. Dazu muss ich via skript lsusb aufrufen und die Device-IDs suchen.
    Aus

    Code
    Bus 002 Device 002: ID 8087:0024
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 001 Device 006: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
    Bus 001 Device 005: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
    Bus 001 Device 004: ID 046d:c31c Logitech, Inc.
    Bus 001 Device 003: ID 046d:c00f Logitech, Inc. MouseMan Traveler/Mobile
    Bus 001 Device 002: ID 8087:0024
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


    wird via Grep ja ganz einfach

    Code
    Bus 001 Device 006: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
    Bus 001 Device 005: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter


    Aber wie extrahiere ich daraus jetzt "5" und "6"?


    Ich weiß, dass man mit Grep nach dem ersten und letzten Vorkommnis suchen kann. Und dann kann man bestimmt via String-Operation auch auf die 17. Stelle des Strings zugreifen. Aber das geht bestimmt eleganter, oder?


    Danach würde ich eine Konfigurationsdatei mit Platzhaltern "ersetzmich1" und "ersetzmich2" ausstatten und mit sed ersetzmich1&2 durch 5&6 ersetzen...


    Gruß,
    Hendrik

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!