ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 넷기어 R7000-100PAS 유무선 공유기 - 2. 커스텀 펌웨어 적용 실패 및 복구기(USB-TTL 사용)
    지름신강림/PC,노트북,모바일 2019. 4. 7. 11:00
    하단 광고는 티스토리가 임의 삽입하여 노출되고 있습니다
    728x90

    -------------------------------------------------------------------

    넷기어 R7000-100PAS 유무선 공유기 - 1. 배송 및 박스 구성

    넷기어 R7000-100PAS 유무선 공유기 - 2. 커스텀 펌웨어 적용 실패 및 복구기(USB-TTL 사용) <--- 이번 이야기

    넷기어 R7000-100PAS 유무선 공유기 - 3. 설치 및 환경설정

    -------------------------------------------------------------------

     

    직전에 '공유기 받았다!' 는 글을 적고 거의 2주가 지났네요.

    어느정도 정리하고 나서 적으려고 미루고 있었는데, 공유기를 박스에서 꺼내 설치한 날에 커스텀 펌웨어 올리다가 공유기가 부팅불가 상태에 빠졌었습니다.

     

    다행히 해법은 있었습니다.

    공유기 기판에 있는 시리얼 포트를 쓰는 방법이었는데, 방법이 잘 설명된 글도 있더군요.

    발견한 날에 주문한 USB-TTL 컨버터가 도착하는데 1주일 정도가 걸려, 먹통되고 열흘 가까이 지나서야 다시 셋팅을 할 수 있게 되었습니다.

     

    이번 글에서는 당시 어떤 조건에서 부팅불가(벽돌) 상태가 됐는지, 또 어떻게 복구했는지 과정을 정리하겠습니다.

     

    아래에는 1200 x 800 사진 11장과 기기 캡쳐 이미지 13장이 쓰였습니다, 참고하시고

     

    더보기

     

     

    -- 목  차 --

    누르시면 바로 이동합니다.

     

    1. 커스텀 펌웨어 적용중 실패(부팅불가)

    2. 시리얼 통신용 USB-TTL 컨버터 구입

    3. 부팅불가 R7000 복구기(tftpd 사용)

     

     

    1. 커스텀 펌웨어 적용중 실패(부팅불가)

     

     

    약간의 초기 설정 과정을 거친 뒤 관리 웹 인터페이스(192.168.1.1)에 접속했습니다.

    구입하기 전에도 어렵지 않게 정식 펌웨어에 대한 악평을 찾을 수 있었는데, 셋팅까지 모두 마친 지금 와서 생각해봐도 틀린 말이 거의 없더군요.

     

    당시의 저도 이 정식 펌웨어에 메리트가 별로 없다고 판단했고, 여러 웹 가이드를 참고해 커스텀 펌웨어로 변경을 시도합니다.

     

     

    넷기어 R7000 커스텀펌웨어 3종 사용기(토마토, DD-WRT, 멀린) from 클리앙 월캉님

     

    조금 검색하다 보니, 자주 사용되는 세개의 커스텀 펌웨어를 비교한 글이 보였습니다.

    이 글을 보고 우선 전문가 장비 수준의 설정이 가능하다는 DD-WRT 올리기로 합니다.

     

     

    dd-wrt wiki - Netgear R7000 from dd-wrt wiki

     

    DD-WRT 위키를 보니 정식 펌웨어가 막은 '구버전 펌웨어로의 다운그레이드 불가' 에 대응해 수정한 펌웨어를 배포하고 있어서 이걸 사용했습니다.

    2019.4.6 현재 5 How to install 문단을 잘 읽어보시기 바랍니다.

     

     

    그리고 이건 DD-WRT의 관리 웹 인터페이스 초기 화면입니다. 잘 됐으니 이제 필요한 설정을 시작해야겠죠.

     

    하지만 포트포워딩이나 MAC주소를 사용한 DHCP를 설정하려고 하니 설정 저장이 잘 안되더군요.

    저는 모든 설정화면을 순서대로 눌러가며 '내가 설정할 것이 있나' 찾아보는데, 설정이 많은건 둘째치고 이렇게 제대로 저장되지 않는 경우가 생각보다 많았습니다.

     

     

    결국 제 생각과 너무 달라 다른 커스텀 펌웨어로의 이동을 시도합니다.

    DD-WRT 상태에서 또 다른 커스텀 펌웨어인 tomato[다운로드 페이지 바로가기] 로 가려고 하는 것이지요.

     

    하지만 이 선택이 잘못됐던것 같습니다.

    처음에는 '먼저 사용해야 하는 initial 버전을 사용하지 않았나 보다' 라고 생각했는데,

    어제 제대로 다시 해봐도 안되는걸 보니 DD-WRT에서 tomato로 가면 높은 확률로 기기가 부팅불가 상태가 되는것 같습니다.

     

    아무튼 이렇게 하면 별 에러 없이 과정이 시작되어도 곧 관리 웹 인터페이스 접속이 불가능해지고, 껐다 켜면 기기의 부팅이 완료되지 않습니다.

    본체에서는 '전원LED 주황색' 상태가 유지되구요. 이건 '기기에 이상이 있다'는 표시입니다.

     

     

    참고로 왼쪽의 흰색 LED가 많이 들어와있는 쪽이 정상 동작할 때의 모습이고, 맨 왼쪽에 주황색 LED만 들어와 있는 쪽이 부팅불가 상태일 때의 모습입니다.

    지금은 오른쪽 사진과 같은 상태인거죠.

     

    18만원짜리 기기가 박스에서 꺼내고 6시간도 되지 않아서 먹통이 됐습니다.

    아시겠지만 커스텀 펌웨어를 설치하면 제조사 보증 대상에서도 제외됩니다. 미국에서 구입했으니 미국에서의 서비스가 가능할것 같지도 않았지만요.

     

     

    그래서 좀 찾다 보니,

     

    Reinstall the firmware on a router without the setup CD recovery tool from Netgear Support

     

    이런 공식 고객센터 글도 나와서 시도했지만, 당연히? 되지 않았습니다.

     

     

    절박한 마음에 조금 더 찾았더니,

     

    How to Debrick or Recover NETGEAR R7000, R6300v2, or R6250 Wi-Fi Routers from myOpenRouter

     

    커스텀 펌웨어를 배포하는 커뮤니티 사이트에 이런 글이 있더군요.

     

    여기에서 시리얼 포트로 통신하여 기기를 살릴 수 있는 방법을 알게 됐습니다.

    대신 여기에는 시리얼 통신을 도와주는 USB-TTL 컨버터가 필요해서 자기 전에 바로 주문했구요.

     

     

    2. 시리얼 통신용 USB-TTL 컨버터 구입

     

    제가 공유기 설치작업을 시작한건 지난 3/24(일) 이었습니다.

    '끝내고 저녁먹어야지' 하던 셋팅작업은 밤 10시가 넘어서야 포기단계에 진입했고, 부품을 미국 아마존에서 주문한것도 이 즈음이었습니다.

     

     

    주문한 상품은 아래 링크에서 보실 수 있습니다.

     

    Gearmo USB to 3.3v TTL Header like FTDI TTL-232R-3V3 with Windows 10 Support

     

    미국 아마존에 'FTDI TTL-232R-3V3' 을 검색했더니 추천으로 뜨던 상품. 먼저 링크한 펌웨어 배포 커뮤니티 사이트 글 안에 있는 문구였습니다.

    리뷰에도 자기 공유기 살리는데 썼다는 글이 가득하더군요. 혹시 몰라서 다른 사람들과 비슷한 조건을 맞추기 위해 이 제품을 구입했습니다.

     

     

    배송은 우리나라까지의 직배송을 골랐는데, 제품 가격인 약 19달러에 육박하는 14달러의 배송비가 나왔습니다.

    하지만 150달러짜리 공유기를 살릴 수 있다면야(...) 아듀이노 같은 컴퓨팅 보드에도 쓸 수 있는 모양이라 한번 쓰고 말 물건도 아닐것 같았구요.

     

    이후에는 '평범한 미국 배송품' 처럼 답답하게 움직였습니다.

    물론 미국에서 물건 주문하면 일주일쯤 기다려야 하는건 몇번의 경험으로 알고 있었지만, 이번 주문건은 조회 가능한 정보가 적어서 불편했습니다.

    몰테일로 주문하면 제공되는 운송장으로 탑승하는 화물기 등 운송, 통관, 배송 모두를 확인할 수 있는데, 아마존 직배송이 ECMS로 되면 이런 조회가 거의 불가능하더군요.

     

    다음에는 그냥 몰테일 통하게 주문해야겠습니다. 미국 아마존 직배송은 가격차이가 50달러 이상이나 나야 쓸지 말지 고민해봐야-_-;

    답답해서 혼났네요.

     

     

    아무튼 물건은 이렇게 받았습니다.

    14달러를 냈지만, 이건 배송을 빠르게 하는 옵션이지 배송박스가 거창한 옵션은 아닌가보더군요.

     

    저런 아마존 프라임 뽁뽁이 봉투에 USB-TTL 변환 케이블과 영수증이 들어있었습니다.

     

     

    이 케이블이 시리얼 포트가 없는 컴퓨터에서도 시리얼 신호를 받아 처리할 수 있게 도와줍니다.

    같이 들어있는 CD에는 사용 설명서와 운영체제별(윈도우, Mac, 리눅스) 드라이버가 들어있구요.

    'Windows 10 지원' 이라고 적혀있던데, 제 서피스 프로에 꽂았더니 운영체제 차원에서 드라이버가 잡혔습니다. 과연..!

     

    자 그럼 이걸로 복구작업을 해 봅시다.

     

     

    3. 부팅불가 R7000 복구기(tftpd 사용)

     

    이 과정에서 참고한 글은 아래와 같습니다.

     

    그다지 친절하지 않은... 넷기어 R7000 완전 벽돌 복구기-완성 from 클리앙 월캉님

     

    큰 틀의 원리를 이해하는데 도움이 됐습니다. 제 경우에 해당했는지는 모르겠지만 system id 관련 내용도 참고했고.

    결과적으로는 아래의 커스텀 펌웨어 커뮤니티 글을 더 참고했지만, 일단 한국어로 되어있기도 하고. 아래 글과 반반 참고했네요.

     

     

    How to Debrick or Recover NETGEAR R7000, R6300v2, or R6250 Wi-Fi Routers from myOpenRouter

     

    그리고 제게 USB-TTL을 통한 수리 방법을 처음 알려준건 이 글입니다. 먼저 링크한 글과 거의 비슷한 빈도로 참고했습니다.

     

     

     

    작업 과정은 크게 이렇습니다.

     

    1. USB-TTL을 사용해 시리얼 통신으로 R7000과 연결하고

    2. R7000 부팅시작 전 부팅 프로세스를 중단시키고 CFE 프롬프트 모드에 들어간 뒤

    3. R7000에 내장된 tftpd 를 실행시켜 펌웨어 입력모드로 만들고

    4. 1번 LAN포트에 연결한 컴퓨터에서 tftp 클라이언트를 사용해 R7000으로 펌웨어 파일을 전송시키면

    5. 펌웨어 파일 입력모드에 있던 R7000이 해당 펌웨어 파일을 인식해서 플래싱.

     

    이 과정에 USB-TTL 변환기가 필요하고, 기기를 뜯어야 한다는 약간의 심리적 난이도(?)가 있긴 하네요.

     

     

    그리고 여기서는 아래의 재료가 필요합니다.

     

    1. Putty 등 시리얼 연결이 가능한 클라이언트. putty가 무난합니다. [Putty 다운로드]

    2. 유선LAN 케이블과 유선LAN 연결이 가능한 장비. 이 글에서는 Windows10 데스크탑 기준으로 설명하지만 작업내역은 비슷합니다.

    3. TFTP 클라이언트. Windows10 기준으로는 '프로그램 및 기능 -> Windows 기능 켜기/끄기 -> TFTP Client 체크' 로 설치할 수 있습니다.(명령 프롬프트에서 사용)

    4. R7000 공식 펌웨어. 이 페이지에서 최신이 아닌 2018년 정도에 나온 공식 펌웨어를 받아서 접근하기 편한 위치에 저장해 두시면 됩니다.

     

    4번과 관련하여 - 2019년 2월(로 추정) 이후에 나온 공식 펌웨어의 경우, 과거 펌웨어로 돌아갈 수 없게 조치되어 있습니다.

    커스텀 펌웨어들은 '과거 혹은 동일 버전의 공식 펌웨어' 처럼 보이게 만들어 배포하곤 하니, 최신 펌웨어를 설치하실 경우 적용에 약간의 애로사항이 생길 수 있습니다.

    저는 이번 글에서의 작업 이후 1.0.9.28(2018년 3월 배포) 로 재복구하여 멀린 펌웨어를 적용하였습니다.

     

     

    그럼 시작하죠.

     

     

    먼저 기기 윗판을 들어내야 합니다. 나사 5개를 풀어야 하죠.

     

    기기 가운데 하단의 구멍과 위 빨간 박스 부분의 나사들을 풀면,

     

     

    일단 상판부의 고정이 풀립니다. 그리고 이 상판부는 플라스틱 걸쇠가 걸려있습니다.

    얇고 넓은 물건(카드 모서리 등)으로 상판과 틈을 만들어, 기기 바깥쪽으로 걸려있는 걸쇠를 기기 안쪽으로 뺀다는 느낌으로 분리해 나가시길.

     

    근데 사실 잘못해서 플라스틱 고정핀이 부러져도 영향은 없고, 조심조심 해도 두번째 풀어보니 플라스틱 고정핀이 거의 다 부러져 있더군요.

    티 나도 이미 A/S는 못받고, 상판이 고정되지 않는다고 해도 나사를 조이면 똑같아 지니 거슬리진 않을 겁니다.

     

     

    아무튼 그리고 기판 오른쪽 부근에 있는 튀어나온 핀 4개를 찾습니다. 여기에 USB-TTL에서 나온 선을 연결할 겁니다.

     

     

    아래의 링크를 보면, 사진에 핀 순서가 표시되어 있습니다.

     

    How to Debrick or Recover NETGEAR R7000, R6300v2, or R6250 Wi-Fi Routers from myOpenRouter

     

    기기의 은색 방열판을 왼쪽에 두고, 왼쪽에서 오른쪽으로 (연결없음), GND, RX, TX 입니다.

    이건 본체 이야기고, 구입하신 케이블의 GND, RX, TX 는 케이블 설명서를 참고하셔야 합니다. 위 사진의 색만 보고 끼우시면 안됩니다.

     

    연결했으면 USB를 꽂고 putty를 실행한 뒤, 시리얼 연결에 속도 115200, Stopbits: 8-N-1(이 부분은 기본값) 으로 설정해줍니다.

    장치관리자에서 USB-TTL 기기를 찾으면 'COM x '식으로 몇번 포트인지 나와있습니다. COM 포트명은 이걸 입력하시길.

     

     

    다 됐으면 연결을 누릅니다.

     

    처음에는 창에 아무것도 뜨지 않지만 그 상태에서 기기 전원을 켜면,

     

     

    위와 같이 R7000의 부팅 관련 메시지가 쭉 올라갑니다. 이러면 잘 연결 된 겁니다.

     

    이제부터 차례차례 가 보죠.

     

     

    이제 전원을 끄고, 다시 전원을 켠 뒤 Ctrl + C 를 몇번 누르면, 부팅 프로세스가 중단되고 명령 프롬프트 상태가 됩니다.

     

    이 CFE> 프롬프트에서 tftpd 를 입력하면, 기기 TFTP 서버가 활성화되면서 펌웨어 입력 대기 상태가 됩니다.

     

     

    먼저 호박색이었던 전원LED가 여기서는 은색으로 깜빡일 겁니다.

    여기서 준비한 유선LAN 장비와 공유기 LAN 1번 포트를 케이블로 연결해 줍니다.

     

    무선이 작동하지 않기 때문에 공유기와의 연결은 아직 유선으로만 가능합니다.

     

     

    '네트워크 연결' 쪽에서 연결한 네트워크 어댑터 설정을 열어, IP를 임의로 맞춰줍니다.

    인터넷 연결은 되지 않지만, 공유기에 파일을 전송하기 위함입니다.

     

    이 작업이 잘 되면 '명령 프롬프트' 를 열고, 먼저 다운받았던 펌웨어 파일의 압축을 임의의 경로에 풉니다.

     

     

    그리고 '명령 프롬프트' 를 열어 해당 경로로 이동하고, 아래의 명령어를 사용해 그 펌웨어 파일을 공유기로 전송합니다.

     

    tftp -i 192.168.1.1 put (펌웨어 파일명).chk

     

    제 경우는 처음에 바로 '다른 커스텀 펌웨어' 로 가려고 했었습니다. 결국 실패하는데, 어떻게 되는지 한번 보시죠.

    이게 궁금하시지 않다면 아래 사진 중 2개를 건너뛰어 가시면 됩니다.

     

     

    여기서 전송이 실패한다면, 혹시 openVPN과 같은 가상 네트워크 어댑터를 만드는 프로그램이 설치되어 있진 않은지 확인해 보시기 바랍니다.

     

     

    제 경우는 PC에 openVPN이 설치되어 있었는데, 저 TAP 어댑터에다 주소 설정을 하니 연결을 못하더군요.

    openVPN을 지우거나 오른쪽 클릭하여 '사용 안함' 하고 어댑터 쪽에 IP 설정을 하니 잘 되네요.

     

    참고하시기 바라며, 이렇게 1 ~ 3분 정도 기다리면 전송이 끝납니다. 전송이 잘 되는지 보려면 '작업 관리자'를 띄우면 됩니다.

     

    이제 기기와 연결한 시리얼 콘솔을 보면,

     

     

    ..펌웨어 파일은 받아들였는데, 이 모드에서도 구버전 펌웨어라고 인식하는 물건은 뱉어내네요.

    tomato 최신버전(3.5-140)으로 시도했지만 표시된 펌웨어가 1.0.3.x 라서 안되는것 같습니다(현재 최신은 1.0.9.x)

     

    그래서 어쩔 수 없이 요 당시에는 공식 펌웨어 최신 버전으로 재시도하게 됩니다.

    이 이후에 다시 시도할 일이 있었는데, 먼저도 적었지만 1.0.9.28(2018.03 배포) 도 성공합니다. 참고하시길.

     

     

    위 파일 중 빨간 박스 안 파일이 공식 펌웨어 파일입니다.

     

    같은 명령어를 써서 업로드하니,

     

     

    이렇게 플래싱 작업이 끝나고 알아서 재시작을 하네요.

     

     

    약 2-3분간의 긴 부팅과정이 끝나면, 위와 같이 모든 램프가 점등되며 정상 작동하는 것을 볼 수 있습니다.

     

    이렇게 보니 부팅시간 진짜 엄청 오래 걸리네요.

     

     

    연결된 시리얼 콘솔에서도 부팅 상세과정을 볼 수 있습니다. 내부에서 검증 프로세스나 장치 초기화 작업이 일어나는게 다 보이네요.

    그렇게 부팅이 끝나면 위와 같이 로그에도 표시되구요.

     

     

    이 과정은 그리 중요하지 않지만, 제 경우는 이걸 확인한 뒤 기기 전원 먼저 끄고 USB-TTL 케이블을 뽑았습니다.

    이후에는 전원을 켰을 때 정상적으로 부팅 프로세스가 진행됩니다.

     

    필요하면 tomato 등의 다른 커스텀 펌웨어로 넘어가시면 되겠지요. 저는 결국 다 포기하고 멀린(Marlin) 펌웨어로 갔습니다.

     

     

    이번 글은 여기까지.

     

    다음부턴 기기 성능과 함께 펌웨어 사용성도 좋은 업체 제품을 골라야지, 참 저렴하지도 않은 공유기 사서 이게 뭐하는 짓인가 싶기도 합니다(...)

     

    그럼 잠시 다른 글들 정리하다 이 뒷이야기를 들고 오지요. 다음 글에서 뵙겠습니다.

    댓글

Designed by Tistory.