Skip to main content

Linux integration for HDMI capture modules

For C790, C792 and legacy TC358743 modules. Video uses CSI and audio uses separate I²S. These are not USB cameras; ribbon wiring still needs matching board drivers and device tree.

1. Check hardware​

Power off before connecting. Check pin count, pitch, contact direction, CSI lanes and power against the model guide. C792 also provides HDMI passthrough and separate 5V power; do not apply C790 audio wiring to C779.

Start with an ordinary unencrypted HDMI desktop signal in a mode supported by both module and host. Check input, CSI output and application encoding limits separately.

2. Prepare drivers and device tree​

Record board, system, kernel and ribbon type:

uname -a
cat /etc/os-release

On Raspberry Pi, consult the overlays README for your installed kernel for tc358743 interfaces, lanes and parameters. Audio also requires checking tc358743-audio and board I²S support. The Raspberry Pi kernel overlay reference is a reference branch, not a replacement for your installed version's documentation.

Pi 5 / CM5 CSI controllers differ from earlier boards; do not copy Pi 4 configurations unchanged. Other platforms need matching CSI receiver, I²C, clock and power definitions. Back up boot configuration and follow the system supplier's integration instructions.

3. Identify devices and signal​

Use your distribution's v4l-utils, plus alsa-utils for audio checks. These read-only checks do not assume /dev/video0:

v4l2-ctl --list-devices
ls -l /dev/media* /dev/video* /dev/v4l-subdev*

Select the capture-related nodes from the list. Replace X below with actual numbers:

media-ctl -d /dev/mediaX -p
v4l2-ctl -d /dev/videoX --all
v4l2-ctl -d /dev/videoX --list-formats-ext

Inspect TC358743, CSI receiver and node links. Some drivers expose HDMI timing queries on a subdevice; when supported:

v4l2-ctl -d /dev/v4l-subdevX --query-dv-timings

An unsupported ioctl may mean the wrong node or driver interface, not broken hardware. See the Linux subdevice interface for video-node relationships.

4. Verify picture and audio​

Choose the confirmed capture node and enumerated format in a local capture application. Verify locally before encoding or streaming. For manual media-pipeline configuration, follow that board driver's examples rather than another controller's pad numbers or formats.

Check audio independently:

arecord -l
arecord --help

Audio-capable models need I²S wiring, ALSA configuration and a compatible HDMI audio source. Select recording parameters from the actual sound card's supported formats. Working video does not establish audio connectivity.

Troubleshooting​

SymptomCheck
No capture nodeDriver, device tree, I²C detection, CSI selection and power
Node but no signalHDMI source, ribbon direction, EDID and timings
High-resolution drops / corruptionFrame rate, CSI lanes, cables, host bandwidth and app settings
C792 passthrough works but capture failsCSI is a separate path; inspect its driver and formats
Video without soundModel audio support, I²S, ALSA and source audio output

Provide board / module, OS / kernel versions, wiring photos and check output when reporting problems. Not every board / kernel combination has been tested on hardware for this guide.