Gentoo DVB driver: Difference between revisions
m (Translated captions) |
(Translated from German) |
||
Line 1: | Line 1: | ||
This page has not yet been translated from German. |
|||
=Drivers for Kernel 2.4= |
=Drivers for Kernel 2.4= |
||
Support for evdev, input, i2c and videodev is required, module or compiled in makes no difference. |
|||
TODO |
|||
<b>Kernel-Configuration</b> |
|||
<pre> |
|||
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 |
|||
</pre> |
|||
If these functions are compiled as modules, one must also remember to load them automatically at system start. For this under Gentoo the file ''/etc/modules.autoload.d/kernel-2.4'' (for other Kernel revision replace the 2.4 by i.e. 2.6) is used. |
|||
This file should contain these lines: |
|||
<pre> |
|||
i2c-core |
|||
i2c-proc |
|||
i2c-dev |
|||
evdev |
|||
</pre> |
|||
Now the linuxtv-dvb ebuild can be installed. (If it is not installed now, emerge vdr will install it as needed dependency.) |
|||
<pre> |
|||
emerge linuxtv-dvb |
|||
</pre> |
|||
=Drivers for Kernel 2.6= |
=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 [[http://www.linuxtv.org linuxtv.org]]. |
|||
TODO |
|||
==Method A - Kernel-Drivers== |
==Method A - Kernel-Drivers== |
||
<b>Kernel-Configuration</b> |
|||
TODO |
|||
<pre> |
|||
Code maturity level options --> |
|||
--> Prompt for development and incomplete code / driver aktivieren |
|||
Select only drivers expected to compile cleanly aktivieren |
|||
Select only drivers that don't need compile-time external firmware deaktivieren |
|||
Loadable module support --> |
|||
--> Enable loadable module support aktivieren |
|||
Module unloading aktivieren |
|||
Automatic kernel module loading aktivieren |
|||
Bus options --> |
|||
--> Support for hot-pluggable devices aktivieren |
|||
File Systems |
|||
--> Kernel automounter version 4 support aktivieren |
|||
--> Pseudo filesystems --> |
|||
--> /proc file system support aktivieren |
|||
--> /dev file system support aktivieren |
|||
--> Automatically mount at boot aktivieren |
|||
--> /dev/pts file system for Unix98 PTYs aktivieren |
|||
--> Virtual memory file system support aktivieren |
|||
Device Drivers --> |
|||
--> Generic Driver Options --> |
|||
--> Hotplug firmware loading support aktivieren (m) |
|||
--> Block Devices |
|||
--> RAM disk support aktivieren |
|||
--> Initial RAM disk (initrd) support aktivieren |
|||
--> Input Device Support |
|||
--> Event Interface aktivieren (notwendig bspw. für den eingebauten IR-Empfänger der Hauppauge Nexus) |
|||
--> Character Devices |
|||
--> Serial Drivers --> |
|||
--> 8250/16550 and compatible serial support deaktivieren oder als Modul (nur für LIRC notwendig) |
|||
--> Unix98 PTY support aktivieren |
|||
--> Linux Infrared Controller --> |
|||
--> Linux Infrared Controller deaktivieren oder als Modul (nur für LIRC notwendig) |
|||
--> Serial Driver aktiviern (m) deaktivieren oder als Modul (nur für LIRC notwendig) |
|||
--> Serial Receiver Type (Homebrew) |
|||
--> I/O Port (0x3f8, 4) für COM1 |
|||
--> /dev/nvram aktivieren |
|||
--> Enhance Realtime Clock support aktivieren |
|||
--> I2C support --> |
|||
--> I2C support aktivieren (m) |
|||
--> I2C device interface aktivieren (m) |
|||
--> I2C Algorithms --> |
|||
--> I2C bit-banging interfaces aktivieren (m) |
|||
--> I2C PCF 8584 interfaces aktivieren (m) |
|||
--> Multimedia Devices --> |
|||
--> Video For Linux aktivieren |
|||
--> Digital Video Broadcasting Devices --> |
|||
--> DVB for linux aktivieren |
|||
--> DVB core support aktivieren |
|||
--> STV0299 based DVB-s frontend aktivieren (m) |
|||
--> Alps TDLB7 aktivieren (m) |
|||
--> Alps TDMB7 aktivieren (m) |
|||
--> Grundig 29504-491 aktivieren (m) |
|||
--> Grundig 29504-401 aktivieren (m) |
|||
--> Frontends with external VES1820 demodulator aktivieren (m) |
|||
--> Frontends with VES1893 or VES1993 demodulator aktivieren (m) |
|||
--> AV7110 cards aktivieren (m) |
|||
--> Compile AV7110 firmware into the driver |
|||
(/usr/lib/hotplug/firmare/dvb-ttpci-01.fw) |
|||
--> AV7110 OSD support aktivieren |
|||
--> Budget cards aktivieren (m) |
|||
--> Budget cards with onboard CI connector aktivieren |
|||
--> Budget cards with analog video inputs aktivieren |
|||
--> AV7110 card with Budget Patch aktivieren |
|||
</pre> |
|||
for a Hauppauge Nexus 2.1 card one needs only STV0299, AV7110 (+Firmware +OSD Support). |
|||
==Method B - Drivers from CVS== |
==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. |
|||
TODO |
|||
<b>Kernel-Configuration</b> |
|||
<pre> |
|||
Code maturity level options --> |
|||
--> Prompt for development and incomplete code / driver aktivieren |
|||
Select only drivers expected to compile cleanly aktivieren |
|||
Select only drivers that don't need compile-time external firmware deaktivieren |
|||
Loadable module support --> |
|||
--> Enable loadable module support aktivieren |
|||
Module unloading aktivieren |
|||
Automatic kernel module loading aktivieren |
|||
Device Drivers --> |
|||
--> Generic Driver Options --> |
|||
--> Hotplug firmware loading support aktivieren (m) |
|||
--> Input Device Support |
|||
--> Event Interface aktivieren (notwendig bspw. für den eingebauten IR-Empfänger der Hauppauge Nexus) |
|||
--> Character Devices |
|||
--> Unix98 PTY support aktivieren |
|||
--> /dev/nvram aktivieren |
|||
--> Enhance Realtime Clock support aktivieren |
|||
--> I2C support --> |
|||
--> I2C support aktivieren (m) |
|||
--> I2C device interface aktivieren (m) |
|||
--> I2C Algorithms --> |
|||
--> I2C bit-banging interfaces aktivieren (m) |
|||
--> I2C PCF 8584 interfaces aktivieren (m) |
|||
--> Multimedia Devices --> |
|||
--> Video For Linux aktivieren |
|||
--> Digital Video Broadcasting Devices --> |
|||
--> DVB for linux deaktivieren |
|||
</pre> |
|||
Now install the linuxtv-dvb-cvs ebuild: |
|||
<pre> |
|||
echo "media-tv/linuxtv-dvb-cvs ~x86" >> /etc/portage/package.keywords |
|||
emerge linuxtv-dvb-cvs |
|||
</pre> |
|||
=Finding the right drivers to load= |
=Finding the right drivers to load= |
||
As there are a lot of DVB cards available we now have to find out which driver to load. |
|||
TODO |
|||
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= |
=Installing firmware files= |
||
Since not too lang there is an ebuild for the Firmware files. |
|||
TODO |
|||
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: |
|||
<pre> |
|||
DVB_CARDS="..." |
|||
</pre> |
|||
At the moment these values are supported for DVB_CARDS: |
|||
dibusb-usb1 dibusb-usb2 nxt2002 nxt200x or51132 or51211 sp8870 sp887x |
|||
tda1004x ttpci ttusb-dec usb-a800 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. |
|||
<pre> |
|||
echo "media-tv/linuxtv-dvb-firmware ~x86" >> /etc/portage/package.keywords |
|||
emerge linuxtv-dvb-firmware |
|||
</pre> |
|||
=Loading the drivers= |
=Loading the drivers= |
||
Now we either load the drivers found before by hand: |
|||
TODO |
|||
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: |
|||
<pre> |
|||
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 |
|||
</pre> |
|||
If this is the case: congratulations. If not there could be missing some Kernel-modules / functions. |
|||
[[Category:Gentoo]] |
[[Category:Gentoo]] |
Revision as of 15:53, 13 December 2005
Drivers for Kernel 2.4
Support for evdev, input, i2c and videodev is required, module or compiled in makes no difference.
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
If these functions are compiled as modules, one must also remember to load them automatically at system start. For this under Gentoo the file /etc/modules.autoload.d/kernel-2.4 (for other Kernel revision replace the 2.4 by i.e. 2.6) is used. This file should contain these lines:
i2c-core i2c-proc i2c-dev evdev
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 aktivieren Select only drivers expected to compile cleanly aktivieren Select only drivers that don't need compile-time external firmware deaktivieren Loadable module support --> --> Enable loadable module support aktivieren Module unloading aktivieren Automatic kernel module loading aktivieren Bus options --> --> Support for hot-pluggable devices aktivieren File Systems --> Kernel automounter version 4 support aktivieren --> Pseudo filesystems --> --> /proc file system support aktivieren --> /dev file system support aktivieren --> Automatically mount at boot aktivieren --> /dev/pts file system for Unix98 PTYs aktivieren --> Virtual memory file system support aktivieren Device Drivers --> --> Generic Driver Options --> --> Hotplug firmware loading support aktivieren (m) --> Block Devices --> RAM disk support aktivieren --> Initial RAM disk (initrd) support aktivieren --> Input Device Support --> Event Interface aktivieren (notwendig bspw. für den eingebauten IR-Empfänger der Hauppauge Nexus) --> Character Devices --> Serial Drivers --> --> 8250/16550 and compatible serial support deaktivieren oder als Modul (nur für LIRC notwendig) --> Unix98 PTY support aktivieren --> Linux Infrared Controller --> --> Linux Infrared Controller deaktivieren oder als Modul (nur für LIRC notwendig) --> Serial Driver aktiviern (m) deaktivieren oder als Modul (nur für LIRC notwendig) --> Serial Receiver Type (Homebrew) --> I/O Port (0x3f8, 4) für COM1 --> /dev/nvram aktivieren --> Enhance Realtime Clock support aktivieren --> I2C support --> --> I2C support aktivieren (m) --> I2C device interface aktivieren (m) --> I2C Algorithms --> --> I2C bit-banging interfaces aktivieren (m) --> I2C PCF 8584 interfaces aktivieren (m) --> Multimedia Devices --> --> Video For Linux aktivieren --> Digital Video Broadcasting Devices --> --> DVB for linux aktivieren --> DVB core support aktivieren --> STV0299 based DVB-s frontend aktivieren (m) --> Alps TDLB7 aktivieren (m) --> Alps TDMB7 aktivieren (m) --> Grundig 29504-491 aktivieren (m) --> Grundig 29504-401 aktivieren (m) --> Frontends with external VES1820 demodulator aktivieren (m) --> Frontends with VES1893 or VES1993 demodulator aktivieren (m) --> AV7110 cards aktivieren (m) --> Compile AV7110 firmware into the driver (/usr/lib/hotplug/firmare/dvb-ttpci-01.fw) --> AV7110 OSD support aktivieren --> Budget cards aktivieren (m) --> Budget cards with onboard CI connector aktivieren --> Budget cards with analog video inputs aktivieren --> AV7110 card with Budget Patch aktivieren
for a Hauppauge Nexus 2.1 card one needs only STV0299, AV7110 (+Firmware +OSD Support).
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 aktivieren Select only drivers expected to compile cleanly aktivieren Select only drivers that don't need compile-time external firmware deaktivieren Loadable module support --> --> Enable loadable module support aktivieren Module unloading aktivieren Automatic kernel module loading aktivieren Device Drivers --> --> Generic Driver Options --> --> Hotplug firmware loading support aktivieren (m) --> Input Device Support --> Event Interface aktivieren (notwendig bspw. für den eingebauten IR-Empfänger der Hauppauge Nexus) --> Character Devices --> Unix98 PTY support aktivieren --> /dev/nvram aktivieren --> Enhance Realtime Clock support aktivieren --> I2C support --> --> I2C support aktivieren (m) --> I2C device interface aktivieren (m) --> I2C Algorithms --> --> I2C bit-banging interfaces aktivieren (m) --> I2C PCF 8584 interfaces aktivieren (m) --> Multimedia Devices --> --> Video For Linux aktivieren --> Digital Video Broadcasting Devices --> --> DVB for linux deaktivieren
Now install the linuxtv-dvb-cvs ebuild:
echo "media-tv/linuxtv-dvb-cvs ~x86" >> /etc/portage/package.keywords emerge linuxtv-dvb-cvs
Finding the right drivers 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. 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
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:
DVB_CARDS="..."
At the moment these values are supported for DVB_CARDS:
dibusb-usb1 dibusb-usb2 nxt2002 nxt200x or51132 or51211 sp8870 sp887x tda1004x ttpci ttusb-dec usb-a800 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
Loading the drivers
Now we either load the drivers found before by hand:
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.