Как связать какое-либо устройство (по его идентификатору) с определенной прошивкой в ​​Linux?

Как связать какое-либо устройство (по его идентификатору) с определенной прошивкой в ​​Linux?

Представьте, что у меня есть новое устройство, которое не работает в Linux. Я получаю его идентификатор устройства с помощью lsusb:

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

Представьте, что я знаю, что это устройство будет работать с этой прошивкой./lib/firmware/dvb-usb-dib0700-1.20.fw

Затем я хотел бы создать правило или что-то еще, что могло бы сообщить операционной системе, что на устройстве 1164:7efdдолжна быть загружена прошивкаdvb-usb-dib0700-1.20.fw

Я просто хочу связать идентификатор устройства с прошивкой, чтобы мое устройство работало. Есть ли способ сделать это?

Спасибо

решение1

У меня есть этот файл:

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

с таким содержанием:

# 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}"

Посмотрите примеры из каталогов rules.d в /lib/udev/rules.d или /etc/udev/rules.d и поместите свои собственные правила udev в

 /etc/udev/rules.d/

По крайней мере, это расположение файлов на сервере Ubuntu.

По моим быстрым предположениям, строка должна быть примерно такой, но я слишком косоглаз, чтобы изучать какие-либо документы более подробно.

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 udevдля получения более подробной информации см .

Связанный контент