The Samsung Galaxy S8 (SM-G950F / dreamlte) is deployed as a stationary living-room media and desktop appliance connected to a TV over a USB-C HDMI hub. It outputs native 1920×1080 @ 60 Hz video with Samsung DeX desktop mode and multi-channel PCM audio over HDMI.
Recovering this device for continuous stationary operation required two distinct fixes: a hardware resistor modification to clear a bootloader thermistor lockout, and a systemless AudioPolicy configuration patch to restore HDMI audio output on custom OneUI Q ROMs.
Hardware & Software Profile
| Field | Specification |
|---|---|
| Model | Samsung Galaxy S8 (SM-G950F / dreamlte) |
| SoC | Samsung Exynos 8895 (universal8895, Octa-core aarch64) |
| RAM / Storage | 4 GB LPDDR4X / 64 GB UFS 2.1 |
| ROM | hadesRom OneUI Q v3.0 (Android 10, QP1A.190711.020) |
| Kernel | 4.4.302-hadesKernel-v2.5.18-dreamlte |
| Root & Recovery | Magisk v25.2 (25200), TWRP Recovery |
| Display Output | 1920×1080 @ 60 Hz over USB-C DisplayPort Alt Mode → HDMI |
Subsystem Status
| Subsystem | Mechanism / Driver | Status | Notes |
|---|---|---|---|
| Boot & Thermal Lockout | 100 kΩ NTC replacement resistor | Working | Bypasses missing/damaged NFC & wireless-charging coil thermistor |
| USB-C DisplayPort / HDMI | sec_displayport + DeX Desktop |
Working | Full 1920×1080 @ 60 Hz desktop output on external display |
| HDMI Audio Output | audio_policy_configuration_sec.xml overlay |
Working | Routes AUDIO_DEVICE_OUT_AUX_DIGITAL (0x400) through primary_out |
| Root & Service Persistence | Magisk v25.2 systemless overlay |
Working | Survives reboots without modifying /vendor directly |
| Wi-Fi & Bluetooth | Broadcom BCM4361 | Working | Used for LAN media streaming and wireless keyboard/mouse |
Hardware Fix: 100 kΩ Wireless-Charging Coil NTC Bypass
On the Galaxy S8, the wireless charging / NFC flex assembly houses a 100 kΩ Negative Temperature Coefficient (NTC) thermistor monitored by the PMIC and bootloader during pre-boot and charging checks. When the wireless charging coil flex is missing or its thermistor trace is open-circuit, the ADC reads an extreme out-of-range temperature fault and refuses to charge or complete boot.
Solution
Instead of requiring the full wireless-charging backplate assembly in a ventilated stationary enclosure:
- Located the wireless-charging NTC thermistor contact pad on the motherboard and a nearby ground (
GND) reference pad. - Soldered a fixed 100 kΩ resistor between the NTC signal pad and
GND, simulating a continuous nominal room temperature (~25 °C). - The bootloader and PMIC thermal checks pass immediately, allowing reliable unattended startup.
Software Fix: Restoring DeX / HDMI Audio on hadesRom Q
Symptom
When connected to a TV via a USB-C HDMI hub, video output (1920×1080p60) and Samsung DeX initialized normally, but all audio continued playing through the phone's internal speaker instead of the TV.
Root Cause Analysis
Inspecting dumpsys media.audio_policy and logcat -b all | grep -iE "APM_AudioPolicyManager|displayport" during HDMI hotplug revealed:
- The kernel DisplayPort driver detected the HDMI audio sink and notified
AudioPolicyManagerto connect device0x400(AUDIO_DEVICE_OUT_AUX_DIGITAL). setDeviceConnectionStateInt()rejected the connection withcheckOutputsForDevice(): No output available for device 0400.- On Samsung's Exynos 8895 audio HAL,
AudioPolicyManagerloads/vendor/etc/audio_policy_configuration_sec.xml(not the generic AOSP/vendor/etc/audio_policy_configuration.xml). - Inside
audio_policy_configuration_sec.xml, theAudio OutdevicePort (AUDIO_DEVICE_OUT_AUX_DIGITAL) was declared under<devicePorts>, and<route sink="Audio Out" sources="primary_out,fast,deep_buffer,..."/>existed under<routes>, butAudio Outwas missing from the<attachedDevices>list only on the active MixPorts (primary_outonly routed toEarpiece,Speaker,BT SCO, etc. in the active profile without exposing a dedicatedhdmimixPort or allowingprimary_outto openAudio Out).
Reversible Magisk Overlay
To fix routing without dirtying the read-only /vendor partition, a Magisk module (/data/adb/modules/dex_hdmi_audio_fix/system/vendor/etc/audio_policy_configuration_sec.xml) overrides the policy at boot:
- Added
<item>Audio Out</item>to the<routes>source list forprimary_out(AUDIO_OUTPUT_FLAG_PRIMARY) anddeep_buffer. - Restarted
audioserver(killall audioserver).
Verification via dumpsys media.audio_policy confirmed availableOutputDevices includes AUDIO_DEVICE_OUT_AUX_DIGITAL (0x400) and media playback routes 48 kHz 16-bit stereo PCM cleanly over HDMI.
Device Tags: