summaryrefslogtreecommitdiff
path: root/linux/Documentation/dvb/FIRMWARE
blob: c26d4dcd8d48e70df2dd4e26f87184f8bf5d39a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Some DVB cards and many newer frontends require proprietary,
binary-only firmware.

The DVB drivers will be converted to use the request_firmware()
hotplug interface (see linux/Documentation/firmware_class/).
(CONFIG_FW_LOADER)

That means you will have to install recent hotplug scripts
which include an /etc/hotplug/firmware.agent to support this.
http://linux-hotplug.sourceforge.net/
(Call /sbin/hotplug without arguments to find out if the
firmware agent is installed.)

The firmware.agent script expects firmware binaries in
/usr/lib/hotplug/firmware/. To avoid naming and versioning
conflicts we propose the following naming scheme:

  /usr/lib/hotplug/firmware/dvb-{driver}-{ver}.fw	for MPEG decoders etc.
  /usr/lib/hotplug/firmware/dvb-fe-{driver}-{ver}.fw	for frontends

  {driver} name is the basename of the driver kernel module (e.g. dvb-ttpci)
  {ver} is a version number/name that should change only when the
  driver/firmware internal API changes (so users are free to install the
  latest firmware compatible with the driver).

Currently the drivers still use various different methods
to load their firmwares, so here's just a short list of the
current state:

- dvb-ttpci: firmware is compiled in (av7110_firm.h)
- ttusb-budget: firmware is compiled in (dvb-ttusb-dspbootcode.h)
- sp887x: firmware is compiled in (sp887x_firm.h)
- alps_tdlb7: firmware is loaded from path specified by
		"mcfile" module parameter; the binary must be
		extracted from the Windows driver (Sc_main.mc).
- tda1004x: firmware is loaded from path specified in
		DVB_TDA1004X_FIRMWARE_FILE kernel config
		variable (default /etc/dvb/tda1004x.bin); the
		firmware binary must be extracted from the windows
		driver