펌웨어 교체

Note

OpenWRT 설치에 익숙하지 않으시거나 초보자분들은 스크린샷과 좀 더 자세한 설명이 있는 아래의 링크들을 참고하시면 더욱 더 도움이 되실 것입니다.

이 문서에서는 정품 “샤오미 Mi Wi-Fi Nano / Youth (R1CL)” 공유기에 미꾸라지 Firmware 를 설치하는 방법에 대해 기술하고자 합니다.

Warning

이 문서는 사용자가 콘솔 / 터미널 / 명령어 프롬프트 사용에 익숙하다는 가정에 기반하여 작성되었습니다.

준비하기

  1. “샤오미 Mi Wi-Fi Nano / Youth (R1CL)” 공유기를 구매합니다. 보통 https://shopping.naver.com 에서 “샤오미 청춘” 이라고 검색하시면 최저가로 구매하실 수 있으실 것입니다.

  2. 공유기에 전원을 연결합니다. 그리고 LAN 구간 (WAN 구간이 아님, 흰색 랜포트임) 에 작업할 컴퓨터를 연결합니다.

  3. Mi Wi-FI 프로젝트의 ‘공식 개발자 ROM’을 다운로드 받습니다. 이용 가능한 링크는 여기(1)여기(2) 에서 가능합니다.

  4. 윈도우 사용자의 경우, curl 과 putty 를 준비합니다.

공식 개발자 ROM 설치

이제 준비가 되었다면 정품 “샤오미 Mi Wi-Fi Nano / Youth (R1CL)” 공유기에 공식 개발자 ROM 설치를 하여야 합니다.

  1. 샤오미 공유기에 전원을 연결합니다. LAN 포트 (흰색 2 개의 포트들)에는 작업할 컴퓨터를 연결을 합니다. WAN 포트 (파란색 포트)에는 인터넷이 연결된 공유기에 연결합니다.

  2. 터미널 혹은 명령 프롬프트에서 192.168.31.1 IP 로 핑이 제대로 전달되는지 확인합니다.

  3. 핑 확인 후 http://192.168.31.1 로 접속하여 로그인합니다. 처음 로그인 시 몇몇 사용자 암호 설정과 Wi-FI SSID 설정 및 암호 설정 과정이 있는데, 이는 단순하게 설정합니다. 어차피 다시 덮어쓰게 되어 있습니다.

  4. 오른쪽 상단의 Updating 메뉴에 방문한 후, Firmware 를 직정 지정하여 업데이트를 하는 방식을 선택한 후 진행합니다. 만약 downgrading 에 대한 경고 메세지가 있다면 무시합니다.

    Check for updates 섹션 밑에 보시면 “Update manually” 라는 버튼이 있는데 해당 버튼을 클릭하시면 업로드를 하실 수 있습니다.

  5. 이제 5 ~ 7 분 정도 기다립니다. 터미널 혹은 명령 프롬프트에서 192.168.31.1 IP 로 핑이 제대로 전달되는지 확인합니다.

SSH 로그인

개발자 ROM 으로 제대로 대체가 되었다면 이제 SSH 로그인을 하여 해당 공유기에 접속하여야 합니다.

  1. 펌웨어 교체 후 공유기로의 핑이 제대로 된다면 이제 SSH 로그인을 하기 위해 root 패스워드를 설정할 필요가 있습니다.

  2. 브라우저를 이용하여 http://192.168.31.1/ 에 접속하여 앞서 세팅하였던 사용자 암호를 입력하여 로그인합니다.

  3. 로그인 후 URL 을 자세히 보시면 “stok” 이라는 부분이 보이실 텐데요, 이 부분은 복사하여 아래의 명령어를 대체하여 실행하시기 바랍니다.

    # curl -d "oldPwd=your_admin_pass&newPwd=desired_root_pass" \
      "http://192.168.31.1/cgi-bin/luci/;stok=<stok from browser url>/api/xqsystem/set_name_password"
    

    만약 제대로 실행이 되었다면 {"code":0} 응답을 반드시 받아야 합니다.

  4. 이제 ssh 명령 혹은 putty 로 공유기에 접속합니다.

    # ssh root@192.168.31.1
    
  • SSH 로 공유기에 접속할 수 없는 경우

    아래의 명령을 통해서 SSH 대신 telnet 을 활성화할 수 있습니다.

    # curl http://192.168.31.1/cgi-bin/luci/;stok=<stok from browser url>/api/xqnetwork/set_wifi_ap?ssid=tianbao&encryption=NONE&enctype=NONE&channel=1%3B%2Fusr%2Fsbin%2Ftelnetd
    {"msg":"未能连接到指定WiFi(Connecting)","code":1616}
    

    192.168.31.1 로 텔넷 (포트 23) 접속을 한 후 다음 명령을 차례대로 입력해서 SSH 접속을 할 수 있도록 작업을 해 보시기 바랍니다.

    # sed -i ":x;N;s/if [.\; then\n.return 0\n.*fi/#tb/;b x" /etc/init.d/dropbear
    # /etc/init.d/dropbear start
    # nvram set ssh_en=1
    # nvram commit
    

OpenWRT 설치

이제 OpenWRT 설치 준비가 되었습니다.

  1. 아래의 명령어를 이용하여 OpenWRT 펌웨어 이미지를 /tmp 디렉토리에 다운로드 합니다.

    # cd /tmp
    # wget http://downloads.openwrt.org/releases/18.06.1/targets/ramips/mt76x8/openwrt-18.06.1-ramips-mt76x8-miwifi-nano-squashfs-sysupgrade.bin
    
  2. 다운로드가 완료가 되었다면 이미지를 flash 합니다.

    # mtd -r write /tmp/openwrt-18.06.1-ramips-mt76x8-miwifi-nano-squashfs-sysupgrade.bin firmware
    
  3. 이미지가 Flash 된 후 재부팅이 될 때까지 5 ~ 7 분 정도 기다립니다. 설치가 완료되면 공유기는 자동 재부팅이 되게 됩니다.

    작업 컴퓨터의 공유기 연결선을 뽑았다가 다시 꽂아주세요. 당연히 흰색 랜포트에 꽂으셔야 합니다. 파란색 랜포트가 아닙니다.

  4. 이제 터미널 혹은 명령 프롬프트에서 192.168.1.1 IP 로 핑이 제대로 전달되는지 확인합니다. 더 이상 192.168.31.1 IP 가 사용되지 않습니다.

  5. 이제 ssh 명령 혹은 putty 로 공유기에 접속합니다.

    # ssh root@192.168.1.1
    

미꾸라지 설치

이제 미꾸라지 패키지를 설치할 차례입니다. 자세한 설치 방법은 설치 방법 (공유기) 섹션을 참고 바랍니다.