도와주세요!!
EZ-X5 에 EZ-PI 보드를 이용하여 레이져 거리계 센서를 연결해서 사용 중입니다.
Sl811 device 와 CDC-ACM dirver를 활성화 한 커널을 컴파일 해서 사용 하는데요,
이를 이용한 어플리케이션을 실행하면, 첫 실행은 무리없이 동작합니다만,
때때로 동작중 다음과 같은 에러가 발생합니다.
SOF interrupt: td_array->len = 0x1, s/b: 0
INTERRUPT URB:[ 7ef] dev: 2,ep: 2-I,type:BULK,flags: 20,len:0/64,stat:-115(ffff
ff8d)
일단 첫 실행에서는 큰 문제가 없습니다만, 다음 실행 시에는 디바이스를 제대로 인식을 못하네요.
정확히는 baud rate가 망가졌다면서 connection fail이 뜹니다.
그리고 이렇게 한 번 실행한 경우, USB 장치를 분리하게 되면 다음과 같은 메시지가 나타납니다.
(어플리케이션 실행 전에는 제거해도 정상적으로 제거됩니다.)
usb.c: USB disconnect on device sl811-1 addres
s 2
Unable to handle kernel NULL pointer dereference at virtual address 00000000
mm = c01a2920 pgd = c0004000
*pgd = 00000000, *pmd = 00000000
Internal error: Oops: ffffffff
CPU: 0
pc : [<c0108900>] lr : [<68000093>] Not tainted
sp : c0de5f20 ip : c0df8c50 fp : 00000000
r10: 68000013 r9 : c010cf10 r8 : c0df8c00
r7 : c0df2810 r6 : c0de4000 r5 : c0df280c r4 : c0de5f34
r3 : c0de5f3c r2 : 00000000 r1 : 00000000 r0 : 00000002
Flags: nZCv IRQs off FIQs on Mode SVC_32 Segment kernel
Control: 397F Table: A0010000 DAC: 0000001D
Process khubd (pid: 8, stack limit = 0xc0de4368)
Stack: (0xc0de5f20 to 0xc0de6000)
5f20: c0df8c24 00000000 c0de4000 00000000 00000000 00000000 c0de4000 c0df8c24
5f40: c0df8c24 c0df2800 c01d34b4 c02e7720 00000000 c0df2600 c02e73a0 00000000
5f60: 00000000 c00fec10 c010dca4 c01d34b4 c01d34d4 c00ff8fc 00000100 c0df2200
5f80: 00000000 0000000a 00000000 00000001 c0102230 c0abf420 c02e73c8 00000000
5fa0: c02e73a0 c0df2200 c0de5fbc 69052d06 c0de5fbe 00000000 c0102530 01000003
5fc0: c01d2dfc c0de5fdc c01fbd3c c01d9128 c01a2bb4 a001448c c01025e8 00000000
5fe0: c0de4000 00000000 00000000 c010259c c02cc000 c001cd98 00000000 00020000
Backtrace: no frame pointer
Code: e585b054 e5951004 e5972004 e288c050 (e5821000)
포럼 검색을 해보니 USB 디바이스 관련 문제는 거의 확실한 것 같습니다.
뭣보다 전 커널 EZ-PI 시디에 제공된 USB 활성화된 커널을 수정한 2.4.19 에서 사용중인데요.
같은 프로그램과 디바이스를 2.6.21 커널이 설치되고 USB, CDC-ACM이 설치된 보드에서 사용하면 문제없이 작동됩니다.
2.6.21 커널과 2.4.19 커널에서 sl811 드라이버가 다른 종류로 잡히던데 이것이 문제일까요?
만약 그렇다면 2.4.19에서의 해결 방법이 궁금합니다.