도와주세요!!
글 수 15,339
2003.04.25 21:30:16 (*.231.168.11)
7844
EZBoard에 USB Host Controller(SL811HS) 을 부착했습니다.
그리고 kernel수정하고, 마우스로 TEST을 하였는데.. 마우스를 커넥터에 삽입
하면, 인식했다가 못했다가 합니다. 그럴수도 있나요??
마우스를 인식하면 /proc/bus/usb/devices에 제품명이 나오는 것을 확인하였
습니다.
USB는 nCS1과 연결이 되어 있고, EZboot에서 nCS1의 timing은 다음과 같이
연결하였습니다.
#define MCS0_H_RTxx ( 0 << ( 0+16))
#define MCS0_H_RBWx ( 1 << ( 2+16))
#define MCS0_H_RDFxxxxx ( 31 << ( 3+16))
#define MCS0_H_RDNxxxxx ( 31 << ( 8+16))
#define MCS0_H_RRRxxx ( 2 << (13+16))
인식 못했을때의 Message입니다.
#
$ hub.c: USB new device connect on bus1/1, assigned device number 8
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
usb.c: USB device descriptor short read (expected 8, got 0)
hub.c: USB new device connect on bus1/1, assigned device number 9
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
usb.c: USB device descriptor short read (expected 8, got 0)
hub.c: USB new device connect on bus1/1, assigned device number 10
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
인터럽트도 발생 합니다.
# cat /proc/interrup
11: 1820233 GPIO 11-27
12: 2 SA1100
13: 0 SA USB core
17: 1773 serial_sa1100
20: 0 USB receive
21: 0 USB transmit
26: 65243 timer
33: 0 CF_CD
36: 1 keyboard
41: 1820478 SL811 <=== 인터럽트 발생
44: 1 CF_BVD1
45: 1 CF_BVD2
47: 0 cs89x0
Err: 0
그리고 다음처럼 나옵니다. 역시 인식을 못하는 것 같습니다.
# cat /proc/bus/usb/device
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 1
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB SL811HS Root Hub
S: SerialNumber=0
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms
그리고 kernel수정하고, 마우스로 TEST을 하였는데.. 마우스를 커넥터에 삽입
하면, 인식했다가 못했다가 합니다. 그럴수도 있나요??
마우스를 인식하면 /proc/bus/usb/devices에 제품명이 나오는 것을 확인하였
습니다.
USB는 nCS1과 연결이 되어 있고, EZboot에서 nCS1의 timing은 다음과 같이
연결하였습니다.
#define MCS0_H_RTxx ( 0 << ( 0+16))
#define MCS0_H_RBWx ( 1 << ( 2+16))
#define MCS0_H_RDFxxxxx ( 31 << ( 3+16))
#define MCS0_H_RDNxxxxx ( 31 << ( 8+16))
#define MCS0_H_RRRxxx ( 2 << (13+16))
인식 못했을때의 Message입니다.
#
$ hub.c: USB new device connect on bus1/1, assigned device number 8
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
usb.c: USB device descriptor short read (expected 8, got 0)
hub.c: USB new device connect on bus1/1, assigned device number 9
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
usb.c: USB device descriptor short read (expected 8, got 0)
hub.c: USB new device connect on bus1/1, assigned device number 10
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x0, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: excessive error: errcount = 0x4,
cc = 0x4
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
done_list: packet err, cc = 0x4, urb->length = 0x8, actual_len = 0x0,
urb_state =0x2
인터럽트도 발생 합니다.
# cat /proc/interrup
11: 1820233 GPIO 11-27
12: 2 SA1100
13: 0 SA USB core
17: 1773 serial_sa1100
20: 0 USB receive
21: 0 USB transmit
26: 65243 timer
33: 0 CF_CD
36: 1 keyboard
41: 1820478 SL811 <=== 인터럽트 발생
44: 1 CF_BVD1
45: 1 CF_BVD2
47: 0 cs89x0
Err: 0
그리고 다음처럼 나옵니다. 역시 인식을 못하는 것 같습니다.
# cat /proc/bus/usb/device
T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=12 MxCh= 1
B: Alloc= 0/900 us ( 0%), #Int= 0, #Iso= 0
D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0000 ProdID=0000 Rev= 0.00
S: Product=USB SL811HS Root Hub
S: SerialNumber=0
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub
E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms