NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-i386/44581: MacBook1,1 won't resume after suspend



>Number:         44581
>Category:       port-i386
>Synopsis:       MacBook1,1 won't resume after suspend
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Feb 15 21:25:00 +0000 2011
>Originator:     Taylor R Campbell <campbell+netbsd%mumble.net@localhost>
>Release:        NetBSD 5.1
>Organization:
>Environment:
System: NetBSD oberon.local 5.1 NetBSD 5.1 (GENERIC) #0: Sun Nov  7 14:39:56 
UTC 2010  
builds%b6.netbsd.org@localhost:/home/builds/ab/netbsd-5-1-RELEASE/i386/201011061943Z-obj/home/builds/ab/netbsd-5-1-RELEASE/src/sys/arch/i386/compile/GENERIC
 i386
Architecture: i386
Machine: i386
>Description:

        Under 5.1, I observe:

                # sysctl hw.acpi machdep | grep acpi
                hw.acpi.root = 1040416
                hw.acpi.supported_states = S0 S3 S4 S5
                machdep.acpi_vbios_reset = 1
                machdep.acpi_beep_on_reset = 0
                machdep.acpiapm.standby = 1
                machdep.acpiapm.suspend = 3

        Suspending and resuming mainbus0 with

                # drvctl -S mainbus0; sleep 10; drvctl -Q mainbus0

        seems to work.  The disk stops spinning, keyboard input stops
        working, the kernel stops replying to pings, and so on.  Ten
        seconds later, the disk spins up again, the kernel sprays a lot
        of messages to the console about device detachment and
        attachment, keyboard input starts working, the kernel starts
        replying to pings, and so on.

        With machdep.acpi_vbios_reset set to 0, 1, or 2,

                # sysctl -w machdep.sleep_state=3; sleep 60; drvctl -Q mainbus0

        prints a kernel message about acpi entering state 3 and about
        flushing disk caches, and suspends the machine.  Neither
        keyboard nor trackpad input wakes it.  Pressing the power
        button causes the optical and magnetic drives to spin up, but
        the display is still dark and the machine unresponsive: no
        replies to pings, pressing the power button again has no
        effect, &c., until I force a reboot by holding the power button
        down for several seconds.



        Under a current kernel as of a couple days ago, I observe:

                # sysctl hw.acpi
                hw.acpi.root = 1040416
                hw.acpi.sleep.state = 0
                hw.acpi.sleep.states = S0 S3 S4 S5
                hw.acpi.sleep.vbios = 1
                hw.acpi.stat.gpe = 17
                hw.acpi.stat.sci = 17
                hw.acpi.stat.fixed = 17
                hw.acpi.stat.method = 17

        Suspending and resuming mainbus0 with

                # drvctl -S mainbus0; sleep 10; drvctl -Q mainbus0

        sometimes works and sometimes hangs the machine.  If I suspend
        all of the children of mainbus0 (cpu0 cpu1 ioapic0 acpi0 pci0)
        and then resume them, it sometimes works and I sometimes get a
        garbled panic, at which point ddb ignores keyboard input and I
        have to forcibly reboot the machine.

        With hw.acpi.sleep.vbios set to 1,

                # sysctl -w hw.acpi.sleep.state=3; sleep 60; drvctl -Q mainbus0

        behaves as in 5.1.  With hw.acpi.sleep.vbios set to 0 or 2,
        after the machine suspends, the display turns on again to
        reveal a number of messages from the kernel, apparently about
        attaching and then detaching the USB keyboard and trackpad --
        yes, in that order: attaching, and then detaching.  At the end
        is a message about attaching fwohci.  I don't see a shell
        prompt, but it could have been pushed off screen by the kernel
        messages.  Keyboard input has no effect, the kernel does not
        reply to pings, and pushing the power button doesn't seem to do
        anything until, as usual, I hold it down for several seconds to
        forcibly reboot the machine.



        Let me know if you'd like to see full dmesg output.  This
        machine has two CPUs.

>How-To-Repeat:

        Try to suspend and resume a MacBook1,1.  Grumble in frustration
        at the failure.

>Fix:

        Yes, please!



Home | Main Index | Thread Index | Old Index