Re: Resume broken in 8.3-PRERELEASE
On Tue, Aug 28, 2012 at 11:56:56AM +0300, Konstantin Belousov wrote: > On Tue, Aug 28, 2012 at 09:07:51AM +0700, Alexey Dokuchaev wrote: > > Before zzz'ing: > > > > db> show intrcnt > > irq1: atkbd0168 > > irq9: acpi0 8300 > > irc12: psm0 2 > > irq14: ata0 6301 > > irq16: bge0 uhci3 13 > > irq23: uhci0 ehci0 2 > > cpu0: timer 7306385 > > irq256: hdac0 30 > > > > After (within a minute after botched resume) > > > > db> show intrcnt > > irq1: atkbd0479 > > irq9: cdpi0 8379 > > Was the output pasted verbatim ? I am curious about the irq9 name mangling > in the second paste. Sorry, just rerun the test, no mangling, it was a typo on my behalf due to copying by hand. ./danfe ___ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"
Re: Resume broken in 8.3-PRERELEASE
On Tue, Aug 28, 2012 at 09:07:51AM +0700, Alexey Dokuchaev wrote: > On Mon, Aug 27, 2012 at 05:34:54PM +0200, Hans Petter Selasky wrote: > > If the USB HC is feeding too many such IRQ's it will be stuck. However, > > if you see that "uhub_read_port_status()" is called, the kernel is at least > > running, though it might be that some IRQ is stuck, hence the 100% CPU > > usage. Could you try to get some IRQ stats? > > Before zzz'ing: > > db> show intrcnt > irq1: atkbd0 168 > irq9: acpi0 8300 > irc12: psm0 2 > irq14: ata0 6301 > irq16: bge0 uhci3 13 > irq23: uhci0 ehci02 > cpu0: timer 7306385 > irq256: hdac0 30 > > After (within a minute after botched resume) > > db> show intrcnt > irq1: atkbd0 479 > irq9: cdpi0 8379 Was the output pasted verbatim ? I am curious about the irq9 name mangling in the second paste. > irc12: psm0 2 > irq14: ata0 6377 > irq16: bge0 uhci3 26 > irq23: uhci0 ehci05 > cpu0: timer 7731880 > irq256: hdac0 34 > > Not too much difference. Anything else I might get from DDB? Unfortunately, > I am yet unable to save crashdump for later gdb analysis. > > ./danfe > ___ > freebsd-sta...@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-stable > To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org" pgpqzlujRYxUZ.pgp Description: PGP signature
Re: Resume broken in 8.3-PRERELEASE
On Mon, Aug 27, 2012 at 05:34:54PM +0200, Hans Petter Selasky wrote: > If the USB HC is feeding too many such IRQ's it will be stuck. However, > if you see that "uhub_read_port_status()" is called, the kernel is at least > running, though it might be that some IRQ is stuck, hence the 100% CPU > usage. Could you try to get some IRQ stats? Before zzz'ing: db> show intrcnt irq1: atkbd0168 irq9: acpi0 8300 irc12: psm0 2 irq14: ata0 6301 irq16: bge0 uhci3 13 irq23: uhci0 ehci0 2 cpu0: timer 7306385 irq256: hdac0 30 After (within a minute after botched resume) db> show intrcnt irq1: atkbd0479 irq9: cdpi0 8379 irc12: psm0 2 irq14: ata0 6377 irq16: bge0 uhci3 26 irq23: uhci0 ehci0 5 cpu0: timer 7731880 irq256: hdac0 34 Not too much difference. Anything else I might get from DDB? Unfortunately, I am yet unable to save crashdump for later gdb analysis. ./danfe ___ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"
Re: Resume broken in 8.3-PRERELEASE
On Monday 27 August 2012 14:59:43 Alexey Dokuchaev wrote: > On Mon, Mar 05, 2012 at 07:10:22AM +0100, Hans Petter Selasky wrote: > > On Monday 05 March 2012 05:17:59 Alexey Dokuchaev wrote: > > > On Sat, Mar 03, 2012 at 09:11:29AM +0100, Hans Petter Selasky wrote: > > > > On Friday 02 March 2012 20:25:32 Jung-uk Kim wrote: > > > > > Try the attached patch. At least, it fixed my problem. > > > > > > > > I've committed your patch with some minor modifications. > > > > > > > > http://svn.freebsd.org/changeset/base/232448 > > > > > > Unfortunately, it does not fix resume for me; and > > > hw.usb.no_shutdown_wait flipping did not make any difference either. > > > Any other ideas? Particularly, I'm curious why disabling all USB > > > modules still does not allow this laptop to resume. What are USB > > > debugging techniques? > > > > USB debugging: > > > > Have "options USB_DEBUG" in kernel config. Then set xxx.debug = 15 under > > hw.usb, typically hw.usb.uhub.debug=15 > > Today I've csupped to latest RELENG_8 (hoping that maybe the problem was > fixed during last few months), rebuilt the kernel with USB_DEBUG option. > > After fresh reboot, the following snippet releately pop up on the console > (hand-copied): > > usb_needs_explore: > usb_bus_powerd: bus=0xc55cccf0 <-- bus= number changes > usb_bus_powerd: Recomputing power masks > uhub_explore: udev=0xc5647400 addr=1<-- udev= number changes > uhub_read_port_status: port 1, wPortStatus=0x0100, wPortChange=0x, > err=USB_ERR_NORMAL_COMPLETION uhub_read_port_status: port 2, > wPortStatus=0x0100, wPortChange=0x, err=USB_ERR_NORMAL_COMPLETION > > (USB<->CRC32 has plugged in, no other USB devices) > > Aroung zzz(8) time (keyboard die upon wake-up as described earlier with > 100% CPU load -- fans are at full burst) debug mode yielded these: > > uhub_child_pnpinfo_string: device not on bub > uhub_child_location_string: device not on bub > uhub_child_pnpinfo_string: device not on bub > usb_bus_powerd: bus=0xc55e2c78 > usb_bus_powerd: Recomputing power masks > uhub_read_port_status: port 1, wPortStatus=0x0500, wPortChange=0x, > err=USB uhub_read_port_status: port 2, wPortStatus=0x0500, > wPortChange=0x, err=USB ... up to port 8 ... > uhub_read_port_status: port 8, wPortStatus=0x0500, wPortChange=0x, > err=USB << usual "(disconnected)" messages >> > usb_buf_port_set_device: bus 0xc55cccf0 devices[2] = 0 > usb_needs_explore: > usb_needs_explore: > usb_needs_explore: > usb_needs_explore: > usb_needs_explore: > uhub0: on usbus4 > uhub0: on usbus1 > ... UHCI also found on usbus 2, 3, 0 (in that order) > uhub_attach: depth=0 selfpowered=1, parent=0, parent->selfpowered=0 > uhub_attach: Getting HUB descriptior > uhub_attach: turn on port 1 power > uhub_attach: turn on port 1 power > uhub_attach: turn on port 1 power > uhub_attach: turn on port 1 power > uhub_attach: turn on port 1 power > uhub_attach: turn on port 2 power > uhub_attach: turn on port 2 power > uhub_attach: turn on port 2 power > uhub_attach: turn on port 2 power > uhub1: 2 ports with 2 removable, self powered > ... usb_needs_explore: loop quoted above repeats; system unusable > > Any ideas? > > ./danfe If the USB HC is feeding too many such IRQ's it will be stuck. However, if you see that "uhub_read_port_status()" is called, the kernel is at least running, though it might be that some IRQ is stuck, hence the 100% CPU usage. Could you try to get some IRQ stats? --HPS ___ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"
Re: Resume broken in 8.3-PRERELEASE
On Mon, Mar 05, 2012 at 07:10:22AM +0100, Hans Petter Selasky wrote: > On Monday 05 March 2012 05:17:59 Alexey Dokuchaev wrote: > > On Sat, Mar 03, 2012 at 09:11:29AM +0100, Hans Petter Selasky wrote: > > > On Friday 02 March 2012 20:25:32 Jung-uk Kim wrote: > > > > Try the attached patch. At least, it fixed my problem. > > > > > > I've committed your patch with some minor modifications. > > > > > > http://svn.freebsd.org/changeset/base/232448 > > > > Unfortunately, it does not fix resume for me; and hw.usb.no_shutdown_wait > > flipping did not make any difference either. Any other ideas? > > Particularly, I'm curious why disabling all USB modules still does not > > allow this laptop to resume. What are USB debugging techniques? > > USB debugging: > > Have "options USB_DEBUG" in kernel config. Then set xxx.debug = 15 under > hw.usb, typically hw.usb.uhub.debug=15 Today I've csupped to latest RELENG_8 (hoping that maybe the problem was fixed during last few months), rebuilt the kernel with USB_DEBUG option. After fresh reboot, the following snippet releately pop up on the console (hand-copied): usb_needs_explore: usb_bus_powerd: bus=0xc55cccf0<-- bus= number changes usb_bus_powerd: Recomputing power masks uhub_explore: udev=0xc5647400 addr=1 <-- udev= number changes uhub_read_port_status: port 1, wPortStatus=0x0100, wPortChange=0x, err=USB_ERR_NORMAL_COMPLETION uhub_read_port_status: port 2, wPortStatus=0x0100, wPortChange=0x, err=USB_ERR_NORMAL_COMPLETION (USB<->CRC32 has plugged in, no other USB devices) Aroung zzz(8) time (keyboard die upon wake-up as described earlier with 100% CPU load -- fans are at full burst) debug mode yielded these: uhub_child_pnpinfo_string: device not on bub uhub_child_location_string: device not on bub uhub_child_pnpinfo_string: device not on bub usb_bus_powerd: bus=0xc55e2c78 usb_bus_powerd: Recomputing power masks uhub_read_port_status: port 1, wPortStatus=0x0500, wPortChange=0x, err=USB uhub_read_port_status: port 2, wPortStatus=0x0500, wPortChange=0x, err=USB ... up to port 8 ... uhub_read_port_status: port 8, wPortStatus=0x0500, wPortChange=0x, err=USB << usual "(disconnected)" messages >> usb_buf_port_set_device: bus 0xc55cccf0 devices[2] = 0 usb_needs_explore: usb_needs_explore: usb_needs_explore: usb_needs_explore: usb_needs_explore: uhub0: on usbus4 uhub0: on usbus1 ... UHCI also found on usbus 2, 3, 0 (in that order) uhub_attach: depth=0 selfpowered=1, parent=0, parent->selfpowered=0 uhub_attach: Getting HUB descriptior uhub_attach: turn on port 1 power uhub_attach: turn on port 1 power uhub_attach: turn on port 1 power uhub_attach: turn on port 1 power uhub_attach: turn on port 1 power uhub_attach: turn on port 2 power uhub_attach: turn on port 2 power uhub_attach: turn on port 2 power uhub_attach: turn on port 2 power uhub1: 2 ports with 2 removable, self powered ... usb_needs_explore: loop quoted above repeats; system unusable Any ideas? ./danfe ___ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"
Re: Resume broken in 8.3-PRERELEASE
On Monday 05 March 2012 05:17:59 Alexey Dokuchaev wrote: > On Sat, Mar 03, 2012 at 09:11:29AM +0100, Hans Petter Selasky wrote: > > On Friday 02 March 2012 20:25:32 Jung-uk Kim wrote: > > > Try the attached patch. At least, it fixed my problem. > > > > I've committed your patch with some minor modifications. > > > > http://svn.freebsd.org/changeset/base/232448 > > Unfortunately, it does not fix resume for me; and hw.usb.no_shutdown_wait > flipping did not make any difference either. Any other ideas? > Particularly, I'm curious why disabling all USB modules still does not > allow this laptop to resume. What are USB debugging techniques? USB debugging: Have "options USB_DEBUG" in kernel config. Then set xxx.debug = 15 under hw.usb, typically hw.usb.uhub.debug=15 --HPS ___ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"
Re: Resume broken in 8.3-PRERELEASE
On Sat, Mar 03, 2012 at 09:11:29AM +0100, Hans Petter Selasky wrote: > On Friday 02 March 2012 20:25:32 Jung-uk Kim wrote: > > Try the attached patch. At least, it fixed my problem. > > I've committed your patch with some minor modifications. > > http://svn.freebsd.org/changeset/base/232448 Unfortunately, it does not fix resume for me; and hw.usb.no_shutdown_wait flipping did not make any difference either. Any other ideas? Particularly, I'm curious why disabling all USB modules still does not allow this laptop to resume. What are USB debugging techniques? ./danfe ___ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"
Re: Resume broken in 8.3-PRERELEASE
On Friday 02 March 2012 20:25:32 Jung-uk Kim wrote: > On Friday 02 March 2012 03:50 am, Alexey Dokuchaev wrote: > > On Thu, Mar 01, 2012 at 04:55:03PM -0500, Jung-uk Kim wrote: > > > It does not make a difference for me (i.e., usb suspend/resume > > > still broken) but I think I found a typo: > > > > > > --- sys/dev/usb/controller/usb_controller.c (revision 232365) > > > +++ sys/dev/usb/controller/usb_controller.c (working copy) > > > @@ -407,7 +407,7 @@ usb_bus_suspend(struct usb_proc_msg *pm) > > > > > > USB_BUS_UNLOCK(bus); > > > > > > - bus_generic_shutdown(bus->bdev); > > > + bus_generic_suspend(bus->bdev); > > > > > > usbd_enum_lock(udev); > > > > Same thing here, does not seem to improve anything. It might > > suspend, resume (with keyboard working), then die on next suspend > > completely. Or it may die on the first suspend (without suspending > > -- fans are spinning, screen is black and no response to anything > > except hard power-off), this actually happens more often. > > Try the attached patch. At least, it fixed my problem. Hi, I've committed your patch with some minor modifications. http://svn.freebsd.org/changeset/base/232448 Will you take care of the MFC to 8.3-RC + 8-stable? --HPS ___ freebsd-usb@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "freebsd-usb-unsubscr...@freebsd.org"