SoundDevices MixPre-10 II usb_modeswitch automation problem

Talk about your MIDI interfaces, microphones, keyboards...

Moderators: MattKingUSA, khz

Post Reply
cupakm
Established Member
Posts: 42
Joined: Thu Aug 16, 2012 8:24 am
Has thanked: 5 times
Been thanked: 3 times
Contact:

SoundDevices MixPre-10 II usb_modeswitch automation problem

Post by cupakm »

Hi all,

I'd like to use SoudDevices MixPre-10 II as audio interface with its full 12-in / 4-out capabilities.
This is possible only after setting the device to USB mode "2" by executing

Code: Select all

sudo usb_modeswitch -v 0x0926 -p 0x0210 -u 2

each and every time it connects to the host.

Well, then everything goes more or less fine, apart from using at least 256 samples buffer size at 48 kHz with 3 periods to avoid x-runs, but I can compensate the latency in Ardour by calibrating using always-connected loopback cable...

My question is, how do I automate setting the USB mode, so that I must not run my script every time I turn the thing on. (Otherwise it stays only 2-in / 2-out.)
I've tried editing

Code: Select all

/lib/udev/rules.d/40-usb_modeswitch.rules

by adding following lines at the end:

Code: Select all

...
...

# Sound Devices MixPre-10 II
ATTR{idVendor}=="0926", ATTR{idProduct}=="0210", RUN+="usb_modeswitch -v 0926 -p 0210 -u 2"

# Sound Devices MixPre-10 II Musician plugin
ATTR{idVendor}=="0926", ATTR{idProduct}=="0230", RUN+="usb_modeswitch -v 0926 -p 0230 -u 2"

LABEL="modeswitch_rules_end"

But it has no affect, even after

Code: Select all

sudo udevadm control --reload-rules

or a reboot.
(Note the MixPre can boot in different modes, either with the Musician plugin or not, but it only changes the product ID - hence two lines for the same device.)
Any ideas how else could I switch the USB mode automatically?

I've tried writing to SD support, but got the usual answer they don't support Linux. Even after I told them I bought it because its manual stated USB class-compliance... but fair enough, as a stand-alone device it works nicely, as an audio interface too, but one has to fiddle with usb_modeswitch constantly.

A great bonus would be keeping the hardware I/O latency same every connect, so that I wouldn't need to re-calibrate it after every connect. Is it achievable?

Having these two issues solved would make it finally usable hassle-free.

cupakm
Established Member
Posts: 42
Joined: Thu Aug 16, 2012 8:24 am
Has thanked: 5 times
Been thanked: 3 times
Contact:

Re: SoundDevices MixPre-10 II usb_modeswitch automation problem

Post by cupakm »

I will answer my own question.

The usb_modswitch config must not go to /lib/udev/rules.d but to /etc/udev/rules.d instead, so editing

Code: Select all

/etc/udev/rules.d/50-sdmp10ii.rules

with content

Code: Select all

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0926", ATTRS{idProduct}=="0210", RUN+="/usr/sbin/usb_modeswitch -v 0926 -p 0210 -u 2"

and then a reload

Code: Select all

sudo udevadm control --reload-rules

made it work! Permanently, after reboots too. (Notice full path to /usr/sbin/usb_modeswitch.)

Post Reply