6.2. PCI 驱动程序

PCI 板卡通过一个名为 PCI ID 的标识符进行识别。PCI ID 实际上由两部分组成:

  • 供应商 ID 和设备 ID;

  • 子系统 ID 和子系统设备 ID;

通过 lspci -nn 命令可以识别供应商/设备 PCI ID。

 $ 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)
 ...

子系统 ID 可以使用 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
 ...

在上述示例中,第一张卡使用了 saa7134 驱动程序,其供应商/设备 PCI ID 为 1131:7133,PCI 子系统 ID 为 1461:f01d(参见 Saa7134 卡列表)。

不幸的是,有时不同的产品会使用相同的 PCI 子系统 ID。因此,一些媒体驱动程序允许传递一个 card= 参数,以便设置与特定板卡正确设置匹配的卡号。

目前支持的 PCI/PCIe 卡(不包括 staging 驱动程序)如下所示[1]

驱动程序

名称

altera-ci

基于 Altera FPGA 的 CI 模块

b2c2-flexcop-pci

Technisat/B2C2 Air/Sky/Cable2PC PCI

bt878

基于 bt878 的电视卡的 DVB/ATSC 支持

bttv

BT8x8 Linux 视频驱动

cobalt

Cisco Cobalt

cx18

Conexant cx23418 MPEG 编码器

cx23885

Conexant cx23885 (2388x 后继者)

cx25821

Conexant cx25821

cx88xx

Conexant 2388x (bt878 后继者)

ddbridge

Digital Devices 网桥

dm1105

基于 SDMC DM1105 的 PCI 卡

dt3155

DT3155 帧采集卡

dvb-ttpci

AV7110 卡

earth-pt1

PT1 卡

earth-pt3

Earthsoft PT3 卡

hexium_gemini

Hexium Gemini 帧采集卡

hexium_orion

Hexium HV-PCI6 和 Orion 帧采集卡

hopper

基于 HOPPER 的卡

ipu3-cio2

Intel ipu3-cio2 驱动程序

ivtv

Conexant cx23416/cx23415 MPEG 编码器/解码器

ivtvfb

Conexant cx23415 帧缓冲

mantis

基于 MANTIS 的卡

mgb4

Digiteq Automotive MGB4 帧采集卡

mxb

Siemens-Nixdorf ‘多媒体扩展板’

netup-unidvb

NetUP 通用 DVB 卡

ngene

Micronas nGene

pluto2

Pluto2 卡

saa7134

Philips SAA7134

saa7164

NXP SAA7164

smipcie

SMI PCIe DVBSky 卡

solo6x10

Bluecherry / Softlogic 6x10 采集卡 (MPEG-4/H.264)

tw5864

Techwell TW5864 视频/音频采集器和编码器

tw686x

Intersil/Techwell TW686x

tw68

Techwell tw68x Linux 视频驱动

zoran

Zoran-36057/36067 JPEG 编解码器

其中一些驱动程序支持多种设备,如下面的卡列表所示。