Monday 19 August 2013

eVc I2C PWM controller

I recently received an exciting package in the mail, Jon Elmor Sandstrom sent me his latest creation, eVc. eVc is a USB connected I2C controller, capable of interfacing directly with PWM controllers that support I2C. In short this device gives the ability to change a number of PWM settings on the fly. This can help to push insane overclockers and troubleshoot problems with motherboards and graphics cards.

I have taken a closer look at eVc with a Gigabyte 7790 OC card, first with ambient air cooling and then with -40 degree Celsius on my single stage cooler.

The video below goes into detailing explaining how eVc works with a little demonstration of the clocks gained by a combination of extra voltage, load line and subzero cooling.

I am really looking forward to seeing how the future of this device pans out.


Wednesday 14 August 2013

James Trevaskis and G.Skill break the memory frequency world record with 4404 MHz

Since the launch of Z87 and Haswell there has been a big focus on memory clocking. We first saw memory frequency taken past the 4000 MHz mark by Gigabyte pre-launch. The record then bounced back and forward between Gigabyte, ASROCK and ASUS over the the last few months.

I decided to give the record a crack with the petite ASUS Maximus 6 Impact board and GSKILL 3000 MHz MFR kit and came up with some good numbers


Setup
ASUS Maximus 6 Impact
GSKILL 3000 MHz TridentX
Intel 4770K CPU
Corsair AX1200
Kingpincooling ram heatspreaders from Ney Pro and custom dominance copper pot
Liquid Nitrogen Cooling

The end result was a validated clock of 4404 MHz, smashing the current world record by over 100 MHz. Normally ram world records are decided by 5-10 MHz so this was a big achievement by the pint sized Impact.


Most overclocking records are respected within the OC community but ignored in the wider tech community, however this record gained widespread attention from the tech world. Here is a link to the ASUS ROG post about the record http://rog.asus.com/258552013/overclocking/4404mhz-ddr3-world-record/

Furthermore I was able to run SuperPI 1M, a very light stability test, past the current world record at around ~4300MHz.

Below are links to some of the Tech media that covered the record.
http://hexus.net/tech/news/ram/58797-gskill-reclaims-worlds-fastest-ddr3-memory-title-44ghz/
http://techgage.com/news/teamaus-youngpro-achieves-crazy-ddr3-4400-overclock-with-g-skill-tridentx-memory/
http://benchmarkreviews.com/3822/g-skill-tridentx-ddr3-overclocked-by-youngpro-to-4400mhz-with-ln2/
http://www.legitreviews.com/g-skill-tridentx-ddr3-memory-reaches-4400mhz-new-world-record_15854

Friday 2 August 2013

Windows 8 networks drives not mapping via logon script with UAC enabled

Many enterprises attempting to tackle Windows 8 may find themselves in the same predicament we did, whereby existing logon scripts fail to map network drives when UAC is enabled. Unfortunately this isn't as simple to fix as it was in Windows 8, well that isn't strictly true, it is easy to fix by disabling UAC, but you introduce another problem, metro apps no longer work.

For those uninitiated, metro apps require UAC enabled to work, and in most circumstances UAC breaks drive mappings.

The root cause of this problem is that drive mappings are occurring in the under the wrong permission token.

When UAC is enabled, metro apps work, but drives are mapped with the privileged token, so you can't see them under windows explorer but if you open a command prompt as administrator you will be able to access those mapped drives.

When UAC is disabled, metro apps don't work, drives are still mapped with the privileged token but windows explorer is also started with the privileged token, so the mapping are visible.

The trick is being able to leave UAC enabled so metro apps work, but still mapping the network drives in the non-privileged context so they appear in explorer. Chances are if you have a complex logon script with HKCU registry edits, you probably want some of your logon script to run as privileged user (registry) and some as non-privileged user (drive mappings).

We tested a number of solutions that all had some downfalls:

  • Disabling UAC and forfeiting the use of metro apps
  • Playing around with different combinations of UAC group policy options
  • Using the EnableLUA registry setting
None of the above could deliver mapped drives and working metro apps, however there is a solution.



The Solution

We use Kixtart scripting internally, so ideally we would like to keep these scripts when moving to Windows 8. I stumbled upon a function called RunAsInteractiveUser that was designed for Vista and Windows 7. The RunAsInteractiveUser function leverages windows task schedulers ability to run a task as the interactive user, therefor inheriting the unprivileged token if UAC is enabled.

This function allows programs to be launched as the non-privileged user when being launched from a privileged process on a system where UAC is enabled. 

We did a simple modification to our Kixtart script, when a Windows 8 system launches the logon script, the drive mapping section is ignored but is spawned with the non-privileged account. The code goes something like this.

;**** Windows 8 override/skips
if instr(@producttype,"Windows 8")
 ;if UAC is specified, only remap drives, skip rest of script
  if ($input = "uac")
    goto remap
  endif
  $RC=RunAsInteractiveUser("\\contoso.info\dfs\scripts\logon\logonuac.cmd", "", "c:\windows\temp\",1)
  ;exit
endif
We then use a batch file called logonuac.cmd to relaunch the logon script with a $input=uac argument, when this argument is specified the script only remaps the network drives and ignores the rest of the script.

1. GPO triggers user logon script with privileged token.
2. Logon script runs, if Windows 8 is detected it performs all actions with privileged token but skips drive mappings. The logon script is then relaunched with the $script=uac argument under the non-privileged token.
3. Logon script detects $script=uac and only maps network drives. After network drives are mapped, the logon script exits.

If you wanted to simplify you could move the drive mappings out of the main logon script into a separate script and use code something like.
if instr(@producttype,"Windows 8")
  $RC=RunAsInteractiveUser("\\contoso.info\scripts\logon\logonuac.cmd", ", "c:\windows\temp\",1)
else
    RUN '"\\contoso.info\scripts\logon\logonuac.cmd"
endif


This would map drives under Windows 8 systems with the privileged token and everything else as normal.

We spent days on this problem, hopefully this solution saves you time.

Alternatively if you are not running Kixtart and don't want to, you can look at the LaunchApp workaround script. You could also do something as simple as moving the logon script away from GPO and running it as a scheduled task on the local machine running as interactive user, this should also work.