假设我有一台新设备,但它不能在 Linux 上运行。我使用以下命令获取其设备 ID lsusb
:
Bus 001 Device 003: ID
1164:7efd
YUAN 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
以了解更多信息。