I got one of these a month ago, but it's having some ACPI issues. I've modified the ASL to get rid of warnings as per the ACPI handbook, but the interpreter complains about missing methods and no handler for the RTC CMOS region. Some of the methods that generate an AE_NOT_EXIST are actually there, but in the error message it looks like the method name is mangled (usually prefixed by an integer).

Here's a list of the problems, with snippets of the system logs with ACPI errors. The original and modified ASL are at

    http://www.qtchat.org/laptop-dsdt.asl.orig and
    http://www.qtchat.org/laptop-dsdt.asl

respectively; posted log snippets are from running the modified ASL.

1. When powering off via the OS (either via '/sbin/shutdown -p now' or via the KDE4 UI) the unit does not power off (go to S5); "Press any key to reboot" is displayed. Here's a hand-transcription of the logs:

usbus3: Controller shutdown complete
usbus4: Controller shutdown
usbus4: Controller shutdown complete
ACPI Error: No handler for Region [RCM0] (0xfffffe00075d7c80) [SystemCMOS] (20130725/evregion-178)
ACPI Error: Region SystemCMOS (ID=5) has no handler (20130725/exfldio-320)

**** Exception AE_NOT_EXIST during execution of method [\_SB_.WMID.ESDT] (Node 0xfffffe00075f1bc0)

Method Execution Stack:
    Method [ESDT] executing: [ESDT] @00014 #002D: ^^PCI0.LPC0.RTC.RTCW
Method [_PTS] executing: Call to method [\_SB_.WMID.ESDT] (Node 0xfffffe00075f1bc0)

Local Variables for method [ESDT]:
    Local0: 0 <Null Object>
    Local1: 0 <Null Object>
    Local2: 0 <Null Object>
    Local3: 0 <Null Object>
    Local4: 0 <Null Object>
    Local5: 0 <Null Object>
    Local6: 0 <Null Object>
    Local7: 0 <Null Object>

Arguments for Method [ESDT]:  (0 arguments defined, max concurrency = 0)
    Arg0:   0 <Null Object>
    Arg1:   0 <Null Object>
    Arg2:   0 <Null Object>
    Arg3:   0 <Null Object>
    Arg4:   0 <Null Object>
    Arg5:   0 <Null Object>
    Arg6:   0 <Null Object>

ACPI Error: Method parse/execution failed[\_SB_.WMID.ESDT](Node 0xfffffe00075f1bc0), AE_NOT_EXIST (20130725/psparse-553) ACPI Error: Method parse/execution failed [\_PTS] (Node 0xfffffe00075cbc40), AE_NOT_EXIST (20130725/psparse-553)
acpi0: AcpiEnterSleepStatePrep failed - AE_NOT_EXIST

The operating system has halted.
Please press any key to reboot.

2. Suspend (S3) using zzz(8) or closing the laptop lid with hw.acpi.lid_switch_state=S3 and debug.acpi.resume_beep=1 results in (usually) 1 beep and the machine returning to the state before the suspend action was initiated. Here's /var/log/messages snapshot of the resume:

[ajenkins@laptop ~]$ tail -f /var/log/messages
Aug 22 12:00:00 laptop newsyslog[1629]: logfile turned over due to size>100K
Aug 22 12:50:40 laptop kernel: [ACPI Debug] String [0x12] "=====QUERY_25=====" Aug 22 17:30:56 laptop kernel: can't evaluate \_SB_.PCI0.VGA_.LCD_._DCS - AE_NOT_FOUND
Aug 22 17:31:36 laptop last message repeated 2 times
Aug 22 17:32:11 laptop last message repeated 3 times

*** Initiating suspend now ***

Aug 22 17:34:21 laptop devd: Executing '/etc/rc.suspend acpi 0x03'
Aug 22 17:34:21 laptop acpi: suspend at 20130822 17:34:21
Aug 22 17:34:27 laptop kernel: re0: link state changed to DOWN
Aug 22 17:34:37 laptop kernel: re0: link state changed to UP
Aug 22 17:34:37 laptop kernel: uhub3: at usbus0, port 1, addr 1 (disconnected)
Aug 22 17:34:37 laptop kernel: ugen0.2: <Areson> at usbus0 (disconnected)
Aug 22 17:34:37 laptop kernel: ums0: at uhub3, port 3, addr 1 (disconnected)
Aug 22 17:34:37 laptop kernel: uhid0: at uhub3, port 3, addr 1 (disconnected) Aug 22 17:34:37 laptop kernel: uhub2: at usbus1, port 1, addr 1 (disconnected) Aug 22 17:34:37 laptop kernel: uhub1: at usbus2, port 1, addr 1 (disconnected) Aug 22 17:34:37 laptop kernel: uhub0: at usbus3, port 1, addr 1 (disconnected) Aug 22 17:34:37 laptop kernel: ugen3.2: <vendor 0x0cf3> at usbus3 (disconnected)
Aug 22 17:34:37 laptop kernel: ubt0: at uhub0, port 4, addr 2 (disconnected)
Aug 22 17:34:37 laptop kernel: uhub4: at usbus4, port 1, addr 1 (disconnected)
Aug 22 17:34:37 laptop kernel: ugen4.2: <SuYin> at usbus4 (disconnected)
Aug 22 17:34:37 laptop kernel: ACPI Error: No handler for Region [RCM0] (0xfffffe00075d7c80) [SystemCMOS] (20130725/evregion-178) Aug 22 17:34:37 laptop kernel: ACPI Error: Region SystemCMOS (ID=5) has no handler (20130725/exfldio-320)
Aug 22 17:34:37 laptop kernel:
Aug 22 17:34:37 laptop kernel: **** Exception AE_NOT_EXIST during execution of method [\_SB_.WMID.ESDT] (Node 0xfffffe00075f1bc0)
Aug 22 17:34:37 laptop kernel:
Aug 22 17:34:37 laptop kernel: Method Execution Stack:
Aug 22 17:34:37 laptop kernel: Method [ESDT] executing: [ESDT] @00014 #002D: ^^PCI0.LPC0.RTC.RTCW Aug 22 17:34:37 laptop kernel: Method [_PTS] executing: Call to method [\_SB_.WMID.ESDT] (Node 0xfffffe00075f1bc0)
Aug 22 17:34:37 laptop kernel:
Aug 22 17:34:37 laptop kernel: Local Variables for method [ESDT]:
Aug 22 17:34:37 laptop kernel: Local0: 0 <Null Object>
Aug 22 17:34:37 laptop kernel: Local1: 0 <Null Object>
Aug 22 17:34:37 laptop kernel: Local2: 0 <Null Object>
Aug 22 17:34:37 laptop kernel: Local3: 0 <Null Object>
Aug 22 17:34:37 laptop kernel: Local4: 0 <Null Object>
Aug 22 17:34:37 laptop kernel: Local5: 0 <Null Object>
Aug 22 17:34:37 laptop kernel: Local6: 0 <Null Object>
Aug 22 17:34:37 laptop kernel: Local7: 0 <Null Object>
Aug 22 17:34:37 laptop kernel:
Aug 22 17:34:37 laptop kernel: Arguments for Method [ESDT]: (0 arguments defined, max concurrency = 0)
Aug 22 17:34:37 laptop kernel: Arg0:   0 <Null Object>
Aug 22 17:34:37 laptop kernel: Arg1:   0 <Null Object>
Aug 22 17:34:37 laptop kernel: Arg2:   0 <Null Object>
Aug 22 17:34:37 laptop kernel: Arg3:   0 <Null Object>
Aug 22 17:34:37 laptop kernel: Arg4:   0 <Null Object>
Aug 22 17:34:37 laptop kernel: Arg5:   0 <Null Object>
Aug 22 17:34:37 laptop kernel: Arg6:   0 <Null Object>
Aug 22 17:34:37 laptop kernel:
Aug 22 17:34:37 laptop kernel: ACPI Error: Method parse/execution failed [\_SB_.WMID.ESDT] (Node 0xfffffe00075f1bc0), AE_NOT_EXIST (20130725/psparse-553) Aug 22 17:34:37 laptop kernel: ACPI Error: Method parse/execution failed [\_PTS] (Node 0xfffffe00075cbc40), AE_NOT_EXIST (20130725/psparse-553) Aug 22 17:34:37 laptop kernel: acpi0: AcpiEnterSleepStatePrep failed - AE_NOT_EXIST Aug 22 17:34:37 laptop kernel: can't evaluate \_SB_.PCI0.VGA_.LCD_._DCS - AE_NOT_FOUND
Aug 22 17:34:37 laptop kernel: re0: link state changed to DOWN
Aug 22 17:34:37 laptop kernel: xhci0: 32 byte context size.
Aug 22 17:34:37 laptop kernel: re0: link state changed to UP
Aug 22 17:34:37 laptop kernel: uhub0: <0x1022 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0 Aug 22 17:34:37 laptop kernel: uhub1: <AMD EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2 Aug 22 17:34:37 laptop kernel: uhub2: <AMD EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus4 Aug 22 17:34:37 laptop kernel: uhub3: <AMD OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1 Aug 22 17:34:37 laptop kernel: uhub4: <AMD OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3
Aug 22 17:34:30 laptop dhclient[568]: send_packet: Network is down
Aug 22 17:34:37 laptop devd: Executing '/etc/rc.d/dhclient quietstart re0'
Aug 22 17:34:37 laptop devd: Executing '/etc/rc.d/moused stop ums0'
Aug 22 17:34:37 laptop devd: Executing '/etc/rc.d/bluetooth quietstop ubt0'
Aug 22 17:34:37 laptop kernel: uhub0: 4 ports with 4 removable, self powered
Aug 22 17:34:37 laptop devd: Executing '/etc/rc.resume acpi 0x03'
Aug 22 17:34:37 laptop acpi: resumed at 20130822 17:34:37
Aug 22 17:34:37 laptop kernel: uhub3: 5 ports with 5 removable, self powered
Aug 22 17:34:37 laptop kernel: uhub4: 5 ports with 5 removable, self powered
Aug 22 17:34:38 laptop kernel: ugen0.2: <Areson> at usbus0
Aug 22 17:34:38 laptop kernel: ums0: <Areson USB Device, class 0/0, rev 1.10/0.01, addr 1> on usbus0 Aug 22 17:34:38 laptop devd: Executing 'env LD_PRELOAD=/usr/local/lib/libhal.so:/usr/local/lib/libdbus-1.so:/usr/local/lib/libcuse4bsd.so /usr/local/etc/rc.d/webcamd start ugen0.2 0'
Aug 22 17:34:38 laptop kernel: ums0: 5 buttons and [XYZT] coordinates ID=0
Aug 22 17:34:38 laptop devd: Executing 'env LD_PRELOAD=/usr/local/lib/libhal.so:/usr/local/lib/libdbus-1.so:/usr/local/lib/libcuse4bsd.so /usr/local/etc/rc.d/webcamd start ugen0.2 1' Aug 22 17:34:38 laptop kernel: uhid0: <Areson USB Device, class 0/0, rev 1.10/0.01, addr 1> on usbus0
Aug 22 17:34:38 laptop devd: Executing '/etc/rc.d/moused quietstart ums0'
Aug 22 17:34:39 laptop kernel: uhub2: 5 ports with 5 removable, self powered
Aug 22 17:34:39 laptop kernel: uhub1: 5 ports with 5 removable, self powered
Aug 22 17:34:40 laptop kernel: ugen4.2: <SuYin> at usbus4
Aug 22 17:34:40 laptop devd: Executing 'env LD_PRELOAD=/usr/local/lib/libhal.so:/usr/local/lib/libdbus-1.so:/usr/local/lib/libcuse4bsd.so /usr/local/etc/rc.d/webcamd start ugen4.2' Aug 22 17:34:40 laptop devd: Executing 'env LD_PRELOAD=/usr/local/lib/libhal.so:/usr/local/lib/libdbus-1.so:/usr/local/lib/libcuse4bsd.so /usr/local/etc/rc.d/webcamd start ugen4.2' Aug 22 17:34:40 laptop root: /usr/local/etc/rc.d/webcamd: WARNING: failed to start webcamd Aug 22 17:34:40 laptop devd: Executing 'logger Unknown USB device: vendor 0x064e product 0xc336 bus uhub2' Aug 22 17:34:40 laptop root: Unknown USB device: vendor 0x064e product 0xc336 bus uhub2 Aug 22 17:34:40 laptop devd: Executing 'logger Unknown USB device: vendor 0x064e product 0xc336 bus uhub2' Aug 22 17:34:40 laptop root: Unknown USB device: vendor 0x064e product 0xc336 bus uhub2 Aug 22 17:34:41 laptop devd: Executing 'logger Unknown USB device: vendor 0x064e product 0xc336 bus uhub2' Aug 22 17:34:41 laptop root: Unknown USB device: vendor 0x064e product 0xc336 bus uhub2
Aug 22 17:34:42 laptop kernel: ugen3.2: <vendor 0x0cf3> at usbus3
Aug 22 17:34:42 laptop kernel: ubt0: <vendor 0x0cf3 product 0x311f, class 224/1, rev 1.10/0.01, addr 2> on usbus3
Aug 22 17:34:42 laptop devd: Executing '/etc/rc.d/bluetooth quietstart ubt0'
^C

3. Brightness controls do not adjust brightness. I got an ACPI error about method _BQC missing whenever I pressed the brightness up/down keys. I added a method which returns 0x1E, which is a value from the _BCL method which returns all supported brightness levels:

    Method (_BQC, 0, NotSerialized)
    {
           Return (0x1E)
    }

but no change (except I get no ACPI errors when pressing those keys).

4. Here's a grep for AE_NOT_EXIST showing the missing methods. I *have* _PTS and ESDT methods, but the interpreter complains about not finding method "\134_PTS" or "\134_SB_.WMID.ESDT".

    [ajenkins@laptop ~]$ dmesg | grep AE_NOT_EXIST
**** Exception AE_NOT_EXIST during execution of method [\134_SB_.WMID.ESDT] (Node 0xfffffe00075f1bc0) ACPI Error: Method parse/execution failed [\134_SB_.WMID.ESDT] (Node 0xfffffe00075f1bc0), AE_NOT_EXIST (20130725/psparse-553) ACPI Error: Method parse/execution failed [\134_SB_.PCI0.LPC0.EC0_._Q42] (Node 0xfffffe00075ff2c0), AE_NOT_EXIST (20130725/psparse-553)
   acpi_ec0: evaluation of query method _Q42 failed: AE_NOT_EXIST
**** Exception AE_NOT_EXIST during execution of method [\134_SB_.WMID.ESDT] (Node 0xfffffe00075f1bc0) ACPI Error: Method parse/execution failed [\134_SB_.WMID.ESDT] (Node 0xfffffe00075f1bc0), AE_NOT_EXIST (20130725/psparse-553) ACPI Error: Method parse/execution failed [\134_PTS] (Node 0xfffffe00075cbc40), AE_NOT_EXIST (20130725/psparse-553)
    acpi0: AcpiEnterSleepStatePrep failed - AE_NOT_EXIST


Unfortunately I'm due to ship my laptop for warranty service (unrelated mechanical issue) like tomorrow. I can hold off shipping it for a while if we can tackle these issues though.

Linux recently added an RTC CMOS ACPI driver; I'm probably gonna try my hand at a FreeBSD analog.

Misc info:
[ajenkins@laptop ~]$ uname -a
FreeBSD laptop.qtchat.org 10.0-CURRENT FreeBSD 10.0-CURRENT #19 r254331M: Thu Aug 15 16:03:56 EDT 2013 r...@laptop.qtchat.org:/usr/obj/usr/src/sys/MYKERNEL amd64 Linux RTC CMOS driver: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/acpi/acpi_cmos_rtc.c?id=refs/tags/v3.11-rc6

Thanks in advance,
--
Anthony Jenkins
_______________________________________________
freebsd-acpi@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
To unsubscribe, send any mail to "freebsd-acpi-unsubscr...@freebsd.org"

Reply via email to