Zurück zur Startseite

Freischalten der Helligkeit des HY-300-Projektors über ADB und Reverse Engineering

Technischer Leitfaden zum Freischalten der maximalen Helligkeit des HY-300-Projektors auf Rockchip RK3326 über ADB und Firmware-Reverse Engineering. Beschreibt Methoden zum Erhalten von Root-Zugriff, Deaktivieren von dm-verity, Bearbeiten der gamma LUT und Optimieren der testgamma-Parameter, um die volle Anzeigehelligkeit wiederherzustellen.

Maximale Helligkeit HY-300: Rockchip-Firmware-Reverse Engineering
Advertisement 728x90

Maximale Helligkeit beim HY-300-Projektor freischalten: ADB und Rockchip-Firmware-Reverse-Engineering

Bei Billigprojektoren wird die Helligkeit oft künstlich gedrosselt, ohne dass Nutzeroptionen zur Verfügung stehen. Am Beispiel des HY-300 mit Rockchip RK3326 zeigen wir, wie ihr Root-Zugriff über ADB erlangt, dm-verity deaktiviert und die Gamma-LUT anpasst, um die volle Display-Helligkeit wiederherzustellen.

Hardware-Plattform-Analyse und das Problem

Der HY-300-Projektor basiert auf dem Rockchip RK3326 SoC mit Android TV OS. Das Hauptproblem? Fehlende Helligkeitsregler in der Oberfläche. Die Helligkeit fällt direkt nach dem Start auf etwa 70 % des echten Potenzials ab. Bei genauerer Untersuchung stellte sich heraus, dass die Standard-Backlight-Steuerung von Android nicht funktioniert: Der Backlight-Knoten im Device Tree ist falsch konfiguriert, ohne PWM-Kanal-Zuordnung.

Was wir vergeblich ausprobiert haben:

Google AdInline article slot
  • Bildschirmhelligkeit über Einstellungen anpassen
  • Systemeigenschaften ändern (persist.vendor.brightness.main)
  • Direkte Steuerung über /sys/class/leds/Lcd_power
  • SurfaceFlinger-Befehle für Farbmatrix

ADB-Verbindung und Root-Zugriff erlangen

USB-Verbindungen führen zu Stromkonflikten, daher ist ADB über Wi-Fi der einzige zuverlässige Weg. Bei Android TV aktiviert man den Entwicklermodus durch Tippen auf die OS-Version, hier waren ADB und Root jedoch direkt verfügbar.

adb connect <Projektor-IP>:5555
adb root

Nach der Verbindung waren /system- und /vendor-Partitionen durch dm-verity gesperrt und schreibgeschützt. Die Lösung: Einmalig adb disable-verity ausführen, dann neu starten. Dadurch wird overlayfs aktiviert und Systempartitionen editierbar.

Auf der Jagd nach dem Helligkeitssteuerungsmechanismus

Boot-Logs deuteten auf einen testgamma-Dienst hin, der beim Start läuft. Dessen Skript unter /system/bin/testgammatx.sh enthält Parameter, die die Gamma-Korrektur direkt beeinflussen:

Google AdInline article slot
testgamma --wb_r 1.0 --wb_g 0.96 --wb_b 0.95 --contrast 58 --brightness 30 --saturation 80 --hue 35 --target_gamma 1.8 --native_gamma 2.9

Das testgamma-Tool schreibt eine Look-Up Table (LUT) direkt in den VOP-Videoprocessor über DRM-ioctl. Helligkeit, Kontrast, Sättigung und Farbtönung? Platzhalter – der RK3326 VOP Lite unterstützt diese DRM-Eigenschaften (BCSH) nicht. Die echten Steuerungselemente sind:

  • wb_r, wb_g, wb_b — Weißabgleich-Koeffizienten (0.0–1.0), die als Helligkeitsmultiplikatoren pro Farbkanal wirken.
  • target_gamma, native_gamma — formen die Gamma-Kurve und beeinflussen dunkle Töne.

Warum Änderungen einen Neustart erfordern

Der testgamma-Dienst läuft vor SurfaceFlinger und HWC (hwcomposer). HWC übernimmt das DRM-Gerät und überschreibt VOP-Einstellungen bei jedem Frame, wodurch Laufzeit-Änderungen von testgamma wirkungslos werden. Skript bearbeiten und neu starten ist der einzige Weg, um Änderungen dauerhaft zu machen.

Parameter für maximale Helligkeit optimieren

Systematische Tests nach jedem Neustart ergaben den optimalen Punkt. Werksseitige Einstellungen drosselten die Ausgabe doppelt: geschwächte Grün-/Blau-Koeffizienten (0.96/0.95) und target_gamma=1.8 gegenüber native_gamma=2.9.

Google AdInline article slot

Test-Ergebnisse:

  • wb_r/g/b = 0.1, target_gamma=2.2 — ~10 % Helligkeit
  • wb_r/g/b = 0.5, target_gamma=1.8 — ~50 % Helligkeit
  • wb_r/g/b = 1.0, target_gamma=1.0 — maximale Helligkeit, aber umgekehrte Farben
  • wb_r/g/b = 1.0, target_gamma=1.6 — ideale Helligkeit und Farbbalance

Schritt-für-Schritt-Anleitung

Für HY-300-Besitzer mit RK3326 (TXCZ-Firmware) so vorgehen:

1. Vorbereitung und Verbindung:

Android Platform Tools auf dem PC installieren, IP des Projektors ermitteln. Ausführen:

adb connect <IP>:5555
adb root

2. dm-verity deaktivieren (einmalig):

adb disable-verity
adb reboot

Auf vollständigen Start warten und neu verbinden.

3. Maximale Helligkeit einstellen:

adb shell mount -o remount,rw /system
adb shell "echo '#!/system/bin/sh\ntestgamma --wb_r 1.0 --wb_g 1.0 --wb_b 1.0 --contrast 58 --brightness 50 --saturation 80 --hue 35 --target_gamma 1.6 --native_gamma 2.9' > /system/bin/testgammatx.sh"
adb reboot

4. Auf Werkseinstellungen zurücksetzen:

adb shell mount -o remount,rw /system
adb shell "echo '#!/system/bin/sh\ntestgamma --wb_r 1.0 --wb_g 0.96 --wb_b 0.95 --contrast 58 --brightness 30 --saturation 80 --hue 35 --target_gamma 1.8 --native_gamma 2.9' > /system/bin/testgammatx.sh"
adb reboot

Wichtige Erkenntnisse

  • ADB und Root standardmäßig aktiviert in dieser Firmware – großer Vorteil für Bastler.
  • Zentrale Helligkeitssteuerung über Gamma-LUT, die testgamma in VOP schreibt.
  • Neustart erforderlich, da HWC Einstellungen zur Laufzeit überschreibt.
  • Optimale Parameter: wb_r/g/b = 1.0, target_gamma = 1.6 (native_gamma = 2.9).
  • Funktioniert für andere Rockchip-Geräte mit ähnlicher Konfiguration.

Lektionen für Entwickler

Dieser Fall zeigt typische Fallstricke bei Billig-Android-Hardware: fehlerhafte Device-Tree-Konfigs, Abhängigkeit von veralteten oder undokumentierten Hardwaresteuerungen. Kenntnisse in DRM, Gamma-LUTs und overlayfs ermöglichen Fixes und tiefe Analysen eingebetteter Systeme. Für andere SoCs die Methode anpassen – aber Log-Analyse, Dienst-Reverse-Engineering und Debug-Schnittstellen sind universell.

— Editorial Team

Advertisement 728x90

Weiterlesen