2011-01-01 4 views
2

Android Froyo 2.2를 실행하는 Archos a28 인터넷 태블릿이 있습니다. 나는 안드로이드에서 작동시키려는 HID Input 클래스 디바이스를 가지고있다. 태블릿 자체는 이미 마우스 및 USB 플래시 드라이브를 상자에서 처리 할 수 ​​있습니다.USB 입력 장치 Archos a28 : 기기에 직접 읽고 쓰기 가능

a28과 함께 USB 장치를 사용하고 싶습니다. 맞춤 설계된 장치입니다. 원시 USB 입력 및 출력 보고서를 읽고 쓰고 읽을 수 있어야합니다.

어떻게하면됩니까? 이렇게하기위한 모듈을 만드는 것이 가능할 수도 있다고 들었습니다. 당신이 리눅스 작업 사용자 정의 USB 장치를 얻을 필요가,

첫째 :

+0

연결하려는 장치에 대한 자세한 정보를 제공 할 수 있습니까? 일부 장치에는 처음부터 모든 저레벨 USB를 사용하는 것보다 사용하기 쉬운 FTDI USB 인터페이스와 같은 자체 드라이버가 있습니다. –

+0

FTDI USB는 Uart over USB이며 진정한 USB는 아닙니다. VCOM 드라이버를 사용해야합니다. 이 방법이 더 쉽지만 이미 HID 호환 장치를 개발하는 데 어려움을 겪었으므로이 시점에서는 VCOM을 옵션으로 사용할 수 없습니다. 우리는 안드로이드에서 장치를 작동시키기 만하면됩니다. 즉, 기존의 Linux HID 드라이버를 사용하는 것입니다. – Brian

+0

# android-dev from freenode의 코멘트는 다음과 같습니다. 서비스를 작성하고 어떻게 든 udev에 연결 한 다음 (수퍼 유저 권한이 필요할 수도 있음) 장치를 포함하는/dev/input/* 파일과 통신합니다 HID 드라이버에서. – Brian

답변

1

은 기본적으로 두 가지 작업을 수행해야합니다. 결국, 리눅스는 태블릿에서 안드로이드 스택을 기반으로합니다. 하지만 먼저, 대화식으로 실험하기가 더 쉬운 데스크톱 리눅스를 사용하고 싶을 것입니다. 아마도 이것은 커널 드라이버를 로딩하거나 수정하고, 자동으로로드되도록 규칙을 설정할 수도 있습니다. 일단 당신이 그것을 가지고 있다면, 당신이 한 일을 문서화하고 안드로이드 타블렛의 리눅스에 상응하는 일을하십시오. 이것은 거의 확실하게 루트가 필요합니다. 안드로이드 컨텍스트에서 연결시 드라이버를 자동로드하는 방법은 다를 수 있지만 드라이버 자체는 본질적으로 동일 할 것이며 적절한 커널에 대해서만 컴파일됩니다.

둘째, 응용 프로그램에서 장치를 사용할 수 있도록해야합니다. 사용자 정의 프로그램에서만이 프로그램을 사용할 수있게하려면 장치 파일과 직접 상호 작용하거나/proc 또는/sys에 무언가를 작성하여이 작업을 수행 할 수 있습니다. 논쟁의 여지가, 그 파일은 세계에 액세스 할 수 있어야하거나 스택에 다른 특수 그룹 ID/안드로이드 권한 쌍을 패치해야하고 해당 그룹이 해당 안드로이드 권한을 가진 응용 프로그램에서 사용할 수 있도록 파일을 소유하게해야합니다. 보다 정교한 접근법은 장치를 관리하는 저수준 서비스를 작성하고이를 일반적인 바인더 기반 안드로이드 서비스 통신 메커니즘을 통해 안드로이드 애플리케이션에 노출시키는 것입니다.