기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요?


제가 안드로이드 USB 디바이스를 이용하는 어플리케이션을 만들고 있는데요.


어떤 디바이스에 버튼입력을 감지하는데 이상하게 3~4초 정도 지연이 발생하네요.

몇몇 안드로이드 기기(갤럭시 노트, 갤럭시s3)에서는 지연이 거의 없는데

다른기기에서는(G3 , G2, 갤럭시s4, 엣지, 노트4 등) 대부분 지연이 발생합니다. 

그러니까 버튼을 누를 뒤 3~4초가 지나서 반응하는 경우가 많아요. 한 절반정도는 3초이후에 반응하고

1/10 정도는 바로 반응하기도 하는 것 같습니다. 


확인해보니 안되는 기기의 공통점은 커널버전이 3.4 이상이고

잘 되는 기기는 커널버전이 3.0.31 이네요.


커널단에 무슨 문제가 있을 수 있을까요?

웹 검색을 해봐도 USB 제어와 관련된 뭐가 달라졌는지 잘 모르겠더라구요.


버튼 입력을 받는 방식을 여러가지로 해봤는데 

usbDeviceConnection을 사용했다가 

libusb를 사용하고 있습니다.

두 방식 모두 결과는 동일했습니다. 

일반적으로 3초 이상의 지연이 있고 빠를 때는 1초 이내에 응답하기도 하구요.


아무튼 libusb의 interrupt_transfer를 사용했는데요.

지연되는 부분이 어디인지 확인하기 위해서 로그 찍어가면서 코드를 따라가다 보니

ioctl 로 urb를 제출하고 난 뒤에 poll 함수에서 멈춰있고 버튼입력을 받은 뒤

poll 자체를 벗어나는데 오래걸리더라구요. 


이후 다시 ioctl로 urb를 읽어오는데요. 


혹시 싶어서 poll에 timeout을 주고 강제적으로 fd에서 urb값을 읽어오도록 했는데

그 값 자체가 버튼을 누른지 3초 이상 지나야 바뀌는 것 같더라구요. 


혹시나 싶어서 키보드로 interrupt transfer를 시도해봤는데 키보드는 지연없이 잘 동작하네요.

넘겨주는 값이 이상해서 그런건지 이렇게까지 늦게 반응하는게 잘 이해되지 않습니다 .


이젠 어떤 시도를 해봐야 원인을 찾을 수 있을 지 모르겠네요. 


혹시 짐작가시는 바가 있으시다면 알려주시면 감사하겠습니다. 


읽어주셔서 감사합니다~



고등어

2015.12.17 05:42:06
*.36.136.16


Bulk를 한번 사용해보세요.

아라라라기

2015.12.17 20:03:49
*.106.171.173

Bulk 도 사용해 봤는데 마찬가지 입니다.

내용 추가하자면 가장 최근에 테스트한게 넥서스 7 태블릿 (커널버전 3.4)인데

여기서는 또 정상적으로 동작하네요.



List of Articles
번호 제목 글쓴이 날짜sort 조회 수

IEEE1394 포트에 외장하드 연결해서 리눅스부팅<==완료 [3]

3차보드구매하고 싶습니다. <= 완료 [1]

질문) 2440 의watchdog 사용에 관해서 [4]

[질문] 이번에는 su 관련 질문입니다.

==>이렇게 하시면 됩니다. [1]

aesop 2440과 smdk2440 질문입니다. <= 완료 [4]

2차 보드에서 LCD 출력을 일반 그래픽 카드의 디지털 출력으로 구... [7]

CE 부터로더 다운로드 질문 [3]

안녕하세요 zd1211 컴파일까지 완료 하였습니다만 <==완료 [3]

[질문] Email 전송 애플리케이션을 보다가... [4]

이솦 uboot에서 128 nand 지원? [4]

SMDK2440A 타겟보드에서 ping 사용하기...ㅠㅠ <= 133에 추... [2]

SMDK2440A 보드 ping 문제에 관한 질문 두번째 <= 132번과 ... [5]

u-boot 에서 usb 메모리스틱 읽기...<==[완료!] [3]

[고현철님] SMDK2440A 보드 ping 문제에 관한 질문 세번째 &lt... [4]

[완료] 디바이스 드라이버에서 플래쉬 메모리에 접근하는법 [2]

[질문] 이솝보드에 삼성의 DNW(USB/Sireal 다운로더)사용하려면..? [6]

[질문] u-boot 에서 USB OHCI의 지원 ? [<= 완료] [2]

mmc 사용중 질문입니다 <==완료 [1]

2440 nandboot 관련 <== 완료 [6]

사용자 로그인