닌텐도 스위치 모드칩 및 커스텀 펌웨어(커펌) 작업 – 1

일기
이 글은 읽는데 약 6분이 걸립니다.

몇 달 전, 중고거래 플랫폼에 저렴하게 올라온 닌텐도 스위치 두 대를 구매했어요. 하나는 2017년에 생산된 초기형으로, 일명 구구형(뀨형)으로도 불리는 모델이고, 나머지 한 대는 동물의숲 에디션으로, 개선판이에요.

둘 다 잘 갖고 놀다가, 문득 커스텀 펌웨어를 설치하고 싶다는 생각이 들어, 납땜 없이도 커스텀 펌웨어를 설치할 수 있는 초기형 모델부터 작업을 시작했어요.

2017년 생산의 초기형 모델은 닌텐도 스위치의 프로세서인 NVIDIA Tegra X1의 하드웨어 취약점을 통해 조이콘 접점 두 곳을 단락시키는 것으로 간단히 RCM(리커버리 모드)으로 진입, 페이로드를 주입(메모리 오버플로우 공격을 통해 공격자가 원하는 코드를 실행)시키는 것으로 커스텀 펌웨어를 설치할 수 있게 돼요.

(초기형 모델의 커스텀 펌웨어 설치 방법에 대해서는 OpenCourse의 가이드를 참고하세요)

그러나 2018년 7월 이후 모델부터는 해당 취약점이 패치되면서 더이상 RCM 모드에서 페이로드를 주입해도 임의 코드를 실행시킬 수 없게 됐고, 이를 무력화하기 위해 커스텀 펌웨어 개발팀을 비롯한 해커들은 SX Core, HwFly, PicoFly와 같은 모드칩을 개발했어요.

SX Core는 초기에 개발된 모드칩으로, 모드칩 설치 과정도 만만찮은데 더해, 라이선스 비용을 대당 30달러씩 지불해야 했기에 지금은 거의 쓰이지 않아요. SX Core와 SX OS를 개발한 Team Xecuter의 일부 멤버가 닌텐도와의 법정 싸움에서 패한 영향으로 팀이 와해되어, 더이상 개발되지 않기도 하고요.

HwFly와 PicoFly는 둘 다 Raspberry Pi Pico(RP2040)를 사용하여 개발된 모드칩이에요. 그 중 PicoFly는 HwFly의 오픈소스 버전으로, 가격도 조금 더 저렴해요(2024년 12월 알리 기준, 약 1만 2천 원). 이번에 진행한 작업도 PicoFly 모드칩으로 진행했어요.

1. 모드칩 구매

2018년 7월 이후에 생산된 모델은 전부 모드칩이 필요하니, 모드칩을 구매하세요.

저는 알리익스프레스에서 구매했는데, 구매 당시 약 7달러에 구매할 수 있었어요. 2개 이상 구매하면, 더 저렴하게 구매할 수 있어요.

알리에서 모드칩 구매
도착한 모드칩 (1)
도착한 모드칩 (2)

2. 본체 분해

모드칩을 설치하기 위해 스위치 본체를 분해해요. iFixit의 분해 가이드를 참고하세요.

CPU 쉴드캔까지 제거했어요.

3. 모드칩 설치

SP1과 SP2 부분의 동박에 미리 납을 묻혀 두고..

자리를 잡고..

캡톤 테이프로 고정한 다음, 조심스럽게 두 개의 캐패시터의 양쪽 접점에 아까 묻혀둔 납을 연결해 주세요.

납의 양이 좀 많긴 하지만, 잘 된 것 같아요. 납땜 과정에서 과열로 인해 캐패시터가 고장이 나지 않았는지, 이대로 스위치의 전원을 켜 볼게요.

잘 켜지네요. 만약 과열로 인해 캐패시터가 고장났거나 떨어져 나간다면, 부팅에 실패하는 현상이 발생해요.

플렉스 케이블과 낸드 모듈을 PicoFly 모드칩에 연결하고, 그대로 전원을 켜 주세요.

이 화면이 뜨면 모드칩 설치에 성공한 거예요!

4. 본체 조립

조립은 분해의 역순.. 부지런히 조립해주세요.

모드칩이 들어갈 자리에 알맞게 방열판을 잘라주세요. 멀쩡한 방열판을 잘라야 하는 게 마음 아프지만, 어쩔 수 없어요.

조립이 끝났어요! ‘No SD Card’라는 메시지도 잘 뜨네요. 이걸로 모드칩 설치는 끝이에요.
이제 microSD 카드에 Atmosphere 커스텀 펌웨어를 넣고, 다시 부팅해 주세요.

그런데..

성공적으로 Hekate에 진입한 모습이에요. 이후에는 일반적인 CFW 설치 절차를 따라 진행하시면 돼요.

그런데.. 에뮤낸드를 구성하기 전에 시스낸드로 부팅해보니, 이상한 점을 발견했어요.

바로, 와이파이와 블루투스를 사용할 수 없게 된 거예요.

왜 이런 문제가 발생할까.. 고민하면서, 에러 코드(2110-1118)를 구글에 검색해 봤어요.

스위치의 마더보드에 와이파이와 블루투스를 담당하는 칩셋을 리볼링하여 교체해야 한다는 수리 방법이 보였지만, 아무리 생각해봐도 모드칩을 설치하는 과정에서 와이파이 모듈 근처는 건드리지도 않았는데 그쪽이 고장났다는 것이 도저히 이해가 가지 않았어요.

그래서 조금 더 찾아봤더니,

프로세서 좌측 아주 가까이에 있는 0201 규격의 캐패시터 두 개가, 쉴드캔을 벗기는 과정에서 손상을 입기 매우 쉽다는 게시글을 발견했어요.

설마 하면서 쉴드캔을 제거했을 때 찍은 사진을 다시 살펴보니..

캐패시터 두 개 중 하나가 날아가버렸다는 사실! 오른쪽 아래에, 날아간 캐패시터 한 개가 보이시나요?

문제의 원인이 이것임을 확신하고, 방금 조립한 스위치를 다시 분해하기 시작했어요.
그런데..

스위치의 조이콘 레일 부분의 가운데 나사가 마모되어, 나사를 풀 수 없는 상태가 되어버렸어요..
사진은 어떻게든 풀어보겠다고 드라이버 비트와 나사를 순간접착제로 붙이고 말리는 상황..

물론, 어림도 없이 실패해 버렸어요.

마모된 나사를 푸는 방법을 구글에 검색해 봤는데, 지금 상황에 유효해 보이는 방법은 그라인더로 나사의 헤드를 1자로 갈아내고 1자 드라이버로 돌려 빼내는 방법..

하지만 전동 그라인더가 있을리가 없었고, 가장 단순하게 커터칼로 나사를 계속 긁어내어 1자로 모양을 내보기로 했어요.

결과는 대성공! 전자기기의 나사를 조일 때는 너무 세게 조이지 않도록 주의합시다..

이제 떨어진 캐패시터만 붙이면 되는데..

결과는 보시다시피 그나마 붙어 있던 2개 중 1개의 캐패시터마저 날아가 버렸고, 게다가 이번에는 아예 캐패시터를 잃어버렸어요.

먼지만큼 작은 크기의 0201 규격 캐패시터를 도저히 찾을 수 없어서, 알리익스프레스에서 0201 캐패시터 100개를 주문했어요.

모드칩의 설치는 한 번만에 성공했지만, 쉴드캔을 벗기는 과정에서 제 부주의로 캐패시터가 날아가 와이파이/블루투스를 사용할 수 없는 현 상황..

와이파이와 블루투스를 사용할 수 없는 것 말고는, 커스텀 펌웨어의 모든 기능이 정상적으로 작동하는 점은 다행이네요.

알리에서 주문한 캐패시터 100개가 도착하면, 2편은 그 수리기를 작성하도록 할게요!

2편 보러가기