본문 바로가기

Network

TM-AC1900를 ASUS RT-AC68U로 바꾸기 (macOS)

TM-AC1900와 ASUS RT-AC68U는 하드웨어 스펙이 동일하다고 한다.

다만 전자는 티모바일에서 펌웨어를 커스터마이징을 해서 약간의 차이가 있다고 한다.

또한, 티모바일의 펌웨어는 더 이상 업데이트가 되지 않는다. RT-AC68U로 펌웨어를 바꾸고 나면 최신 펌웨어 (심지어 메이지 번호가 다른)로 업데이트가 된다.

따라서 약간의 수고로 최신의 펌웨어를 사용할 수 있다는 것이다.


모델명/펌웨어 버전 정리

1. 구매후: ASUS TM-AC1900 / 3.0.0.4.376_3199

2. 다운그레이드후: ASUS TM-AC1900 / 3.0.0.4.376_1703

3. mtd0 덮어씌운 후: ASUS RT-AC68U / 3.0.0.4.376_1703

4. 펌웨어 교체 후: ASUS RT-AC68U / 3.0.0.4.376_3626

5. 자동 펌웨어 업그레이드 후: ASUS RT-AC68U / 3.0.0.4.384_20308 (2018-02-22 기준 최신)


공유기 버튼 설명

공유기의 버튼 동작은 크게 두 가지이다. (전원을 켜고 끄는 것은 이미 알고 있다고 가정한다.)

아래 동작은 둘 다 전원을 끄고 시작한다. 전원을 끄고 바로 켜지말고 10초정도 기다렸다가 수행한다.


1. 수동 펌웨어 올리기 모드: 전원을 꺼져있는 상태에서, RESET버튼(전원 버튼 위에 홈이 있는 버튼)을 누른 상태로 전원을 켠다. RESET 버튼은 30초 정도 계속 누르고 있는다. 해당 모드로 공유기가 부팅이 되면 CFE miniWeb Server 데몬이 수행되어 펌웨어를 올릴 수 있게 된다. 참고로 이 동작을 할 경우 WAN 포트의 케이블은 빼놓고 수행하고 공유기에 1:1로 연결한 컴퓨터의 네트워크 설정은 DHCP 모드(자동으로 IP를 할당 받는)가 아닌 수동 입력으로 설정한다.

 해당 모드에 들어갔는지 여부는 공유기 IP를 브라우저(크롬은 안되고, safari나 firefox에서만 보인다.)에서 아래와 같은 페이지가 뜨면 성공한 것이다.



2. NVRAM 초기화: 공유기에는 전원을 꺼도 값이 유지되는 기억공간 - 즉, NVRAM이 있다. 가비지 데이터를 날리기 위해 수행한다. 이전에 설정한 정보는 유실되니 필요한 정보라면 텍스트 편집기나 메모를 해놓는다.

 - 전원 OFF상태에서 측면의 WPS버튼을 누르면서 전원을 켠다. 이번에는 20초 정도 WPS버튼을 계속 누르고 있는다.


이미 선구자들이 잘 정리해두었기 때문에 또 힘들게 올릴 필요는 없을 것 같다.

내가 참고하여 성공한 사이트는 아래 블로그이다.

https://blog.naver.com/visual2003/220866158204


다만 윈도우가 아닌 맥에서는 이미 시스템에 tool이 있는 경우가 있고, 편집 도구는 다르므로 다른점에 대해서 추가로 기록하였다.


1. 준비물

mac은 unix이다. 따라서 ssh 같은 도구는 이미 시스템에 설치되어 있다. 윈도우에서 SSH를 쓰기 위한 Putty 프로그램은 불필요하다.

하지만 레퍼런스한 블로그에서는 SSH대신 Telnet을 사용하고 있다.

- 터미널: 기본으로 제공하고 있는 터미널을 써도 된다. 하지만 나는 iterm2을 더 자주 써서 이것을 이용했다.

- Telnet: 요즘 mac 에서는 과거에 사용되던 telnet 도구가 보안이 떨어진다는 이유로 시스템에 탑재를 하고 있지 않다. 그래서 별도의 설치가 필요하다. Homebrew를 사용하고 있다면 터미널에서 아래 명령을 수행하면 설치가 된다.

$ brew install telnet

- HEX에디터: iHex를 사용했고 무료로 앱스토어에서 받을 수 있다.

 https://itunes.apple.com/kr/app/ihex-hex-editor/id909566003?mt=12



펌웨어 올리기

위에서 모델명/펌웨어 버전 정리의 2단계와 4단계는 동일한 작업을 하면 된다.

공유기 버튼 설명에서 첫 번째 '수동 펌웨어 올리기 모드'로 공유기를 켜고, 펌웨어를 올려준다.

처음에는 몰랐는데 브라우저 말고 ftp를 이용해서 펌웨어 올리는 것이 가능하다. (4단계에서 가능함을 확인)


1. 브라우저로 CFE miniWeb Server가 동작하고 있는지 확인

2. 올릴 펌웨어 준비.

3. 펌웨어가 있는 위치에서 ftp접속

$ tftp 192.168.29.1

4. 바이너리 모드로 업로드

$ binary

$ put FW_RT_AC68U_30043763626.trx

업로드가 끝나면 자동적으로 재부팅이 된다.




두서 없이 정리해서 처음 접하는 사람에게 도움이 안될 수도 있겠지만, macOS에서도 가능하다는 것을 알려드립니다.



TM-AC1900으로 강제 롤백 당함

어제(2018-07-30) 펌웨어를 업데이트했더니 아침에 일어나보니 티보바일 펌웨어로 강제 롤백되어 있었다.

인터넷을 검색해보니 2018년 4월 부터인가 펌웨어 업데이트 한 사람들의 유사한 사례가 있었다.


http://b.noin.me/14

http://www.ppomppu.co.kr/zboard/view.php?id=oversea&page=1&divpage=128&search_type=sub_memo&keyword=ac1900&no=676807



전에 AC68U로 바꾸는 과정을 수행했더니 문제는 파일 크기가 맞지 않는다고 한다.



TM-AC1900을 3.0.0.4.376_1703으로 다운그레이드

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

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



RT-AC68U으로 다시 올림

3.0.0.4.384_21045로 바꾸니 드디어  RT-AC68U에서도 Let's encrypt가 지원된다!


정품 펌웨어강제 롤백 방지용 작업

참고로 3.0.0.4.376_3626 로 올리고 난 후 펌웨어 업데이트전에 수행한다.

AC-1900에서 하면 3번째 명령에서 공유기와 연결이 끊겨버린다.


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

https://www.clien.net/service/board/lecture/12042584 

SSH 나 telnet으로 하면 된다. 나는 후자로 하였다.

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