?? firmware.txt
字號:
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 manageror manually with the steps described below.Currently the drivers still use various different methodsto load their firmwares, so here's just a short list of thecurrent state:- dvb-ttpci: driver uses firmware hotplug interface- 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 /usr/lib/hotplug/firmware/tda1004x.bin); the firmware binary must be extracted from the windows driver- ttusb-dec: see "ttusb-dec.txt" for details1) Automatic firmware loadingYou need to install recent hotplug scripts if your distribution did not do itfor you already, especially the /etc/hotplug/firmware.agent.http://linux-hotplug.sourceforge.net/ (Call /sbin/hotplug without argumentsto find out if the firmware agent is installed.)The firmware.agent script expects firmware binaries in/usr/lib/hotplug/firmware/. To avoid naming and versioningconflicts 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).2) Manually loading the firmware into a driver (currently only the dvb-ttpci / av7110 driver supports this) 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 throughsysfs.> mkdir /sys> mount -t sysfs sysfs /sysStep b) Exploring the firmware loading facilitiesFirmware_class support is located in/sys/class/firmware> dir /sys/class/firmwareThe "timeout" values specifies the amount of time that is waited before thefirmware upload process is cancelled. The default values is 10 seconds. Ifyou use a hotplug script for the firmware upload, this is sufficient. Ifyou want to upload the firmware by hand, however, this might be too fast.> echo "180" > /sys/class/firmware/timeoutStep c) Getting a usable firmware file for the dvb-ttpci driver/av7110 card.You can download the firmware files fromhttp://linuxtv.org/download/dvb/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 toconvert 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/dvb-ttpci-01.fwgets you the version 01 of the firmware fot the ttpci driver.Step d) Loading the dvb-ttpci driver and loading the firmware"modprobe" will take care that every needed module will be loadedautomatically (except the frontend driver)> modprobe dvb-ttpciThe "modprobe" process will hang untila) you upload the firmware orb) the timeout occurs.Change to another terminal and have a look at > dir /sys/class/firmware/total 0drwxr-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 for my dvb-c card. It depends on the pci slot,so it changes if you plug the card to different slots.You can upload the firmware like that:> export DEVDIR=/sys/class/firmware/0000\:03\:05.0> echo 1 > $DEVDIR/loading> cat dvb-ttpci-01.fw > $DEVDIR/data> echo 0 > $DEVDIR/loadingThat's it. The driver should be up and running now.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -