핵심 요약
- 아이팟 클래식 커스텀 펌웨어 락박스(Rockbox)에서 문서 부재로 15년간 방치됐던 이어폰 줄 리모컨 기능이 리버스 엔지니어링을 통해 해결되었습니다.
- 개발자는 16년 전 고대 웹 아카이브를 뒤지고 레지스터 값 256개를 직접 전수 조사한 끝에 비공개 칩(Mikey)의 동작 방식을 밝혀냈습니다.
- 현재 재생/일시정지 및 볼륨 조절이 모두 작동하는 커스텀 빌드가 배포되었으며 공식 락박스 코드 병합을 앞두고 있습니다.
요약 아이팟 클래식(6~7세대)에서 오픈소스 커스텀 펌웨어인 락박스(Rockbox)를 사용하는 유저들에게 오랜 숙원이던 애플 번들 이어폰 리모컨 기능이 15년 만에 리버스 엔지니어링으로 구현되었습니다. 락박스는 2011년부터 자원봉사자들의 역공학으로 아이팟의 재생, 클릭휠, 녹음 기능 등을 살려냈지만 이어폰 줄에 달린 리모컨 버튼(재생/일시정지 및 볼륨 조절)은 관련 문서가 전무해 개발 우선순위에서 밀려 방치되어 있었습니다.
아이팟 클래식 내부에는 이어폰 잭을 제어하고 리모컨 신호를 디코딩하는 '마이키(Mikey, I2C 주소 0x72)'라는 애플 비공개 칩이 탑재되어 있습니다. 이 칩은 공개 문서가 단 한 줄도 없었고, 과거 프로젝트나 macOS 커널 확장 파일(AppleMikeyDriver.kext)에도 이름만 존재할 뿐 내부 레지스터 규격은 밝혀지지 않은 상태였습니다.
개발자는 16년 전 사라진 블로그의 위키 미러 사이트와 깃허브 아카이브를 찾아내 단서를 얻었습니다. 이어폰 리모컨은 복잡한 시리얼 통신이 아니라 마이크 라인의 전압 강하(쇼트 및 저항 부하)로 동작하는 단순한 방식이었습니다. 이를 바탕으로 개발자는 기기에서 칩의 모드 레지스터 256개 값을 일일이 대입(브루트 포스)하는 과정을 거쳐 버튼 신호 보고를 활성화하는 값(0x2f)을 찾아냈습니다.
이후 하드웨어의 절전 및 지연 버그를 우회하는 드라이버를 개발해 락박스 공식 Gerrit(코드 리뷰 7677)에 제출했으며, 아이팟 클래식 6세대와 7세대 유저가 바로 적용해 이어폰의 3개 버튼을 모두 정상 사용할 수 있도록 빌드 파일(ipod6g-mikey-v1)을 배포했습니다.
Sponsored · 광고