# This file is part of systemd.

# Description
#
# Each node on IEEE 1394 bus has configuration ROM with information for identification. Although the
# typical content of configuration ROM is defined by 1394 Trading Association, many nodes have own
# quirks. This database includes supplemental information to unit in the node.

# Convention
#
# One entry has two keys. One is customized key to match a node. Another is for kernel alias to
# match an unit included in the node.
#
# The customized key has two formats according to whether the node has model attribute:
#  - ven0x000000mo0x000000units0x000000:0x000000
#  - ven0x000000units0x000000:0x000000
#
# Even when the node has multiple units, the entry should match to one of the units. In the case,
# the customized key should have wild pattern for units field:
#  - ven0x000000mo0x000000units*0x000000:0x000000*
#  - ven0x000000units*0x000000:0x000000*
#
# The hexadecimal digits part of the customized key should be lower-case. Linux FireWire subsystem
# uses lower-case value for attributes of sysfs node, and systemd-hwdb parses the custom key by
# case-sensitive way. On the other hand, it parses kernel alias by case-insensitive way.
#
# The entry should have some of IEEE1394_UNIT_FUNCTION_XXX environment variables to express function
# of the unit. The variables are used to decide group owner of special file for character device
# corresponding to node including the unit. At present, below variables are supported:
#  - IEEE1394_UNIT_FUNCTION_MIDI
#    - For any unit to process MIDI messages. For example, the unit includes AV/C music subunit.
#  - IEEE1394_UNIT_FUNCTION_AUDIO
#    - For any unit to process audio signal. For example, the unit includes AV/C audio subunit.
#  - IEEE1394_UNIT_FUNCTION_VIDEO
#    - For any unit to process video signal.
#
# Additionally, ID_VENDOR_FROM_DATABASE and ID_MODEL_FROM_DATABASE environment variables are
# preferable.

#
# General entry for AV/C device compliant to AV/C command set generic specification:
# * Configuration ROM for AV/C Devices 1.0 (Dec. 12, 2000, 1394 Trading Association, TA Document
#   1999027)
#

# Just for backward compatibility. Please invalidate IEEE1394_UNIT_FUNCTION_VIDEO by adding entries
# if it is inconvenient.
ieee1394:node:ven*mo*units*0x00a02d:0x010001*
ieee1394:ven*mo*sp0000A02Dver00010001
 IEEE1394_UNIT_FUNCTION_VIDEO=1

#
# General entries for AV/C device with vendor unique command set:
# * IEC 61883-1:1998
#

# Please invalidate IEEE1394_UNIT_FUNCTION_VIDEO by adding entries if it is inconvenient.
ieee1394:node:ven*mo*units*0x00a02d:0x014000*
ieee1394:ven*mo*sp0000A02Dver00014000
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# Just for backward compatibility. Please invalidate IEEE1394_UNIT_FUNCTION_VIDEO by adding entries
# if it is inconvenient.
ieee1394:node:ven*mo*units*0x00a02d:0x014001*
ieee1394:ven*mo*sp0000A02Dver00014001
 IEEE1394_UNIT_FUNCTION_VIDEO=1

#
# General entry for:
# * 1394-based Digital Camera Specification Version 1.04 (Aug. 9, 1996, 1394 Trading Association)
#

ieee1394:node:ven*units0x00a02d:0x000100
ieee1394:ven*sp0000A02Dver00000100
 IEEE1394_UNIT_FUNCTION_VIDEO=1

#
# General entry for:
# * 1394-based Digital Camera Specification Version 1.20 (Jul. 23, 1998, 1394 Trading Association)
#

ieee1394:node:ven*units0x00a02d:0x000101
ieee1394:ven*sp0000A02Dver00000101
 IEEE1394_UNIT_FUNCTION_VIDEO=1

#
# General entry for:
# * IIDC Digital Camera Control Specification Ver.1.30 (Jul. 25, 2000, 1394 Trading Association)
# * IIDC Digital Camera Control Specification Ver.1.31 (Feb. 2, 2004, 1394 Trading Association, TA
#   Document 2003017)
# * IIDC Digital Camera Control Specification Ver.1.32 (Jul. 24, 2008, 1394 Trading Association,
#   Document number 2007009)
#

ieee1394:node:ven*units0x00a02d:0x000102
ieee1394:ven*sp0000A02Dver00000102
 IEEE1394_UNIT_FUNCTION_VIDEO=1

#
# General entry for:
# * IIDC2 Digital Camera Control Specification Ver.1.0.0 (Jan 26th, 2012, 1394 Trading Association,
#   TS2011001)
# * IIDC2 Digital Camera Control Specification Ver.1.1.0 (May 19th, 2015, 1394 Trading Association,
#   TS2015001)
#

ieee1394:node:ven*units0x00a02d:0x000110
ieee1394:ven*sp0000A02Dver00000110
 IEEE1394_UNIT_FUNCTION_VIDEO=1

#
# BridgeCo. Enhancement BreakOut Box (BeBoB) for DM1000, DM1100, and DM1500 ASICs.
#

# Match to eAR Master One, Eroica, Figaro, and Ciaccona.
ieee1394:node:ven0x000aacmo0x000002units0x00a02d:0x010001
ieee1394:ven00000AACmo00000002sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Acoustic Reality
 ID_MODEL_FROM_DATABASE=eAR FireWire Audio
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x0003dbmo0x01eeeeunits0x00a02d:0x010001
ieee1394:ven000003DBmo0001EEEEsp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Apogee Electronics
 ID_MODEL_FROM_DATABASE=Ensemble FireWire
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# An extension card for Rosetta 200, Rosetta 800, AD16X, DA16X, DD16X, and BigBen.
ieee1394:node:ven0x0003dbmo0x010048units0x00a02d:0x010001
ieee1394:ven000003DBmo00010048sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Apogee Electronics
 ID_MODEL_FROM_DATABASE=X-FireWire Card
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001564mo0x000610units0x00a02d:0x010001
ieee1394:ven00001564mo00000610sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Behringer
 ID_MODEL_FROM_DATABASE=F-Control Audio 610
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001564mo0x001616units0x00a02d:0x010001
ieee1394:ven00001564mo00001616sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Behringer
 ID_MODEL_FROM_DATABASE=F-Control Audio 1616
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001564mo0x001204units0x00a02d:0x010001
ieee1394:ven00001564mo00001204sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Behringer
 ID_MODEL_FROM_DATABASE=XENYX UFX1204
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001564mo0x001604units0x00a02d:0x010001
ieee1394:ven00001564mo00001604sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Behringer
 ID_MODEL_FROM_DATABASE=XENYX UFX1604
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# An extension card for Behringer X32.
ieee1394:node:ven0x001564mo0x000006units0x00a02d:0x010001
ieee1394:ven00001564mo00000006sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Behringer
 ID_MODEL_FROM_DATABASE=X-UF
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x00000amo0x030000units0x00a02d:0x010001
ieee1394:ven0000000Amo00030000sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=CME
 ID_MODEL_FROM_DATABASE=Matrix K FW
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x00a07emo0x0000a9units0x00a02d:0x014001
ieee1394:ven0000A07Emo000000A9sp0000A02Dver00014001
 ID_VENDOR_FROM_DATABASE=Digidesign
 ID_MODEL_FROM_DATABASE=Mbox 2 Pro
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x0040abmo0x010048units0x00a02d:0x010001
ieee1394:ven000040ABmo00010048sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Edirol
 ID_MODEL_FROM_DATABASE=FA-101
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x0040abmo0x010049units0x00a02d:0x010001
ieee1394:ven000040ABmo00010049sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Edirol
 ID_MODEL_FROM_DATABASE=FA-66
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# The value of model field differs depending on firmware.
ieee1394:node:ven0x000f1bmo0x010064units0x00a02d:0x010001
ieee1394:ven00000F1Bmo00010064sp0000A02Dver00010001
ieee1394:node:ven0x000f1bmo0x000210units0x00a02d:0x010001
ieee1394:ven00000F1Bmo00000210sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Ego Systems
 ID_MODEL_FROM_DATABASE=QuataFire
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# Match to Saffire and Saffire LE.
ieee1394:node:ven0x00130emo0x000000units0x00a02d:0x010001
ieee1394:ven0000130Emo00000000sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Saffire
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x00130emo0x000006units0x00a02d:0x010001
ieee1394:ven0000130Emo00000006sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Saffire Pro 10 i/o
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x00130emo0x000003units0x00a02d:0x010001
ieee1394:ven0000130Emo00000003sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Saffire Pro 26 i/o
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x01a9eemo0x000001units0x00a02d:0x010001
ieee1394:ven0001A9EEmo00000001sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=ICON
 ID_MODEL_FROM_DATABASE=FireXon
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000d6cmo0x010071units0x00a02d:0x014001
ieee1394:ven00000D6Cmo00010071sp0000A02Dver00014001
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=FW 1814
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# Vendor is BridgeCo Co AG but M-Audio.
ieee1394:node:ven0x0007f5mo0x010046units0x00a02d:0x014001
ieee1394:ven000007F5mo00010046sp0000A02Dver00014001
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=FW 410
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000d6cmo0x010060units0x00a02d:0x014001
ieee1394:ven00000D6Cmo00010060sp0000A02Dver00014001
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=FW Audiophile
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000d6cmo0x010062units0x00a02d:0x010001
ieee1394:ven00000D6Cmo00010062sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=FW Solo
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000d6cmo0x010081units0x00a02d:0x010001
ieee1394:ven00000D6Cmo00010081sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=NRV10
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000d6cmo0x00000aunits0x00a02d:0x014001
ieee1394:ven00000D6Cmo0000000Asp0000A02Dver00014001
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=Ozonic
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000d6cmo0x0100a1units0x00a02d:0x014001
ieee1394:ven00000D6Cmo000100A1sp0000A02Dver00014001
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=ProFire Lightbridge
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000d6cmo0x010091units0x00a02d:0x014001
ieee1394:ven00000D6Cmo00010091sp0000A02Dver00014001
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=ProjectMix I/O
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# An extension card for Mackie Onyx 1220, 1620, and 1640.
ieee1394:node:ven0x000ff2mo0x010065units0x00a02d:0x010001
ieee1394:ven00000FF2mo00010065sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Loud Technologies
 ID_MODEL_FROM_DATABASE=Mackie Onyx FireWire
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# An extension card for Mackie d.2.
ieee1394:node:ven0x000ff2mo0x010067units0x00a02d:0x010001
ieee1394:ven00000FF2mo00010067sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Loud Technologies
 ID_MODEL_FROM_DATABASE=Mackie DJ Mixer
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# Match to FireFly 202, 302, 808, and 808 Universal.
# Match to HelixBoard 12 mk II, 18 mk II, 24 mk II, 12 Universal, 18 Universal, and 24 Universal.
ieee1394:node:ven0x001496mo0x000000units0x00a02d:0x010001
ieee1394:ven00001496mo00000000sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Phonic
 ID_MODEL_FROM_DATABASE=FireFly/Helixboard
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000a92mo0x010000units0x00a02d:0x010001
ieee1394:ven00000A92mo00010000sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=FireBox
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000a92mo0x010001units0x00a02d:0x010001
ieee1394:ven00000A92mo00010001sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=Inspire 1394
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001198mo0x010048units0x00a02d:0x010001
ieee1394:ven00001198mo00010048sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Prism Media Products
 ID_MODEL_FROM_DATABASE=Orpheus
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000a92mo0x010066units0x00a02d:0x010001
ieee1394:ven00000A92mo00010066sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=PreSonus FP10
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001260mo0x000001units0x00a02d:0x010001
ieee1394:ven00001260mo00000001sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Stanton Magnetics
 ID_MODEL_FROM_DATABASE=ScratchAmp
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x010065mo0x010067units0x00a02d:0x010001
ieee1394:ven00010065mo00010067sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Tascam
 ID_MODEL_FROM_DATABASE=IF-FW/DM
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000aacmo0x000003units0x00a02d:0x010001
ieee1394:ven00000AACmo00000003sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=TerraTec Electronic
 ID_MODEL_FROM_DATABASE=PHASE 88 FW
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000aacmo0x000004units0x00a02d:0x010001
ieee1394:ven00000AACmo00000004sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=TerraTec Electronic
 ID_MODEL_FROM_DATABASE=PHASE 24 FW
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000aacmo0x000007units0x00a02d:0x010001
ieee1394:ven00000AACmo00000007sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=TerraTec Electronic
 ID_MODEL_FROM_DATABASE=PHASE X24 FW
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x002327mo0x020002units0x00a02d:0x010001
ieee1394:ven00002327mo00020002sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=ToneWeal
 ID_MODEL_FROM_DATABASE=FW66
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x00a0demo0x10000bunits0x00a02d:0x010001
ieee1394:ven0000A0DEmo0010000Bsp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Yamaha
 ID_MODEL_FROM_DATABASE=GO44
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x00a0demo0x10000cunits0x00a02d:0x010001
ieee1394:ven0000A0DEmo0010000Csp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Yamaha
 ID_MODEL_FROM_DATABASE=GO46
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

#
# Fireworks board module.
#
# DSP model (Texus Instruments TMS320C67) and FPGA model (Xilinx Spartan XC35250E) exists.
# Both models use Texus Instruments TSB43CB43 (IceLynx Micro, iCEM) as communication engine.
#

# Match to DSP model of AudioFire8.
ieee1394:node:ven0x001486mo0x000af8units0x00a02d:0x010000
ieee1394:ven00001486mo00000AF8sp0000A02Dver00010000
 ID_VENDOR_FROM_DATABASE=Echo Digital Audio
 ID_MODEL_FROM_DATABASE=AudioFire8
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# Match to both DSP and FPGA models of AudioFire12.
ieee1394:node:ven0x001486mo0x00af12units0x00a02d:0x010000
ieee1394:ven00001486mo0000AF12sp0000A02Dver00010000
 ID_VENDOR_FROM_DATABASE=Echo Digital Audio
 ID_MODEL_FROM_DATABASE=AudioFire12
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# DSP model.
ieee1394:node:ven0x000ff2mo0x01200funits0x00a02d:0x010000
ieee1394:ven00000FF2mo0001200Fsp0000A02Dver00010000
 ID_VENDOR_FROM_DATABASE=Mackie
 ID_MODEL_FROM_DATABASE=Onyx 1200F
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# DSP model.
ieee1394:node:ven0x000ff2mo0x00400funits0x00a02d:0x010000
ieee1394:ven00000FF2mo0000400Fsp0000A02Dver00010000
 ID_VENDOR_FROM_DATABASE=Mackie
 ID_MODEL_FROM_DATABASE=Onyx 400F
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# FPGA model.
ieee1394:node:ven0x001486mo0x000af2units0x00a02d:0x010000
ieee1394:ven00001486mo00000AF2sp0000A02Dver00010000
 ID_VENDOR_FROM_DATABASE=Echo Digital Audio
 ID_MODEL_FROM_DATABASE=AudioFire2
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# FPGA model.
ieee1394:node:ven0x001486mo0x000af4units0x00a02d:0x010000
ieee1394:ven00001486mo00000AF4sp0000A02Dver00010000
 ID_VENDOR_FROM_DATABASE=Echo Digital Audio
 ID_MODEL_FROM_DATABASE=AudioFire4
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# Match to FPGA model of AudioFire8, and AudioFirePre8.
ieee1394:node:ven0x001486mo0x000af9units0x00a02d:0x010000
ieee1394:ven00001486mo00000AF9sp0000A02Dver00010000
 ID_VENDOR_FROM_DATABASE=Echo Digital Audio
 ID_MODEL_FROM_DATABASE=AudioFire8/Pre8
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# FPGA model.
ieee1394:node:ven0x00075bmo0x00afb2units0x00a02d:0x010000
ieee1394:ven0000075Bmo0000AFB2sp0000A02Dver00010000
 ID_VENDOR_FROM_DATABASE=Gibson
 ID_MODEL_FROM_DATABASE=RIP
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

#
# Oxford Semiconductor FW970/971.
#

ieee1394:node:ven0x0003dbmo0x01ddddunits0x00a02d:0x010001
ieee1394:ven000003DBmo0001DDDDsp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Apogee Electronics
 ID_MODEL_FROM_DATABASE=Duet FireWire
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001564mo0x00fc22units0x00a02d:0x010001
ieee1394:ven00001564mo0000FC22sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Behringer
 ID_MODEL_FROM_DATABASE=F-Control Audio 202
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001292mo0x00f970units0x00a02d:0x010001
ieee1394:ven00001292mo0000F970sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Griffin Technology
 ID_MODEL_FROM_DATABASE=Griffin FireWave
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x00d04bmo0x00f970units0x00a02d:0x010001
ieee1394:ven0000D04Bmo0000F970sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=LaCie
 ID_MODEL_FROM_DATABASE=LaCie FireWire Speakers
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# Match to former models of Onyx 820i, 1220i, and 1620i.
ieee1394:node:ven0x000ff2mo0x081216units0x00a02d:0x010001
ieee1394:ven00000FF2mo00081216sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Loud Technologies
 ID_MODEL_FROM_DATABASE=Mackie Onyx-i series
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000ff2mo0x001640units0x00a02d:0x010001
ieee1394:ven00000FF2mo00001640sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Loud Technologies
 ID_MODEL_FROM_DATABASE=Mackie Onyx 1640i
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000ff2mo0x00200funits0x00a02d:0x010001
ieee1394:ven00000FF2mo0000200Fsp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Loud Technologies
 ID_MODEL_FROM_DATABASE=Mackie Onyx Satellite
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x000ff2mo0x000460units0x00a02d:0x010001
ieee1394:ven00000FF2mo00000460sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Loud Technologies
 ID_MODEL_FROM_DATABASE=Tapco LINK.firewire 4x6
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001260mo0x002000units0x00a02d:0x010001
ieee1394:ven00001260mo00002000sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Stanton Magnetics
 ID_MODEL_FROM_DATABASE=SCS.1d
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x001260mo0x001000units0x00a02d:0x010001
ieee1394:ven00001260mo00001000sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Stanton Magnetics
 ID_MODEL_FROM_DATABASE=SCS.1m
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

ieee1394:node:ven0x00022emo0x800007units0x00a02d:0x010001
ieee1394:ven0000022Emo00800007sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Tascam
 ID_MODEL_FROM_DATABASE=FireOne
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

#
# TC Applied Technologies. Digital Interface Communication Engine (DICE).
#
# DICE with DICE II, TCD2210, TCD2220, and TCD3070 ASICs.
#

ieee1394:node:ven0x0004c4mo0x000000units0x0004c4:0x000001
ieee1394:ven000004C4mo00000000sp000004C4ver00000001
 ID_VENDOR_FROM_DATABASE=Allen and Heath
 ID_MODEL_FROM_DATABASE=Zed R16
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# Match to iO 14, iO 26
ieee1394:node:ven0x000595mo0x000001units0x000595:0x000001
ieee1394:ven00000595mo00000001sp00000595ver00000001
 ID_VENDOR_FROM_DATABASE=Alesis
 ID_MODEL_FROM_DATABASE=iO FireWire
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000595mo0x000002units0x000595:0x000001
ieee1394:ven00000595mo00000002sp00000595ver00000001
 ID_VENDOR_FROM_DATABASE=Alesis
 ID_MODEL_FROM_DATABASE=MasterControl
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# Match to Multimix 8, 12, and 16.
ieee1394:node:ven0x000595mo0x000000units0x000595:0x000001
ieee1394:ven00000595mo00000000sp00000595ver00000001
 ID_VENDOR_FROM_DATABASE=Alesis
 ID_MODEL_FROM_DATABASE=MultiMix FireWire
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00a07emo0x000004units0x00a07e:0x000001
ieee1394:ven0000A07Emo00000004sp0000A07Ever00000001
 ID_VENDOR_FROM_DATABASE=Avid
 ID_MODEL_FROM_DATABASE=Mbox 3 Pro
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001c2dmo0x000001units0x001c2d:0x000001
ieee1394:ven00001C2Dmo00000001sp00001C2Dver00000001
 ID_VENDOR_FROM_DATABASE=FlexRadio Systems
 ID_MODEL_FROM_DATABASE=FLEX-5000
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001c2dmo0x000002units0x001c2d:0x000001
ieee1394:ven00001C2Dmo00000002sp00001C2Dver00000001
 ID_VENDOR_FROM_DATABASE=FlexRadio Systems
 ID_MODEL_FROM_DATABASE=FLEX-3000
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00130emo0x000006units0x00130e:0x000001
ieee1394:ven0000130Emo00000006sp0000130Ever00000001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Liquid Saffire 56
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00130emo0x000009units0x00130e:0x000001
ieee1394:ven0000130Emo00000009sp0000130Ever00000001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Saffire Pro 14
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00130emo0x000007units0x00130e:0x000001
ieee1394:ven0000130Emo00000007sp0000130Ever00000001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Saffire Pro 24
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00130emo0x000008units0x00130e:0x000001
ieee1394:ven0000130Emo00000008sp0000130Ever00000001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Saffire Pro 24 DSP
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00130emo0x000012units0x00130e:0x000001
ieee1394:ven0000130Emo00000012sp0000130Ever00000001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Saffire Pro 26
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# Revision with TCD2210.
ieee1394:node:ven0x00130emo0x000005units0x00130e:0x000001
ieee1394:ven0000130Emo00000005sp0000130Ever00000001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Saffire Pro 40
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# Revision with TCD3070.
ieee1394:node:ven0x00130emo0x0000deunits0x00130e:0x000001
ieee1394:ven0000130Emo000000DEsp0000130Ever00000001
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Saffire Pro 40
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000fd7mo0x000001units0x000fd7:0x000001
ieee1394:ven00000FD7mo00000001sp00000FD7ver00000001
 ID_VENDOR_FROM_DATABASE=Harman Music Group
 ID_MODEL_FROM_DATABASE=Lexicon I-ONIX FW810S
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000ff2mo0x000007units0x000ff2:0x000001
ieee1394:ven00000FF2mo00000007sp00000FF2ver00000001
 ID_VENDOR_FROM_DATABASE=Loud Technologies
 ID_MODEL_FROM_DATABASE=Mackie Onyx Blackbird
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# Match to Onyx 1640i, and latter models of Onyx 820i, 1220i, and 1620i.
ieee1394:node:ven0x000ff2mo0x000006units0x000ff2:0x000001
ieee1394:ven00000FF2mo00000006sp00000FF2ver00000001
 ID_VENDOR_FROM_DATABASE=Loud Technologies
 ID_MODEL_FROM_DATABASE=Mackie Onyx-i series
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000d6cmo0x000011units0x000d6c:0x0100d1
ieee1394:ven00000D6Cmo00000011sp00000D6Cver000100D1
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=ProFire 610
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000d6cmo0x000010units0x000d6c:0x0100c1
ieee1394:ven00000D6Cmo00000010sp00000D6Cver000100C1
 ID_VENDOR_FROM_DATABASE=M-Audio
 ID_MODEL_FROM_DATABASE=ProFire 2626
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001ee8mo0x000002units0x001ee8:0x000001
ieee1394:ven00001EE8mo00000002sp00001EE8ver00000001
 ID_VENDOR_FROM_DATABASE=Mytek
 ID_MODEL_FROM_DATABASE=Stereo192-DSD DAC
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x10c73fmo0x000001units0x10c73f:0x000001
ieee1394:ven0010C73Fmo00000001sp0010C73Fver00000001
 ID_VENDOR_FROM_DATABASE=Midas Klark Teknik
 ID_MODEL_FROM_DATABASE=VeniceF series
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a92mo0x000008units0x000a92:0x000001
ieee1394:ven00000A92mo00000008sp00000A92ver00000001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=FireStudio
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a92mo0x000011units0x000a92:0x000001
ieee1394:ven00000A92mo00000011sp00000A92ver00000001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=FireStudio Mobile
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a92mo0x00000bunits0x000a92:0x000001
ieee1394:ven00000A92mo0000000Bsp00000A92ver00000001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=FireStudio Project
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a92mo0x00000cunits0x000a92:0x000001
ieee1394:ven00000A92mo0000000Csp00000A92ver00000001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=FireStudio Tube
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a92mo0x000010units0x000a92:0x000001
ieee1394:ven00000A92mo00000010sp00000A92ver00000001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=StudioLive 16.4.2
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a92mo0x000012units0x000a92:0x000001
ieee1394:ven00000A92mo00000012sp00000A92ver00000001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=StudioLive 24.4.2
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a92mo0x000013units0x000a92:0x000001
ieee1394:ven00000A92mo00000013sp00000A92ver00000001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=StudioLive 16.0.2
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a92mo0x000014units0x000a92:0x000001
ieee1394:ven00000A92mo00000014sp00000A92ver00000001
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=StudioLive 32.4.2AI
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# Unregistered OUI. Match to Duende Classic and Duende Mini. They are differentiated by category
# field of GUID (0x51/0x52) in TCAT specification.
ieee1394:node:ven0x0050c2mo0x000070units0x0050c2:0x000001
ieee1394:ven000050C2mo00000070sp000050C2ver00000001
 ID_VENDOR_FROM_DATABASE=Solid State Logic
 ID_MODEL_FROM_DATABASE=Duende FireWire
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000166mo0x000024units0x000166:0x000001
ieee1394:ven00000166mo00000024sp00000166ver00000001
 ID_VENDOR_FROM_DATABASE=TC Electronic
 ID_MODEL_FROM_DATABASE=Desktop Konnekt 6
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000166mo0x000030units0x000166:0x000001
ieee1394:ven00000166mo00000030sp00000166ver00000001
 ID_VENDOR_FROM_DATABASE=TC Electronic
 ID_MODEL_FROM_DATABASE=Digital Konnekt x32
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000166mo0x000027units0x000166:0x000001
ieee1394:ven00000166mo00000027sp00000166ver00000001
 ID_VENDOR_FROM_DATABASE=TC Electronic
 ID_MODEL_FROM_DATABASE=Impact Twin
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000166mo0x000020units0x000166:0x000001
ieee1394:ven00000166mo00000020sp00000166ver00000001
 ID_VENDOR_FROM_DATABASE=TC Electronic
 ID_MODEL_FROM_DATABASE=Konnekt 24D
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000166mo0x000021units0x000166:0x000001
ieee1394:ven00000166mo00000021sp00000166ver00000001
 ID_VENDOR_FROM_DATABASE=TC Electronic
 ID_MODEL_FROM_DATABASE=Konnekt 8
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000166mo0x000023units0x000166:0x000001
ieee1394:ven00000166mo00000023sp00000166ver00000001
 ID_VENDOR_FROM_DATABASE=TC Electronic
 ID_MODEL_FROM_DATABASE=Konnekt Live
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000166mo0x000022units0x000166:0x000001
ieee1394:ven00000166mo00000022sp00000166ver00000001
 ID_VENDOR_FROM_DATABASE=TC Electronic
 ID_MODEL_FROM_DATABASE=Studio Konnekt 48
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001c6amo0x000001units0x001c6a:0x000001
ieee1394:ven00001C6Amo00000001sp00001C6Aver00000001
 ID_VENDOR_FROM_DATABASE=Weiss Engineering
 ID_MODEL_FROM_DATABASE=ADC2
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001c6amo0x000002units0x001c6a:0x000001
ieee1394:ven00001C6Amo00000002sp00001C6Aver00000001
 ID_VENDOR_FROM_DATABASE=Weiss Engineering
 ID_MODEL_FROM_DATABASE=Vesta
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001c6amo0x000003units0x001c6a:0x000001
ieee1394:ven00001C6Amo00000003sp00001C6Aver00000001
 ID_VENDOR_FROM_DATABASE=Weiss Engineering
 ID_MODEL_FROM_DATABASE=Minerva
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001c6amo0x000004units0x001c6a:0x000001
ieee1394:ven00001C6Amo00000004sp00001C6Aver00000001
 ID_VENDOR_FROM_DATABASE=Weiss Engineering
 ID_MODEL_FROM_DATABASE=AFI1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001c6amo0x000005units0x001c6a:0x000001
ieee1394:ven00001C6Amo00000005sp00001C6Aver00000001
 ID_VENDOR_FROM_DATABASE=Weiss Engineering
 ID_MODEL_FROM_DATABASE=DAC1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001c6amo0x000006units0x001c6a:0x000001
ieee1394:ven00001C6Amo00000006sp00001C6Aver00000001
 ID_VENDOR_FROM_DATABASE=Weiss Engineering
 ID_MODEL_FROM_DATABASE=INT202
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x001c6amo0x000007units0x001c6a:0x000001
ieee1394:ven00001C6Amo00000007sp00001C6Aver00000001
 ID_VENDOR_FROM_DATABASE=Weiss Engineering
 ID_MODEL_FROM_DATABASE=DAC202
 IEEE1394_UNIT_FUNCTION_AUDIO=1

#
# Digidesign Digi00x family.
#

ieee1394:node:ven0x00a07eunits0x0000a3:0x000001
ieee1394:ven0000A07Emo00000001sp000000A3ver00000001
 ID_VENDOR_FROM_DATABASE=Digidesign
 ID_MODEL_FROM_DATABASE=Digi 002
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00a07eunits0x0000a4:0x000001
ieee1394:ven0000A07Emo00000002sp000000A4ver00000001
 ID_VENDOR_FROM_DATABASE=Digidesign
 ID_MODEL_FROM_DATABASE=Digi 002Rack
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00a07eunits0x0000aa:0x000001
ieee1394:ven0000A07Emo00000001sp000000AAver00000001
 ID_VENDOR_FROM_DATABASE=Digidesign
 ID_MODEL_FROM_DATABASE=Digi 003
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00a07eunits0x0000ab:0x000001
ieee1394:ven0000A07Emo00000002sp000000ABver00000001
 ID_VENDOR_FROM_DATABASE=Digidesign
 ID_MODEL_FROM_DATABASE=Digi 003 Rack
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

#
# Tascam FireWire series.
#

ieee1394:node:ven0x00022eunits0x00022e:0x800001
ieee1394:ven0000022Emo00000000sp0000022Ever00800001
 ID_VENDOR_FROM_DATABASE=Tascam
 ID_MODEL_FROM_DATABASE=FE-8
 IEEE1394_UNIT_FUNCTION_MIDI=1

ieee1394:node:ven0x00022eunits0x00022e:0x800003
ieee1394:ven0000022Emo00000000sp0000022Ever00800003
 ID_VENDOR_FROM_DATABASE=Tascam
 ID_MODEL_FROM_DATABASE=FW-1082
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00022eunits0x00022e:0x800004
ieee1394:ven0000022Emo00000000sp0000022Ever00800004
 ID_VENDOR_FROM_DATABASE=Tascam
 ID_MODEL_FROM_DATABASE=FW-1804
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00022eunits0x00022e:0x800000
ieee1394:ven0000022Emo00000000sp0000022Ever00800000
 ID_VENDOR_FROM_DATABASE=Tascam
 ID_MODEL_FROM_DATABASE=FW-1884
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

#
# Mark of the Unicorn FireWire series.
#
# The model field in unit directory should be ignored since it expresses firmware version.
#

ieee1394:node:ven0x0001f2units0x0001f2:0x000001
ieee1394:ven000001F2mo*sp000001F2ver00000001
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU 828
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000002
ieee1394:ven000001F2mo*sp000001F2ver00000002
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU 896
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000003
ieee1394:ven000001F2mo*sp000001F2ver00000003
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU 828 mkII
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000005
ieee1394:ven000001F2mo*sp000001F2ver00000005
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU 896 HD
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000009
ieee1394:ven000001F2mo*sp000001F2ver00000009
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=Traveler
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x00000d
ieee1394:ven000001F2mo*sp000001F2ver0000000D
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=UltraLite
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x00000f
ieee1394:ven000001F2mo*sp000001F2ver0000000F
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU 8pre
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000015
ieee1394:ven000001F2mo*sp000001F2ver00000015
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU 828 mk3 FireWire
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000017
ieee1394:ven000001F2mo*sp000001F2ver00000017
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU 896 mk3 FireWire
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000019
ieee1394:ven000001F2mo*sp000001F2ver00000019
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=UltraLite mk3 FireWire
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x00001b
ieee1394:ven000001F2mo*sp000001F2ver0000001B
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=Traveler mk3
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000030
ieee1394:ven000001F2mo*sp000001F2ver00000030
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=UltraLite mk3 Hybrid
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000033
ieee1394:ven000001F2mo*sp000001F2ver00000033
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=Audio Express
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000035
ieee1394:ven000001F2mo*sp000001F2ver00000035
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU 828 mk3 Hybrid
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x0001f2units0x0001f2:0x000045
ieee1394:ven000001F2mo*sp000001F2ver00000045
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU 4pre
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

#
# RME Fireface series.
#
ieee1394:node:ven0x000a35units0x000a35:0x000001
ieee1394:ven00000A35mo00101800sp00000A35ver00000001
 ID_VENDOR_FROM_DATABASE=RME
 ID_MODEL_FROM_DATABASE=Fireface 800
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a35units0x000a35:0x000002
ieee1394:ven00000A35mo00101800sp00000A35ver00000002
 ID_VENDOR_FROM_DATABASE=RME
 ID_MODEL_FROM_DATABASE=Fireface 400
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a35units0x000a35:0x000003
ieee1394:ven00000A35mo00101800sp00000A35ver00000003
 ID_VENDOR_FROM_DATABASE=RME
 ID_MODEL_FROM_DATABASE=Fireface UFX
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a35units0x000a35:0x000004
ieee1394:ven00000A35mo00101800sp00000A35ver00000004
 ID_VENDOR_FROM_DATABASE=RME
 ID_MODEL_FROM_DATABASE=Fireface UCX
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000a35units0x000a35:0x000005
ieee1394:ven00000A35mo00101800sp00000A35ver00000005
 ID_VENDOR_FROM_DATABASE=RME
 ID_MODEL_FROM_DATABASE=Fireface 802
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

#
# Yamaha mLAN 2nd generation.
#
# The combination of Yamaha mLAN-NC1, Yamaha mLAN-PH2, and Fujifilm PHY MD8408B.
#

ieee1394:node:ven0x000a92mo0x000000units0x00a0de:0xffffff
ieee1394:ven00000A92mo00000000sp0000A0DEver00FFFFFF
 ID_VENDOR_FROM_DATABASE=PreSonus
 ID_MODEL_FROM_DATABASE=FIREStation
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00a0demo0x100005units0x00a0de:0xffffff
ieee1394:ven0000A0DEmo00100005sp0000A0DEver00FFFFFF
 ID_VENDOR_FROM_DATABASE=Yamaha
 ID_MODEL_FROM_DATABASE=01X
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00a0demo0x100007units0x00a0de:0xffffff
ieee1394:ven0000A0DEmo00100007sp0000A0DEver00FFFFFF
 ID_VENDOR_FROM_DATABASE=Yamaha
 ID_MODEL_FROM_DATABASE=i88X
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

#
# Yamaha mLAN 3rd generation.
#
# DICE II ASIC is used with specific firmware.
#

ieee1394:node:ven0x00a0demo0x100013units0x00a02d:0x000300
ieee1394:ven0000A0DEmo00100013sp0000A02Dver00000300
 ID_VENDOR_FROM_DATABASE=Steinberg
 ID_MODEL_FROM_DATABASE=MR816
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00a0demo0x100010units0x00a02d:0x000300
ieee1394:ven0000A0DEmo00100010sp0000A02Dver00000300
 ID_VENDOR_FROM_DATABASE=Yamaha
 ID_MODEL_FROM_DATABASE=n8
 IEEE1394_UNIT_FUNCTION_MIDI=1
 IEEE1394_UNIT_FUNCTION_AUDIO=1

#
# Focusrite Liquid Mix series.
#
# OEM by Sintefex Audio lda.
#

ieee1394:node:ven0x00130eunits0x00130e:0x000700
ieee1394:ven0000130Emo00010204sp0000130Ever00000700
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Liquid Mix 16
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x00130eunits0x00130e:0x000200
ieee1394:ven0000130Emo00010200sp0000130Ever00000200
 ID_VENDOR_FROM_DATABASE=Focusrite
 ID_MODEL_FROM_DATABASE=Liquid Mix 32
 IEEE1394_UNIT_FUNCTION_AUDIO=1

#
# TC Electronic PowerCore series.
#
# Consists of NXP PowerQUICC II Processor with PCI interface (XPC8245, MPC8245), Texus Instruments
# OHCI 1.1, 1394a link layer controller (TSB43AB23). Xilinx Spartan-II FPGA (XC2S50), and some
# NXP 24-Bit Audio Digital Signal Processor (DSP56367).
#

ieee1394:node:ven0x000166mo0x000001units0x00a02d:0x000000
ieee1394:ven00000166mo00000001sp0000A02Dver00000000
 ID_VENDOR_FROM_DATABASE=TC Electronic
 ID_MODEL_FROM_DATABASE=PowerCore FireWire
 IEEE1394_UNIT_FUNCTION_AUDIO=1

ieee1394:node:ven0x000166mo0x000002units0x00a02d:0x014000
ieee1394:ven00000166mo00000002sp0000A02Dver00014000
 ID_VENDOR_FROM_DATABASE=TC Electronic
 ID_MODEL_FROM_DATABASE=PowerCore Compact
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=0

# Match to Adrenaline, Mojo, and V10.
ieee1394:node:ven0x00a07eunits0x00a02d:0x014001
ieee1394:ven0000A07Emo00000001sp0000A02Dver00014001
 ID_VENDOR_FROM_DATABASE=Avid Technology
 ID_MODEL_FROM_DATABASE=Digital Nonlinear Accelerator
 IEEE1394_UNIT_FUNCTION_AUDIO=1
 IEEE1394_UNIT_FUNCTION_VIDEO=1

#
# Point Grey cameras.
#

# IIDC v1.04 compatible.
ieee1394:node:ven0x00b09dmo*units0x00b09d:0x000100
ieee1394:ven0000B09Dmo*spec0000B09Dver00000100
 ID_VENDOR_FROM_DATABASE=Point Grey Research
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# IIDC v1.20 compatible.
ieee1394:node:ven0x00b09dmo*units0x00b09d:0x000101
ieee1394:ven0000B09Dmo*spec0000B09Dver00000101
 ID_VENDOR_FROM_DATABASE=Point Grey Research
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# IIDC v1.30/v1.31/v1.32 compatible.
ieee1394:node:ven0x00b09dmo*units0x00b09d:0x000102
ieee1394:ven0000B09Dmo*spec0000B09Dver00000102
 ID_VENDOR_FROM_DATABASE=Point Grey Research
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# Unique protocol.
ieee1394:node:ven0x00b09dmo*units0x00b09d:0x000114
ieee1394:ven0000B09Dmo*spec0000B09Dver00000114
 ID_VENDOR_FROM_DATABASE=Point Grey Research
 IEEE1394_UNIT_FUNCTION_VIDEO=1

#
# Digital Everywhere FloppyDTV and FireDtv series.
#

ieee1394:node:ven0x001287mo0x000024units0x00a02d:0x010001
ieee1394:ven00001287mo00000024sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Digital Everywhere
 ID_MODEL_FROM_DATABASE=FloppyDTV S/CI
 IEEE1394_UNIT_FUNCTION_VIDEO=1

ieee1394:node:ven0x001287mo0x000025units0x00a02d:0x010001
ieee1394:ven00001287mo00000025sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Digital Everywhere
 ID_MODEL_FROM_DATABASE=FloppyDTV T/CI
 IEEE1394_UNIT_FUNCTION_VIDEO=1

ieee1394:node:ven0x001287mo0x000026units0x00a02d:0x010001
ieee1394:ven00001287mo00000026sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Digital Everywhere
 ID_MODEL_FROM_DATABASE=FloppyDTV C/CI
 IEEE1394_UNIT_FUNCTION_VIDEO=1

ieee1394:node:ven0x001287mo0x000034units0x00a02d:0x010001
ieee1394:ven00001287mo00000034sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Digital Everywhere
 ID_MODEL_FROM_DATABASE=FireDTV S/CI
 IEEE1394_UNIT_FUNCTION_VIDEO=1

ieee1394:node:ven0x001287mo0x000035units0x00a02d:0x010001
ieee1394:ven00001287mo00000035sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Digital Everywhere
 ID_MODEL_FROM_DATABASE=FireDTV T/CI
 IEEE1394_UNIT_FUNCTION_VIDEO=1

ieee1394:node:ven0x001287mo0x000036units0x00a02d:0x010001
ieee1394:ven00001287mo00000036sp0000A02Dver00010001
 ID_VENDOR_FROM_DATABASE=Digital Everywhere
 ID_MODEL_FROM_DATABASE=FireDTV C/CI
 IEEE1394_UNIT_FUNCTION_VIDEO=1

#
# Node with multiple units for several functions.
#
# When deciding the type of unit, please cooperate with kernel developers working for driver.
#

# Apple iSight: unit 0: IIDC v1.30 function.
ieee1394:node:ven0x080007mo0x000008units*0x00a02d:0x000102*
ieee1394:ven00080007mo00000008sp0000A02Dver00000102
 ID_VENDOR_FROM_DATABASE=Apple
 ID_MODEL_FROM_DATABASE=iSight
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# Apple iSight: unit 1: audio function.
ieee1394:node:ven0x080007mo0x000008units*0x000a27:0x000010*
ieee1394:ven00080007mo00000008sp00000A27ver00000010
 ID_VENDOR_FROM_DATABASE=Apple
 ID_MODEL_FROM_DATABASE=iSight
 IEEE1394_UNIT_FUNCTION_AUDIO=1

# Apple iSight: unit 2: factory function.
ieee1394:node:ven0x080007mo0x000008units*0x000a27:0x000011*
ieee1394:ven00080007mo00000008sp00000A27ver00000011
 ID_VENDOR_FROM_DATABASE=Apple
 ID_MODEL_FROM_DATABASE=iSight
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# Apple iSight: unit 3: iris diaphragm function.
ieee1394:node:ven0x080007mo0x000008units*0x000a27:0x000012*
ieee1394:ven00080007mo00000008sp00000A27ver00000012
 ID_VENDOR_FROM_DATABASE=Apple
 ID_MODEL_FROM_DATABASE=iSight
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# MOTU V4HD: unit 0: unknown function.
ieee1394:node:ven0x0001f2units*0x0001f2:0x000021*
ieee1394:ven000001F2mo*sp000001F2ver00000021
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU V4HD
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# MOTU V4HD: unit 1: unknown function.
ieee1394:node:ven0x0001f2units*0x0001f2:0x000022*
ieee1394:ven000001F2mo*sp000001F2ver00000022
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU V4HD
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# MOTU V4HD: unit 2: unknown function.
ieee1394:node:ven0x0001f2units*0x0001f2:0x000023*
ieee1394:ven000001F2mo*sp000001F2ver00000023
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU V4HD
 IEEE1394_UNIT_FUNCTION_VIDEO=1

# MOTU V4HD: unit 3: unknown function.
ieee1394:node:ven0x0001f2units*0x0001f2:0x000024*
ieee1394:ven000001F2mo*sp000001F2ver00000024
 ID_VENDOR_FROM_DATABASE=MOTU
 ID_MODEL_FROM_DATABASE=MOTU V4HD
 IEEE1394_UNIT_FUNCTION_VIDEO=1
