Firewire IEEE1394

Jump to: navigation, search


  • High performance serial bus for connecting heterogeneous Devices
  • Targeted for consumerelectronic applications (e.g. high-speed video transmission)
  • Also usable for communication in industrial applications (e.g. distributed control systems)


  • The bus topology of FireWire is tree-like, i.e. non-cyclic network with branch and leaf nodes

Physical medium

  • 1394a specification: data transmission up to 400 Mbps
  • 1394b specification: data transmission up to 3.2 Gbps

Transfer modes


  • Targets one or more nodes by being associated with a multicasting channel number
  • maximally 64 channels in total
  • Dont re-transmit lost or corrupted packets, but delivers data at constant rate
  • well suited for the time-triggered state message transmission in distributed control systems


  • The whole network on FireWire appears as a large 64-bits mapped bus address space
  • Each node occupying a 48-bits mapped space
  • The higher 16 bits are used to identify nodes
  • Asynchronous transaction is split into 2 sub-transactions:

-> a request to access a piece of address on another node
-> response

  • Coordination between request and response is ascertained by the Transaction Layer protocol
  • Targeted for non-error-tolerant applications, like command and control message transmission in distributed control system.

Firewire with Linux

To load the modules you have to insert some modules:

insmod ieee1394 
insmod ohci1394
insmod raw1394

Experiments with Ethernet an Firewire

modprobe eth1394
ifconfig ethX up

where X is the device eth1394 tells you