홈으로 돌아가기

ADB와 리버스 엔지니어링을 통한 HY-300 프로젝터 밝기 잠금 해제

Rockchip RK3326의 HY-300 프로젝터 최대 밝기 잠금 해제 기술 가이드: ADB와 펌웨어 리버스 엔지니어링을 통한. 루트 액세스 획득, dm-verity 비활성화, gamma LUT 편집 및 testgamma 매개변수 최적화 방법을 설명하여 전체 디스플레이 밝기를 복원합니다.

최대 밝기 HY-300: Rockchip 펌웨어 리버스 엔지니어링
Advertisement 728x90

# HY-300 프로젝터 최대 밝기 해제: ADB와 Rockchip 펌웨어 역공학

저가 프로젝터 제조사들은 밝기를 인위적으로 제한하며 사용자 조절 옵션을 숨깁니다. Rockchip RK3326 기반 HY-300을 예로 들어 ADB를 통해 루트 권한 획득, dm-verity 비활성화, 감마 LUT 조정을 통해 완전한 디스플레이 밝기를 되찾는 방법을 보여드리겠습니다.

하드웨어 플랫폼 분석과 문제점

HY-300 프로젝터는 Rockchip RK3326 SoC와 Android TV OS로 구동됩니다. 주요 문제? 인터페이스에 밝기 조절 기능이 전혀 없습니다. 부팅 직후 밝기가 급격히 떨어져 실제 잠재력의 약 70% 수준에 머무릅니다. 깊이 파헤쳐보니 Android 표준 백라이트 제어가 작동하지 않았습니다: 디바이스 트리의 백라이트 노드가 잘못 설정되어 PWM 채널 바인딩이 없습니다.

실패한 시도들:

Google AdInline article slot
  • 설정에서 screen_brightness 조정
  • 시스템 속성 변경 (persist.vendor.brightness.main)
  • /sys/class/leds/Lcd_power 직접 제어
  • SurfaceFlinger 색상 매트릭스 명령

ADB 연결과 루트 권한 획득

USB 연결 시 전원 충돌이 발생해 Wi-Fi ADB가 유일한 안정적 방법입니다. Android TV에서 개발자 모드는 OS 버전 탭으로 활성화되지만, 이 펌웨어는 ADB와 루트가 기본 제공됩니다.

adb connect <프로젝터 IP>:5555
adb root

연결 후 /system과 /vendor 파티션이 dm-verity로 잠겨 쓰기가 불가능했습니다. 해결: adb disable-verity 한 번 실행 후 재부팅. 이렇게 overlayfs가 활성화되어 시스템 파티션을 편집할 수 있게 됩니다.

밝기 제어 메커니즘 추적

부팅 로그에서 시작 시 실행되는 testgamma 서비스를 발견했습니다. /system/bin/testgammatx.sh 스크립트에 감마 보정에 직접 영향을 미치는 파라미터가 있습니다:

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

testgamma 도구는 DRM ioctl을 통해 VOP 비디오 프로세서에 룩업 테이블(LUT)을 직접 씁니다. 하지만 밝기, 대비, 채도, 색상? 가짜입니다—RK3326의 VOP Lite는 BCSH DRM 속성을 지원하지 않습니다. 진짜 핵심은:

  • wb_r, wb_g, wb_b — 화이트 밸런스 계수 (0.0–1.0), 각 색상 채널별 밝기 배율.
  • target_gamma, native_gamma — 감마 곡선 형성, 어두운 톤에 영향.

변경 사항 적용을 위한 재부팅 필요성

testgamma 서비스는 SurfaceFlinger와 HWC(hwcomposer) 전에 실행됩니다. HWC가 DRM 디바이스를 장악하고 매 프레임마다 VOP 설정을 덮어쓰기 때문에 런타임 testgamma 호출은 무효화됩니다. 스크립트 편집 후 재부팅이 유일한 방법입니다.

최대 밝기 최적화 파라미터

각 재부팅 후 체계적 테스트로 최적값을 찾았습니다. 공장 설정은 녹색/청색 계수(0.96/0.95) 하향과 target_gamma=1.8 vs native_gamma=2.9로 출력이 어두워졌습니다.

Google AdInline article slot

테스트 결과:

  • wb_r/g/b = 0.1, target_gamma=2.2 — ~10% 밝기
  • wb_r/g/b = 0.5, target_gamma=1.8 — ~50% 밝기
  • wb_r/g/b = 1.0, target_gamma=1.0 — 최대 밝기지만 색상 반전
  • wb_r/g/b = 1.0, target_gamma=1.6 — 이상적 밝기와 색상 균형

단계별 설정 가이드

RK3326 기반 HY-300 (TXCZ 펌웨어) 사용자들을 위해:

1. 준비와 연결:

PC에 Android Platform Tools 설치, 프로젝터 IP 확인. 실행:

adb connect <IP>:5555
adb root

2. dm-verity 비활성화 (1회):

adb disable-verity
adb reboot

완전 부팅 후 재연결.

3. 최대 밝기 설정:

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. 공장 설정 복원:

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

주요 요점

  • ADB와 루트 기본 활성화 — 해킹에 큰 장점.
  • 핵심 밝기 제어 — testgamma가 VOP에 쓰는 감마 LUT.
  • 재부팅 필수 — HWC가 런타임 설정을 무시.
  • 최적 파라미터: wb_r/g/b = 1.0, target_gamma = 1.6 (native_gamma = 2.9).
  • 유사 Rockchip 기기에도 적용 가능.

개발자 교훈

이 사례는 저가 Android 기기의 흔한 함정(디바이스 트리 설정 오류, 구식/비공식 하드웨어 제어 의존)을 드러냅니다. DRM, 감마 LUT, overlayfs 마스터하면 문제를 고치고 임베디드 시스템을 분석할 수 있습니다. 다른 SoC에서는 접근법을 조정하세요—로그 분석, 서비스 역공학, 디버그 인터페이스는 보편적입니다.

— Editorial Team

Advertisement 728x90

다음 읽기