u/eleszet

Homatics bluetooth audio dropout

I’m having persistent Bluetooth audio issues with my Homatics Box R 4K Plus running Android TV 14 (see my earlier posts).

With Bluetooth headphones/audio devices, I repeatedly get short audio dropouts during playback. The issue happens across different apps and with multiple Bluetooth audio devices. The same headphones work fine with other devices, so the problem seems to be related to the Homatics box.

I already did quite a bit of troubleshooting, including testing different Bluetooth codecs and checking for obvious network, load, or temperature-related issues. So far, I haven’t found a reliable workaround.

I also tried contacting Homatics directly, but unfortunately I haven’t received any useful feedback so far.

Does anyone know if Homatics is aware of these Bluetooth audio issues on Android TV 14? Is this a known bug that is currently being investigated or planned to be fixed in a future firmware update?

Any information from Homatics support or beta testers would be appreciated.

For now, I’ve requested a refund from the retailer, since Bluetooth audio is currently not reliably usable for me.

reddit.com
u/eleszet — 9 days ago

Homatics Box R 4K Plus – Bluetooth headphones are discovered but never connect. Is A2DP supported at all?

TLDR; Problem solved, A2DP was in sink mode, fixed via ADB (see UPDATE 2)

I recently moved from a Fire TV Stick to a Homatics Box R 4K Plus (Amlogic S905X4, 4GB/32GB, WiFi 6) and lost a feature I used regularly: sending audio to Bluetooth headphones.

\*\*My setup:\*\*

\* Homatics Box R 4K Plus, connected via HDMI directly to a Philips 55" TV (not routed through the soundbar)
\* Teufel Cinebar Ultima soundbar on the TV via HDMI ARC
\* Sony WH-1000XM6 headphones
\* Android version: up to date

\*\*The problem:\*\*

The headphones are discovered by the box and appear in the device list, and I can select them – but the connection never actually completes. The box never establishes a connection, and the headphones don't play their usual pairing confirmation tone, so the bond clearly never succeeds. This is not a case of "pairs but no audio" – it never gets that far.

The Bluetooth remote that came with the box works fine, so Bluetooth as such is functional. To me this looks like a stack with HID only and no A2DP source profile: the box finds the headphones via inquiry, then has no supported profile to bind to and gives up.

On the Fire TV Stick this just worked out of the box, and the Chromecast with Google TV supports Bluetooth headphones too, so I don't think this is an Android TV platform limitation.

\*\*What I'd like to know:\*\*

  1. Has anyone got \*any\* Bluetooth audio device (headphones, earbuds, speaker) to connect to a Box R 4K Plus? Or is A2DP simply absent because Homatics shipped the Amlogic reference config with Bluetooth limited to remotes and gamepads?
  2. If the profile is present in the stack but not exposed properly – has anyone reached it via ADB, developer options, or the AOSP Bluetooth settings activity? I'm comfortable with ADB and already sideload apps on this box.
  3. Alternatively, does anyone have USB audio working as an output on this box? A USB audio dongle would bypass the Bluetooth stack entirely, but I don't know whether the audio policy on this device allows USB as a media output.
  4. Has Homatics ever commented on adding Bluetooth audio in a firmware update?

Happy to run any ADB commands or pull logcat output and report back if that helps narrow it down.

Update:

- IO bluetooth devices, such as mouse/keybord, work well

- other bluetooth speaker/headphones, wont work either (tested with JBL Charge, LG Xboom buds)

UPDATE 2 - solved

Still no answer from Homatics support. But I got to the bottom of it with ADB, and it turns out this is neither a hardware limitation nor a missing feature - it's a firmware default.

The cause: the box ships with its Bluetooth stack forced into Sink mode

The Box R 4K Plus is configured as a Bluetooth receiver (i.e. a Bluetooth speaker you can stream to from your phone), not as an audio source. Read straight off the device:

persist.sys.nes.bluetooth.sink.enabled = true - vendor override forcing sink mode
settings global key_bluetooth_a2dp_role = true - A2DP role set to sink
Loaded profiles: A2dpSinkService + AvrcpControllerService - receive only
bluetooth.profile.hfp.ag.enabled = false

The telling contradiction: the AOSP property bluetooth.profile.a2dp.source.enabled is already true, but it gets overridden at runtime by the vendor property above.

This explains everything I was seeing. The headphones actually were bonded - pairing at the radio level worked fine - but with no A2DP source profile loaded there is simply no audio path, so the connection never becomes usable. And mice, keyboards and the B21 remote work perfectly because HID runs through HidHostService, which is completely independent of the A2DP role.

The fix (ADB, no root needed)

adb shell setprop persist.sys.nes.bluetooth.sink.enabled false
adb shell settings put global key_bluetooth_a2dp_role false

Then toggle Bluetooth off and on again (or reboot) to reload the stack.

Note that key_bluetooth_a2dp_role lives in the global namespace, not secure - that cost me a bit of time.

Result

  • A2dpSinkService became A2dpService (can now send audio)
  • AvrcpControllerService became AvrcpTargetService
  • HidHostService unchanged - the remote stayed CONNECTED the entire time, as did my keyboard

Right after the stack reloaded, the box tried to establish an A2DP connection to the Sony on its own, which was technically impossible before. Already-bonded headphones do not need to be re-paired. Both changes survive a reboot, since the vendor property is persist.* and the setting lives in global.

Shell can set the vendor property without root, so no Magisk required. And as far as I can tell there is no UI toggle for this anywhere in the settings.

My firmware, in case this is version or batch specific: SW v14.8.8963, build UKG3.250803.001.8963, Android 14.

Two things I'd still like to know:

  1. Can others check their own box? adb shell getprop persist.sys.nes.bluetooth.sink.enabled and adb shell settings get global key_bluetooth_a2dp_role. If some units ship in source mode and others in sink mode, that would explain why Bluetooth headphones work for some people here and not for others.
  2. Has anyone found a way to get this changed permanently through Homatics rather than patching it per device? A single flipped default in the firmware would fix this for everyone.

Credit where it's due: I worked through the diagnosis with Claude Opus over ADB, which is what surfaced the sink/source role in the first place. I had been assuming the A2DP source profile was missing entirely.

reddit.com
u/eleszet — 1 month ago

Homatics Box R 4K Plus – Bluetooth headphones are discovered but never connect. Is A2DP supported at all?

TLDR; Problem solved, A2DP was in sink mode, fixed via ADB (see UPDATE 2)

I recently moved from a Fire TV Stick to a Homatics Box R 4K Plus (Amlogic S905X4, 4GB/32GB, WiFi 6) and lost a feature I used regularly: sending audio to Bluetooth headphones.

**My setup:**

* Homatics Box R 4K Plus, connected via HDMI directly to a Philips 55" TV (not routed through the soundbar)
* Teufel Cinebar Ultima soundbar on the TV via HDMI ARC
* Sony WH-1000XM6 headphones
* Android version: up to date

**The problem:**

The headphones are discovered by the box and appear in the device list, and I can select them – but the connection never actually completes. The box never establishes a connection, and the headphones don't play their usual pairing confirmation tone, so the bond clearly never succeeds. This is not a case of "pairs but no audio" – it never gets that far.

The Bluetooth remote that came with the box works fine, so Bluetooth as such is functional. To me this looks like a stack with HID only and no A2DP source profile: the box finds the headphones via inquiry, then has no supported profile to bind to and gives up.

On the Fire TV Stick this just worked out of the box, and the Chromecast with Google TV supports Bluetooth headphones too, so I don't think this is an Android TV platform limitation.

**What I'd like to know:**

  1. Has anyone got *any* Bluetooth audio device (headphones, earbuds, speaker) to connect to a Box R 4K Plus? Or is A2DP simply absent because Homatics shipped the Amlogic reference config with Bluetooth limited to remotes and gamepads?
  2. If the profile is present in the stack but not exposed properly – has anyone reached it via ADB, developer options, or the AOSP Bluetooth settings activity? I'm comfortable with ADB and already sideload apps on this box.
  3. Alternatively, does anyone have USB audio working as an output on this box? A USB audio dongle would bypass the Bluetooth stack entirely, but I don't know whether the audio policy on this device allows USB as a media output.
  4. Has Homatics ever commented on adding Bluetooth audio in a firmware update?

Happy to run any ADB commands or pull logcat output and report back if that helps narrow it down.

Update
- tested further Bluetooth speaker / headphones, not a single one worked (lg xboom ear buds, jbl charge)
- non-audio devices work fine, mice and keyboards work well
- contacted homatics support

UPDATE 2 - solved

Still no answer from Homatics support. But I got to the bottom of it with ADB, and it turns out this is neither a hardware limitation nor a missing feature - it's a firmware default.

The cause: the box ships with its Bluetooth stack forced into Sink mode

The Box R 4K Plus is configured as a Bluetooth receiver (i.e. a Bluetooth speaker you can stream to from your phone), not as an audio source. Read straight off the device:

persist.sys.nes.bluetooth.sink.enabled = true - vendor override forcing sink mode
settings global key_bluetooth_a2dp_role = true - A2DP role set to sink
Loaded profiles: A2dpSinkService + AvrcpControllerService - receive only
bluetooth.profile.hfp.ag.enabled = false

The telling contradiction: the AOSP property bluetooth.profile.a2dp.source.enabled is already true, but it gets overridden at runtime by the vendor property above.

This explains everything I was seeing. The headphones actually were bonded - pairing at the radio level worked fine - but with no A2DP source profile loaded there is simply no audio path, so the connection never becomes usable. And mice, keyboards and the B21 remote work perfectly because HID runs through HidHostService, which is completely independent of the A2DP role.

The fix (ADB, no root needed)

adb shell setprop persist.sys.nes.bluetooth.sink.enabled false
adb shell settings put global key_bluetooth_a2dp_role false

Then toggle Bluetooth off and on again (or reboot) to reload the stack.

Note that key_bluetooth_a2dp_role lives in the global namespace, not secure - that cost me a bit of time.

Result

  • A2dpSinkService became A2dpService (can now send audio)
  • AvrcpControllerService became AvrcpTargetService
  • HidHostService unchanged - the remote stayed CONNECTED the entire time, as did my keyboard

Right after the stack reloaded, the box tried to establish an A2DP connection to the Sony on its own, which was technically impossible before. Already-bonded headphones do not need to be re-paired. Both changes survive a reboot, since the vendor property is persist.* and the setting lives in global.

Shell can set the vendor property without root, so no Magisk required. And as far as I can tell there is no UI toggle for this anywhere in the settings.

My firmware, in case this is version or batch specific: SW v14.8.8963, build UKG3.250803.001.8963, Android 14.

Two things I'd still like to know:

  1. Can others check their own box? adb shell getprop persist.sys.nes.bluetooth.sink.enabled and adb shell settings get global key_bluetooth_a2dp_role. If some units ship in source mode and others in sink mode, that would explain why Bluetooth headphones work for some people here and not for others.
  2. Has anyone found a way to get this changed permanently through Homatics rather than patching it per device? A single flipped default in the firmware would fix this for everyone.

Credit where it's due: I worked through the diagnosis with Claude Opus over ADB, which is what surfaced the sink/source role in the first place. I had been assuming the A2DP source profile was missing entirely.

reddit.com
u/eleszet — 1 month ago