Reverse engineering PCI/PCIX/PCIe-424 configuration protocol?

Moderator: James Steele

Forum rules
Discussion related to installation, configuration and use of MOTU hardware such as MIDI interfaces, audio interfaces, etc. with Windows
Post Reply
motucitizen
Posts: 12
Joined: Sun Mar 15, 2009 1:06 am
Primary DAW OS: Unspecified

Reverse engineering PCI/PCIX/PCIe-424 configuration protocol?

Post by motucitizen »

Has anyone done this, or is aware of an open-source project that has done this? For example, a third-party configuration app alternative to MOTU's own "PCI Audio Setup" and/or "CueMix" apps?

I have a system with four 24 I/O interfaces attached to a PCIe-424.

As a Windows developer myself, I am aware that the PCI Audio Setup and Cue Mix apps both use the Windows API function DeviceIoControl() to communicate with the PCI card and connected interfaces. I can watch these calls (using an API monitoring program), but I have no idea what the format of the buffers of information sent back/forth is. I wonder if anyone has already figured it out? I had hoped the format might be deciphered by watching the DeviceIoControl() buffer contents whilst making configuration changes with the MOTU apps, but so far the format has not been easily apparent.

My interest here: I would love to determine (or obtain) the format and then write my own configuration app -- mainly to implement a "grid-style" UI for routing inputs/outputs, to make it much easier/intuitive (IMO) to use my bank of 24 I/O units as one big virtual patch bay.

Cheers for any info or thoughts.
User avatar
mikehalloran
Posts: 15239
Joined: Sun Jan 25, 2009 5:08 pm
Primary DAW OS: MacOS
Location: Sillie Con Valley

Re: Reverse engineering PCI/PCIX/PCIe-424 configuration protocol?

Post by mikehalloran »

Windows might still work. MOTU still has the drivers up.

https://motu.com/en-us/download/product ... rue&page=3

This cannot be done on any Mac built after 2012 — and then only on those with internal PCI slots. Apple changed the firmware in 2013 so that external PCIe boxes cannot work and when the slots were reintroduced id 2019, the 424 card firmware was still incompatible.
DP 11.31; 828mkII FW, micro lite, M4, MTP/AV USB Firmware 2.0.1
2023 Mac Studio M2 8TB, 192GB RAM, OS Sonoma 14.4.1, USB4 8TB external, M-Audio AIR 192|14, Mackie ProFxv3 6/10/12; 2012 MBPs Catalina, Mojave
IK-NI-Izotope-PSP-Garritan-Antares, LogicPro X, Finale 27.4, Dorico 5.2, Notion 6, Overture 5, TwistedWave, DSP-Q 5, SmartScore64 Pro, Toast 20 Pro
motucitizen
Posts: 12
Joined: Sun Mar 15, 2009 1:06 am
Primary DAW OS: Unspecified

Re: Reverse engineering PCI/PCIX/PCIe-424 configuration protocol?

Post by motucitizen »

Thanks for the reply, Mike. But... how does it apply to the question posed in my original post? My system is working fine (under Windows). I am not in need of drivers.

My question was "has anybody reverse-engineered the configuration protocol" (for the PCI-424 card) such that someone (like me) could write their own (alternate) configuration software?

MOTU's software (mainly the CueMix app) is pretty awful for configuring/reconfiguring a large bank of inputs/output when using a bunch of interfaces (in my case, four 24 I/O units) as a big virtual patch bay (instead of as a big virtual mixer).

CueMix's paradigm of multiple independent stereo mixes (output pairs), each with some number of sources (inputs), is quite cumbersome for simply routing a bunch of inputs to a bunch of outputs. You constantly have to switch between separate mixes (output pairs), instead of being able to think about (for example) a specific "bank" of 12 outputs, or 4 outputs, or whatever.

Personally, I'd much rather have a user-interface that presents an overall "routing matrix", where a connection (or multiple connections) can be made more directly (not to mention, being able to see everything at once).

I could create such a UI myself if only I knew what the configuration protocol was.
User avatar
mikehalloran
Posts: 15239
Joined: Sun Jan 25, 2009 5:08 pm
Primary DAW OS: MacOS
Location: Sillie Con Valley

Re: Reverse engineering PCI/PCIX/PCIe-424 configuration protocol?

Post by mikehalloran »

We've been talking about this for a dozen years now and there are hundreds of posts on the subject. I don't know if your specific version of the question has come up but others have over the years. The search fields may reveal something. I am certain that no one has accomplished it—that I would remember.
DP 11.31; 828mkII FW, micro lite, M4, MTP/AV USB Firmware 2.0.1
2023 Mac Studio M2 8TB, 192GB RAM, OS Sonoma 14.4.1, USB4 8TB external, M-Audio AIR 192|14, Mackie ProFxv3 6/10/12; 2012 MBPs Catalina, Mojave
IK-NI-Izotope-PSP-Garritan-Antares, LogicPro X, Finale 27.4, Dorico 5.2, Notion 6, Overture 5, TwistedWave, DSP-Q 5, SmartScore64 Pro, Toast 20 Pro
User avatar
monkey man
Posts: 13933
Joined: Fri Apr 22, 2005 10:01 pm
Primary DAW OS: MacOS
Location: Melbourne, Australia

Re: Reverse engineering PCI/PCIX/PCIe-424 configuration protocol?

Post by monkey man »

I wish the OP the very-best of luck.

A config app (and driver?) that would allow this would be a Godsend to many users.

Mac 2012 12C Cheese Grater, OSX 10.13.6
MOTU DP8.07, MachFive 3.2.1, MIDI Express XT, 24I/O
Novation, Yamaha & Roland Synths, Guitar & Bass, Kemper Rack

Pretend I've placed your favourite quote here
Post Reply