The No.1 Website for Pro Audio
BCR2000 as a MIDI interface: bug or malfunction?
Old 7th January 2020
  #1
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
BCR2000 as a MIDI interface: bug or malfunction?

Hi there,

I'm a happy owner of a BCR2000. Never had a problem with it, although I just used it as a MIDI controller.

During the last week, I needed a USB interface (I usually use a PCI-based one) and chose my BCR2000 for that purpose (the BCR has 3 USB-modes that allow it work as a USB-MIDI 2x1 interface).

However, and after struggling with some synths dumps and backups, I noticed that Sysex messages are not being received as intended. I initially blamed the synths for that until I realised it happens with any synth attached to its MIDI ports.

The issue is that the MIDI interface seems to skip some bytes while receiving SYSEx messages. But it always seems to miss them exactly at the same offsets. Comparing with a hex editor several .syx dumps, I observed that it skips always 2 bytes at the following positions (all values in hexadecimal):

3F9, 5F6, 7F3, 9F0, BED, DEB...

as you can see, the first missing pair of bytes occurs at 3F9 position. The second and next missing bytes always happen at a fixed interval of 1FD (which happens to be 3F9 / 2), so:

3F9 + 1FD = 5F6
5F6 + 1FD = 7F3
7F3 + 1FD = 9F0
9F0 + 1FD = BED
etc...

No other kind of message (note, pg, cc, real time, etc.) seem to have problems, it just happens with system exclusive messages.

My BCR2000 unit's firmware is 1.10.

Any thoughts? Can anyone confirm this behaviour or maybe my unit is broken?

**EDIT** I can reproduce the problem on both a PC and a Mac with different sysex tools, so it can't be a software related issue.

PS. Please find attached a zip containing two syx files (same bank from a SY-22, one of them captured with the BCR2000, the other one with an X Air X18 interface).
Attached Files
File Type: zip SY22 - BCR2000 issue.zip (1.4 KB, 14 views)
Old 11th January 2020
  #2
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
Anyone? :-D
Old 17th January 2020
  #3
Lives for gear
 
psionic11's Avatar
Hey Mastropiero, I wanted to see if I could help you with this BCR issue, but it looks like you've found a better solution by looking for another, smaller MIDI controller that will display custom names for parameters.

I haven't turned on my BCR/BCF combo in months. I'm mostly replacing what they did with MidiDesigner for iPad. This is my HUD solution to display named parameters and unify my various templates.

You didn't mention iPad as an option, so I'm guessing you'd prefer to find a good hardware solution instead. Hope it all works out for you... I'm following that other thread as well...

Old 17th January 2020 | Show parent
  #4
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
Quote:
Originally Posted by psionic11 ➡️
Hey Mastropiero, I wanted to see if I could help you with this BCR issue, but it looks like you've found a better solution by looking for another, smaller MIDI controller that will display custom names for parameters.

I haven't turned on my BCR/BCF combo in months. I'm mostly replacing what they did with MidiDesigner for iPad. This is my HUD solution to display named parameters and unify my various templates.

You didn't mention iPad as an option, so I'm guessing you'd prefer to find a good hardware solution instead. Hope it all works out for you... I'm following that other thread as well...

Well I’d like to keep both the good old BCR and a new one. The BCR is perfect for live performance while the new (smaller) will fit my needs at the studio.

The iPad is not a valid option for me because it forces me to look at the screen while tweaking UI controls. Not useful for some performing styles.

BTW, could you try to reproduce the problem I reported above? Just connect the BCR/BCR in USB mode and try to get some sysex banks from your favourite synths and see what happens.

Thank you.
Old 19th January 2020
  #5
Lives for gear
 
psionic11's Avatar
Whew, that was an involved process.

Had to install BCR usb midi drivers, which borked my windows machine after a restart. My wireless USB NIC doesn't play well with the BCR. For now the BCR is put away again, and my PC is back to normal.

I'm not sure what I was looking for in your SY and BCR sysex files.

But attached for your examination is a Bulk Dump from my Integra. It seems nice and complete to me?

Integra MIDI DIN out ==> BCR MIDI DIN in ==> BCR USB to PC ==> Midi-Ox
Attached Files
File Type: txt Integra bulk dump.txt (53.5 KB, 8 views)
Old 19th January 2020 | Show parent
  #6
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
Quote:
Originally Posted by psionic11 ➡️
Whew, that was an involved process.

Had to install BCR usb midi drivers, which borked my windows machine after a restart. My wireless USB NIC doesn't play well with the BCR. For now the BCR is put away again, and my PC is back to normal.

I'm not sure what I was looking for in your SY and BCR sysex files.

But attached for your examination is a Bulk Dump from my Integra. It seems nice and complete to me?

Integra MIDI DIN out ==> BCR MIDI DIN in ==> BCR USB to PC ==> Midi-Ox
The SY files are an example of the reported issue (one SY file is dumped with the BCR, the other is with a different MIDI interface, both files are different each other although they are supposed to be identical).

Can you somehow send me your Integra dump in binary format? (not a TXT file, but an actual .syx file).

Could you please check two more things?

a) Try the same operation you did, but change the BCR by a different USB MIDI Interface.

b) Try to upload again to the Integra the .syx you obtained from it and check if it works (for example, make a little change such as the name of a patch, and resend the dump file).

Thank you very much for your help.
Old 19th January 2020 | Show parent
  #7
Lives for gear
 
psionic11's Avatar
Quote:
Originally Posted by Mastropiero ➡️
Can you somehow send me your Integra dump in binary format? (not a TXT file, but an actual .syx file).
Give me a day or two, that shouldn't be an issue.

Quote:
Could you please check two more things?

a) Try the same operation you did, but change the BCR by a different USB MIDI Interface.
Do you mean a different USB A port on my PC? I didn't use a dedicated USB MIDI interface, I connected the BCR directly to the PC. The BCR was in mode U-3. No need for an extra USB MIDI interface, the BCR *is* the USB MIDI interface. This is why I asked in the other thread if you bypassed your XR18. I'm also using an XR18 as my PC's soundcard and MIDI interface, but for this test I didn't go through it.

Quote:
b) Try to upload again to the Integra the .syx you obtained from it and check if it works (for example, make a little change such as the name of a patch, and resend the dump file).
This will also take a bit. I'll first want to make a backup and test it on my Integra before I upload a possibly faulty sysex file. I have a lot of Setups of my cover band stuff that took hours to develop, don't want to endanger them until I'm absolutely sure I have a working recovery plan.
Old 19th January 2020 | Show parent
  #8
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
Quote:
Originally Posted by psionic11 ➡️
Give me a day or two, that shouldn't be an issue.
Take your time.

Quote:
Originally Posted by psionic11 ➡️
Do you mean a different USB A port on my PC? I didn't use a dedicated USB
I mean not to use the BCR at all, but a different interface (e.g. your XR18).

In my case, I tested a K5000R and an SY22 with 3 different MIDI interfaces: the BCR, the X18 and a E-mu PCI card. The sysex received from the X18 and the E-mu card are identical. The data received from the BCR is different (some bytes are missed/skipped as I explained in my OP).

Quote:
Originally Posted by psionic11 ➡️
I'm also using an XR18 as my PC's soundcard and MIDI interface, but for this test I didn't go through it.
Please try using the XR18 too, so we can compare both received files and check if any difference exists.

Quote:
Originally Posted by psionic11 ➡️
I have a lot of Setups of my cover band stuff that took hours to develop, don't want to endanger them until I'm absolutely sure I have a working recovery plan.
Same here haha. In my case most of the setups are on the Alesis Fusion, which doesn't use sysex data, but you can access its hard drive via USB. I periodically make backups on the computer and also upload them to the cloud.

Working as a systems administrator, I learned the lessons the hard way a few times :-D

Thank you for your help.
Old 19th January 2020
  #9
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
Just to clarify, this drawing shows what I found:



Using a PC or a Mac makes no difference. I also tried other synths and got same results: Kawai K5000R, Casio VZ-10m, Korg TR-Rack, etc.
Old 20th January 2020
  #10
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
I've got a response from Behringer's support team:

As I said in my last email unfortunately, this is now a legacy device. It sounds like you have found a bug, but there are a lot of variables which could contribute to this. Sadly, as this product is no longer being developed for, it cannot be fixed via an update.

Ok guys...

Time to message Mr. Uli...

It would be a nice gesture if they released the sources of the firmware I could try to fix the bug and release a unofficial firmware update.

After all, there exist some unlicensed firmwares for the BCR2000 (e.g. that one that turns the BCR into a powerful step sequencer).
Old 29th November 2020
  #11
Here for the gear
 
noembryo's Avatar
 
@ Mastropiero Any news with that issue?

I stumbled at the same problem and lost days before I realize what was causing the missing bits..
Searching the net for solutions lead me to nothing relevant but this thread.

Register just to post this.

I'm attaching two .syx files of the same bank (with and without the missing bits)..
Attached Files
File Type: zip BCR Syx problem.zip (3.8 KB, 3 views)
Old 30th November 2020 | Show parent
  #12
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
Quote:
Originally Posted by noembryo ➡️
@ Mastropiero Any news with that issue?

I stumbled at the same problem and lost days before I realize what was causing the missing bits..
Searching the net for solutions lead me to nothing relevant this thread.

Register just to post this.

I'm attaching two .syx files of the same bank (with and without the missing bits)..
Yep, same issue.

Sadly, Behringer do not offer any fix or workaround.
They even refused to share the firmware source code so I would have fixed it. :(
Old 30th November 2020 | Show parent
  #13
Lives for gear
 
zobbo's Avatar
 
🎧 5 years
Quote:
Originally Posted by Mastropiero ➡️
Yep, same issue.

Sadly, Behringer do not offer any fix or workaround.
They even refused to share the firmware source code so I would have fixed it. :(
Why not suggest to them they release a clone of it? They'll copy the same firmware, the cloned product will be in the current lineup and supported. Simples.

Old 30th November 2020 | Show parent
  #14
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
Quote:
Originally Posted by zobbo ➡️
Why not suggest to them they release a clone of it? They'll copy the same firmware, the cloned product will be in the current lineup and supported. Simples.

They recently showed a draft for a new version of the BCR2000. I hope they rework the whole firmware and remove the bug.
Old 8th December 2020
  #15
Here for the gear
 
🎧 5 years
Me too!

Glad to hear I'm not alone in experiencing anomalies with the BCR2000 midi implementation.

I was using it as the MIDI port for my Korg MC2000. Played fine from it and seemed to control fine from it. However, I noticed I could not successfully load or save SYSEX banks to or from the MC2000.

I connected to MC2000 to the Midi ports on my Focusrite Scarlett 18i8 USB audio interface and was able to send and receive with no problem.

Further I noticed while watching Midi-Ox's Monitor Input that the MS2000 sends constant "Active Sensing" messages that are viewable when the MS2000 is connected to the Focusrite 18i8 Midi ports. However these Active Sensing messages appear to be "filtered out" when connecting to the BCR2000.

If I can be of any further help in diagnosing, please let me know.

****EDIT**** Of note: There's a guy in Germany, Christian Stöcklmeier at https://zaqaudio.com who has basically hacked a BCR into what seems to be a pretty neat step sequencer. I wonder if he has any access to the original source code?

Last edited by noexit23; 8th December 2020 at 05:31 PM.. Reason: Adding Note about ZacAudio
Old 9th December 2020 | Show parent
  #16
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
Quote:
Originally Posted by noexit23 ➡️
****EDIT**** Of note: There's a guy in Germany, Christian Stöcklmeier at https://zaqaudio.com who has basically hacked a BCR into what seems to be a pretty neat step sequencer. I wonder if he has any access to the original source code?
No he hasn’t. That sequencer was made by reverse engineering the BCR2000.
Old 9th December 2020 | Show parent
  #17
Here for the gear
 
🎧 5 years
Interesting! I mean this reply quite honestly in that I am by NO MEANS any kind of programmer. My experience in technology is mostly all self-taught and I have MANY holes in my understanding. Given that, please help me understand what "Reverse Engineering" is in this case. How did he do it? Would he have had to create or customize and load his own OS onto the the BCR disregarding or deleting the manufacturer's software? I'm so very curious how these genius minds figure these things out and how they apply these discoveries.
Old 9th December 2020 | Show parent
  #18
Gear Addict
 
signalpudding's Avatar
 
Quote:
Originally Posted by noexit23 ➡️
Interesting! I mean this reply quite honestly in that I am by NO MEANS any kind of programmer. My experience in technology is mostly all self-taught and I have MANY holes in my understanding. Given that, please help me understand what "Reverse Engineering" is in this case. How did he do it? Would he have had to create or customize and load his own OS onto the the BCR disregarding or deleting the manufacturer's software? I'm so very curious how these genius minds figure these things out and how they apply these discoveries.
I don't know exactly what his process was to get there, you can reverse engineer things a lot of ways.

I'm guessing he took one of the firmware update files, decompiled it to get the code back into the form in which it was written by the original programmers, then used what he saw to understand how to write his own code for it. I did study computer science in undergrad but haven't done any coding in like 15 years so that's a very not technical explanation that I may be completely wrong about.

But yea, it's totally new code completely unrelated to what was on there originally.
Old 9th December 2020 | Show parent
  #19
Lives for gear
 
Mastropiero's Avatar
 
🎧 5 years
Quote:
Originally Posted by signalpudding ➡️
I don't know exactly what his process was to get there, you can reverse engineer things a lot of ways.

I'm guessing he took one of the firmware update files, decompiled it to get the code back into the form in which it was written by the original programmers, then used what he saw to understand how to write his own code for it. I did study computer science in undergrad but haven't done any coding in like 15 years so that's a very not technical explanation that I may be completely wrong about.

But yea, it's totally new code completely unrelated to what was on there originally.
Your explanation is correct. In addition to disassembling a firmware update (I don't know if it's even possible since those updates are usually encrypted or protected), he must have studied the schematics and service manuals deeply in order to fully understand the internal hardware.

The CPU used by the BCR2000 is (if I recall correctly) a 32bit ARM, so being a well-known architecture it's easier to create a new firmware from scratch instead of modifying a pre-existing one.
Old 9th December 2020 | Show parent
  #20
Gear Addict
 
signalpudding's Avatar
 
Quote:
Originally Posted by Mastropiero ➡️
Your explanation is correct. In addition to disassembling a firmware update (I don't know if it's even possible since those updates are usually encrypted or protected), he must have studied the schematics and service manuals deeply in order to fully understand the internal hardware.

The CPU used by the BCR2000 is (if I recall correctly) a 32bit ARM, so being a well-known architecture it's easier to create a new firmware from scratch instead of modifying a pre-existing one.
That's probably a more likely explanation. I hadn't really thought about the fact that they are using normal chips that anyone could write code for. Figuring out how the rest of the system is implemented is then the interesting bit.
📝 Reply

Similar Threads

Thread / Thread Starter Replies / Views Last Post
replies: 3 views: 2623
Avatar for drakem
drakem 29th April 2010
replies: 4863 views: 1299720
Avatar for daxmaestro
daxmaestro 1 day ago
replies: 83 views: 62765
Avatar for mildewman
mildewman 17th March 2017
replies: 270 views: 17866
Avatar for tux99
tux99 2 weeks ago
Topic:
Post Reply

Welcome to the Gearspace Pro Audio Community!

Registration benefits include:
  • The ability to reply to and create new discussions
  • Access to members-only giveaways & competitions
  • Interact with VIP industry experts in our guest Q&As
  • Access to members-only sub forum discussions
  • Access to members-only Chat Room
  • Get INSTANT ACCESS to the world's best private pro audio Classifieds for only USD $20/year
  • Promote your eBay auctions and Reverb.com listings for free
  • Remove this message!
You need an account to post a reply. Create a username and password below and an account will be created and your post entered.


 
 
Slide to join now Processing…

Forum Jump
Forum Jump