6 Replies Latest reply on Sep 4, 2011 11:10 AM by Ultraboss

    DP55WB: EFI + Win 7 x64: desktop utilities and BIOS updates fail


      I have a DP55WB in UEFI boot mode + Windows 7 x64 OS.

      I already had noticed that the BIOS updates (which claim to be Win 7 x64 compatible) do not work.

      But for these updates there are alternatives, so not a big issue.


      Now Intel has released the Desktop Utilites, also claimed to be Win 7 x64 compatible.

      These utilities also fail. After some research I found that they fail in a similar way as the BIOS updates do.


      Both the BIOS updates and the Desktop Utilities have a variety of "handlers" to access the different BIOSes (for different types of boards / flash chips) and OSes (x86 and x64), such as EBIOS32.SYS, FLEXBIOS.SYS, FLEXBIOS64.SYS, INVOKER,SYS, INVOKER64.SYS, VARIABLE64.SYS etc. The utiltities query the system type and then (should) use the right interface for the system at hand.


      In my case the board is in EFI mode, so the BIOS should be accessed through an EFI interface (instead of some chip specific direct i/o driver), and in the correct bitness (64-bit in my case).


      For the BIOS updates this should be INVOKER64.SYS (the 64-bit EFI invoker). But instead, the BIOS updater installs EBIOS32.SYS, which is a non-EFI 32-bit driver, which of course fails horribly (it cannot possibly load on a 64-bit OS). The BIOS updater displays an error, and leaves the *incorrect* EBIOS32 driver installed, causing Windows to log an error at every boot, because it fails to load the driver. So not only does the updater not work, it leaves garbage behind that clutters the Windows logs forever.


      For the Desktop Utilities, Intel invented VARIABLE64.SYS as its interface to EFI. In itself the driver is the correct one (EFI-mode, 64-bit), except that it does not work! The first EFI invocation makes the Desktop Utilities service (IDUSERV.EXE) crash, and the GUI will show blank data only. Restarting the service works, and the GUI will show stuff like temperatures, voltages, etc. These temperatures, voltages and alike come from the SMBus driver, which functions properly. But as soon as the GUI is put on a page that contains information about the BIOS (such as its version number), the service has to invoke an EFI call, and it crashes again.


      My conclusion is that none of the BIOS related utilities work if the board is put in EFI mode, because the interface drivers are utterly broken.