오닉스 페이지/리프3 EDL 모드 진입과 활용법

By | 2024-09-30

모니터는 우리가 인지하지 못하지만 초당 60번(60Hz), 120번(120Hz) 이상 화면 내용이 갱신되므로, 모니터를 오랫동안 보면 안구 건강에 좋지 않은 영향을 미치게 된다. 이에 비해 종이 책을 보거나 전자잉크(e-ink) 화면은 한번 표시된 지면 내용을 다시 쓰지 않는다. 전자잉크에 표시된 글씨도 페이지가 바뀔 때 딱 한 번만 화면에 글씨를 그리고 끝내므로, 종이에 인쇄된 활자를 읽는 것과 안구에 미치는 영향은 같다고 할 수 있다.

전자잉크 방식의 기기 중에 가장 많이 쓰이는 화면 크기는 6인치인데, 나는 조금 더 큰 7인치 전자잉크 기기를 주로 쓴다. 오닉스(Onyx) 사의 북스 페이지(Boox Page)인데, 중국 내수용으로 파는 모델명은 북스 리프3(Boox Leaf3)라고 해서 페이지에 비해 거의 반값에 팔린다고 한다. 중국 내수용 모델은 안드로이드 운영체제를 사용하지만 중국어와 영어만 지원하고 다국어는 지원하지 않도록 구분되어 있었는데, 하드웨어는 동일한데 안드로이드 운영체제(firmware)만 다르게 내장해서 판매하다 보니 사용자들이 중국 내수용 리프3를 싸게 구입한 후에 해외 판매용 페이지의 펌웨어를 내수용 리프3 기기에 바꿔치기 하는 방법을 찾아내서 그 방법을 두루 공유하기 시작했다.

그런데 이 펌웨어 바꿔치기 과정이 조금 복잡한 단계를 거쳐야 하다 보니, 자칫 잘못하면 바꿔치는 과정에서 기기가 벽돌이 되는 사례가 종종 생긴다. 20만원 안팎의 돈을 들여 직구한 리프3가 30여 만원의 페이지로 변신하기는 커녕, 끓인 라면 냄비 받침으로도 쓸 수 없는 애물단지가 된 경우다.

따라서 페이지든 리프3든 내장된 펌웨어(안드로이드 운영체제)를 통째로나 각 파티션 영역별로 백업 파일로 저장해 놓으면, 나중에 자신의 페이지나 리프3가 벽돌이 되거나 펌웨어 일부에 이상이 생겼을 때, 미리 파일로 저장해 둔 백업 파일을 기기에 덮어쓰면 완벽하게 복구할 수 있다.

나는 벽돌 탈출 목적으로 페이지의 펌웨어 백업을 해 두는 건 아니고, 오닉스 사에서 간간이 내놓는 펌웨어를 업데이트하고 나면 그 이전 펌웨어보다 더 불편하다 싶을 때가 있었기 때문에 언제든지 그 이전 펌웨어 상태로 나의 북스 페이지 기기를 되돌릴 수 있게 하기 위하여 전체 백업과 파티션 영역별 백업을 함께 받아두었다. 아래는 나의 친구 K님이 알려준 백업 방법대로 따라해 본 과정을 메모한 내용이다:

    준비물
    MS Windows에서 진행. 나는 맥북프로를 부트캠프 윈도우11로 부팅해서 진행했다.

  1. https://temblast.com/edl.htm에 들어가서 맨 아래쪽에 있는 “Download edl.exe, the EDL utiliy.”의 edl.exe 링크를 클릭하여 edl.exe 파일을 내려받는다.
  2. https://github.com/bkerler/Loaders/blob/main/qualcomm/factory/sdm662/0014d0e100000000_d40eee56f3194665_FHPRG.bin에 들어가서 [Download raw file] 아이콘을 클릭하여 오닉스 리프3와 페이지에 맞는 qualcomm/factory/sdm662/0014d0e100000000_d40eee56f3194665_FHPRG.bin 파일을 내려받는다.
    download raw file 버튼 클릭
  3. https://zadig.akeo.ie에 들어가서 “Download”라는 큰 글씨 아래에 있는 [Zadig 2.9 (5.1 MB)]이라는 링크를 클릭하여 Zadig-2.9.exe 파일을 내려받는다.
  4. 아래 진행 과정 중에서, adb 명령으로 페이지/리프3를 EDL 모드로 진입시키게 되므로,
    Android 스튜디오SDK 플랫폼 도구 중에서 한 가지가 설치되어 있어야 한다.
    만약 페이지/리프3 펌웨어 백업만 하는 사람은 용량이 훨씬 적은 [다운로드 Android SDK Platform-Tools : Windows]를 내려받아서 zip 압축을 풀면, 설치가 끝나고 adb.exe 명령어를 수행할 수 있게 된다.
    진행 과정

  1. USB 케이블을 사용하여 작업할 PC와 북스 페이지(또는 리프3)를 연결한다. USB 선으로 연결할 때 페이지/리프3는 켜져 있어야 하며, 페이지/리프3 화면에 “USB 디버깅을 확인합니까?“를 묻는 대화 상자가 나타나면, “항상” 체크 박스를 켜고 [확인] 버튼을 눌러준다.
    이 진행 과정이 끝날 때까지 PC와 북스 페이지를 연결한 USB 케이블을 계속 연결 상태로 두어야 하며, 만약 PC 노트북에서 진행한다면 노트북의 배터리 전원이 끊어지지 않도록 전원 연결 상태에서 진행하는 것이 안전하다.
  2. 윈도우 파일 탐색기 프로그램에서 위에서 내려받은 edl.exe 파일이 있는 곳을 선택한 다음, 파일 탐색기 주소 창에 “cmd”라고 입력하고 엔터 키를 누르면, 윈도우 명령어(cmd) 프로그램이 실행되면서 edl.exe 파일이 있는 폴더가 열린다.
  3. 윈도우 명령어 창에서 “adb device”를 입력하고 엔터 키를 누른다.
    이 명령 결과에 뭔기 기기 하나가 연결되어 있다고 나와야 된다. 아무 것도 연결되어 있지 않다고 나온다면, USB 케이블이 데이터 전송 기능이 없는 충전 전용선인지 확인해 보기 바란다.
    아니면 Android SDK Platform-Tools의 adb.exe 파일이 있는 경로가 지정되지 않은 경우일 수도 있다. 경로(path) 추가를 하거나, adb.exe 파일이 있는 곳으로 edl.exe와 *.bin, zadig-2.9.exe 총 3개의 파일을 adb.exe 파일이 있는 곳으로 복사한 후에 그곳에서 명령을 내리면 제대로 진행될 것이다.

    장치(device) 하나가 연결되어 있다고 나왔다고 가정하고 다음 단계로 진행한다.

  4. 윈도우 명령어 창에서 “adb reboot edl”를 입력하고 엔터 키를 누르면, 북스 페이지 화면이 살짝 어두워지면서 북스 페이지는 화면을 눌러도 아무 반응이 없는 상태가 된다. 즉 북스 페이지 기기가 EDL 모드에 들어갔다는 뜻이다.
  5. 페이지 기기가 EDL 모드에 들어갔으므로, 이제는 EDL 명령어를 수행하기 위해 필요한 USB 드라이버(구동 파일)를 설치할 차례다.
    윈도우 파일 탐색기 프로그램에서 “Zadig-2.9.exe”를 실행하면 Zadig 창이 열리는데, [Options – List All Devices] 메뉴를 선택하면 다음과 같은 화면이 나온다.
    zadig.exe 프로그램 실행하면 처음 열리는 창
    QUSB_BULK…로 시작하는 장치가 표시되지 않으면, [Install Driver] 버튼을 클릭하지 말기 바란다. 윈도우의 구동 장치 드라이버를 잘못 설치하면 되돌리기 무척 어려우니, 이 이전 단계 어딘가를 빠뜨리거나 올바르게 따라하지 않았는지 확인해 보기 바란다.

    위 그림과 같은 화면이 윈도우 모니터에 표시되었다면, [Install Driver] 버튼을 클릭하여 EDL 명령을 수행할 구동 드라이버를 설치한다.
    zadig 프로그램에서 Install Driver 기능 실행이 끝난 상태의 창
    “Driver Installation: SUCCESS”라고 표시되면, zadig 프로그램 창을 닫는다.

  6. 윈도우 명령어 창에서 “.\edl.exe /l”을 입력하고 엔터 키를 누르면,
    “Found EDL 9008, handshaking… nope, resetting… version 2.1″로 시작하는 서너 줄의 결과가 화면에 표시되면 제대로 된 것이다.
  7. 이제 여러 가지 edl.exe 명령어를 내리는 데 필요한 파일을 읽어들일 차례다.
    윈도우 명령어 창에서 “.\edl.exe /l0014d0e100000000_d40eee56f3194665_FHPRG.bin“라는 명령을 복사해서 붙어넣고 엔터 키를 누른다.
    “Sending 0014d0e100000000_d40eee56f3194665_FHPRG.bin 0%”라는 결과가 표시되면서 끝에 0%가 100%가 될 때까지 기다린다.
  8. 이제 윈도우 명령어 창에서 북스 페이지에 대하여 여러 가지 edl.exe 명령어를 수행할 준비가 끝난 상태다.
    “.\edl.exe /g”라고 입력하고 엔터 키를 눌러보면, 북스 페이지의 파티션 표가 주루룩 나열되어 나올 것이다.

    위 7번에서 .bin 파일을 온전하게 읽어들이지 못하면 edl /g와 같은 명령이 에러를 내므로, 위 준비물 2번에서 꼭 제대로 된 *.bin 파일을 내려받고, 진행 과정 7번처럼 “edl /l*.bin” 명령을 수행한 후부터 각종 edl /옵션 명령이 작동한다는 점을 잊지 말자.

    “.\edl.exe /g > partitions.txt”라는 명령어로 partitions.txt(파일이름은 각자 원하는 이름으로 지정) 파티션 정보에 대한 텍스트 파일을 저장해 둔다.

  9. 북스 페이지의 저장공간은 32GB이므로, 전체를 백업하려면 윈도우에 32GB 이상의 여유 공간이 필요하다. 빈 공간을 넉넉하게 마련한 상태에서 전체 백업 명령어를 내린다.
    “.\edl.exe /r .\폴더이름\Page_3.5.3_Backup.img” 엔터 키를 누르면 32GB 용량의 북스 페이지 저장공간 전체를 지정한 폴더에 지정한 파일이름.img라는 파일이 만들어진다. 용량이 크므로 시간이 조금 소요된다.

    “폴더이름” : 백업 파일이 놓일 하위 폴더 이름을 입력하면 됨.
    “Page_3.5.3_Backup” : 자신이 알아볼 수 있는 백업 파일이름을 적당히 입력하면 됨.

  10. 그밖의 edl 명령은 각자 알아서 내리면 되겠고, 북스 페이지를 일반 모드로 재시동하려면 “.\edl.exe /z”라고 입력하고 엔터 키를 누르면 된다.
    “Found EDL 9008, requesting reboot… ok”라는 결과가 표시되면서 북스 페이지가 재시동될 것이다.
    이 명령도 준비 과정 7번에서 edl /l*.bin 명령을 내린 후에 재시동 명령이 듣는다.

    뭐 단순하게 북스 페이지(또는 리프3)의 전원 버튼을 15초 이상 누르고 있으면, 일반 모드로 재시동이 되기도 하지만, edl /z 명령으로 재시동하는 방법을 추천한다.

  11. 참고 1.
    페이지 32GB 저장공간 전체를 백업 받아둔 파일로 복구하는 명령어는 “.\edl.exe /w /s0 /c0 (경로명\)filename.img”이다. 복구할 때는 세심한 주의가 필요하다.

    /s0 : 파일의 시작 위치
    /c0 : 블록의 갯수
    0 : 전체를 의미
    /s, /c 옵션을 사용하면 32GB 파일의 중간 특정 부분을 지정해서, 특정 파티션에 기록하는 것도 가능.

  12. 참고 2.
    “.\edl.exe /r /ponyxconfig onyxconfig.img” 명령어로 onyxconfig.img 파일(약 24MB 용렁)을 저장해 둔다. onyxconfig.img 파일에 페이지 기기의 SN, MAC 정보가 들어 있다.

    PC 디스크 저장공간이 여유가 있거나 외부 저장공간이 있다면, partitions.txt 내용의 모든 행을 각각의 파티션 정보를 파일로 저장하는 배치 파일로 만들어 둘 수도 있다:

    partitions.txt 파일 내용:
    1 xbl_a 131072 7168 Inactive

    81 userdata 13025536 48168671 User data

    backup_partitions.bat로 수정하여 다른 이름으로 저장한 내용:
    edl.exe /r /pxbl_a xbl_a.img

    edl.exe /r /puserdata userdata.img

    backup_partitions.bat 배치파일을 윈도우 명령어에서 실행하면, 81개의 edl 저장 명령이 진행되므로, 미리 PC 디스크 여유 공간이 32GB 이상 있는 것을 확인한 후에 실행하기 바라며, 노트북이라면 전원 연결을 한 상태에서 시간 여유를 가지고 실행하기 바란다.

    전체 백업 이외에 자신의 북스 페이지의 GPT 파티션 정보를 파열에 저장해 놓으면, 북스 페이지가 a, b 어느 slot에 활성화되어 있는지, 파티션 구성이 어떻게 되어 있는지 등의 구체적인 정보를 알게 되고, 복구할 수도 있게 된다.

  13. 나는 페이지 3.5.3 펌웨어 백업이 끝났으므로, 이제 부담없이 펌웨어 3.5.4로 업데이트하러 갑니다. 업데이트 후 언제든 3.5.4가 마음에 안 들면, edl 모드로 들어가서 백업해 놓은 3.5.3 백업 파일을 북스 페이지에 덮어쓰기를 하면 되니까요.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다