** 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편에서 다루었습니다.)
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는 당연히 있어야 되겠지요.
- 플라스틱 헤라와 금속핀셋, 칼이 있으면 작업이 더욱 수월해집니다. 헤라는 플라스틱 카드의 역할을 대신합니다.
================================================================================
3.1 본격적으로 펌웨어 강제로 올리기
================================================================================
시작하기에 앞서 E5885의 전원을 끄세요.
여기부터는 얘가 깨어났을 때 특정 핀의 상황에 따라 얘가 정상 모드로 부팅할지, 부트 모드(마음이 강제로 열린, 조교받을 준비가 된 상태)로 부팅할지가 결정됩니다.
1. 부트 모드로 이끌어주는 핀
사진에서 빨간색 원에 있는 구리색 단자가 바로 이 녀석의 마음의 문을 강제로 열기 위한 열쇠구멍입니다.
저 단자를 그라운드(쉽게 말하면 음극)에 연결한 상태에서 전원을 켜면 이 녀석은 그 어떤 펌웨어도 달게 받아들일 수 있는 이상(?) 상태가 됩니다.
그러면 그라운드는 어디에 있느냐?
다행히 파란색 원 부분, 즉 USIM을 고정하는 철판이 그라운드에 연결돼 있습니다.
즉, USIM 고정 철판과 빨간색 원 안의 단자를 쇠붙이로 연결한 뒤 전원을 넣으면 됩니다.
아직 전원은 켜지 말고, USB 케이블을 PC에 연결하지 않은 상태로 이 녀석에게만 연결해 둡시다.
제 경우 이렇게 했습니다.
드라이버도 쇠붙이라 전기가 아주 잘 통하거든요.
금속 핀셋이 있으면 더 쉽게 가능합니다.
이 때 다른 단자가 그라운드에 연결되지 않도록 주의하세요.
어떤 일이 벌어질지 아무도 모릅니다. (화웨이 개발자는 알 지도?)
2. 부트 모드로 켜기
마음의 문을 여는 열쇠구멍에 그라운드를 쑤셔넣은 상태에서 전원을 넣습니다.
그런데 어떻게? 본체 전원버튼을 길게 눌러서?
아닙니다.
E5885의 전원이 꺼진 상태에서 PC에 USB를 꽂으면 지가 알아서 켜집니다.
(단, 부트 모드로 켜지면 전면 LCD에는 아무것도 안 나옵니다.)
이 때 PC에는 아까 설치한 우분투 가상머신이 돌아가고 있어야 합니다.
USB를 꽂은지 몇 초 안 지나서 이런 창이 뜰겁니다.
(Windows 10의 경우)
※ 이 창이 나오면 아래 [3. 윈도우의 레지스트리 수정하기] 로 가세요!!
※ 이 창이 안 나오면 아래 [4. 가상머신 내 리눅스에 E5885를 연결하기] 로 가세요!!
쫄지 마세요.
우리 멍청(?)한 윈도우는 화웨이 라우터의 오픈 마인드 모드를 알 턱이 없습니다.
저건 드라이버가 없다고 징징대는 겁니다.
그보다도 가상머신에서 쏘는 창에 주목하세요.
아, 참고로 USB를 꽂고 약 5~10초 정도까지만 단자를 그라운드에 연결해주면 됩니다.
그 이후에는 이미 부팅이 되었기 때문에 떼도 무관합니다.
메인보드를 뒤집어서 LCD를 봐도 아무것도 표시 안 됩니다. 정상입니다.
어이쿠, 제 디바이스의 일부가 나오고 있네요.
하지만 정작 화웨이 라우터는 안 보입니다.
mac에선 안 그랬는데... 흠... 역시 윈도우가 멍청한가봅니다.
저 말은 새 장치가 꽂힌게 확인됐는데, 그거 가상머신으로 끌어올 수 있어! 라고 알려주는겁니다.
더 쉽게 말하자면 "너가 방금 꽂은 그 녀석, 가상머신 안의 리눅스에 꽂은 것처럼 가로챌 수 있어."
펌웨어를 강제로 쑤셔넣기 위해 리눅스를 깔았으니, 이 녀석을 리눅스에 붙여줍시다.
저 창은 [OK] 눌러서 닫고, 가상머신 우상단의 아이콘에 마우스를 올려서 이름을 하나하나 확인해봅시다.
그 와중에 Huawei Unknown USB Device 어쩌구 하는, 나는 E5885라고 주장하는 녀석을 찾습니다.
그리고 우클릭 해보세요.
이거 당연히 Connect 눌러야 하는거 직감하시죠?
가상머신이 경고합니다.
"너가 하려는 짓은, 예를 들어 컴퓨터에 쓰고 있는 USB 장치를 갑자기 확 뽑아서 다른데 꽂는 것과 똑같은 짓이야. 잘못하면 데이터 날아갈 수 있거든? 괜찮겠어?"
USB 메모리도 아니고, 그냥 [OK] 눌러줍시다.
(제 컴퓨터에서는 이 시점에 이 창이 나왔지만, 시스템에 따라서는 E5885 꽂았을 시점에 나올 수도 있습니다. 사실 그게 정상입니다.)
와... 뒷북 5G네요.
가상머신이 "너 지금 Huawei... 막 꽂은거 확인했거든? 이거 가상머신으로 끌어올 수 있어!"라고 당당히 말하는 이 똥멍충이 보소...
니 가로채기 기능 이용해서 E5885를 윈도우 컴퓨터에서 가상으로 뽑은 뒤 니 리눅스에 가상으로 꼽았거든?
아무튼 정상적으로 E5885가 가상머신 내 리눅스에 연결되겠거니 싶었는데...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!?
윈10이 지가 뭔지도 모르는 주제에 다시 빼앗아가네요?
여기에서 막혀서 약 2일의 시간이 그냥 흘러갔습니다.
그리고 결국 이유를 알아내어 해결하는 방법을 만들었습니다.
3. 윈도우의 레지스트리 수정하기
일단 E5885의 USB를 뽑으세요. (USB 뽑아도 E5885는 계속 부트 모드 상태로 살아있습니다.)
그리고 윈도우에서 아래 링크의 파일을 다운로드 하시고요.
http://www.xain.pe.kr/zonx/image/clien/2019-10-13/huawei-e5885-reg.zip
압축 풀면 레지스트리 파일(huawei-e5885_skip-usb-bos-descriptor-request.reg) 하나가 튀어나옵니다.
더블클릭 해서 실행하세요.
레지스트리를 만지는 건 위험한 작업이므로 이런 메시지가 나옵니다.
이거 제가 만든겁니다. (내용 까보면 별거 없어요...)
절 못 믿으시면 [아니오]를 누르신 뒤 브라우저의 [뒤로가기] 버튼을 눌러서 펌웨어 강제 덮어쓰기를 포기하시고,
믿으시면 [예]를 누르시고 이 글을 계속 진행하세요.
설치가 끝났으면 혹시 모르니 시스템을 재시작해 주세요.
재시작 후 VMware Workstation Player를 실행하면 아까 설치한 우분투 화면이 안 나오고 다음과 같이 나올겁니다.
[Ubuntu 64-bit] (혹은 리눅스 설치시에 정한 임의의 이름)을 더블클릭 하면 아까 그 화면으로 되돌아옵니다.
4. 가상머신 내 리눅스에 E5885를 연결하기
화면이 돌아왔으면 컴퓨터에 E5885 USB를 꽂으세요.
(이미 부트 모드로 켜져있으므로 핀을 합선시켜줄 필요가 없습니다.)
아까와는 달리 요런 녀석이 안 나올겁니다.
한 10초~1분정도 기다리세요.
그러면 이런 창이 나올겁니다.
여기까지 왔으면 거의 끝입니다.
이제 이 녀석에게 마우스를 올려서
우클릭 → [Connect (Disconnect from host)] 를 클릭하세요.
여기서 [OK] 누르세요.
자 여기까지 왔으면 가상머신 안의 리눅스에 E5885가 연결되었습니다.
즉, 이 리눅스에 E5885 USB를 직접 꽂은 셈입니다.
리눅스 상에서 E5885가 보이는지 확인해봅시다.
$ ls /dev/* | grep ttyUSB
| 는 [shift] + [₩(영문키보드면 \)]를 누르면 나옵니다.
화면처럼 /dev/ttyUSB0 가 나오면 99% 성공입니다.
만약 안 나오면 핀 합선이 제대로 안 되어서 부트 모드가 아닐 가능성이 큽니다.
아래는 /dev/ttyUSB0 가 안 나올 경우에만 진행하세요!!
가상머신 내 리눅스에서 장치를 분리한 다음
(이 작업 안 하고 USB 뽑으면 드라이버 문제가 생겨서 좀 귀찮아져요. 컴퓨터 재부팅 해야 함.)
E5885의 전원버튼을 기~일게 눌러서 (약 10~20초) E5885가 정상 부팅되는걸 LCD로 확인하고 다시 전원을 끈 뒤 [2. 부트모드로 켜기]부터 다시 진행하세요.
5. E5885에 펌웨어 로더(safe usbloader) 올리기
마음이 열린 E5885에게 목마(balong-usbdload)를 이용하여 머리를 말랑말랑하게 조교해줄 여왕님을 주입합니다.
$ sudo ./balong-usbdload/balong-usbdload -p /dev/ttyUSB0 -c e5885_usblsafe.bin
펌웨어 로더가 정상적으로 올라가면 E5885가 재부팅되면서 LCD에 화살표가 나옵니다.
이러면 머리가 말랑말랑해져서 새 펌웨어를 받아들일 준비가 완료된 겁니다.
** 문제 발생시 대처방법
다음처럼 에러가 났을 경우 (꼭 이렇게 나지 않고 숫자가 100%까지 안 올라가고 중간에 멈춘 경우도 해당)
쫄지 말고 가상머신 내 리눅스에서 장치를 분리한 다음
(이 작업 안 하고 USB 뽑으면 드라이버 문제가 생겨서 좀 귀찮아져요. 컴퓨터 재부팅 해야 함.)
E5885의 전원버튼을 기~일게 눌러서 (약 10~20초) E5885가 정상 부팅되는걸 LCD로 확인하고 다시 전원을 끈 뒤 [2. 부트 모드로 켜기]부터 다시 진행하면 됩니다.
6. 펌웨어를 강제로 플래싱하기
자, 이제 남은건 세뇌시키기(펌웨어 올리기)뿐입니다.
세뇌를 시작하기 전에 현재 어떻게 연결돼 있는지 확인해봅시다.
$ ls /dev/* | grep ttyUSB
아깐 ttyUSB0만 있었지만, 새로 ttyUSB1이 생겼습니다.
새로 생긴 ttyUSB1 에게 양초+채찍(balong_flash)으로 세뇌자료를 흘려보내주면 끝입니다.
단, 얘는 퍼센트가 올라가다가 멈짓멈짓 합니다. 몇 초 기다리면 다시 올라가니 쫄지 마세요.
$ sudo ./balongflash/balong_flash -p /dev/ttyUSB1 ./E5885Ls-93a_UPDATE_21.182.63.00.148_WEBUI_21.100.37.00.148_NE5.ZIP
Перезагрузка модема... 은 E5885를 재부팅한다는 뜻입니다.
제가 맥의 가상머신에서 할 땐 *** stack smashing detected ***: <unknown> terminated 오류를 못 봤는데, 윈도우에서는 나오네요.
하지만 정상적으로 펌웨어가 다 구워지고 재부팅 신호까지 보냈으니 별 문제 없더군요.
현 시점에서 E5885는 LCD에 HUAWEI 로고를 띄운 채 얼어있을겁니다.
정상상태입니다. 갑자기 세뇌당하고 얼빠져 있는 거거든요.
USB 케이블을 제거하고 1분정도 스스로 세뇌당한 머리를 정리할 시간을 준 뒤, 전원버튼을 10~20초 정도 로고가 꺼질때까지 길게 눌러서 전원을 끄고 다시 전원을 켜면 끝입니다.
수고하셨습니다.
이제 조립만 남았군요.
조립은 분해의 역순입니다.
** 펌웨어 업로드하다가 문제 발생시 대처방법
아까와 마찬가지로 쫄지 말고 가상머신 내 리눅스에서 장치를 분리한 다음
(이 작업 안 하고 USB 뽑으면 드라이버 문제가 생겨서 좀 귀찮아져요. 컴퓨터 재부팅 해야 함.)
E5885의 전원버튼을 기~일게 눌러서 (약 10~20초) E5885가 정상 부팅되는걸 LCD로 확인하고 다시 전원을 끈 뒤 [2. 부트 모드로 켜기]부터 다시 진행하면 됩니다.
================================================================================
3.2 작성 후기
================================================================================
와... 윈도우 10 1903에서 하나하나 재현해 가면서 작성하는데, 중간에 드라이버 문제 때문에 막혀서 진땀 흘렸네요.
E5885에 대한 굇수들의 관심이 멀어져서인지 아무도 해결법을 안 내놨더군요.
생각보다 방법은 쉬웠지만 결국 제가 레지스트리 수정 파일을 직접 만들어야 했습니다.
여튼, 아무도 성공 못한 최신버전 윈10에서 펌웨어 올리기에 성공해서 기쁘네요.
모두들 별 탈없이 성공하시길 바랍니다.
덧. 전 더 이상 E5885을 뜯기 싫어서 해당 핀에 삐삐선을 납땜해서 붙여버렸습니다. ㅎㅎ
이렇게 안 뜯고 부트 모드로 켤 수 있습니다.
평소에는 이렇게 넣고 다닙니다. (microSD도 잘 들어갑니다. 쓸 일 없어서 지금은 뽑아놨지만요.)
* 2020-02-08 : 이미지 깨짐 수정 (외부링크로 돌림)
직접 하면 100퍼.. 날려 먹을게 예상이 되네요..
혹시.. 소정의 비용 드리면.. 업글 해주실 의향도 있으신가요?
재작년 타오바오에서 직구로 구매해서 이래저래 출장가서 잘 써먹기는 하는데..
중국어로 나와서 좀 불편하기는 하네요.. ㅠㅠ
헤라 등 몇 가지 도구와 몇 번의 소소한(?) 실패를 경험하시면 금새 기기 분해와 친숙해지게 될 겁니다.
그 사이에 몇 개의 기기가 맛이 갈 수는 있습니다만 그 정도야 문제를 해결한 뒤의 기쁨에 비하면 지불할 만한 값어치가 있다고 생각합니다. ^^
전 간체자 읽지도 못하고 시각적으로 극혐이라 어찌저찌하다가 여기까지 왔거든요.
(번체자가 나왔으면 이 짓 시작도 안했을 듯...)
수고하셨습니다. 저는 우분투 라이브로 해결했지만 님의 강좌가 아니었다면 힘들었을 것 같습니다.
감사합니다.~
레지스트리까지 만지게 될 줄은 꿈에도 생각 못했습니다.
3번째 글 없이도 성공하셔서 다행이네요. 사실 우분투 라이브 같은 네이티브 리눅스로 하는게 제일 쉽긴 하죠.
그걸 못 만드는 분들이 있어서 가상머신에 까는 방식으로 설명을 진행하다가 똥 밟아버렸지만요. ㅎㅎ
부디 잘 쓰시길 바래요. :)
용자님 글 잘 봤습니다 ㅎㅎㅎ
중간에 쓰다가 스스로 지겨워져서 끼워넣어 봤거든요.
오기를 가지면 누구라도 할 수 있을거에요, 이거.
버추얼박스를 쓰니 저런 레지스트리 수정없이 USB장치 패스쓰루가 잘 되서 VMware 버리고 버추얼박스 씁니다.
하드웨어 개발하고 있는데 몇년 째 네이티브 리눅스만 쓰다가 GUI지원이 희망이 안보여서 최근에 윈도우+버추얼박스로 하고 있네요...
혹시라도 기회되시면 버추얼박스로도 시도해보심이 좋을 것 같아요 ㅎ
윈도우가 막 연결된 USB 장치에 BOS 요청을 하는데 fastboot 상태의 E5885가 대답을 안 하는 바람에 OS단에서 E5885 자체를 거절해 버리는거라, 이건 패스쓰루를 해주고 자시고의 단계 이전의 문제더군요.
저 레지스트리는 특정 ID를 가지는 USB 장치 (여기선 E5885)의 BOS 요청을 하지 말고 그냥 통과하라는 내용입니다.
패스쓰루 상태에서 USB를 그냥 뽑아버리면 그 다음 꼽았을 때 패스쓰루 해주지도 않으면서 한 걸로 착각하고 죽어도 연결 안해주더군요.
이 때엔 윈도우 재부팅이 답이더란...
본문에 "가상머신 내 리눅스에서 장치를 분리한 다음(이 작업 안 하고 USB 뽑으면 드라이버 문제가 생겨서 좀 귀찮아져요. 컴퓨터 재부팅 해야 함.)"이 멍청한 VMware 패스쓰루 드라이버를 한탄하는 내용입니다.
시간 나실 때 심심풀이로 한번 펌웨어 올려보세요.
KT 정발이 아닌 이상 한국 내에서는 워런티를 바라보는 물건도 아닐테니까 말예요.
설명을 아주 자세하게 해주셨네요. 감사합니다.
시간날 때 한글 펌웨어 씌워봐야 겠어요.
본문 참고하세요 : https://www.clien.net/service/board/use/14144194CLIEN
현재 한글 펌웨어는 광대역이나 CA 잡혔을 때에도 아무런 표시를 안 해주는데, 전에 님께서 댓글 남기셨던 영문/아랍어 펌웨어는 4G+라고 표시해주니, 굳이 한글이 필요없으면 그 펌웨어를 올리는 것도 괜찮을 듯 싶습니다.
https://www.clien.net/service/board/use/14144194CLIEN
한글 펌웨어 상태에서 KT망의 광대역 + CA 동시에 잡은 걸로 보이는 속도
https://www.clien.net/service/board/park/14168001CLIEN
펌웨어 바꾸면 라우터로 쓸수있을까요?
즉, 펌웨어 바꿔도 안돼요. (IMEI를 바꾸면 가능한데, 이건 국내에서는 불법이라더군요.)
그리고 혹시 Win10 에서 VM 구동이 안되시는 분들은 프로그램 추가삭제- 윈도우 구성요소 관리에서 Hyper-V 및 Windows 샌드박스 체크 해제하고 OS 재부팅 2회 하고나면 VMware 환경 VM 구동 됩니다.
정보 감사합니다.
제건 영문버전이라.. 겁많은 저는 그냥 써야겠네요.
추천합니다.
배터리 셀 교체가 가능한지 궁금하네요..
그러려나요.. 4G 정도면 속도도 괜찮으니 오래 사용할 수 있지 않을까 싶었어요..
밤중에 문득 생각나서 방금 성공했습니다.
한글이 이렇게 반가울 수가 없네요.^^ 좋은 정보 감사합니다~
윈도우 10 에서 레지스트리를 먹여도 안되는 경우가 있습니다. 계속 드라이버 인식을 못하는 경우가 생깁니다.
Reg 를 보면 아래와 같이 되어있습니다.
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\12D114430001]
"SkipBOSDescriptorQuery"=dword:00000001
여기서
"SkipBOSDescriptorQuery"=dword:00000001
를
"SkipBOSDescriptorQuery"=binary:01000000 로 바꿔주시면 됩니다.
아니면 레지스트리 편집으로 가서 동일한 값을 넣고 binary 로 한 뒤 01 00 00 00 으로 등록하면 동작합니다