11

I would like to control my logitech Z906 remotely, e.g. with a webservice running on a raspberry pi connected to it's console.

The console is connected over a DB-15 port to the subwoofer.

I called logitech but they were unable to provide me with information concerning the protocol used between the console and the subwoofer.

So I will need to reverse engineer this, however, I'm not sure on how to get started here. I suppose I just connect the console to a pc (running fedora), and press all the buttons and see what comes out, and then try the opposite, see what happens when I send these to the subwoofer?

Do you have any general tips, what software to use, any special hardware?

Do I just connect the 15 pins to 15 pins on my raspberry pi and read them out? Or is there an easy way to connect a DB-15 to a pc for easy testing (my vga port??)

follow up: So far as I could tell the console is doing all audio decoding work, and sending raw analog signals to the subwoofer, so the console is doing a lot of inernal work, and is more then a simple frontend for sending commands to the subwoofer. Replacing all of this work is not what I want to do, I could just buy some 'dumb' audio equipment if I could do all the work that the console currently does, so I abandoned this project.

1
  • Any luck so far? I would like to be able to control the z906 via rasberry as well. I wil examine the lines as soon as I have received my breadboard (not willing to cut in the cable directly)
    – Kwibox
    Commented Jan 24, 2017 at 19:39

2 Answers 2

3

If I was doing this, in the absence of any other information at all, the first thing I would do is connect the sub to its console, and then cut open the cable and hook up a logic analyser or even just use a CRO to see what is happening on each of the 15 lines, and try and identify:

  1. Whether a line is even being used

  2. If it is simply just power (3v3, 5 or even 12V) or ground. These can then also be confirmed / differentiated from signal lines using a multimeter to trace back to the relevant traces on the circuit boards.

  3. Attempt to guess what the protocol might be on each signal line

I would start with a CRO on each line to try and identify the voltages first, so as to avoid potentially frying something else.

The last thing I would do is just connect directly to a Raspberry Pi and hope for the best.

Good tools for investigating unknown protocols include the Salae logic analyser (or clones), ant the OpenOCD software, and devices such as the Bus Pirate.

Given this is audio gear it is not out of the question that only a couple of pins are actually used, possibly with the I2S protocol, or something else entirely.

1

In case anyone ends up here. My solution (years ago) was to program an Arduino with an IR LED to send commands to the unit mimicking the remote control. The arduino also has ethernet and runs a webserver ( https://github.com/ovidiucp/TinyWebServer ) Not very elegant since there is the LED and its wire next to the unit but it gets the job done.

Not the answer you're looking for? Browse other questions tagged or ask your own question.