Make ardour work with bcf2000 in mackie mode


How do i make ardour work with bcf2000 in mackie mode? I tried everything( and other hints). In Generic midi everything works fine, but i want to use it in mackie mode.

I start ardour i always get this, it doesn’t matter in what mode the bcf is enabled.

ardour: [INFO]: Control protocol Mackie not usable
ardour: [INFO]: Control surface protocol discovered: “Generic MIDI”

I think it’s very strange the protocol Mackie is not usable?
I tried it with bcf2000 firmware 1.07 and 1.10.

Anybody has ideas how to get it work?

Thank you


This part concerns be a bit…

ardour: [ERROR]: MIDI: port device in use

And I suspect is the source of your errors now.

Just to confirm, the MIDI-port elements are the first things in your rc file[s] under the “Ardour” element? (Quotes used instead of <> for my own sanity, I ran into the same thing you did above with it stripping out the tag entirely)

Just for grins and giggles, in the ardour.rc file[s] put the device address as pointing to the actual device, not the symbolic link?

So in your case, /dev/snd/midiC3D0

Also make sure that nothing is is accessing MIDI on your machine? The following command should do this IIRC, but it has been a while.

sudo fuser /dev/snd/*

Hmm also just for the sake of completion, can you give me the output of…

cat /proc/asound/cards

I stripped the <> in my previous post, because, everything between <> was stripped away when i saw it in preview.

I have this lines in /etc/ardour2/ardour_system.rc & ~/.ardour2/ardour.rc

<MIDI-port tag=“seq” device=“ardour” type=“alsa/sequencer” mode=“duplex” />
<MIDI-port tag=“control” device=“ardour” type=“alsa/sequancer” mode=“duplex” />
<MIDI-port tag=“mcu” device="/dev/midi-bcf2000" type=“alsa/raw” mode=“duplex” />

and in <Config>

<Option name=“mackie-emulation” value=“bcf”/>

In both files the midi-port mcu is set up,
The midi device where i’m pointing to also exists.

$ ls -l /dev/midi-bcf2000
lrwxrwxrwx 1 root root 12 mei 2 03:19 /dev/midi-bcf2000 -> snd/midiC3D0

ardour: [ERROR]: MIDI: port device in use
ardour: [INFO]: No H/W specific optimizations in use
no more csLADSPA plugins
no more csLADSPA plugins
ardour: [INFO]: looking for control protocols in /home/stijn/.ardour2/surfaces/:/usr/lib/ardour2/surfaces/
ardour: [ERROR]: No port called mcu. Add it to ardour.rc.
ardour: [INFO]: Control protocol Mackie not usable
ardour: [INFO]: Control surface protocol discovered: “Generic MIDI”
powermate: Opening of powermate failed - File or Directory doesn’t exist
ardour: [INFO]: Control protocol powermate not usable

Where did you edit your ardour.rc file at?

The error you are getting has nothing to do with how your BCF is set up, it is entirely the Ardour configuration that is incorrect.

There are two possible places for ardour.rc…

One is in your system wide /etc folder
The other is in ~/.ardour2

Make sure both of them have the MIDI-port mcu set up(Also check to make sure that MIDI device you point it to actually exists). It is likely the forum stripped off your <> tags, but just to make sure, you are inputting this as an XML element right? Not just typing in things exactly as you have above?


I’m using my BCF in normal mode, and it just works great! Just make Preset 1 on your BCF the first “bank”, so: Put a fader in “learn mode” on the bcf, and move the appropriate fader in ardour. You can do this with all controls. Make sure to connect your BCF bi-directional to ardour’s control port, with qjackctl. Also make sure to enable the options “Feedback” and “auto rebind controls” in ardour. This works great for me.


Re: Make ardour work with bcf2000 in mackie mode

To narrow down the causes of this problem: Tweak the BCF so that you have firmware 1.07 or 1.10 and Logic Control emulation mode.

When you start it, you should see in the display the firmware version and then “LC”.
Then look into other possible causes in the computer software but leave the BCF alone.

In “~/.ardour2/ardour.rc” you need the BCF mode for the Mackie emulation:
In addition to the line shown in 10.6.1

Make the proper MIDI connections. As per example.
Choose “Mackie” in ardour.

I am very happy with this.
Generic mode can be more flexible because you can assign faders and buttons as you like, but I would never think of a mapping as good as the “Mackie” one. With Shift buttons and all. And out of the box.

Cheers! Pablo.


I have been using the BCF2000 in mackie emulation, but I had not used it for some weeks. Now, I have been trying and I am having problems too!

In 64studio3.0, with ardour 2.8. No avail :frowning:

I have a test partition:
In a clean standard jaunty installation (generic x86 kernel). After installing the jackd and ardour available in the defaut repositories:
jackd 0.116.1-3ubuntu3
ardour 1:2.7.1-2ubuntu1
And edit the ~/.ardour2/ardour.rc
(I edit the “MIDI-Port tag=mcu” line (it’s already there), rather than add a new line. This may seem obvious
but I messed up once. The manual says “add a new line”. Not if it is already there!)
Voilà. Faders up. The BCF2000 works in mackie mode!

Any clue why this may happen? Something to look into? I am willing to test.

I am sure I put the correct lines. I have not changed udev, but put: /dev/snd/midiCXD0
where X is the device number from “cat /proc/asound/cards”. And use alsa/raw instead
of alsa/sequencer, and add the mackie-emulation value_“bcf”. This works for 2.7.1
but not for 2.8! It could be that there is something outside ardour that is wrong or I must tweak.

By the way, in my experience you can leave alone the ardour configuration file in /etc/
and modify only the ~/.ardour2/ardour.rc. Of course, in the BCF-non-working ardour I have
tried changing this aswell, just in case.
Both in 2.7 and 2.8, there is not a /etc/ardour2/ardour.rc file. Only a /etc/ardour2/ardour_system.rc

Regards. Pablo

The BCF is now running 1.07 en is in logic mode.

it putted this lines in ardour.rc:

MIDI-port tag=“mcu” device="/dev/midi-bcf2000" mode=“duplex” type=“alsa/raw”

midi-bcf2000 is a symlink to /dev/snd/ created by udev

i also added ’ Option name=“mackie-emulation” value=“bcf” ’

If i open ardour, i still get the messages

ardour: [ERROR]: No port called mcu. Add it to ardour.rc.
ardour: [INFO]: Control protocol Mackie not usable
ardour: [INFO]: Control surface protocol discovered: “Generic MIDI”

So i’m not able to choose for Mackie in ardour.

As for as i know, i’m not doing anything wrong, so i don’t understand why it’s not running in mackie mode.

With some playing, i discovered, if i start ardour before jack, i’m not getting the error that the port is in use, and i can use the mackie protocol (the last fader is going up, from the moment i’m selecting the mackie mode in ardour), but it not usable because jack needs to start before ardour. Normally jack doesn’t suppose to use the device(and according to fuser, it’s not using it), input & output channels of jack pointing to my m-audio 1010lt .

So i think jack is causing the problem. Now finding out why.

(output fuser, after starting jack & before starting ardour)

fuser /dev/snd/*

/dev/snd/controlC1: 15308
/dev/snd/pcmC1D0c: 15308m
/dev/snd/pcmC1D0p: 15308m
/dev/snd/seq: 15298 15308

$ cat /proc/asound/cards
0 [Intel ]: HDA-Intel - HDA Intel
HDA Intel at 0xf5ff8000 irq 22
1 [M1010LT ]: ICE1712 - M Audio Delta 1010LT
M Audio Delta 1010LT at 0xec00, irq 16
3 [BCF2000 ]: USB-Audio - BCF2000
BEHRINGER BCF2000 at usb-0000:00:1a.1-1, full speed

That’s it!!

:slight_smile: :slight_smile:
It works! Thank you cajmere! Thank you Seablade!

cajmere, Ardour is perfectly usable. I would say that you are mixing up qjackctl and jackd. The jack daemon does start, even if you don’t start qjackctl beforehand (qjackctl is normally named “Jack Control” in the Desktop menu). Ardour can’t work without it! Check it up with htop and search [F3] for jackd.
So, ardour itself starts the jack daemon with the options you put in the Audio Configuration tab, in the first window. This is just another front-end for jackd. Be careful as the options and values you put in the setup of qjackctl are not known by this dialog, check them all. Also, note that this tab doesn’t show up when you start qjackctl beforehand. It honestly disappears because jackd is already up!

All the same, you can launch qjackctl afterwards to use the connect button to make the software connections. Although you can always make through ardour the connections you want (track/bus inspector / mixer window / …).

Yes, it looks like qjackctl is causing the problem. I have 0.3.4 and .deb package is “0.3.4-1~hardy1”. jackd --version is jackdmp 1.9.2.

In the jaunty installation, where I have no problem to connect the BCF in Mackie mode starting qjackctl first, qjackctl version is 0.3.4 too, and package is “0.3.4-0ubuntu2”. “jackd --version” throws “jackd 0.116.1”.

What are your qjackctl and jackd versions?

Cheers! Pablo


As Pablo stated, it is important to note the distinction between QJackCTL, and Jack. QJackCTL is merely a front end to control jack, but isn’t jack itself. Ardour, as Pablo noted, will start Jack if it is not already started, this usually resulting in an extra ‘tab’ in that initial session dialog that pops up to set all the appropriate Jack values.

At any rate, there are now a few specific variables to consider that may be causing the issues. One is JackMIDI may be grabbing the port I suppose. I have never used it as it is fairly new, and I never had it on my workstation that ran Linux, so I can’t say much about it. The other option is that QJackCTL routing the ALSA-MIDI ports may be screwing up somehow.

Sadly both of those are things I probably can’t help you troubleshoot without being at the computer, not that good to remember half of this stuff without seeing it, and my linux workstation hasn’t run in a bit so I am a bit rusty. But if starting Ardour first works for you, is there anything special you use that you would need QJackCTL for? (There are specific cases where youw ill want it if you do more than basic work).


Ah ok. I didn’t know that ardour was starting jack. Has that always been?

I noticed via top that jack is also in use when i start ardour. Anyway it’s solved now ;-).
I always used qjackctl, but i used it with the option, “start jack on startup qjackctl”. I killed that option now and it works like a charm.

Thank you for solving my problem :wink:

Is jackdmp running fine & stable?

Start Ardour, open a terminal, type ps axww | grep jackd and check the output.
Close Ardour, start jack using qjackctl and run the ps-line again. Notice the difference.
My guess is that you have an -X flag in the second output that’s missing in the first.

Click the Setup button in qjackctl and play with the MIDI driver in the Settings tab; none or seq should work.

Hi Seablade.

If i start ardour before qjackctl(without starting a new jack process) there i no problem and everything works fine.
It will be indeed somekind of a bug, i presume.

I was using qjackctl for routing my inputs of the soundcard to 2 output. If i don’t record & just playing or experimenting little bit on the synths, ardour shouldn’t be running. I just want to hear to sound thru the speakers ;-). When i’m gonna buy a midi keyboard, i’ll with need it also, i think, to route the midi data to the correct midi port. Anyway, that’s for the future. I’m out of money now ;-).

Thank you for helping me out.

Every time Ardour crashes I have to manually enter these values back into my ardour.rc file, and check ‘Mackie’ and ‘Feedback’ under ‘Control Surfaces’.

Also I understand that automation set to ‘Touch’ is supposed to play the automation, and allow for edits in realtime. This works under ardour using my mouse on the faders, it doesn’t work with my BCF2000.

Yep you’re right. Midi drivers to non does the trick :wink:



Touch requires a touch sensor that I am not sure if the BCF has or not, which would explain the problem if it doesn’t. I know John coded and tested the original code with a BCF, and I did the testing on a Mackie. I can confirm the Mackie works fine for this function, I would be willing to bet that if the BCF had this functionality he probably would have coded it in, so I suspect it is missing from the BCF.



Yea as I was expecting, you were getting a conflict from QJackCTL either handling the ALSA MIDI routing, or running Jack MIDI. Which I am not sure of, but glad you got it sorted.


Seablade thanks for clearing that up for me

No Problem. Let me know if yall get other questions on this.