From: Alan Stern [mailto:[EMAIL PROTECTED] > However, there is one possibility... Older Intel UHCI > hardware (the PIIX3 > Neptune chipset) has an erratum that causes the controller > sometimes to > update a completed TD's status but not update the QH's > element pointer. > As a result the controller remains stuck on the completed TD and never > advances to the next one. Could that be happening to you? > You can find > out by building the driver with CONFIG_USB_DEBUG turned on > and loading it > with > > modprobe uhci debug=3 > > Then the file under /proc/driver/uhci/ corresponding to the > controller in > use will contain debugging information showing the current > state of the > schedule. If you examine that while the queue is stopped > you'll be able > to see exactly what's wrong.
Hm, interesting. I posted this a few days ago, but here it is again; the output of /proc/driver/uhci/hc0 when the queueing breaks. I don't think I had debug turned on at the time though. Also attached below is the debug=3 version. I don't think the errata is the cause though; if I read that right the TDs are all still active. ..Stu Original: HC status usbcmd = 00c1 Maxp64 CF RS usbstat = 0000 usbint = 000f usbfrnum = (0)d30 flbaseadd = 1fe54000 sof = 40 stat1 = 0480 stat2 = 0495 PortEnabled PortConnected Frame List Skeleton TD's - skel_term_td [dfe5a1b0] link (1fe5a1b0) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) Skeleton QH's - skel_bulk_qh [dfe530c0] link (1fe53152) element (1fe5a1e0) 0: [dfe5a1e0] link (00000001) e3 SPD IOC Active NAK Length=7ff MaxLen=3f DT0 EndPt=7 Dev=8, PID=69(IN) (buf=1f9ae660) [dfe53150] link (1fe53182) element (1fe5a270) 0: [dfe5a270] link (1fe53122) e3 SPD IOC Active NAK Length=3f MaxLen=3f DT1 EndPt=4 Dev=8, PID=e1(OUT) (buf=1f9ae160) -- Queued QH's: [dfe53120] link (1fe53182) element (1fe5a2a0) 0: [dfe5a2a0] link (00000001) e3 SPD IOC Active Length=0 MaxLen=3f DT0 EndPt=4 Dev=8, PID=e1(OUT) (buf=1f9ae360) [dfe53180] link (1fe530f2) element (1fe5a210) 0: [dfe5a210] link (00000001) e3 SPD IOC Active Length=0 MaxLen=3f DT0 EndPt=4 Dev=8, PID=69(IN) (buf=1f9ae1e0) [dfe530f0] link (1fe53092) element (1fe5a240) 0: [dfe5a240] link (00000001) e3 SPD IOC Active Length=0 MaxLen=1 DT0 EndPt=7 Dev=8, PID=e1(OUT) (buf=1f9ae3e0) With debug=3: HC status usbcmd = 00c1 Maxp64 CF RS usbstat = 0000 usbint = 000f usbfrnum = (1)a54 flbaseadd = 1dc5c000 sof = 40 stat1 = 0480 stat2 = 0495 PortEnabled PortConnected Frame List Skeleton TD's - skel_term_td [dccee1b0] link (1ccee1b0) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) - skel_int256_td [dccee180] link (1ccee150) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) - skel_int128_td [dccee150] link (1ccee120) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) - skel_int64_td [dccee120] link (1ccee0f0) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) - skel_int32_td [dccee0f0] link (1ccee0c0) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) - skel_int16_td [dccee0c0] link (1ccee090) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) - skel_int8_td [dccee090] link (1ccee060) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) - skel_int4_td [dccee060] link (1ccee030) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) - skel_int2_td [dccee030] link (1ccee000) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) - skel_int1_td [dccee000] link (1cbe1002) e0 Length=0 MaxLen=7ff DT0 EndPt=0 Dev=7f, PID=69(IN) (buf=00000000) Skeleton QH's - skel_ls_control_qh [dcbe1000] link (1cbe1032) element (00000001) urbp == NULL - skel_hs_control_qh [dcbe1030] link (1cbe1062) element (00000001) urbp == NULL - skel_bulk_qh [dcbe1060] link (1cbe1092) element (00000001) urbp == NULL [dcbe1180] link (1cbe10f2) element (1ccee210) 0: [dccee210] link (00000001) e3 SPD IOC Active NAK Length=7ff MaxLen=3f DT0 EndPt=4 Dev=3, PID=69(IN) (buf=1d315fa4) [dcbe10f0] link (1cbe11b2) element (1ccee270) 0: [dccee270] link (1cbe1122) e3 SPD IOC Active NAK Length=3f MaxLen=3f DT1 EndPt=4 Dev=3, PID=e1(OUT) (buf=1d315c8c) -- Queued QH's: [dcbe1120] link (1cbe11b2) element (1ccee2a0) 0: [dccee2a0] link (1cbe1212) e3 SPD IOC Active Length=0 MaxLen=3f DT0 EndPt=4 Dev=3, PID=e1(OUT) (buf=1d315cd4) [dcbe1210] link (1cbe11b2) element (1ccee2d0) 0: [dccee2d0] link (1cbe10c2) e3 SPD IOC Active Length=0 MaxLen=3f DT1 EndPt=4 Dev=3, PID=e1(OUT) (buf=1d315d1c) [dcbe10c0] link (1cbe11b2) element (1ccee240) 0: [dccee240] link (00000001) e3 SPD IOC Active Length=0 MaxLen=3f DT0 EndPt=4 Dev=3, PID=e1(OUT) (buf=1d315d64) [dcbe11b0] link (1cbe1152) element (1ccee1e0) 0: [dccee1e0] link (00000001) e3 SPD IOC Active NAK Length=7ff MaxLen=3f DT0 EndPt=7 Dev=3, PID=69(IN) (buf=1d519344) [dcbe1150] link (1cbe1092) element (1ccee300) 0: [dccee300] link (00000001) e3 SPD IOC Active Length=0 MaxLen=1 DT0 EndPt=7 Dev=3, PID=e1(OUT) (buf=1d51926c) - skel_term_qh [dcbe1090] link (00000001) element (1ccee1b0) urbp == NULL ------------------------------------------------------- This SF.Net email is sponsored by: NEC IT Guy Games. How far can you shotput a projector? How fast can you ride your desk chair down the office luge track? If you want to score the big prize, get to know the little guy. Play to win an NEC 61" plasma display: http://www.necitguy.com/?r=20 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel