[오류해결] 삼성 갤럭시 탭 A8(SM-T387V) mdm mode can’t download 문제

삼성 갤력시 탭 A8(SM-T387V) 초기화를 하는 방법은 여러가지가 있습니다. 안드로이드 설정 메뉴에서 초기화가 가능하다면 가장 쉬운 방법이고, 롬(Rom)을 플래싱(Flashing)하여 완벽하게 공장 초기화를 할 수도 있습니다. 이번 내용은 롬(Rom) 파일을 이용하여 공장 초기화를 시도하는 도중에 발생하는 문제에 대한 오류해결 방법을 설명합니다.


1. 오류 메시지

오딘(Odin)은 녹스(Knox) 상태를 유지하면서 펌웨어를 업데이트할 수 있도록 하는 관리자 도구입니다. 오딘은 펌웨어를 업데이트하거나 펌웨어 버전을 다운그레이드 하는데 사용됩니다.

삼성 갤럭시 탭 A8(SM-T387V)를 다운로드 모드 상태로 만듭니다. 다운로드 상태를 만드는 방법은 전원버튼을 눌러 기기를 재시작(Reboot)하고, 볼륨 상(Volume Up), 하(Volume Down) 버튼을 동시에 누르고 기다리면 다운로드 모드로 진입할 것이냐는 안드로이드 시스템 화면이 출력되고, 그 상태에서 볼륨 상(Up) 버튼을 누르면 다운로드 모드로 진입하게 됩니다.

이 상태에서 오딘을 실행하고, 준비한 롬(Rom) 파일을 플래싱(Flashing)하면 되는데, 이 때 기기에 따라 아래와 같은 오류 메시지가 출력되면서 프로세스가 실패(Fail)로 뜨는 문제가 발생합니다.

mdm mode can't download 

2. 문제원인

문제 원인은 여러가지가 있는데, 해당 디바이스를 관리자 모드에서 다른 프로그램이 스토리지에 쓰기(Write)를 할 수 없도록 막아놓았기 때문에 발생하는 것입니다.

관리자 모드에서 설정한 프로그램(주로 3rd party 업체들의 프로그램)이 이 권한을 풀기 전까지 이 문제는 해결되지 않으며, 경우에 따라서는 안드로이드 시스템의 개발자 모드 진입 권한까지도 막기 때문에 문제 해결이 쉽지 않은 게 특징입니다.

참고로 관리자 모드는 삼성의 녹스(Knox) 레벨에서 관리되며, 단순히 공장초기화를 한다고 해서 녹스(Knox)가 제거되는 게 아니기 때문에 기기의 녹스(Knox) 워런티를 깨거나 삭제를 하는 것이 필요합니다.

3. 해결방법

문제를 해결하는 기본 원리는 이렇습니다. 관리자 모드를 통해 다른 프로그램들이 스토리지에 쓰기를 못하게 막아 놓은 프로그램 역시 안드로이드 시스템 입장에서는 유저 데이터(User data)로 인식이 되기 때문에 유저 데이터를 초기화하여 해당 프로그램의 데이터가 삭제되면 이 문제는 자연스레 해결됩니다.

XDA와 여러 사이트를 조사한 결과 해결 방법은 아래와 같이 몇 가지로 요약됩니다.

3.1. 안드로이드 보안 취약점을 이용한 방법 (Safe)

이 방법은 가장 안전하고 쉬운 방법이기 때문에 이 방법이 가능하다면 이 방법으로 시도를 하는 게 가장 좋습니다.

방법은 안드로이드 시스템 설정에서 보안(Security) 메뉴에서 패스워드(Password)를 설정한 뒤, 패스워드를 입력하는 창에서 패스워드를 고의로 틀리게 입력하여 안드로이드 시스템이 시스템을 초기화하도록 유도하는 방법입니다.

패스워드를 연속해서 틀리게 입력하면 안드로이드는 패스워드 입력 가능 횟수가 몇번 남았다고 하면서 몇번 더 틀리면 시스템을 리셋한다고 경고 문구를 안내합니다.

겁내지 말고, 연속해서 고의로 틀리게 입력을 하면 안드로이드 시스템이 알아서 시스템을 초기화하고 이 문제를 해결하는 방식입니다.

이 문제는 안드로이드 9.0 버전에서는 통하지 않는 것으로 확인됩니다. 안드로이드의 취약점을 이용해서 도난된 기기를 초기화하는 목적으로 악용됨에 따라 안드로이드에서는 이 부분을 보완한 것으로 생각됩니다.

제가 시도해본 결과 초기화한다고 경고 문구는 나오지만 실제로 초기화가 되지 않는 것을 확인하였습니다.

안드로이드 버전이 낮은 상태라면 이 방법을 가장 먼저 시도해 보시기 바랍니다.

2021년 11월 확인 결과 결국 이렇게 해서 시도를 해도 삼성 녹스(Knox)가 그대로 유지되는 한 3rd party 프로그램이 다시 활성화되고, 결국 mdm 모드 해제가 불가능한 것으로 확인되었습니다.

3.2. TWRP 리커버리를 이용한 방법 (Risky)

TWRP 리커버리란 오딘(Odin)없이 기기 자체에서 롬(Rom)을 플래싱(Flashing)할 수 있도록 설치하는 별도의 프로그램이라 생각하시면 됩니다.

TWRP 리커버리는 기본적으로 유저 데이터를 삭제하는 기능을 제공하는데, 이걸 이용해서 유저 데이터를 삭제하여 모든 앱을 삭제하고 롬을 플래싱하는 방법입니다.

단, TWRP 리커버리를 설치하려면 안드로이드 설정의 개발자 모드에서 별도의 설정을 해줘야 하는데, 경우에 따라서 관리자 모드를 통해서 다른 앱들이 스토리지에 쓰기를 못하도록 막아놓은 앱이 개발자 모드로의 진입 자체도 막는 경우가 있기 때문에 TWRP 자체를 아예 설치를 못하는 경우 이 문제는 해결방법이 되지 못할 수 있습니다.

또한 TWRP 리커버리는 TWRP 리커버리 버전과 기기의 버전이 정확히 일치해야 되며, 잘못 적용될 경우 기기가 벽돌 상태가 된다는 보고가 있어 사용에 주의를 기울여야 하는 방법입니다. TWRP 리커버리 버전이 자신의 기기에 맞는 것인지 신중히 확인하시고 적용하셔야 합니다.

TWRP를 이용하여 초기화를 하는 방법은 구글을 통해서 찾아보시면 잘 안내된 내용을 찾으실 수 있을 겁니다.

자신의 기기에 맞는 TWRP 리커버리를 구할 수 있다면 이 방법이 가장 확실한 방법입니다. TWRP를 이용해서 녹스(Knox)를 리커버리 부팅 모드에서 삭제하고, 펌웨어를 업데이트하는 방식으로 문제해결이 가능합니다.

순서는 mdm 모드로 개발자 모드 진입 자체가 불가능할 것이기 때문에 TWRP 리커버리를 설치하기 위해서 오딘(Odin)으로 콤비네이션파일(Factory binary) 파일을 이용해서 펌웨어를 공장초기화 상태로 초기화 후, 개발자 모드 활성화, USB 디버깅(USB Debugging), OEM 언락(OEM Unlock) 설정합니다.

이후 TWRP 리커버리를 설치하고, TWRP를 이용해서 녹스(Knox)를 삭제하고, 펌웨어를 업데이트 하는 방법으로 진행하면 됩니다.

3.3. 오딘(Odin)의 설정값을 이용한 방법 (Risky)

이 방법은 확실한 방법은 아닙니다만 위의 안드로이드 보안 취약점을 이용하는 것과 같이 쉽게 적용해볼 수 있는 방법입니다. 경우에 따라 3rd party 프로그램이 녹스(Knox) 레벨에서 설정이 된 게 아니라면 이 방법으로 해결이 가능할 것입니다.

단, 대부분의 경우 녹스(Knox)와 연계되어 프로그램이 구동되도록 설정되어 있을 것이기 때문에 확실하게 해결할 수 있다고 권장하는 방법은 아닙니다.

또한 이 방법 역시 TWRP 리커버리와 같이 위험성이 있습니다. 일부 사용자에 의하면 이 방법은 기기를 무한 부팅(Boot looping)에 빠지게 한다고 하니 참고하시어 진행하시기 바랍니다.

모델(Model): SM-T387V
안드로이드 버전(Android): 9
빌드넘버(Build number): PPR1.180610.011.T387VVRU1BSI1
커널 버전(Kernel version): 3.18.120

우선 기기를 다운로드 모드 상태로 만든 다음에 컴퓨터와 연결 후, 오딘을 실행합니다.

오딘을 실행하여 아래와 같이 롬(Rom)을 플래싱(Flashing)하는 과정과 동일하게 각각의 파일을 BL, AP, CP, CSC에 입력한 후, Option 탭을 선택합니다.

Main screen of Odin

Option 탭을 보시면 Auto Reboot과 F.Reset Time이 기본으로 체크가 되어 있을 겁니다. 아래와 같이 Nand Erase항목을 추가로 체크해줍니다. 그리고 Start 버튼을 눌러서 롬을 플래싱합니다.

Option tab screen of Odin

이 과정을 진행하면 이전과 동일하게 롬 플래싱이 실패되었다고 하면서 오딘(Odin)은 프로세스를 Fail 처리합니다.

이때 다운로드 모드 상태의 기기를 보시면 역시 기존과 동일하게 mdm mode can’t download 오류 메시지가 출력된 것을 보실 수 있을 겁니다.

하지만 기존과 다르게 User data erase와 같은 명령어가 한줄 추가된 것을 확인할 수 있는데, 이 문구가 출력되었다면 해당 방법이 성공했을 가능성이 높습니다.

정확한 문구가 기억나진 않지만 기존에 mdm 오류만 출력되던 것과는 다른 명령어가 추가된 것을 확인하면 됩니다.

이후 기기를 다운로드 모드에서 빠져나오도록 전원 버튼(Power Button)과 볼륨 하(Volume Down)을 동시에 누르고 있으면 기기가 재시작 되면서 통신사 로고와 함께 초기화 과정을 진행하는 것을 보시게 될 겁니다.

경우에 따라서 통신사 로고 화면에서 화면이 넘어가지 않고 초기화 과정이 시간이 소요되는 경우가 있으니 기기가 해당 과정을 진행하도록 그대로 놔두시기 바랍니다.

3.4. Factory binary와 런처 설치하여 사용하기 (Safe)

사실 이 문제를 해결하는 근본적인 해결방법은 위에서 말씀드린 것처럼 TWRP 리커버리를 사용하는 것입니다. 단, 현재 모든 기기의 TWRP 리커버리가 존재하지 않습니다. 제 기기(SM-T387V) 역시 이 TWRP 리커버리가 존재하지 않고, 유사 기종의 TWRP를 이용하여 테스트해보았으나 모두 실패하였습니다.

결론적으로 Factory binary로 기기를 공장초기화 상태로 돌리면 테스트 앱들이 화면에 출력되는데, 혹시나 해서 개발자 모드를 활성화와 USB 디버깅(USB Debugging)로 ADB를 통해 앱을 설치해보니 대부분의 앱들은 설치가 가능했습니다.

구글 앱 같은 경우 백그라운드 서비스나 서비스 프레임워크가 설치되어 있어야 앱 설치가 가능하며, 공장초기화 상태에서는 이런 서비스나 서비스 프레임워크가 동작하지 않아서 대부분의 구글 앱들은 설치가 불가능합니다.

즉, 기본적으로 구글 계정과 연동되는 서비스 앱들은 설치가 안된다고 생각하면 됩니다. 단, 크롬은 예외적으로 브라우저 프로그램이라서 설치가 됩니다. 반대로 이야기하면 대부분의 구글 앱들이 웹으로도 서비스를 제공하기 때문에 크롬을 통해서 조금 불편하긴 해도 문제없이 서비스 이용은 가능하다는 뜻이기도 합니다.

카메라 앱, 갤러리 앱, 브라우저, 삼성 런처 등, 일부 게임 포함, 사용하기에는 충분한 사용성을 보이는 앱들에 대한 설치가 가능합니다.

물론 구글플레이가 설치되지 않기 때문에 앱에 대한 업데이트는 직접 .apk파일을 구해서 ADB로 업데이트를 시켜줘야 합니다. 저처럼 업데이트는 최대한 미룰 수 있을때까지 미룬다고 하는 분들이라면 크게 문제될 건 없어 보입니다.

조금 불편한건 Factory binary 모드에서는 기기가 부팅될때마다 WiFi 스위치를 직접 On으로 변경해줘야 한다는 것과 일부 앱에서 기기 하단에 출력되는 내비게이션 바가 활성화되지 않는다는 것 등은 조금 불편합니다. 펌웨어도 공장초기화 버전 상태로밖에 쓸 수 없기 때문에 언젠가는 제약이 있다고 봐야합니다.

정 안되면 엑스박스 컨트롤러를 블루투스로 연결해서 에뮬레이터 머신으로라도 쓰면 된다고 생각하고 있습니다.

또한 시스템 설정도 일부 제약이 있어 앱 실행 시, 크래시(Crash)가 종종 발생하는 것을 볼 수 있습니다.

물론 일반적인 사용 사례에서 이유없이 크래시(Crash)가 발생하진 않습니다. 나름 아무것도 할 수 없던 것에 비하면 조금 불안정하더라도 이 방법이 제 기기에서는 최선의 방법이라고 생각됩니다.

Samsung launcher home
Samsung launcher app drawer

아무쪼록 문제 해결에 도움이 되었길 바라며, 그럼 다음에 또 뵙겠습니다.

댓글

인기 게시글

[오류해결] KMS 인증(Activation) 오류(error) 0xC004F017 문제 원인 및 해결 방법

[오류해결] 카카오톡 PC 버전 접속 오류(일시적인 장애이거나 네트워크 문제일 수 있습니다. 잠시 후 다시 이용해 주세요. 오류코드 70101, 11002, LL)와 다음(daum.net), 티스토리(tistory.com) 접속 오류(오류코드 DNS_PROBE_FINISHED_NXDOMAIN) 문제