4

Android가있는 TI OMAP 플랫폼을 운영체제로 사용하고 있습니다. 하나의 UseCase의 경우 장치의 LED 중 하나를 토글해야합니다. LED에는 "장치 속성"이 있고 응용 프로그램 계층 [.java]에서 "장치 속성"을 읽습니다. 우리는 ADB 프롬프트에서 cat 명령을 실행 할 때안드로이드 - "device length"오류가 "invalid length"오류로 인해 실패합니다.

는 :

# cat /sys/devices/device_name/device_attribute 
# device_attribute:invalid length 

을 우리는 오류 "잘못된 길이를"얻는다. 따라서 App Layer에서도 액세스 할 수있는 "Device Property"를 읽을 수있는 방법이 있는지 알고 싶었습니다.

다른 포럼 http://android.modaco.com/topic/312770-possible-solution-for-lack-of-notification-light-developers-needed에서도 비슷한 질문을 발견했지만 답변을하지 않았습니다.

답장 보내 주셔서 감사합니다.

솔루션 장치는 "set_device_attribute"을 가지고했지만 "get_device_attribute는"실종 된 이후, 우리가지고 있었다 "잘못된 길이"문제가 "읽기"가 해당 장치 속성에 명령이 발행되었다.

static DEVICE_ATTR(device_property, 0777,get_device_attribute, set_device_attribute); 

답변

2

유효 길이가 종종 디렉토리를 나타내는 속성

static ssize_t get_device_attribute(struct device *dev, struct device_attribute *attr, 
char *buf) 
{ 
......................... 
......................... 
......................... 
} 

업데이트 장치 :

나는라는 새로운 API를 추가했습니다. 마지막 "device_attribute"로 cd하십시오.

대체 방법 "/ proc"에서 장치 정보를 검색 할 수도 있습니다.

0

아마도 당신은 리눅스 커널 소스 코드 을 가지고 디바이스의 특정 sysfs 구현을 검색 할 수 있습니다. 어떻게 프로그래밍되었는지보십시오.

+1

예, 해당 장치의 sysfs 구현 즉 LED를 조사했습니다. 현재 "set_device_attribute"함수 만 구현되었습니다. 이제 해당 속성의 "get_device_attribute"함수로 작업하고 있습니다. 즉 정적 DEVICE_ATTR (device_attribute, 0777, ** get_device_attribute **, set_device_attribute); – hjsblogger

관련 문제