Linux でデバイス ID で指定されたデバイスを特定のファームウェアにリンクするにはどうすればよいですか?

Linux でデバイス ID で指定されたデバイスを特定のファームウェアにリンクするにはどうすればよいですか?

Linux で動作しない新しいデバイスがあるとします。そのデバイス ID は次のように取得します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

デバイス ID をファームウェアにリンクして、デバイスを動作させたいのですが、それを実現する方法はありますか?

ありがとう

答え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}"

/lib/udev/rules.dまたは/etc/udev/rules.dの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詳細については、を参照してください。

関連情報