Bose Solo 15 TV Sound System – TAP Commands

I'm one of those not-so-proud owners of a Bose Solo audio systems that simply sits under your TV-set and plays some audio you feed in.

It ships with a really basic IR-Remote that consists of four keys:

0       Toggle On/Off
1       Volume up
2       Volume down
3       Mute

Other then that the device has one LED in the front and some ports in the back:

Data (3,5" Jack)    Serial communication
USB (Service)       Firmware updates
TOS-Link            Optical Digital audio
Coaxial             Digital audio
Cinch               Analog stereo audio

Read more about it in the user manual.

While the days were long, dark and cold I discovered that you can update the firmware of this piece of technology. Some research (Hacking the Bose Soundtouch, and its Linux-based OS) showed me that this device is probably also running an embedded linux system. So I went on and updated my firmware to the latest version.

But this little Data-port caught my attention. After some Googling, I found a Bose service manual that stated you can controll this device using so called TAP-commands. I had no clue how to do that and I have never used a serial terminal before. After I fiddled around some weeks with different cables, an Arduino, etc. I finally made it and found a way to talk this device using a serial console.

Here is the list of commands with their corresponding output. Note: I haven't run all commands yet, as I don't know their impact yet. Others had no particular output.

Describe command

> DC
dc              (here) Describe command
vr              Version info
sr              Read serial
sw              Write serial
mt              Write test status
mr              Read test status
rd              Read data
wd              Write data
br              BDSP Read data
bw              BDSP Write data
bb              BDSP base addr
xm              BDSP xmodel ver
cpu             CPU control
debug           Debug level
gpio            GPIO control
tap             TAP control
ui              UI control
repeat          Repeat a command
vo              Volume control
reboot          Reboot
bdsp            BDSP control
spdif           S/PDIF read/write
lpsc            lpsc
audio           audio settings
echo            echo
mu              Mute control
bass            Bass control
led             LED control
ir              IR control
remote          Remote control
fd              Factory defaults
persist         Persistent control
flash           SPI flash
usb             USB

Version info

> VR
Main 1.0.6.1287 epdbuild.usmahedbldsrv01.2014-05-22T14:40:29
Boot 1.0.0.1211 epdbuild.usmahedbldsrv01.2013-05-09T14:25:14
Mfg  1.0.0.1211 epdbuild.usmahedbldsrv01.2013-05-09T14:25:31

Read serial

> SR
M:WBM0141G0743
I:00000000000000000000000
S:057237Z40201505AE

Read test status

> MR
0x000000F8

BDSP base addr

> BB
293731936

BDSP xmodel ver

> XM
1210

CPU control

> CPU
load: 1/64/70
stack 0 @ 0xC01F5358 1188/4096
stack 1 @ 0xC01F6358 684/4096
stack 2 @ 0xC01F7358 1384/4096
stack 3 @ 0xC01F8358 572/4096
stack 4 @ 0xC01F9358 620/4096
stack 5 @ 0xC01FA358 868/4096
stack 6 @ 0xC01FB358 652/4096
stack 7 @ 0xC01FC358 876/2048
stack s @ 0xC01FCB58 1104/4096

Debug level

> DEBUG
TimerMBX: 0xC01DA150
RenderAudioMBX: 0xC01DA1D0
TAPAppMBX: 0xC01DA0D0
UITaskMBX: 0xC01DA2D0
USBTaskMBX: 0xC01DA350
CodecManagerMBX: 0xC01DA250

TAP control

> TAP
RX/TX max usage: 9/301

UI control

> UI
state: 2
BDSP mute: 0
BDSP vol: 11
BDSP isNaN: 0
demo layer: 0
idle timer: 1/1
idle timer value: 0
audio silence: 1
audio silence timer value: 123211
power cycles: 28
running from: upgraded main image
Hospitality mode: 0

UI control (while playing)

> UI
state: 2
BDSP mute: 0
BDSP vol: 11
BDSP isNaN: 0
demo layer: 0
idle timer: 1/1
idle timer value: 0
audio silence: 0
audio silence timer value: 0
power cycles: 28
running from: upgraded main image
Hospitality mode: 0

Volume control

> VO
0/11/100

Reboot

> reboot
Bose Solo

Audio settings

> AUDIO
audio in bypass: no
input auto selection: on
digital source: no
S/PDIF valid: no
Audio type: PCM

Audio settings (while playing)

> AUDIO
audio in bypass: no
input auto selection: on
digital source: yes
S/PDIF valid: yes
  S/PDIF channel: 1
  S/PDIF frame rate: 44.1 kHz
  S/PDIF IEC Pc: 0xFFFFFFFF
Audio type: PCM

Mute control

> MU
0

Mute control (while muted)

> MU
1

Bass control

> BASS
0

LED control (while off)

> LED
Active Layers:

LED control (while on)

> LED
Active Layers: 14

LED control (while blinking)

> LED
Active Layers: 12 14

IR control

> IR
echoRemote: 0
ignoreRemote: 0
eventBufferWatermark: 4

Remote

> remote 0 # Toggle On/Off
> remote 1 # Volume up
> remote 2 # Volume down
> remote 3 # Mute

Persistent control

> PERSIST
current block @ 0x00019778
drcSetting: 1
allowDrcSetting: 0

USB

> USB
usbDeviceConnected: 0
usbUpdateLockout: 0

links

social