명령을 사용하여 Kobo Mini 전자책 리더를 수동으로 잠자기 및 깨우려고 합니다 rtcwake
. 독자들이 사용하고 있다바쁜 상자.
cat /proc/version
나에게 다음과 같은 출력을 제공합니다.
Linux version 2.6.35.3-850-gbc67621+ (gallen@gallen-P5KPL-AM-BM) (gcc version 4.4.4 (4.4.4_09.06.2010) ) #617 PREEMPT Mon Apr 22 11:07:47 CST 2013
rtcwake는 리더를 절전 모드로 설정하지만 다음 메시지와 함께 실패합니다.
wakeup from "mem" at Wed Nov 13 18:02:44 2013
rtcwake: short write
아니요다시 일어나세요. 인터넷 검색 후 카드 리더가 기본(유일한) 저장소로 사용하는 이동식 마이크로 SD 카드에 대한 오류를 추적했습니다. 이는 대기 모드에서 제거된 SD 카드에서 전체 시스템이 실행되고 있음을 의미합니다.
또한 완전히 다른 장치에서 동일한 문제가 발생했지만 이동식 SD 카드를 기본 저장소로 사용하는 다른 사용자도 발견했습니다. 그는 커널 옵션/매개변수를 활성화하여 문제를 해결했습니다
MMC_UNSAFE_RESUME
.
이제 내 질문은: 이 매개변수를 설정/활성화/활성화하는 방법은 무엇입니까? 커널을 다시 컴파일해야 합니까?
답변1
커널을 다시 컴파일해야 한다고 생각합니다. 에서 언급되지 않은 Grepping 3.11 소스 코드는 [src]/Documentation/kernel-parameters
커널 명령줄 매개변수에 대한 문서입니다. 다른 문서에서도 언급되지 않았습니다.
물론 MMC_UNSAFE_RESUME을 문자 그대로 언급하지 않는 매개변수가 있을 수도 있습니다. 최대 절전 모드/절전 모드에서 재개를 조정하기 위한 몇 가지 문서화된 옵션이 있지만 그 중 하나가 이런 방식으로 유용하다고 가정하려면 어떻게든 소스의 MMC_UNSAFE_RESUME에 연결해야 할 것입니다.
따라서 [src]/drivers/mmc/core/core.c
내보낸 기호의 값을 설정하는 데 선언되고 사용됩니다. 인라인 함수의 반환 값에 영향을 주기 위해 mmc_assume_removable
사용되는 유일한 장소는 입니다 .[src]//include/linux/mmc/host.h
이는 결정적인 분석과는 거리가 멀습니다. 물론 원하는 것을 얻는 다른 방법, 설정 /proc
등이 있을 수 있습니다. 하지만 몇 가지를 살펴보세요.이에 대한 개발 논의, MMC_UNSAFE_RESUME과 관련이 있는지 의심됩니다. 대부분의 경우 대부분의 사람들은 특히 개별 드라이버가 장치별로 동일한 작업을 수행할 수 있기 때문에(이 스위치는 전역적임) 이것을 피하고 싶어할 것입니다.
답변2
예, 일반적으로 커널은 절전 모드로 전환할 때 이동식 미디어의 파일 시스템을 마운트 해제합니다. 시스템이 절전 모드에 있는 동안 카드를 제거할 수 있다는 우려 때문입니다. 그런 다음 복원 시 다시 설치됩니다.
MMC 카드를 제거하지 않겠다고 "약속"하는 경우 MMC_UNSAFE_RESUME 커널 옵션을 설정할 수 있습니다. 이는 본질적으로 MMC 드라이브를 영구 저장소로 취급한다는 것을 커널에 알려줍니다. 따라서 장치를 제거하고 다시 설치하지 않습니다.
하지만 이를 위해서는 커널을 다시 빌드해야 합니다.
여전히 절전 모드에서 다시 시작할 수 없는 경우 커널 부팅 매개변수에 "디버그"를 추가해야 합니다. 이렇게 하면 콘솔에 자세한 출력이 추가되고 많은 드라이버가 깨어날 때 상태를 보고합니다. 따라서 운전자의 이력서가 끊어지면 그 운전자가 누구인지 식별할 수 있습니다.