Alan Stern wrote:
On Thu, 9 Jun 2005, Adam Kropelin wrote:
Pete Zaitcev wrote:
OK, here is the interesting part of the trace.
Thanks for the decode...
Up to this point, something hits the UPS with control messages every
4ms
(sounds crazy, but here it is: the daemon is obviously out of
control).
That is insane. No wonder the thing locks up eventually.
Christian, back in mid-May I suggested a way you might be able to
reproduce the lockup faster:
| One other thing to try on the apcupsd end is to edit
| src/drivers/usb/linux/linux-usb.c and modify the
| pusb_ups_check_state() function. Replace the entire
| body of that function with "return 1;" and| then
| rebuild apcupsd and run it.
You're not still running with that change, are you? It would certainly
account for why the UPS is getting blasted with control transfers. But I
don't think this is the case since we'd see them in the HID debug
output.
Something else to try: Turn on the usbfs_snoop module parameter for
usbcore.ko. The system log will then show if any processes are using
usbfs to communicate with the UPS.
Alan Stern
Here another one, btw I did pass usbfs_snoop on to the kernel during
boot, but have no entries in my logfile. Hmmm, usbcore is not a module
so usbcore.usbfs_snoop=1 should have done the job isn't it??? Currently
my apcupsd is hanging in state 'D' again ;-) whats next? FYI, I have
removed all previous patches given for testing.
-- Martin
HC status
usbcmd = 00c1 Maxp64 CF RS
usbstat = 0000
usbint = 000f
usbfrnum = (0)b28
flbaseadd = 1dd44b28
sof = 40
stat1 = 01a5 LowSpeed Enabled Connected
stat2 = 0080
Frame List
Skeleton QH's
- skel_int128_qh
[de2d4000] link (1e2d4152) element (00000001)
urbp == NULL
- skel_int64_qh
[de2d4030] link (1e2d4242) element (00000001)
urbp == NULL
[de2d4240] link (1e2d4152) element (1f3d2000)
0: [df3d2000] link (00000001) e3 LS IOC Active NAK Length=7ff MaxLen=2
DT1 EndPt=1 Dev=2, PID=69(IN) (buf=1f0b9000)
- skel_int32_qh
[de2d4060] link (1e2d4152) element (00000001)
urbp == NULL
- skel_int16_qh
[de2d4090] link (1e2d4152) element (00000001)
urbp == NULL
- skel_int8_qh
[de2d40c0] link (1e2d4152) element (00000001)
urbp == NULL
- skel_int4_qh
[de2d40f0] link (1e2d4152) element (00000001)
urbp == NULL
- skel_int2_qh
[de2d4120] link (1e2d4152) element (00000001)
urbp == NULL
- skel_int1_qh
[de2d4150] link (1e2d4182) element (00000001)
urbp == NULL
- skel_ls_control_qh
[de2d4180] link (1e2d42a2) element (00000001)
urbp == NULL
[de2d42a0] link (1e2d41b2) element (1f3d20c0)
Element != First TD
0: [df3d2080] link (1f3d20c0) e3 LS Length=7 MaxLen=7 DT0 EndPt=0 Dev=2,
PID=2d(SETUP) (buf=1deb2020)
1: [df3d20c0] link (1f3d2100) e3 SPD LS Active NAK Length=7ff MaxLen=7
DT1 EndPt=0 Dev=2, PID=69(IN) (buf=1f0b9100)
2: [df3d2100] link (00000001) e3 LS IOC Active Length=0 MaxLen=7ff DT1
EndPt=0 Dev=2, PID=e1(OUT) (buf=00000000)
- skel_fs_control_qh
[de2d41b0] link (1e2d41e2) element (00000001)
urbp == NULL
- skel_bulk_qh
[de2d41e0] link (1e2d4212) element (00000001)
urbp == NULL
- skel_term_qh
[de2d4210] link (00000001) element (1dd54000)
urbp == NULL
Main list URBs:
1: urb_priv [dc121330] urb [df0ba380] qh [de2d42a0] Dev=2 EP=0(IN) CTL TDs=3
queued URBs=0
2: urb_priv [dc12135c] urb [df0ba400] qh [de2d4240] Dev=2 EP=1(IN) INT TDs=1
queued URBs=0
Remove list URBs: Empty
Complete list URBs: Empty