Gentoo DVB driver: Difference between revisions
(removed i2c&evdev loading from chapter kernel 2.4) |
(→Installing firmware files: updated values for DVB_CARDS) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 149: | Line 149: | ||
</pre> |
</pre> |
||
Now install the |
Now install the v4l-dvb-cvs ebuild: |
||
<pre> |
<pre> |
||
echo "media-tv/ |
echo "media-tv/v4l-dvb-cvs ~x86" >> /etc/portage/package.keywords |
||
emerge |
emerge v4l-dvb-cvs |
||
</pre> |
</pre> |
||
=Finding the right drivers to load= |
=Finding the right drivers to load= |
||
First we have to load the evdev module: |
|||
echo evdev >> /etc/modules.autoload.d/kernel-2.6 |
|||
As there are a lot of DVB cards available we now have to find out which driver to load. |
As there are a lot of DVB cards available we now have to find out which driver to load. |
||
For PCI-cards we can use for example ''pcimodules''. |
For PCI-cards we can use for example ''pcimodules''. |
||
Line 178: | Line 182: | ||
=Installing firmware files= |
=Installing firmware files= |
||
Edit your DVB card to /etc/[[GENTOO make.conf|make.conf]] so the correct firmware gets downloaded and installed. If you skip this step, all firmwares available will be installed (around 60MB of download). |
|||
Since not too lang there is an ebuild for the Firmware files. |
|||
For this one can set in /etc/make.conf for which DVB cards one needs firmware files. |
|||
If one ommits this step all firmware files are installed (Warning: around 60MB of download). |
|||
In /etc/make.conf: |
In /etc/[[GENTOO make.conf|make.conf]]: |
||
<pre> |
<pre> |
||
DVB_CARDS="..." |
DVB_CARDS="..." |
||
Line 188: | Line 190: | ||
At the moment these values are supported for DVB_CARDS: |
At the moment these values are supported for DVB_CARDS: |
||
dibusb-usb1 dibusb-usb2 nxt2002 nxt200x or51132 or51211 sp8870 |
bcm3510 dibusb-usb1 dibusb-usb2 nxt2002 nxt200x or51132 or51211 sp8870 |
||
sp887x tda10045 tda10046 tda10046lifeview ttpci ttusb-dec usb-a800 |
|||
usb-vp7045 usb-wt220u |
busb-bluebird usb-dib0700 usb-dtt200u usb-umt usb-vp702x usb-vp7045 usb-wt220u |
||
In most cases this name corresponds to the name of the driver which needs the firmware. |
In most cases this name corresponds to the name of the driver which needs the firmware. |
||
Line 202: | Line 206: | ||
emerge linuxtv-dvb-firmware |
emerge linuxtv-dvb-firmware |
||
</pre> |
</pre> |
||
The packet '''hotplug''' should be installed. When not already done: |
|||
emerge sys-apps/hotplug |
|||
'''TIP''': If the loading of the firmware fails, one can try using another version of udev. |
|||
=Loading the drivers= |
=Loading the drivers= |
||
Now we either load the drivers found before by hand: |
Now we either load the drivers found before by hand: |
||
modprobe evdev |
|||
modprobe dvb-ttpci |
modprobe dvb-ttpci |
||
modprobe b2c2-flexcop-pci |
modprobe b2c2-flexcop-pci |
Latest revision as of 17:27, 27 March 2008
Drivers for Kernel 2.4
Kernel-Configuration
Input core support ---> <M> Input core support <M> Event interface support Character devices ---> I2C support ---> <*> I2C support <M> I2C bit-banging interfaces <M> I2C device interface <M> I2C /proc interface Multimedia devices ---> <*> Video For Linux Video For Linux ---> [*] V4L information in proc filesystem
Now the linuxtv-dvb ebuild can be installed. (If it is not installed now, emerge vdr will install it as needed dependency.)
emerge linuxtv-dvb
Drivers for Kernel 2.6
Kernel 2.6 already contains a version of the DVB-drivers, that means there are two possibilities. Either one uses the included drivers or one installs the newest drivers out of the CVS from [linuxtv.org].
Method A - Kernel-Drivers
Kernel-Configuration
Code maturity level options ---> [*] Prompt for development and incomplete code / driver [*] Select only drivers expected to compile cleanly Loadable module support ---> [*] Enable loadable module support [*] Module unloading [*] Automatic kernel module loading Device Drivers ---> Generic Driver Options ---> [*] Select only drivers that don't need compile-time external firmware [*] Prevent firmware from being built <M> Hotplug firmware loading support Block Devices ---> <*> RAM disk support [*] Initial RAM disk (initrd) support Input Device Support ---> <M> Event Interface (i.e. necessary for included IR-Receiver of the Hauppauge Nexus) Character Devices ---> Serial Drivers --> [ ] 8250/16550 and compatible serial support (or as module, only necessary for LIRC) [*] Legacy (BSD) PTY support <M> /dev/nvram support <M> Enhance Realtime Clock support I2C support ---> <M> I2C support <M> I2C device interface I2C Algorithms ---> <M> I2C bit-banging interfaces <M> I2C PCF 8584 interfaces Multimedia Devices ---> <M> Video For Linux aktivieren Digital Video Broadcasting Devices ---> [*] DVB For Linux <M> DVB Core Support <M> AV7110 cards [*] AV7110 OSD support (enable every module in here) File Systems ---> <*> Kernel automounter version 4 support (also supports v3) Pseudo filesystems --> [*] /proc file system support [*] Virtual memory file system support (former shm fs) [*] /dev/pts file system for Unix98 PTYs
Method B - Drivers from CVS
Here are only the basic requirements compiled into the Kernel itself (like done with Kernel 2.4). The drivers for the DVB cards are compiled aparz from the Kernel.
Kernel-Configuration
Code maturity level options ---> [*] Prompt for development and incomplete code / driver [*] Select only drivers expected to compile cleanly Loadable module support ---> [*] Enable loadable module support [*] Module unloading [*] Automatic kernel module loading Device Drivers ---> Generic Driver Options ---> [*] Select only drivers that don't need compile-time external firmware [*] Prevent firmware from being built <M> Hotplug firmware loading support Block Devices ---> <*> RAM disk support [*] Initial RAM disk (initrd) support Input Device Support ---> <M> Event Interface (i.e. necessary for included IR-Receiver of the Hauppauge Nexus) Character Devices ---> Serial Drivers --> [ ] 8250/16550 and compatible serial support (or as module, only necessary for LIRC) [*] Legacy (BSD) PTY support <M> /dev/nvram support <M> Enhance Realtime Clock support I2C support ---> <M> I2C support <M> I2C device interface I2C Algorithms ---> <M> I2C bit-banging interfaces <M> I2C PCF 8584 interfaces Multimedia Devices ---> <M> Video For Linux aktivieren Digital Video Broadcasting Devices ---> [ ] DVB For Linux File Systems ---> <*> Kernel automounter version 4 support (also supports v3) Pseudo filesystems --> [*] /proc file system support [*] Virtual memory file system support (former shm fs) [*] /dev/pts file system for Unix98 PTYs
Now install the v4l-dvb-cvs ebuild:
echo "media-tv/v4l-dvb-cvs ~x86" >> /etc/portage/package.keywords emerge v4l-dvb-cvs
Finding the right drivers to load
First we have to load the evdev module:
echo evdev >> /etc/modules.autoload.d/kernel-2.6
As there are a lot of DVB cards available we now have to find out which driver to load. For PCI-cards we can use for example pcimodules. In case not in place already we have to install pciutils.
emerge pciutils
Now we look which drivers recognize the installed hardware:
vdr # pcimodules ohci-hcd ehci-hcd sis900 snd-emu10k1 dvb-ttpci b2c2-flexcop-pci nvidia nvidiafb
In this case these are the drivers dvb-ttpci and b2c2-flexcop-pci. These two are now appended to /etc/modules.autoload.d/kernel-2.6 (Kernel 2.4 analog):
echo dvb-ttpci >> /etc/modules.autoload.d/kernel-2.6 echo b2c2-flexcop-pci >> /etc/modules.autoload.d/kernel-2.6
Installing firmware files
Edit your DVB card to /etc/make.conf so the correct firmware gets downloaded and installed. If you skip this step, all firmwares available will be installed (around 60MB of download).
In /etc/make.conf:
DVB_CARDS="..."
At the moment these values are supported for DVB_CARDS:
bcm3510 dibusb-usb1 dibusb-usb2 nxt2002 nxt200x or51132 or51211 sp8870 sp887x tda10045 tda10046 tda10046lifeview ttpci ttusb-dec usb-a800 busb-bluebird usb-dib0700 usb-dtt200u usb-umt usb-vp702x usb-vp7045 usb-wt220u
In most cases this name corresponds to the name of the driver which needs the firmware.
If one has a FF-card and one with the nxt2002 chip installed, DVB_CARDS should at last look like this:
DVB_CARDS="ttpci nxt2002"
After that linuxtv-dvb-firmware is emerged.
echo "media-tv/linuxtv-dvb-firmware ~x86" >> /etc/portage/package.keywords emerge linuxtv-dvb-firmware
The packet hotplug should be installed. When not already done:
emerge sys-apps/hotplug
TIP: If the loading of the firmware fails, one can try using another version of udev.
Loading the drivers
Now we either load the drivers found before by hand:
modprobe evdev modprobe dvb-ttpci modprobe b2c2-flexcop-pci
or we start the script loading the modules at system boot (not the cleanest method):
/etc/init.d/modules zap start
After loading one can view the output of the drivers with the help of dmesg.
For a card with own MPEG-Decoder (FF card) the output of dmesg should look similar to this:
DVB: registering new adapter (Siemens/Technotrend/Hauppauge PCI rev1.3). saa7146_core.o: adjusting pci latency to 64 DVB: registering frontend 0:0 (Grundig 29504-491, (TDA8083 based))... DVB: AV7111(0) - firm f0240009, rtsl b0250018, vid 71010068, app 80002613 DVB: AV7111(0) - firmware supports CI link layer interface
If this is the case: congratulations. If not there could be missing some Kernel-modules / functions.