기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
안녕하세요. 지금 안드로이드를 포팅을 하고 있습니다.
일단 기본 화면은 출력이 되는 상황이구요. 버전은 제리빈입니다.
문제는 동작을 하다가 sleep모드로 들어갈때 pm쪽에 문제가 있습니다.
pm suspend를 하여가 문제가 있어서
다음과 같은 출력이 계속 나옵니다.
PM: suspend entry 1970-01-02 01:14:58.769033098 UTC
그러다가 마우스를 일단 연결을 했는데 입력을 주면 sleep에서 깨어 나면
출력이 안됩니다.
그리고 sleep이라고 해도 화면이 꺼지는 상태는 아니구요.
궁금한 것이 kernel에서 따로 처리를 해 주어야 하는 부분이 있나요?
보드 특성에 맞게 ?
아님 안드로이드에서 처리를 하려고 하는데 kernel에서 지원을 하지 않아서
발생하는 문제인 것 같나요?
힌트 좀 주세요. ^^;;
그러다가 마우스를 일단 연결을 했는데 입력을 주면 sleep에서 깨어 나면
출력이 안됩니다.
그리고 sleep이라고 해도 화면이 꺼지는 상태는 아니구요.
어떤 말씀이신지 모르겠습니다. 어떤것이 출력이 안된다는 것인가요? 그리고 sleep 에서 화면이 꺼지지 않는다고 하면 기본적인 early suspend도 완료가 되지 않은것 같습니다. PowerManagement 명령은 Android PowerManager Service에서 HAL을 거쳐서 리눅스 커널에서 처리가 됩니다.
처리순서는 PM Sleep request => PM service => Android HAL => Kernel PM core => PM Driver => End..
대박입니다. PowerManagerServie에서 처음에 power 모듈을 가져오는데 없으면 power.default.so를 가져오더군요.
근데 저는 hardware에power.c에 아무것도 해 주지 않았습니다. 보드에 맞게 power에 관련된 so파일은 따로 만들어 주어야 되는 것 같은데 많나요?
#define HAL_LIBRARY_PATH1 "/system/lib/hw"
#define HAL_LIBRARY_PATH2 "/vendor/lib/hw"
이렇게 되어 define되어서 검색을 하던데 보통 vendor에 보드에 맞는 power관련 so 파일을 만들어 주는게 맞나요? ㅠ.ㅠ
hibernation옵션 문제였습니다. power/state/에 disk가 만들어지지 않았었는데 옵션을 켜니 만들어지네요
요구 오션이 아니라서 off해 뒀었는데 ㅠ.ㅠ