Comment 0 for bug 1283589

Revision history for this message
juanmanuel (rockerito99) wrote : LID close and AC and battery status events not produced anymore on samsung ultrabook.

LID close and AC and battery status events not produced anymore on samsung ultrabook.

I have a Samsung Series 5 NP530U3C-A01 ultrabook.

This is an old issue with a new workaround fix. I just posted here to give information for my computer, and to confirm that I've tested with the latest ubuntu and the situation is the same (tested with trusty-desktop-amd64.iso from http://cdimage.ubuntu.com/daily-live/current/ the ISO is dated 2014-02-22).

I created a blog post where I can put all the information related to this bug here:

          http://zenstep.com.ar/samsung-linux/

In summary, after a suspend sleep with many events (8 plug/unplug, or battery dropping or increasing about 16%, maybe less), the Embedded Controller accumulates those events and stops producing GPE 0x17. Neither Windows nor Linux query those accumulated events, because the EC doesn't produce GPE 0x17 anymore. CHICKEN AND EGG SITUATION :-) THe issue persists between restarts and shutdowns, and even after re-suspending/re-resuming.
Hitting the reset button through the hole in the back fixes the problem temporarily. That is, until the next unlucky suspend.

IMPORTANT: if the laptop is never ever suspended, the issue never comes back.

I diagnosed the issue and made a workaround fix, posted first to this launchpad issue:

          https://bugs.launchpad.net/ubuntu/+source/linux/+bug/971061/comments/102

Also see:
          https://bugs.launchpad.net/ubuntu/+source/linux/+bug/971061/comments/100

To force the issue to happen, you can either:

    1) Sleep the computer in linux (by closing the lid or any other means).
    2) Unplug from the wall, plug, unplug, plug, unplug, plug, unplug, plug (8 actions or more).
    3) Resume from sleep. You'll note that the battery icon is fixed, and unplugging or plugging doesn't update battery status anymore. Also note that you lost the ability to suspend by closing the LID.

or:

    echo disable > /sys/firmware/acpi/interrupts/gpe17
    plug, unplug, plug, unplug, plug, unplug, plug, unplug (8 actions)
    echo enable > /sys/firmware/acpi/interrupts/gpe17

To bring back the normal behaviour, you can: hit turn off the computer, unplug it, hit the reset button in the back of the laptop, and then plug it again.
Another way to bring back the normal behavior, is to force query the accumulated events in the Embedded Controller. That is what my little C program does, and I offered it as a workaround here:

          https://bugs.launchpad.net/ubuntu/+source/linux/+bug/971061/comments/102

From the feedback I gathered, the following samsung models are affected and can be fixed by querying the EC:

    Samsung Series 5 (models NP530U3C, NP535U3C, NP530U3B, NP550P5C)
    Samsung Series 9 (models NP900X3F, NP900X4B, NP900X4C, NP900X4D, NP900X3C)

which are roughly series 5 and series 9 from 2011 and 2012. This issue has been frustrating us users for years.

A kernel patch has been made here, based on my research, by Lan Tianyu:

       https://bugzilla.kernel.org/show_bug.cgi?id=44161#c133
       https://bugzilla.kernel.org/show_bug.cgi?id=44161#c135

The patch properly queries the EC properly after resume from sleep, instead of my original quick and dirty approach. I tested it myself and it works.
--
Juan Manuel Cabo

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: linux-image-3.13.0-11-generic 3.13.0-11.31
ProcVersionSignature: Ubuntu 3.13.0-11.31-generic 3.13.3
Uname: Linux 3.13.0-11-generic x86_64
ApportVersion: 2.13.2-0ubuntu5
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ubuntu 2546 F.... pulseaudio
CasperVersion: 1.337
Date: Sat Feb 22 22:57:34 2014
LiveMediaBuild: Ubuntu 14.04 LTS "Trusty Tahr" - Alpha amd64 (20140222)
MachineType: SAMSUNG ELECTRONICS CO., LTD. 530U3C/530U4C
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: initrd=/casper/initrd.lz file=/cdrom/preseed/hostname.seed boot=casper quiet splash -- BOOT_IMAGE=/casper/vmlinuz.efi
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-3.13.0-11-generic N/A
 linux-backports-modules-3.13.0-11-generic N/A
 linux-firmware 1.125
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 04/15/2013
dmi.bios.vendor: Phoenix Technologies Ltd.
dmi.bios.version: P14AAJ
dmi.board.asset.tag: Base Board Asset Tag
dmi.board.name: SAMSUNG_NP1234567890
dmi.board.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.board.version: FAB1
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 9
dmi.chassis.vendor: SAMSUNG ELECTRONICS CO., LTD.
dmi.chassis.version: 0.1
dmi.modalias: dmi:bvnPhoenixTechnologiesLtd.:bvrP14AAJ:bd04/15/2013:svnSAMSUNGELECTRONICSCO.,LTD.:pn530U3C/530U4C:pvr0.1:rvnSAMSUNGELECTRONICSCO.,LTD.:rnSAMSUNG_NP1234567890:rvrFAB1:cvnSAMSUNGELECTRONICSCO.,LTD.:ct9:cvr0.1:
dmi.product.name: 530U3C/530U4C
dmi.product.version: 0.1
dmi.sys.vendor: SAMSUNG ELECTRONICS CO., LTD.