본문 바로가기
정보

ASUS T-Mobile AC1900 에 AC68U 펌웨어 올리기

by 십만원 2019. 12. 20.

2020-03-22 수정 사항 추가

1. AC1900 을 1703펌으로 내려서 SSH 기능을 활성화    아래에

1-0-1, 1-1-1, 1-1-2 에 붉은 글자색으로 마킹된 부분들이 추가 및 변경되었습니다.

1-2-6 에 붉은 글자색으로 마킹 및 설명 추가되었습니다.

설명에 누락된 부분으로 인해 오류가 발생해서 열받았을 분들께 죄송하다는 말씀드립니다... ㅠ

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

 

이전 글에도 썼지만 신형 1Ghz 를 노리고 질렀던 TM-AC1900 공유기 리퍼는 결국 800Mhz 짜리 구형이 왔습니다...

내가 그렇지 뭐...

해탈하고 그냥 펌웨어 작업이나 했습니다. 예전과 다르게 펌웨어 작업이 더 귀찮아지게 됐더라고요. 그렇게 AC1900은 절 두번 빡치게 했습니다.

 

AC68U 펌질은 크게 다음 3단계로 이루어 집니다.

1. AC1900 을 옛날 펌으로 내려서 SSH 기능을 활성화

2. AC68U 펌업

3. AC1900 흔적 삭제

 

0-1. 준비물

FW_RT_AC68U_30043763626.trx

mtd-write

TM-AC1900_3.0.0.4_376_1703-g0ffdbba.trx

다운로드 https://mega.nz/#!jAEi0S5S!JvWZ0s9G4pwMLpaIW8jQ_q-Zd8MBdihch3ZSSAs8Vs0

 

MEGA

MEGA provides free cloud storage with convenient and powerful always-on privacy. Claim your free 50GB now

mega.nz

다운로드 출처: https://www.bayareatechpros.com/ac1900-to-ac68u/

 

 

PuTTY

다운로드 https://www.putty.org/

 

Download PuTTY - a free SSH and telnet client for Windows

Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W

www.putty.org

32bit https://the.earth.li/~sgtatham/putty/latest/w32/putty.zip

64bit https://the.earth.li/~sgtatham/putty/latest/w64/putty.zip

 

 

WinSCP

다운로드 https://winscp.net/download/WinSCP-5.15.9-Portable.zip

 

Downloading WinSCP-5.15.9-Portable.zip :: WinSCP

The WinSCP-5.15.9-Portable.zip is ZIP archive containing both WinSCP executables, intended for portable use.

winscp.net

 

0-2. 용어 설명

NVRAM 리셋

공유기 전원을 켤 때 측면의 WPS 버튼을 누른 상태로 전원을 켭니다. WPS 버튼 계속 누른 상태로 15초 정도 지나면 뒷면에 ASUS 불 들어오는 하얀색 LED 가 깜빡이기 시작합니다. 그 때 WPS 버튼을 놓습니다. 리셋되는 데는 몇 분 정도가 걸립니다. (기기 부팅할 때 걸리는 시간이랑 별 차이 없음. 길게 잡아 5분 이내)

 

 

1. AC1900 을 1703펌으로 내려서 SSH 기능을 활성화

AC68U 펌웨어 작업을 하려면 AC1900 펌웨어에 SSH 기능이 뚫려 있어야 합니다. 옛날 펌웨어는 이 기능이 있었는데 신규펌에서는 SSH 기능이 안보입니다. 그래서 옛날 펌인 1703 펌으로 내리는 작업을 해야합니다. ASUS 에서는 사람들이 저렴한 AC1900을 구매해서 펌질하는 게 보기 싫었나 봅니다.

 

보통 구글에다 AC1900 펌웨어 작업 관련해서 찾아보면 대부분 AC1900을 1703 펌으로 내리기 위해서 리셋버튼 눌러서 복구모드 들어가서 작업하는 방식으로 나옵니다. 위에 링크 걸려있는 https://www.bayareatechpros.com/ac1900-to-ac68u/ 여기 사이트도 이 방식이죠.

근데 이 기능 막혔습니다... 이걸 모르고 내가 몇시간을 삽질했는지 아오..... 막힌지 1년은 된 것 같더라고요. 이젠 usb 꼽아서 작업하는 방식으로 해야합니다. 

(현재 100% 모든 기기가 리셋버튼-복구모드 방식이 막힌 건 아닌 것으로 보이고 리셋 복구방식을 먼저 시도해 보시고 안 된다면 제가 아래 쓴 방법으로 시도해보시면 될 것 같습니다. https://coolenjoy.net/bbs/37/152929)

 

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

 

From AC1900 To AC68U After Revert

Forward 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 instruc

docs.google.com

링크에 있는 문서 내용을 모두 참고할 필요는 없습니다. 해당 문서는 사실 AC68U로 펌을 올린 후 AC1900으로 롤백되었을 때 다시 AC68U로 되돌리는 방법에 대해서 기술하는 문서입니다. 근데 여기에 우리가 필요한 AC1900을 1703펌으로 내리는 방법도 포함되어 있죠.

여기선 저 문서의 NO CFE USB Instructions 파트만 참고하면 됩니다. 영어되시면 저 문서 보고 하셔도 됩니다.

 

그럼 시작해 봅시다.

 

1-0-0. NVRAM 리셋 합니다.

1-0-1. AC1900의 WAN포트에 인터넷선을 연결합니다. LAN포트도 PC의 랜카드와 랜선으로 연결합니다. (전 1번 포트에 꼽았음)

1-0-2. 브라우저를 열고 192.168.29.1 주소로 접속한 뒤에 기본 설정을 마칩니다. (기본 아이디/비밀번호는 admin/admin, admin/password 둘 중에 하나일 겁니다)

 

1-1-1. 남는 usb 메모리를 fat32로 포맷합니다. 포맷할 때 볼륨 레이블(Volume label) 이름을 USB 라고 변경합니다. (제가 작업할 때는 볼륨 레이블에 아무것도 입력하지 않고 포맷했던 것 같은데... 혹시 모를 에러를 위해 레이블 명을 입력하는 게 좋을 것 같습니다.)

1-1-2. TM-AC1900_3.0.0.4_376_1703-g0ffdbba.trx 파일을 firmware1703.trx 라고 이름을 변경한 후 usb 메모리에 복사합니다.

1-1-3. usb 메모리를 AC1900에 꼽습니다. usb2.0/3.0 아무데나 꼽아도 될 겁니다. (전 3.0에 꼽고 했음)

 

1-2-1. 크롬 브라우저로 192.168.29.1 주소에 접속해서 로그인하면 좌측에 메뉴 쭉 있는데 맨 아래 네트워크 도구 클릭해서 들어갑니다. 

1-2-2. 브라우저 화면에서 마우스 오른쪽 버튼 클릭하면 메뉴 뜰 겁니다. (뒤로, 앞으로, 새로고침 등등...) 맨 아래 '검사' 누르면 개발자 도구 가 뜹니다. (잘 모르겠으면 Ctrl+Shift+i 누르면 뜸)

1-2-3. 개발자 도구에 보면 탭들이 여러개 있습니다. (Elements, Console, Sources, Network, .... ) Console 탭 클릭합니다.

1-2-4. '>' 이렇게 꺽쇠 표시된 부분이 있는데 거기다 명령어를 입력할 수 있습니다. 거기에

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

이렇게 입력하고 엔터를 칩니다.

1-2-5. 네트워크 진단을 클릭하고 'hello world' 라고 표시되면 정상입니다.

스샷의 네트워크 도구 화면은 AC68U를 올린 후라 AC1900과는 조금 다릅니다. 참고만 해주세요.

1-2-6. 여기서 부턴 명령어 입력하고 / 엔터 / 네트워크 진단 의 반복입니다.

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

엔터 / 네트워크 진단

 

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

엔터 / 네트워크 진단

 

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

엔터 / 네트워크 진단

▶recursion detected, omitting directory "./userRpm" 라고 메세지가 표시되면 정상

 

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

엔터 / 네트워크 진단

 

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

엔터 / 네트워크 진단

 

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

엔터 / 네트워크 진단

2분 정도 기다린 후 다음 명령어 입력합니다.

 

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

엔터 / 네트워크 진단

이 명령어가 실패할 경우 직전 명령어를 다시 실행하고 이 명령어를 실행할 것. index.html 파일 다운로드 어쩌고 나오면 정상

▶그린님이 댓글로 docbill.freeshell.org 사이트가 밤시간에 닫는다는 정보를 알려주셨습니다. 이 명령어에서  Connection refused 또는 failed 가 뜰 경우 해당 사이트에 접속이 가능한지 확인해 주세요.

 

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

엔터 / 네트워크 진단

/tmp/mnt/USB/firmware1703.trx 라고 뜨면 정상

/tmp/mnt/USB/firmware1703.trx 경로의 USB 는 위에 1-1 에서 USB 메모리를 포맷할 때 붙인 레이블입니다. 

 

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

엔터 / 네트워크 진단

CRC OK 뜨면 정상

실패하면 2-6 명령어 처음부터 다시 실행

/tmp/mnt/USB/firmware1703.trx 경로의 USB 는 위에 1-1 에서 USB 메모리를 포맷할 때 붙인 레이블입니다. 본인이 레이블을 다르게 지정했다면 해당 이름대로 적어줘야 에러가 나지 않습니다.

 

1-2-7. 5분 기다렸다가 NVRAM 리셋

 

1-3-1. 브라우저로 192.168.29.1 에 접속한 후 펌웨어 버전이 바뀌어 있고 관리 메뉴에서 SSH 항목이 보이면 성공입니다.

아니오 로 되어 있는 선택을 예 로 바꾸어 SSH를 활성화 합니다.

 

 

2. AC68U 펌웨어 업로드

AC1900 펌웨어에 SSH 기능이 활성화 되었으므로 이제 본격적으로 AC68U 펌웨어를 올리는 작업을 시작합니다.

(참고로 PuTTY 에서 명령어를 입력하실 때 본 글에 작성된 명령어를 마우스로 긁어서 복사하신 후 PuTTY 에서 마우스 우클릭 하시면 붙여넣기 됩니다. 오타나니까 손으로 하나하나 치지 마세요.)

 

2-1-1. PuTTY 로 AC1900에 접속합니다.

 

2-1-2. 아이디/비번 치고 로그인 한 뒤에 아래 명령어 입력합니다.

cat /dev/mtd0 > original_cfe.bin

 

2-1-3. WinSCP로 접속해서 AC1900에 생성된 original_cfe.bin 파일을 로컬하드디스크로 복사합니다.

 

2-1-4. https://cfeditor.feng.si/ 사이트에 접속합니다.

① Original CFE 의  ↑ 버튼을 눌러서 original_cfe.bin 파일을 업로드

② Source CFE 에서 1.0.2.0 US AiMesh (RT-AC68U) 를 선택하고

Target CFE 맨아래의 Country, TX Power 항목을 체크해서 국가, 출력 제한을 해제

④ Target CFE 의  ↓ 버튼을 눌러서 변경된 CFE 파일을 다운로드 합니다. (새로운 파일명은 아마도 new_1.0.2.0_all_max_aimesh.bin)

 

2-1-5. 위에서 다운 받은 새로운 CFE 파일(new_1.0.2.0_all_max_aimesh.bin)의 이름을 new_cfe.bin 이라고 변경하고, WinSCP 를 이용해서 AC1900으로 new_cfe.bin, mtd-write, FW_RT_AC68U_30043763626.trx 이 3개의 파일을 업로드합니다.

 

2-1-6. PuTTY 에서 다음 3개의 명령어를 차례로 입력합니다.

chmod u+x mtd-write
./mtd-write new_cfe.bin boot
mtd-write2 FW_RT_AC68U_30043763626.trx linux

 

2-1-7. NVRAM 리셋을 수행합니다.

2-1-8. 브라우저로 192.168.1.1 에 접속해서 AC68U 로 성공적으로 변경되었는지 확인합니다.

 

 

3. AC1900 흔적 삭제

AC68U로 변신하긴 했지만 이대로 사용하면 정펌 업그레이드시 다시 AC1900으로 롤백되기도 하고 AiMesh 도 활성화 되지 않습니다. 따라서 AC1900 흔적을 삭제해줘야 합니다.

 

3-1-1. 브라우저로 192.168.1.1 에 접속해서 다시 SSH 를 활성화 합니다. PuTTY 로 192.168.1.1 에 접속해서 아래 명령어들을 차례차례 입력합니다.

(삭제 작업이므로 정말 주의해야 합니다)

cat /dev/mtd5 > /jffs/mtd5_backup.bin
mkdir /tmp/asus_jffs
mount -t jffs2 /dev/mtdblock5 /tmp/asus_jffs
rm -rf /tmp/asus_jffs/*
sync && umount /tmp/asus_jffs
rm -rf /jffs/.sys/RT-AC68U
nvram unset fw_check && nvram commit && reboot

명령어 다 입력하고 나면 자동으로 리부팅 될 겁니다. 아마 그럴 거에요...

 

 

4. 멀린펌 올리기

여긴 뭐 별 거 없습니다. 그냥 멀린펌 다운 받아서 올리기만 하면 됩니다.

멀린펌 버전(384.13) 에서 AiMesh 를 지원하기 때문에 AiMesh 기능을 활성화하고 싶으시다면 최신 정펌으로 업그레이드 하던가 멀린펌 올리시면 됩니다.

 

다운로드 https://sourceforge.net/projects/asuswrt-merlin/files/RT-AC68U/Release/

 

Asuswrt-Merlin - Browse /RT-AC68U/Release at SourceForge.net

file-symlink-file Created with Sketch. Alternative firmware for Asus wireless routers Brought to you by: rmerlin

sourceforge.net

384.13 이상 버전 파일을 받아서 압축을 풀어보시면 RT-AC68U_384.13_0.trx 파일이 있을 겁니다.

브라우저로 192.168.1.1 에 접속해서 관리 메뉴의 펌웨어 업그레이드 탭에 가보면 해당 파일을 업로드할 수 있습니다.

 

펌웨어 업그레이드가 완료되면 AiMesh 기능이 활성화된 것을 확인할 수 있습니다.

 

긴 시간 동안 고생하셨습니다. ㅎ

펌질이 쉽진 않은 거 같아요.

댓글