6.2. PCI drivers¶
The PCI boards are identified by an identification called PCI ID. The PCI ID is actually composed by two parts:
Vendor ID and device ID;
Subsystem ID and Subsystem device ID;
The lspci -nn command allows identifying the vendor/device PCI IDs:
 $ lspci -nn
 ...
 00:0a.0 Multimedia controller [0480]: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder [1131:7133] (rev d1)
 00:0b.0 Multimedia controller [0480]: Brooktree Corporation Bt878 Audio Capture [109e:0878] (rev 11)
 01:00.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23887/8 PCIe Broadcast Audio and Video Decoder with 3D Comb [14f1:8880] (rev 0f)
 02:01.0 Multimedia video controller [0400]: Internext Compression Inc iTVC15 (CX23415) Video Decoder [4444:0803] (rev 01)
 02:02.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23418 Single-Chip MPEG-2 Encoder with Integrated Analog Video/Broadcast Audio Decoder [14f1:5b7a]
 02:03.0 Multimedia video controller [0400]: Brooktree Corporation Bt878 Video Capture [109e:036e] (rev 11)
 ...
The subsystem IDs can be obtained using lspci -vn
 $ lspci -vn
 ...
     00:0a.0 0480: 1131:7133 (rev d1)
             Subsystem: 1461:f01d
             Flags: bus master, medium devsel, latency 32, IRQ 209
             Memory at e2002000 (32-bit, non-prefetchable) [size=2K]
             Capabilities: [40] Power Management version 2
 ...
At the above example, the first card uses the saa7134 driver, and
has a vendor/device PCI ID equal to 1131:7133 and a PCI subsystem
ID equal to 1461:f01d (see Saa7134 card list).
Unfortunately, sometimes the same PCI subsystem ID is used by different
products. So, several media drivers allow passing a card= parameter,
in order to setup a card number that would match the correct settings for
an specific board.
The current supported PCI/PCIe cards (not including staging drivers) are listed below[1].
| Driver | Name | 
|---|---|
| altera-ci | Altera FPGA based CI module | 
| b2c2-flexcop-pci | Technisat/B2C2 Air/Sky/Cable2PC PCI | 
| bt878 | DVB/ATSC Support for bt878 based TV cards | 
| bttv | BT8x8 Video For Linux | 
| cobalt | Cisco Cobalt | 
| cx18 | Conexant cx23418 MPEG encoder | 
| cx23885 | Conexant cx23885 (2388x successor) | 
| cx25821 | Conexant cx25821 | 
| cx88xx | Conexant 2388x (bt878 successor) | 
| ddbridge | Digital Devices bridge | 
| dm1105 | SDMC DM1105 based PCI cards | 
| dt3155 | DT3155 frame grabber | 
| dvb-ttpci | AV7110 cards | 
| earth-pt1 | PT1 cards | 
| earth-pt3 | Earthsoft PT3 cards | 
| hexium_gemini | Hexium Gemini frame grabber | 
| hexium_orion | Hexium HV-PCI6 and Orion frame grabber | 
| hopper | HOPPER based cards | 
| ipu3-cio2 | Intel ipu3-cio2 driver | 
| ivtv | Conexant cx23416/cx23415 MPEG encoder/decoder | 
| ivtvfb | Conexant cx23415 framebuffer | 
| mantis | MANTIS based cards | 
| mgb4 | Digiteq Automotive MGB4 frame grabber | 
| mxb | Siemens-Nixdorf ‘Multimedia eXtension Board’ | 
| netup-unidvb | NetUP Universal DVB card | 
| ngene | Micronas nGene | 
| pluto2 | Pluto2 cards | 
| saa7134 | Philips SAA7134 | 
| saa7164 | NXP SAA7164 | 
| smipcie | SMI PCIe DVBSky cards | 
| solo6x10 | Bluecherry / Softlogic 6x10 capture cards (MPEG-4/H.264) | 
| sta2x11_vip | STA2X11 VIP Video For Linux | 
| tw5864 | Techwell TW5864 video/audio grabber and encoder | 
| tw686x | Intersil/Techwell TW686x | 
| tw68 | Techwell tw68x Video For Linux | 
| zoran | Zoran-36057/36067 JPEG codec | 
Some of those drivers support multiple devices, as shown at the card lists below: