Osegi
하드웨어·2 분 소요

Switch 2 독을 40유로 USB-C 허브로 흉내 낸 방법

40유로짜리 USB-C 허브로는 Switch 2 화면이 TV에 나오지 않습니다. 펌웨어에 약 540바이트를 더하자 공식 독처럼 응답했습니다.

A Nintendo Switch 2 connected to a TV through a small USB-C hub and cables on a desk
이미지: Хабр

Switch 2는 일반 USB-C 허브로 충전은 되지만 TV에는 화면이 나오지 않습니다. 한 사용자가 40유로짜리 허브의 펌웨어에 약 540바이트의 코드를 추가해 이 "Switch 2 독" 문제를 풀었습니다.

그는 여행 때 공식 독을 들고 다니기 싫었다고 합니다. 부피가 크고 약해 보이기 때문입니다. 마침 Cable Matters 7-in-1 허브(최대 60W, 모니터 3대 지원)가 있었고, 친구에게 받은 USB-PD 스니퍼(WITRN K2)로 콘솔이 무엇을 확인하는지 들여다봤습니다.

Switch 2가 일반 허브에서 TV 모드로 가지 않는 이유

기본 펌웨어에서도 Switch는 전력 협상을 하고 DisplayPort Alt Mode까지 들어갑니다. 그래도 TV 모드는 켜지지 않았습니다. 공식 독이 USB-PD 위에서 Nintendo 전용 절차를 거치기 때문입니다. 독은 Nintendo 기기(VID 057E, 제품 2062)로 자신을 소개하고, 고유 SVID 057E를 알리며, 콘솔이 보내는 벤더 정의 메시지에 답합니다.

허브의 PD 컨트롤러는 VL103이고, 32KiB 펌웨어를 가진 8051 마이크로컨트롤러입니다. 그는 비어 있는 영역에 핸들러를 넣어 Nintendo 메시지에만 응답하고 나머지는 기존 코드에 맡겼습니다. 하나씩 바꿔 보니 벤더 ID만으로는 부족했고, Switch는 식별 정보를 더 넓게 확인했습니다. 공급 전력도 공식 독처럼 15V/2.8A로 맞췄습니다(기존 허브는 2.53A). 응답의 버전 정보는 공식 독에서 복사한 값이며 이 허브의 실제 버전이 아닙니다. 모르는 명령에는 여전히 "Not supported"가 갑니다.

HDR을 켜면 색이 바래는 문제

TV 모드는 동작했지만 HDR을 켜자 색이 눈에 띄게 흐렸습니다. 같은 모니터, 같은 게임에서 공식 독은 정상이었습니다. 디스플레이, RGB 범위, PD 트래픽은 원인이 아니었고, Linux PC는 같은 허브로 HDR이 제대로 나왔습니다.

의심은 RTD2142 칩(여기서는 DP→HDMI 변환)으로 향했습니다. HDMI 쪽 AVI InfoFrame의 색 정보는 BT.709로 되어 있었습니다. 그는 이 칩의 펌웨어도 읽어 냈습니다. 원문 제목에 따르면 HDR 수정에는 약 108바이트가 쓰였습니다.

주목할 만한 앱

SUMO: 숫자 퍼즐

올바른 칸을 고르고 더해 목표 숫자를 맞추세요. 배우긴 쉽고 마스터하긴 어렵습니다. 무료, 전 연령.

태그:nintendo switch 2usb-c hubfirmwareusb-pdreverse engineeringhdr

같은 날의 다른 뉴스

전체 보기 →

관련 카테고리: 하드웨어

전체 보기 →