---
name: "fwcam"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/fwcam"
---

# fwcam(4)

IIDC FireWire digital camera driver

## NAME

**fwcam** – IIDC FireWire digital camera driver

## SYNOPSIS

**device firewire** **device video** **device fwcam**

## DESCRIPTION

The **fwcam** driver provides support for IIDC (Instrumentation and Industrial Digital Camera) v1.04/v1.20/v1.30 cameras attached via IEEE 1394 (FireWire).

The driver attaches to unit directories in the device CSR configuration ROM with *unit\_spec\_id* 0x00a02d (1394 Trade Association) and *unit\_sw\_version* matching IIDC v1.04, v1.20, or v1.30. The IIDC command base address is located within the unit directory or a nested logical unit directory.

Camera hardware probing is deferred until the device is first opened. This avoids bus resets on controllers where early register access destabilizes the link.

Video frames are received over an isochronous DMA channel and delivered through the [video(4)](/video/4.md) framework. Applications access the camera via */dev/videoN* using the V4L2 interface.

The driver supports Format\_0 (VGA non-compressed) video with the following modes:

- Mode 0

  160x120 YUV444 (57,600 bytes per frame)

- Mode 1

  320x240 YUV422 (153,600 bytes per frame)

- Mode 2

  640x480 YUV411 (460,800 bytes per frame)

- Mode 3

  640x480 YUV422 (614,400 bytes per frame)

- Mode 4

  640x480 RGB8 (921,600 bytes per frame)

- Mode 5

  640x480 Mono8 (307,200 bytes per frame)

Camera features (brightness, gain, shutter, focus, etc.) are queried and set via FWCAM\_GFEAT and FWCAM\_SFEAT ioctls.

## HARDWARE

The **fwcam** driver supports any camera compliant with the IIDC 1394-based Digital Camera Specification v1.30. Tested hardware:

- Apple iSight (FireWire cylinder), EUI-64 000a270004135e5d, Format\_0 modes 1–3

## IOCTLS

- FWCAM\_GMODE (*struct fwcam\_mode*)

  Get the current video format, mode, and frame rate. The *frame\_size* field is filled with the computed frame size in bytes.

- FWCAM\_SMODE (*struct fwcam\_mode*)

  Set the video format, mode, and frame rate. Streaming is restarted if active.

- FWCAM\_GFEAT (*struct fwcam\_feature*)

  Get feature capabilities and current value. The caller sets *id* to one of the FWCAM\_FEAT\_\* constants; the driver fills *flags*, *min*, *max*, and *value*.

- FWCAM\_SFEAT (*struct fwcam\_feature*)

  Set a feature value.

- FWCAM\_GINFO (*struct fwcam\_info*)

  Return camera capabilities, current settings, and stream statistics including dropped frame count and active ISO channel.

## SYSCTLS

- *hw.firewire.fwcam.iso\_channel*

  Isochronous receive channel (default 0). Can be set as a tunable in [loader.conf(5)](/loader.conf/5.md).

## FILES

- */dev/videoN*

  Video capture device provided by the [video(4)](/video/4.md) framework.

## SEE ALSO

[firewire(4)](/firewire/4.md), [fwohci(4)](/fwohci/4.md), [video(4)](/video/4.md)

IIDC 1394-based Digital Camera Specification v1.30, 1394 Trade Association Document 1999023.

## HISTORY

The **fwcam** driver first appeared in FreeBSD 16.0.

## AUTHORS

Abdelkader Boudih ⟨*freebsd@seuros.com*⟩
