핵심 요약
- 어머니의 옛 필름을 스캔하려던 개발자가 새로 산 스캐너가 리눅스를 지원하지 않자 AI(Claude)를 활용해 드라이버 제작에 도전했습니다.
- 윈도 VM에서 기기를 돌리며 USB 트래픽을 가로채고, AI가 수천 줄의 헥스 덤프를 비교 분석하도록 시켜 단 며칠 만에 고성능 드라이버를 완성했습니다.
- 지루한 리버스 엔지니어링 노가다를 AI로 해결하는 범용 도구(hw-harness)를 공개하며 노트북 내장 웹캠 패치까지 하루 만에 끝냈습니다.
요약 어머니가 세상을 떠난 뒤 어린 시절 가족 여행 사진 등이 담긴 필름 네거티브 상자를 물려받은 한 개발자가 이를 스캔하기 위해 리눅스를 지원한다고 알려진 필름 스캐너(Plustek 8200i)를 구매했습니다. 하지만 제조사에서 칩셋을 변경하는 바람에 리눅스에서 전혀 작동하지 않는 난관에 봉착했습니다. 처음에는 Claude Code를 활용해 리눅스용 SANE 드라이버를 직접 만들어보려 했으나 벽에 부딪혀 몇 달간 프로젝트를 포치했습니다.
그러던 중 X(구 트위터)에서 유명 리눅스 게이밍 개발자 'Glorious Eggroll'(Tom Crider)이 AI 도구에게 윈도 가상머신(VM) 제어권을 쥐어주고 필요한 데이터를 캡처해 마우스 드라이버를 고쳤다는 글을 접했습니다. 작성자는 이 방식을 그대로 벤치마킹해 Claude에게 윈도 가상머신을 구축하고 스캐너를 돌리며 USB 패킷 데이터를 수집하는 환경을 짜달라고 요청했습니다. 리눅스 호스트에서 usbmon으로 가상머신 외부에서 USB 트래픽을 가로챈 뒤, 리눅스 자체 드라이버와 윈도 드라이버의 차이점을 diff로 비교해 버그를 찾아내는 방식이었습니다.
결과는 대성공이었습니다. 몇 시간 만에 리눅스에서 첫 스캔에 성공했고, 며칠 뒤에는 적외선(IR) 스캔 및 먼지·스크래치 제거 기능까지 들어간 고성능 드라이버를 완성했습니다. 비록 몇 달 쉬는 사이 공식 SANE 프로젝트에도 해당 칩셋 지원 코드가 올라오는 해프닝이 있었지만, 그가 만든 드라이버는 전체 해상도 스캔 속도가 34.6초로 공식 드라이버(54.4초)보다 빨랐습니다.
스캐너에 성공한 그는 노트북의 골칫거리였던 미피(MIPI) 내장 웹캠 드라이버에도 동일한 기법을 적용해 하루 만에 커널 패치와 libcamera 패치를 뽑아냈습니다. 작성자는 수천 줄의 16진수 헥스 덤프를 쳐다보며 반복 패턴을 분석하는 지루한 리버스 엔지니어링 작업이야말로 지치지 않는 AI에게 가장 잘 맞는 영역이라며, 다른 사용자들도 활용할 수 있도록 'hw-harness'라는 범용 테스트 도구로 정리해 공개했습니다.
Sponsored · 광고