** 2020-07-21 추가 - 더 좋은 방법을 찾았습니다. 다음 글을 참고하세요.
https://www.clien.net/service/board/lecture/14582022CLIEN
시작하기에 앞서 몇 가지 적어봅니다.
** 주의사항
- 이 글은 중국어만 지원하는 중국 내수용 화웨이 모바일 LTE 라우터 E5885Ls-93a에 해외용 펌웨어를 강제로 덮어씌워 한국어 혹은 영어가 나오도록 만드는 방법을 담고 있습니다.
- 제품을 분해하는 과정이 있으며, 이 때 제품 라벨 스티커가 파손되므로 제품보증이 무효가 될 수 있습니다. 또한 분해가 생각보다는 그리 쉽지 않으므로 전자기기 분해/조립에 지식이 없는 분은 가급적 시도하지 마세요.
- 펌웨어 강제로 덮어씌우기는 E5885를 10만원짜리 벽돌로 변신시킬 수 있는 위험한 작업입니다. 저는 제 삽질기를 공유할 뿐이므로, 발생하는 모든 일에 대한 책임은 스스로에게 있다는 점을 명심하세요.
- 중국어가 정말로 불편해서 못 쓰겠거나 혹은 모험심이 불타는 분 외에는 시도하지 마세요. KT에서 한국에 정식 발매한 글로벌 원 에그(HW-E5885)나, 영문으로 나오는 제품을 가지고 계신 분도 대상이 아닙니다.
** 이 글을 작성하는데 있어서 참고한 곳
https://4pda.ru/forum/index.php?showtopic=842340
https://blog.minori.moe/?cat=17
https://www.clien.net/service/board/lecture/12571201CLIEN
** 구성
1편. S/W 준비 : MS 윈도우 환경에서 가상머신을 설치하고 여기에 리눅스를 올린 뒤 펌웨어 도구를 준비하기
https://www.clien.net/service/board/lecture/14154381CLIEN
2편. H/W 준비 : 도구를 이용하여 E5885의 배를 따기
https://www.clien.net/service/board/lecture/14155260CLIEN
3편. 펌웨어 올리기
- [H/W] E5885의 특정 단자를 합선시켜 마음(?)의 문을 열도록 조교(?)한 뒤
- [S/W] E5885에 강제로 펌웨어를 주입시켜 세뇌(?)하고, 잘 됐는지 검증하기
https://www.clien.net/service/board/lecture/14167412CLIEN
** 예상 난이도
리눅스 준비 : 초급 (윈도우만 쓸 줄 알면 따라할 수 있는 레벨)
E5885 분해 : 초-중급 (카드 또는 헤라를 써서 앞뚜껑을 여는 부분이 미경험자에게는 좀 어려울 수 있으며 파손 위험이 있음)
** 준비물 (S/W)
1. MS Windows7, 8.x, 10가 설치된 PC의 경우
- VMWare Workstation Player - 2019년 10월 13일 현재 v15.5.0
https://www.vmware.com/kr/products/workstation-player/workstation-player-evaluation.html
- Ubuntu Desktop 18.04 LTS 설치파일 (ISO)
2. 리눅스가 설치된 PC 혹은 mac의 경우
- Ubuntu Desktop 18.04 LTE 기준으로 작성됐으므로, 사용하는 OS 방식에 맞춰서 진행하거나 다른 방법을 강구하세요. 제 경우 mac을 쓰며 mac의 shell을 더럽히기 싫어서 VMWare Fusion에 Ubuntu를 설치해 작업했습니다. (이 글은 윈도우 기준으로 설명하기 위해 집 윈도우 컴퓨터에서 처음부터 다시 설치를 진행하면서 쓴거라능...)
** 준비물 (H/W → 2편에서 다룹니다.)
- 최소한 T5 6각별 드라이버와 사용하지 않는 플라스틱 카드 한 장이 필요합니다. 플라스틱 카드는 앞면 케이스를 강제로 벌려서 여는 역할을 하므로 파손될 가능성이 있으니 쓰지 않는 카드를 사용하세요. E5885는 당연히 있어야 되겠지요.
- 플라스틱 헤라와 금속핀셋, 칼이 있으면 작업이 더욱 수월해집니다. 헤라는 플라스틱 카드의 역할을 대신합니다.
================================================================================
1.1 가상머신과 Ubuntu 준비
================================================================================
1. VMWare Workstation Player 15.5 (가상머신) 설치하기.
만약 설치 중에 이런 메시지를 만나면
다음 링크에서 vc_redist.x64.exe (32bit라면 vc_redist.x86.exe) 를 받아 설치하면 해결됩니다.
https://support.microsoft.com/ko-kr/help/2977003/the-latest-supported-visual-c-downloads
설치 후 처음 실행하면 라이센스를 물어보는데 가정에서 쓰는건 무료이니 적당히 지나가세요.
2. 가상머신에 Ubuntu Desktop 18.04 LTS (리눅스) 설치하기.
이 화면이 나오면 [Create a New Virtual Machine]을 클릭하고
여기에서 아까 다운로드 받은 Ubuntu Desktop 18.04 LTS 설치파일을 지정한 뒤 [Next]를 클릭합니다.
ID와 비번은 적당히.
여기도 적당히.
디스크 용량이 부족한게 아니면 적당히 넘어갑니다.
설치할 가상머신에 대한 총 정리입니다. [Finish]를 클릭하면 가상머신 설치가 시작됩니다.
만약 이런 화면이 나온다면... 구글링 혹은 컴퓨터 전문가 찬스를 써서 해결하거나 말끔히 포기하세요.
(모든 스샷은 집컴에서 처음부터 하나하나 해가면서 찍고 있습니다. 집컴을 너무 방치했다는 생각이 드네요. ㅎㅎ)
정상적으로 진행된다면 이런 화면이 나올텐데, 안받으면 뭔가가 쉽게 안될거라고 협박하네요. 이런건 받아주세요.
가상머신에 Ubuntu를 열심히 설치중입니다. 잠시 티타임이라도 가져보는건 어떨까요?
3. 작업공간 준비하기.
카페인을 좀 흡입하고 왔더니 창이 작아져 있고 까맣게 되어있네요.
Ubuntu 설치를 다 끝내고 쉬고 있는 거랍니다.
아까 정한 ID를 선택한 뒤 비번을 입력해서 로그인 하세요.
잠시 기다리면 곧 아래 화면이 나올겁니다.
"What's new in Ubuntu"는 오른쪽 초록색 [Next] 버튼을 연타하면 없어집니다.
업데이트가 있다면서 설치하라는데, 앞으로도 이 Ubuntu를 계속 쓸 생각이면 하셔도 됩니다.
전 그냥 안할래요.
겨우 데스크탑이 깨끗해졌습니다.
좌하단 점 9개짜리 아이콘(Show Application)을 클릭하면
뭔가 많이 나오는데요. 이것들 1도 안씁니다.
키보드로 terminal 이라고 입력해 봅시다.
모든 작업은 이 터미널에서 이루어집니다.
엔터를 치거나 터미널 아아콘을 클릭하세요.
메인 작업공간이 나타났습니다.
드디어 이 짤의 빨간색 네모 친 부분에 도착했습니다.
제로상태에서 여기에 오기까지 되게 힘들었네요.
앞으로의 모든 S/W 관련 작업은 이 터미널에서 이루어집니다.
터미널을 여는 방법을 절대 잊지 마세요.
농사 짓는걸 예로 든다면 방금 밭을 다 갈은 셈입니다.
이제 씨앗(펌웨어)을 뿌리기 전에 비료(펌웨어 플래싱 도구)를 쳐야겠죠?
E5885에 펌웨어를 강제로 끼얹기 위해 크게 2개의 프로그램을 사용합니다.
(지금 시점에서는 파일을 미리 받을 필요가 없으므로 세부 링크는 진행과정 중에 알려드리겠습니다.)
- balong-usbdload : 물리적인 수단을 통해 마음(?)의 문이 강제로 열린 E5885의 머리를 말랑말랑하게 해주는 여왕님(E5885 safe usbloader)을 알현하게 해주는 목마 [읭?]
- balongflash : 녀석에게 강제로 펌웨어를 주입하는 양초와 채찍 [읭??]
하지만 이 두 녀석은 "소스코드"만 있습니다.
요리로 치면 탕수육(balongflash)을 만들고 싶은데 돼지고기, 밀가루, 전분가루, 식용유 등의 재료(소스코드)만 있는 셈입니다.
탕수육을 만들려면 무쇠솥과 집게 등의 요리 도구(컴파일 도구)가 필요하겠죠?
터미널에서 명령어를 입력하는 것 만으로도 컴파일 도구 뿐만 아니라 소스코드, 업로더, 펌웨어까지 필요한 모든 S/W가 마련됩니다.
================================================================================
1.2 프로그램 준비
================================================================================
1. git 준비
balong-usbdload : https://github.com/forth32/balong-usbdload
balongflash : https://github.com/forth32/balongflash
두 프로그램의 링크를 보면 github 이라는 곳에 있는걸 알 수 있습니다.
git(github는 git의 허브)이 뭔진 직접 찾아보시고요, 지금은 git에 있는 소스코드를 내 리눅스로 오롯이 가져오는 작업을 할 겁니다.
git에서 뭔가 가져오려면 git이라는 프로그램을 쓰면 됩니다.
터미널에 git을 입력해 봅시다.
우리 리눅스는 방금 설치한 따끈따끈한 깡통입니다.
하지만 대충 뭔가는 알고 있는 깡통이라, 자기한테 없는건 어디서 가져오라고 귀띔정도는 해줍니다.
귀띔해 준대로 입력해 보세요.
참고로 sudo 로 시작하는 작업은 보안상 문제가 발생할 수도 있는 무거운? 위험한? 작업이 대부분입니다.
따라서 sudo를 오랜만에 입력하게 되면 리눅스는 '어? 쥔님이 아니라 딴놈이 입력하는거 아녀?' 하며 패스워드로 자격을 확인하려 듭니다.
계정의 비번을 입력해서 주인님임을 알려주세요.
그러면 비로소 git을 설치할 준비를 시작합니다.
지 혼자 이것저것 알아보더니 4,733KB를 받아야 쓰겄다고 하면서 깔지 말지를 묻습니다.
살포시 y 를 누르고 엔터를 누르세요.
뭔가 열심히 일한 뒤 처음에 보았던 명령 입력모드로 돌아왔습니다.
리눅스에서 어떤 작업을 시켰을 때 쌉소리 없이 깔끔하게 돌아왔다는 건 아무 문제 없이 끝났다는 뜻입니다.
이렇게 git이 정상 설치되었습니다.
2. git에서 펌웨어 플래싱 도구(balong-usbdload, balongflash)의 소스코드 받기
git에서 남이 공개한 소스코드를 가져오는건 간단합니다.
명령어: git clone [github의 주소]
우선 balong-usbdload를 받아봅시다.
시작하기에 앞서 앞으로 터미널에 입력할 명령은 $로 시작하도록 하겠습니다.
$ git clone https://github.com/forth32/balong-usbdload
제가 이렇게 적으면 터미널에
git clone https://github.com/forth32/balong-usbdload
이렇게 입력하란 이야깁니다.
자. 시작해볼까요?
$ git clone https://github.com/forth32/balong-usbdload
설마 저 명령어, 특히 주소를 일일히 손으로 입력한건 아니죠?
이 글에서 마우스로 긁어서 [ctrl] + C 누른 뒤 우분투 들어가서 [ctrl] + V 눌러도 붙여넣기가 되지 않습니다.
터미널에서는 [ctrl] + [뭐시기]를 특수명령으로 이해하기 때문인데요.
이 때 필요한게 마우스 우클릭입니다.
Paste 의 뜻이 뭔지 모르는 분은 없을거라 생각합니다.
또는 [shift] + [ctrl] + V로 써도 됩니다.
뒤에 펌웨어 파일 주소 나오는데 그거 일일히 못 칠 수준이니 잘 알아두세요.
아무튼 "Cloning into 'balong-usbdload'..." 로 시작하면서 별 소리 없이 끝나 명령 입력모드로 되돌아왔습니다.
방금 받은 녀석은 현재 디렉토리(=폴더)에서 balong-usbdload라는 이름의 하위 디렉토리에 들어가 있습니다.
이 글은 리눅스 기초를 알려드리는게 주 목적이 아니므로 파일이 잘 있으려니 생각하세요.
이제 동일하게 balongflash의 소스코드를 받아봅시다.
$ git clone https://github.com/forth32/balongflash
3. 컴파일 도구(make, gcc 등...) 준비하기
앞서 balong-usbdload와 balongflash라는 요리를 하기 위한 재료(소스코드)를 받았습니다.
이제 요리를 하기 위한 도구를 준비해야겠죠?
소스코드를 실행파일로 만들어주는 역할을 하는 녀석으로 gcc란게 있습니다.
$ gcc
ㅇㅋ?
$ sudo apt install gcc
남자라면 못먹어도 y 입니다.
시간이 좀 걸리니 잠간 오줌보라도 비우고 오세요.
명령 입력모드로 돌아왔으면 이제 make라는게 필요합니다.
$ make
[...]
2개가 튀어나왔네요.
여기서는 제일 위에 make만 설치해도 충분합니다.
$ sudo apt install make
4. 플래싱 도구(balong-usbdload, balongflash)의 소스코드 컴파일 하기
기본적인 요리도구(컴파일 도구)의 준비가 끝났습니다.
이제 재료(소스코드)를 요리도구(컴파일 도구)로 요리(프로그램)를 만들어봅시다.
우선 balong-usbdload 부터.
$ cd balong-usbdload
cd는 얼레리꼴...이 아니라 change directory의 준말입니다.
현재의 위치에서 balong-usbdload라는 하위 디렉토리로 이동하란 얘기죠.
우분투는 명령 입력모드에서 내가 지금 어디 있는지 파란색 글자로 알려줍니다.
이동 후 해당 위치에서 make 명령을 때리면 똑똑한 리눅스는 알아서 합니다.
$ make
자세한 이야기는 생략하지만, 이 작업으로 balong-usbdload 라는 실행파일이 생성됐습니다.
명령 입력창에 balong-usbdload 라는 명령을 입력하면 실행됩니다.
$ ./balong-usbdload
실행파일 앞에 ./ 를 붙여야 하는 이유는 설명하지 않겠습니다. 그냥 붙이세요.
이제 balongflash를 컴파일할 차례입니다.
$ cd ..
$ cd balongflash
$ make
드디어 쌉소리가 처음으로 등장했습니다.
시뻘건 색으로 치명적 오류(fatal error)라고 적혀있죠?
gcc(컴파일러)가 나 저(zlib.h)게 뭔지 모른다고 주인님께 아뢰는 소립니다.
모르면 알려줘야겠죠?
근데 나도 저게 뭔지 모르는데...
다행히 오류메시지를 그대로 구글에게 넣었더니 구글신이 신탁을 내리셨습니다.
구글> 녀석에게 zlib1g-dev 를 깔아줘라
$ sudo apt install zlib1g-dev
이제 다시 가볼까요?
$ make
문제 해결!
저같은 하수 프로그래머들은 모르는 문제가 생기면 보통 이렇게 해결합니다. [...]
컴파일된 프로그램을 실행해봅시다.
이 프로그램 개발자가 실행파일 이름 중간에 언더바를 넣는 바람에 balong_flash가 되었습니다.
파일명은 개발자 마음이니 존중해 줍시다.
$ ./balong_flash
이로써 조교(플래싱)용 도구의 준비가 끝났습니다.
목마와 양초, 채찍이 준비됐으니 이제 여왕님을 준비해야 겠지요. [읭?]
================================================================================
1.3 펌웨어 로더 및 펌웨어 이미지 준비
================================================================================
들어가기에 앞서 펌웨어 로더 및 펌웨어 이미지는 플래싱 도구의 상위 디렉토리(즉 우분투 설치 직후 초기 디렉토리 = 홈 디렉토리)에 받겠습니다.
상위 디렉토리로 이동합니다.
$ cd ..
1. 펌웨어 로더(safe usbloader) 다운로드
※ E5885 safe usbloader는 러시아의 ValdikSS 님이 마련해 주셨습니다. https://twitter.com/valdikss
여왕님을 모셔올 차례입니다.
제가 화끈하게 쏘겠습니다.
제 서버에서 받아가시면 됩니다.
$ wget http://www.xain.pe.kr/zonx/image/clien/2019-10-13/e5885_usblsafe.bin
2. 펌웨어 이미지 다운로드
근데 이 여왕님은 조교를 잘 해서 머리를 말랑말랑하게 하는덴 도사이지만, 콘텐츠가 없습니다.
이 녀석은 화웨이국 녀석이라, 화웨이국의 교육X 세뇌O 자료(펌웨어)가 필요합니다.
2019년 10월 13일 현 시점에 화웨이국은 이 자료를 제공하고 있습니다만, 새 자료가 나오면 얜 짤릴 수 있음에 유의하세요.
(한국어/영어/중국어/일본어를 지원하는 2018년 1월에 나온 최신[...] 펌웨어입니다. 중국어만 지원하는 펌웨어는 올해에 나온 녀석이 있더군요.)
================================================================================
1.4 작성 후기
================================================================================
와... S/W 준비 이거 하나 쓰는데 4시간이 넘게 걸리네요.
리눅스 지식 제로인 분들도 따라할 수 있게 쓰려 했는데, 글쓰기에는 재주가 없어서 따라하는 분들이 이해하기 쉬울지 어떨지 걱정입니다.
하지만 여기까지 오면 많은 분들이 어려워할거라 생각되는 소프트웨어 및 펌웨어 준비는 끝입니다.
앞으로 남은건 요정도예요.
1. 전원을 끈 상태의 E5885 배를 따서 특정 핀 합선시키고, USB를 바로 컴퓨터에 꽂아 부트 모드 진입상태로 부팅시킨다.
2. 리눅스에서 명령어 (그것도 단 2줄)를 내려 펌웨어를 플래싱한다.
많은 분들이 이 글만 가지고도 다른 글 + 제가 작업하면서 쓴 글을 보고 펌웨어 플래싱을 시도하실 수 있을겝니다.
어찌되었든 이어서 2편. H/W 준비를 작성해보겠습니다.
* 2020-02-07 : 이미지 깨짐 수정 (외부링크로 돌림)
좋은 정보 감사합니다!
정말 쓰신글을 보니 리눅스 무경험자도 하실 수 있도록 최대한 쉽게 만드셨네요. 저라면 그냥 우분투 리눅스 설치 되었다는 가정하에 terminal text 로 뜬거 파일 올리고 끝냈을텐데..
정말 대단하십니다!!
여기까지는 잘 따라 왔습니다. 다음 강좌 기다리며 쉬어가네요...
감사합니다.~
3편을 윈도우 10 Pro 1903에서 준비하다가 드라이버 문제에서 막혔습니다.
(참고로 전 저 작업들을 맥 & 가상머신 내의 리눅스로 진행했었습니다.)
오늘은 이만 자고 내일 밤에 다시 시도해본 뒤 결과를 알려드리겠습니다.
최악의 경우 윈도우 10이 아닌 그 이하의 OS에서 해야 할 수도 있습니다.
단 가상머신 안 리눅스에 업로드할 파일들이 모두 준비되어 있으므로, 윈도우를 다른 버전으로 옮긴다 해도 가상머신 안 리눅스의 재 세팅은 필요 없습니다. (이게 가상머신의 장점!)
아아... 제가 리눅스 & 맥 유저라서 그런 것도 있겠습니다만, 지금 시점에서 윈도우는 저한테 짤처럼 보이는군요.
다만 게시물에 리눅스명령어에 링크가 붙어 다 긁어지지 않는 문제가 있네요. 확인 부탁드릴께요~
좀 불편하겠지만 마우스 우클릭으로 [링크복사]로 복사해서 쓰시길 바랍니다.
제 경우 님이 제시한거 깔았을 때 4G+가 잘 표시되었어요.
https://www.clien.net/service/board/park/14144188CLIEN