diff --git a/hwdb.d/80-ieee1394-unit-function.hwdb b/hwdb.d/80-ieee1394-unit-function.hwdb new file mode 100644 index 00000000000..71724ac141f --- /dev/null +++ b/hwdb.d/80-ieee1394-unit-function.hwdb @@ -0,0 +1,1143 @@ +# 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. + +# +# 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: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 + +# 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: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: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:node:ven0x001564mo0x001204units0x00a02d:0x010001 +ieee1394:ven00001564mo00001204sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=Behringer + ID_MODEL_FROM_DATABASE=XENYX UFX1204 + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +ieee1394:node:ven0x001564mo0x001604units0x00a02d:0x010001 +ieee1394:ven00001564mo00001604sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=Behringer + ID_MODEL_FROM_DATABASE=XENYX UFX1604 + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +# 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:node:ven0x00000amo0x030000units0x00a02d:0x010001 +ieee1394:ven0000000Amo00030000sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=CME + ID_MODEL_FROM_DATABASE=Matrix K FW + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +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: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: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 + +# 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 + +# 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: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: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: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: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 + +# 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: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:node:ven0x000d6cmo0x010062units0x00a02d:0x010001 +ieee1394:ven00000D6Cmo00010062sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=M-Audio + ID_MODEL_FROM_DATABASE=FW Solo + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +ieee1394:node:ven0x000d6cmo0x010081units0x00a02d:0x010001 +ieee1394:ven00000D6Cmo00010081sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=M-Audio + ID_MODEL_FROM_DATABASE=NRV10 + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +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: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: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 + +# 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 + +# 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 + +# 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: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:node:ven0x000a92mo0x010001units0x00a02d:0x010001 +ieee1394:ven00000A92mo00010001sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=PreSonus + ID_MODEL_FROM_DATABASE=Inspire 1394 + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +ieee1394:node:ven0x001198mo0x010048units0x00a02d:0x010001 +ieee1394:ven00001198mo00010048sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=Prism Media Products + ID_MODEL_FROM_DATABASE=Orpheus + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +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: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: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: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: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: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: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: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: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 + +# +# 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:node:ven0x001564mo0x00fc22units0x00a02d:0x010001 +ieee1394:ven00001564mo0000FC22sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=Behringer + ID_MODEL_FROM_DATABASE=F-Control Audio 202 + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +ieee1394:node:ven0x001292mo0x00f970units0x00a02d:0x010001 +ieee1394:ven00001292mo0000F970sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=Griffin Technology + ID_MODEL_FROM_DATABASE=Griffin FireWave + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +ieee1394:node:ven0x00d04bmo0x00f970units0x00a02d:0x010001 +ieee1394:ven0000D04Bmo0000F970sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=LaCie + ID_MODEL_FROM_DATABASE=LaCie FireWire Speakers + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +# 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:node:ven0x000ff2mo0x001640units0x00a02d:0x010001 +ieee1394:ven00000FF2mo00001640sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=Loud Technologies + ID_MODEL_FROM_DATABASE=Mackie Onyx 1640i + IEEE1394_UNIT_FUNCTION_AUDIO=1 + +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: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: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:node:ven0x001260mo0x001000units0x00a02d:0x010001 +ieee1394:ven00001260mo00001000sp0000A02Dver00010001 + ID_VENDOR_FROM_DATABASE=Stanton Magnetics + ID_MODEL_FROM_DATABASE=SCS.1m + IEEE1394_UNIT_FUNCTION_MIDI=1 + +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 + +# +# 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 + +# 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 + +# +# Node with single unit for video function. +# + +ieee1394:node:ven0x0002f0units0x00a02d:0x000100 +ieee1394:ven000002F0mo00000000sp0000A02Dver00000100 + ID_VENDOR_FROM_DATABASE=Cool Stream + ID_MODEL_FROM_DATABASE=iSweet + 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 diff --git a/hwdb.d/meson.build b/hwdb.d/meson.build index 7221a1ae9f6..6a16268816b 100644 --- a/hwdb.d/meson.build +++ b/hwdb.d/meson.build @@ -30,6 +30,7 @@ hwdb_files_test = files(''' 70-mouse.hwdb 70-pointingstick.hwdb 70-touchpad.hwdb + 80-ieee1394-unit-function.hwdb '''.split()) if conf.get('ENABLE_HWDB') == 1 diff --git a/hwdb.d/parse_hwdb.py b/hwdb.d/parse_hwdb.py index 24964ff8d16..2cd4b1c3706 100755 --- a/hwdb.d/parse_hwdb.py +++ b/hwdb.d/parse_hwdb.py @@ -72,6 +72,7 @@ TYPES = {'mouse': ('usb', 'bluetooth', 'ps2', '*'), 'joystick': ('i8042', 'rmi', 'bluetooth', 'usb'), 'keyboard': ('name', ), 'sensor': ('modalias', ), + 'ieee1394-unit-function' : ('node', ), } # Patterns that are used to set general properties on a device @@ -82,6 +83,7 @@ GENERAL_MATCHES = {'acpi', 'sdio', 'vmbus', 'OUI', + 'ieee1394', } def upperhex_word(length): @@ -99,7 +101,7 @@ def hwdb_grammar(): matchline = (matchline_typed | matchline_general) + EOL propertyline = (White(' ', exact=1).suppress() + - Combine(UDEV_TAG - '=' - Optional(Word(alphanums + '_=:@*.!-;, "')) + Combine(UDEV_TAG - '=' - Optional(Word(alphanums + '_=:@*.!-;, "/')) - Optional(pythonStyleComment)) + EOL) propertycomment = White(' ', exact=1) + pythonStyleComment + EOL @@ -122,6 +124,9 @@ def property_grammar(): mount_matrix = Group(mount_matrix_row + ';' + mount_matrix_row + ';' + mount_matrix_row)('MOUNT_MATRIX') xkb_setting = Optional(Word(alphanums + '+-/@._')) + # Although this set doesn't cover all of characters in database entries, it's enough for test targets. + name_literal = Word(printables + ' ') + props = (('MOUSE_DPI', Group(OneOrMore(dpi_setting))), ('MOUSE_WHEEL_CLICK_ANGLE', INTEGER), ('MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL', INTEGER), @@ -153,6 +158,11 @@ def property_grammar(): ('ACCEL_MOUNT_MATRIX', mount_matrix), ('ACCEL_LOCATION', Or(('display', 'base'))), ('PROXIMITY_NEAR_LEVEL', INTEGER), + ('IEEE1394_UNIT_FUNCTION_MIDI', Or((Literal('0'), Literal('1')))), + ('IEEE1394_UNIT_FUNCTION_AUDIO', Or((Literal('0'), Literal('1')))), + ('IEEE1394_UNIT_FUNCTION_VIDEO', Or((Literal('0'), Literal('1')))), + ('ID_VENDOR_FROM_DATABASE', name_literal), + ('ID_MODEL_FROM_DATABASE', name_literal), ) fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE') for name, val in props] diff --git a/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in index edfa8bb107e..dabde06dde7 100644 --- a/rules.d/50-udev-default.rules.in +++ b/rules.d/50-udev-default.rules.in @@ -54,6 +54,16 @@ SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", GROUP="video" SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", GROUP="video" SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", GROUP="video" +SUBSYSTEM=="firewire", TEST=="units", TEST=="model", \ + IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}mo$attr{model}units$attr{units}'" + +SUBSYSTEM=="firewire", TEST=="units", TEST!="model", \ + IMPORT{builtin}="hwdb 'ieee1394:node:ven$attr{vendor}units$attr{units}'" + +SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_MIDI}=="1", GROUP="audio" +SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_AUDIO}=="1", GROUP="audio" +SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", GROUP="video" + KERNEL=="parport[0-9]*", GROUP="lp" SUBSYSTEM=="printer", KERNEL=="lp*", GROUP="lp" SUBSYSTEM=="ppdev", GROUP="lp" diff --git a/src/login/70-uaccess.rules.m4 b/src/login/70-uaccess.rules.m4 index 45e4adfa0f5..f621c684dd0 100644 --- a/src/login/70-uaccess.rules.m4 +++ b/src/login/70-uaccess.rules.m4 @@ -44,6 +44,10 @@ SUBSYSTEM=="firewire", ATTR{units}=="*0x00b09d:0x00010*", TAG+="uaccess" SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x010001*", TAG+="uaccess" SUBSYSTEM=="firewire", ATTR{units}=="*0x00a02d:0x014001*", TAG+="uaccess" +SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_MIDI}=="1", TAG+="uaccess" +SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_AUDIO}=="1", TAG+="uaccess" +SUBSYSTEM=="firewire", TEST=="units", ENV{IEEE1394_UNIT_FUNCTION_VIDEO}=="1", TAG+="uaccess" + # DRI video devices SUBSYSTEM=="drm", KERNEL=="card*", TAG+="uaccess" m4_ifdef(`GROUP_RENDER_UACCESS',``