
想像一下我有一個新設備,它不能在 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
以獲取更多資訊。