오늘 소개할 제품은 ASUS AC-1900입니다
이 제품의 가장 큰 장점은
VPN Client 기능을 제공한다는 것입니다
물론 다른 기능도 있으나 외부 IP가 2개 이상 필요할 경우
VPN 을 통해 외부 IP를 추가로 확보할 수 있다는 것입니다
VPN Client 기능이 있는 공유기 정보는 HL5KY OM님이 주셨고
DS5NQQ OM님께서 직접 사용중이라 문의하여 1대 구입하였습니다
ASUS AC-1900 제품은 미국 통신회사 T-Mobile에서 가정용으로 보급되었던 제품으로
RT-AC68U 제품과 H/W 사양은 동일하고 Firmware만 다르며
현재 Amazon을 통해 중고품이 거래되고 있습니다
그래서 Amazon을 통해 1대 구입하였습니다
2021.11.28일 구입하였는데 2021.12.8일 집에 도착하였습니다
배송 포장 상태는 아래와 같습니다
이 제품을 바로 사용해도 되나 AC68U로 펌웨어 변경하여 사용하였습니다
변경 방법은 '일구의 용궁 라이프" 라는 블로그 글을 보고 따라 하였습니다
https://100000won.tistory.com/13
위 링크를 따라가도 되나 혹시 블로그 글이 없을질 것을 대비하여 여기로 옮겨 재 편집하였습니다 (붉은 글씨)
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
아래 파일을 받고 압축을 풀면 위 3개 파일이 생성됩니다
다운로드 https://mega.nz/#!jAEi0S5S!JvWZ0s9G4pwMLpaIW8jQ_q-Zd8MBdihch3ZSSAs8Vs0
다운로드 출처: https://www.bayareatechpros.com/ac1900-to-ac68u/
PuTTY
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
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 꼽아서 작업하는 방식으로 해야합니다.
https://docs.google.com/document/d/1NsZMONmJ70zMmoAKKQJXbTVKytaPJptWTpqih1TD5n8/edit
링크에 있는 문서 내용을 모두 참고할 필요는 없습니다.
해당 문서는 사실 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. 브라우저 화면에서 마우스 오른쪽 버튼 클릭하면 메뉴 뜰 겁니다. (F12를 눌려도 됨)
(뒤로, 앞으로, 새로고침 등등...) 맨 아래 '검사' 누르면 개발자 도구 가 뜹니다.
(잘 모르겠으면 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분 이내 끝났음)
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/
384.13 이상 버전 파일을 받아서 압축을 풀어보시면 RT-AC68U_384.13_0.trx 파일이 있을 겁니다.
브라우저로 192.168.1.1 에 접속해서 관리 메뉴의 펌웨어 업그레이드 탭에 가보면 해당 파일을 업로드할 수 있습니다.
펌웨어 업그레이드가 완료되면 AiMesh 기능이 활성화된 것을 확인할 수 있습니다.
긴 시간 동안 고생하셨습니다. ㅎ
펌질이 쉽진 않은 거 같아요.
일구의 용궁 라이프 님께 감사를 드립니다
따라하기에 정말 편리하게 잘 정리되어
한방에 펌웨어 변경을 완료했습니다
필요로 했던 VPN Client 를 실행해보니 잘 작동하였습니다
물론 DV 통신에 필요한
- Port Forward
- DDNS 설정
등도 잘 작동합니다
추가 외부 IP가 필요하거나 네트워크 다양한 기능이 필요하신 분은 이 제품을 추천 드립니다
DS5QDR 73!
'DV Network' 카테고리의 다른 글
2022-01-06 DV NW : SKT Giga 인터넷 사용 시 설정 방법 (0) | 2022.01.06 |
---|---|
2022-01-03 DV NW : 휴대폰 USB 테더링 으로 인터넷 안정적 연결 (0) | 2022.01.03 |
2021-11-28 DV NW : ipTIME VPN 서버에 Raspberry Pi 접속 방법 (0) | 2021.11.28 |
2021-11-28 DV NW : ipTIME 공유기 VPN 서버 사용하기 (L2TP) (0) | 2021.11.28 |
2021-11-22 DV NW : ipTIME DDNS 관리 (변경, 삭제) (2) | 2021.11.22 |