Wie kann ich ein Gerät (angegeben durch seine Geräte-ID) mit einer bestimmten Firmware in Linux verknüpfen?

Wie kann ich ein Gerät (angegeben durch seine Geräte-ID) mit einer bestimmten Firmware in Linux verknüpfen?

Stellen Sie sich vor, ich habe ein neues Gerät, das unter Linux nicht funktioniert. Ich erhalte die Geräte-ID mit lsusb:

Bus 001 Device 003: ID1164:7efdYUAN High-Tech Development Co., Ltd

Stellen Sie sich vor, ich weiß, dass dieses Gerät mit dieser Firmware funktioniert/lib/firmware/dvb-usb-dib0700-1.20.fw

Dann möchte ich eine Regel oder etwas erstellen, das dem Betriebssystem sagen könnte, dass das Gerät 1164:7efdmit der Firmware geladen werden mussdvb-usb-dib0700-1.20.fw

Ich möchte nur die Geräte-ID mit der Firmware verknüpfen, damit mein Gerät funktioniert. Gibt es eine Möglichkeit, das zu tun?

Danke

Antwort1

Ich habe diese Datei:

/lib/udev/rules.d/50-firmware.rules

mit diesem Inhalt:

# do not edit this file, it will be overwritten on update

# firmware-class requests, copies files into the kernel
SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware --firmware=$env{FIRMWARE} --devpath=$env{DEVPATH}"

Sehen Sie sich Beispiele aus rules.d-Verzeichnissen in entweder /lib/udev/rules.d oder /etc/udev/rules.d an und platzieren Sie Ihre benutzerdefinierten udev-Regeln in

 /etc/udev/rules.d/

Zumindest sind dies die Dateispeicherorte auf einem Ubuntu-Server.

Meine spontane Vermutung ist, dass die Zeile ungefähr so ​​lauten sollte, aber ich bin zu schielend, um mir die Dokumente genauer anzusehen.

ATTRS{idVendor}=="1164", ATTRS{idProduct}=="7efd", SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware --firmware=/lib/firmware/dvb-usb-dib0700-1.20.fw --devpath=$env{DEVPATH}"

man udevWeitere Informationen finden Sie unter.

verwandte Informationen