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: