Open-vm-tools problem

I fellow the Wiki article 'Installing Arch Linux in VMWare' to install vm tools.when i came to the step '/etc/rc.d/open-vm-tools start'
i got this
:: Starting Open Virtual Machine Tools [BUSY]
FATAL: Error inserting vmmemctl (/lib/modules/2.6.30-ARCH/misc/
vmmemctl.ko): Unknown symbol in module, or unknown parameter (see dmesg)
[FAIL]
how can i fix it? any help appreciated.
Last edited by mrrafv (2009-09-28 15:39:22)

josephg wrote:
Hydraulix wrote:Doing a complete uninstall and reinstall of the tools worked. Not sure why.
I tried that but it didn't worked for me.
It seems that the version 2009.09.18-2, made available today, solves this issue! At least THIS worked for me. :)
How about you, people?
Indeed.
Thank you for letting us know.

Similar Messages

  • Why does Elements 12 crash as soon as I open Type tool?  Get message "An unexpected and unrecoverable problem has occurred.  Photoshop Elements will now exit.  Using Mac

    Why does Elements 12 crash as soon as I open Type tool?  Get message "An unexpected and unrecoverable problem has occurred.  Photoshop Elements will now exit."  Using Mac.  No imported fonts

    Thank you, Barbara.  All fonts seemed fine, no empty or duplicates.  When I went back to Elements and tried again, it did not crash!  After months of not being able to use type tool,,, not sure why it worked, but it did.  Thanks again!  I appreciate the time you took to answer my question.

  • Problem with installation of open-vm-tools

    Hi there!
    I'm trying get open-vm-tools work under Arch Linux, but still no luck. The installation of package went just fine, but can't for instance:
    - Resize my virtual machine window.
    - Copy and paste between the host and the vm.
    - Performance is still sluggish.
    I have followed https://wiki.archlinux.org/index.php/In … ederlands) and https://wiki.archlinux.org/index.php/In … _in_VMware. I have even done some research and it seems that more people have problems to get this work under Arch Linux. Any ideas?

    I'm not certain that Mageia 2 Linux is supported.  This Release Notes page and this Install Help page don't mention Mageia, just
    Fedora Core 12, Ubuntu 9.10, OpenSUSE 11.2.
    Roy

  • 3.2.8-1-ARCH on vmware problem with open-vm-tools 2011.12.20-2

    Hi all!
    I've got problem with starting :
    /etc/rc.d/open-vm-tools start
    error is:
    Error inserting vmblock (/lib/modules/3.2.8-1-ARCH/extramodules/vmblock.ko.gz): Invalid module format
    and dmesg says:
    vmblock: disagrees about version of symbol module_layout
    I've searched google and this forum and found nothing please help.

    I've found the same solution about hour ago here is the link
    https://bbs.archlinux.org/viewtopic.php?pid=1057886
    I had different errors than in this post but the solution works fine. Topic can be closed now.

  • Open-vm-tools/official vmware tools not installing.

    I'm trying to install the latest offical vmware tools (16/9/2013) and open-vm-tools but both seem to always fail. I tried some of the patches listed on the wiki, but nothing got me anywhere. The big thing I'm trying to accomplish is to be able to use vmhgfs but, I'd like to have all the tools if possible. Here is what I did.
    Open Vm Tools
    #[root@localhost] - [14-01-01 18:09:33] - [/home/toxicarrow/Documents/firewall] - [R:0]
    pacman -S open-vm-tools open-vm-tools-dkms
    resolving dependencies...
    looking for inter-conflicts...
    Packages (2): open-vm-tools-5:2013.09.16-5 open-vm-tools-dkms-5:2013.09.16-5
    Total Installed Size: 8.21 MiB
    :: Proceed with installation? [Y/n]
    (2/2) checking keys in keyring [#####################################################################################################################] 100%
    (2/2) checking package integrity [#####################################################################################################################] 100%
    (2/2) loading package files [#####################################################################################################################] 100%
    (2/2) checking for file conflicts [#####################################################################################################################] 100%
    (2/2) checking available disk space [#####################################################################################################################] 100%
    (1/2) installing open-vm-tools [#####################################################################################################################] 100%
    >>>
    >>> You can mount VMware Shared Folders via:
    >>> mount -t vmhgfs .host:/ /mnt/hgfs
    >>>
    >>> or by adding this line to /etc/fstab:
    >>> .host:/ /mnt/hgfs vmhgfs defaults 0 0
    >>>
    Optional dependencies for open-vm-tools
    gtkmm [installed]
    libnotify [installed]
    libxtst [installed]
    fuse [installed]
    libsm [installed]
    open-vm-tools-modules: for linux kernel
    open-vm-tools-dkms: for linux-lts and other kernels [pending]
    netctl: suspend-resume network state [installed]
    networkmanager: suspend-resume network state
    (2/2) installing open-vm-tools-dkms [#####################################################################################################################] 100%
    >>> Enable building of open-vm-tools modules:
    >>> $ dkms add open-vm-tools/2013.09.16
    >>>
    >>> Enabling vmxnet driver in /usr/lib/modprobe.d/open-vm-tools-modules.conf
    >>> (this will disable pcnet32 driver)
    >>>
    >>> If vmxnet driver doesn't handle your NIC, you have to manually
    >>> disable loading of pcnet32 driver
    >>>
    #[root@localhost] - [14-01-01 18:09:47] - [/home/toxicarrow/Documents/firewall] - [R:0]
    pacman -S open-vm-tools-modules
    warning: open-vm-tools-dkms-5:2013.09.16-5 is up to date -- reinstalling
    resolving dependencies...
    looking for inter-conflicts...
    Packages (1): open-vm-tools-dkms-5:2013.09.16-5
    Total Installed Size: 5.57 MiB
    Net Upgrade Size: 0.00 MiB
    :: Proceed with installation? [Y/n]
    (1/1) checking keys in keyring [#####################################################################################################################] 100%
    (1/1) checking package integrity [#####################################################################################################################] 100%
    (1/1) loading package files [#####################################################################################################################] 100%
    (1/1) checking for file conflicts [#####################################################################################################################] 100%
    (1/1) checking available disk space [#####################################################################################################################] 100%
    (1/1) reinstalling open-vm-tools-dkms [#####################################################################################################################] 100%
    >>> Enable building of open-vm-tools modules:
    >>> $ dkms add open-vm-tools/2013.09.16
    >>>
    #[root@localhost] - [14-01-01 18:10:14] - [/home/toxicarrow/Documents/firewall] - [R:0]
    dkms install -m open-vm-tools -v 2013.04.16 -k $(uname -r)
    Error! Could not find module source directory.
    Directory: /usr/src/open-vm-tools-2013.04.16 does not exist.
    #[root@localhost] - [14-01-01 18:13:14] - [/home/toxicarrow/Documents/firewall] - [R:2]
    dkms install -m open-vm-tools -v 2013.09.16 -k $(uname -r)
    Kernel preparation unnecessary for this kernel. Skipping...
    Building module:
    cleaning build area....
    make KERNELRELEASE=3.12.6-1-ARCH VM_UNAME=3.12.6-1-ARCH MODULEBUILDDIR=/var/lib/dkms/open-vm-tools/2013.09.16/build -C vmblock; make VM_UNAME=3.12.6-1-ARCH MODULEBUILDDIR=/var/lib/dkms/open-vm-tools/2013.09.16/build -C vmci; make VM_UNAME=3.12.6-1-ARCH MODULEBUILDDIR=/var/lib/dkms/open-vm-tools/2013.09.16/build -C vmhgfs; make VM_UNAME=3.12.6-1-ARCH MODULEBUILDDIR=/var/lib/dkms/open-vm-tools/2013.09.16/build -C vmsync; make VM_UNAME=3.12.6-1-ARCH MODULEBUILDDIR=/var/lib/dkms/open-vm-tools/2013.09.16/build -C vmxnet; make VM_UNAME=3.12.6-1-ARCH MODULEBUILDDIR=/var/lib/dkms/open-vm-tools/2013.09.16/build -C vsock........
    Error! Build of vmblock.ko failed for: 3.12.6-1-ARCH (x86_64)
    Consult the make.log in the build directory
    /var/lib/dkms/open-vm-tools/2013.09.16/build/ for more information.
    #[root@localhost] - [14-01-01 18:13:45] - [/home/toxicarrow/Documents/firewall] - [R:7]
    Official Tools
    Before patches
    #[root@localhost] - [14-01-02 2:40:49] - [/home/toxicarrow/vmware/vmware-tools-distrib] - [R:32]
    ./vmware-install.pl
    A previous installation of VMware Tools has been detected.
    The previous installation was made by the tar installer (version 4).
    Keeping the tar4 installer database format.
    You have a version of VMware Tools installed. Continuing this install will
    first uninstall the currently installed version. Do you wish to continue?
    (yes/no) [yes]
    Uninstalling the tar installation of VMware Tools.
    Stopping services for VMware Tools
    Stopping VMware Tools services in the virtual machine:
    Guest operating system daemon: done
    Unmounting HGFS shares: done
    Guest filesystem driver: done
    VM communication interface socket family: done
    VM communication interface: done
    Stopping Thinprint services in the virtual machine:
    Stopping Virtual Printing daemon: done
    The removal of VMware Tools 9.6.1 build-1378637 for Linux completed
    successfully.
    Installing VMware Tools.
    In which directory do you want to install the binary files?
    [/usr/bin]
    What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
    [/etc/init.d]
    What is the directory that contains the init scripts?
    [/etc/init.d]
    In which directory do you want to install the daemon files?
    [/usr/sbin]
    In which directory do you want to install the library files?
    [/usr/lib/vmware-tools]
    The path "/usr/lib/vmware-tools" does not exist currently. This program is
    going to create it, including needed parent directories. Is this what you want?
    [yes]
    In which directory do you want to install the documentation files?
    [/usr/share/doc/vmware-tools]
    The path "/usr/share/doc/vmware-tools" does not exist currently. This program
    is going to create it, including needed parent directories. Is this what you
    want? [yes]
    The installation of VMware Tools 9.6.1 build-1378637 for Linux completed
    successfully. You can decide to remove this software from your system at any
    time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".
    Before running VMware Tools for the first time, you need to configure it by
    invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want
    this program to invoke the command for you now? [yes]
    Initializing...
    Making sure services for VMware Tools are stopped.
    Stopping VMware Tools services in the virtual machine:
    Guest operating system daemon: done
    Unmounting HGFS shares: done
    Guest filesystem driver: done
    VM communication interface socket family: done
    VM communication interface: done
    Stopping Thinprint services in the virtual machine:
    Stopping Virtual Printing daemon: done
    sh: : command not found
    sh: : command not found
    Before you can compile modules, you need to have the following installed...
    make
    gcc
    kernel headers of the running kernel
    Searching for GCC...
    Detected GCC binary at "/bin/gcc".
    The path "/bin/gcc" appears to be a valid path to the gcc binary.
    Would you like to change it? [no]
    Searching for a valid kernel header path...
    Detected the kernel headers at "/lib/modules/3.12.6-1-ARCH/build/include".
    The path "/lib/modules/3.12.6-1-ARCH/build/include" appears to be a valid path
    to the 3.12.6-1-ARCH kernel headers.
    Would you like to change it? [no]
    make: Entering directory '/tmp/modconfig-lyoMIO/vmci-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/linux/driver.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/linux/vmciKernelIf.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciDriver.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciResource.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciRoute.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciContext.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciDatagram.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciHashtable.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciEvent.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciQueuePair.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciQPair.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/common/vmciDoorbell.o
    CC [M] /tmp/modconfig-lyoMIO/vmci-only/driverLog.o
    LD [M] /tmp/modconfig-lyoMIO/vmci-only/vmci.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-lyoMIO/vmci-only/vmci.mod.o
    LD [M] /tmp/modconfig-lyoMIO/vmci-only/vmci.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-lyoMIO/vmci-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-lyoMIO/vmci-only'
    cp -f vmci.ko ./../vmci.o
    make: Leaving directory '/tmp/modconfig-lyoMIO/vmci-only'
    make: Entering directory '/tmp/modconfig-VlEWPD/vmci-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/linux/driver.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/linux/vmciKernelIf.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciDriver.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciResource.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciRoute.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciContext.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciDatagram.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciHashtable.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciEvent.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciQueuePair.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciQPair.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/common/vmciDoorbell.o
    CC [M] /tmp/modconfig-VlEWPD/vmci-only/driverLog.o
    LD [M] /tmp/modconfig-VlEWPD/vmci-only/vmci.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-VlEWPD/vmci-only/vmci.mod.o
    LD [M] /tmp/modconfig-VlEWPD/vmci-only/vmci.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-VlEWPD/vmci-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-VlEWPD/vmci-only'
    cp -f vmci.ko ./../vmci.o
    make: Leaving directory '/tmp/modconfig-VlEWPD/vmci-only'
    make: Entering directory '/tmp/modconfig-VlEWPD/vsock-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-VlEWPD/vsock-only/linux/af_vsock.o
    CC [M] /tmp/modconfig-VlEWPD/vsock-only/linux/vsockAddr.o
    CC [M] /tmp/modconfig-VlEWPD/vsock-only/linux/notifyQState.o
    CC [M] /tmp/modconfig-VlEWPD/vsock-only/linux/util.o
    CC [M] /tmp/modconfig-VlEWPD/vsock-only/linux/stats.o
    CC [M] /tmp/modconfig-VlEWPD/vsock-only/linux/notify.o
    CC [M] /tmp/modconfig-VlEWPD/vsock-only/driverLog.o
    LD [M] /tmp/modconfig-VlEWPD/vsock-only/vsock.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-VlEWPD/vsock-only/vsock.mod.o
    LD [M] /tmp/modconfig-VlEWPD/vsock-only/vsock.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-VlEWPD/vsock-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-VlEWPD/vsock-only'
    cp -f vsock.ko ./../vsock.o
    make: Leaving directory '/tmp/modconfig-VlEWPD/vsock-only'
    The module vmxnet3 from this package is not supported for kernels >= 3.10.
    Please enable this module in your kernel. You may also have to enable
    HYPERVISOR_GUEST.
    The module pvscsi from this package is not supported for kernels >= 3.10.
    Please enable this module in your kernel. You may also have to enable
    HYPERVISOR_GUEST.
    The module vmmemctl from this package is not supported for kernels >= 3.10.
    Please enable this module in your kernel. You may also have to enable
    HYPERVISOR_GUEST.
    The VMware Host-Guest Filesystem allows for shared folders between the host OS
    and the guest OS in a Fusion or Workstation virtual environment. Do you wish
    to enable this feature? [yes]
    make: Entering directory '/tmp/modconfig-C1YUSD/vmci-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/linux/driver.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/linux/vmciKernelIf.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciDriver.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciResource.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciRoute.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciContext.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciDatagram.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciHashtable.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciEvent.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciQueuePair.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciQPair.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/common/vmciDoorbell.o
    CC [M] /tmp/modconfig-C1YUSD/vmci-only/driverLog.o
    LD [M] /tmp/modconfig-C1YUSD/vmci-only/vmci.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-C1YUSD/vmci-only/vmci.mod.o
    LD [M] /tmp/modconfig-C1YUSD/vmci-only/vmci.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-C1YUSD/vmci-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-C1YUSD/vmci-only'
    cp -f vmci.ko ./../vmci.o
    make: Leaving directory '/tmp/modconfig-C1YUSD/vmci-only'
    make: Entering directory '/tmp/modconfig-C1YUSD/vmhgfs-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/message.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/rpcout.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/hgfsUtil.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/cpName.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/request.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/stubs.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/link.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/bdhandler.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/transport.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/module.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/file.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/super.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/vmci.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/dir.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/fsutil.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/cpNameLinux.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/hgfsBd.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/filesystem.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/page.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/backdoorGcc64.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/backdoor.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/hgfsEscape.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/inode.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/dentry.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/cpNameLite.o
    CC [M] /tmp/modconfig-C1YUSD/vmhgfs-only/kernelStubsLinux.o
    LD [M] /tmp/modconfig-C1YUSD/vmhgfs-only/vmhgfs.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-C1YUSD/vmhgfs-only/vmhgfs.mod.o
    LD [M] /tmp/modconfig-C1YUSD/vmhgfs-only/vmhgfs.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-C1YUSD/vmhgfs-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-C1YUSD/vmhgfs-only'
    cp -f vmhgfs.ko ./../vmhgfs.o
    make: Leaving directory '/tmp/modconfig-C1YUSD/vmhgfs-only'
    The vmxnet driver is no longer supported on kernels 3.3 and greater. Please
    upgrade to a newer virtual NIC. (e.g., vmxnet3 or e1000e)
    The vmblock enables dragging or copying files between host and guest in a
    Fusion or Workstation virtual environment. Do you wish to enable this feature?
    [yes]
    NOTICE: It appears your system does not have the required fuse packages
    installed. The VMware blocking filesystem requires the fuse packages and its
    libraries to function properly. Please install the fuse or fuse-utils package
    using your systems package management utility and re-run this script in order
    to enable the VMware blocking filesystem.
    VMware automatic kernel modules enables automatic building and installation of
    VMware kernel modules at boot that are not already present. This feature can be
    enabled/disabled by re-running vmware-config-tools.pl.
    Would you like to enable VMware automatic kernel modules?
    [no]
    Detected X server version 1.14.5
    Distribution provided drivers for Xorg X server are used.
    Skipping X configuration because X drivers are not included.
    Warning: This script could not find mkinitrd or update-initramfs and cannot
    remake the initrd file!
    Checking acpi hot plug done
    Starting VMware Tools services in the virtual machine:
    Switching to guest configuration: done
    VM communication interface: done
    VM communication interface socket family: failed
    Guest filesystem driver: failed
    Mounting HGFS shares: failed
    VMware User Agent: done
    Guest operating system daemon: done
    Unable to start services for VMware Tools
    Execution aborted.
    After patches
    #[root@localhost] - [14-01-02 2:44:39] - [/home/toxicarrow/vmware] - [R:0]
    git clone https://github.com/rasa/vmware-tools-patches.git
    Cloning into 'vmware-tools-patches'...
    remote: Reusing existing pack: 134, done.
    remote: Total 134 (delta 0), reused 0 (delta 0)
    Receiving objects: 100% (134/134), 22.06 KiB | 0 bytes/s, done.
    Resolving deltas: 100% (74/74), done.
    Checking connectivity... done.
    #[root@localhost] - [14-01-02 2:44:55] - [/home/toxicarrow/vmware] - [R:0]
    ls
    = VMwareTools-9.6.1-1378637.tar.gz manifest.txt* run_upgrader.sh vmware-tools-distrib/ vmware-tools-patches/ vmware-tools-upgrader-32* vmware-tools-upgrader-64*
    #[root@localhost] - [14-01-02 2:44:57] - [/home/toxicarrow/vmware] - [R:0]
    cp VMwareTools-9.6.1-1378637.tar.gz vmware-tools-patches
    #[root@localhost] - [14-01-02 2:45:13] - [/home/toxicarrow/vmware] - [R:0]
    cd vmware-tools-patches
    #[root@localhost] - [14-01-02 2:45:17] - [/home/toxicarrow/vmware/vmware-tools-patches] - [R:0]
    ls
    LICENSE VMwareTools-9.6.1-1378637.tar.gz patch-module.sh* patches/ untar-and-patch-and-compile.sh*
    README.md download-patches.sh* patch-modules.sh* untar-all-and-patch.sh* untar-and-patch.sh*
    #[root@localhost] - [14-01-02 2:45:18] - [/home/toxicarrow/vmware/vmware-tools-patches] - [R:0]
    ./untar-and-patch-and-compile.sh
    === Patching ./VMwareTools-9.6.1-1378637.tar.gz ...
    --- Applying vmci/vmware9.k3.8rc4.patch ...
    patching file linux/driver.c
    Hunk #1 FAILED at 124.
    Hunk #2 FAILED at 1750.
    Hunk #3 FAILED at 1978.
    3 out of 3 hunks FAILED -- saving rejects to file linux/driver.c.rej
    --- Applying vmhgfs/vmhgfs-uid-gid-kernel-3.12-tools-9.6.1.patch ...
    patching file file.c
    patching file filesystem.c
    patching file fsutil.c
    patching file inode.c
    Hunk #1 succeeded at 514 (offset -3 lines).
    Hunk #2 succeeded at 617 (offset -3 lines).
    Hunk #3 succeeded at 1216 (offset -3 lines).
    patching file shared/compat_cred.h
    --- Applying vmhgfs/vmhgfs-d_count-kernel-3.11-tools-9.6.0.patch ...
    patching file inode.c
    Hunk #1 succeeded at 31 with fuzz 1.
    Hunk #2 FAILED at 1893.
    Hunk #3 FAILED at 1946.
    2 out of 3 hunks FAILED -- saving rejects to file inode.c.rej
    --- Applying vmhgfs/vmware9.compat_mm.patch ...
    patching file shared/compat_mm.h
    Hunk #1 FAILED at 91.
    Hunk #2 FAILED at 100.
    2 out of 2 hunks FAILED -- saving rejects to file shared/compat_mm.h.rej
    --- Applying vmhgfs/patch_inode.c.patch ...
    patching file inode.c
    Hunk #1 FAILED at 1798.
    Hunk #2 FAILED at 1818.
    2 out of 2 hunks FAILED -- saving rejects to file inode.c.rej
    --- Applying vmblock/vmblock.3.11.patch ...
    patching file linux/file.c
    --- Applying vmblock/vmblock.3.10.patch ...
    patching file linux/control.c
    Creating a new VMware Tools installer database using the tar4 format.
    Installing VMware Tools.
    In which directory do you want to install the binary files?
    [/usr/bin]
    What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
    [/etc/init.d]
    What is the directory that contains the init scripts?
    [/etc/init.d]
    In which directory do you want to install the daemon files?
    [/usr/sbin]
    In which directory do you want to install the library files?
    [/usr/lib/vmware-tools]
    The path "/usr/lib/vmware-tools" does not exist currently. This program is
    going to create it, including needed parent directories. Is this what you want?
    [yes]
    In which directory do you want to install the documentation files?
    [/usr/share/doc/vmware-tools]
    The path "/usr/share/doc/vmware-tools" does not exist currently. This program
    is going to create it, including needed parent directories. Is this what you
    want? [yes]
    The installation of VMware Tools 9.6.1 build-1378637 for Linux completed
    successfully. You can decide to remove this software from your system at any
    time by invoking the following command: "/usr/bin/vmware-uninstall-tools.pl".
    Before running VMware Tools for the first time, you need to configure it by
    invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want
    this program to invoke the command for you now? [yes]
    Initializing...
    Making sure services for VMware Tools are stopped.
    Stopping VMware Tools services in the virtual machine:
    Guest operating system daemon: done
    Unmounting HGFS shares: done
    Guest filesystem driver: done
    Stopping Thinprint services in the virtual machine:
    Stopping Virtual Printing daemon: done
    sh: : command not found
    sh: : command not found
    make: Entering directory '/tmp/modconfig-HrsGw6/vmci-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/linux/driver.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/linux/vmciKernelIf.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciDriver.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciResource.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciContext.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciDatagram.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciHashtable.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciEvent.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciQueuePair.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciDoorbell.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciQPair.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/common/vmciRoute.o
    CC [M] /tmp/modconfig-HrsGw6/vmci-only/driverLog.o
    LD [M] /tmp/modconfig-HrsGw6/vmci-only/vmci.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-HrsGw6/vmci-only/vmci.mod.o
    LD [M] /tmp/modconfig-HrsGw6/vmci-only/vmci.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-HrsGw6/vmci-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-HrsGw6/vmci-only'
    cp -f vmci.ko ./../vmci.o
    make: Leaving directory '/tmp/modconfig-HrsGw6/vmci-only'
    make: Entering directory '/tmp/modconfig-pVUBEq/vmci-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/linux/driver.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/linux/vmciKernelIf.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciDriver.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciResource.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciContext.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciDatagram.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciHashtable.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciEvent.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciQueuePair.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciDoorbell.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciQPair.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/common/vmciRoute.o
    CC [M] /tmp/modconfig-pVUBEq/vmci-only/driverLog.o
    LD [M] /tmp/modconfig-pVUBEq/vmci-only/vmci.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-pVUBEq/vmci-only/vmci.mod.o
    LD [M] /tmp/modconfig-pVUBEq/vmci-only/vmci.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-pVUBEq/vmci-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-pVUBEq/vmci-only'
    cp -f vmci.ko ./../vmci.o
    make: Leaving directory '/tmp/modconfig-pVUBEq/vmci-only'
    make: Entering directory '/tmp/modconfig-pVUBEq/vsock-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-pVUBEq/vsock-only/linux/af_vsock.o
    CC [M] /tmp/modconfig-pVUBEq/vsock-only/linux/vsockAddr.o
    CC [M] /tmp/modconfig-pVUBEq/vsock-only/linux/notifyQState.o
    CC [M] /tmp/modconfig-pVUBEq/vsock-only/linux/util.o
    CC [M] /tmp/modconfig-pVUBEq/vsock-only/linux/stats.o
    CC [M] /tmp/modconfig-pVUBEq/vsock-only/linux/notify.o
    CC [M] /tmp/modconfig-pVUBEq/vsock-only/driverLog.o
    LD [M] /tmp/modconfig-pVUBEq/vsock-only/vsock.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-pVUBEq/vsock-only/vsock.mod.o
    LD [M] /tmp/modconfig-pVUBEq/vsock-only/vsock.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-pVUBEq/vsock-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-pVUBEq/vsock-only'
    cp -f vsock.ko ./../vsock.o
    make: Leaving directory '/tmp/modconfig-pVUBEq/vsock-only'
    The module vmxnet3 from this package is not supported for kernels >= 3.10.
    Please enable this module in your kernel. You may also have to enable
    HYPERVISOR_GUEST.
    The module pvscsi from this package is not supported for kernels >= 3.10.
    Please enable this module in your kernel. You may also have to enable
    HYPERVISOR_GUEST.
    The module vmmemctl from this package is not supported for kernels >= 3.10.
    Please enable this module in your kernel. You may also have to enable
    HYPERVISOR_GUEST.
    The VMware Host-Guest Filesystem allows for shared folders between the host OS
    and the guest OS in a Fusion or Workstation virtual environment. Do you wish
    to enable this feature? [yes]
    make: Entering directory '/tmp/modconfig-ukgHfB/vmci-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/linux/driver.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/linux/vmciKernelIf.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciDriver.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciResource.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciContext.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciDatagram.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciHashtable.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciEvent.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciQueuePair.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciDoorbell.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciQPair.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/common/vmciRoute.o
    CC [M] /tmp/modconfig-ukgHfB/vmci-only/driverLog.o
    LD [M] /tmp/modconfig-ukgHfB/vmci-only/vmci.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-ukgHfB/vmci-only/vmci.mod.o
    LD [M] /tmp/modconfig-ukgHfB/vmci-only/vmci.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-ukgHfB/vmci-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-ukgHfB/vmci-only'
    cp -f vmci.ko ./../vmci.o
    make: Leaving directory '/tmp/modconfig-ukgHfB/vmci-only'
    make: Entering directory '/tmp/modconfig-ukgHfB/vmhgfs-only'
    Using 2.6.x kernel build system.
    /bin/make -C /lib/modules/3.12.6-1-ARCH/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-3.12.6-1-ARCH'
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/backdoorGcc64.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/message.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/request.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/filesystem.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/cpName.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/dentry.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/rpcout.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/hgfsUtil.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/stubs.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/hgfsEscape.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/link.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/transport.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/module.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/file.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/super.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/vmci.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/bdhandler.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/dir.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/fsutil.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/cpNameLinux.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/hgfsBd.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/page.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/backdoor.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/inode.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/cpNameLite.o
    CC [M] /tmp/modconfig-ukgHfB/vmhgfs-only/kernelStubsLinux.o
    LD [M] /tmp/modconfig-ukgHfB/vmhgfs-only/vmhgfs.o
    Building modules, stage 2.
    MODPOST 1 modules
    CC /tmp/modconfig-ukgHfB/vmhgfs-only/vmhgfs.mod.o
    LD [M] /tmp/modconfig-ukgHfB/vmhgfs-only/vmhgfs.ko
    make[1]: Leaving directory '/usr/src/linux-3.12.6-1-ARCH'
    /bin/make -C $PWD SRCROOT=$PWD/. \
    MODULEBUILDDIR= postbuild
    make[1]: Entering directory '/tmp/modconfig-ukgHfB/vmhgfs-only'
    make[1]: 'postbuild' is up to date.
    make[1]: Leaving directory '/tmp/modconfig-ukgHfB/vmhgfs-only'
    cp -f vmhgfs.ko ./../vmhgfs.o
    make: Leaving directory '/tmp/modconfig-ukgHfB/vmhgfs-only'
    The vmxnet driver is no longer supported on kernels 3.3 and greater. Please
    upgrade to a newer virtual NIC. (e.g., vmxnet3 or e1000e)
    The vmblock enables dragging or copying files between host and guest in a
    Fusion or Workstation virtual environment. Do you wish to enable this feature?
    [yes]
    NOTICE: It appears your system does not have the required fuse packages
    installed. The VMware blocking filesystem requires the fuse packages and its
    libraries to function properly. Please install the fuse or fuse-utils package
    using your systems package management utility and re-run this script in order
    to enable the VMware blocking filesystem.
    VMware automatic kernel modules enables automatic building and installation of
    VMware kernel modules at boot that are not already present. This feature can be
    enabled/disabled by re-running vmware-config-tools.pl.
    Would you like to enable VMware automatic kernel modules?
    [no]
    Detected X server version 1.14.5
    Distribution provided drivers for Xorg X server are used.
    Skipping X configuration because X drivers are not included.
    Warning: This script could not find mkinitrd or update-initramfs and cannot
    remake the initrd file!
    Checking acpi hot plug done
    Starting VMware Tools services in the virtual machine:
    Switching to guest configuration: done
    VM communication interface: done
    VM communication interface socket family: failed
    Guest filesystem driver: failed
    Mounting HGFS shares: failed
    Guest operating system daemon: done
    Unable to start services for VMware Tools
    Execution aborted.
    #[root@localhost] - [14-01-02 2:46:53] - [/home/toxicarrow/vmware/vmware-tools-patches] - [R:0]
    Any idea what I should be doing?

    I have the same problem on ESXI 5.5 for over a month now, tried the patches, tried the LTS kernel which others say results in an immediate result without patches, nothing seems to work and nobody seems to be able to offer a solution.
    Did you make any progress ??
    Error! Build of vmblock.ko failed for: 3.10.25-1-lts (x86_64)
    Consult the make.log in the build directory
    /var/lib/dkms/open-vm-tools/2013.09.16/build/ for more information.
    make[2]: *** No rule to make target '/var/lib/dkms/open-vm-tools/2013.09.16/build/vmblock/linux/inode', needed by '/var/lib/dkms/open-vm-tools/2013.09.16/build/vmblock/vmblock.o'. Stop.
    Makefile:1224: recipe for target '_module_/var/lib/dkms/open-vm-tools/2013.09.16/build/vmblock' failed
    make[1]: *** [_module_/var/lib/dkms/open-vm-tools/2013.09.16/build/vmblock] Error 2
    make[1]: Leaving directory '/usr/src/linux-3.10.25-1-lts'
    Makefile:120: recipe for target 'vmblock.ko' failed
    Last edited by crankshaft (2014-01-10 11:32:32)

  • Laptop mode tools problem with kernel 3.0

    today I just updated the system and my laptop runs dramatically hotter after that. I read the archwiki, it does talk about the laptop mode tools problem with kernel 3.0 but when I opened the file /usr/sbin/laptop_mode, the lines which the wiki mentions are not there. Does anyone here have the same problem and can you offer the solution?
    Here is my /usr/sbin/laptop_mode
    #! /bin/sh
    # Script to start or stop laptop_mode, and to control various settings of the
    # kernel, hardware etc. that influence power consumption.
    # This script is a part of Laptop Mode Tools. If you are running a supported
    # power management daemon, this script will be automatically called on power
    # state change.
    # Configure laptop mode tools in /etc/laptop-mode/laptop-mode.conf, and in
    # the broken-out config files in /etc/laptop-mode/conf.d.
    # Please consult the manual pages laptop-mode.conf(8) and laptop_mode(8) for
    # additional information.
    # Maintainer: Ritesh Raj Sarraf ([email protected])
    # Original Author: Bart Samwel ([email protected])
    # Project home page: http://samwel.tk/laptop_mode
    # Contributors to this script: Bart Samwel
    # Kiko Piris
    # Micha Feigin
    # Andrew Morton
    # Herve Eychenne
    # Dax Kelson
    # Jan Polacek
    # ... and many others that I've stopped
    # keeping track of.
    # Based on a script for Linux 2.4 written by Jens Axboe.
    set -a
    # The laptop mode tools version number. Extracted by the installer makefile
    # as well, so don't change the format!
    LMTVERSION=1.59
    # This script is loaded from multiple scripts to set the config defaults
    # and to read the configuration on top of those. Only when the command is
    # recognized does this script do anything else.
    VERBOSE_OUTPUT=0
    ENABLE_LAPTOP_MODE_ON_BATTERY=1
    ENABLE_LAPTOP_MODE_ON_AC=0
    ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=0
    PARTITIONS="auto /dev/mapper/*"
    LM_BATT_MAX_LOST_WORK_SECONDS=600
    LM_AC_MAX_LOST_WORK_SECONDS=360
    DEF_MAX_AGE=30
    LM_READAHEAD=3072
    NOLM_READAHEAD=128
    CONTROL_READAHEAD=1
    CONTROL_NOATIME=0
    USE_RELATIME=1
    CONTROL_HD_IDLE_TIMEOUT=1
    LM_AC_HD_IDLE_TIMEOUT=4 # 20 seconds
    LM_BATT_HD_IDLE_TIMEOUT=4 # 20 seconds
    NOLM_HD_IDLE_TIMEOUT=244 # 2 hours
    DEF_UPDATE=5
    DEF_XFS_AGE_BUFFER=15
    DEF_XFS_SYNC_INTERVAL=30
    DEF_XFS_BUFD_INTERVAL=1
    XFS_HZ=100
    CONTROL_MOUNT_OPTIONS=1
    BATT_HD_POWERMGMT=1
    LM_AC_HD_POWERMGMT=254
    NOLM_AC_HD_POWERMGMT=254
    CONTROL_HD_POWERMGMT=0
    CONTROL_HD_WRITECACHE=0
    NOLM_AC_HD_WRITECACHE=1
    NOLM_BATT_HD_WRITECACHE=0
    LM_HD_WRITECACHE=0
    LM_DIRTY_RATIO=60
    LM_DIRTY_BACKGROUND_RATIO=1
    NOLM_DIRTY_BACKGROUND_RATIO=10
    NOLM_DIRTY_RATIO=40
    LM_SECONDS_BEFORE_SYNC=2
    BATT_CPU_MAXFREQ=medium
    BATT_CPU_MINFREQ=slowest
    BATT_CPU_GOVERNOR=ondemand
    BATT_CPU_IGNORE_NICE_LOAD=1
    LM_AC_CPU_MAXFREQ=fastest
    LM_AC_CPU_MINFREQ=slowest
    LM_AC_CPU_GOVERNOR=ondemand
    LM_AC_CPU_IGNORE_NICE_LOAD=1
    NOLM_AC_CPU_MAXFREQ=fastest
    NOLM_AC_CPU_MINFREQ=slowest
    NOLM_AC_CPU_GOVERNOR=ondemand
    NOLM_AC_CPU_IGNORE_NICE_LOAD=0
    CONTROL_CPU_FREQUENCY=0
    HD="/dev/[hs]d[abcdefgh]"
    CONTROL_SYSLOG_CONF=0
    LM_AC_SYSLOG_CONF=/etc/syslog-on-ac-with-lm.conf
    NOLM_AC_SYSLOG_CONF=/etc/syslog-on-ac-without-lm.conf
    BATT_SYSLOG_CONF=/etc/syslog-on-battery.conf
    SYSLOG_CONF_SIGNAL_PROGRAM=syslogd
    SYSLOG_CONF=/etc/syslog.conf
    CONTROL_DPMS_STANDBY=0
    BATT_DPMS_STANDBY=300
    LM_AC_DPMS_STANDBY=1200
    NOLM_AC_DPMS_STANDBY=1200
    CONTROL_CPU_THROTTLING=0
    BATT_CPU_THROTTLING=medium
    LM_AC_CPU_THROTTLING=minimum
    NOLM_AC_CPU_THROTTLING=minimum
    CONTROL_START_STOP=1
    CONTROL_TERMINAL=0
    TERMINALS="/dev/vc/1 /dev/vcs1"
    BATT_TERMINAL_BLANK_MINUTES=1
    BATT_TERMINAL_POWERDOWN_MINUTES=2
    LM_AC_TERMINAL_BLANK_MINUTES=10
    LM_AC_TERMINAL_POWERDOWN_MINUTES=10
    NOLM_AC_TERMINAL_BLANK_MINUTES=10
    NOLM_AC_TERMINAL_POWERDOWN_MINUTES=50
    ENABLE_AUTO_HIBERNATION=0
    HIBERNATE_COMMAND=/usr/sbin/hibernate
    AUTO_HIBERNATION_ON_CRITICAL_BATTERY_LEVEL=1
    DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL=1
    AUTO_HIBERNATION_BATTERY_CHARGE_MAH=0
    AUTO_HIBERNATION_BATTERY_CHARGE_MWH=0
    MINIMUM_BATTERY_CHARGE_MAH=0
    MINIMUM_BATTERY_CHARGE_MWH=0
    ASSUME_SCSI_IS_SATA=1
    CONTROL_BRIGHTNESS=0
    BATT_BRIGHTNESS_COMMAND=false
    LM_AC_BRIGHTNESS_COMMAND=false
    NOLM_AC_BRIGHTNESS_COMMAND=false
    LOG_TO_SYSLOG=1
    DEBUG=0
    ENABLE_LAPTOP_MODE_TOOLS=1
    # Initialize the PATH Variable
    export PATH="${PATH}":/bin:/sbin:/usr/bin:/usr/sbin
    # This is a 2 phase locking approach. LMT_REQ_LOCK is the outer lock and LMT_INVOC_LOCK is the inner lock
    # We take this approach to ensure the scenario that, "At any point when an event occurs (AC/BATT), the
    # kernel can generate multiple events spanning over a couple of events. The first event is honored and
    # lmt executes. If the last event triggered at the 9th second, there is a fair chance that a good amount
    # of state change would have occured in the OS, to honor that state, we keep an outer lock (LMT_REQ_LOCK)
    # handy, so that those changes can also be applied and not forgotten.
    # Workflow:
    # Event-1 is generated and lmt executes (lmt runtime could span 5-10 seconds)
    # At seventh second, 4 events generate. But Event-1 is still running.
    # We don't want to discard all the remaining 4 events, but at least honor 1 so that we can act to the changes
    # that occured in the last 7 seconds.
    # So, Event-2 acquire LMT_REQ_LOCK and waits to acquire LMT_INVOC_LOCK (which is acquire by Event-1)
    LMT_REQ_LOCK="/var/lock/lmt-req.lock"
    LMT_INVOC_LOCK="/var/lock/lmt-invoc.lock"
    FLOCK=`which flock`
    checkint ()
    # $1 arg should be the string/integer
    # that you want to check for as an integer.
    echo $1 | grep "[^0-9]" > /dev/null 2>&1
    return $?;
    # Returns 1 if it is an integer
    # Function to handle logging
    LOGGER=`which logger`;
    log ()
    # $1 should be msg type
    # $2 should be the real msg
    if [ x$LOG_TO_SYSLOG = x1 ]; then
    # NOTE: Add the check on $2 being empty, once you are confident
    # that there aren't any bugs in logging. And no bugs in executing
    # modules and logging
    if [ -x $LOGGER -a "$1" != "STATUS" ]; then
    #if [ -z $2 ]; then
    # continue
    #elif [ "$1" = "MSG" ]; then
    if [ "$1" = "MSG" ]; then
    logger -p daemon.info -t laptop-mode "$2";
    elif [ "$1" = "ERR" ]; then
    logger -p daemon.err -t laptop-mode "$2";
    elif [ "$1" = "VERBOSE" ]; then
    if [ x$VERBOSE_OUTPUT = x1 ]; then
    logger -p daemon.debug -t laptop-mode "$2";
    fi
    else
    logger -p daemon.notice -t laptop-mode "$2";
    fi
    fi
    fi
    if [ "$1" = "VERBOSE" ]; then
    $LM_VERBOSE && echo "$2" >/dev/fd/2;
    elif [ "$1" = "ERR" ]; then
    echo "$2" >/dev/fd/2;
    else
    # Message of type MSG and STATUS can go to stdout.
    echo "$2" >/dev/fd/1;
    fi
    enableDebug ()
    # Check if debug is enabled
    if [ x$(($(basename $1 | cut -d . -f1 | tr "[:lower:]" "[:upper:]" | sed 's/-/_/g')_DEBUG)) = x1 ]; then
    set -vx
    fi
    disableDebug ()
    # Check if debug is enabled
    if [ x$(($(basename $1 | cut -d . -f1 | tr "[:lower:]" "[:upper:]" | sed 's/-/_/g')_DEBUG)) = x1 ]; then
    set +vx
    fi
    # No default on these ones -- we need to detect if they have been set, for
    # backward compatibility with MINIMUM_BATTERY_MINUTES etc.
    AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT=
    MINIMUM_BATTERY_CHARGE_PERCENT=
    # Backward compatibility variable that is sometimes
    # set externally (Debian init system)
    unset VERBOSE
    lmt_load_config ()
    # Source config. Some config settings have been moved from the main config file
    # to modular configuration files, and to support existing laptop-mode.conf
    # files from earlier versions, we source the modular configuration files FIRST.
    if [ -d /etc/laptop-mode/conf.d ] ; then
    for CONF in /etc/laptop-mode/conf.d/*.conf ; do
    if [ -r "$CONF" ] ; then
    . "$CONF"
    #Handle individual module debug settings
    if [ "$DEBUG" -eq 1 ]; then
    export $(basename $CONF | cut -d . -f1 | tr "[:lower:]" "[:upper:]" | sed 's/-/_/g')_DEBUG=1
    log "VERBOSE" "Enabling debug mode for module $CONF"
    fi
    DEBUG=0
    else
    log "MSG" "Warning: Configuration file $CONF is not readable, skipping."
    fi
    done
    fi
    if [ -r /etc/laptop-mode/laptop-mode.conf ] ; then
    . /etc/laptop-mode/laptop-mode.conf
    else
    log "ERR" "$0: Configuration file /etc/laptop-mode/laptop-mode.conf not present or not readable."
    exit 1
    fi
    if [ x$ENABLE_LAPTOP_MODE_TOOLS = x0 ]; then
    log "MSG" "laptop-mode-tools is disabled in config file. Exiting"
    exit 0;
    fi
    # Add a simple bash debug mode switch
    if [ "$DEBUG" -eq 1 ]; then
    set -vx;
    fi
    # Support for old config settings
    if [ "$AC_HD" != "" ] ; then
    AC_HD_WITHOUT_LM="$AC_HD"
    AC_HD_WITH_LM="$AC_HD"
    fi
    if [ "$VERBOSE" != "" ] ; then
    VERBOSE_OUTPUT="$VERBOSE"
    fi
    if [ "$CPU_MAXFREQ" != "" ] ; then
    BATT_CPU_MAXFREQ="$CPU_MAXFREQ"
    fi
    if [ "$MAX_AGE" != "" ] ; then
    LM_BATT_MAX_LOST_WORK_SECONDS="$MAX_AGE"
    LM_AC_MAX_LOST_WORK_SECONDS="$MAX_AGE"
    fi
    if [ "$DEF_AGE" != "" ] ; then
    DEF_MAX_AGE="$DEF_AGE"
    fi
    if [ "$LAPTOP_MODE_ALWAYS_ON" != "" ] ; then
    ENABLE_LAPTOP_MODE_ALWAYS="$LAPTOP_MODE_ALWAYS_ON"
    fi
    if [ "$LM_WHEN_LID_CLOSED" != "" ] ; then
    ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED="$LM_WHEN_LID_CLOSED"
    fi
    if [ "$REMOUNT_PARTITIONS" != "" ] ; then
    PARTITIONS="$REMOUNT_PARTITIONS"
    fi
    if [ "$READAHEAD" != "" ] ; then
    LM_READAHEAD="$READAHEAD"
    fi
    if [ "$DO_REMOUNT_NOATIME" != "" ] ; then
    CONTROL_NOATIME="$DO_REMOUNT_NOATIME"
    fi
    if [ "$DO_HD" != "" ] ; then
    CONTROL_HD_IDLE_TIMEOUT="$DO_HD"
    fi
    if [ "$AC_HD_WITH_LM" != "" ] ; then
    LM_AC_HD_IDLE_TIMEOUT="$AC_HD_WITH_LM"
    fi
    if [ "$AC_HD_WITHOUT_LM" != "" ] ; then
    NOLM_HD_IDLE_TIMEOUT="$AC_HD_WITHOUT_LM"
    fi
    if [ "$BATT_HD" != "" ] ; then
    LM_BATT_HD_IDLE_TIMEOUT="$BATT_HD"
    fi
    if [ "$DO_REMOUNTS" != "" ] ; then
    CONTROL_MOUNT_OPTIONS="$DO_REMOUNTS"
    fi
    if [ "$DO_HD_POWERMGMT" != "" ] ; then
    CONTROL_HD_POWERMGMT="$DO_HD_POWERMGMT"
    fi
    if [ "$AC_HDPARM_POWERMGMT_WITH_LM" != "" ] ; then
    LM_AC_HD_POWERMGMT="$AC_HDPARM_POWERMGMT_WITH_LM"
    fi
    if [ "$AC_HDPARM_POWERMGMT_WITHOUT_LM" != "" ] ; then
    NOLM_AC_HD_POWERMGMT="$AC_HDPARM_POWERMGMT_WITHOUT_LM"
    fi
    if [ "$BATT_HDPARM_POWERMGMT" != "" ] ; then
    BATT_HD_POWERMGMT="$BATT_HDPARM_POWERMGMT"
    fi
    if [ "$DO_WRITECACHE" != "" ] ; then
    CONTROL_HD_WRITECACHE="$DO_WRITECACHE"
    fi
    if [ "$AC_WRITECACHE_WITHOUT_LM" != "" ] ; then
    NOLM_AC_HD_WRITECACHE="$AC_WRITECACHE_WITHOUT_LM"
    fi
    if [ "$BATT_WRITECACHE" != "" ] ; then
    LM_HD_WRITECACHE="$BATT_WRITECACHE"
    fi
    if [ "$DIRTY_RATIO" != "" ]; then
    LM_DIRTY_RATIO="$DIRTY_RATIO"
    fi
    if [ "$DIRTY_BACKGROUND_RATIO" != "" ] ; then
    LM_DIRTY_BACKGROUND_RATIO="$DIRTY_BACKGROUND_RATIO"
    fi
    if [ "$DEF_DIRTY_RATIO" != "" ]; then
    NOLM_DIRTY_RATIO="$DEF_DIRTY_RATIO"
    fi
    if [ "$DEF_DIRTY_BACKGROUND_RATIO" != "" ] ; then
    NOLM_DIRTY_BACKGROUND_RATIO="$DEF_DIRTY_BACKGROUND_RATIO"
    fi
    if [ "$DO_CPU" != "" ] ; then
    CONTROL_CPU_FREQUENCY="$DO_CPU"
    fi
    if [ "$CONTROL_CPU_MAXFREQ" != "" ] ; then
    CONTROL_CPU_FREQUENCY="$CONTROL_CPU_MAXFREQ"
    fi
    if [ "$AC_CPU_MAXFREQ_WITH_LM" != "" ] ; then
    LM_AC_CPU_MAXFREQ="$AC_CPU_MAXFREQ_WITH_LM"
    fi
    if [ "$AC_CPU_MAXFREQ_WITHOUT_LM" != "" ] ; then
    NOLM_AC_CPU_MAXFREQ="$AC_CPU_MAXFREQ_WITHOUT_LM"
    fi
    if [ "$DO_SYSLOG" != "" ] ; then
    CONTROL_SYSLOG_CONF="$DO_SYSLOG"
    fi
    if [ "$SYSLOG_SIGNAL_PROGRAM" != "" ] ;then
    SYSLOG_CONF_SIGNAL_PROGRAM="$SYSLOG_SIGNAL_PROGRAM"
    fi
    if [ "$AC_SYSLOG_WITH_LM" != "" ] ; then
    LM_AC_SYSLOG_CONF="$AC_SYSLOG_WITH_LM"
    fi
    if [ "$AC_SYSLOG_WITHOUT_LM" != "" ] ; then
    NOLM_AC_SYSLOG_CONF="$AC_SYSLOG_WITHOUT_LM"
    fi
    if [ "$BATT_SYSLOG" != "" ] ; then
    BATT_SYSLOG_CONF="$BATT_SYSLOG"
    fi
    if [ "$ENABLE_LAPTOP_MODE_ALWAYS" != "" ] ; then
    ENABLE_LAPTOP_MODE_ON_AC="$ENABLE_LAPTOP_MODE_ALWAYS"
    fi
    if [ "$MINIMUM_BATTERY_MINUTES" != "" -a "$MINIMUM_BATTERY_CHARGE_PERCENT" = "" ] ; then
    # Use a very conservative estimate (1% = 1 battery minute, 100 minutes in a battery)
    # for backward compatibility.
    MINIMUM_BATTERY_CHARGE_PERCENT="$MINIMUM_BATTERY_MINUTES"
    fi
    if [ -z "$MINIMUM_BATTERY_CHARGE_PERCENT" ] ; then
    # Apply the default, now that we've determined that this is the minimum.
    MINIMUM_BATTERY_CHARGE_PERCENT=3
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_MINUTES" != "" -a "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" = "" ] ; then
    # Use a very conservative estimate (1% = 1 battery minute, 100 minutes in a battery)
    # for backward compatibility.
    AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT="$AUTO_HIBERNATION_BATTERY_MINUTES"
    fi
    if [ -z "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" ] ; then
    # Apply the default, now that we've determined that this is the minimum.
    AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT=2
    fi
    # Postprocessing
    if [ "$VERBOSE_OUTPUT" -ne 0 ] ; then
    OUTPUT="/dev/stdout"
    LM_VERBOSE="[ 1 = 1 ]"
    else
    OUTPUT="/dev/null"
    LM_VERBOSE="[ 1 = 0 ]"
    fi
    if [ "$PARTITIONS" = "" ] ; then
    PARTITIONS="auto /dev/mapper/*"
    fi
    # Expand shell wild cards immediately.
    PARTITIONS=$( echo $PARTITIONS )
    TERMINALS=$( echo $TERMINALS )
    # Convert seconds to hdparm -S format
    # Everything over 20 minutes is interpreted as 2 hours.
    seconds_to_hdparm_S() {
    if [ "$1" -eq 0 ] ; then
    # disable.
    echo 0
    elif [ "$1" -gt 0 -a "$1" -lt 5 ] ; then
    # 5 seconds minimum
    echo 1
    elif [ "$1" -le $((240*5)) ] ; then
    # Values between 1 and 240 signify increments of 5 seconds
    echo $(($1 / 5))
    elif [ "$1" -lt $((30*60)) ] ; then
    # Values between 20 and 30 minutes are rounded up to 30 minutes.
    echo 241
    elif [ "$1" -lt $((12*30*60)) ] ; then
    # Values between 30 minutes and 6 hours (exclusive) yield values between
    # 241 and 251, in 30-minute increments.
    echo $(( 240 + ($1 / (30*60)) ))
    else
    # Larger values effectively indicate no timeout at all.
    echo 0
    fi
    # Convert configured idle timeouts to hdparm -S format.
    if [ "$LM_AC_HD_IDLE_TIMEOUT_SECONDS" != "" ] ; then
    LM_AC_HD_IDLE_TIMEOUT=$(seconds_to_hdparm_S $LM_AC_HD_IDLE_TIMEOUT_SECONDS)
    fi
    if [ "$LM_BATT_HD_IDLE_TIMEOUT_SECONDS" != "" ] ; then
    LM_BATT_HD_IDLE_TIMEOUT=$(seconds_to_hdparm_S $LM_BATT_HD_IDLE_TIMEOUT_SECONDS)
    fi
    if [ "$NOLM_HD_IDLE_TIMEOUT_SECONDS" != "" ] ; then
    NOLM_HD_IDLE_TIMEOUT=$(seconds_to_hdparm_S $NOLM_HD_IDLE_TIMEOUT_SECONDS)
    fi
    # The main workhorse.
    lmt_main_function ()
    if [ "$1" = "status" ] ; then
    # Display a status report.
    log "STATUS" "Mounts:"
    mount | sed "s/^/ /"
    log "STATUS" " "
    log "STATUS" "Drive power status:"
    for disk in $HD; do
    if [ -r $disk ]; then
    hdparm -C $disk 2>/dev/null | sed "s/^/ /"
    else
    log "STATUS" " Cannot read $disk, permission denied - $0 needs to be run as root"
    fi
    done
    log "STATUS" " "
    log "STATUS" "(NOTE: drive settings affected by Laptop Mode cannot be retrieved.)"
    log "STATUS" " "
    log "STATUS" "Readahead states:"
    cat /etc/mtab | while read DEV MP FST OPTS DUMP PASS ; do
    # skip funny stuff
    case "$FST" in
    rootfs|unionfs|tmpfs|squashfs|sysfs|usbfs|proc|devpts) continue
    esac
    if [ -b $DEV ] ; then
    if [ -r $DEV ] ; then
    log "STATUS" " $DEV: $((`blockdev --getra $DEV` / 2)) kB"
    else
    log "STATUS" " Cannot read $DEV, permission denied - $0 needs to be run as root"
    fi
    fi
    done
    log "STATUS" " "
    if [ -e /var/run/laptop-mode-tools/enabled ] ; then
    log "STATUS" "Laptop Mode Tools is allowed to run: /var/run/laptop-mode-tools/enabled exists."
    else
    log "STATUS" "Laptop Mode Tools is NOT allowed to run: /var/run/laptop-mode-tools/enabled does not exist."
    fi
    log "STATUS" " "
    STATFILES="/proc/sys/vm/laptop_mode /proc/apm /proc/pmu/info /proc/sys/vm/bdflush /proc/sys/vm/dirty_ratio /proc/sys/fs/xfs/age_buffer /proc/sys/fs/xfs/sync_interval /proc/sys/fs/xfs/lm_age_buffer /proc/sys/fs/xfs/lm_sync_interval /proc/sys/vm/pagebuf/lm_flush_age /proc/sys/fs/xfs/xfsbufd_centisecs /proc/sys/fs/xfs/xfssyncd_centisecs /proc/sys/vm/dirty_background_ratio /proc/sys/vm/dirty_expire_centisecs /proc/sys/fs/xfs/age_buffer/centisecs /proc/sys/vm/dirty_writeback_centisecs /sys/devices/system/cpu/*/cpufreq/cpuinfo_*_freq /sys/devices/system/cpu/*/cpufreq/scaling_governor /proc/acpi/button/lid/*/state /proc/acpi/ac_adapter/*/state /proc/acpi/battery/*/state /sys/class/power_supply/*/online /sys/class/power_supply/*/state"
    for THISFILE in $STATFILES ; do
    if [ -e "$THISFILE" ] ; then
    log "STATUS" "$THISFILE:"
    if [ -r "$THISFILE" ] ; then
    cat "$THISFILE" | sed "s/^/ /"
    else
    log "STATUS" " Not accessible, permission denied - $0 needs to be run as root."
    fi
    log "STATUS" " "
    fi
    done
    elif [ "$1" != "readconfig" -a "$1" != "defaults" ] ; then
    KLEVEL="$(uname -r |
    IFS='.-' read a b c
    echo $a.$b
    KMINOR="$(uname -r |
    IFS='.-' read a b c d
    # Strip any stuff from the end -- only the initial digits are part of the KMINOR.
    echo $c | sed -e 's/\([[:digit:]]*\).*/\1/'
    # Stop exporting everything -- what we do from here is private.
    set +a
    if [ "$1" = "--version" ] ; then
    log "MSG" "Laptop Mode Tools $LMTVERSION"
    exit 0
    fi
    if [ ! -e /proc/sys/vm/laptop_mode ] ; then
    log "ERR" "Kernel does not have support for laptop mode. Please apply the laptop mode"
    log "ERR" "patch or install a newer kernel."
    exit 1
    fi
    if [ ! -w /proc/sys/vm/laptop_mode ] ; then
    log "ERR" "You do not have enough privileges to enable laptop_mode."
    exit 1
    fi
    INIT=0 # Display info in init script format?
    FORCE=0 # Force reapplying the current state?
    while [ "$1" != "" ] ; do
    case "$1" in
    init) INIT=1 ;;
    force) FORCE=1 ;;
    # Old options. We always do "auto" for any option now, but
    # we still have to accept the options.
    start) ;;
    stop) ;;
    auto) ;;
    modules=*)
    MODULES=$1
    MODULES=${MODULES#"modules="}
    devices=*)
    DEVICES=$1
    DEVICES=${DEVICES#"devices="}
    *) log "ERR" "Unrecognized option $1."
    exit 1 ;;
    esac
    shift
    done
    mkdir -p /var/run/laptop-mode-tools
    # Used to display laptop mode state later on. This is the enabled/disabled
    # state for laptop mode processing, it tells us nothing about whether laptop
    # mode is actually _active_.
    STATE=enabled
    if [ "$ENABLE_LAPTOP_MODE_ON_BATTERY" -eq 0 -a "$ENABLE_LAPTOP_MODE_ON_AC" -eq 0 -a "$ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED" -eq 0 ] ; then
    STATE=disabled
    fi
    # Determine the power state.
    # First try /sys/class/power_supply/*
    FOUND_SYS_CLASS_POWER_SUPPLY_AC=0
    ON_AC=0
    for POWER_SUPPLY in /sys/class/power_supply/* ; do
    if [ -f $POWER_SUPPLY/type ] ; then
    if [ "$(cat $POWER_SUPPLY/type)" = "Mains" ] ;then
    log "VERBOSE" "Determining power state from $POWER_SUPPLY/online."
    FOUND_SYS_CLASS_POWER_SUPPLY_AC=1
    if [ "$(cat $POWER_SUPPLY/online)" = 1 ] ; then
    ON_AC=1
    fi
    fi
    fi
    done
    if [ $FOUND_SYS_CLASS_POWER_SUPPLY_AC = 1 ] ; then
    # Already found it!
    log "VERBOSE" "Not trying other options, already found a power supply."
    elif [ -d /proc/acpi/ac_adapter ] ; then
    log "VERBOSE" "Determining power state from /proc/acpi/ac_adapter."
    ADAPTERS_FOUND=0
    ON_AC=0
    for ADAPTER in /proc/acpi/ac_adapter/* ; do
    if [ -f $ADAPTER/state ] ; then
    ADAPTERS_FOUND=1
    STATUS=`awk '/^state: / { print $2 }' $ADAPTER/state`
    if [ "$STATUS" = "on-line" ] ; then
    ON_AC=1
    fi
    fi
    done
    if [ "$ADAPTERS_FOUND" -eq 0 ] ; then
    ON_AC=1
    fi
    elif [ -f /proc/pmu/info ] ; then
    log "VERBOSE" "Determining power state from /proc/pmu/info."
    if ( grep -q "^AC Power.*0$" /proc/pmu/info ) ; then
    log "VERBOSE" "/proc/pmu/info indicates absence of AC power."
    ON_AC=0
    else
    # It is possible that there is no AC Power = 1 in the file,
    # but we always assume AC power when we're not sure.
    ON_AC=1
    log "VERBOSE" "/proc/pmu/info indicates presence of AC power."
    fi
    elif [ -f /proc/apm ] ; then
    log "VERBOSE" "Determining power state from /proc/apm."
    read D1 D2 D3 APM_AC_STATE D0 </proc/apm
    if [ "$APM_AC_STATE" = "0x00" ] ; then
    ON_AC=0
    else
    ON_AC=1
    fi
    else
    log "VERBOSE" "No /sys/class/power_supply, ACPI, APM or PMU power management information found -- assuming AC power is present."
    ON_AC=1
    fi
    # Determine whether to activate or deactivate laptop mode.
    ACTIVATE=0
    if [ "$ON_AC" -eq 1 ] ; then
    if [ "$ENABLE_LAPTOP_MODE_ON_AC" -ne 0 ] ; then
    log "VERBOSE" "On AC power: Activating, because ENABLE_LAPTOP_MODE_ON_AC is set."
    ACTIVATE=1
    else
    log "VERBOSE" "On AC power: Deactivating, because ENABLE_LAPTOP_MODE_ON_AC is not set."
    ACTIVATE=0
    fi
    else
    if [ "$ENABLE_LAPTOP_MODE_ON_BATTERY" -ne 0 ] ; then
    log "VERBOSE" "On battery power: Activating, because ENABLE_LAPTOP_MODE_ON_BATTERY is set."
    ACTIVATE=1
    else
    log "VERBOSE" "On battery power: Deactivating, because ENABLE_LAPTOP_MODE_ON_BATTERY is not set."
    ACTIVATE=0
    fi
    fi
    if [ "$ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED" -ne 0 -a "$ACTIVATE" -eq 0 ] ; then
    if [ -x "`which hal-find-by-property`" ] ; then
    HAL_LID_BUTTON=$(hal-find-by-property --key "button.type" --string "lid")
    fi
    if [ "$HAL_LID_BUTTON" != "" ] ; then
    HAL_LID_BUTTON_STATE=$(hal-get-property --udi $(hal-find-by-property --key "button.type" --string "lid") --key "button.state.value")
    if [ "$HAL_LID_BUTTON_STATE" = "true" ] ; then
    log "VERBOSE" "Setting action to \"start\" because the lid is closed (says HAL)."
    ACTIVATE=1
    fi
    elif [ -f /proc/acpi/button/lid/*/state ] ; then
    if ( grep -q "closed" /proc/acpi/button/lid/*/state ) ; then
    log "VERBOSE" 'Setting action to "start" because the lid is closed (says /proc/acpi/button/lid/*/state).'
    ACTIVATE=1
    fi
    else
    log "MSG" "Warning: ENABLE_LAPTOP_MODE_WHEN_LID_CLOSED is set, but there is no file"
    log "MSG" "/proc/acpi/button/lid/.../state, and hal information is not available either!"
    fi
    fi
    # If the init script has not been run or has been run with the "stop"
    # argument, then we should never start laptop mode.
    if [ ! -f /var/run/laptop-mode-tools/enabled ] ; then
    log "VERBOSE" "Laptop mode disabled because /var/run/laptop-mode-tools/enabled is missing."
    STATE=disabled
    fi
    if [ "$ACTIVATE" -eq 1 -a -f /etc/default/laptop-mode ] ; then
    . /etc/default/laptop-mode
    if ! ( echo "$ENABLE_LAPTOP_MODE" |grep y ) ; then
    log "VERBOSE" "Not starting laptop mode because it is disabled in /etc/default/laptop-mode."
    STATE=disabled
    fi
    fi
    if [ "$STATE" = "disabled" ] ; then
    ACTIVATE=0
    fi
    # Check whether we are allowed to activate the data-loss-sensitive stuff.
    # If the battery charge is too low, we want to disable this, but not the
    # other power-saving stuff.
    if [ "$ACTIVATE" -eq 0 ] ; then
    ACTIVATE_WITH_POSSIBLE_DATA_LOSS=0
    elif [ "$ON_AC" = 1 ] ; then
    log "VERBOSE" "On AC, not checking minimum battery charge."
    ACTIVATE_WITH_POSSIBLE_DATA_LOSS=1
    else
    ACTIVATE_WITH_POSSIBLE_DATA_LOSS=1
    ENOUGH_CHARGE=0
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=0
    # Weird way of checking that /sys/class/power_supply is not empty -- but it works.
    if [ "$(echo /sys/class/power_supply/*)" != '/sys/class/power_supply/*' ] ; then
    log "VERBOSE" "Not on AC and we have battery information in /sys/class/power_supply/BAT* -- checking minimum battery charge."
    for BATT in /sys/class/power_supply/* ; do
    BATT_TYPE=$(cat $BATT/type)
    log "VERBOSE" "$BATT is of type $BATT_TYPE."
    if [ "$BATT_TYPE" != "Battery" ] ; then
    log "VERBOSE" "Not of type \"Battery\", skipping."
    else
    PREV_ENOUGH_CHARGE=$ENOUGH_CHARGE
    PREV_ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=$ENOUGH_CHARGE_TO_PREVENT_HIBERNATION
    log "VERBOSE" "Checking levels for $BATT."
    PRESENT=$(cat $BATT/present)
    log "VERBOSE" "Present: $PRESENT."
    # Only do if the battery is present
    if [ "$PRESENT" -eq 1 ] ; then
    FOUND_AN_ENABLED_CHECK=0
    FOUND_AN_ENABLED_HIBERNATION_CHECK=0
    # Get the remaining capacity.
    IN_UAH=0
    IN_UWH=0
    if [ -f $BATT/charge_now ] ; then
    REMAINING=$(cat $BATT/charge_now)
    IN_UAH=1 # charge_* is in microAmpere-hours
    elif [ -f $BATT/energy_now ] ; then
    REMAINING=$(cat $BATT/energy_now)
    IN_UWH=1 # energy_* is in microWatt-hours
    else
    REMAINING=0
    fi
    if [ -z "$REMAINING" -o "$REMAINING" -eq 0 ] ; then
    log "VERBOSE" "Battery does not report remaining charge. Perhaps it is not present?"
    REMAINING=0
    fi
    log "VERBOSE" "Remaining charge: $REMAINING"
    if [ -f $BATT/charge_full_design ] ; then
    CAPACITY=$(cat $BATT/charge_full_design)
    elif [ -f $BATT/energy_full_design ] ; then
    CAPACITY=$(cat $BATT/energy_full_design)
    else
    CAPACITY=0
    fi
    if [ -z "$CAPACITY" -o "$CAPACITY" -eq 0 ] ; then
    log "VERBOSE" "Battery does not report design full charge, using non-design full charge."
    if [ -f $BATT/charge_full ] ; then
    CAPACITY=$(cat $BATT/charge_full)
    elif [ -f $BATT/energy_full_design ] ; then
    CAPACITY=$(cat $BATT/energy_full)
    else
    CAPACITY=0
    fi
    if [ -z "$CAPACITY" -o "$CAPACITY" -eq 0 ] ; then
    log "VERBOSE" "Battery does not report non-design full charge."
    CAPACITY=0
    fi
    fi
    log "VERBOSE" "Full capacity: $CAPACITY"
    # Check the charge percentage
    if [ "$MINIMUM_BATTERY_CHARGE_PERCENT" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$CAPACITY" -eq 0 ] ; then
    log "MSG" "WARNING: Battery does not report a capacity. Minimum battery"
    log "MSG" "charge checking does not work without a design capacity."
    ENOUGH_CHARGE=1
    elif [ "$(($REMAINING * 100 / $CAPACITY))" -ge "$MINIMUM_BATTERY_CHARGE_PERCENT" ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$CAPACITY" -eq 0 ] ; then
    log "MSG" "WARNING: Battery does not report a design capacity. Auto hibernation"
    log "MSG" "does not work without a design capacity."
    ENOUGH_CHARGE=1
    elif [ "$(($REMAINING * 100 / $CAPACITY))" -ge "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    # $BATT/alarm is the design_capacity_warning of a battery.
    ALARM_LEVEL=$(cat $BATT/alarm)
    if [ "$ALARM_LEVEL" -ne 0 ] ; then
    if [ "$REMAINING" -le "$ALARM_LEVEL" ] ; then
    # Restore the state we had before checking this battery, so that
    # this battery does not count as having enough charge.
    ENOUGH_CHARGE=$PREV_ENOUGH_CHARGE
    elif [ "$FOUND_AN_ENABLED_CHECK" -eq 0 ] ; then
    # This is the only check that is enabled. In that case a non-critical
    # battery level counts as "enough". (If we would count non-critical
    # battery levels as enough *always*, then the other settings would
    # have no effect; this is only a final fallback.)
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_ON_CRITICAL_BATTERY_LEVEL" -ne 0 ] ; then
    if [ "$REMAINING" -le "$ALARM_LEVEL" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=$PREV_ENOUGH_CHARGE_TO_PREVENT_HIBERNATION
    elif [ "$FOUND_AN_ENABLED_HIBERNATION_CHECK" -eq 0 ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    # Fallback: hard values
    if [ "$IN_UAH" -ne 0 ] ; then
    if [ "$MINIMUM_BATTERY_CHARGE_MAH" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$REMAINING" -ge $((1000*"$MINIMUM_BATTERY_CHARGE_MAH")) ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_MAH" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$REMAINING" -ge $((1000*"$AUTO_HIBERNATION_BATTERY_CHARGE_MAH")) ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    elif [ "$IN_UWH" -ne 0 ] ; then
    if [ "$MINIMUM_BATTERY_CHARGE_MWH" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$REMAINING" -ge $((1000*"$MINIMUM_BATTERY_CHARGE_MWH")) ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_MWH" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$REMAINING" -ge $((1000*"$AUTO_HIBERNATION_BATTERY_CHARGE_MWH")) ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    else
    log "ERR" "Failed to determine battery charge. Battery charge units are not in"
    log "ERR" "mWh, uWh, mAh or uAh."
    fi
    else
    log "VERBOSE" "Battery is not present."
    fi
    fi
    done
    elif [ "$(echo /proc/acpi/battery/*)" != '/proc/acpi/battery/*' ] ; then
    log "VERBOSE" "Not on AC and we have batteries in /proc/acpi/battery -- checking minimum battery charge."
    for BATT in /proc/acpi/battery/* ; do
    PREV_ENOUGH_CHARGE=$ENOUGH_CHARGE
    PREV_ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=$ENOUGH_CHARGE_TO_PREVENT_HIBERNATION
    BATT_STATE=$BATT/state
    BATT_INFO=$BATT/info
    log "VERBOSE" "Checking info and state for $BATT."
    # Only do if the battery is present
    if ( grep -q 'present:.*yes' $BATT_INFO ) ; then
    FOUND_AN_ENABLED_CHECK=0
    FOUND_AN_ENABLED_HIBERNATION_CHECK=0
    # Get the remaining capacity.
    REMAINING=`grep "remaining capacity:" $BATT_STATE | sed "s/.* \([0-9][0-9]* \).*/\1/" `
    if [ -z "$REMAINING" ] ; then
    log "VERBOSE" "Battery does not report remaining charte. Perhaps it is not present?"
    REMAINING=0
    fi
    log "VERBOSE" "Remaining charge: $REMAINING"
    CAPACITY=`grep "design capacity:" $BATT_INFO | sed "s/.* \([0-9][0-9]* \).*/\1/" `
    if [ -z "$CAPACITY" ] ; then
    log "VERBOSE" "Battery does not report capacity. Perhaps it is not present?"
    CAPACITY=0
    fi
    log "VERBOSE" "Design capacity: $CAPACITY"
    # Check the charge percentage
    if [ "$MINIMUM_BATTERY_CHARGE_PERCENT" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$CAPACITY" -eq 0 ] ; then
    log "MSG" "WARNING: Battery does not report a design capacity. Minimum battery"
    log "MSG" "charge checking does not work without a design capacity."
    ENOUGH_CHARGE=1
    elif [ "$(($REMAINING * 100 / $CAPACITY))" -ge "$MINIMUM_BATTERY_CHARGE_PERCENT" ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$CAPACITY" -eq 0 ] ; then
    log "MSG" "WARNING: Battery does not report a design capacity. Auto hibernation"
    log "MSG" "does not work without a design capacity."
    ENOUGH_CHARGE=1
    elif [ "$(($REMAINING * 100 / $CAPACITY))" -ge "$AUTO_HIBERNATION_BATTERY_CHARGE_PERCENT" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    # Fallback: hard values.
    # Determine the reporting unit.
    IN_MAH=0
    IN_MWH=0
    if ( grep -q mWh $BATT_INFO ) ; then
    IN_MWH=1
    elif ( grep -q mAh $BATT_INFO ) ; then
    IN_MAH=1
    fi
    if [ "$IN_MAH" -ne 0 ] ; then
    if [ "$MINIMUM_BATTERY_CHARGE_MAH" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$REMAINING" -ge "$MINIMUM_BATTERY_CHARGE_MAH" ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_MAH" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$REMAINING" -ge "$AUTO_HIBERNATION_BATTERY_CHARGE_MAH" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    elif [ "$IN_MWH" -ne 0 ] ; then
    if [ "$MINIMUM_BATTERY_CHARGE_MWH" -ne 0 ] ; then
    FOUND_AN_ENABLED_CHECK=1
    if [ "$REMAINING" -ge "$MINIMUM_BATTERY_CHARGE_MWH" ] ; then
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_BATTERY_CHARGE_MWH" -ne 0 ] ; then
    FOUND_AN_ENABLED_HIBERNATION_CHECK=1
    if [ "$REMAINING" -ge "$AUTO_HIBERNATION_BATTERY_CHARGE_MWH" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    else
    log "ERR" "Failed to determine battery charge. Battery charge units are not in"
    log "ERR" "mWh or mAh."
    fi
    CAP_STATE=`sed -r 's/^capacity state:\s*(.*)\s*$/\1/;t;d' "$BATT_STATE"`
    if [ "$DISABLE_LAPTOP_MODE_ON_CRITICAL_BATTERY_LEVEL" -ne 0 ] ; then
    if [ "$CAP_STATE" = "critical" ] ; then
    # Restore the state we had before checking this battery, so that
    # this battery does not count as having enough charge.
    ENOUGH_CHARGE=$PREV_ENOUGH_CHARGE
    elif [ "$FOUND_AN_ENABLED_CHECK" -eq 0 ] ; then
    # This is the only check that is enabled. In that case a non-critical
    # battery level counts as "enough". (If we would count non-critical
    # battery levels as enough *always*, then the other settings would
    # have no effect; this is only a final fallback.)
    ENOUGH_CHARGE=1
    fi
    fi
    if [ "$AUTO_HIBERNATION_ON_CRITICAL_BATTERY_LEVEL" -ne 0 ] ; then
    if [ "$CAP_STATE" = "critical" ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=$PREV_ENOUGH_CHARGE_TO_PREVENT_HIBERNATION
    elif [ "$FOUND_AN_ENABLED_HIBERNATION_CHECK" -eq 0 ] ; then
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    fi
    fi
    else
    log "VERBOSE" "Battery is not present."
    fi
    done
    else
    ENOUGH_CHARGE=1
    ENOUGH_CHARGE_TO_PREVENT_HIBERNATION=1
    log "VERBOSE" "Not on AC and could not check battery state -- data loss sensitive features stay enabled and auto-hibernation will not work."
    fi
    if [ "$ENABLE_AUTO_HIBERNATION" -ne 0 -a "$ENOUGH_CHARGE_TO_PREVENT_HIBERNATION" -eq 0 ] ; then
    log "VERBOSE" "None of the batteries have a charge above the auto-hibernation level."
    log "VERBOSE" "Starting hibernation."
    if [ -x $HIBERNATE_COMMAND ]; then
    $HIBERNATE_COMMAND
    elif [ -f /sys/power/state ]; then
    grep -q disk /sys/power/state && echo disk > /sys/power/state
    fi
    # Don't continue -- if things are configured correctly, then we
    # will be called on resume.
    exit 0
    fi
    if [ "$ENOUGH_CHARGE" -eq 0 ] ; then
    log "VERBOSE" "None of the batteries have a charge above the minimum level."
    log "VERBOSE" "Deactivating data loss sensitive features."
    ACTIVATE_WITH_POSSIBLE_DATA_LOSS=0
    fi
    fi
    if [ "$INIT" -eq 0 ] ; then
    log "MSG" "Laptop mode "
    fi
    # WAS_ACTIVE is used later on. If there is no /var/run/laptop-mode-tools/state, then
    # we know that laptop mode wasn't active before.
    WAS_ACTIVE=0
    log "VERBOSE" "Checking if desired state is different from current state."
    if [ -f /var/run/laptop-mode-tools/state ] ; then
    read WAS_ACTIVE WAS_ON_AC WAS_ACTIVATE_WITH_POSSIBLE_DATA_LOSS WAS_STATE < /var/run/laptop-mode-tools/state
    if [ "$WAS_STATE" != "" ] ; then
    if [ "$WAS_ACTIVE" -eq "$ACTIVATE" -a "$WAS_ON_AC" -eq "$ON_AC" -a "$WAS_ACTIVATE_WITH_POSSIBLE_DATA_LOSS" -eq "$ACTIVATE_WITH_POSSIBLE_DATA_LOSS" -a "$WAS_STATE" = "$STATE" -a "$FORCE" -eq 0 ] ; then
    log "MSG" "$STATE, "
    if [ "$WAS_ACTIVE" -eq 1 ] ; then
    log "MSG" "active [unchanged]"
    if [ "$ACTIVATE_WITH_POSSIBLE_DATA_LOSS" -eq 0 ] ; then
    log "MSG" " (Data-loss sensitive features disabled.)"
    fi
    else
    log "MSG" "not active [unchanged]"
    fi
    exit 0
    fi
    fi
    else
    log "VERBOSE" "/var/run/laptop-mode-tools/state does not exist, no previous state."
    fi
    echo "$ACTIVATE $ON_AC $ACTIVATE_WITH_POSSIBLE_DATA_LOSS $STATE" > /var/run/laptop-mode-tools/state
    if [ "$ACTIVATE" -eq 1 ] ; then
    log "MSG" "$STATE, active"
    if [ "$ACTIVATE_WITH_POSSIBLE_DATA_LOSS" -eq 0 ] ; then
    log "MSG" " (Data-loss sensitive features disabled.)"
    fi
    else
    log "MSG" "$STATE, not active"
    fi
    # Finally, call laptop-mode-tools modules. The modules can use the settings
    # from the config files, but they may NOT assume the settings actually exist,
    # as no defaults have been given for them.
    # Note that the /usr/local/lib path is deprecated.
    export FORCE STATE ON_AC ACTIVATE ACTIVATE_WITH_POSSIBLE_DATA_LOSS KLEVEL KMINOR WAS_ACTIVE LM_VERBOSE DEVICES
    for SCRIPT in /usr/share/laptop-mode-tools/modules/* /usr/local/lib/laptop-mode-tools/modules/* /usr/local/share/laptop-mode-tools/modules/* /etc/laptop-mode/modules/* ; do
    if [ -z "$MODULES" ] ; then
    # If a module list has not been provided, execute all modules
    EXECUTE_SCRIPT=1
    else
    # If a module list has been provided, execute only the listed
    # modules.
    EXECUTE_SCRIPT=0
    for MODULE in $MODULES; do
    # Attempt to remove the module name from the end of the
    # full script path. If the module name matches the
    # script, the name will be removed from the end of the
    # full file path, leaving the path to the script. If
    # there was not a match made, the module name would not
    # be removed from the path, and $PATH_TO_SCRIPT would
    # be the same as $SCRIPT.
    PATH_TO_SCRIPT=${SCRIPT%%$MODULE}
    # Execute the script if a match was found (module name
    # was removed from the script path, making it shorter.
    if [ $PATH_TO_SCRIPT != $SCRIPT ] ; then
    EXECUTE_SCRIPT=1
    fi
    done
    fi
    if [ -x "$SCRIPT" -a $EXECUTE_SCRIPT -eq 1 ] ; then
    log "VERBOSE" "Invoking module $SCRIPT."
    SCRIPT_DEBUG=$SCRIPT; # We do this because in start-stop-programs module a $SCRIPT variable is used. That
    # changes the whole meaning when passed to disableDebug ()
    enableDebug $SCRIPT_DEBUG;
    . $SCRIPT
    disableDebug $SCRIPT_DEBUG;
    else
    log "VERBOSE" "Module $SCRIPT is not executable or is to be skipped."
    fi
    done
    exit 0
    # This fi closes the if for "readconfig". If I would have indented this one
    # I would have indented the whole file. :)
    fi
    lmt_load_config
    lock_retry ()
    ( $FLOCK -n -x -w 1 8 || exit 0;
    i=10;
    while [ $i -ge 1 ]
    do
    log "ERR" "Couldn't acquire lock. Retrying.... PID is $$\n"
    $FLOCK -x -w 1 9 && lmt_main_function "$@" && break;
    i=$(( $i - 1 ))
    done
    ) 8>$LMT_REQ_LOCK
    # Check and acquire locks and then exec.
    ( $FLOCK -n -x -w 1 8; ) 8>$LMT_REQ_LOCK
    ($FLOCK -n -x -w 1 9 && lmt_main_function "$@";) || lock_retry "$@"
    ) 9<>$LMT_INVOC_LOCK
    # We do a special run of battery polling daemon here so that it does not get
    # plagued by the lock. We need the polling daemon to be independent of any locks
    if [ x$ENABLE_BATTERY_LEVEL_POLLING = x1 ] && [ x$BLACKLIST_IN_FLOCK = x1 ]; then
    log "VERBOSE" "Battery level polling is enabled."
    if [ x$ON_AC = x1 ] ; then
    log "VERBOSE" "On AC, stopping the polling daemon."
    # In AC mode we disable the polling daemon.
    killall -q lm-polling-daemon
    else
    if ! pidof -x lm-polling-daemon ; then
    log "VERBOSE" "On battery and there was no polling daemon yet, starting the polling daemon."
    # If there is no polling daemon, we start one.
    /usr/share/laptop-mode-tools/module-helpers/lm-polling-daemon < /dev/null > /dev/null 2> /dev/null &
    fi
    fi
    else
    log "VERBOSE" "Battery level polling is disabled."
    fi
    exit 0;
    and here is the lines which archwiki mentions
    case "$KLEVEL" in
    "2.4" ) ;;
    "2.6" ) ;;
    log "ERR" "Unhandled kernel version: $KLEVEL ('uname -r' = '$(uname -r)')" >&2
    exit 1
    esac

    I had the problem but edited the line in /usr/sbin/laptop_mode and it worked. But thoes lines are not there anymore. I guess they changed it at the recent update of laptop-mode-tools.
    Regarding your heat problem; is there any other thing you use to cut down power usage (from AUR  maybe)? I use acpi_call from AUR had to edit lines there aswell, but it should be updated by now.

  • Error code: MobileMe Services has encountered a problem and needs to close - I get this message everytime i open Outlook and it slows down opening?  This problem started when itunes updated

    Error code: MobileMe Services has encountered a problem and needs to close
    I get this mesage everytime i open Outlook and it slows down opening. This problem started when itunes updated. What do I do to solve this?

    Hi turingtest2 (you pass, BTW):  Thanks for the speedy reply.  MobileMe doesn't appear in the list of programs which can be uninstalled.  I tried the link you suggest: http://support.microsoft.com/mats/Program_Install_and_Uninstall but when I tried to "Run Now", I get the error message:  " Troubleshooting cannot continue because an error has occurred... etc.... [code 80072F8F]"  So googled this error & found a tool called (80072f8f) Repair Tool   -  I'm leery to download yet more stuff from non-microsoft sites -- any recommendations?

  • Open-vm-tools fail to start

    Hi,
    I installed open-vm-tools in my Arch x64 installation in VMWare Fusion, added it to rc.conf, but it resists to start properly and gives me a [FAIL] instead
    [industrie13@arch64 ~]$ sudo /etc/rc.d/open-vm-tools start
    :: Starting Open Virtual Machine Tools [FAIL]
    [industrie13@arch64 ~]$ sudo /etc/rc.d/open-vm-tools restart
    :: Stopping Open Virtual Machine Tools [BUSY]
    ERROR: Module vmhgfs is in use
    [FAIL]
    :: Starting Open Virtual Machine Tools [FAIL]
    Any hints? A re-install didn't help.

    This happens to me to sicne I first installed Arch (kernel 2.6.34-1). I gave up on it since I seem to have shared folders regardless.
    Meanhwile, In X the new open-vm-tools version seems to have problems dealing with mouse integration. It works intermittently, when before it used to work great. But clipboard sharing works great.
    Kernel: 2.6.34-2
    Last edited by marfig (2010-08-08 18:18:43)

  • Open-vm-tools-modules and kernel rebuild

    Initially when I installed open-vm-tools-modules the wiki instructed me to rebuild the kernel to include the VMWare drivers.
    Today there was an upgrade to open-vm-tools-modules and I was wondering if a kernel rebuild is required every time this package is upgraded.

    I would just like to note that I  am having the same problem in VMware Fusion 4. But this is an update. I read what you said about having a problem doing pacman -S open-vm-tools-modules: when I enter the command it succeeds. But despite this, when I do sudo /etc/rc.d/open-vm-tools start it still fails, but it doesn't print anything about the vmblock. Doing strace produces some output that I really can't understand at all.
    You should see my post here https://bbs.archlinux.org/viewtopic.php … 0#p1048450

  • Fox opens an error (Problem opening page) page when ever I open a new fox window and parks it in upper left corner of my desktop, what is up with this ??

    Fox opens an error (Problem opening page) page when ever I open a new fox window and parks it in upper left corner of my desktop, what is up with this ??
    It slows down my surfing, a lot and I do not notice the error page, until I notice the slow speed, because it is as small as a page can be, showing only the " -, +, & full size boxes with a border"

    Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions is causing the problem (switch to the DEFAULT theme: Firefox (Tools) > Add-ons > Appearance/Themes).
    *Don't make any changes on the Safe mode start window.
    *https://support.mozilla.com/kb/Safe+Mode
    *https://support.mozilla.com/kb/Troubleshooting+extensions+and+themes

  • Open-vm-tools 2012.03.13-2 not working on VMware Workstation 8.0.2

    Hi,
    I followed instructions on https://wiki.archlinux.org/index.php/In … _in_VMware.
    Problem 1[Solved]:
    vmware-user-suid-wrapper does not start automatically but i did add it to ~/.xinitrc.
    .xinitrc File content:
    exec ck-launch-session gnome-session
    vmware-user-suid-wrapper
    [Solution 1]
    removed vmware-user-suid-wrapper from ~/.xinitrc and created this file:
    /etc/xdg/autostart/vmware-user.desktop
    [Desktop Entry]
    Type=Application
    Name=VMWare User Agent
    Exec=/usr/bin/vmware-user-suid-wrapper
    Icon=system-run
    Comment=Enable Unity, DnD, etc.
    Problem 2:
    drag & drop is not working in GNOME standard mode (works in fallback mode), clipboard copy&paste is working. XFCE4 seems to be working OK.
    Problem 3:
    Unity is not working at all, I get the message that vmware tools are not installed.(Not working both in GNOME and XFCE4)
    Installed Software:
    Linux version 3.3.2-1-ARCH (tobias@T-POWA-LX) (gcc version 4.7.0 20120407 (prerelease) (GCC) ) #1 SMP PREEMPT Sat Apr 14 09:48:37 CEST 2012
    open-vm-tools 2012.03.13-2
    gnome-shell 3.4.1-1
    Kind Regards,
    Robert
    Subject History:
    <<First version of question>> I reverted to a minimal arch install snapshot and did a re-install of gnome,open-vm-tools. The glibmm-2.4 problems magically disappeared (somehow it was fucked up)
    Hi,
    I followed instructions on https://wiki.archlinux.org/index.php/In … _in_VMware.
    3D Acceleration is working and GNOME does not start in fallback mode, however I can not get Unity, Drag&Drop and Clipboard to work.
    open-vm-tools daemon is running. I have also added  vmware-user-suid-wrapper to ~/.xinitrc.
    I also tried to upgrade my whole system from the testing repositories, by doing this I get open-vm-tools 2012.03.13-2(release 2). With release 2 of the same tools clipboard is working but still no luck with drag&drop and Unity.
    Im also trying to build my own version of open-vm-tools 2012.03.13-1(I would like to use it as a template to later build official open-vm-tools stable-8.8.2 package), but makepkg fails. I tried to add -fpermissive flag to CXXFLAGS in /etc/makepkg.conf but it doesnt help. Log trace at the end of this msg.
    Installed packages and Software:
    open-vm-tools 2012.03.13-1
    GNOME 3.4.1-1
    Linux version 3.3.2-1-ARCH (tobias@T-POWA-LX) (gcc version 4.7.0 20120407 (prerelease) (GCC) ) #1 SMP PREEMPT Sat Apr 14 09:48:37 CEST 2012
    Thanks for you help. Sorry for the question but I'm a Widows n00b, trying to get a grip on Linux.I really like Arch, because I love control over my box.
    Kind Regards,
    Robert
    libtool: compile:  g++ -DPACKAGE_NAME=\"open-vm-tools\" -DPACKAGE_TARNAME=\"open-vm-tools\" -DPACKAGE_VERSION=\"2012.03.13\" "-DPACKAGE_STRING=\"open-vm-too$
    In file included from /usr/include/glibmm-2.4/glibmm.h:89:0,
                     from /usr/include/gtkmm-2.4/gtkmm.h:87,
                     from copyPasteUIX11.h:49,
                     from copyPasteDnDX11.h:33,
                     from copyPasteDnDWrapper.cpp:30:
    /usr/include/glibmm-2.4/glibmm/threads.h:209:10: error: field 'gobject_' has incomplete type
    /usr/include/glibmm-2.4/glibmm/threads.h: In member function 'GMutex* Glib::Threads::Mutex::gobj()':
    /usr/include/glibmm-2.4/glibmm/threads.h:206:28: error: 'gobject_' was not declared in this scope
    /usr/include/glibmm-2.4/glibmm/threads.h: At global scope:
    /usr/include/glibmm-2.4/glibmm/threads.h:264:3: error: 'GRecMutex' does not name a type
    /usr/include/glibmm-2.4/glibmm/threads.h:273:3: error: 'GRecMutex' does not name a type
    /usr/include/glibmm-2.4/glibmm/threads.h:320:3: error: 'GRWLock' does not name a type
    /usr/include/glibmm-2.4/glibmm/threads.h:329:3: error: 'GRWLock' does not name a type
    /usr/include/glibmm-2.4/glibmm/threads.h:464:9: error: field 'gobject_' has incomplete type
    /usr/include/glibmm-2.4/glibmm/threads.h: In member function 'GCond* Glib::Threads::Cond::gobj()':
    /usr/include/glibmm-2.4/glibmm/threads.h:461:27: error: 'gobject_' was not declared in this scope
    /usr/include/glibmm-2.4/glibmm/threads.h: At global scope:
    /usr/include/glibmm-2.4/glibmm/threads.h:517:12: error: field 'gobject_' has incomplete type
    /usr/include/glibmm-2.4/glibmm/threads.h: In member function 'GPrivate* Glib::Threads::Private<T>::gobj()':
    /usr/include/glibmm-2.4/glibmm/threads.h:514:29: error: 'gobject_' was not declared in this scope
    /usr/include/glibmm-2.4/glibmm/threads.h: In constructor 'Glib::Threads::Private<T>::Private(Glib::Threads::Private<T>::DestructorFunc)':
    /usr/include/glibmm-2.4/glibmm/threads.h:793:55: error: there are no arguments to 'G_PRIVATE_INIT' that depend on a template parameter, so a declaration of $
    /usr/include/glibmm-2.4/glibmm/threads.h:793:55: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is $
    /usr/include/glibmm-2.4/glibmm/threads.h:794:3: error: 'gobject_' was not declared in this scope
    /usr/include/glibmm-2.4/glibmm/threads.h: In member function 'T* Glib::Threads::Private<T>::get()':
    /usr/include/glibmm-2.4/glibmm/threads.h:800:26: error: 'gobject_' was not declared in this scope
    /usr/include/glibmm-2.4/glibmm/threads.h: In member function 'void Glib::Threads::Private<T>::set(T*)':
    /usr/include/glibmm-2.4/glibmm/threads.h:806:3: error: 'gobject_' was not declared in this scope
    /usr/include/glibmm-2.4/glibmm/threads.h: In member function 'void Glib::Threads::Private<T>::replace(T*)':
    /usr/include/glibmm-2.4/glibmm/threads.h:812:22: error: 'gobject_' was not declared in this scope
    make[4]: *** [libdndcp_la-copyPasteDnDWrapper.lo] Error 1
    make[4]: Leaving directory `/home/robertsi/buildpkg/open-vm-tools/src/open-vm-tools-2012.03.13-651368/services/plugins/dndcp'
    make[3]: *** [all] Error 2
    make[3]: Leaving directory `/home/robertsi/buildpkg/open-vm-tools/src/open-vm-tools-2012.03.13-651368/services/plugins/dndcp'
    make[2]: *** [all-recursive] Error 1
    Last edited by robertsi (2012-04-25 05:59:25)

    So far there isn't a good systemd script for vmware-workstation-server yet, but it can be started manually with:
    # /etc/init.d/vmware-workstation-server start
    Though this doesn't check the box in the GUI, you can interact with the Shared VM's tab in the VMWorkstation library just fine.
    Last edited by turnipcannon (2012-11-08 20:25:46)

  • InDesign 6 opens but tools/panels don't load.  Please help.

    I have just upgraded to a new MacPro.  Had Creative Suite 6 all working fine on my old system, but on the new system InDesign will not open properly. I get multiple messages on opening about tools it cannot load because it requires different panels -- spelling, transform, and swatches. The message says please install "such and such" plug in and restart. These plug ins appear in the folder already.  I have replaced preferences, uninstalled and re-installed twice, and still having the issue.  I have to go back to using my old computer in order to get any work done since this one won't open 5.5 at all.  Please help.

    I resolved the problem and InDesign is working again, as well as the rest of the Creative Suite.  However I did not do the third install.  Because I was also having some issues with a few folders that did not have the right permissions, I decided to go with the other user account where InDesign worked and there were no permissions issues on the drive. I did not use the migration tool this time -- I just moved the files I needed from one user to the other or reset system preferences. It is so easy to switch between users now that I'm not too worried about any little things that I may have missed -- I will just keep the old user for a little while until I'm convinced everything I need is there. The old migrated user account had a lot of "junk" in it, so this should work out better anyway, and I learned a lot about using Mavericks in the process.  Now back to work!
    Thank you for your kind responses.  I'm glad to know that this community is here.

  • Firefox locks up then crashes when I open the Tools-Add Ons page

    Hi - Just updated today with automatic 6.0.1 update and once I did, Firefox killed Adobe Reader. I fixed that but then found that opening the Tools, Add-Ons page locks up Firefox for a few minutes, then crashes it.

    Hello Ted.
    Although possibly not related to your problem, I will remind you that the version of Firefox you are using at the moment has been discontinued and is no longer supported. Furthermore, it has known bugs and security problems. I urge you to update to the latest version of Firefox, for maximum stability, performance, security and usability. You can get it for free, as always, at [http://www.getfirefox.com getfirefox.com].
    As for your problem, you may be having a problem with some Firefox add-on that is hindering your Firefox's normal behavior. Have you tried disabling all add-ons (just to check), to see if Firefox goes back to normal?
    Whenever you have a problem with Firefox, whatever it is, you should make sure it's not coming from one of your installed add-ons, be it an extension, a theme or a plugin. To do that easily and cleanly, run Firefox in [http://support.mozilla.com/en-US/kb/Safe+Mode safe mode] and select ''Disable all add-ons''. If the problem disappears, you know it's from an add-on. Disable them all in normal mode, and enable them one at a time until you find the source of the problem. See [http://support.mozilla.com/en-US/kb/Troubleshooting+extensions+and+themes this article] for information about troubleshooting extensions and theme. You can troubleshoot plugins the same way.
    If you want support for one of your add-ons, you'll need to contact its author.

  • Open Hub transporting problems

    Hi everybody, we have Open Hub transporting problems, it just gives us return code 12 or 8, basically, it doen't want to transport neither Open Hub Destination, nor Transformations, nor DTPs, and bear in mind that we're on the 15th Patch Level. We've looked at all the SAP Notes, but they reffer to the earlier patch levels...
    And other problem, is that it's OK in DEV system but in QUALITY system, when you launch a DTP it gives us a dumb with ASSIGN_TYPE_ERROR
    Any ideas??

    My destination path on the DEV box is simply the following (identified by BID in the following path):
          D:\usr\sap\BID\DVEBMGS00\work
    And when I locate the un-activated open hub on the QA box, the BID is already changed to BIQ, but the server name box/field is empty....
    I am going to try with the object changebility option, btw, is there any documentation on how to change these objects that are marked with object changebility on the QA box (provided that we can not manually change anything on the QA box)...
    Anyways, I think my problem is with the server name conversion from "abc-bi-dev" to "abc-bi-qa"....!!!
    Also, please note the RSBFILE entry for this object in the QA box has the "btcsrvname" as blank...
    Do you think there is any additional setting that needs to be done on the QA box to do this translation (from "abc-bi-dev" to "abc-bi-qa")?
    The only two setup we have done as far as the BI is concerned is at the "Tools-> Conversion of logical system name"....where you only put the conversion for client name mapping from dev to qa and local file system mapping from dev to qa.
    So, is there anything else to map the host name (from "abc-bi-dev" to "abc-bi-qa") either at BI perspective or Basis/NetWeaver perspective?
    Thanks a lot...
    ~Sabuj.
    Edited by: Sabuj Haque on Feb 1, 2009 1:11 PM
    Edited by: Sabuj Haque on Feb 1, 2009 5:34 PM

  • Can't open developer tools

    My MAC version is 10.7.5 Os Xo
    So they told me I gotta go into options > Keyboard > Advanced > and activate it, so I can open with a key
    Problem is I cant find  advanced there (My Mac is in Spanish... it's just not there even in spanish...
    Anyone know any way to open developer tools? I need it to track FPS inside a game so I know what's giving me lags, fps, server or latency
    Thanks.

    So they told me
    They?
    CLICKY CLICK---> 2.2.2. Install Xcode on OS X 10.7 Lion or OS X 10.8 Mountain Lion

Maybe you are looking for

  • Missing export data in R/3

    Hi, I haven't setup customs management (i.e. not setup for proforma transfers from ECC) to GTS. However, I get a message when creating billing document in ECC that missing export data even though billing doc is saved. Do I need to do any config in EC

  • Spry Collapsible Panel question

    I have a file online that uses a Spry collapsible panel.  It can be viewed here.  It works beautifully.  For one exception.  The logo is supposed to be up some 10 pixels or so.  The CollapsiblePanelTab is occupying the space. So I took the CSS for th

  • Radio Button Widget Highlight Options

    In Captivate 5.5, is it possible for the standard radio button widget (RadioButtons.swf) to not have a highlight color behind the text? I just want a transparent background with text so the master slide background shows. Adjusting the Alpha Channel o

  • Cannot Create PDF Files

    Hello, I am using Windows 2000 Server as a Terminal Server and have Acrobat 6.0.1 installed. When I try to print anything (even a test page and even while logged in as administrator) I get the following error: There was an error found when printing t

  • Scrambled display when I use the trackpad to scroll up and down in Safari

    Whenever I use two fingers to scroll up and down in Safari, the display gets scrambled. It gets worse, the faster I scroll. The nature of the distortion is that sections of the display are duplicated horizontally which "covers up" the section where t