Review

E5885 커스텀 펌웨어 올리기

iolate 2020. 6. 30. 02:24

E5885 커스텀 펌웨어 글을 찾아보면 많은 듯 많지 않다.

대략 정리를 해보면,

한국 커뮤니티 안에서는 클리앙의 따끈따끈 님이 가장 활발하신 것 같다. 이런저런 시도도 많이 해보시고, 그걸 또 공유까지 열심히..

자잘한 글도 많이 남기셨지만,
화웨이 모바일 LTE 라우터 E5885의 펌웨어 교체하기 1편 - S/W 준비
화웨이 모바일 LTE 라우터 E5885의 펌웨어 교체하기 2편 - H/W 준비
화웨이 모바일 LTE 라우터 E5885의 펌웨어 교체하기 3편 - 펌웨어 올리기

요 3개 글에 정말 많은 내용이 있다.

영문 자료로는 화웨이 LTE 라우터의 커스텀 펌웨어 관련된 전반적인 내용이 있는 git
https://github.com/Huawei-LTE-routers-mods

하지만 너무 불친절해..ㅠㅠ 결과적으로 얻을 수 있는 정보가 거의 없음..

그 외엔 영문 자료 조차도 거의 없다. 대부분 러시아 사이트의 한 포럼에 대부분의 내용이 있는 것 같다.

https://4pda.ru/forum/index.php?showtopic=842340

구글 번역기의 힘을 빌리면 얼추 읽을만 하다.

파일을 다운받으려면 회원가입을 해야하는데, 회원가입/로그인/비밀번호 찾기 시마다 러시아어로 숫자를 써두고 맞추라는 무시무시한 캡챠가 있다... 숫자는 4자리 숫자인데, 운 좋으면 그림 맞추기로 성공할 수 있지만, 날림체에다가 줄바꿈이 엉망이라 러시아어를 아는 친구도 읽기가 어렵다고...ㅠㅠ


펌웨어 작업을 시도하기 전 사전조사 차원에서 여러번 검색해봤는데, 검색 할때마다 필요한 내용을 바로바로 찾기가 어려워서 다시 정리를 해봄.

1. 부트모드 진입 작업

가장 진입 장벽이 높은 작업인 것 같다.

부트모드로 진입하기 위해 케이스에 가려진 부분을 쇼트시켜야하는데, 분해가 만만치 않다...

분해를 하지 않고 구멍을 뚫는 방법이 있으며 이 역시 클리앙의 따끈따끈님이 잘 정리해서 올려주셨다

화웨이 E5885 분해 없이 부트 모드 진입하는 방법


전원이 꺼진 상태에서 usb 연결을 하면 자동으로 전원이 켜지는데, 제대로 쇼트된 상태라면 켜지지만 화면에 아무것도 뜨지 않는다.

너무 오래 하고 있으면 또 다른 모드로 진입한다고 본 것 같으니 5~10초 후에 떼도록.


2. 펌웨어 다운로드 환경 구축

Mac 에선 드라이버가 없어서 인식이 안되는 것 같고, Windows 에서는 드라이버를 깔아주면 되는 것 같지만..
그냥 속편하게 가상머신을 쓰는게 나은 것 같다.

위 따끈따끈 님의 강좌에서는 VMWare를 썼지만, 난 VirtualBox 를 사용하였음.


VirtualBox 를 설치하고, Extension Pack 까지 추가해준다.


우분투는 알아서 설치하자. desktop image 말고 gui가 없는 server install image 를 설치해도 됨.

이 후 vm 설정에서 usb 관련 옵션을 수정해준다.

 


클리앙 강좌에서는 레지스트리 추가에 해당하는 내용일 것 같은데, 특정 USB를 바로 가상머신에 연결하게 하는 설정이다.

이름을 비롯한 나머지 값은 중요하지 않고 제조사 ID(VID), 제품 ID(PID) 가 중요함. 혹시 모르니 리비전(REV) 정도는 넣어둬도 되고.

첫번째 부트 모드에 들어갔을때는 VID: 12d1 PID: 1443 REV: 0001
펌웨어 플래싱 전 부트로더를 올린 후에 생기는 건 VID: 12d1 PID: 1c05 REV: 0102

아무 이름으로 둘 다 추가해주도록 하자.

이 설정을 하지 않고 일단 연결한 다음 가상머신 설정에서 물려줘도 된다. 클리앙 글에서는 문제가 생길 수도 있다는 것 같던데.. 난 괜찮은 것 같았음.


우분투 내에서는 필요한 프로그램을 빌드하는 정도만 하면 끝

sudo apt install git make gcc zlib1g-dev

git clone https://github.com/forth32/balong-usbdload
cd balong-usbdload; make;

git clone https://github.com/forth32/balongflash
cd balongflash; make;


3. NVRAM 백업

펌웨어와 NVRAM을 백업할 수 있다.

NVRAM의 경우 IMEI나 시리얼 같은 정보와 함께 기기마다 다 다른 radio calibration 값이 들어 있으니 꼭 백업을 권장하였음.
혹시나 날려먹으면 다른 사람의 값을 덮어 씌울 순 있지만, 기기마다 다르기 때문에 이전과 같은 퍼포먼스가 안나올 수 있다고 한다.

Huawei E5885 current firmware backup manual. 이 gist 를 참고하면 된다.

busybox 를 넣어주는 usb로더를 한번 로드해주면, E5885에 telnet으로 접속이 가능해져서 sdcard에 관련 자료를 백업하는 방식.


4. 커스텀 펌웨어 구하기

직접 커펌을 만들어보고 싶어서 한참을 뒤져봤는데.... 잘 모르겠다... 왠지 자존심 상해...

애초에 "커스텀 펌웨어"가 왜 필요한지도 잘 모르겠다..
위 백업에 사용했던 방법처럼 라우터 쉘에서 이것저것 수정하는 방법으로도 이것저것 가능한 것 같은데...

뭐는 할려면 커스텀 펌웨어를 올려야된다는 말도 있고, 이미 너무 많은 시간을 투자해서 그냥 커펌을 올리기로 결정.


포럼을 다 읽어보니, 문제가 되는 펌웨어도 있고.. 커펌도 새로운 버전들이 계속 나오는 것 같다.

몇개 되지도 않지만, 내가 고른건 bay3255 란 사용자가 배포한 펌웨어.

현 시점(20년 6월 30일)에서는 20년 5월 22일에 배포한
E5885Ls-93a_UPDATE_21.191.69.00.00.baymod.v8.fw 펌웨어가 최신이다.

위에서 말했듯이 파일을 다운받기 위해선 러시아 숫자를 뚫고 회원가입이 필요함...


5. 펌웨어 플래싱

여기까지 왔다면 어려울게 없다. NVRAM 백업 했던 것에 이어 한발짝 더 나아갈 뿐...

cd balong-usbdload
sudo ./balong-usbdload -p /dev/ttyUSB0 -c usblsafe-e5885.bin

잠시 기다리면 화면에 다운로드 표시가 나오고 /dev/ttyUSB1 장치가 잡힌다.

cd ..
sudo ./balongflash/balong_flash -p /dev/ttyUSB1 ./E5885Ls-93a_UPDATE_21.182.63.00.148_WEBUI_21.100.37.00.148_NE5.ZIP

이 커펌이 부팅화면을 바꿔버려서 화웨이 로고 대신 'Wake up, Neo...' 라고 나온다.
그냥 강좌대로 잠시 기다렸다가 재부팅!


WPS 버튼을 3초정도? 눌렀다 떼면 히든 메뉴가 나온다.
신기하게 원래 나오던 한글들도 여전히 잘 나옴...

Fix TTL 을 설정한 후 패킷 캡쳐해보니 잘 된다. ㅎㅎㅎ

내일은 OpenVPN 연결 해봐야지...