Zum Inhalt springen

BOSE SoundTouch de-clouding

Aus FHEMWiki
Version vom 27. Januar 2026, 12:24 Uhr von Pahenning (Diskussion | Beiträge) (De-clouding)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Zielgruppe

Benutzer von BOSE SoundTouch-Systemen

Lösungsübersicht

Cloudfreier Betrieb der BOSE-Boxen, De-bricking nach fehlerhaften Installationen

Ausgangssituation

BOSE wird im Februar 2026 seine Server aus dem Netz nehmen. Damit wird die Funktionalität der BOSE-Boxen drastisch eingeschränkt, das Abspielen von netzbasierten Radiostreams ist ohne Modifikation der Boxen nicht möglich.

De-clouding

Um einen root-Zugang zum Linux-Betriebssystem der Boxen zu erhalten, wird benötigt

  • USB-Stick, formatiert FAT32, mit einer leeren Datei 'remote_services'. Achtung: Das bootable-Flag des Dateisystems muss gesetzt sein.
  • Für BOSE ST10 und ST300 zusätzlich ein USB-OTG-Adapter. Das ist ein Adapter, der eine Buchse vom Typ USB A (in den wird der o.a. Stick gesteckt) mit einem Stecker vom Type USB Micro (Typ Micro B, trapezförmig) verbindet. Darin ist offenbar das 5. (ID-)Pin des Micro USB-Steckers mit GND verbunden. Diese Adapter gibt es für ca. 8 € im Handel, sie werden gerne benutzt, um Smartphones in den USB-Host-Modus zu bringen.

Vorbereitung allgemein

In der Regel werden für den cloudfreien Betrieb der Boxen sowohl die Device-ID, als auch die ID des BOSE-Accounts benötigt. Dazu greift man mit einem Browser auf das API der Box zu, und ruft die Adresse

http://<IP-Adresse der Box>:8090/info 

auf. Die Rückgabe sieht etwa so aus:

<info deviceID="{Device-ID}">
<name>{Name des Geräts in der BOSE Apps}</name>
<type>SoundTouch 300</type>
<margeAccountUUID>{ID des BOSE-Accounts}</margeAccountUUID>
...

Diese beiden Codes bitte notieren. Außerdem die drei Dateien

http://<IP-Adresse der Box>:8090/info 
http://<IP-Adresse der Box>:8090/recents 
http://<IP-Adresse der Box>:8090/preset

lokal abspeichern mit den Namen DeviceInfo.xml, Recents.xml, Presets.xml (Achtung, XML-Header nicht vergessen).

Vorbereitung ST10

Achtung: Vorher unbedingt die Einbindung der ST10 in ein Stereopaar aufheben! Sonst ist das Gerät nach der Änderung der internen Dateien nur noch ein teurer Ziegelstein ('Brick') und man muss erst die gesamte Firmware neu installieren, siehe unten.

  • USB-Stick durch den OTG-Adapter mit dem USB-Port der ST10 verbinden.
  • Stromversorgungskabel abziehen.
  • Stromversorgungskabel wieder einstecken
  • Die ST10 bootet jetzt vom USB-Stick, ggf. zeigt dessen Signal-LED den Zugriff an.

Vorbereitung ST20

  • USB-Stick mit dem USB-Port der ST20 verbinden.
  • Stromversorgungskabel abziehen.
  • Stromversorgungskabel wieder einstecken
  • Die ST20 bootet jetzt vom USB-Stick, ggf. zeigt dessen Signal-LED den Zugriff an.

Vorbereitung ST300

  • USB-Stick durch den OTG-Adapter mit dem USB-Port der ST300 verbinden.
  • Stromversorgungskabel abziehen.
  • Infrarot-Fernbedienung der ST300 auf das Gerät richten, den SoundTouch-Button drücken und halten (2. Button in der 2. Reihe)
  • Währenddessen das Stromversorgungskabel wieder einstecken
  • Die ST300 bootet jetzt vom USB-Stick, ggf. zeigt dessen Signal-LED den Zugriff an.
  • LEDs der ST300 sollten jetzt gelb blinken

Zugang

Der Zugang ist jetzt möglich mit

telnet <IP-Adresse der Box>

Auf die Rückgabe 'rhino login' einfach 'root' eingeben, ein Passwort ist nicht erforderlich. Alternativ kann man auch verwenden

ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa  root@<IP-Adresse der Box>

Möchte man diesen Zugang permanent haben, um ggf. weitere Änderungen einfacher auszuführen, muss man eine leere Datei 'remote_services' erzeugen mit dem Kommando

touch /mnt/nv/remote_services

Während das für die Umstellung auf cloudfreien betrieb ganz komfortabel ist, sollte man diese Datei nach erfolgreich getester Umstellung wieder löschen, denn sonst ist die Box komplett ungesichert !

Holen weiterer Daten

Nach einem Wechsel in das korrekte Verzeichnis

cd /mnt/nv/BoseApp-Persistence/1/

findet man dort auch die schon oben erwähnten Dateien Recents.xml und Presets.xml, sie können auch von hier auf den USB-Stick herunterkopiert werden.

Ebenfalls in diesem Verzeichnis liegt die Datei Sources.xml, dies muss ebenfalls entweder kopiert werden. Entweder local auf den USB-Stick oder, z.B. mit dem Befehl

scp Sources.xml {username}@{irgendein computer}

Via Netz übertragen werden.

Umbiegen

Die Konfiguration der BOSE-Server kann jetzt geändert werden, dazu muss man das richtige Verzeichnis auf der Box kennen, das Dateisystem beschreibbar machen und die entsprechende Datei ändern

cd /opt/Bose/etc/
rw
vi SoundTouchSdkPrivateCfg.xml

Für Nicht-Linux-Nutzer ist der vi Editor etwas gewöhnungsbedürftig, hier findet man eine Mini-Anleitung.

Die Datei enthält im BOSE-Urzustand folgende Informationen

<?xml version="1.0" encoding="utf-8"?>
<SoundTouchSdkPrivateCfg>
<margeServerUrl>https://streaming.bose.com</margeServerUrl>
<statsServerUrl>https://events.api.bosecm.com</statsServerUrl>
<swUpdateUrl>https://worldwide.bose.com/updates/soundtouch</swUpdateUrl>
<usePandoraProductionServer>true</usePandoraProductionServer>
<isZeroconfEnabled>true</isZeroconfEnabled>
<saveMargeCustomerReport>false</saveMargeCustomerReport>
<bmxRegistryUrl>https://content.api.bose.io/bmx/registry/v1/services</bmxRegistryUrl>
</SoundTouchSdkPrivateCfg>>

Um die Box auf einen anderen Server umzubiegen, der unter dem Namen oder der IP-adresse '{NeuerServer}:{Port}' erreichbar ist, bitte den Inhalt wie folgt ändern:

<?xml version="1.0" encoding="utf-8"?>
<SoundTouchSdkPrivateCfg>
 <margeServerUrl>http://{NeuerServer}:{Port}/marge</margeServerUrl>
 <statsServerUrl>http://{NeuerServer}:{Port}</statsServerUrl>
 <swUpdateUrl>http://{NeuerServer}:{Port}/updates/soundtouch</swUpdateUrl>
 <usePandoraProductionServer>true</usePandoraProductionServer>
 <isZeroconfEnabled>true</isZeroconfEnabled>
 <saveMargeCustomerReport>false</saveMargeCustomerReport>
 <bmxRegistryUrl>http://{NeuerServer}:{Port}/bmx/registry/v1/services</bmxRegistryUrl>
</SoundTouchSdkPrivateCfg>

De-bricking

Für den Fall, dass die BOSE Box nach irgendwelchen Änderungen nicht mehr ins lokale WLAN findet, aber auch keinen eigenen Access Point anbietet, kann man das gerät dennoch retten. Dazu muss die Firmware komplett neu installiert werden. Zunächst die passende Firmware suchen

Archiv mit BOSE Firmware

Die Zip-Datei muss entpackt werden die darin enthaltene Datei mit der Endung .stu muss auf einen bootfähigen USB-Stick geschrieben werden, siehe oben.

TODO: Unterabschnitte für die anderen Systeme schreiben, da nicht bekannt ist, wie lange BOSE die Informationen noch zur Verfügung stellt.

ST10

  • USB-Stick durch den OTG-Adapter mit dem USB-Port der ST10 verbinden.
  • Stromversorgungskabel abziehen.
  • Auf dem Tastenfeld die Taste „4“ und die „Lautstärke leiser“-Taste drücken und halten
  • Stromversorgungskabel wieder einstecken
  • Die ST10 bootet jetzt vom USB-Stick, ggf. zeigt dessen Signal-LED den Zugriff an. Die Buttons können nun losgelassen werden.

Die Installation dauert ca. 5 Minuten.