Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Imagine I have a new device which it's not working on Linux. I get its device ID with lsusb:

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

Imagine I know that this device will work with this firmware /lib/firmware/dvb-usb-dib0700-1.20.fw

Then I would like to create a rule or something that could tell the operating system that the device 1164:7efd must be loaded with the firmware dvb-usb-dib0700-1.20.fw

I just want to link the device ID with the firmware, so my device will work. Is there any way to do that?


share|improve this question

migrated from Jan 22 '12 at 1:03

This question came from our site for professional and enthusiast programmers.

I have this file:


with this content:

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

See examples from rules.d directories in either /lib/udev/rules.d or /etc/udev/rules.d and place your custom udev rules to


At least these are the file locations on a ubuntu server.

My quick guess is that the line should be something like this, but I'm too cross-eyed to look any documents in more detail.

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

see man udev for more information.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.