E5885, 장치상 밴드 설정 메뉴 구현<

추석이네요< 방문자 분들도 모두 좋은 한가위 되세요<

추석이니까 할 일 없고, 게임도 며칠 하다보니 너무 심심하고, 유튜브 구독 목록도 다 봐버려서 장치의 전원 버튼을 여러번 눌러 접근할 수 있는 메뉴에 LTE 밴드를 설정할 수 있는 기능을 구현했어요<

당연하지만 ValdikSS 씨의 커스텀 펌웨어에서 작동해요, 혹은 수동으로 oled 바이너리의 하이재킹이 필요해요<

소스는 이쪽이에요<1)ValdikSS씨의 코드를 포크했어요< 아직 SKT 이외의 통신사 밴드는 어떻게 표시할까 좀 고민이네요..< 이 장치가 지원하는 밴드가 너무 많아서 저 작은 화면에 그 밴드를 다 표시할 순 없고, 그렇다고 저렇게 SKT용만 덜렁 만들어놓기도 좀 애매한 것 같아서요..<

일단은 쓰는 사람이 없으니 저대로 놔두고, SMB 데몬을 컴파일해서 라우터에 한번 올려볼 생각이에요<

Sn   [ + ]

E5885 커스텀 펌웨어

사실 굳이 꼭 커스텀 펌웨어를 올려야 한다는 이유 같은건 아직 없지만, 그래도 쉘이라거나 접근할 수 있는 커스텀 펌웨어가 있어요<

이쪽으로 가면 찾을 수 있어요< ValdikSS씨가 만들었죠< (러시아어)

mod1.2 기준으로 순정 펌웨어 (21.236.05.00.00 기반) 에 비해서 다른 점을 아래에 적자면…

  • OTA 업데이트 시 서명 검증 하지 않음
  • ADB를 통해서 라우터 본체로 파일 전송 가능
  • 텔넷으로 내부 쉘 접속 가능
    • atc 명령어로 쉘에서 at 명령어 실행 가능
    • ttl 명령어로 ttl 변경 가능 (변경시 NAT 하드웨어 가속 꺼짐)
    • imei 명령어로 장치 imei 변경 가능 (주의, 이 기능으로 IMEI를 조작하면 불법이에요<)
    • 그 외 balong-nvtool 등의 외부 프로그램을 가지고 장치 nvram 접근/수정 가능
  • DPI를 최대한 피하려고 노력…하는 anticensorship 기능 (한국에선 잘 안되지만, 해외에선 될 수도 있겠죠..< 적어도 러시아에선 되는 모양이네요<)
  • OLED 화면에 조작 가능한 메뉴 추가
    • LTE/3G/GSM 등 모드 변경 가능
    • TTL 변경 가능
    • IMEI 변경 가능
    • USB 모드 조합 (AT, 네트워크, SD) 변경 가능
    • ADB, 텔넷, 웹 인터페이스 접속 제한 가능
    • 커스텀 스크립트 활성화/비활성화를 OLED 화면으로 가능
  • Busybox가 풀 버전으로 대체됨
  • AT^DATALOCK 비활성화
    • 커스텀 펌웨어에서 어떤 펌웨어라도 올릴 수 있어요<

같이 따라오는 WebUI 인터페이스의 다른 점은

  • 장치 정보란에 잡다한 정보 추가 (지금 잡고 있는 밴드, 주파수 대역폭 등)
  • USSD 코드 사용 가능 (한국에선 필요 없지만, 해외에선 필요할수도 있겠죠<)
  • 여러가지 언어 추가 (한국어 포함, 하지만 좀 버그가 있는지 미노리 기기에선 안되네요..<)

순정 펌웨어에서 커스텀 펌웨어로 업그레이드 하려면 부트 핀을 조작해서 올려야 해요<

NVRAM 복구 성공<

3G도 잘 되고, 속도도 잘 나오네요<

아직 일부 해결 못한 문제가 있지만, 곧 해결할 수 있을거라고 봐요<

ValdikSS 씨와 같이 협의해서 자료랑 진행상황을 공유하기로 했고, ValdikSS씨는 4PDA 스레드에(러시아어), 미노리는 이 블로그에 관련된 내용을 다시 한번 정리할 예정이에요<

앞으로 이 블로그 보단 4PDA 쪽에서 일이 더 많이 진전될 가능성이 높아요, 관련된 내용이 업데이트 되는걸 발견하게 된다면 이쪽에도 간단하게 번역해서 소개하도록 할게요-

우선은 NVRAM 복구 관련해서 가이드를 작성하고 자료를 준비하고 있어요, 며칠 내로 업데이트가 될 거에요-

수정된 usbloader 이미지, NVRAM 복구 가능성에 대하여

좋은 소식이 몇개 있어요<

갈아먹은 톡스 나사를 풀었다는 점이 첫번째 좋은 점이에요< 드디어 다시 라우터 보드의 등짝을 볼 수 있죠<

두번째는 4pda에 주로 있는, 라우터 리버싱을 즐겨하시는 러시아 친구들이 E5885에 관심을 가지기 시작했다는 거에요< NVRAM 복구 가능성이 많이 올라가는 느낌이네요<

만약 수정된 파일등이 퍼블릭 도메인으로 인터넷에 풀린다면 관련해서 글을 업데이트 하고, 이 블로그에도 파일을 호스팅 하도록 할게요<

E5885, 시리얼 넘버, MAC 주소를 복원하는 방법

…라곤 가이드처럼 제목을 적었는데, 사실은 가이드가 아니에요..< 기존에 있던 가이드에 관련된 정보를 수정할 예정이에요..<

이 글을 적으면서 무언가 좀 미묘한 느낌인게, 좋은 내용도 있고 나쁜 내용도 있거든요…

우선 좋은 점을 말하자면, 시리얼 넘버랑 하드웨어 MAC 주소를 복원할 수 있게 되었어요, 드디어<

더욱 더 좋은 점은 이제 밴드 5에서도 정상적인 속도 (방금 측정해보니 10MHz 밴드에서 50-60Mbps 나오네요… 지금은 밤시간이니 거의 낼 수 있는 최고속도를 내고 있는거겠죠..<) 가 나온다는거죠… 아마도 하드웨어 MAC 주소가 설정된 값이 없어서 failback하는 overhead가 없어진거랑 관련이 있는게 아닌가 싶네요…  (그냥 예상이지만, 애초부터 원인을 잘 모르겠네요..< 20MHz 밴드를 잡고 있을땐 또 20-30Mbps는 나왔었고…)

재부팅 한번 하니 무슨 귀신들린것처럼 다시 또 3-5Mbps네요..! 아이고..<

나쁜 점은…… 플래시 핀을 엑세스하려면 분해해야 하는 그 안테나, 거기에 쓰는 나사 머리를 갈아먹었어요..< 톡스 나사가 갈리는건 진짜 신기하네요… 그만큼 많이 열고 닫긴 했지만, 이렇게 빨리 갈려버릴 줄은 몰랐어요… 그래서 더이상 E5885를 분해해서 핀을 접근할 수 없어요..< 앞으로 이 기기의 분석에 중대한 차질이 생길 것 같네요… (3G를 살리는 거라거나, CA를 살리는 거라거나…)

이 기기를 리버싱하는 건 분명 즐거운 일이지만, 그렇다고 20만원 중반쯤 되는 기기를 취미용으로만 하나 더 살만큼 지금 경제사정이 그렇게 좋진 않아서 이 기기를 하나 더 새로 살때까진 적어도 핀을 엑세스 하는 게 필요한 작업은 못할 것 같아요..<

푸념은 그만 쓰고, 기존의 가이드를 업데이트 할게요<

관련된 글 (그리고 내용이 업데이트 될 글):

E5885 펌웨어 리전 변경

E5885, 앞서 포스팅 한 방법대로 펌웨어 리전 변경 후 생기는 문제점에 대해서

펌웨어 리전을 변경하고 나서 생기는 좀 심각한 문제와 덜 심각한 문제들이 있는데요,

  • 좀 덜 심각한 문제들
    • MAC 주소가 날아감 -> 고칠 수 있음
    • S/N이 날아감 -> 고칠 수 있음
    • IMEI가 날아감 -> 심각한 문제겠지만 고칠 수 있음
  • 좀 심각한 문제들
    • 왠지 모르겠지만 3G가 동작하지 않음
      • 덕분에 SMS 수발신도 먹통…
    • 왠지 모르겠지만 CA가 동작하지 않음
      • 집 근처가 CA가 안되는 지역일 수 있으니 조금 더 테스트 예정
    • 왠지 모르겠지만 성능이 묘하게 안좋아짐 -> 관련된 내용 확인 필요

좀 덜 심각한 문제들 의 경우엔 NVRAM을 덤프해서 분석/수정 후 다시 씌울 수 있으면 바로 고칠 수 있는 문제가 되지만, 좀 심각한 문제들은 왜 저런 문제가 생기는지 도저히 모르겠네요…

일단 밴드마스크는 기본값 그대로 3G 전체 밴드, LTE 되는 전체 밴드 인데 왜 3G가 안 붙는지도 모르겠고… 보이기는 하는데 안 붙는거면 그나마 좀 이해라도 될텐데 아예 기지국이 보이지도 않으니 더 문제에요…

그래서 일단은 이 장치를 좀 더 파야 NVRAM을 건드릴 수 있을 것 같아서 쉘 엑세스를 어떻게 하면 열 수 있는지 찾고 있어요, 그런데 예전 장치들과는 다르게 꼭꼭 잘 잠궈두긴 했네요, 이 모뎀은.. 예전엔 각종 소프트웨어 exploit이 많아서 루트 권한으로 arbitrary command execution 같은건 진짜 5분만 찾으면 할 수 있었는데 이건 겉으로 보이는건 적어도 그런게 없어서… 그래서 아마도 남은 희망은 UART 포트인 것 같은데, 이건 화웨이에 쓰는 UART 커넥터 스트립 + UART-USB 장치 세트가 은근..히 좀 많이 비싸서 일단 당장은 못 살것 같아요..< 저게 싫으면 오실로스코프 들고 패드 하나하나 다 확인해야 하는데 UART 커넥터가 없는데 오실로스코프가 있을리가 없죠…..<<

만약 CA나 그런게 계속 안 돌아오면 에그 11기가짜리 요금제 신청할까 좀 많이 고민중이에요..< KT 장치 하나 사서 비교 좀 해보게..<


아, CA 상태가 어떤지 테스트 해 볼 만한 HiLink API 엔드포인트를 찾았는데요, 적당히 관리자 페이지에서 관리자로 로그인 한 뒤에 /api/device/signal 를 GET으로 불러오면…

<?xml version=”1.0″ encoding=”UTF-8″?>
<response>
<pci>xxx</pci>
<sc></sc>
<cell_id>xxxxxx</cell_id>
<rsrq>-10dB</rsrq>
<rsrp>-61dBm</rsrp>
<rssi>&gt;=-51dBm</rssi>
<sinr>&amp;gt;=30dB</sinr>
<rscp></rscp>
<ecio></ecio>
<mode>7</mode>
<ulbandwidth>10MHz</ulbandwidth>
<dlbandwidth>10MHz</dlbandwidth>
<txpower></txpower>
<tdd></tdd>
<ul_mcs></ul_mcs>
<dl_mcs></dl_mcs>
<earfcn>DL:xxxx UL:xxxxx</earfcn>
<rrc_status>1</rrc_status>
<rac></rac>
<lac></lac>
<tac>xxxx</tac>
<band>5</band>
<nei_cellid>No1:0</nei_cellid>
<plmn>45005</plmn>
<ims></ims>
</response>

대충 이런 느낌으로 이제야 좀 뭔가 쓸만한 정보가 나와요<

LTE가 지금 테스트하면서 좀 지나치게 상태가 안좋은 이유는 여기에서 밴드 5를 쓰고 있어서 그런가보네요..< 잠시 상태가 좋아졌을 때 보니 밴드 7 (20MHz) 를 쓰고 있던데… (신호가 많이 낮았지만)


2017년 8월 29일 추가,

지나치게 속도가 안나오는 문제에 대해서 해결방법을 찾은걸지도 모르겠네요, 좀 테스트 후 다시 업데이트 할게요..


같은 날 추가,

아마도 해결 방법을 찾은 것 같네요.. 관련된 포스트를 하나 쓰고 기존 포스트를 업데이트 했어요-

E5885, LTE-A 지원이…

사용하고 있는 캐리어는 LG U+이고, 테스트 한 곳은 3밴드 LTE-A가 사용 가능한 지역 (경기도 성남시 수정구) 에요<

최근 (적어도 중국 내수용 펌웨어는) LTE-A 가 사용 가능할 경우 4G+ 라고 뜨도록 업데이트가 되었어요<

만약 이 기기에서 LTE-A의 기술 중 하나인 캐리어 어그리게이션으로 망을 잡고 있다면 4G+ 라고 마크가 떠야 한다는 거죠<

우선 이 기기가 지원하는 주파수 대역은 무지 넓어요< 당연하게도 LG U+가 LTE 서비스를 진행하고 있는 주파수는 모두 잡을 수 있죠<

그리고 이 기기는 Cat 6를 지원하니, 이론적으론 20+20 으로 300Mbps 속도를 내면 최적일거에요<

LG U+ 기준으로 1밴드랑 7밴드가 광대역 밴드이니, 1+7 (20+20) CA를 하면 Cat 6 성능을 모두 낼 수 있겠네요<

그런…데 지금까지 쓰면서 이 기기에서 4G+ 라고 뜨는 걸 보질 못했어요..<

U+가 주장하는 3밴드 LTE-A 망 커버리지가 가짜이던, 아니면 이 기기가 1+7 (20+20) CA를 지원하지 않던지 둘 중 하나일 것 같은데, 아마 후자일 것 같아요..<

기회가 되면 SK 회선으로 번호이동 해서 테스트 후 결과를 올릴게요..<

화웨이 E5885ls-93a 언어 변경에 대한 고찰

화웨이 E5885ls-93a 에 대해서 1)혹은 KT 글로벌 원 에그, 또는 E5885 쓴 글이지만, 사실 V4 인증 알고리듬을 사용하는 모든 화웨이 제품에 해당되는 거에요<

뭔가 중국 내수용 펌웨어가 찝찝해서, 그리고 영어 옵션을 지원하지 않아서 여러 의미로 이 장치의 펌웨어를 국제판으로 갈아치우려고 많이 시도를 해봤는데요…

  1. 평범하게 펌웨어 업데이트 파일을 가지고 시도한다
    • 화웨이가 친절하게 만들어 둔 DATACODE 라는 비밀번호로 잠겨있어서 할 수 없어요<
  2. DL 모드로 강제로 진입해서 펌웨어 업데이트 파일을 가지고 시도한다
    • 에러코드 13 – 인증 오류 로 안되죠< 리전에 안 맞는 펌웨어로 플래싱을 시도한다고 오류를 내는것 같네요..<
  3. DL 모드로 강제로 진입해서 서드파티 펌웨어 플래셔를 가지고 시도한다
    • 서드파티 펌웨어 플래셔가 꿈쩍을 안해요< 통신 프로토콜이 바뀌거나 하진 않았을건데 아마 2번과 같은 이유로 그냥 반응을 안하는 거 아닐까요, 플래싱 명령에<
  4. NVRAM 수정을 시도해서 DATACODE를 강제로 00000000으로 초기화한다
    • AT 커맨드로 NVRAM을 PEEK/POKE 할 수 있는 방법은 수년 전 펌웨어에서 막혔는데, E5885는 나온지 몇개월 안된 따끈따끈한 장비죠…<
  5. 온보드 시리얼 핀을 사용해 강제로 usb 부트로더에 진입시킨 후 플래싱한다

1-4번 다 안돼요< 남은 희망은 5번 정도인데 usb 부트로더 진입 시 필요한 이미지가 없어요< 어딘가에서 찾던지 덤프를 뜨던지 해야 하는거죠..<

추가적인 소프트웨어적 취약점2)이라기 보단 백도어를 찾기 전엔 그냥 펌웨어를 건들지 않는 편이 좋겠네요, 원래 리전에 맞는 펌웨어를 플래싱하면 DATACODE를 물어보지 않는 걸로 봐선 이미지 자체에 서명이 있는지를 찾아봐야겠네요… 물론 당연히 있겠지만, 제대로 상식이 들어있는 회사라면<

이 삽질을 하면서 얻은 흥미로운 성과는: 펌웨어 플래싱 관련 백도어를 찾느냐고 펌웨어 이미지를 분석하고 있었는데요, 이 라우터, 당연하게도 기존 화웨이 라우터들처럼 안드로이드 기반이에요< 화면만 없는 안드로이드 장치인거죠<

펌웨어를 자유롭게 갈아치울 수 없다는 점에서 차라리 한국 내수용3)KT에서 들여온 거 를 사는게 나았을까 하는 후회가 좀 드네요..< (한국 내수용은 국제판 펌웨어 에다가 한국 한정의 ‘설정파일’을 끼얹은 물건이에요<) 물론 둘 다 서로의 리전 펌웨어로 갈 수 없는건 마찬가진데 저쪽은 그나마 언어의 자유가 있으니<

아, webui에서 자바스크립트를 좀 인젝션 하면 웹 UI를 한국어로 뜨게 할 수 있긴 해요< HiLink 앱도 어차피 핸드폰 언어로 UI가 뜨니 이쯤 되면 불편한 건 이더넷 케이블을 꼽았을 때 기기 액정에 중국어로 ‘이더넷’ 이라고 뜨는 것 정도밖에 없겠네요<

 

귀찮으니 이 기기의 삽질은 당분간 여기까지<

당연하지만 펌웨어 이미지는 여기에 공유할 수 없는게, 같이 있는 도큐멘테이션에 ‘CONFIDENTIAL’ 이라고 써 있더라구요< 이거 분명 인터넷에 올리면 안된다는 소리겠죠<


추가, 2017년 8월 17일

하드웨어의 테스트 관련 자료와 강제 플래싱 관련 자료를 찾았어요, 시도해보면 될 것 같..긴 한데 심락이 걸릴까봐 좀 걱정되기는 하네요… 일단 해보고 관련된 정보에 대해선 추후에 다시 포스팅<


추가, 2017년 8월 20일

관련 내용을 포스팅했어요-

E5885 분해 – 펌웨어 강제 플래싱을 위한 디버그 핀 엑세스

E5885 펌웨어 리전 변경

 

Sn   [ + ]