맥에서 TM-AC1900 공유기 AC68U 펌웨어로 변경하기
서론
아수스의 공유기가 유명하다는 사실은 알 사람들은 다 아는 사실이다. 그 중에서도 TM-AC1900
모델은 AC68U
라는 정가 20만원 정도의 공유기를 미국의 티모바일에서 번들로 제공한 모델인데, 해당 제품이 워낙 싸게 풀려서 가성비 모델로 잘 알려져 있다. 필자도 해당 모델 제품을 2대 가지고 있으며 안테나 업그레이드까지 진행한 상태이다. 2대를 구매한 이유가 AiMesh
를 이용한 집안에서 끊김없는 네트워크 구성이었기에 AC68U로 펌웨어 변경이 필요한 상태였다. 이전에 몇번 시도했지만 몇 차례 실패하여 점점 흥미를 잃어갔다가... 군대가 합격이 나자 갑자기 하기도 싫던 이것이 하고 싶어졌다.
뭔 변덕인가 싶을 수도 있는데 왜 그런 경험 다들 있지 않은가. 시험 전날 뭘 해도 재밌는 거 말이다.. 지금 필자의 상태가 딱 그러하다.
이번에 맥에서 공유기 펌웨어 변경 과정을 좀 정리해 보았다. 여러 블로그를 둘러보았는데 한 번에 이해하고 진행하기에는 무리가 있었고, 그래서 절차를 체계적으로 정리하고 싶어 포스팅하게 되었다.
본론
우선 해당 링크에서 파일을 다운로드한다.
.
├── TM-AC1900_3.0.0.4_376_1703.trx
├── config
├── firmware
│ ├── FW_RT_AC68U_30043763626.trx
│ └── RT-AC68U_3.0.0.4_376.47_0.trx
└── mtd-write
TM-AC1900_3.0.0.4_376_1703.trx
: 1703 버전으로 다운그레이드하기 위한 펌웨어config
: ssh 접속 에러 시 사용firmware/
: AC68U 펌웨어mtd-write
: CFE 초기화시 사용
1703버전으로 다운그레이드
필자가 가지고 있던 두 제품 다 AC1900 펌웨어의 3.0.0.4.376_3199 버전이었다. 해당 버전은 ssh
가 활성화할 수 없으므로 바로 AC68U 펌웨어로 변경할 수 없다. 따라서 우선 3.0.0.4.376_1703 버전으로 다운그레이드를 진행해야 한다.
네트워크 설정
라우터와 이더넷 연결하여 진행하므로 맥북 제품의 경우 usb 젠더 등을 통해서 연결해야 한다. 네트워크 설정에서 이더넷 설정을 아래와 같이 맞춰준다.
- ip: 192.168.29.88
- 서브넷마스크: 255.255.255.0
- 라우터: 192.168.29.1
라우터의 LAN 1번 포트와 연결하는 것을 추천한다.
리커버리 모드 설정
공유기가 전원이 꺼진 상태에서 초기화(reset) 버튼을 누르면서 30초 대기초기화 버튼을 누른 상태로 유지해야 한다. 절대로 중간에 때면 진입이 안될 수 있다.
공유기 설정 사이트 접속
사파리에서192.168.29.1
로 이동
정상적으로 접속되었다면 아래와 같은 화면을 볼 수 있을 것이다.펌웨어 업로드
TM-AC1900_3.0.0.4_376_1703.trx
파일을 선택하여 업로드한다.nvram 초기화
펌웨어가 정상적으로 업로드되면 success 화면이 뜨고 공유기가 켜진다. 공유기가 완전히 켜졌다면,전원을 끄고 10초 정도 대기
한 후,wps 버튼을 누르면서 전원을 키고 20초
정도 기다린다.공유기가 완전 켜졌음은 무선랜 인디케이터에 불이 들어오는지를 확인하면 된다.
enable SSH 활성화
공유기 설정에서[관리]-[시스템]
로 들어가면 해당 항목을예
로 바꾸어 준면 된다.
CFE 초기화
ssh로
CFE
파일 다운로드아래 코드에 적어둔 대로 진행하면 되나,
Unable to negotiate with 192.168.29.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
와 같은 에러가 발생할 수 있다. 이러한 경우에는~/.ssh
폴더에config
파일을 옮겨주면 해결된다.$ ssh admin@192.168.29.1 admin@192.168.29.1's password: ASUSWRT RT-AC68U_3.0.0.4 Wed Jul 16 08:39:37 UTC 2014 admin@(none):/tmp/home/root# cat /dev/mtd0 > original_cfe.bin admin@(none):/tmp/home/root# ll -rw-rw-rw- 1 admin root 524288 Dec 31 16:11 original_cfe.bin admin@(none):/tmp/home/root# exit Connection to 192.168.29.1 closed. $ scp admin@192.168.29.1:/tmp/home/root/original_cfe.bin ~/Desktop admin@192.168.29.1's password: original_cfe.bin 100% 512KB 5.5MB/s 00:00
CFE 파일 수정
원래는 hex 코드 수정하는 과정이 필요하나 해당 사이트를 이용하면 쉽게 이용가능하다.
해당 사이트에서1.0.2.0
으로 진행하고AiMesh
가 필요한 경우 해당 항목으로 선택한다.컨트리
와max
체크박스를 선택하면 공유기 출력과 속도가 상승되니 해당 옵션도 상황에 맞게 설정하면 되겠다.위 작업이 끝나면 수정된
CFE
파일이 생기는데, 이후 AiMesh를 이용하기 위해서 다시 사용될 수 있으므로 따로 보관하는 것이 좋다. 또한 해당 파일은 공유기마다 부여되는 맥주소에 따라 다른 파일이므로 다른 공유기의CFE
를 사용해서는 안된다.수정한 CFE 적용
수정한
CFE
파일과mtd-write
파일을 공유기에 업로드하여 수정사항을 적용한다.필자는 파일 이름을
rt-ac68u_1.0.2.0_us.bin
라 가정하고 명령어를 적었다. 혹시 다른 파일명이라면 그에 맞게 수정하여 적용하면 된다.$ scp ~/Desktop/rt-ac68u_1.0.2.0_us.bin admin@192.168.29.1:/tmp/home/root/ admin@192.168.29.1's password: rt-ac68u_1.0.2.0_us.bin 100% 226KB 3.5MB/s 00:00 $ scp ~/Desktop/mtd-write admin@192.168.29.1:/tmp/home/root/ admin@192.168.29.1's password: mtd-write 100% 716KB 3.3MB/s 00:00 $ ssh admin@192.168.29.1 admin@192.168.29.1's password: ASUSWRT RT-AC68U_3.0.0.4 Wed Jul 16 08:39:37 UTC 2014 admin@(none):/tmp/home/root# chmod u+x mtd-write admin@(none):/tmp/home/root# ./mtd-write -i rt-ac68u_1.0.2.0_us.bin -d boot admin@(none):/tmp/home/root# reboot admin@(none):/tmp/home/root# Connection to 192.168.29.1 closed by remote host. Connection to 192.168.29.1 closed.
nvram 초기화 진행
3번 과정에서 공유기가 완전히 켜진 것(무선랜 인디케이터까지 불이 들어온 상태)을 확인하고 진행한다.전원을 끄고 10초 정도 대기
한 후,wps 버튼을 누르면서 전원을 키고 20초
정도 기다린다. 정상적으로 변경사항이 적용되었다면 공유기 정보가AC68U
로 바뀐 것을 확인할 수 있다.
파티션 확장
공유기 정보가 정상적으로 변경은 되었으나 다른 펌웨어로 바로 변경은 불가능하다. 이를 해결하기 위한 파티션 확장 방법은 아래와 같다.
리커버리 모드 진입
전원을 끈 상태에서 초기화 버튼을 누르면서 30초 대기펌웨어 업로드
이제 본인 공유기를 정펌으로 할지, 멀린펌(커스텀펌)으로 할지 결정해야 한다. 이것에 따라서 올리게 되는 펌웨어가 달라진다. 다운그레이드했을 때와 동일한 방법으로 펌웨어를 업로드하면 된다.- 정펌: FW_RT_AC68U_30043763626.trx
- 멀린: RT-AC68U_3.0.0.4_376.47_0.trx
참고로 필자는 aimesh 기능을 활성화하기 위해서 정펌을 선택하였다.
재부팅 후 적용 확인
펌웨어가 정상적으로 업로드 되었는지 확인한다.
롤백 방지 명령어
펌웨어를 업로드하는 과정에서 롤백될 가능성이 있으므로 꼭 잊지말고 해당 명령어를 실행해주는 것을 권장한다.
$ 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
ssh로 접속하여 명령어를 실행하면 된다.
nvram을 초기화하여 ssh 접속이 안된다면 해당 항목을 다시 활성화하여 시도한다.
nvram을 초기화하여 RSA 키가 인증되지 않는다는 에러가 뜬다면 로컬에 저장된 키를 초기화해주면 된다. 해당 명령어는ssh-keygen -R 192.168.29.1
이다.
최신 펌웨어 올리기
이제 남은 일은 최신 펌웨어로 올리는 것이다. 관리 - 시스템 - 펌웨어 업그레이드
에서 진행한다.
- 정펌은 자동 업데이트로 진행된다.
- 멀린펌은 직접 다운받은 파일로 진행한다.
최신 멀린펌은 해당 링크에서 받으면 된다.
AiMesh 사용하기
해당 방법을 이 포스팅에서 소개하기엔 너무 길어질 것 같아 별도의 포스팅으로 작성하였다. 해당 글을 참고하기 바란다.
마치며
AC1900을 AC68U로 변경하는 과정은 사실 순탄치 않았다. 작년에 윈도우로 시도했을 때는 연결이 안정하지 않아 실패하였다. 이번에는 맥으로 시도해보았는데 확실히 윈도우보다는 쾌적하게 진행되었다. 하지만 과정이 복잡하기 때문에 여러 블로그를 참고하여 시도하였다. 이번에 진행하는 도중에 실패한 적은 없었는데 AiMesh
기능이 멀린펌에서 안되는지 모르고 멀린펌으로 올렸다가 정펌으로 내리기 위한 삽질이 조금 있었다.. 역시 사전 준비는 중요하고, 급하게 하는게 꼭 빠른 길이 아니라는 것을 새삼 느꼈다.
그리고 최근에 정보보호병을 지원하면서 얕게나마 공부한 네트워크 개념들이 실제로 라우터를 구성하면서 많은 도움이 되었다. (역시 세상에 도움안되는 공부는 없다...) 작년에 도전했을때 실패했었는데 이렇게 네트워크 구성을 성공하고 나니, 그새 성장했구나?하는 괜한 뿌듯함도 들었다. 나라의 부름이 있은 뒤 처음한 일로 나름 만족한다. 앞으로 남은 시간동안에 이렇게 군대가서 할 수 없는 일들을 다하고 가고 싶다.
참고한 문서
'KAITE.it > Mac' 카테고리의 다른 글
[2020.06.22] 뉴 맥북 2016 나비식 키보드 수리 후기 (0) | 2020.06.26 |
---|---|
맥 마우스 스크롤 반대로 적용하자! (0) | 2020.06.12 |
댓글
이 글 공유하기
다른 글
-
[2020.06.22] 뉴 맥북 2016 나비식 키보드 수리 후기
[2020.06.22] 뉴 맥북 2016 나비식 키보드 수리 후기
2020.06.26 -
맥 마우스 스크롤 반대로 적용하자!
맥 마우스 스크롤 반대로 적용하자!
2020.06.12