안녕하세요. 감기입니다.
내 맘데로 연재(?) 2탄 시작하겠습니다.
우선, 1탄 먼저 읽어주세요.
http://www.clien.net/cs2/bbs/board.php?bo_table=lecture&wr_id=106011CLIEN
오늘은 작업시 어떤 것 들을 해야 하는 지 기존 글의 보충과 개인적인 경험담 등을 위주로 진행하려고 합니다.
주절주절 써서 이해가 잘 안되실 수 있습니다.
1. 단말기를 받은 후 진행과정
해외에서 수단과 방법을 가리지 않고(?) 단말기를 손에 넣으신 후 입니다.
SKT에서 A-KEY의 등록 강제사항을 작년 후반기 정도부터 철회를 했습니다.
아직 등록을 하는 경우가 그렇게 많이 없기 때문에 일부 지점에서도 아직 A-KEY를 요구하는 경우가 있습니다.
이럴 때는 '팅겨도 좋으니까 본사에 넣어만 주세요'라고 하면 그냥 넣어주긴 할 겁니다.
그리고 등록할 때 반드시 지점에서 하세요. 대리점에서 하면 많은 단계를 거치지만 지점에서 할 경우 다이렉트로 서류가 들어갑니다.
보통 등록할 때 평일 오전 초반에 하시면 한시간 정도만에 등록이 가능하고 그 이후는 늦으면 영업마감 전이나 오후 3시 이후로 하시면 통상 익일에 되는 경우가 대다수입니다.
이건 제 개인적인 경험이니 정확하지 않을 수도 있지만 항상 저런 패턴을 보입니다. 등록하시는 분이 본사 직원 1명으로 알고 있습니다.
A-KEY 등록을 개인적으론 하는게 좋다고 생각합니다. 이유는 누가 제 단말기의 MEID 또는 ESN을 알게 될 경우 그것으로 휴대폰 복제에 이용할 가능성이 있습니다.
하지만 일부 기종의 경우 인증키가 잘 연동이 되지 않아 짜증을 유발하는 경우가 생깁니다. 전!화!불!통! 이라는 현상이 생깁니다.
이게 SKT와 인증키 변경 타이밍 문제인지 그걸 잘 모르겠는데 모토로라 단말기 사용할 때 그런적이 있었네요.
A-KEY 등록 후 해지를 하려면 SKT 고객정보보호원 팀장급과 이야기를 해서 해지될 경우 어떤 사고가 일어날 지 설명을 들어야 해지해줍니다.
이것도 통상 하루정도 걸립니다. -_-;;
세팅을 먼저하고 등록할지 등록 후 할지 결정하는 것에 고민이 많으실텐데 저는 등록 후 항상 세팅합니다.
왜냐구요??? ESN 중복되면 세팅해봐야 시간 낭비니까요. 이건 뭐 사실 순서는 상관 없는데 개인적으론 후 세팅 추천합니다.
2. 서비스 프로그래밍시 해야할 것들
서비스 프로그래밍이란 한국에서만 쓰는 나밍이라는 용어보다 조금 큰 개념입니다.
여기에 전화번호, 국가코드, 사업자코드와 채널, 시스템 ID, PRL 등이 들어갑니다.
가끔 질문하시는 분들이 채널이 변경 안되는데 방법을 물으시는데 안되면 안해도 됩니다.
어차피 PRL에 다 들어 있습니다. 그러나 모뎀 로직 특성상 채널을 먼저 참고하고 PRL 찾아보기 때문에 밀리초라도 빨리 전화를 쓰고 싶다면 하는게 좋겠죠?
필수적으로 라이팅 되어야 할 것 전화번호(MDN, MIN), PRL 만 되어도 사실 전화쓰는데는 지장 없습니다.
다만 문제가 국가코드와 사업자코드 즉 MCC와 MNC를 라이팅 안할 경우 로밍중으로 뜨는 경우가 생기는데 단말에 따라 불편한 경우가 생길 수 있습니다.
이게 무슨 소린지 직접 해보시면 아실겁니다. 예를 들면 데이터가 잘 안된다던가 하는 것 등 (절대 안하시겠지만요)
3. 서비스 프로그래밍 후 해야 할 일들
가. 문자처리
CDMA 단말기는 전부 한글 문자가 안되는데 이유는 안드로이드 소스코드의 부분을 설명하면 문자가 들어오고 인코딩(charset)을 찾습니다.
그런데 여기에 korean charset이 없습니다. 없는 charset일 경우 또 예외 처리를 해줍니다. 거기서도 처리가 안되면 그냥 갖다 버립니다.
실제로 세팅이 안된 상태에서 문자가 오면 걸린 문자는 다른 전화기로 기변할 경우 문자가 넘어와야 되는게 정상으로 보이시겠지만 그냥 말 그대로 씹어먹고 버립니다.
들어올 때는 마음데로지만 나갈 때는 아니란겁니다. 그냥 없던일이 되어버리죠.
자! 여기서 감이 오실겁니다. 한국어 인코딩 추가하면 됩니다. 발신도 마찬가지구요.
수정하실 객체는 framework의 com.android.internal.telephony.cdma 안에 있는데 SmsMessage와 cdma.BearerData 입니다.
BearerData에서 위에서 다루는 인코딩 관련 문제를 해결합니다.
이제 문자를 수발신 할 때 번호가 이상하게 나오는데 이유는 콜백넘버를 사용하지 않아서 입니다.
수정은 SmsMessage를 하는데 문자 수발신시 사용하는 번호는 센더넘버, 콜백넘버 두가지입니다.
센더넘버는 말 그대로 보내는 사람의 번호이고 이건 보낼 때 수정을 못하는 번호입니다.
콜백넘버는 한국에서는 이걸로 문자번호를 보여주는데 이건 사용자가 변경할 수 있습니다.
외국에서는 전부 센더넘버를 메인으로 사용하고 콜백넘버는 그냥 옵션입니다. 피싱 등을 방지하기 위해서겠죠?
제가 알고 있기로는 한국 말고는 콜백넘버를 메인으로 쓰는 국가가 대부분은 없는 것으로 알고 있습니다.
방법은 sms 파싱(수신)하는 부분은 번호에 콜백넘버를 강제로 지정해줍니다.
발신시에는 콜백넘버에 자신의 번호를 넣어주도록 하면 상대방도 수신시 같이 번호가 보입니다.
나. 나머지 필요한 부가적인 것들
가) 번호 하이픈 표기 문제수정
011-4244-5234와 같은 하이픈 표기가 한국식으로 안됩니다. PhoneNumberUtils 수정하면 처리합니다.
언어마다 어떤 스타일인지 지정을 하게 되어있는데 역시 한국어일 때나 항상 같은 방식으로 처리하도록 지정하며 됩니다.
다른나라 표기방식 보시고 수정하시면 됩니다.
나) 3G(Rev.0)와 1X 데이터 상태 아이콘 수정
이건 스프린트향에 국한된 것일 수 있는데 무조건 3G로 나옵니다. VZW는 안그런데 말이죠. -_-;
정식롬을 수정하는 경우에만 해당되는데 이 경우 디컴파일을 하셔야 합니다. 키워드는 baksmali 찾아보시면 원하시는 자료 나옵니다.
hTC 기준으로 SystemUI.apk를 디컴파일 하신 후 com.android.systemu.istatusbar.phone.HtcCdmaStatusBar를 수정하는데 1x의 아이콘을 가지고 오는 부분에 3g로 지정된 것을 1x로 변경하면 간단히 수정하시면 됩니다.
삼성의 경우 아예 아이콘도 없어서 손이 많이 갑니다. -_-;
다) GPS 위치 아이콘 제거
미국에서 살아본 적이 없지만 추측으로는 911 등에 조난자 위치를 추적을 위해 보고하는 기능이 있는 것 같습니다.
이게 아이콘 한자리 계속 잡아먹고 있는데 이것도 위의 파일에서 제거 해주시면 됩니다.
4. 단말기 선택 및 제조사별 특징
LG : 양산처리가 잘 되어 있어 거의 안되는 기종이 더 많습니다.
삼성 : 갤럭시S3와 노트2 보다 과거에 출시된 기종은 콜백넘버 미지원, 국내 전용수리 센터가 있지만 로직보드 고장시 수리불가, 포트 또는 버튼과 같은 부분 수리는 가능함, 디스플레이(흔히 부르는 액정이지만 AMOLED) 등은 신품으로 교체 가능, 서비스 프로그래밍 쉬움
모토로라 : 국내수리불가, 기종에 따라 부트로더 락이 아주 상큼하게 걸려있음, 부트로더 락이 걸려있을 경우 특정버전의 펌웨어를 올리면 이전으로 못돌아가는 사태가 생김. 서비스 프로그래밍 아주 쉬움, SMS 작업도 쉬움
hTC: 국내수리불가, 펌웨어 업데이트 제한기종 없음, 공식 부트로더 언락 지원, 서비스 프로그래밍과 SMS 작업도 쉬움, 이베이에서 부품 구하기가 쉬움
VZW(Verizon)과 Sprint 대표적인 차이: VZW는 단말기 정식롬에서 공장초기화시 서비스프로그래밍 데이터 초기화가 되지만 스프린트는 되지 않음, 스프린트는 SPC(MSL)이 단말기마다 모두 다르지만 VZW는 000000으로 동일함. 그렇다고 스프린트의 MSL을 못 알아내는 경우는 거의 없음
4. 마지막으로...
저에게 답장 안준다고 원망하시는 분들도 많으실 겁니다. 이해는 하지만 이게 답장 한두번에 끝이나는 문제가 아닙니다.
보통 구글 검색으로 같은 제조사 찾아보시면 통상 대부분 동일한 방법으로 진행이 가능합니다.
서비스 프로그래밍 방법의 검색키워드는 예를들어 'htc evo 3d flash to virgin mobile' 이런 느낌으로 찾아보시면 동영상까지 친절하게 나와있는 경우가 많습니다.
툴은 구입 안하셔도 체험판으로 다 해결 가능합니다. 저는 전부 체험판으로 해결했습니다.
Droid X 초기 구입 때의 일을 회상 해 보면 단말기 초기 구입시 2주 정도 이베이 매복하고 골라서 골라서 구입했습니다.
그런 후 모토로라의 상큼한 선물인 부트로더 락 걸린 펌웨어를 받았습니다.
공포의 621 펌웨어지요. 이게 설치되면 DROID X 커스텀 펌웨어를 못 쓴다고 보시면 됩니다. (과거에)
모토로라는 루팅 못하면 커스텀 펌웨어 설치가 안됩니다. 부트로더 락에서 리커버리를 ClockworkMod 같은 커스텀 리커버리 설치를 못하도록 되어있습니다.
루팅해서 재부팅 할 때 가로채는 방법으로 커스텀리커버리를 이용할 수 있습니다.
한달정도 시간이 흘러 Droid X의 쌍둥이이지만 다른나라 말하는 Milestone X의 펌웨어르 설치하면 루팅이 되는 것을 찾았습니다.
그것 설치하고 루팅했는데 Droid X의 커널과 달라서 그런가 커널도 변경 못하는 락이 있기 때문에 커스텀 롬이 부팅이 안되었습니다.
뭐 그래서 어떤 친절하신 분이 만드신 롬을 찾았지만 한글 문자는 답이 없더군요.
일단 CyanogenMod 진저브레드 소스를 받았습니다. 그러고 작업을 해서 컴파일을 한 후 다시 이걸 디컴파일 해서 어떤 분이 만드신 것과 합쳐서 사용했습니다.
여기까지가 거의 구입부터 3달 가까이 걸렸습니다. 그냥 아무것도 안하고 제가 여기까지 온 것이 아닙니다.
제가 '이번에는 40분 걸렸네요' 이런 말은 하지만 저도 처음에 이렇게 빨리 못했습니다.
간단하게 어떤것만 해야될 지 적었는데 정리가 되셨는지 모르겠네요. 하나부터 열까지 쓰면 정말 책 한권낼 정도의 분량이 나옵니다.
펌웨어 파일 받아서 벽돌도 살려보시고 간단하게 리눅스 셸 스크립트 정도 만들어 보신 분이라면 충분히 해낼 것이라 생각합니다.
직접 만들어 보고 시간 투자하시고 이것저것 하다 보시면 사면 그냥 간단하게 작업할 수 있는 단계까지 언젠가 이루실 겁니다.
01X 번호는 이번년도까지 쓰고 없어지는건가요??
아버지가 2G 쓰시는데 빌려다가 삽질을 한번 해볼까 하는데 이 글보니 엄두가 안나는군요..--;;;
위에 있는 Droid X님 덕분에 아마 지금의 결과가 나온 것일지 모르겠네요. ... (너무 힘들어서 -_-;)
조인이 되면 좋겠군요.
이렇게 처리된 2G단말의 로밍은 어떻게 되나요??? WCDMA로밍 받으려면 무조건 임대로 갑니까???
조인은 듣기로는 사업자측에서 막았다고 하는데 어플리 설치해서 메시지로 막혀져 있으면 우회하면 될 것 같은데 해봐야지요.
MMS는 원천적으로 SK 서버에서 차단을 해버렸습니다.
IMS가 된다고 하면... 어떻게 될지 모르죠...
조인이 어떤의미에서는 MMS의 구세주가 될 지도 모릅니다...
로밍은... 어차피 자기네도 착신전환 거는 것과 같으니... 다른회선있으면 착신전환 걸라고 하는군요;;;
너무 노가다이고, 고난도 노가다라 왠만한 geek 이 아니시면 강력히 뜯어말립니....... (...)
솔직히 저도 다른분들 저거하시면 말립니다.
전 일단 다회선으로 사용중이네요
위 글에서 말씀하신 공포의 621 펌웨어 이더군요 에효......(4.5.621.MB810.VERIZON.EN.US)
초보라...아래에 설명해 주신 내용은뭔 말인지.... 죄송합니다만 구제할 방법을 좀 자세히 알려주시면
합니다...부탁드립니다TT
3월이면 16년이 되는 번호를 사용하고 있는데, 인증해볼 날이 오기를 기대하고 있네요.
덕분에 잘 봤습니다. 화이팅~
브릿지 안될라나요