ASUS(에이수스) 라우터 TM-AC1900 에 RT-AC68U 펌웨어 설치하기

서론

저는 원래 ipTIME공유기만 사용했습니다. 인터넷도 안정적이고 AS가 간편했기 때문인데요.
원래 사용하던 공유기가 고장나서 쇼핑을 하던 중에, 지인으로부터 ASUS 리퍼비시 공유기를 싸게 구입할 수 있다는 걸 알게 되었습니다.
그것이 바로 T-mobile용 라우터. 하드웨어 자체는 ASUS RT-AC68U와 같다고 하여 ASUS에 대한 믿음과 기대로 구입했습니다.

원래는 T-mobile 정식 펌웨어를 사용하려고 했습니다. 어차피 AC68U와도 펌웨어도 비슷할 것이고, Hardware NAT을 지원하지 않는 커스텀 펌웨어는 기가인터넷 환경에서 오히려 역효과를 가져올 것이라는 판단 때문입니다.

하지만 몇몇 문제가 있었습니다.
그 중 하나가 Port Forwarding. 전에 사용하던 공유기는 Port Forwarding 갯수에 제한이 없었는데, ASUS는 32개로 제한되어 있습니다.
64개여도 참고 쓸만 한데, 32개라니... NAS를 외부에서 접속하려면 반드시 Port Forwarding을 해야 하는데, 이용하는 서비스(서버)가 많으면 더 많은 Port Forwarding을 해야 합니다.

Port Forwarding 제한이 128개로 늘어납니다
Port Forwarding 제한이 128개로 늘어납니다

또 다른 이유는 업데이트입니다. 살 때도 RT-AC68U에 비해 업데이트가 느리다는 것을 알고 있었는데, UPnP를 켜도 NAS에서 UPnP라우터로 인식하지 못해서 포트별로 수작업으로 Port Forwarding에 등록 해줘야 했습니다. 게다가 NAS에 서비스를 추가할 때마다 Port Forwarding을 해줘야 합니다. 그래서 다른 펌웨어가 필요해스졌죠.

여기에 라우터의 펌웨어를 바꾸도록 불을 지피는 게 있었으니, 정식 펌웨어를 기반으로 하는 Merlin 펌웨어는 Hardware NAT을 지원한다는 것!

그래서 큰 맘 먹고 ASUS 펌웨어를 올려봤습니다.

펌웨어 변경을 시작하기 전에

  • 이 글은 최근 T-mobile용 라우터를 구입하여 최신 펌웨어인 3.0.0.4.376_3181이 설치된 라우터에 ASUS 펌웨어를 설치하는 글이다.

    3181버전(아마도 이전 몇개 펌웨어를 포함해서)은 리셋버튼을 누르고 전원을 켠다고 CFE miniWeb Server페이지에 접속되지 않는다.
    다만 필자가 보기엔 앞으로도 CFE miniWeb Server에 접속하는 방법이 바뀔 뿐, 못들어가게 막진 않을 것이다.


    리퍼비시를 구입했더니 SSH접속만 했을 뿐인데 RT-AC68U라고 나온다. 이전에 사용하던 사람이 RT-AC68U펌웨어를 올려놓고 사용했던 것 같다. 그리고 리퍼비시 중에는 이러한 라우터가 꽤 많을 것으로 보인다.

  • 라우터 초기화 및 ASUS펌웨어 설치에 필요한 파일 다운로드

    무작정 따라하기 쉽게 라우터를 초기화 한다. 라우터 설정 페이지에 초기화가 있다. 
    오프라인으로 작업해야 하니 모든 파일은 미리 다운로드 한다.

    파일 다운로드 하기 : 10MB까지만 첨부가 가능해서 다운로드 링크를 올립니다.
    앞으로의 작업에서 라우터 전원 케이블과 컴퓨터에 연결하는 LAN케이블 외의 케이블은 모두 라우터에서 제거한다.
    출처 : http//blog.naver.com/inviewfinder/220914723102
    펌웨어 설치는 기본적으로 위 블로그를 따라간다.

SSH를 지원하는 펌웨어로 다운그레이드

라우터의 펌웨어를 변경하려면 ASUS프로그램이 RT-AC68U로 인식할 수 있어야 한다. 그러기 위해 부트로더를 변경해야 한다.

1. NVRAM 초기화

라우터 끄기.
옆면의 WPS버튼을 누른 상태로 공유기 켜기.
전원 LED가 깜빡거리면 WPS버튼에서 손 떼기.
전원과 LAN LED가 켜질 때까지 기다리기.

2. CFE 모드 진입

웹 브라우저 주소창에 192.168.29.1를 미리 입력하기.
라우터 끄기.
Reset, WPS, Wifi Off 버튼을 모두 누른 채로 라우터 켜기.
10초 정도 후에 WPS, Wifi Off 버튼에서 손 떼기. (Reset버튼에서 손이 떨어지지 않게 주의!)
192.168.29.1에 접속하기.(Reset버튼을 누른 상태여야 합니다)

저는 이 단계에서 고생을 많이 했습니다. 백신을 끄고 하니 그제서야 인식이 되었습니다. 
혹시 잘 안되는 분은 백신이나 기타 네트워크 감시 프로그램을 끄고 해보시면 될겁니다.

CFE miniWeb Server에서 Browse 버튼 누르기.(Reset버튼을 누른 상태여야 합니다)
파일 선택 팝업창에서 첨부파일\ASUS\Work\AC1900안에 있는 .trx파일 선택하기.(Reset버튼을 누른 상태여야 합니다)
업로드 누르기.(Reset버튼을 누른 상태여야 합니다)

웹브라우저가 웹 탐색을 시작하면 Reset버튼에서 손 떼기.

Reset에서 손을 떼야 업로드 성공 메시지가 출력됩니다.(Reset을 누르고 있으면 펌웨어 업로드가 끝나지 않고 실패 합니다.)

SSH 활성화

라우터 설정 페이지 접속.
Administration(관리) 클릭.
System(시스템) 클릭.
SSH Enable(SSH 활성화) YES에 체크

Apply(적용)

CFE 부트로더 변경 준비

출처 블로그에서는 고정 IP를 할당하지만 그럴 필요는 없다. 지금 라우터는 부팅이 완료된 상태인데, 부팅이 완료된 상태에서는 DHCP서버가 실행되기 때문에 공유기와 통신하는데 문제가 없다.

1. Putty 실행

첨부파일 \ASUS\putty.exe 실행

Host Name에 12.168.29.1 입력 Port는 22, Connection type은 SSH이고, 기본으로 입력되어 있다.
Open을 클릭하여 SSH서버에 접속한다.
몇 가지 인증과 보안에 관한 경고창이 뜨는데, 모두 Yes를 클릭한다.

서버에 연결되면 검은 창에 login as: 가 나타난다.
계정은 admin이고 비밀번호는 password이다 : 비밀번호는 보이지 않으니 창에 변화가 없어도 그냥 입력하면 된다.

이렇게 뜨면 로그인 성공

2. WinSCP 실행

첨부파일 \ASUS\WinSCP-5.11.3-Portable\WinSCP.exe 실행

File protocol : SCP : putty는 프로토콜을 바꿀 필요가 없었지만 WinSCP는 반드시 바꿔줘야 한다.
Host name : 192.168.29.1
User name : admin
Password : password

위 정보를 모두 입력하고 Login 클릭
여기서 뜨는 보안 경고 창에서도 Yes 클릭

3. 설명을 편하게 하기 위해 Interface 변경

기본 모드를 이용해도 문제 없지만, Drag & Drop이 안된다.

Options
Preferences...

Environment -> Interface
Commander 선택
OK

WinSCP 다시 실행하고 라우터에 로그인
왼쪽 Pane(창, 영역)에 첨부파일ASUSWork가 보이도록 Navigate(이동)한다.

CFE 부트로더 변경

라우터에서 기존의 부트로더를 꺼낸다. 기존의 부트로더에서 라우터의 고유 데이터를 새로운 부트로더에 복사한다. 그리고 새 부트로더를 라우터에 저장한다.

1. 부트로더 백업

라우터에 접속한 Putty에 다음 명령 입력

cat /dev/mtd0 > original_cfe.bin

잠시 후 에러메시지 없이 admin@ (none) : /tmp/home/root#이 뜨면 성공

WinSCP에서 오른쪽 Pane에 있는 original_cfe.bin을 왼쪽 Pane으로 드래그한다.

2. 새 부트로더 수정

Windows Explorer(탐색기)로 첨부파일\ASUS\Work\AC68U로 이동
rt-ac68u_1.0.2.0_us.bin을 첨부파일\ASUS\Work로 복사
rt-ac68u_1.0.2.0_us.bin의 이름을 new_cfe.bin으로 이름바꾸기

첨부파일\ASUS\Work폴더로 이동하고 아래 파일이 모두 있는지 확인

cfe.exe
new_cfe.bin
original_cfe.bin

cfe.exe 실행

검은 창이 나타났다가 new_cfe.bin.bak파일이 생기는지 확인

3. 새 부트로더 라우터로 복사

new_cfe.binmtd-write 파일을 라우터에 복사

왼쪽 Pane에서 new_cfe.binmtd-write를 드래그해서 오른쪽 Pane에 드랍한다.

4. 라우터에 업로드 한 파일 확인

putty에서 ls -l입력

mtd-write
original_cfe.bin
new_cfe.bin

이 출력돼야 함

grep mac ./original_cfe.bin ./new_cfe.bin

아래 사진과 같이 하얀 부분의 값이 같아야 합니다.

경고창이 없어야 합니다. 순서를 헷갈리면서 오류가 있는 스크린샷만 남았습니다.

5. 라우터의 부트로더에 새 부트로더 설치

putty에서 chmod u+x mtd-write 입력
오류 없이 다음 줄에 #이 나와야 합니다.

./mtd-write -i new_cfe.bin -d boot
오류 없이 다음 줄에 #이 나와야 합니다.

reboot
라우터가 다시 시작 되면서 위의 사진처럼 서버가 닫혔다는 오류가 나타납니다.

출처 블로그에서는 버전 확인 방법을 알려줬지만, NVRAM 리셋까지 해야 변경된 버전이 적용되기 때문에 생략합니다.

ASUS 펌웨어 설치

이제 펌웨어 설치만 하면 정식 펌웨어이든, RT-AC68U를 지원하는 커스텀 펌웨어든 뭐든 설치할 수 있다.

1. NVRAM 초기화

라우터를 끈다.
옆면의 WPS버튼을 누른 상태로 공유기를 켠다.
전원 LED가 깜빡거리면 WPS버튼에서 손을 뗀다.
전원과 LAN LED가 켜질 때까지 기다린다.

2. ASUS 펌웨어 설치

미리 ASUS 펌웨어 복구 프로그램을 실행하고 RT-AC68U 펌웨어를 선택해둔다.

라우터를 끄고 Reset 버튼을 누른 상태로 전원을 켠다.
전원 LED가 느리게 깜빡거리면 Rescue모드로 진입 된 것이지만, 20초 이상 Reset버튼을 누르고 있는 것을 추천한다.

ASUS 펌웨어 복구 프로그램에서 Upload를 클릭한다.
저는 ASUS 라우터를 두개를 샀는데, 하나는 펌웨어 업로드가 쉽게 되었던 반면 다른 하나는 펌웨어 업로드가 쉽게 되지 않았습니다.

네트워크 감시 프로그램을 끈다
Rescue 모드에 진입할 때 전원 LED가 깜빡거리면 Reset 버튼을 바로 뗀다
IP를 고정한다

저는 반대로 192.168.1.8로도 안되었던 것이 라우터를 부팅하고 DHCP 서버로부터 할당받았던 IP로 고정해주니 잘 되었습니다.

MTD5 파티션 수정하기!

(롤백 방지 및 최신 펌웨어 설치)(2019.01.09 추가)
 꽤 오래 전에 나온 팁인데 어째서 이제야 발견했는지 모르겠다..ㅠㅠ

putty와 같은 SSH 툴을 이용하여 라우터에 접속하여 아래를 한 줄씩 입력한다.

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

ln -s /sbin/rc mtd-erase
./mtd-erase -d asus
rm -rf /jffs/.sys/RT-AC68U

nvram unset fw_check && nvram commit && reboot

최신 또는 커스텀 펌웨어 설치

  1. 라우터에 모든 케이블을 연결하고 부팅한다.
  2. 설정 페이지에 접속한다. : 192.168.29.1
  3. Administraion(관리)
  4. Firmware Upgrade(Firmware Upgrade)
  5. ASUS 정식 최신 펌웨어는 자동 업데이트를 이용한다.
  6. Merlin 및 기타 커스텀 펌웨어는 펌웨어 수동 찾기를 이용해서 업데이트 한다.

Merlin 커스텀 펌웨어는 2018년 1월 25일 기준 최신 버전이 첨부파일에 포함되어 있다.

끝!

모두들 수고하셨습니다!

서부에 언급한 것과 같이 ASUS 퍼포먼스 최적화와 관련된 글을 찾았습니다. 
며칠 내에 다음 편에 최적화 글이 게시될 것입니다.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다