Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jul 2012 04:50:56 -0700
From:      Zack Breckenridge <zbrdge@gmail.com>
To:        =?UTF-8?B?5LmU5qWaL0hvbmVzdFFpYW8=?= <honestqiao@gmail.com>
Cc:        freebsd-acpi <freebsd-acpi@freebsd.org>
Subject:   Re: Re: Resume failed after Suspend on Thinkpad x201i
Message-ID:  <CA%2BXA1um8xQmdXsP%2B0qJuqnWoPUD-EHnM9vGTUTifE_8nChh-zg@mail.gmail.com>
In-Reply-To: <2012072016090861869410@gmail.com>
References:  <201207021729413382845@gmail.com> <4FF2599B.6050409@gmail.com> <201207031411248300207@gmail.com> <1341437029.4017.5.camel@localhost> <CALBk6yLgUUvbZUhEhNgbqKOz8bc5eAM9anuP0ZSDR=qd6SstUw@mail.gmail.com> <CALBk6yK1fSg2ksVP4hmQz1pN-NVqXVGb3enjcE9t-rq0qXQQfA@mail.gmail.com> <2012072016090861869410@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
If you look at the line:


> Jul 20 16:07:00 x201i kernel: vga0: calling BIOS POST

in your dmesg output, and then grep through the source, you'll find this is
actually being printed
from "src/sys/dev/fb/vesa.c" .

I had a similar problem. After syncing with FreeBSD 10-CURRENT and
compiling a kernel without
VESA support, I was able to get graphics to work on resume, but only when
running X.

I don't think you actually have to sync with CURRENT though -- I think you
just need to compile without
VESA. I synced with CURRENT to get the newer Intel GMA driver and KMS
subsystem. Also, looking at
the Witness output from the Intel driver, it looks like the graphics card
simply isn't accessible after
this function in vesa.c is called, which means it probably causes the same
problem with your nvidia driver
as well.

I believe this problem is related to the "x86bios_init_regs" function,
though I haven't had time to debug
it yet. Also, I'm running amd64.

Try it out...

- Zack

On Fri, Jul 20, 2012 at 1:09 AM, =E4=B9=94=E6=A5=9A/HonestQiao <honestqiao@=
gmail.com> wrote:

> >On Sat, Jul 7, 2012 at 10:40 AM, Brandon Gooch
> ><jamesbrandongooch@gmail.com> wrote:
> >> On Wed, Jul 4, 2012 at 4:23 PM, mbsd <mbsd@isgroup.com.ua> wrote:
> >>> On Tue, 2012-07-03 at 14:11 +0800, =E4=B9=94=E6=A5=9A/HonestQiao wrot=
e:
> >> [SNIP]
> >>>>
> >>>> In All the test, the screen is light and black, system is hangup,
> nothing can be done.
> >>>> The only thing can be done, is push power button, to force it
> shutdown.
> >>>
> >>> Which graphic card have you used? If you have had nvidia, it's normal=
,
> >>> I've had the same problem "the screen is light and black".
> >>
> >> Can both of you show the output of `devinfo -v` from your systems?
> >>
> >> I was able to solve my suspend/resume issue with my nvidia-equipped
> >> notebook by forcing the module load ordering of vgapm in
> >> sys/isa/vga_isa.c:
> >>
> >> Index: sys/isa/vga_isa.c
> >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> >> --- sys/isa/vga_isa.c   (revision 237779)
> >> +++ sys/isa/vga_isa.c   (working copy)
> >> @@ -379,4 +379,4 @@
> >>         0
> >>  };
> >>
> >> -DRIVER_MODULE(vgapm, vgapci, vgapm_driver, vgapm_devclass, 0, 0);
> >> +DRIVER_MODULE(vgapm, vgapci, vgapm_driver, vgapm_devclass, 0,
> SI_ORDER_ANY);
> >>
> >>
> >> The system requires however that I load the nvidia module in
> >> /boot/loader.conf (as opposed to loading it after system is up and
> >> running).
> >>
> >> -Brandon
> >
> >Oops, the patch above should instead be:
> >
> >Index: sys/isa/vga_isa.c
> >=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> >--- sys/isa/vga_isa.c   (revision 238266)
> >+++ sys/isa/vga_isa.c   (working copy)
> >@@ -379,4 +379,4 @@
> >        0
> > };
> >
> >-DRIVER_MODULE(vgapm, vgapci, vgapm_driver, vgapm_devclass, 0, 0);
> >+DRIVER_MODULE_ORDERED(vgapm, vgapci, vgapm_driver, vgapm_devclass,
> >NULL, NULL, SI_ORDER_ANY);
> >
> >I made the edit for the diff on a clean tree, but I'm actually
> >building from another :)
> >
> >The above is correct. However, I'm still not sure this pertains to
> >your Intel video problem.
> >
> >-Brandon
>
> Yesterday, I upgrade my freebsd to FreeBSD 9.1-PRERELEASE.
> This method did not work.
>
> And command 'shutdown -p now' can shutdown the system,
> but the Screen is black and light, and Battery LED is light.
> This command can't power off.
>
> Whethe in:
> sysctl -w hw.acpi.reset_video=3D0
> sysctl -w hw.pci.do_power_suspend=3D1
> sysctl -w hw.pci.do_power_resume=3D1
> Or in:
> sysctl -w hw.acpi.reset_video=3D0
> sysctl -w hw.pci.do_power_suspend=3D1
> sysctl -w hw.pci.do_power_resume=3D1
>
> I can execute acpiconf -s 3, but can't resume the screen which is black
> and light.
>
> Log for command 'acpiconf -s 3':
>
> Jul 20 16:06:53 x201i acpi: suspend at 20120720 16:06:53
> Jul 20 16:06:56 x201i kernel: acpi_timer0: switching timecounter, TSC-low
> -> ACPI-safe
> Jul 20 16:06:56 x201i kernel: (ada0:ahcich0:0:0:0): spin-down
> Jul 20 16:07:00 x201i kernel: acpi_lid0: wake_prep enabled for \_SB_.LID_
> (S3)
> Jul 20 16:07:00 x201i kernel: acpi_button0: wake_prep enabled for
> \_SB_.SLPB (S3)
> Jul 20 16:07:00 x201i kernel: uhub0: at usbus0, port 1, addr 1
> (disconnected)
> Jul 20 16:07:00 x201i kernel: ugen0.2: <vendor 0x8087> at usbus0
> (disconnected)
> Jul 20 16:07:00 x201i kernel: uhub2: at uhub0, port 1, addr 2
> (disconnected)
> Jul 20 16:07:00 x201i kernel: pci0:0:28:0: Transition from D0 to D3
> Jul 20 16:07:00 x201i kernel: pci0:0:28:3: Transition from D0 to D3
> Jul 20 16:07:00 x201i kernel: wlan0: link state changed to DOWN
> Jul 20 16:07:00 x201i kernel: pci0:2:0:0: Transition from D0 to D3
> Jul 20 16:07:00 x201i kernel: pci0:0:28:4: Transition from D0 to D3
> Jul 20 16:07:00 x201i kernel: uhub1: at usbus1, port 1, addr 1
> (disconnected)
> Jul 20 16:07:00 x201i kernel: ugen1.2: <vendor 0x8087> at usbus1
> (disconnected)
> Jul 20 16:07:00 x201i kernel: uhub3: at uhub1, port 1, addr 2
> (disconnected)
> Jul 20 16:07:00 x201i kernel: vga0: saving 4804 bytes of video state
> Jul 20 16:07:00 x201i kernel: vga0: saving color palette
> Jul 20 16:07:00 x201i kernel: pci0: failed to set ACPI power state D2 on
> \_SB_.PCI0.EXP1: AE_BAD_PARAMETER
> Jul 20 16:07:00 x201i kernel: pci0: failed to set ACPI power state D2 on
> \_SB_.PCI0.EXP4: AE_BAD_PARAMETER
> Jul 20 16:07:00 x201i kernel: pci0: failed to set ACPI power state D2 on
> \_SB_.PCI0.EXP5: AE_BAD_PARAMETER
> Jul 20 16:07:00 x201i kernel: acpi_lid0: wake_prep enabled for \_SB_.LID_
> (S3)
> Jul 20 16:07:00 x201i kernel: acpi_button0: wake_prep enabled for
> \_SB_.SLPB (S3)
> Jul 20 16:07:00 x201i kernel: pci255: set ACPI power state D0 on
> \_SB_.UNCR.SAD_
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.VID_
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.IGBE
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.EHC2
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.HDEF
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.EXP1
> Jul 20 16:07:00 x201i kernel: pci0:0:28:0: Transition from D3 to D0
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.EXP4
> Jul 20 16:07:00 x201i kernel: pci0:0:28:3: Transition from D3 to D0
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.EXP5
> Jul 20 16:07:00 x201i kernel: pci0:0:28:4: Transition from D3 to D0
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.EHC1
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.PCI1
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.LPC_
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.SAT1
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.EXP1
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.EXP4
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.EXP5
> Jul 20 16:07:00 x201i kernel: pci0:2:0:0: Transition from D3 to D0
> Jul 20 16:07:00 x201i kernel: pci0: set ACPI power state D0 on
> \_SB_.PCI0.PCI1
> Jul 20 16:07:00 x201i kernel: vga0: calling BIOS POST
> Jul 20 16:07:00 x201i kernel: ahcich0: AHCI reset...
> Jul 20 16:07:00 x201i kernel: ahcich0: SATA connect time=3D100us
> status=3D00000123
> Jul 20 16:07:00 x201i kernel: ahcich0: AHCI reset: device found
> Jul 20 16:07:00 x201i kernel: ahcich1: AHCI reset...
> Jul 20 16:07:00 x201i kernel: ahcich1: SATA connect timeout time=3D10000u=
s
> status=3D00000000
> Jul 20 16:07:00 x201i kernel: ahcich1: AHCI reset: device not found
> Jul 20 16:07:00 x201i kernel: ahcich4: AHCI reset...
> Jul 20 16:07:00 x201i kernel: ahcich4: SATA connect timeout time=3D10000u=
s
> status=3D00000000
> Jul 20 16:07:00 x201i kernel: ahcich4: AHCI reset: device not found
> Jul 20 16:07:00 x201i kernel: ahcich5: AHCI reset...
> Jul 20 16:07:00 x201i kernel: ahcich5: SATA connect timeout time=3D10000u=
s
> status=3D00000000
> Jul 20 16:07:00 x201i kernel: ahcich5: AHCI reset: device not found
> Jul 20 16:07:00 x201i kernel: atkbd: the current kbd controller command
> byte 0047
> Jul 20 16:07:00 x201i kernel: atkbd: keyboard ID 0x54ab (2)
> Jul 20 16:07:00 x201i kernel: kbdc: RESET_KBD return code:00fa
> Jul 20 16:07:00 x201i kernel: kbdc: RESET_KBD status:00aa
> Jul 20 16:07:00 x201i kernel: kbdc: TEST_AUX_PORT status:0000
> Jul 20 16:07:00 x201i kernel: kbdc: RESET_AUX return code:00fa
> Jul 20 16:07:00 x201i kernel: kbdc: RESET_AUX status:00aa
> Jul 20 16:07:00 x201i kernel: kbdc: RESET_AUX ID:0000
> Jul 20 16:07:00 x201i kernel: battery0: battery initialization start
> Jul 20 16:07:00 x201i kernel: ahcich0: AHCI reset: device ready after 100=
ms
> Jul 20 16:07:00 x201i kernel: battery0: battery initialization done, trie=
d
> 1 times
> Jul 20 16:07:00 x201i kernel: (ada0:ahcich0:0:0:0): resume
> Jul 20 16:07:00 x201i kernel: acpi_timer0: restoring timecounter,
> ACPI-safe -> TSC-low
> Jul 20 16:07:00 x201i kernel: uhub0: <Intel EHCI root HUB, class 9/0, rev
> 2.00/1.00, addr 1> on usbus1
> Jul 20 16:07:00 x201i kernel: uhub1: <Intel EHCI root HUB, class 9/0, rev
> 2.00/1.00, addr 1> on usbus0
> Jul 20 16:07:00 x201i kernel: wlan0: link state changed to UP
> Jul 20 16:07:00 x201i kernel: uhub0: 3 ports with 3 removable, self power=
ed
> Jul 20 16:07:00 x201i kernel: uhub1: 3 ports with 3 removable, self power=
ed
> Jul 20 16:06:57 x201i wpa_supplicant[525]: CTRL-EVENT-DISCONNECTED
> bssid=3Dc0:c5:20:1b:59:aa reason=3D0
> Jul 20 16:06:57 x201i wpa_supplicant[525]: Failed to initiate AP scan.
> Jul 20 16:06:59 x201i acpi: resumed at 20120720 16:06:59
> Jul 20 16:06:59 x201i wpa_supplicant[525]: Trying to associate with
> c0:c5:20:1b:69:8a (SSID=3D'LITB-AP' freq=3D2417 MHz)
> Jul 20 16:07:00 x201i wpa_supplicant[525]: Associated with
> c0:c5:20:1b:69:8a
> Jul 20 16:07:00 x201i wpa_supplicant[525]: WPA: Key negotiation completed
> with c0:c5:20:1b:69:8a [PTK=3DCCMP GTK=3DCCMP]
> Jul 20 16:07:00 x201i wpa_supplicant[525]: CTRL-EVENT-CONNECTED -
> Connection to c0:c5:20:1b:69:8a completed (reauth) [id=3D0 id_str=3D]
> Jul 20 16:07:00 x201i dhclient: New IP Address (wlan0): 192.168.61.184
> Jul 20 16:07:00 x201i dhclient: New Subnet Mask (wlan0): 255.255.255.0
> Jul 20 16:07:00 x201i dhclient: New Broadcast Address (wlan0):
> 192.168.61.255
> Jul 20 16:07:00 x201i dhclient: New Routers (wlan0): 192.168.61.1
> Jul 20 16:07:01 x201i kernel: ugen1.2: <vendor 0x8087> at usbus1
> Jul 20 16:07:01 x201i kernel: uhub2: <vendor 0x8087 product 0x0020, class
> 9/0, rev 2.00/0.00, addr 2> on usbus1
> Jul 20 16:07:01 x201i kernel: ugen0.2: <vendor 0x8087> at usbus0
> Jul 20 16:07:01 x201i kernel: uhub3: <vendor 0x8087 product 0x0020, class
> 9/0, rev 2.00/0.00, addr 2> on usbus0
> Jul 20 16:07:02 x201i kernel: uhub3: 6 ports with 6 removable, self power=
ed
> Jul 20 16:07:02 x201i kernel: uhub2: 8 ports with 8 removable, self power=
ed
>
> _______________________________________________
> freebsd-acpi@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
> To unsubscribe, send any mail to "freebsd-acpi-unsubscribe@freebsd.org"
>
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BXA1um8xQmdXsP%2B0qJuqnWoPUD-EHnM9vGTUTifE_8nChh-zg>