Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Aug 2015 01:53:17 -0700
From:      Adrian Chadd <adrian.chadd@gmail.com>
To:        Garrett Cooper <yaneurabeya@gmail.com>
Cc:        Andriy Gapon <avg@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>,  "freebsd-acpi@freebsd.org" <freebsd-acpi@freebsd.org>
Subject:   Re: acpi suspend debugging techniques?
Message-ID:  <CAJ-Vmo=kAgTx-stpGKQZa1970x-Q5i52mwVaTBV%2B%2BfTo6oxdVg@mail.gmail.com>
In-Reply-To: <F685F242-21A2-4063-B5A6-75EA17EFCFC0@gmail.com>
References:  <55E3F098.9060806@FreeBSD.org> <F685F242-21A2-4063-B5A6-75EA17EFCFC0@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
hi,

Try disabling hardware one at a time. Ie, unload usb; unload wifi;
leave kms loaded for mostly obvious reasons.

I hit a few of these which turned out to be an issue in the suspend
path of a driver - and once I found it was the USB hardware but the
BIOS itself that was hanging - FreeBSD put USB hardware into S3, but
the ACPI BIOS requested S2 and just hung if we had USB in S3. :(



-adrian


On 30 August 2015 at 23:33, Garrett Cooper <yaneurabeya@gmail.com> wrote:
>
>> On Aug 30, 2015, at 23:13, Andriy Gapon <avg@FreeBSD.org> wrote:
>>
>>
>> I would appreciate any pointers at how to debug an ACPI suspend problem =
that I have.
>>
>> What I have so far.  The system hangs when I try to suspend it and it ge=
ts reset
>> by a watchdog.  Setting debug.acpi.suspend_bounce=3D1 does not make any
>> difference, so the hang happens before the final sleep code is executed.=
  I
>> think that the device suspend stage is executed, because disks get spun =
down and
>> video signals gets cut off.
>>
>> I could enable / add some debug printfs, but I suppose that their output=
 would
>> get lost due to the above.  RAM content unfortunately does not survive a=
cross
>> the resets.
>
> When I last had to do this to figure out what magic formula was required =
to get my netbook working, I did something like this:
>
> 1. Stripped down the kernel to just the storage driver and core pieces.
> 2. Loaded all other modules after boot, if necessary.
> 3. Called zzz with the appropriate ACPI tunables/sysctls set.
>
> That got me pointed in the right direction (IIRC it was psm at the time).=
 What I did to get a real smoking gun was I put printf statements in subr_b=
us.c (IIRC) to track device quiescing at suspend and reawakening at resume.
>
> There=E2=80=99s `options BUS_DEBUG` too, which may or may not help.
>
> FWIW I found debug.acpi.suspend_bounce less useful, but it still exercise=
d the quiesce->reawaken cycle, sorta.
>
> There=E2=80=99s also `hw.acpi.reset_video` and `debug.acpi.resume_beep`.
>
> You might need to hack /etc/rc.resume and /etc/rc.suspend, BTW, depending=
 on what you discover (switching my vty was definitely required in order fo=
r X11 to come back in a sane manner at resume).
>
> Cheers,
> -NGie
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org=
"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=kAgTx-stpGKQZa1970x-Q5i52mwVaTBV%2B%2BfTo6oxdVg>