헤드셋 동글이 고장 났길래, Codex GPT-6로 레이저의 HyperSpeed 프로토콜을 리버스 엔지니어링해서 ESP32-S3 두 개로 대체품을 만들었습니다
My headset dongle died. Codex GPT-6 reverse-engineered Razer's HyperSpeed protocol and built a replacement from two ESP32-S3s
핵심 요약
고장 난 레이저 헤드셋 동글을 AI의 도움을 받아 ESP32-S3 보드 두 개로 직접 복구해낸 성공 사례입니다.
- 동글 복구 — 고장 난 레이저 전용 동글을 ESP32-S3 보드 2개로 대체함
- AI 활용 — Codex GPT-6가 프로토콜 분석 및 펌웨어 개발을 주도함
- 기능 구현 — 스테레오 재생, 마이크 입력, 볼륨 조절 등 기존 기능 완벽 지원
- 오픈 소스 — 제작 방법과 소스 코드를 깃허브에 공개함
사진에 보이는 이 쪼끄만 보드 두 개가 이제 내 헤드셋 동글이다. USB 케이블 하나만 꽂으면 리눅스 데스크탑에서 스테레오 재생, 마이크 입력, 볼륨 휠 조절, 마이크 음소거, 재생/일시정지까지 다 된다.
내 Blackshark V2 헤드셋 원래 동글이 맛이 가버렸다. 레이저(Razer)는 교체도 안 해주고 새로 팔지도 않더라. 덕분에 헤드셋은 멀쩡한데 'HyperSpeed' 연결을 쓸 방법이 없어진 상황이었지.
그래서 Codex GPT-6한테 좀 무리한 질문을 던져봤다. 우리 동글을 직접 만들 수 있을까?
원래 리시버가 아직 작동할 때 패킷을 캡처하고, 펌웨어랑 페어링 데이터를 덤프 뜬 다음, 이 독자적인 무선 링크가 어떻게 돌아가는지 파헤쳤다. 프로토콜 분석이랑 펌웨어 개발은 Codex가 거의 다 했다. 나는 하드웨어 갖다 바치고, 납땜하고, 보드에 펌웨어 굽고, 변경 사항 적용할 때마다 소리가 나는지 노이즈가 끼는지 확인하는 테스트 담당이었다.
그 결과물이 사진에 있는 저 작은 스택이다. S3 Supermini가 USB랑 무선 통신을 담당하고, S3-Zero가 SPI를 통해 오디오 인코딩이랑 마이크 디코딩을 처리한다. USB 케이블 하나로 이 스택을 PC에 연결하면 표준 스테레오 출력, 모노 마이크 입력, 그리고 HID 장치로 인식된다. 헤드셋 볼륨 휠, 마이크 음소거 스위치, 재생/일시정지 버튼도 다 작동한다. 처음엔 S3 하나로 코덱 작업, USB, 무선 스케줄링까지 다 하려니까 타이밍 예산을 계속 초과해서 결국 두 개를 샌드위치처럼 쌓아 올리게 됐다.
이건 헤드셋의 HyperSpeed 연결 방식이지, 흔해 빠진 블루투스 핸즈프리 모드를 쓰는 꼼수가 아니다. 우리가 직접 만든 리시버에서 4음짜리 멜로디가 처음 흘러나왔을 때 진짜 기가 막히더라. PC 오디오 소리가 제대로 들릴 때는 더 짜릿했고.
수많은 실험과 패킷 캡처, 측정, 펌웨어 수정을 거쳤다. 리버스 엔지니어링이랑 구현을 Codex가 얼마나 많이 해냈는지 지금 생각해도 어이가 없을 정도다.
소스랑 빌드 방법은 여기 공개해 뒀다: Open ULL Receiver. 아직은 본인이 가지고 있는 기존 페어링 데이터가 필요한 실험적인 프로젝트다.

