MasterLink ML specification, protocol, etc.

30 replies

Hi dgillier,

Here are the steps:
1.    Open a BeoLink Converter or another B&O device with MasterLink
2.    Find the MasterLink level shifter  - in case of the Converter 1611 it is a IC called ML-Asic)
3.    Connect the Rx line to a RS232 level shifter (e.g. MAX232)

The current setup lies on my desk and needs too much space for work. Therefore, in case I got enough information about the ML protocol, I want to prepare a small PCB with the ML- and RS232 level shifter on it, or a PCB with the ML level shifter and an USB Device (e.g. from FTDI).

Andy

PhilLondon wrote:

Is your software emulating Beoport in Option 0,2,4 or 6?

I thought it was Option 6, but dunno for shure anymore...

PhilLondon wrote:

How did you reverse engineer the protocol? Is there a software on the PC that would allow me to spy on the communication between the Beoplayer software and the Beolink PC 2 box over USB.

Yust use a USB sniffer on windows, you can google on it. It was pretty straidforward.

 

Herwin Jan

 

Here is a new screenshot of the ML-Analyzer. The BS3000 transmits date and time information via ML to synchronize other devices like link speakers (e.g. LCS9000/BL3500). I wonder if the Audio master would use this information as well. So it would be possible to synchronize all ML devices with a DCF77 clock. In the current setup it is only possible to read ML messages. So I can’t test this – I need more hardware ;-).
Furthermore the Audi master sends source status telegrams if the status changes for example due to a Beo command which changes the CD track or the radio channel.

Andy

A little off topic Andy, I must compliment on your avatar, as the very same image is my desktop background! I was waiting for it to show up on an avatar here sooner or later, good pic.

Location: San Francisco

I'm an automotive audio and acoustic engineer. I design loudspeakers and full sound systems for new automobiles. I also dabble with studio, consumer and pro audio projects from time to time.

Thank you for the compliment Evan. I like this picture too and therefore used it for a mouse pad at home as well.

Thanks to the schematics and from an electrical point of view, ML looks very much  as RS-485.

Bidirectional asynchronous data transmission on a single balanced wire.

But I don't know if the level are compatible ?

If so it will be interesting to connect ML to a PC with a RS-485 to RS232 translator.

dgillier wrote:

Thanks to the schematics and from an electrical point of view, ML looks very much  as RS-485.

Bidirectional asynchronous data transmission on a single balanced wire.

But I don't know if the level are compatible ?

Seeing that the masterlink connector has as a first thing that network of LL4488 diodes as an overvoltage protection, the actual data levels cannot be much more than +/- 500 mV. All common-mode voltages greater of about 1.2V will be shunted to ground and differential levels are limited there as well. I guess the levels need to be kept low to minimize crosstalk into the audio lines, so it might even be much less than this.

This is far from the several volt levels an RS-485 transmitter usually operates, but a (non-terminated) RS-485/422 receiver might be able to read it.

Finally, after three weeks I got the BeoLink Passive back with software 1.6. Unfortunately, I had no time to check the behaviour outright. I hope to have some time this weekend to check whether light commands from the Beo4 will pass the BeoLink passive now.

Andy

Great! Many thanks to beojeff for the BeoLink Passive hint. After enabling ML via
/MENU/ /0/ /5/ /GO/
/STEP UP/
/GO/
It does work. The light commands do get trough. So this is an easy way to analyse these commands with a home automation system for controlling light, rolling shutter, etc.

Andy

 

 

Herwin,

I've tried to take a copy of your kpc2 repository, but can't easily access the files. The web cvs interface shows the files, but the Summary Page does not have the usual Big Green Button, and the Files page shows nothing.

I've tried using the suggested CVS command:

  $ cvs -d:pserver:anonymous@kpc2.cvs.sourceforge.net:/cvsroot/kpc2 login

  Logging in to :pserver:anonymous@kpc2.cvs.sourceforge.net:2401/cvsroot/kpc2
  CVS password:
  cvs [login aborted]: connect to kpc2.cvs.sourceforge.net(216.34.181.110):2401 failed: Connection refused
  $

For password, I just pressed carriage return. This all suggests that the repository has moved, or that I'm doing the wrong thing.

Help!

Mark

Location: UK

or
BeoWorld Gold Membership card
Join BeoWorld

Register to access the forums, reference material, and exclusive member benefits — including our monthly prize draw.

Become a Member

December 2026 Prize Draw

Gold Members Only

As a Gold member you're automatically entered into our exclusive prize draw — your chance to win iconic Bang & Olufsen products. A unique benefit of BeoWorld Gold membership, every draw brings a new opportunity to win something special.