FreeBSD cx88 Wiki
Welcome to the FreeBSD cx88 Wiki!
This is a wiki for info on the new "cx88" video capture driver for FreeBSD.
Overview
cx88 is a package that provides kernel drivers and a simple capture application for video/audio capture cards based on the Conexant CX2388x family of PCI bridge chips.
What the heck is a CX2388x?
The Conexant CX2388x is a series of what I informally call "multimedia bridge" chips. A multimedia bridge chip is responsible for providing an interface between a host data bus (e.g. PCI, PCI-express, USB, etc.) and a "frontend" for receiving audio or video signals. Frontends typically consist of a series of highly specialized pieces of silicon, such as RF tuner chips or digital TV demodulator chips. The bridge chip must provide a bus (typically I2C) for controlling frontend devices and expose functions for controlling the transfer of audio/video data across the host bus. Depending on the application, the bridge chip may also expose specialized functions for controlling the reception and decoding of the A/V signals.
Multimedia bridge chips are typically sold to A/V capture card vendors, who integrate those chips with a frontend package of their choice. Therefore, it is often the case that two different capture cards made by completely different companies will utilize the same bridge chip and differ only in their frontend configuration.
Supported Chips
The CX2388x family contains several iterations. The cx88 kernel drivers currently generically recognize any capture card based on the CX23880/1/2/3 flavors. Support for the newer CX23885 PCI-express chip is currently under investigation.
Supported Operating Systems
The cx88 driver currently only supports FreeBSD version 7.0 and later. The driver is actively tested and maintained against the FreeBSD 7-STABLE and 8-CURRENT branches. Snapshots of the driver prior to 20071215 were built against FreeBSD 6.2.
Supported Architectures
The cx88 driver is known to work on i386 and amd64. It is intended to be machine-independent and should thus work on other architectures supported by FreeBSD, but AFAIK it hasn't been used outside of i386/amd64. Again, please let me know if you encounter problems with the driver on another architecture and I'll work to resolve them.
Driver Overview
Ideas
Contributors
- The Infrared Remote driver (cx88ir) was written by Richard Airlie.
- Konstantin Dimitrov has added support for numerous cards, including nearly all of the supported Hauppauge cards.
SVN repo
- The "bleeding edge" cx88 code base is available at svn://corona.homeunix.net/projects/pchdtv
Advisories
- [2009/06/16] cx88 v1.1.0 and earlier has a bug that can cause a kernel panic when using userspace buffers on 64-bit/PAE machines
- with more than 4GB of RAM. In particular, this affects analog video captures using the cx88 capture app. MPEG and analog audio captures are unaffected. The fix for this is in the SVN repo, and will be pushed to ports shortly.
Wiki Rules
- Spammers will be blacklisted.
- Spammers will be blacklisted.
- Spammers will be blacklisted.
- I may make minor edits to posts (from people besides myself) to fix incorrect information.
Constructive criticism (e.g. "The cx88 driver is too hard to configure") is encouraged, but defamatory remarks and insults (e.g. "Jason is a moron & I could write better code blindfolded & drunk") will be removed.
If I have excessive problems with any of the above, I may apply access control lists to parts of the wiki. Then everyone loses
Email: jason.harmening@gmail.com