xref: /freebsd/share/man/man4/fwisound.4 (revision c402d2e4b70023c633e6b3af5436de7033166d04)
1.\"
2.\" Copyright (c) 2026 Abdelkader Boudih <freebsd@seuros.com>
3.\"
4.\" SPDX-License-Identifier: BSD-2-Clause
5.\"
6.Dd July 12, 2026
7.Dt FWISOUND 4
8.Os
9.Sh NAME
10.Nm fwisound
11.Nd Apple FireWire audio driver
12.Sh SYNOPSIS
13.Cd "device firewire"
14.Cd "device fwisound"
15.Cd "device sound"
16.Sh DESCRIPTION
17The
18.Nm
19driver provides audio capture from Apple FireWire devices that use a
20proprietary isochronous audio protocol
21.Pq not IEC 61883/AMDTP .
22.Pp
23The driver attaches to unit directories in the device CSR configuration ROM
24with Apple OUI
25.Pq 0x000a27
26and decodes the
27.Qq sght
28packet signature to deliver stereo PCM audio to the
29.Xr sound 4
30framework.
31.Pp
32The device attaches as a standard
33.Xr sound 4
34capture device accessible at
35.Pa /dev/dspX .
36The fixed audio format is 48000\~Hz, 2-channel, signed 16-bit big-endian
37.Pq S16BE .
38.Sh HARDWARE
39The
40.Nm
41driver supports Apple FireWire devices with the following unit directory:
42.Pp
43.Bl -tag -width "unit_sw_version" -compact
44.It Va unit_spec_ID
450x000a27
46.Pq Apple OUI
47.It Va unit_sw_version
480x000010
49.El
50.Pp
51Known compatible hardware:
52.Pp
53.Bl -bullet -compact
54.It
55Apple iSight (FireWire cylinder)
56.El
57.Sh SYSCTLS
58.Bl -tag -width ".Va hw.firewire.fwisound.iso_channel"
59.It Va hw.firewire.fwisound.iso_channel
60Isochronous receive channel (default 1).
61Can be set as a tunable in
62.Xr loader.conf 5 .
63Must not conflict with
64.Va hw.firewire.fwcam.iso_channel
65.Pq default 0 .
66.El
67.Sh FILES
68.Bl -tag -width ".Pa /dev/dspX" -compact
69.It Pa /dev/dspX
70PCM capture device created by
71.Xr sound 4 .
72.El
73.Sh EXAMPLES
74Record five seconds of audio:
75.Bd -literal -offset indent
76rec -r 48000 -c 2 -e signed-integer -b 16 -B /tmp/out.wav trim 5
77.Ed
78.Pp
79If multiple sound devices are present, address the device explicitly:
80.Bd -literal -offset indent
81sox -t ossdsp /dev/dsp4 -r 48000 -c 2 -e signed-integer -b 16 \e
82    /tmp/out.wav trim 5
83.Ed
84.Sh SEE ALSO
85.Xr firewire 4 ,
86.Xr fwohci 4 ,
87.Xr sound 4 ,
88.Xr sysctl 8
89.Sh HISTORY
90The
91.Nm
92driver first appeared in
93.Fx 16.0 .
94.Sh AUTHORS
95.An Abdelkader Boudih Aq Mt freebsd@seuros.com
96.Pp
97Protocol reverse-engineered by Clemens Ladisch.
98