Digidesign Mbox 2: Linux driver provided!

This is my unofficial Digidesign Mbox 2 driver for linux.

Please consider donating $5 for further development of free software drivers for Digidesign hardware. Every little bit counts.

PayPal - Donate to ZamAudio



For those of you who want the raw driver source, here it is as a kernel module [63kB]. It can be compiled
for the current running kernel as follows:

Make sure you have the kernel headers downloaded and installed correctly.
Then do the following: (extract the tarball to ANY directory then “make” it, install it and modprobe the new driver as follows:)
tar jxf mbox2-kernel-20121213.tar.bz2
cd mbox2-kernel
sudo make install
sudo rmmod snd-usb-audio # ignore errors
sudo rmmod snd-usbmidi-lib # ignore errors
sudo modprobe snd-usb-audio

Mbox2 patch now accepted into ALSA:
That’s right folks, if you install a kernel later than 3.8-rc2, your Mbox2 will work right out of the box with Linux!

UPDATE Sept 2013:
None of the above instructions are relevant anymore because the Mbox2 driver stuff is part of Linux kernel after 3.8! Just plug in your device, lights come on and it works. Any config issues with JACK, make sure you are using the ALSA backend and 2 ins and 2 outs, >256 buffer size and 3 periods.


I only just realised this, but you need to upgrade your Mbox 2 firmware to v1.43 using the official updates provided here(Avid) and mirrored on my site here(win64), here(osx_intel) and here(osx_ppc).  Without the update, I have experienced strange noisy inputs with the Mbox2 on GNU/Linux but when I applied the update the noise disappeared…

244 thoughts on “Digidesign Mbox 2: Linux driver provided!

  1. Daniel: Since you are using a kernel later than 3.8 you don’t need to install anything from my website here, it should already be part of Linux. Actually you didn’t have the right tools installed anyway so the installation failed, but that should be okay. When you plug in the Mbox2Mini do you get any lights coming on? You should be able to use it with JACK right away.

  2. Alex Barrett: Unfortunately, I don’t have time at the moment to fix the Mbox1 capture and it is also difficult because I do not have access to the hardware myself. I believe it is a matter of altering the “quirk” for this particular device for the snd-usb-audio driver manually and recompiling the kernel module. Keep in mind that pretty much all the usb audio drivers are bundled into one driver and my Mbox2 code was a patch for the existing codebase. Therefore to enable the Mbox1 capture, another patch will be required.

  3. No problem and thanks for getting back to me, ill just live with using onboard sound for the moment in linux and dual boot with windows if i decide i want to use it.

    I need to update the firmware to v22 which should hopefully fix the bursts of white noise when i can get a hold of a mac.

    If i can help in anyway then just give me a shout

  4. Work like a charm on a 3.11 kernel. No more drivers install and/or real-time configuration.

    $ uname -a
    Linux io5 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
    $ jack –version
    This is jack 3.1.1

    Thank’s for the great job !

  5. Hello, so sorry to trouble you with this issues, but when trying to compile, I get this error:

    hellmenda@hellmenda-desktop:~/Desktop/mbox2-kernel$ make
    make -C /lib/modules/3.11.0-13-generic/build M=/home/hellmenda/Desktop/mbox2-kernel modules
    make[1]: Entering directory `/usr/src/linux-headers-3.11.0-13-generic’
    CC [M] /home/hellmenda/Desktop/mbox2-kernel/urb.o
    /home/hellmenda/Desktop/mbox2-kernel/urb.c: In function ‘retire_capture_urb’:
    /home/hellmenda/Desktop/mbox2-kernel/urb.c:475:8: error: ‘oldbytes’ undeclared (first use in this function)
    oldbytes, bytes);
    /home/hellmenda/Desktop/mbox2-kernel/urb.c:475:8: note: each undeclared identifier is reported only once for each function it appears in
    make[2]: *** [/home/hellmenda/Desktop/mbox2-kernel/urb.o] Error 1
    make[1]: *** [_module_/home/hellmenda/Desktop/mbox2-kernel] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-3.11.0-13-generic’
    make: *** [all] Error 2

    I reinstalled everything because the last ubuntu kernel is supposed to work fine with mbox2, but it doesn’t:

    Linux hellmenda-desktop 3.11.0-13-generic #20-Ubuntu SMP Wed Oct 23 07:38:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

    That’s why I’m trying to compile the driver again. Could you please help me out?

    Best regards.

  6. Hey hellmenda,
    Try upgrading the firmware of your mbox2 using the official Avid update. Your mbox2 should work with linux after that.

  7. hello !
    a question : do you think that can be work with other product of digidesign to ? like TDM card digidisign HD system .. ?( 8 in & 8 out )

    sorry for my english , and thank you 🙂

  8. hello, what about mbox 1? is there any driver for linux around? mbox usb audio device is shown in system’s sound setting for the output only not for the input.
    any hint?

  9. MetZen: I would like to make the mbox 1 work too, I believe it needs a new quirk patch to enable capture. Unfortunately I don’t have one of these devices myself so it’s a bit tricky to do this without the hardware attached to my linux box. If someone is willing to lend me one or buy me a second hand one, I could get the driver working in a few days or so.

  10. Hi all,

    I know this thread hasn’t seen any action in awhile, but am getting this in dmesg when I plug in the MBox 2 Mini:

    [26491.146158] usb 2-1.2: new full-speed USB device number 9 using ehci_hcd
    [26491.271485] usb 2-1.2: config 1 interface 2 has no altsetting 1
    [26491.271490] usb 2-1.2: config 1 interface 3 has no altsetting 1
    [26491.271493] usb 2-1.2: config 1 interface 4 has no altsetting 1
    [26491.271496] usb 2-1.2: config 1 interface 5 has no altsetting 1
    [26491.277289] ALSA quirks.c:573 usb-audio: Sending Digidesign Mbox 2 boot sequence…
    [26491.778083] ALSA quirks.c:584 usb-audio: device not ready, resending boot sequence…
    [26492.281871] ALSA quirks.c:584 usb-audio: device not ready, resending boot sequence…
    [26492.785654] ALSA quirks.c:584 usb-audio: device not ready, resending boot sequence…
    [26493.289432] ALSA quirks.c:584 usb-audio: device not ready, resending boot sequence…
    [26493.793246] ALSA quirks.c:584 usb-audio: device not ready, resending boot sequence…
    [26494.297006] ALSA quirks.c:584 usb-audio: device not ready, resending boot sequence…
    [26495.803284] ALSA quirks.c:609 >usb-audio: Digidesign Mbox 2: 24bit 48kHz

    The ‘usb 2-1.2: config 1 interface 2 has no altsetting 1’ lines at the beginning seem to be my problem and for hours, days, I have been trying to fix.

    I have crystal clear audio when I plug guitar and headphones into the Mini, my computer sees it fine, but nothing can use it and it has no controls. For instance, alsamixer sees it but reports ‘this device has no controls’, pulseaudio sees it but the slider does nothing, Audacity sees it, but none can actually access it.

    There is more detail in my thread here:

    I’m using Xubuntu 12.04 LTS. I started by testing it on my testing install of 14.04, but gave up on that as it appears the driver there is not working yet (I can get no audio via the MBox at all and different dmesg). The saga of that is here:


  11. Bucky: The following line in your debug messages indicates that the driver is fully operational:

    [26495.803284] ALSA quirks.c:609 >usb-audio: Digidesign Mbox 2: 24bit 48kHz

    The thing is, it has a fixed format which is unusual, therefore it is a better idea to run JACK as your sound server which will convert all sound into the right format for the Mbox mini.

    There are no mixer controls because it has a hardware mixer built in with knobs.

    I am 99.99% sure that altsetting 1 is irrelevant, it was just part of the initialisation sequence that it tries different altsettings until it eventually works. The fact you get lights on and the final message verifies that the mbox 2 mini sent a response code back to the driver so its fully working. You just need to configure your sound server correctly, as in use JACK.
    Good luck.

  12. Hi, hope this thread is still somewhat active, and someone might be able to help me. I have a Didgidesign Mbox 2 Mini, which I have use plenty in pd-extended on Windows. I want to use it on my Debian laptop. I’m running wheezy (stable). I tried going to testing (jessie) and indeed the Mbox 2 lit up, so there was some kind of driver in the kernel there I guess. But I had so much trouble with that Debian release I reverted to stable (wheezy for now). I should be able to backport the package from 3.12 (latest testing AFAIR), but I’m afraid I have no idea which package to look for. Can anyone give me a lead?

  13. Paul: Since wheezy kernel is < 3.8 it is actually the alsa driver built into the kernel that is outdated. You can build my updated driver from my github mentioned above. I use wheezy all the time.

  14. Hi Damo.
    I did that, and the Mbox2 “came to life”, that is the light comes on, so that’s a huge step forward, thanks. However, I can’t get it to work in pd-extended or audacity. The Mbox2 shows up an audio I/O option, but doesn’t get any signal in. For example, pd is showing me
    ALSA input error (_pcm_hw_params_set_format): Invalid argument
    ALSA output error (_pcm_hw_params_set_format): Invalid argument

    ALSA output error (restart failed): Broken pipe
    tried but couldn’t sync A/D/A
    ALSA input error (_pcm_hw_params_set_format): Invalid argument
    ALSA output error (_pcm_hw_params_set_format): Invalid argument
    ALSA input error (_pcm_hw_params_set_format): Invalid argument
    ALSA output error (_pcm_hw_params_set_format): Invalid argument

    When I run the audio test in pd I hear the test tone but overlaid by a huge amount of noise

    Any suggestions welcome.


  15. Paul: I only use the mbox with JACK sound server, I haven’t really tried running it without JACK. Maybe you can get a JACK aware client for pd and audacity and run it with JACK?

  16. Hi Damo. Well pd offers the option of connecting via JACK, have JACK installed and try to run the server but get
    Could not connect to JACK server as client.
    – Overall operation failed.
    – Unable to connect to server.
    Please check the messages window for more info.

    and the window says

    23:05:08.242 JACK was started with PID=4765.
    no message buffer overruns
    no message buffer overruns
    no message buffer overruns
    jackdmp 1.9.9
    Copyright 2001-2005 Paul Davis and others.
    Copyright 2004-2012 Grame.
    jackdmp comes with ABSOLUTELY NO WARRANTY
    This is free software, and you are welcome to redistribute it
    under certain conditions; see the file COPYING for details
    JACK server starting in realtime mode with priority 10
    control device hw:0
    control device hw:0
    Acquire audio card Audio0
    creating alsa driver … plughw:0|plughw:0|1024|2|48000|2|2|nomon|swmeter|-|32bit
    control device hw:0
    ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode
    Cannot initialize driver
    JackServer::Open failed with -1
    Failed to open server
    23:05:09.019 JACK was stopped with exit status=255.
    23:05:10.307 Could not connect to JACK server as client. – Overall operation failed. – Unable to connect to server. Please check the messages window for more info.
    Cannot connect to server socket err = No such file or directory
    Cannot connect to server request channel
    jack server is not running or cannot be started

    so for the time being I am stumped.

  17. Paul: It sounds like you are running another sound server which is hogging the Mbox such as PulseAudio. You might need to remove or disable pulse so you can get it working with JACK. I dislike pulseaudio altogether so I removed it, but that is personal preference.

  18. Hi Damo. Tried stopping pulseaudio, nonetheless I cannot get JACK to use the Mbox2, it shows as a possible device, but connection fails. I use qjackctl.
    You have it working I presume, can you tell me any setup parameters I should be looking at?

  19. Paul: Pulseaudio is tricky, it can restart itself automatically even after you kill the process. That said, you can try 2 inputs and 2 outputs, 256 buffer and 3 periods, in duplex mode.

  20. Damo, I know about pulseaudio, I preempt its urge to respawn, so that’s not it. Will fiddle some more in a bit. Thanks.

  21. Hi, I’ve made the mbox2 work on ubuntu lucid with your kernel patch, but now I have a really strange problem I hope you can help me to figure out:
    I switched to AVLinux (debian squeezy based), kernel 3.10.27avl2-pae and I can not get the mbox to work as a “regular” soundcard. I was hoping that since that kernel included your driver the mbox would work “out of the box”.
    The lights are on, and aplay -l shows:

    **** List of PLAYBACK Hardware Devices ****
    card 0: ICH5 [Intel ICH5], device 0: Intel ICH [Intel ICH5]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 0: ICH5 [Intel ICH5], device 4: Intel ICH – IEC958 [Intel ICH5 – IEC958]
    Subdevices: 1/1
    Subdevice #0: subdevice #0
    card 1: M2 [Mbox 2], device 0: USB Audio [USB Audio]
    Subdevices: 1/1
    Subdevice #0: subdevice #0

    So, It works as expected using jack (I can listen and record with ardour and audacity), but oddly the Audio Mixer doesn’t recognise the Mbox.
    If I run the alsamixer I get
    “Card: Mbox 2 ” and “This sound device does not have any controls. ”

    In case it helps: cat /dev/sndstat gives:
    Sound Driver:3.8.1a-980706 (ALSA emulation code)
    Kernel: Linux marta 3.10.27avl2-pae #5 SMP PREEMPT Sun Jan 19 21:18:51 EST 2014 i686
    Config options: 0

    Installed drivers:
    Type 10: ALSA emulation

    Card config:
    Intel ICH5 with CMI9761A+ at irq 17
    Digidesign Mbox 2 at usb-0000:00:1d.1-2, full speed
    Loopback 1

    Audio devices: NOT ENABLED IN CONFIG

    Synth devices: NOT ENABLED IN CONFIG

    Midi devices:
    1: Mbox 2

    31: system timer

    Is there something I’m am missing? maybe some alsa configuration?

    Thanks in advance,


  22. Hi, thanks for your quick answer! As far as I know pulseaudio is not installed.

    dpkg-query -l | grep pulse
    ii ir-lv2 1.3avlinux-2 TAP Impulse Reverb LV2 Plugin
    ii libpulse-mainloop-glib0 0.9.21-3+squeeze1 PulseAudio client libraries (glib support)
    ii libpulse0 0.9.21-3+squeeze1 PulseAudio client libraries
    ii libsox-fmt-pulse 14.3.1-1 SoX PulseAudio format I/O library

    Is there anything else I can check?

  23. O, zamaudio, please tell me how to make this driver work.

    I’m running ubuntu 14.04 with the kernel 3.13.0-40-generic.

    Every time I run ./gitcompile I get this error message- “checking for kernel linux/version.h … no
    The file /lib/modules/3.13.0-40-generic/build/include/INCLUDE_VERSION_H does not exist.
    Please install the package with full kernel sources for your distribution
    or use –with-kernel=dir option to specify another directory with kernel
    sources (default is /lib/modules/3.13.0-40-generic/build).”

    I’ve tried updating my kernel headers, but I really don’t know what that even means.
    Please help me, I want to make music.
    Thank you, o, zamaudio.

  24. Matt: You are running 3.13 kernel, and my patch went into the kernel in version 3.8, so you don’t need to do anything, it should already work out of the box. You need to configure pulseaudio not to use the Mbox 2 and then run JACK instead with it. This is not a driver issue.

  25. hey trying to use my mbox2 with Ubuntu 14.04 (3.13.0-29-generic), I get the following in dmesg when I plug it in:

    [ 1735.529347] usb 3-1: new full-speed USB device number 4 using xhci_hcd
    [ 1735.579997] usb 3-1: config 1 interface 2 has no altsetting 1
    [ 1735.580005] usb 3-1: config 1 interface 3 has no altsetting 1
    [ 1735.580009] usb 3-1: config 1 interface 4 has no altsetting 1
    [ 1735.580012] usb 3-1: config 1 interface 5 has no altsetting 1
    [ 1735.582897] usb 3-1: New USB device found, idVendor=0dba, idProduct=3000
    [ 1735.582904] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [ 1735.582908] usb 3-1: Product: Mbox 2
    [ 1735.582911] usb 3-1: Manufacturer: Digidesign
    [ 1735.583805] usb-audio: Sending Digidesign Mbox 2 boot sequence…
    [ 1736.086150] usb-audio: device not ready, resending boot sequence…
    [ 1736.590633] usb-audio: device not ready, resending boot sequence…
    [ 1737.095193] usb-audio: device not ready, resending boot sequence…
    [ 1737.599721] usb-audio: device not ready, resending boot sequence…
    [ 1738.104206] usb-audio: device not ready, resending boot sequence…
    [ 1738.608715] usb-audio: device not ready, resending boot sequence…
    [ 1739.221784] retire_playback_urb: 1420 callbacks suppressed

    I do see the MBOX as an input/output option in Audacity, but when I go to record I get “Error while opening sound device. Please check the input device settings and the project sample rate.”

    I have seen the other comments here about JACK, and read a long thread from another guy who had problems but got it working, however it all seems to assume getting past the stage above. Any ideas?


  26. paul: It seems you are using the USB3 port, perhaps the MBox 2 doesn’t like the USB3 port for some reason. Please try a regular USB port and retest.


  27. With only 2 ins and 2 outs in the driver, how does the S/PDIF input work? The analog inputs and outputs and the S/PDIF output seem to work correctly (S/PDIF mirrors the analog output), but I can’t figure out how to capture off of the S/PDIF input. Is this not currently supported by the driver?

    Also, I am using it on a USB 3 port, and it seems to work correctly after updating the firmware. Before the firmware update, I was getting this error: Unknown bootresponse=1, or timed out, ignoring device. So if anyone else is seeing this error message, go find a windows box/VM and update the firmware. The digidesign firmware updater for version 1.43 ‘for XP’ also works in vista and probably also work in windows 7+.

  28. Alex: This is correct, the snd-usb-audio driver currently does not support S/PDIF input. I did not test SPDIF output either, if it works it is a coincidence!

  29. I have a mbox2 and mbox2 mini, and would like to install ubuntu studio. do you thi this driver will work? or should i stick to windows and pro tools? i am a musician not a coder, lol.

  30. David: So long as the kernel version is greater than 3.8, it will work out of the box, yes. I recommend Ardour DAW with JACK.

  31. This doesn’t work out of the box with Raspberry Pi Jessie Headless. M box shows in alsamixer, the lights come on the Mbox but no audio. I spent a whole day changing config but nothing works. I hear music through the headphone jack but nothing through the Mbox.

  32. I am able to run mbox2 just in Win7 partion but even on this partition upgrade to 1.48 is not functional. I tried it on Ubuntu 14.04. , 16.04, Xubuntu, Linux Mint, no reaction no light. So what could be wrong?

  33. FYI: I tried running the Mac OSX Intel driver installer, but my system replies that the OS does not support running Power PC programs. On the theory that maybe the platform files were switched, I also tried running the PPC version of the installer, but that resulted in the same message. I tried downloading the version from the Avid link and your mirror as well – same result. Seems like the file for Intel is wrong. 🙁

Leave a Reply

Your email address will not be published.