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