IT/다른(Other)

Xiaomi ax3600 openwrt 적용법 (샤오미 ax3600 공유기 openwrt)

felk 2022. 1. 14. 02:00
반응형

제가 나름 기계 좀 만질 줄 안다고 생각해서 그까짓 공유기 하나쯤 만지는게 그렇게 어려울까 라는 아주 거만한 생각에 자칫 잘못하면 중간에 포기할뻔 했습니다ㅋㅋㅋ...;;

가뜩이나 한글로된 설명도 없고 다른 웹사이트에서 제시한 동영상 자료를 보고

'와, 이건 끝났다.' 라는 생각과 함께 가뭄에 단비라고 생각했으나...

또다른 시련의 시작이었죠.

우선 저는 처음에 ax1800 모델을 openwrt 적용하려고 했으나 절대 안됩니다.

뭘해도 안돼요.

아직 개발자 분들이 손대지 않은 영역입니다.

그래서 빨리 ax1800에서 ax3600으로 갈아탔습니다.

현재 샤오미 공유기 중에서는 ax3600과 ax9000이 비공식적인 방법으로 지원중 입니다.

샤오미 Ax3600 커펌 방법입니다 - 나스당 - 엑스팔육 (x86.co.kr)

 

샤오미 Ax3600 커펌 방법입니다

https://www.google.co.kr/amp/s/irq5.io/2020/08/10/custom-firmware-for-the-xiaomi-ax3600-wireless-router/amp/https://juewuy.github.io/gW0BsHgVU/https://www.right.com.cn/forum/thread-4389756-1-1.htmlhttps://qust.me/post/ax6000_shellclash/https://blog.iccfish

x86.co.kr

[John] Xiaomi AX3600 OpenWRT installation (Dual OS) - YouTube

위 사이트에서 제시한 그 유튜브 동영상입니다.

설명은 정말 자세하게 해줬는데요

몇가지 문제점이 있어서 뒤에서 제가 다시 설명드리겠습니다.

설명에 다소 귀찮음이 묻어날 수 있습니다. 제가 많이 지쳤거든요...

읽다가 의식의 흐름에 문제가 생기시면 댓글 달아주시면 자세히 설명드리겠습니다.

(선 작성 후 수정)

 

1. 샤오미공유기(ax3600) 펌웨어를 1.0.17 로 다운그레이드 합니다.

아 파일이 어디있지....;;;

[OpenWrt Wiki] Xiaomi AX3600

 

Xiaomi AX3600

Xiaomi AX3600 Under Construction! This page is currently under construction. You can edit the article to help completing it. OpenWrt support Not supported. Supporting activities * OpenWrt forum thread: <https://forum.openwrt.org/t/adding-openwrt-support-fo

openwrt.org

위 사이트 들어가셔서 아래로 조금 스크롤하시면 위 사진과 같은 부분이 있는데

파란색으로 링크처리된 부분을 클릭해서 펌웨어 파일을 다운받습니다.

파일확장자가 bin이라 윈도우에서 아마 위험하다고 막을텐데 그냥 가볍게 무시하시면 됩니다.

이제 이 파일을 공유기관리에 들어가셔서 수동 업그레이드를 통해 다운그레이드 하시면 됩니다.

(192.168.31.1 로 들어가는 그 곳 입니다.)

 

2. 취약점을 이용해 SSH를 뚫어봅시다.

nvram set ssh_en=1

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=gallifrey&user_id=doctor&ssid=-h%0Anvram%20set%20ssh%5Fen%3D1%0A

nvram commit

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=gallifrey&user_id=doctor&ssid=-h%0Anvram%20commit%0A

cp /etc/init.d/dropbear /etc/init.d/dropbear_backup

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=gallifrey&user_id=doctor&ssid=-h%0Acp%20%2Fetc%2Finit.d%2Fdropbear%20%2Fetc%2Finit.d%2Fdropbear_backup%0A

sed -i '/flg_ssh.*release/ { :a; N; /fi/! ba };/return 0/d' /etc/init.d/dropbear

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=gallifrey&user_id=doctor&ssid=-h%0Ased%20-i%20'%2Fflg_ssh.*release%2F%20%7B%20%3Aa%3B%20N%3B%20%2Ffi%2F!%20ba%20%7D%3B%2Freturn%200%2Fd'%20%2Fetc%2Finit.d%2Fdropbear%0A

echo -e “<PASSWORD>/n<PASSWORD>” | passwd root

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=gallifrey&user_id=doctor&ssid=-h%0Aecho%20-e%20%27admin%5Cnadmin%27%20%7C%20passwd%20root%0A

/etc/init.d/dropbear enable

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=gallifrey&user_id=doctor&ssid=-h%0A%2Fetc%2Finit.d%2Fdropbear%20enable%0A

/etc/init.d/dropbear start

http://192.168.31.1/cgi-bin/luci/;stok=<STOK>/api/misystem/set_config_iotdev?bssid=doctor&user_id=doctor&ssid=-h%0A%2Fetc%2Finit.d%2Fdropbear%20start%0A

 

주소창에 코드블록 부분을 그대로 복사해서 넣으시되

잘보시면 중간에 stok=<STOK> 부분이 보이실겁니다.

여기에다 무엇을 넣어야되냐면요

공유기 관리자 홈페이지에 로그인하시고 주소를 보시면 아마

stok=

으로 시작하는 부분이 분명히 있습니다.

= 다음에 해당하는 부분부터 / 까지 부분을 <STOK>에 넣어주시면 됩니다.

물론 괄호는 넣지 않습니다.

위 코드를 넣어서 엔터를 눌렀더니 0 이라는 숫자가 보이면 성공입니다.

이제 SSH가 뚫렸습니다.

축하드립니다.

 

3. putty 한번 써보기

지금은 설치만 하겠습니다.

Download PuTTY: latest release (0.76) (greenend.org.uk)

 

Download PuTTY: latest release (0.76)

This page contains download links for the latest released version of PuTTY. Currently this is 0.76, released on 2021-07-17. When new releases come out, this page will update to contain the latest, so this is a good page to bookmark or link to. Alternativel

www.chiark.greenend.org.uk

자신의 운영체제에 맞는 파일을 다운받아 설치하시면 됩니다.

실행하시면 Host Name(or IP address) 부분과 port 부분이 있습니다.

호스트네임에 192.168.31.1 을 입력하시고 아래에 open 버튼을 눌러줍니다.

그럼 검은색 창이 열립니다.

먼저 유저이름을 물어봅니다.

root 를 입력하고 엔터를 누릅니다.

다음에는 비번을 물어봅니다.

admin 을 입력하고 엔터를 누릅니다.

이렇게 하시면 ssh 접속이 된 것 입니다.

 

4. winscp 한번 써보기

WinSCP :: Official Site :: Download

 

WinSCP :: Official Site :: Download

WinSCP 5.19 Download WinSCP 5.19 is a major application update. New features and enhancements include: A complete list of files that are part of a background transfer can be shown. Support for PPK version 3 keys from PuTTY 0.75. Stream interface in .NET as

winscp.net

다운받으시고 설치합니다.

파일 프로토콜은 scp

호스트 이름에는 192.168.31.1

포트번호는 그대로

사용자 이름에는 root

비밀번호는 admin

을 입력하고 로그인을 누릅니다.

그럼 처음에는 폴더 하나 (정확히 말하면 상위루트로 이동하는 버튼) 만 뜹니다.

더블클릭하면 우리가 원하는 파일들이 나오게됩니다.

tmp 폴더를 찾으셨나요?
들어갑니다.

https://drive.google.com/file/d/140Ga1nMEBovAts_iHqH1_vukXJSoQQZf/view?usp=sharing 

 

openwrt-ipq807x-generic-xiaomi_ax3600-squashfs.zip

 

drive.google.com

위 파일을 다운받으시면 됩니다.

이게 무려 5시간 동안 걸려서 만든 파일입니다.

만드는 것만 5시간이고 실제로는 오류가 장난아니게 터져나와서 1일 동안 개고생했습니다.

왜 안 올려 놓으신거죠? 개.발.자.님?

압축을 해제하시면 

openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-factory.ubi 파일이 있습니다.

이 파일만 위에 tmp 폴더에 Drag&Drop 해줍니다.

그냥 복붙하시면 알아서 지가 업로드해줍니다.

그럼 이제 winscp 는 버려도 됩니다. (미안ㅎㅎ)

 

5. openwrt 설치하기

 

  1. This is a device with a dual partition scheme layout, so you need to find out which one is running with the command
    nvram get flag_boot_rootfs
  2. The output should be the partition number where the current system was booted from
    mtd12: 023c0000 00020000 "rootfs"  - is the 0
    mtd13: 023c0000 00020000 "rootfs_1"  - is the 1
  3. Since you can't flash the current partition because it's locked you can only flash the opposite one by replacing the mtd number in the following command
    ubiformat /dev/mtd12 -f /tmp/openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-factory.ubi
  4. After flashing the image you need to configure the u-boot to boot from the recently flashed image by replacing the 1 with the number of the opposite partition (1 or 0) and running the commands
    nvram set flag_last_success=0 # if you've flashed mtd12, or "1" if mtd13
    nvram set flag_boot_rootfs=0 # same
    nvram commit
    reboot
  5. After the router boots it should be running the OpenWrt image, but now you need to flash the other partition to be able to sysupgrade without soft-bricking your router by replacing the mtd number with the one of the opposite partition with the command
    ubiformat /dev/mtd13 -f /tmp/openwrt-ipq807x-generic-xiaomi_ax3600-squashfs-nand-factory.ubi
  6. After this you can flash future OpenWrt images/upgrades as usual

죄송합니다.

당황하지 마시고 여기서부터 보시면 됩니다.

위 명령어는 putty에서 ssh 접속을 한 다음 입력해야 합니다.

1번은 지금 현재 순정 펌웨어가 어디에 설치되어 있는지 알려주는 명령어 입니다.

2번은 1번의 명령어 입력 후 생기는 숫자가 무엇을 의미하는지 알려주는 겁니다.

아마 1이라고 떴을텐데 그럼 rootfs_1 이라는 폴더에 순정펌웨어가 설치되었다는 의미입니다.

그럼 우리는 openwrt를 0 즉, rootfs 에 설치해야 합니다.

 

3번은 tmp폴더에 업로드한 openwrt 펌웨어를 설치하는 명령어 입니다.

rootfs 폴더에 설치하도록 제가 명령어를 약간 수정해놨습니다.

4번은 공유기를 재부팅할 때 무슨 펌웨어로 부팅할지를 설정하는 명령어 입니다.

약간 윈도우의 듀얼부팅 같은 느낌으로 가고 있습니다.

reboot 까지 입력하시면 이제 공유기가 재부팅되고 Openwrt 설치를 시작하게 됩니다.

아마 처음에는 주황색 LED가 깜빡거리고 조금 기다리면 파란색이 들어오게 됩니다.

그럼 openwrt 설치가 끝난겁니다.

 

이제 접속하실때는 192.168.1.1 로 접속하셔야 합니다.

로그인 아이디는 root

비밀번호는 password 입니다

진짜로요.

이건 바꿔줘야겠죠?

우선 중국어부터 영어로 바꿔줍니다.

번역기 혹은 위 사진을 보시면 상단 메뉴에서 2번째에 있는게 시스템 설정입니다.

누르면 나오는 리스트에서 제일 첫번째에 있는 메뉴에 들어갑니다.

위 사진을 이용해서 language and style 에 들어가셔서 (그 전에 Timezone도 서울로 바꿔주세요)

language 를 auto로 설정하면 영어로 바뀝니다.

비번은 system-administration 에 가장 상단 부분에서 바꾸시면 됩니다.

지금 저도 여러가지 만져보면서 배우는 중이라서 사용법은 나중에 다시 올리는 걸로ㅎㅎ...

 

위에서 설명하다 말은 5번 내용은 저는 아직 안했습니다.

왜냐하면 이걸 하면 아예 순정으로 부팅이 불가능해집니다.

하지만 openwrt 를 업데이트하시면서 쓰실 분들에게는 오히려 문제가 됩니다.

저도 지금 봤는데 openwrt 업데이트를 하면 5번을 안할 경우 벽돌이 된다고 하네요?????

근데 업데이트를 안하실 분들은 그냥

putty에서

fw_setenv flag_last_success 1

fw_setenv flag_boot_rootfs 1

reboot

입력하시면 놀랍게도 순정으로 돌아옵니다...!

다시 openwrt 로 돌아오려면 4번 명령어를 입력하시면 됩니다.

뭐... 선택은 여러분의 자유니까요

반응형