#协议 #firewire #alsa

bin+lib firewire-bebob-protocols

实现了BridgeCo. AG和应用厂商为DM1000、DM1100和DM1500 ASICs及其BridgeCo.增强型Break Out Box(BeBoB)解决方案定义的协议。

2个不稳定版本

0.2.0 2023年4月18日
0.1.1 2022年8月5日
0.1.0 2022年8月5日

659硬件支持

每月22次下载

LGPL-3.0-or-later

670KB
14K SLoC

该库Crate包括对BridgeCo.增强型Break Out Box(BeBoB)解决方案和连接到IEEE 1394总线的应用设备的协议的实现。

BridgeCo.增强型Break Out Box(BeBoB)解决方案

BridgeCo. AG成立于2000年,似乎在2005年左右进行了重组。2009年出售了专业音频子公司,成立了ArchWave AG。BridgeCo.本身于2011年被SMSC收购。Archwave AG于2018年被Riedel Communications GmbH收购。

BridgeCo.(和ArchWave)为IEEE 1394总线上的音频和音乐单元提供了DM1000(2002年发布)、DM1000E(2004年发布)、DM1100(2005年发布)和DM1500(2005年发布)ASICs及其软件开发工具包(SDK),统称为“BridgeCo.增强型Break Out Box(BeBoB)”。该单元允许IEEE 1394总线上的其他节点通过IEC 61883-1/6定义的操作、一些AV/C通用命令以及可扩展的厂商独特命令来配置自身。

该解决方案被硬件厂商广泛应用于其产品,以记录/播放音频以及接收/发送MIDI消息。

ALSA bebob 驱动程序

Linux声音子系统,即ALSA,为这些单元提供了可加载的内核模块(snd-bebob)作为驱动程序。该驱动程序维护音频帧和MIDI消息的同步数据包流,因为其他ASIC功能,如数字信号处理,可以直接由用户空间应用程序操作。该Crate是对运行时程序的补充实现,以满足目的。

依赖项

这是依赖项列表。

glib和hinawa crate需要一些底层系统库。

通过hinawa crate和库调用Linux FireWire子系统的功能,与IEEE 1394总线上的节点通信,因此该crate是不可移植的。

支持的型号

这是目前支持的型号列表。

  • Apogee Ensemble
  • Behringer Firepower FCA610
  • Digidesign Mbox 2 Pro
  • Ego Systems Quatafire 610
  • Focusrite Saffire
  • Focusrite Saffire LE
  • Focusrite Saffire Pro 10 i/o
  • Focusrite Saffire Pro 26 i/o
  • Icon Firexon
  • M-Audio FireWire Solo
  • M-Audio FireWire Audiophile
  • M-Audio FireWire 410
  • 马udio FireWire 1814
  • 马udio Ozonic
  • 马udio ProFire LightBridge
  • 马udio ProjectMix I/O
  • PreSonus Firebox
  • PreSonus Firepod/FP10
  • PreSonus Inspire 1394
  • Roland Edirol FA-66
  • Roland Edirol FA-101
  • Stanton ScratchAmp in Final Scratch version 2
  • TerraTec Aureon 7.1 FW
  • TerraTec Phase 24 FW
  • TerraTec Phase X24 FW
  • TerraTec Phase 88 FW
  • 雅马哈 Go 44
  • 雅马哈 Go 46

机箱状态

该机箱由 ALSA GObject Introspection 团队snd-firewire-ctl-services 项目开发和维护,目前尚不稳定。包含的 Rust 元素可能没有向后兼容性。

许可证

该机箱在尊重条款的情况下发布,即 GNU Lesser General Public License v3.0 或更高版本,用于逆向工程。

支持

如果在其中发现问题,请将其在 https://github.com/alsa-project/snd-firewire-ctl-services/ 中提交。

免责声明

协议的实现是通过逆向工程的方式开发的;嗅探连接到目标设备的 IEEE 1394 总线,并分析设备与硬件供应商提供的驱动程序之间的通信。由于开发者使用了黑盒,因此可能无法与您的设备一起工作。

实用工具

一些程序可在 'src/bin' 目录下使用。

bco-bootloader-info.rs

该程序通过 BridgeCo 定义的协议从目标设备的节点检索信息,然后打印信息。

如果没有任何命令行参数,它将打印帮助信息并退出。

$ cargo run --bin bco-bootloader-info
Usage:
  bco-bootloader-info CDEV

  where:
    CDEV:       The path to special file of firewire character device, typically '/dev/fw1'.

请运行具有 firewire 字符设备的参数

$ cargo run --bin bco-bootloader-info /dev/fw1
...

依赖关系

~7MB
~141K SLoC