Yoga 2 pro mode switching problem

there is problem on my yoga 2 pro. My yoga 2 pro should be in the laptop mode, but it changed to tablet mode suddenly and changed back to laptop mode after 5 seconds. This is not only the first time, it had happened about ten times since I bought it three month ago. so what's problem on my yoga 2 pro?

I realize that too today in the office. I changed to tablet then it change to tent then change back to tablet after 2 seconds. I am thinking there could be a "lag" for the laptop to detect the modes.
Just curious, were you in Laptop mode all the while the unintended change happen?
*Non Lenovo employee*
I have a Y2P (i5) ... Feel free to ping me if you want me to test some applications with your Y2P if you have the same model. I don't mind keep doing recovery on it if needed .... =)

Similar Messages

  • Mode switch problem: x-fi music extr

    I have this problem with my new music blaster x-fi music extreem sound card, and it's killing me! I'm trying to make som music of my own using various kinds of software, lately the demo version of adobe Audition .5. My problem is simple: I'm trying to hear one recorded track while recording a new track using my electric guitar plugged to line in. When I'm in audio creation mode, I can't hear the track, I recorded just before while I record a new track, and when I'm in entertainment mode, I hear the track all right, but I can't record any new track. Please help anyone!
    Bergy

    I know, LOL. I learned my lesson with with my A2. Bought the one without the dri've because was told could buy dri've deal later. Only place saw it for sale was on CL UK store and for an outrageous price compared to just buying the card with it included to start with. I went with the FPS this time and really do find the front bay deal handy. Now then, if you can confirm the regular A2 dri've will work, let me know. I actually bought one from someone who didnt use theirs to use with my A2 but upgraded to X-FI before I got around to installing it. Like I said tho you need to find out if it will even work and then if it will maybe I can help you out. Think the only thing I didnt get from him was the firewire cable if you wanted that. Anyway all moot till you find out anyway

  • AYUDA !! :( YOGA PRO 2 13" PROBLEMA CON RESOLUCION DE PANTALLA

    hola a todos , tengo un problema que me afecta cada vez mas , y no se como solucionarlo. no me abre correctamente las ventanas , hay aplicaciones que abre una ventana muy pequeña , intento hacerla grande , pero no me permite , intento cambiar la resolucion y tampoco se soluciona . hay foros y paginas de internet que me convierte la vista de la pagina como si fuera un smartphone (mobile) , en vez de  como  ordenador limitandome mucho su uso . por favor necesito una ayuda lo antes posible muchas gracias de antemano

    quizas no se aprecie en la foto , pero apenas se lee de lo pequeñisimo que es . con el explorercon chrome se ve a tamaño normal pero algunos foros se pone en vista de "MOBILE" y no se ve correctamente , aunque pincho continuamente "vista normal" se cambia y a los dos segundos se vuelve a poner en " vista MOBILE " .... es desesperante hay programas que abro y abre una ventana de 6 x 6 cm y no hay forma de cambiar el tamaño , he probado a cambiar resolucion , hacerlo con maquina virtual con w7 32 , etc.... pero nada  

  • Yoga 2 Pro Tent Mode/Mode Switch Issues

    Hi, I can't get my lenovo yoga 2 pro to go into tent mode. In fact, the screen won't even do a full 180 degree flip, but it will do a 90 degree flip to vertical (so I know the screen flip is working to a degree). Further, when switching to tablet mode, it says that it is in stand mode. Any thoughts? Thanks,Spencer

    i had this problem out of the box.  The sensor which tells the Yoga which mode it is in and which way up was not working properly so that the screen was at 90 degrees to the right way up and it said tent when in tablet; laptop in tablet etc.  Researched it and saw that someone had resolved it by installaing Windows updates - but couldnt get Windows Update to work - it either found no updates or failed on install. I found that I needed to install updated drivers from the Lenovo support site (not sure which one did it, but it included a BIOS update, display driver and others), which then allowed Windows update to work.  Installed all outstanding updates and it now senses correctly.

  • Trouble with Adobe Reader Touch on Lenovo Yoga Pro 2 in tablet mode. Pdf shows up as blank pages.

    I have a Lenovo Yoga Pro 2 and when I change it to tablet mode and use the Adobe Reader Touch app, my pdf shows up as a blank page. I have installed other pdfs in the past and those show up fine. However, as of three days ago, whatever pdf I install shows up as blank on my screen. Is there a solution to fix this?

    Could you please share your test file?
    You can send the file at [email protected]

  • Mode switch key mapping problem

    I searched a lot of wikis, forums but i didn't find out how to configure this.
    I'm using the romanian keyboard layout, configured like this in xorg.conf:
    Section "InputDevice"
    Identifier "Keyboard0"
    Driver "kbd"
    Option "XkbLayout" "ro"
    EndSection
    Alt_R / Alt Gr is by default mapped to switch modes. I managed to make the left Win Key change modes, by making a ~/.Xmodmap:
    keycode 115 = ISO_Level3_Shift
    Now both Alt_R and the left WinKey switch modes. I want to remove the mode switch from the right Alt, because i need it for other applications.
    I tried putting remove / clear keycode 113 in .Xmodmap but it didn't work.
    Also, why is arch/linux(?) using "ISO_Level3_Shift" instead of Mode_switch?
    this is my output from xev:
    for left winkey:
    KeyRelease event, serial 31, synthetic NO, window 0x2000001,
    root 0x155, subw 0x0, time 14283222, (43,85), root:(466,375),
    state 0x90, keycode 115 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 113
    XLookupString gives 0 bytes:
    XFilterEvent returns: False
    alt gr:
    KeyPress event, serial 31, synthetic NO, window 0x2000001,
    root 0x155, subw 0x0, time 14283906, (43,85), root:(466,375),
    state 0x10, keycode 113 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

    Solved it.
    I tried to add Option "XKbOption" "compose:lwin" in xorg.conf but it didn't work.
    Finally, I switched to US keyboard and defined the language specific characters using xmodmap. Could have done this in the first place but i thought there was a way to remove the Mode_switch from Alt Gr. It would have been more elegant.

  • X-Fi Mode Switching and XP File Permissi

    I have my file permissions locked down pretty tightly for all accounts except the Administrator. This is great for preventing major file system meltdowns whenever my wife picks up an email virus, but it can also make trouble now and then. The X-Fi appears to fall into the file restrictions trap.
    The card: XtremeMusic
    The issue: I cannot change the current mode unless I am running an account with unlimited write access to my hard dri've (in this case, my administrator account).
    I have determined this is a file permissions problem by creating an account which is part of the administrators group, but which has limited write access to the hard dri've. If it was a registry problem then this test account would switch modes no problem since it has the same access to the registry as any administrator. Additionally, if I give unlimited write access to any account which can't switch modes, it suddenly can switch modes no problem.
    I have tried making the Creative folder in 'Program Files' write accessible by all user accounts, but this does not do the trick. There are several Creative files within the 'Windows' folder, and I have a suspicion that I need to give write access to something here, but it is not immediately self evident.
    Does anyone know which files and folders specifically require write access for X-Fi mode switching to work? Is there any documentation about how mode switching is achieved (write a file, change a registry value, push data directly to the card)?
    Thanks.
    Drailex_Mauder

    pjt23,
    Funny you should mention that, I continued my search for the answer while waiting for potential replies, so I downloaded FileMon and picked away at the output. My discovery was useful.
    It seems that when modes are changed CTXFISPI.EXE reads and writes files in this directory:
    C:\Documents and Settings\All Users\Application Data\Creative\Spi\
    {00000005-00000000-00000007-000002-00000005-00202}\Modes
    If you think like me, you might have made the 'All Users' folder read only to prevent the technically inept members of your household from breaking things. Unfortunately, this prevents CTXFISPI.EXE from reading and writing the files it needs to change modes.
    To fix this scenario, you don't need to make the entire 'All Users' folder generally writable, you only need to make sure that the above 'Modes' subfolder is writeable by all users that need to change modes. Most likely, you will want to give either 'Everyone' or 'Authenticated Users' full access to this folder.
    If the reader doesn't know how to do this then it probably doesn't apply (since the file permissions should be set as their defaults), however, if you want to learn something new then I suggest you search "xp file permissions tutorial" on Google and do some reading.
    Of course, this information will only be relevant for Windows XP Pro users (and maybe Windows 2000, but I haven't confirmed). Sorry if you have XP Home, but setting file permissions is a real drag which requires you to boot into safe mode. It is highly unlikely that file permissions are your problem if you can't switch modes when using XP Home.
    The interesting part of all this is that it implies that there must be a way to invoke CTXFISPI.EXE to make mode changes. If we can determine how it works, then the community can work on third party apps which allow mode changes through scripts or a tray app menu.
    I'm going to spawn a new thread with this information to see if it goes anywhere.
    Drailex_Mauder

  • Yoga Pro 2 questions

    So I'm really interested in a Yoga Pro 2 (especially with the sale on at BB this week)...however, I have a couple questions about it:
    1)  I already know about the yellow problem - hoping it's resolved soon but its keeping me on the fence about this one vs. a Sony
    2)  The resolution has forced some apps to have extremely small text...from what I read it's mainly in "Desktop" mode.  Can someone confirm this ?  I haven't had much chance to use Windows 8 yet so haven't seen Desktop vs. Start mode compared.  In what instances would Desktop be used ?
    3)  I'm still not sure about the exposed keys - from what I read Lenovo has some sort of case or protective cover for the keys ?  Can someone send me a link ?  How well does it work ?
    Thanks!

    swallman wrote:
    So I'm really interested in a Yoga Pro 2 (especially with the sale on at BB this week)...however, I have a couple questions about it:
    1)  I already know about the yellow problem - hoping it's resolved soon but its keeping me on the fence about this one vs. a Sony
    2)  The resolution has forced some apps to have extremely small text...from what I read it's mainly in "Desktop" mode.  Can someone confirm this ?  I haven't had much chance to use Windows 8 yet so haven't seen Desktop vs. Start mode compared.  In what instances would Desktop be used ?
    3)  I'm still not sure about the exposed keys - from what I read Lenovo has some sort of case or protective cover for the keys ?  Can someone send me a link ?  How well does it work ?
    Thanks!
    1. can mostly be worked around with the Energy Manager software. Even with that, the yellow is not perfect, but the issue has been massively overblown in my opinion. You'll have to see it for yourself and decide. It's a non-issue for me, personally.
    2. Yeah, they high res does reult in small fonts in some legacy apps. Probably poorly written ones for the most part. But it's a small minority of apps. I haven't run into any major problems, but where this happens, the touch screen is useless with those apps. you really need a mouse. I expect this will become less and less a problem as more high dpi laptops become mainstream and apps take this into account.
    3. The case is here: http://shop.lenovo.com/SEUILibrary/controller/e/web/LenovoPortal/en_US/catalog.workflow:item.detail?...
    I just received mine this morning. It's decent. Snugly fits the whole machine as a carrying case, or slips more loosely over the keyboard section when you're using it in the non-laptop modes. Haven't had a chance to use it much but it seems like it will be fine. There are cutouts for most of the ports, so things are mainly still accessible with the case on.

  • MSI PRO MOD Online Competition

    The MSI PRO MOD online competition STARTS NOW!
    It is your chance to show your professionalism to the world and get the grand prizes.
    To enter the competition, please follow steps below –
    ***Steps & Rules***
    ▪ Register an account on MSI Forum. (Existing Forum account holder can skip this step).
    ▪ Submit your worklog(s): User Reviews & Modding by JUN 30. 2015 PM11:59 (GMT +8).
    ▪ Upload the following in your worklog:
       1. Create a new topic and name the subject with 【MSI PRO MOD】in front of your mod entry title.
           Ex: 【MSI PRO MOD】Blood Dragon
       2. Hardware spec of your mod. (model name of MSI motherboard & graphics card must be highlighted.)
       3. Description/concept of your mod entry.
       4. Post (1) or more pictures of all the components you will be using in your mod (make sure all components are
           recognizable).
       5. Provide a full worklog with process images and description.
       6. 5 or more pictures of your FINAL mod entry (preferably W600 x H400 pixels in .jpg file format) including 1 highlight
           MSI motherboard & graphics card (name specified).
    ▪ Update and complete your worklog by JUN 30. 2015 PM11:59 (GMT +8).
    ▪ Before the submission deadline - You MUST finish your mod.
    ▪ Once you finish the mod, please reply the following message here by June 30. 2015 PM11:59 (GMT +8).
       ▪ MOD entry title
       ▪ Linking of your worklog
    *Entries that did not satisfy all rules stated on this page will be automatically disqualified.
    ***Duration***
    APR 9 AM10:00 - JUN 30, 2015 PM11:59 (GMT + 8)
    ***Notice***
    1. The motherboard and graphics card assembled in your mod MUST be MSI brand.
    2. The photos you upload must be high resolution (larger than 1MB per photo).
    ***Evaluation/Winning Criteria***
    Stage 1:
    JUL 1 - 3, 2015
    Scored by official judges of MSI & Sponsor Partners 
    ▪35% Creativity
    ▪35% Overall design
    ▪30% Technique
    The best 10 finalists will enter the stage 2 scoring process.
    Stage 2
    JUL 10 - 23, 2015
    ▪70% Score of stage 1
    ▪30% Vote (by the fans of MSI Global Fan Page)
    The 1st / 2nd / 3rd place will get the Grand Prizes.
    ***Prize***
    1st Place (Prize Value $800)
    ▪Motherboard: MSI X99A SLI KRAIT EDITION
    ▪Case: Thermaltake V51
    ▪Power: Thermaltake Toughpower DPS G 1050W
    ▪Cooling System: Thermaltake AIO LCS Water 3.0 Extreme S
    2nd Place (Prize Value $350)
    ▪Memory: Kingston HyperX FURY Memory Black - 16GB Kit* (4x4GB) - DDR4 2666MHz CL15 DIMM
    ▪SSD: Kingston HyperX FURY SSD/120GB
    3rd Place (Prize Value $250)
    ▪Keyboard: Tt eSPORTS POSEIDON ZX (Brown Switch Edition)
    ▪Mouse: Tt eSPORTS VENTUS
    ▪Headset: Tt eSPORTS VERTO
    Special Thanks for: Kingston Taiwan, Kingston APAC, HyperX, Thermaltake Technology Inc, TteSports
    *** Competition Terms and Conditions***
    ▪Contestants must agree to the terms & conditions to enter the competition.
    ▪Multiple entries by each individual is accepted.
    ▪Any copyright infringement or piracy is absolutely forbidden. Your designs should be just that – your own case mod and case mod images!
    ▪Winners will be announced online and contacted via phone and/or email.
    ▪MSI may use your mod images with or without any pseudo (pen) name credit.
    ▪MSI has the right to use your mod images and is perpetual. We may use your mod images locally, nationally or globally and such use may be made in any media, information or communication platform currently in use or later developed.
    ▪Usage or reprint of your mod images will be at sole discretion of MSI and the sponsors of this event without compensation.
    ▪MSI reserves the right in its sole discretion to alter competition rules at any time.
    ▪Contestants who do not agree to the above terms and conditions should not enter this competition.
    ▪By participating, you conclusively agree to be bounded by these competition rules and conditions. This is an irrevocable condition of entry.

    Dear all,
    So far, we have some great submissions, please take a look via below link:
    【MSI PRO MOD】"KRAIT EDITION" By MathMilitaryModding
    https://forum-en.msi.com/index.php?topic=254726.0
    【MSI PRO MOD】"Like Bruce Wayne" by FrostMod
    https://forum-en.msi.com/index.php?topic=254716.0
    【MSI PRO MOD】Xpower loader
    https://forum-en.msi.com/index.php?topic=254815.0
    【MSI PRO MOD】Antec P380 CeBIT 2015 demo system
    https://forum-en.msi.com/index.php?topic=254841.0
    【MSI PRO MOD】 "Silverstone" by BlackKeys
    https://forum-en.msi.com/index.php?topic=254955.0
    【MSI PRO MOD】 AT DOOM'S GATE
    https://forum-en.msi.com/index.php?topic=255601.0
    【MSI PRO MOD】IRON MAIDEN bY Mario Viana (2XHAF XB)
    https://forum-en.msi.com/index.php?topic=255280.0
    【MSI PRO MOD】Back to the Modh
    https://forum-en.msi.com/index.php?topic=255293.0
    【MSI PRO MOD】MSI artifact easyfix&warboy
    https://forum-en.msi.com/index.php?topic=255312.0
    【MSI PRO MOD】 ENT - by BaluC  New
    https://forum-en.msi.com/index.php?topic=255504.0
    【MSI PRO MOD】 Hulk XPower
    https://forum-en.msi.com/index.php?topic=255577.0
    【MSI PRO MOD】Buyangyang by Arcis Modz
    https://forum-en.msi.com/index.php?topic=256176.0
    【MSI PRO MOD】Nocturnal Hunter by RandomDesign
    https://forum-en.msi.com/index.php?topic=256350.0
    【MSI PRO MOD】 Tri-MAX!
    https://forum-en.msi.com/index.php?topic=256427.0
    【MSI PRO MOD】Prodigy RMK-02 by: WestSideCaseMods
    https://forum-en.msi.com/index.php?topic=256546.0
    [MSI PRO MOD] 浴血龍魂
    https://forum-en.msi.com/index.php?topic=256642.0

  • Yoga Pro 3 - Wifi dropped connections; refuses to reconnect

    First day of owning my Yoga Pro 3. Has anyone experienced intermittent wifi failures?
    I've had trouble on both access points that I have at home. One is an older 802.11b router (set to channel 1), and other a D-Link815 dual-band bgn router (with the 2.4Ghz radio set to channel 11). 
    I've experienced problems using both routers on either channel and when using the 5Ghz spectrum as well.
    Connectivity with either access point lasts from 5 mins to 30+ mins (in limited time I had available to use it so far).
    Far more frustrating is that when dropped, the YP3 refuses to reconnect. Manually selecting the access point in the network connections charm and clicking "Connect" results in failed attempts at connecting and system will refuse to connect to any Access Point for a random amount of time. At one point I had attempted to reconnect about 20+ times before it did reconnect.
    Obviously, tried rebooting without any change in behavior.
    I uninstalled the Broadcom wireless driver (the system the auto-installed a Microsoft driver which, from the version number, appeared to be an older version of the same Broadcom driver as they used a very similar numbering scheme and were very close). No change. I reverted that change.
    Are there known issues with these wifi cards/drivers accessing open wifi connections? I live in the middle of no-where, so have had no compelling reason to secure the access points.
    What else should I try?
    Thanks

    My WiFi connects fine @ 2.4 GHz only Access Point (netgear wnr2000 v2) 4 rooms away (~ 35 feet and my Linksys router is on the same room as me so I get 866.5 Mbps all the time), giving me fluctuating connection speed from 243 to 300 Mbps. I generally don't use the 2.4 GHz band but I occasionally try it to check for stability. It's working fine but there's too much 2.4 GHz clients in our area so I use 5 GHz for Netflix, Hulu steaming where low latency stability is needed.
    Definitely try reseating the antenna so you can rule that out. If you still can't connect @ 2.4 GHz, try other 2.4 Ghz access points or it's just that you get a defectve Broadcom 4352 card or it might be even Windows 8.1 drivers itself.
    Lenovo Y470: i7-2670QM | 8 GB DDR3 1333 MHz RAM | Nvidia GeForce GT 550M | 500 GB 7200 RPM Seagate HDD | ASUS PCE-AC56 802.11ac Network Adapter | Windows 7 Professional 64-bit

  • 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.

  • Ready to install fresh win 8.1 on new Yoga Pro 2

    So, I just got my yoga pro 2 Friday. Can't stand the extra stuff and 7 particians. 
    I've got a usb stick with a copy of win 8.1 on it. I can boot to it and get the windows installer started ( I stopped at the partiican table)
    I got the drivers folder from the D: on the yoga backed up.
    Got my win 8.1 pro product key written down.
    Don't think I will need any of the lenovo apps.
    Nothing else I need, right?  I did actually make a system image of the fresh install on another external drive when I got it, so if i did need to go back, I can.
    The windows installer will take care of all partiicans, correct? I'm new to EUFI boot.  I can see that legacy mode is disabled in the bios now.
    Thanks for any help. Looking forward to a clean install.  Wish I could have gotten this from a MIcrosoft store instead so I don't have to deal with it.
    Solved!
    Go to Solution.

    seems you're already ready.

  • Third Party X-Fi Mode Switching Softw

    I recently ran across an issue which is documented in this thread:
    http://forums.creative.com/creativelabs/board/message?board.id=soundblaster&message.id=53809
    What I found out raised an interesting possibility: it should fairly easy to make software to switch modes with X-Fi sound cards. The community only needs to work together to make some third party software to get the job done.
    When modes are switched for the X-Fi, the following folder is utilized (on XP, at any rate):
    C:\Documents and Settings\All Users\Application Data\Creative\Spi\
    {00000005-00000000-00000007-000002-00000005-00202}\Modes
    The files which are involved are named as such:
    CTXFICMu.ini
    CTXFICMu.rfx
    CTXFIEMu.ini
    CTXFIEMu.rfx
    CTXFIGMu.ini
    CTXFIGMu.rfx
    The two 'CTXFICMu' files correspond to Audio Creation Mode, while the 'CTXFIEMu' files match Entertainment Mode and the 'CTXFIGMu' files match Game Mode.
    The *.ini files are text files containing mixer information for each mode, and the *.rfx files are binary files. I suspect the *.rfx files may be related to the programmable nature of the audio chip, but I haven't messed around with them too much since it is outside the scope of my abilities.
    The CTXFISPI.EXE process is making the reads and writes to these files, which seems to indicate that it does the dirty work when it comes to changing the modes of the card.
    If the community can determine how to encourage CTXFISPI.EXE to switch modes (or if Creative decides to be forthcoming with the details), then third party apps can be developed to make the switch easier (tray app menu), faster (no animations), more efficient, and seamless (a scriptable method for changing modes would be great!).
    Additionally, it shouldn't be too hard to make software which allows for per user mixer settings with the X-Fi. It is only a matter of switching in a particular user's *.ini and *.rfx files to the Modes directory before CTXFISPI.EXE loads them at log in, and then saving the same files again at log off.
    So, I have a request for Creative: would you please release some documentation about how to switch modes programmatically or even from the command line?
    I'm also throwing out this challenge to the community: if Creative is unable or unwilling to release the information needed, then let's get under the hood of the X-Fi and decode mode switching ourselves. If someone can expose how mode switching works, then I would be more than happy to whip up an interface for it.
    Drailex_Mauder

    I have created a quick fix for the lack of mode switching options currently available. I would like to program something more feature rich in C, but for now VBScript is better than nothing. If we don't get a leg up from Creative, it may be a while as I will have to look into reverse engineering the software. This would require learning some new skills on my part.
    These scripts work by loading the Creative Audio Console and pushing the appropriate keystrokes to change the mode. It is a dirty way to get the job done, but until more is known about how to change modes through CTXFISPI.EXE these scripts will have to do.
    I am releasing these scripts under a BSD licence, which appears at the end of this message. Kinda silly for such small blocks of code, but it's there more to cover my assets with the legal disclaimer than anything else.
    Copy each block of code into a separate text file and make sure that the file name ends in a VBS extension. Any up to date 2000 or XP machine should run these scripts no problem. I have placed shortcuts to the scripts in my Quick Launch Toolbar so that I can quickly change modes.
    You could also add them to a script which switches to game mode, runs your game, and then switches back to entertainment mode.
    VERY IMPORTANT: The Creative Audio Console must not be running when you run one of these scripts, otherwise the script will randomly change your settings.
    And once again, if anyone can assist in determining how to coax CTXFISPI.EXE into switching modes, this will take things a long way to creating 3rd party mode switching software which meets the goals of my original post in this thread.
    ----- Start Of "Entertainment Mode.vbs" -----
    Option Explicit
    Dim WshShell
    Set WshShell = CreateObject("WScript.Shell" )
    ' Start up the Audio Console
    WshShell.CurrentDirectory = "C:\Program Files\Creative\AudioCS"
    WshShell.Run("CTAudCS.exe" )
    ' On slower machines the Sleep value may need to be increased.
    WScript.Sleep(500)
    ' Send the keystrokes to change the mode
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{RIGHT}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{UP}" )
    WshShell.SendKeys("{UP}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{ENTER}" )
    WScript.Quit(0)
    ----- End Of "Entertainment Mode.vbs" -----
    ----- Start Of "Game Mode.vbs" -----
    Option Explicit
    Dim WshShell
    Set WshShell = CreateObject("WScript.Shell" )
    ' Start up the Audio Console
    WshShell.CurrentDirectory = "C:\Program Files\Creative\AudioCS"
    WshShell.Run("CTAudCS.exe" )
    ' On slower machines the Sleep value may need to be increased.
    WScript.Sleep(500)
    ' Send the keystrokes to change the mode
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{RIGHT}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{UP}" )
    WshShell.SendKeys("{UP}" )
    WshShell.SendKeys("{DOWN}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{ENTER}" )
    WScript.Quit(0)
    ----- End Of "Game Mode.vbs" -----
    ----- Start Of "Audio Creation Mode.vbs" -----
    Option Explicit
    Dim WshShell
    Set WshShell = CreateObject("WScript.Shell" )
    ' Start up the Audio Console
    WshShell.CurrentDirectory = "C:\Program Files\Creative\AudioCS"
    WshShell.Run("CTAudCS.exe" )
    ' On slower machines the Sleep value may need to be increased.
    WScript.Sleep(500)
    ' Send the keystrokes to change the mode
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{RIGHT}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{UP}" )
    WshShell.SendKeys("{UP}" )
    WshShell.SendKeys("{DOWN}" )
    WshShell.SendKeys("{DOWN}" )
    WshShell.SendKeys("{TAB}" )
    WshShell.SendKeys("{ENTER}" )
    WScript.Quit(0)
    ----- End Of "Audio Creation Mode.vbs" -----
    * Copyright (c) 2006 Breen Ouellette
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions are met:
    * . Redistributions of source code must retain the above copyright notice,
    * this list of conditions, and the following disclaimer.
    * 2. Redistributions in binary form must reproduce the above copyright notice,
    * this list of conditions, and the following disclaimer in the documentation
    * and/or other materials provided with the distribution.
    * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
    * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
    * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
    * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
    * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
    * THIS SOFTWARE, EVEN IF IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.Message Edited by Drailex_Mauder on 03-4-20060:35 PM
    Message Edited by Drailex_Mauder on 03-4-20060:56 PM

  • Yoga Pro 2 - Display not recognized in windows (Driver or Hardware issue?)

    Out of warranty by a month!
    Yoga Pro 2 - 256gb, installed new wireless card a month ago. Windows 8.1
    The touchscreen still works while the screen is black.
    System restarted after sleep mode I think.
    The Lenovo logo is displayed, seems to load windows, but when windows loads (I don't see it load so this is an assumption) the screen blanks and the black light is on.
    I can connect an external monintor which will connect after a return from sleep mode(odd). Which then turns the backlight off.
    When on the external monitor the internal display is not even recognized by windows.
    When I boot in safe mode, the internal screen works fine with of course limited capability.
    I have reloaded display drivers from the support site.
    Right now my internal monitor is not recognized by windows and is dark, and I can use an external monitor.
    Anyone have any clues as to what my be going on? Hardware, driver etc???
    What information can I provide?
    Solved!
    Go to Solution.

    This is a pretty weird issue with conflicting observations.
    1) Screen works in Safe Mode but not in regular boot. (So, not hardware issue)
    2) Display works on external monitor in regular mode. (So, not drivers issue)
    Did you install the wireless card yourself? Did you unplug the display cable while installing the card?
    Could you re-open and check that all connections are good?
    Is the Wi-Fi card working well?
    I would also recommend a complete reset of the laptop to eliminate the possibility that this is a corrupt driver. You can use the NOVO button to reset your laptop. Make sure to make a backup on external drive for your personal files.
    Current System - Lenovo Y510P, GT755M SLI, 8GB RAM, 1TB HDD + 24GB SSD
    When your plans fail, your Real Story begins!!

  • Titanium Fatal1ty Pro SPDIF game problem

    (Titanium Fatalty Pro SPDIF game problem hi all,
    sorry if this issue reported in the past i but i could not get any answer on any relati've posts, the terminology was so complicated
    i buy?a new pc with a Titanium Fatalty Pro sound card, i use Vista sp2 x64, the sound card is connected to my external amplifier with SPDIF out in order to get surround sound for my movies and my games and here is my problem
    any movies format with surround sound play perfect with out any problem any kind of movie DVD, dvix, mkv?files?etc
    but non of the games i play?use the surround system, why is that? is any?kind of special settings needed to be done? how is possible to get surround to movies and not to the games?
    thanks you all for your time ?

    ,Re: Titanium Fatalty Pro SPDIF game problem? this is really coincidence - I just posted on the very same topic 5 minutes ago.
    for games just go to the Console Entertainment mode > Encoder > Dolby Digital. Although this is not documented I believe what happens is that the sound card encodes the 6 digital channels onto Dolby Digital mode and transfers this over SPDIF. Kok-Choy actually recommend using the standard analogue cables (and he has a point as you are actually upcoding an existing game signal onto Dolby so that your digital receiver can then decode this down to 6 channels - seems a pretty useless overhead)
    for video - I am curious to know what you do - I can either get 96/24 bits on the display of my z5500 with a direct signal but the z5500 receiver then tells me that this signal is only in dolby ProLogic II (and not DD or DTS). As alternati've I use again the encoder and have to select for EACH FILM WHAT IS BEST DOLBY DIGITAL OR DTS. Pls explain what settings you use.
    thanks

Maybe you are looking for

  • Error while explicit creating relation object

    Hello all ... i am using forms6i i.e. 'Forms [32 Bit] Version 6.0.8.8.0 (Production)' on Windows NT. it is not such a big problem, but ofcource affecting work. i am modifying a form that has a master block and five child blocks, while i am trying to

  • Differences between Roles, Schemas, Users and Logins.

    I need differences between Roles, Schemas, Users and Logins. Can anyone help me. Thanks in advance

  • Flash 8 Installed but not working

    I have two "administrator" level users on an Win XP sp2 machine. I upgraded to Flash 8.0.24.0 under user one and it works fine. When I log on to the user two and access a site with a flash movie it displays the icon telling me I must update to the ne

  • Importing from CD freezes program/comp close to always...

    My program freezes at import either randomly within song list, or almost always right before the last song. Frustrating. I have read previous posts and tried all the things I could try to rectify the problem... including dumping program and reloading

  • Mkv Files

    Hiya I have Creative Zen MX I have MKV files! Do i have to convert it to some other file before putting on my Zen? and if so any info / advice please THANKYOU :smileyvery-happy: