Aussie Life
삼성 핸드폰의 펌웨어와 CSC 본문
시작하기 전에.. 이 내용은 sammobile.com에 올라온 펌웨어 파일들과 xda-developers의 포럼 글들을 참고하여 S7을 기준으로 습득한 정보를 기준으로 작성되었으므로 모델에 따라서, 혹은 펌웨어 버전에 따라서 달라질 수 있으므로, 백프로 믿지는 말고 참고용으로만 읽어보자.
1. CSC란 무엇인가?
CSC는 Consumer Software Customisation의 약자로서 삼성 자체적으로 각 국가별, 통신사별로 부여한 코드이다. 완벽하게 동일한 휴대폰 하드웨어에 동일 버전의 소프트웨어라고 하더라도 CSC에 따라서 기본으로 깔리는 앱이나 네트워크 세팅등이 달라진다. 삼성에서 각 국가별, 통신사별로 별도의 세팅을 쉽게 해주기 위해 사용하는 방식이며, 소프트웨어 전체를 국가별/통신사별로 따로따로 유지하는 대신 기본적인 소프트웨어는 동일하게 유지하고 세부적인 일부 세팅만 변경해주기 위해 사용된다.
삼성폰에서 CSC가 중요한 이유는 동일 모델, 동일 버전 펌웨어라도 CSC가 달라지면 여러가지 기능의 차이가 발생하기 때문이다. 삼성페이의 경우 기본적으로 CSC에 설정된 국가에서 발행된 카드만 등록할 수 있고, VoLTE, VoWIFI 등의 기능도 일단은 CSC에 따라 활성화/비활성화 결정된다. 그러므로 S7의 모든 기능을 제대로 사용하기 위해서는 현재 사용하고 있는 통신사 및 국가에 해당하는 CSC 를 받아서 사용해야만 한다.
2. 펌웨어에 포함된 CSC 파일
삼성에서 나온 정식 펌웨어에는 AP, BL, CP, CSC, HOME_CSC의 5개 파일이 존재한다. AP는 기본적인 휴대폰의 소프트웨어, CP는 통신과 관련된 소프트웨어가 들어간 파일이며 BL은 부트로더로서 휴대폰이 처음 부팅될때 실행되는 소프트웨어이다. CSC와 HOME_CSC는 위에서 설명한 국가별/통신사별 별도 세팅이 들어가있는 파일로서, 통신사별로 별도로 설치되는 기본 앱들도 여기에 들어있다. CSC와 HOME_CSC는 동일한 역할을 하는 파일이지만, CSC는 pit (파티셔닝)을 업데이트하기 때문에 폰 전체가 공장초기화 되는 반면, HOME_CSC는 초기화 없이 업데이트 되는 차이점이 있다.
3. Multi-CSC: CSC 파일과 CSC 코드의 분리
옛날에는 각 CSC 코드별로 별도의 CSC 펌웨어 파일이 존재해서, CSC 코드당 하나의 CSC 파일이 있었지만, 최근에는 Multi-CSC라는 개념이 도입되면서 여러 국가/통신사에 해당하는 세팅을 하나의 펌웨어 파일에 집어넣게 되었다. 여기서는 편의상 CSC코드과 CSC파일이라는 용어를 사용하여 이 둘을 구분하도록 하자. 즉, 기존에는 1개의 CSC파일에 무조건 1개의 CSC 세팅만 들어있었다면(Single-CSC), 최근 도입된 Multi-CSC 에서는 여러개의 CSC 세팅을 하나의 CSC파일에 집어 넣었다고 보면 된다.
예를들어 S7 (G930F)에서 CSC파일이 OLB인 펌웨어를 다운받아서 내부를 열어보면, 그 안에 아래와 같은 여러 CSC코드가 모두 들어있는 것을 확인할 수 있다.
- GLB - Globe - Philippines
- MM1 - Singapore
- SIN -Singtel - Singapore
- SMA - Smart - Philippines
- STH - StarHub - Singapore
- THL - Thailand
- XEV - Vietnam
- XME - Malaysia
- XSE - Indonesia (open)
- XSP- Singapore
- XTC - Open Line - Philippines
- XTE - Sun Cellular - Phillipines
- XXV - Vietnam
즉, OLB는 Multi-CSC 파일이고, 이 CSC파일에 총 12가지 CSC코드에 해당하는 세팅파일들이 들어있는 것이다. 만약 내 S7의 CSC코드가 XSP였다면, CSC파일은 OLB를 사용중일 것이고, OLB CSC파일 / XSP CSC코드 조합이 업데이트 되면 경우 내 폰 펌웨어가 업데이트 되는 것이다.
참고로 CSC파일/CSC코드 조합 중에 하나라도 안맞다면 펌웨어는 업데이트 되지 않는다. 가령 S7이 말레이시아(XME)에서 누가로 업데이트 되었다고 하더라도, 태국에서는 아직 업데이트 되지 않을수도 있다는 말이다. 비록 동일한 CSC파일(OLB)을 공유하는 말레이시아와 태국이지만, 구체적인 CSC코드에 따라 삼성에서 진행하는 업데이트 여부는 달라지기 때문이다.
물론 여전히 CSC코드-CSC파일이 1:1로 들어있는 Single-CSC도 있다. 가령 TEL CSC (호주 Telstra용)의 경우 S7에서도 CSC코드, CSC파일 모두 TEL이다.
4. CSC코드를 변경하는 방법
예를들어 싱가폴에서 구입한 G930F 모델을 호주에서 사용한다고 치자. 휴대폰을 켜서 CSC 코드를 확인해보니 XSP이고 CSC파일은 OLB가 올라가 있다. 이 태국폰을 호주에서 사용하려면 어떻게 해야할까? 물론 그냥 있는 그대로 사용해도 된다. 하지만 현재 CSC가 호주용이 아니기 때문에 호주에서 삼성페이나 VoLTE 같은 최신 기능들은 사용할 수 없다.
이걸 호주에서 제대로 사용하려면 호주에서 내가 사용하는 통신사의 CSC로 바꿔주면 된다. 동일한 모델인 G930F의 펌웨어를 검색해보니 호주 텔스트라용(TEL)이 올라와있는데, 다행히도 TEL CSC는 코드와 파일이 1:1로 매칭되는 Single-CSC이다. 이 경우 그냥 TEL CSC가 포함된 펌웨어를 받아서 오딘으로 업데이트해주면 된다.
하지만 내가 원하는 CSC가 Multi-CSC인 경우에는 문제가 생긴다. Multi-CSC로 업데이트 하는 경우, CSC코드는 그 파일에 들어있는 Default CSC 코드로만 변경이 되고, Multi-CSC에 포함된 다른 CSC코드로는 변경이 불가능하기 때문이다.
예를들어 위에서 CSC가 TEL로 바뀐 폰을 다시 XME로 되돌리고 싶은 경우, 사실상 루팅을 하지 않고서는 불가능하다. 왜냐하면 XME는 OLB Multi-CSC파일에 포함된 CSC코드 중에 하나인데, OLB 파일의 기본 CSC코드가 THL이므로 OLB 펌웨어를 다시 다운받으면 CSC 코드는 THL로 변경되고, XME로는 변경이 안되기 때문이다. 그러므로 내가 원하는 CSC코드가 Multi-CSC 에 포함된 경우, 이 코드가 Default CSC가 아니라면 정상적인 방법으로는 변경할 수 있는 방법이 없다. (루팅을 하면 가능하지만, 루팅하면 KNOX 카운트가 올라가므로 역시 정상적인 사용이 불가능하다.)
다만 현재 CSC가 XME였고, 여기에 OLB 펌웨어를 다운받아 업데이트 한다면 XME로 유지된다. 현재 CSC 코드가 OLB에 포함되어 있기 때문에 Default CSC로 덮어씌어지지 않고 현재 CSC가 유지되는 것이다.
5. 한국용 CSC
그렇다면 해외에서 구매한 삼성폰을 한국에서 제대로 사용하기 위해서는 어떻게 해야할까? 동일한 모델의 한국 CSC 파일이 들어간 펌웨어를 올리면 될 것이다. 이론적으로는... 허나 문제는 한국 모델과 해외 모델은 모델 자체가 다르다는 데에 있다. 즉 동일한 S7이라 하더라도 해외모델(G930F)와 한국모델(G930S/K/L)은 모델 자체가 다르고, G930F는 한국에 출시한 적이 없으므로, 당연히 G930F의 한국용 펌웨어는 존재하지 않는다. 한국 모델용 펌웨어를 다운받아서 CSC파일만 추출한다고 해도, 모델번호가 다르기 때문에 업데이트가 불가능하다. 그러므로 해외 모델의 한국 CSC를 구할 수 있는 방법은 없다. (그런 CSC를 만들지 않는다)
그러므로 삼성 해외모델을 구매한다면, 현재로서는 한국에서 삼성페이, VoLTE, VoWIFI 등의 사업자/국가별 전용 기능은 포기하는 것이 마음편하다. 추후에 삼성에서 이 기능들의 활성화 여부를 펌웨어에다가 집어넣지 않고, 폰에 들어있는 심카드의 통신사나 현재 연결된 네트워크 기준으로 바꾼다면 (애플이나 구글이 이런방식이다..) 핸드폰을 구매한 국가에 상관없이 사용 가능할 수도 있다. 하지만 삼성에서 유통방식이나 여러가지 복잡한 고려사항들이 있기 때문에, 아마 사업모델이 근본적으로 바뀌지 않는 이상은 이 정책이 바뀌는 일은 없을 것이다.
물론 특정 CSC의 경우 그냥 무조건 VoLTE같은 기능을 활성화 할 수 있게 해둔 경우도 있어서 이런 경우에는 해외 펌웨어에서도 기능 사용이 가능하다. 어떤 CSC에서 이게 가능한지는 포럼에서 다른 사람의 사용기를 찾아보거나, 본인이 직접 시도해보는 수 밖에 없다. (현재로서는 BTU CSC가 여러모로 좋은 듯 하다.)
5. 결론
삼성에서 CSC는 국가별 통신사별 세팅을 담당하는 중요한 것으로 펌웨어에 들어있는 CSC 파일에 따라 설정된다. 다만 Multi-CSC로 업데이트 하는 경우 안에 들어있는 CSC코드 중에 기본 CSC로 코드가 변경되고, 그 외의 다른 CSC코드로 변경할 수 있는 방법은 없다. 가장 좋은 CSC는 현재 내가 사용중인 통신사 및 국가의 CSC이지만, 이게 불가능할 경우에는 가장 범용의 CSC를 다운받아 사용하도록 한다. 현재 BTU CSC (OXA 펌웨어)가 가장 범용으로 사용되는 것으로 보인다. VoLTE 등의 특정 기능도 CSC에 따라 활성화 여부가 달라지므로, 현재 CSC에서 원하는 기능 활성화가 안된다면 다른 펌웨어를 다운받아 보자.
참고로 G930FD/G935FD (S7 듀얼심 모델)에서 4G+3G를 활성화시키기 위해서는 THL CSC (OLB펌웨어)가 필요하며 이외의 CSC에서는 최신 버전으로 펌웨어를 업데이트 하더라도 4G+3G가 활성화되지 않는다. (링크)