¿Cómo puedo vincular algún dispositivo (dado por su ID de dispositivo) con un firmware específico en Linux?

imagenes

Imagina que tengo un nuevo dispositivo que no funciona en Linux. Obtengo su ID de dispositivo con lsusb:

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

Imagina que sé que este dispositivo funcionará con este firmware. /lib/firmware/dvb-usb-dib0700-1.20.fw

Entonces me gustaría crear una regla o algo que pudiera decirle al sistema operativo que el dispositivo 1164: 7efd debe cargarse con el firmware dvb-usb-dib0700-1.20.fw

Solo quiero vincular la ID del dispositivo con el firmware, para que mi dispositivo funcione. ¿Hay alguna forma de hacer eso?

Gracias


Tenemos varias respuestas

La mejor respuesta:

Tengo este archivo

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

con este contenido:

# no edite este archivo, se sobrescribirá en la actualización

# solicitudes de clase de firmware, copia archivos en el kernel
SUBSYSTEM == "firmware", ACTION == "add", RUN + = "firmware --firmware = $ env {FIRMWARE} --devpath = $ env {DEVPATH}"

Vea ejemplos de los directorios de rules.d en /lib/udev/rules.d o /etc/udev/rules.d y coloque sus reglas de udev personalizadas en

 /etc/udev/rules.d/

Al menos estas son las ubicaciones de los archivos en un servidor ubuntu.

Mi suposición rápida es que la línea debería ser algo como esto, pero estoy demasiado bizco para mirar cualquier documento con más detalle.

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

ver man udev para más información.


Otra respuesta


Fuente

Leave a Reply