본문 바로가기

화웨이워치2 네트워크 연결


얼마 전 포스팅한 화웨이 워치 2.

문제는 USIM을 넣어 쓰려니 네트워크를 못잡는다.

정확히는 전화와 문자는 되는데 LTE나 3G 통신 연결이 안된다.

인터넷으로 이런 저런 정보를 모아 본 결과, 워치 내에 한국 통신사의 APN 정보가 없어서 네트워크 접속이 안되는 게 이유.

일반적인 안드로이드 폰의 경우 APN 정보를 수동으로 추가할 수 있는 기능이 있는데,

워치에 쓰이는 Wear OS의 경우 많이 간소화된 OS라서 APN 수정 기능이 없다.

결국 기기내부에 APN 정보를 심어주는 방법밖에 없다.

여러가지 방법을 시도해 봤는데, 모두 실패하고 한가지 방법만 성공.

https://michaeltroger.github.io/blog/2017/08/12/add-apn-in-android-wear-2 을 참고하였다.


먼저 화웨이워치의 apn 정보는 워치 내부의 

content://telephony/carriers 와, /system/etc/apns-conf.xml 에 저장되어 있는데

후자의 경우 수정해도 효과가 없었다. 결국 전자를 수정하는게 정답.

어떤걸 수정하던, 시스템을 건드려야 하기 때문에 루팅은 필수다.

루팅 안하고 TWRPrecovery로 잠시 부팅해서 슈퍼유저 권한을 얻는 방법도 해봤는데, 부팅이 안됨.

그냥 맘편하게 루팅하자.


순서는 크게

1. PC와 연결하여 adb 및 fastboot를 사용할 준비

2. 루팅에 필요한 TWRP, Magisk 파일 준비

3. TWRP를 이용해 recovery 모드로 부팅하여 Magisk 설치

4. content://telephony/carriers 에 apn 정보 추가.

의 네 단계로 이루어진다.

사실 3번까지는 루팅하는 과정이고, 4번이 apn을 입력하는 과정이다.



1. PC와 연결하여 adb 및 fastboot을 사용할 준비

이 단계에선 먼저 PC와 스마트워치를 연결한다.


이를 위해서는 가장 먼저 워치의 개발자 옵션이 활성화되어야 하는데,

워치의 설정-시스템-정보로 들어가 빌드 번호를 7번인가 터치하면 개발자모드가 활성화되고

설정으로 들어가면 맨 아래에 개발자 옵션 메뉴가 생긴 것을 볼 수 있다.

개발자 옵션 메뉴로 들어가서 ADB 디버깅을 활성화해주면 워치쪽에서는 PC와 연결 준비 끝.


다음으로 PC에 워치와 연결을 위한 드라이버가 필요한데, 난 PDAnet을 이용했다.

http://pdanet.co/install/

에서 windows client app을 다운로드 후 설치하면 된다.


adb는 android debug bridge인데, PC와 안드로이드 기기를 연결하여 디버깅하는 툴이다.

fastboot는 롬을 올리기 위한 툴인데, 여기서는 adb와 fastboot 두 가지만 쓴다.

adb와 fastboot를 포함한 디버그 툴은 안드로이드에서 제공하는데,

https://developer.android.com/studio/releases/platform-tools

여기서 파일을 다운로드받으면 된다. 설치하는것도 아니고, 폴더를 하나 만들어서 압축을 풀면 안에 실행파일들이 들어 있다.


이제 adb와 fastboot가 준비되고 드라이버도 준비되었으면 

워치를 충전독에 연결하고 충전독의 USB선을 PC에 연결하면 된다.

워치에서 디버깅을 허용하겠냐는 메시지가 보이면 "이 PC에서 항상 허용"을 선택하면 된다.

이제 윈도의 명령 프롬프트에서 adb.exe가 있는 폴더로 가서 adb devices 라고 치면 다음과 같이 기기 연결을 확인가능하다.

이 때 주의할 점은, adb와 fastboot는 사용되는 환경이 다르고, 사용하는 드라이버도 별개라는 점.

adb는 워치의 일반 모드에서 사용되고, fastboot은 bootloader 환경에서 사용된다.

일반 모드에서 fastboot devices를 입력해도 기기가 연결되었음을 확인할 수 없다.

일반 모드란, 현재 워치를 사용하는 모드이고, bootloader는 워치에 새로운 rom을 올리거나 할 때 사용되는 모드인데

부트로더 모드로 들어가는 방법은 다음과 같다



먼저 워치의 오른쪽 위 버튼 (사실 이 모든 과정에서 워치 버튼은 윗쪽 버튼 한개만 쓴다)을 계속 누르고 있으면

워치가 종료되고 재부팅 되는데,

재부팅 되는 도중에 화웨이 로고가 뜨고 워치가 진동할 때 버튼에서 손을 뗐다가 바로 다시 누르면 부트로더 모드로 들어간다.

이게 부트로더 모드.

처음 부트로더 모드로 들어가서 명령 프롬프트에서 fastboot devices를 입력해도 기기를 찾을 수 없는데

이건 PDAnet 소프트웨어의 fastboot용 드라이버가 오래되어 생기는 문제. 이 때는 PC의 장치관리자에 들어가보면

위와 같이 기타 장치의 Android장치에 물음표가 떠 있다. 

이걸 오른쪽클릭해서 드라이버 업데이트를 한번 수행해주면(인터넷 연결 필요)

느낌표가 사라지고 이렇게 워치가 정상적으로 연결된다.

이 상태에서 fastboot devices 를 입력해보면 adb 때와 마찬가지로 기기 연결을 확인할 수 있다.

여기까지는 PC와 워치를 연결하기 위한 준비이고, 

실제 루팅은 TWRP와 Magisk를 이용해 이루어진다.



2. 루팅에 필요한 TWRP, Magisk 파일 준비

TWRP는 루팅을 위한 커스텀 리커버리이고, Magisk는 루팅 소프트웨어라고 생각하면 된다.

실제론 Magisk를 설치하는 건데, 설치를 위해 TWRP가 필요하다.

먼저 TWRP는 기기마다 종류가 다르고 화웨이워치2 LTE버전(sawshark)는 

https://github.com/travismills82/twrp_android_device_huawei_sawshark/blob/android-9.0/twrp_sawshark.tar

에서 다운받으면 된다. 압축파일을 풀면 내부에 recovery img가 들어 있는데, 이게 TWRP 리커버리 이미지 파일이다.


반면 Magisk는 기기에 상관없이 

https://magiskmanager.com

에서 최신 magisk 파일 (.zip)과 magisk manager (.apk) 두 개 파일을 다운받으면 된다.

magisk는 루팅을 위한 Magisk의 본체이고, magisk manager는 이를 컨트롤하는 앱으로 보면된다.

magisk 본체가 없으면 manager는 의미없는 앱이고, manager 없이는 magisk를 콘트롤할 수 없으니 결국 둘 다 설치해야 한다.

일단 manager는 나중에 adb shell에서 설치하면 되니 놔두고,

magisk 본체는 미리 워치로 옮겨둬야 하는데, 워치의 일반 모드에서 adb를 이용해 다음과 같이 magisk.zip 파일을 본체로 옮긴다.


adb push magisk.zip sdcard/magisk.zip


루팅이 되지 않은 워치의 경우 사용자가 맘대로 쓸 수 있는 공간은 /sdcard 밖에 없기 때문에 저리로 옮긴 것.

여기까지 옮겨놓으면 magisk 설치 준비 완료.




3. TWRP를 이용해 recovery 모드로 부팅하여 Magisk 설치

워치의 기본 recovery모드는 동작하지 않는다. (왜인지는 모름)

일반적으로 루팅을 위해서는 TWRP라는 커스텀 리커버리를 사용하는데, 여기서도 TWRP를 사용한다.

여기에서는 TWRP를 flashing(워치의 롬에 올림)하지 않고 그냥 TWRP 리커버리 이미지를 이용해 부팅만 하기로 한다.

워치의 부트로더 모드로 들어간 다음. 부트로더의 lock을 먼저 푼다 


fastboot oem unlock


워치에서 뭐 위험하다고 뭐라고뭐라고 할텐데, 그냥 yes를 선택해주면 된다. 

다음으로 명령 프롬프트에서 위에서 다운받은 recovery.img 파일을 이용해 


fastboot boot recovery.img


을 입력하면 TWRP 리커버리 모드로 재부팅된다.

여기서 처음에 modify system modification 을 선택해 시스템 변경을 허용한 후

TWRP의 여러 메뉴 중 install을 터치해 위에서 옮겨놓은 Magisk.zip을 설치한 후 reboot를 터치해 재부팅한다.

그러면 기기는 정상적으로 재부팅되는데, 이후 Magisk manager를 설치해준다. 

재부팅되면 명령 프롬프트에서 워치 연결을 확인하고


adb install -r MagiskMan.apk


을 입력하면 magisk manager가 설치되고 magisk의 여러 기능들을 세팅할 수 있다.

이제 기기 루팅을 확인하기 위해 명령 프롬프트로 가서

adb shell

을 입력해서 ADB shell 모드로 들어간 후

su

를 쳤을때 앞의 프롬프트 표시가 $(일반)에서 #(슈퍼유저)으로 변하면 성공. 

참고로 sawshark는 화웨이 워치2 LTE버전 (LEO-DLXX)의 코드네임이다.

참고로 이 때 좀 tricky한 부분이 있는데, 

shell에서 su 명령으로 슈퍼유저 권한을 요청하면 처음에 워치에서 요청 수락을 해줘야 하는데

이게 워치의 인터페이스 문제로 수락 버튼이 숨겨져있어서 수락을 못한다.=_=

이 때는 Magisk manager로 들어가서

왼쪽 위의 topdown 메뉴에서 슈퍼유저 항목을 클릭하면 슈퍼유저 권한을 요청한 앱들이 나오는데 거기서 권한을 허가해주면 된다.




4. content://telephony/carriers 에 apn 정보 추가.

앞의 단계들은 워치를 루팅하는 과정이고, 여기까지 했다면 이제 거의 다 한 거나 마찬가지.

마지막으로 할 작업은 실제 워치에 통신사 apn 정보를 입력해주는 과정이다.

일단 adb shell 모드로 들어가서 슈퍼유저 권한 요청


adb shell

su


다음으로 apn 정보를 입력하는데, 다음과 같이 입력하면 된다.


content insert --uri content://telephony/carriers --bind name:s:"SKT3G" --bind numeric:i:45005 --bind mcc:i:450 --bind mnc:i:05 --bind apn:s:"web.sktelecom.com" 

--bind mmsproxy:s:"smart.nate.com" --bind mmsport:i:9093 --bind mmsc:s:"http://omms.nate.com:9082/oma_mms" 

--bind type:s:"default,supl,mms"


위의 커맨드를 한줄로 길게 적어주면 된다.

--bind로 입력해주는 부분이 부분이 실제 통신사의 apn 정보인데 해당 통신사에 맞게 적어주면 된다.

참고로 위의 커맨드는 Skt 3G 통신에 대한 정보를 나타내며, SK LTE라면 


content insert --uri content://telephony/carriers --bind name:s:"SKTLTE" --bind numeric:i:45005 --bind mcc:i:450 --bind mnc:i:05 --bind apn:s:"lte.sktelecom.com" 

--bind mmsproxy:s:"lteomanate.com" --bind mmsport:i:9093 --bind mmsc:s:"http://omms.nate.com:9082/oma_mms" 

--bind type:s:"default,supl,mms"


가 된다. KT나 LG의 apn정보는 인터넷 찾아보면 많으니 거기에 맞춰 수정하면 됨.

사실 첫번째 줄까지만 입력해도 인터넷은 문제없이 된다.

두번째 줄은 mms를 위한 줄이고

마지막은 옵션으로 인터넷, A-GPS, mms를 쓰겠다는 의미다.

여기서 중요한 부분이 

--bind numeric:i:45005 부분인데

딱히 중요한 정보가 아닌 것 같아서 입력을 안했는데, 안하니까 워치에 표시가 안된다. (저것때문에 원인을 몰라서 고생함)

이미 워치에 저장된 수많은 APN 정보를 모두 표시해주는게 아니고, 

현재 USIM의 국가코드 (mcc)와 통신사코드 (mnc)가 같은 것들만 보여주는 건데

그 식별을 저 번호로 하는 것 같다.


혹시나 입력을 잘못했다면 업데이트하거나 지우고 다시 입력하면 되는데

지우기 위한 커맨드는 


content delete --uri content://telephony/carriers --where "name='SKT3G'"


와 같다. 입력이 잘 되었는지 확인하기 위해서는 


content query --uri content://telephony/carriers --where "name='SKT3G'"


를 입력하면 아래처럼 해당 이름에 대한 apn 정보가 주욱 나온다.

위와 같이 검색이 되지 않고 No match 어쩌고 나오면 입력이 잘못된 것. 커맨드를 다시 잘 살펴보자.


이렇게 입력하고 나서 워치에서 apn정보를 찾아보면

이 사진처럼 원래는 아무것도 없던곳에 입력한 APN 정보가 뜨는 것을 알 수 있다.

원하는 APN을 선택하면



이렇게 네트워크 상태가 이전과 달리 연결됨으로 표시되고

인터넷에 연결이 된다.


설명은 길지만, 사실 한두번 해보면 어렵지는 않다.

물론 내 경우는 중간에 삽질을 많이 해서 오래 걸렸지만..-_-

참고로 루팅하고 나면 워치의 업데이트가 안되니 업데이트를 모두 진행한 다음 루팅하는 것을 추천.


----추가(복원)----

중간에 뭐가 잘못되었으면 워치의 stock rom을 올려서 기기를 원래대로 복구 가능하다.

일단 화웨이워치 2 LTE 버전의 순정 롬 파일이 필요한데, 나는 아래의 링크에서 구했다.

https://www.reddit.com/r/WearOS/comments/9lnwu4/for_those_wanting_to_force_the_new_ui_on_the_hw2/

파일을 구했으면 기기를 부트로더 모드로 부팅한 다음 


fastboot flash boot boot.img

fastboot flash recovery recovery.img

fastboot flash system system.img


를 차례로 입력해서 세 개 파일을 롬에 올려주면 된다.





'' 카테고리의 다른 글

카프랜드로 쉐보레 차량 원격제어.  (5) 2020.10.10
알리발 쉐보레 스마트키 등록  (0) 2020.09.17
화웨이 워치 2 (Huawei watch 2)  (0) 2020.08.06
에스콰이아 티롤리안 EQ8SHD104BK  (0) 2020.07.30
갤럭시 Z플립  (0) 2020.07.11