Re: Resume broken in 8.3-PRERELEASE

2012-08-31 Thread Alexey Dokuchaev
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

2012-08-28 Thread Konstantin Belousov
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

2012-08-27 Thread Alexey Dokuchaev
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

2012-08-27 Thread Hans Petter Selasky
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

2012-08-27 Thread Alexey Dokuchaev
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

2012-03-04 Thread Hans Petter Selasky
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

2012-03-04 Thread Alexey Dokuchaev
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

2012-03-03 Thread Hans Petter Selasky
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"