Re: Preferred way to load non-free firmware

From: Max Krasnyansky (maxk@qualcomm.com)
Date: Wed Mar 26 2003 - 20:38:57 EST


At 05:32 PM 3/25/2003, Pavel Roskin wrote:
>Hello!
>
>I'm writing a Linux device driver for a device that requires non-free
>firmware in order to function. The firmware can be easily extracted from
>the Windows driver for that device. The device is a PCMCIA wireless card.
>
>The firmware is about 60k in size, and it mostly consists of executable
>code for ARM processor. Reimplementing it is out of question for me.
>
>What would be the best approach to handle this situation:
>
>1) Register a file on procfs and use "cat" to load the firmware into the
>kernel.
>
>2) Register a device for the same purpose.
>
>3) Register a device, but use ioctl().
>
>4) Open a network socket and use ioctl() on it (like ifconfig does).
>
>5) Use one of the the above ways to send the filename to the module and
>let the module load the firmware from file using do_generic_file_read().
>
>6) Provide a script to wrap firmware into a module and load it using
>modprobe.
>
>7) Encode the firmware into a header file, add it to the driver and
>pretend that the copyright issue doesn't exist (like it's done in the
>Keyspan USB driver).
>
>Better ideas?

8) Have the driver call external user-space firmware loader that uses
either iopl/outb/inb or mmap(/dev/mem) and loads firmware directly.

Max

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Mar 31 2003 - 22:00:26 EST