I have an Asus X54H-SX137D laptop, with a K54L mainboard, which supports UEFI booting (AMI Aptio 4.5). I was using BIOS mode, and all functions were working well.

In order to reap the benefits of a modern firmware environment, I installed (not factory preinstalled) and am running Windows 8 Pro x64 in UEFI mode, on the disk partitioned GPT. As a result, the boot speed increased significantly. However, an annoying bug popped up.

With this setup, the laptop cannot sleep. When I close the lid, or give the command to sleep, it just switches off the screen, and continues remaining on, with no disk interaction. To regain use of the computer, the only thing that works is to hard-power-off the laptop, power on again, hard-power-off again, then put it on. Just once won't do.

I know of DUET, which can run a full UEFI implementation completely in BIOS. What I am looking at, is a more partial approach: Is it possible to install a UEFI patch, which checks for and patches ONLY identified faulty functionality? Or perhaps choose which UEFI functions to implement, using well known BIOS methods?

Basically, I am asking if its possible to cover up holes in the hardware UEFI implementation, by running BIOS software that emulates the UEFI functions that are missing. Since my laptop works perfectly well in BIOS mode, it should be possible to just pick up some boot-time drivers, which might be part of a linux preinstallation environment, and make it available as a function to the OS as a part of UEFI.

I have the latest firmware update and the latest drivers, unless these drivers that would help me are not available in the ASUS site, as well as Windows update.

Edit: Integrated edits, it also turns out that Fedora wasn't installing due to my incompetence, it later installed just fine and it running great, except that this sleep problem persists there too, as expected.

  • 1
    Did the laptop come with Win8 preinstalled? Do you have the latest BIOS/UEFI update installed? Do you have all the latest Win8 drivers installed? You're asking if it's possible to patch bugs. Even if it is (don't see why not), are you capable of doing so by sufficiently reverse engineering the BIOS/UEFI? Or are you asking if such model-specific patches are already available for your system? – Karan Jun 15 '13 at 18:07
  • @Karan : Reverse Engineering is not exactly on my mind. Even model-specific patches aren't. See my edit for clarification. Thanks. – Milind R Jun 15 '13 at 19:13
  • The laptop came with Windows 7. So unmentioned in the OP is that the comparison is being actually made between "preinstalled windows on bios" and "vanilla windows on uefi". Putting aside W7 can boot uefi just as well (and just as fast, considering a laptop of its era is unlikely to support disabling CSM, ie old bios code, so any speed improvement is probably just the freshness of the system) barring any hard W8 incompatibility, my educate guess is that you just miss the ATKACPI driver. – mirh Sep 10 '18 at 10:01

Although "micro-patches" as you suggest are theoretically possible, I don't know of any that actually exist. Unless you want to create your own firmware (say, based on CoreBoot), you're pretty much restricted to using what the hardware manufacturer provides.

  • Can I not use rEFInd/rEFIt as a host environment for such micro-patches, in conjunction with a reference implementation of that particular UEFI function? – Milind R Jun 17 '13 at 16:38
  • If the micro-patch were written as a driver or EFI application, then yes. The problem is that the micro-patches do not exist (at least, not as far as I know). You'd need to write such tools yourself, and that's much easier said than done. – Rod Smith Jun 17 '13 at 22:01
  • Oh ok. Is there some EFI application that can tell me which essential/required UEFI functions are not available? Basically a full compliance checker. – Milind R Jun 18 '13 at 11:04
  • Also, if functionality such as that required for sleeping, is not implemented through drivers, then what IS it implemented as? Some resources explaining this aspect would be helpful. – Milind R Jun 18 '13 at 11:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.