xref: /freebsd/share/man/man4/fwcam.4 (revision 40e05479718460820cd24c22e59519a4f13eba3d)
1.\"
2.\" Copyright (c) 2026 Abdelkader Boudih <freebsd@seuros.com>
3.\"
4.\" SPDX-License-Identifier: BSD-2-Clause
5.\"
6.Dd June 19, 2026
7.Dt FWCAM 4
8.Os
9.Sh NAME
10.Nm fwcam
11.Nd IIDC FireWire digital camera driver
12.Sh SYNOPSIS
13.Cd "device firewire"
14.Cd "device fwcam"
15.Sh DESCRIPTION
16The
17.Nm
18driver provides support for IIDC (Instrumentation and Industrial Digital
19Camera) v1.30 cameras attached via IEEE 1394 (FireWire).
20.Pp
21Video frames are received over an isochronous DMA channel and exposed
22through a character device.
23Applications read raw frames from
24.Pa /dev/fwcamX
25and configure the camera via
26.Xr ioctl 2 .
27.Pp
28The driver supports Format_0 (VGA non-compressed) video with the
29following modes:
30.Bl -tag -width "Mode 3" -compact
31.It Mode 0
32160x120 YUV444 (57,600 bytes per frame)
33.It Mode 1
34320x240 YUV422 (153,600 bytes per frame)
35.It Mode 2
36640x480 YUV411 (460,800 bytes per frame)
37.It Mode 3
38640x480 YUV422 (614,400 bytes per frame)
39.It Mode 4
40640x480 RGB8 (921,600 bytes per frame)
41.It Mode 5
42640x480 Mono8 (307,200 bytes per frame)
43.El
44.Pp
45Camera features
46.Pq brightness, gain, shutter, focus, etc.\&
47are queried and set via
48.Dv FWCAM_GFEAT
49and
50.Dv FWCAM_SFEAT
51ioctls.
52.Sh HARDWARE
53The
54.Nm
55driver supports any camera compliant with the IIDC 1394-based Digital Camera
56Specification v1.30.
57Tested hardware:
58.Bl -bullet -compact
59.It
60Apple iSight (FireWire cylinder),
61EUI-64 000a270004135e5d, Format_0 modes 1\(en3
62.El
63.Sh IOCTLS
64.Bl -tag -width "FWCAM_GINFO"
65.It Dv FWCAM_GMODE Pq Vt "struct fwcam_mode"
66Get the current video format, mode, and frame rate.
67The
68.Va frame_size
69field is filled with the computed frame size in bytes.
70.It Dv FWCAM_SMODE Pq Vt "struct fwcam_mode"
71Set the video format, mode, and frame rate.
72Streaming is restarted if active.
73.It Dv FWCAM_GFEAT Pq Vt "struct fwcam_feature"
74Get feature capabilities and current value.
75The caller sets
76.Va id
77to one of the
78.Dv FWCAM_FEAT_*
79constants; the driver fills
80.Va flags ,
81.Va min ,
82.Va max ,
83and
84.Va value .
85.It Dv FWCAM_SFEAT Pq Vt "struct fwcam_feature"
86Set a feature value.
87.It Dv FWCAM_GINFO Pq Vt "struct fwcam_info"
88Return camera capabilities, current settings, and stream statistics
89including dropped frame count and active ISO channel.
90.El
91.Sh SYSCTLS
92.Bl -tag -width "hw.firewire.fwcam.iso_channel"
93.It Va hw.firewire.fwcam.iso_channel
94Isochronous receive channel (default 0).
95Can be set as a tunable in
96.Xr loader.conf 5 .
97.El
98.Sh FILES
99.Bl -tag -width "/dev/fwcamX" -compact
100.It Pa /dev/fwcamX
101Camera character device.
102Read to obtain raw video frames.
103.El
104.Sh SEE ALSO
105.Xr firewire 4 ,
106.Xr fwohci 4
107.Pp
108IIDC 1394-based Digital Camera Specification v1.30,
1091394 Trade Association Document 1999023.
110.Sh HISTORY
111The
112.Nm
113driver first appeared in
114.Fx 16.0 .
115.Sh AUTHORS
116.An Abdelkader Boudih Aq Mt freebsd@seuros.com
117