summaryrefslogtreecommitdiff
path: root/linux/Documentation/dvb/firmware.txt
diff options
context:
space:
mode:
Diffstat (limited to 'linux/Documentation/dvb/firmware.txt')
-rw-r--r--linux/Documentation/dvb/firmware.txt160
1 files changed, 0 insertions, 160 deletions
diff --git a/linux/Documentation/dvb/firmware.txt b/linux/Documentation/dvb/firmware.txt
deleted file mode 100644
index d97852d32..000000000
--- a/linux/Documentation/dvb/firmware.txt
+++ /dev/null
@@ -1,160 +0,0 @@
-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)
-
-The firmware can be loaded automatically via the hotplug manager
-or manually with the steps described below.
-
-Currently the drivers still use various different methods
-to load their firmwares, so here's just a short list of the
-current state:
-
-Drivers using the firmware hotplug interface:
-- dvb-ttpci
-- tda1004x:
-
-Proprietary solutions which need to be converted:
-- 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).
-- ttusb-dec: see "ttusb-dec.txt" for details
-- vp7041: see vp7041.txt for more information
-
-0) Getting a usable firmware file
-
-- For the dvb-ttpci driver/av7110 card you can download the firmware files from
-http://linuxtv.org/download/dvb/firmware/
-
-Please note that in case of the dvb-ttpci driver this is *not* the "Root"
-file you probably know from the 2.4 DVB releases driver.
-
-The ttpci-firmware utility from linuxtv.org CVS can be used to
-convert Dpram and Root files into a usable firmware image.
-See dvb-kerrnel/scripts/ in http://linuxtv.org/cvs/.
-
-> wget http://www.linuxtv.org/download/dvb/firmware/dvb-ttpci-01.fw-261c
-> mv dvb-ttpci-01.fw-261c /usr/lib/hotplug/firmware/dvb-ttpci-01.fw
-
-- The tda1004x driver needs a copy of the DLL "ttlcdacc.dll" from the Haupauge or Technotrend
-windows driver. Currently the DLL from v2.15a of the technotrend driver is supported. Other versions can
-added reasonably painlessly.
-
-Windows driver URL: http://www.technotrend.de/
-
-> wget http://www.technotrend.de/new/215/TTweb_215a_budget_20_05_2003.zip
-> unzip -j TTweb_215a_budget_20_05_2003.zip Software/Oem/PCI/App/ttlcdacc.dll
-
-Rename "ttlcdacc.dll" to "tda1004x.bin" -- that's currently the default name
-for the firmware file.
-
-1) Automatic firmware loading
-
-You need to install recent hotplug scripts if your distribution did not do it
-for you already, especially the /etc/hotplug/firmware.agent.
-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 mentionend above support firmware upload through the
-hotplug manager. If you have such a card, a simple "modprobe" of the driver
-will take care of everything, ie.
-
-> modprobe dvb-ttpci
-or
-> modprobe tda1004x
-
-If you have the hotplug firmware scripts installed, both drivers will ask the hotplug
-daemon for their default firmware. If the scripts are there, but the firmware cannot
-be found, an error message will be printed immediately. Make sure that the firmware
-are in a path where the hotplug manager can find them.
-
-Please note that the default firmware name of the tda1004x doesn't follow the
-naming conventions stated above. It's still called "tda1004x.bin".
-
-2) Manually loading the firmware into a driver
-
-Step a) Mount sysfs-filesystem.
-
-Sysfs provides a means to export kernel data structures, their attributes,
-and the linkages between them to userspace.
-
-For detailed informations have a look at Documentation/filesystems/sysfs.txt
-All you need to know at the moment is that firmware loading only works through
-sysfs.
-
-> mkdir /sys
-> mount -t sysfs sysfs /sys
-
-Step b) Exploring the firmware loading facilities
-
-Firmware_class support is located in
-/sys/class/firmware
-
-> dir /sys/class/firmware
-
-The "timeout" values specifies the amount of time that is waited before the
-firmware upload process is cancelled. The default values is 10 seconds. If
-you use a hotplug script for the firmware upload, this is sufficient. If
-you want to upload the firmware by hand, however, this might be too fast.
-
-> echo "180" > /sys/class/firmware/timeout
-
-Step c) Loading the driver and uploading the firmware manually
-
-"modprobe" will take care that every needed module will be loaded
-automatically
-
-> modprobe dvb-ttpci
-or
-> modprobe tda1004x
-
-If you don't have the hotplug subsystem running, the "modprobe" process will
-now hang until
-a) you upload the firmware or
-b) the timeout occurs.
-
-Change to another terminal and have a look at
-
-> dir /sys/class/firmware/
-
-total 0
-drwxr-xr-x 2 root root 0 Jul 29 11:00 0000:03:05.0
--rw-r--r-- 1 root root 0 Jul 29 10:41 timeout
-
-"0000:03:05.0" is the id of the device that needs an firmware upload.
-
-In this example, this is the pci id of my dvb-c card. It depends on the pci slot,
-so it changes if you plug the card to different slots. For the tda1004x,
-the id will be an artifical number consisting on the i2c bus the device is on.
-
-You can upload the firmware like that:
-
-> export DEVDIR=/sys/class/firmware/0000\:03\:05.0
-> echo 1 > $DEVDIR/loading
-
-For the dvb-ttpci card:
-> cat dvb-ttpci-01.fw > $DEVDIR/data
-
-For the tda1004x frontend, the path above might be different, but the other things
-are the same:
-> cat tda1004x.bin > $DEVDIR/data
-
-> echo 0 > $DEVDIR/loading
-
-That's it. The driver should be up and running now.