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

# ieee1394(4)

IEEE1394 High-performance Serial Bus

Part of [firewire(4)](/firewire/4.md).

## 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)](/loader.conf/5.md):

```
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)](/pci/4.md)). 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)](/fwcam/4.md), [fwisound(4)](/fwisound/4.md), and [fwdv(4)](/fwdv/4.md) match against these fields in their probe routines. Protocol drivers such as [sbp(4)](/sbp/4.md) and [fwe(4)](/fwe/4.md) 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)](/dcons/4.md) 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)](/dcons/4.md), [fwcam(4)](/fwcam/4.md), [fwdv(4)](/fwdv/4.md), [fwe(4)](/fwe/4.md), [fwip(4)](/fwip/4.md), [fwisound(4)](/fwisound/4.md), [fwohci(4)](/fwohci/4.md), [pci(4)](/pci/4.md), [sbp(4)](/sbp/4.md), [eui64(5)](/eui64/5.md), [fwcontrol(8)](/fwcontrol/8.md), [kldload(8)](/kldload/8.md), [sysctl(8)](/sysctl/8.md)

## 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)](/fwohci/4.md) for security notes.
