NAME
firewire – IEEE1394 High-performance Serial Bus
SYNOPSIS
To compile this driver into the kernel, place the following line in your kernel configuration file:
device firewire
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
firewire_load="YES"
DESCRIPTION
FreeBSD provides machine-independent bus support and raw drivers for firewire interfaces.
The firewire driver consists of two layers: the controller and the bus layer. The controller attaches to a physical bus (like pci(4)). The firewire bus attaches to the controller. Additional drivers can be attached to the bus.
The firewire bus parses each device's CSR configuration ROM to discover unit directories. A newbus child is created for each unit directory, carrying the unit_spec_id and unit_sw_version fields as ivars. Device-specific drivers such as fwcam(4), fwisound(4), and fwdv(4) match against these fields in their probe routines. Protocol drivers such as sbp(4) and fwe(4) continue to use the legacy identify-based attachment model.
Up to 63 devices, including the host itself, can be attached to a firewire bus. The root node is dynamically assigned with a PHY device function. Also, the other firewire bus specific parameters, e.g., node ID, cycle master, isochronous resource manager and bus manager, are dynamically assigned, after bus reset is initiated. On the firewire bus, every device is identified by an EUI 64 address.
Debugging over the firewire interface is possible with the dcons(4) driver. Please see https://docs.freebsd.org/en/books/developers-handbook/kerneldebug/#kerneldebug-dcons for details on how to setup debugging with firewire.
FILES
- /dev/fw0.0
- /dev/fwmem0.0
SEE ALSO
dcons(4), fwcam(4), fwdv(4), fwe(4), fwip(4), fwisound(4), fwohci(4), pci(4), sbp(4), eui64(5), fwcontrol(8), kldload(8), sysctl(8)
HISTORY
The firewire driver first appeared in FreeBSD 5.0.
AUTHORS
The firewire driver was written by Katsushi Kobayashi and Hidetoshi Shimokawa for the FreeBSD project.
BUGS
See fwohci(4) for security notes.