<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ionut Nica &#187; Desktops and Laptops</title>
	<atom:link href="http://www.rivnet.ro/category/desktops-and-laptops/feed" rel="self" type="application/rss+xml" />
	<link>http://www.rivnet.ro</link>
	<description>Windows, Scripting, Virtualization, Cloud Computing - tricks for getting around in the world of Technology</description>
	<lastBuildDate>Tue, 31 Jan 2012 12:10:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How to use KMS server across Active Directory Forests</title>
		<link>http://www.rivnet.ro/2011/08/how-to-use-kms-server-across-active-directory-forests.html</link>
		<comments>http://www.rivnet.ro/2011/08/how-to-use-kms-server-across-active-directory-forests.html#comments</comments>
		<pubDate>Wed, 31 Aug 2011 16:57:25 +0000</pubDate>
		<dc:creator>Ionut Nica</dc:creator>
				<category><![CDATA[Desktops and Laptops]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[KMS cross forest]]></category>
		<category><![CDATA[KMS DNS Record]]></category>
		<category><![CDATA[KMS Host]]></category>

		<guid isPermaLink="false">http://www.rivnet.ro/?p=527</guid>
		<description><![CDATA[Recently I made a slight career change and also with it came a small challenge. We were given 2 Active Directory Forests, one was actively being used and the other one had very few users, but was going to get much larger very quick. People were also deploying Windows 7, Windows 2008 R2 and Office [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I made a slight career change and also with it came a small challenge. We were given 2 Active Directory Forests, one was actively being used and the other one had very few users, but was going to get much larger very quick. People were also deploying Windows 7, Windows 2008 R2 and Office 2010. All of these products canuse KMS license keys, which basically means you have one Key Management Service Server in your organization to which all Windows and other MS products refer to for validating their license periodically. That server must have a valid Windows License, which gets activated to the Internet, then you just enable that server as a KMS host Server. Enough with the background, you can read more about deploying a KMS server <a href="http://technet.microsoft.com/en-us/library/dd772269.aspx" target="_blank">here</a>.</p>
<p>Now back to the problem at hand. Since the 2 organizations to whom the 2 forests belonged to had pretty loose security requirements, we wanted to save us the hassle of creating and managing a second KMS server, and just using the KMS server we had available. KMS is also not so restrictive when it comes to accepting license validation requests.</p>
<p>KMS clients have 2 ways in which they determine where the KMS service is located (i will use contoso.com as the &#8220;main&#8221; forest for this example):</p>
<ul>
<li><strong>Specify it m</strong><strong>anually using a built in windows command line script</strong>. For example to specify the kms.contoso.com server for a machine just run from administrator command prompt this command:</li>
</ul>
<pre class="brush: powershell; title: ; notranslate">cscript %windir%\system32\slmgr.vbs /skms kms.contoso.com:1688</pre>
<ul>
<li>Windows uses DNS to determine the KMS servers (pretty much like Windows does to determine which servers offer AD Authentication). When KMS host is installed in creates an SRV record in the DNS in _.tcp.contoso.com. This record looks like this:</li>
</ul>
<p style="padding-left: 60px;">ServiceName: _vlmcs</p>
<p style="padding-left: 60px;">Port: 1688 (default)</p>
<p style="padding-left: 60px;">Host offering the service: kms.contoso.com</p>
<p style="padding-left: 60px;">The Final srv record looks like this: _vlmcs._tcp.contoso.com</p>
<p>As you can see there is not so much rocket science in the way a KMS host is published in DNS. Also there is no requirement that the computer trying to validate a license against KMS be joined to a domain. All the computer needs does is a srv DNS query to determine where the KMS licensing host is. Based on this information it talks to KMS and validates the licenses.</p>
<p>So to make sure computers in forest <strong>rivnet.org</strong>, for example, can find KMS in DNS do following:</p>
<p>1. Create a new A Record for the IP address of the KMS server kms.contoso.com, in rivnet.org DNS, for example <strong>kms.rivnet.org</strong></p>
<p>2. Create a new SRV Type record in _tcp.rivnet.org DNS, with following details</p>
<p style="padding-left: 30px;">ServiceName: _vlmcs</p>
<p style="padding-left: 30px;">Port: 1688 (default)</p>
<p style="padding-left: 30px;">Host offering the service: kms.rivnet.org</p>
<p>The Final srv record looks like this: _vlmcs._tcp.rivnet.org</p>
<p>You can do all this by using dnscmd (available in Windows7/2008) run this command:</p>
<pre class="brush: powershell; title: ; notranslate">dnscmd &lt;DNSServerName&gt; /RecordAdd &lt;ZoneName&gt; _vlmcs._tcp.&lt;ForestName&gt; SRV 0 100 1688</pre>
<p>3. Test from a client computer that the SRV record is available in DNS, by running this on a command prompt:</p>
<pre class="brush: powershell; title: ; notranslate">nslookup -type=srv _vlmcs._tcp.rivnet.org</pre>
<p>You should get an output that points to the DNS record you created in step 1.</p>
<p>4. Test the client computer can validate his license to the KMS host by running this command from an elevated command prompt:</p>
<pre class="brush: powershell; title: ; notranslate">cscript %windir%\system32\slmgr.vbs /ato

cscript %windir%\system32\slmgr.vbs /dli</pre>
<p>There should be a line like this:</p>
<p style="padding-left: 30px;"><em>KMS machine name from DNS: kms.rivnet.org:1688</em></p>
<p>And that&#8217;s it with using KMS from any other forest in your own AD. In short:</p>
<p>1. Add Host record for KMS host</p>
<p>2. Add SRV record for KMS host</p>
<p>3. Attempt activation, verify activation was done using KMS host.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.rivnet.ro%2F2011%2F08%2Fhow-to-use-kms-server-across-active-directory-forests.html&amp;title=How%20to%20use%20KMS%20server%20across%20Active%20Directory%20Forests" id="wpa2a_2"><img src="http://www.rivnet.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.rivnet.ro/2011/08/how-to-use-kms-server-across-active-directory-forests.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix High Hardware Interrupts on HP Probook 6540b</title>
		<link>http://www.rivnet.ro/2010/05/fix-high-hardware-intrerupts-on-hp-probook-6540b.html</link>
		<comments>http://www.rivnet.ro/2010/05/fix-high-hardware-intrerupts-on-hp-probook-6540b.html#comments</comments>
		<pubDate>Thu, 27 May 2010 18:57:58 +0000</pubDate>
		<dc:creator>Ionut Nica</dc:creator>
				<category><![CDATA[Desktops and Laptops]]></category>
		<category><![CDATA[Drivers]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Windows XP]]></category>
		<category><![CDATA[driver hacking]]></category>
		<category><![CDATA[Hp Probook]]></category>
		<category><![CDATA[Storage Drivers]]></category>

		<guid isPermaLink="false">http://www.rivnet.ro/?p=401</guid>
		<description><![CDATA[A few days back I discovered an &#8220;issue&#8221; with new installation of Windows XP on HP Probook 6540b laptops (have read reports on the internet about 6440b behaving the same). What I noticed is that after installing all the drivers from the HP website, computer appeared sluggish, especially disk operations, opening task manager was a [...]]]></description>
			<content:encoded><![CDATA[<p>A few days back I discovered an &#8220;issue&#8221; with new installation of Windows XP on HP Probook 6540b laptops (have read reports on the internet about 6440b behaving the same). What I noticed is that after installing all the drivers from the HP website, computer appeared sluggish, especially disk operations, opening task manager was a 5 second task. The solution to this problem was to obtain the latest disk controller drivers from the Intel Website and then install a specific controller type, instead of letting Windows choose automatically. But first, time for this small disclaimer:</p>
<p><span style="text-decoration: underline;"><em><strong>The steps below should be attempted after you have backed up your Windows installation and/or relevant documents, please do not attempt this procedure before doing a backup of your system. Double, triple, quadruple check that the problems I am describing here exactly match your hardware, software and symptoms observed. This procedure can damage your operating system, possibly even the hardware, this post comes with no warranties, it is not supported by HP, Intel or any other vendor as far as I know. Also this post is valid at the time of writing, new fixed drivers may appears by the time you are reading this, making it obsolete.<br />
</strong></em></span></p>
<h3>Symptoms and Conditions</h3>
<ul>
<li>Sluggish Disk performance</li>
<li>Sluggish computer performance when doing disk based operations</li>
<li>BIOS is configured to use IDE mode not AHCI mode for SATA disks (you configured for IDE because AHCI was not working)</li>
<li>Device Manager is showing a primary IDE channel device configured for PIO mode only &#8211; you cannot select UDMA mode</li>
<li>Using SysInternals Process Explorer reveals 25% CPU is  Hardware Interrupts when accessing disk continuously (on an i5 cpu that is 1 core&#8230;spread over all 4  cores). Interrupts usage goes down when disk is idle.</li>
<li>Your storage controllers are detected as:
<ul>
<li>&#8220;Intel(R) 5 Series/3400 Series Chipset Family 2 port Serial ATA  Storage Controller&#8221;</li>
<li>&#8220;Intel(R) 5  Series/3400 Series Chipset Family 4 port Serial ATA  Storage Controller&#8221;</li>
</ul>
</li>
<li>The Storage Controllers detected above have Hardware ID&#8217;s:
<ul>
<li>PCI\VEN_8086&amp;DEV_<strong>3B2D</strong></li>
<li>PCI\VEN_8086&amp;DEV_<strong>3B2E</strong></li>
</ul>
</li>
</ul>
<h3>Trials and Errors</h3>
<p>As you can see starting from the High Hardware interrupts up to device  being put into PIO mode, it is clear that there is some driver issue  somewhere. What you can try and watch it fail:</p>
<ul>
<li>Delete disk controller devices then use scan for hardware changes so windows will reinstall drivers. After reboot you will see the problem still exists.</li>
<li>Delete disk controller devices then download latest Intel <a href="http://downloadcenter.intel.com/Detail_Desc.aspx?ProductID=2101&amp;DwnldID=18860&amp;lang=eng&amp;iid=dc_rss" target="_blank">drivers</a>, automatically choose which driver to install. After reboot you will see no changes, same device will be detected, same drivers installed.</li>
<li>Reinstall OS re-add drivers one by one, you will have the same problem.</li>
</ul>
<h3>The solution</h3>
<p>You need to manually select a device driver to install from the <a href="http://downloadcenter.intel.com/Detail_Desc.aspx?ProductID=2101&amp;DwnldID=18860&amp;lang=eng&amp;iid=dc_rss" target="_blank">driver</a> package for Intel&#8217;s Rapid Storage Technology (I think the former name for these drivers, in general, was Matrix Storage Manager). The problem is that the drivers that come with Windows can only use PIO Mode, and the driver package from Intel does not contain the Hardware ID&#8217;s you found above. The drivers do work, to get them to work you have to either:</p>
<ol>
<li>Manually install drivers selecting a specific device driver to install</li>
<li>Hack the driver files so they include your device ID&#8217;s (&#8220;hardcore&#8221;  option, try #1 before you go there <img src='http://www.rivnet.ro/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</li>
</ol>
<h3>Option 1 &#8211; Do a manual driver install</h3>
<p>This works mostly after you installed the operating system. here&#8217;s what you need to do exactly:</p>
<ul>
<li><strong>Download </strong>the driver package</li>
<li>Using Device Manager <strong>delete storage controllers</strong> from the laptop</li>
<li>In Device Manager click &#8220;<strong>Scan for hardware changes</strong>&#8220;, the New Hardware Wizard appears</li>
<li>Choose <strong>don&#8217;t search Windows Update</strong></li>
<li>Next choose &#8220;<strong>Install from specific location</strong>&#8220;</li>
<li>Next choose &#8220;<strong>Don&#8217;t search I will choose driver to install</strong>&#8220;</li>
<li>On the next screen <strong>click on &#8220;have disk&#8221; </strong>and point it to the <strong>location of the extracted driver files</strong>. <strong>Click OK </strong>to close driver <strong>selection</strong>. List will be populated with a bunch of devices</li>
<li>From the devices list select &#8220;<em><span style="text-decoration: underline;"><strong>Intel(R) 5 Series 6 Port SATA AHCI Controller</strong></span></em>&#8220;</li>
<li><strong>Click OK </strong>and correct drivers should install now. If you are asked to reboot, choose OK</li>
<li>After the reboot go into the <strong>BIOS, change SATA mode to AHCI.</strong> If you keep SATA mode to IDE your XP install will BSOD (the reason is you added SATA drivers to XP, and the controller talks IDE, if left unconfigured)</li>
<li>Now you should see that your <strong>devices are installed correctly </strong>and you have no more hardware interrupts. Also the Disk Controllers section in Device Manager looks different, fewer devices left there.</li>
</ul>
<h3>Option 2 &#8211; Hack the Driver files</h3>
<p>This option is useful if you want to make a driver package for an unattended installation or just want to have a set of drivers that will work &#8220;out of the box&#8221;. What we will do in short is <em>add a few lines of code to the files in the driver package, pointing the Hardware ID&#8217;s to the </em>&#8220;<em><span style="text-decoration: underline;"><strong>Intel(R) 5 Series 6 Port SATA AHCI Controller</strong></span></em>&#8221; we manually installed with Option 1. Here&#8217;s how to do it:</p>
<ul>
<li>Extract drivers to a folder, you should have these files inside among some other txt&#8217;s:
<ul>
<li>iaAHCI.cat,iaAHCI.inf,iaStor.cat,iaStor.inf,IaStor.sys,TXTSETUP.OEM</li>
</ul>
</li>
<li><strong>Open iaAHCI.inf file </strong>for editing and search at the end of the file for the &#8220;strings&#8221; section. Look for the string<em> &#8220;PCI\VEN_8086&amp;DEV_3B2F&amp;CC_0106.DeviceDesc</em>&#8221; which matches to the Intel 5 series 6 port controller . As you can see after the DEV_ follows &#8220;3B2F&#8221;, pretty similar to our Hardware ID&#8217;s:
<ul>
<li>PCI\VEN_8086&amp;DEV_3B2D</li>
<li>PCI\VEN_8086&amp;DEV_3B2E</li>
</ul>
</li>
<li>Before the DEV_3B2F line create 2 new lines where you duplicate the DEV_3B2F line, BUT you replace 3B2F with the last 4 characters from the other device ID&#8217;s (one line will have 3B2D the other 3B2E). The point is to have the Hardware ID&#8217;s of your controller point to the correct driver name.</li>
<li>Now we have to track any place in the document where &#8220;3B2F&#8221; appears and add the same text for Hardware ID&#8217;s 3B2F and 3B2E. The section you are looking for to add lines are in &#8220;<strong>[INTEL_HDC.ntx86]</strong>&#8220;, there is a line containing 3b2f, add 1 line for each Hardware ID.</li>
<li><strong>Save iaAHCI.inf and close it</strong></li>
<li>Update Disk Controller drivers by <strong>pointing Windows hardware wizard to your modifed .inf file<br />
</strong></li>
</ul>
<p>With this inf file Windows should be able to install the driver it needs without you having to select which driver to install from the list. The logic is that now Windows knows where to find the correct drivers, because the Hacked Intel Driver contains the device ID&#8217;s Windows is looking for.</p>
<h3>Option 2+, unattended installs</h3>
<p>This next section is about changing the TXTSETUP.OEM so you can do  unattended installations using this hacked INF file. You can follow the Intel guide to injecting drivers for &#8220;F6 Install&#8221;, but you need to change the TXTSETUP.OEM file that comes with this package. Do following:</p>
<ul>
<li><strong>From the driver package Open TXTSETUP.OEM </strong>for editing.</li>
<li>In the iaAHCI.inf section look for the &#8220;Intel(R) 5 Series 6 Port SATA AHCI Controller&#8221;. To the left of that string is the text &#8220;iaAHCI_5_1&#8243;.</li>
<li>Do a search for the string &#8220;iaAHCI_5_1&#8243; in the document, you should find a section called &#8220;[HardwareIds.scsi.iaAHCI_5_1]&#8220;.</li>
<li>When found copy it and the line after it ( looks like &#8220;id = &#8220;PCI\VEN_8086&amp;DEV_3B2F&amp;CC_0106&#8243;,&#8221;iaStor&#8221;") 2 times. The 2 copies you can change instead of being 3B2F to 3B2D and 3B2E respectively.</li>
<li>In the end you should have 3 &#8220;hardwareIDs&#8221; sections, 1 with 3B2F, the original and the other 2 Hardware ID&#8217;s you need.</li>
<li>Save and close TXTSETUP.OEM.</li>
<li>Follow Intel&#8217;s &#8220;F6 install&#8221; procedure to deploy Windows XP using these modified files (all the files in the package + modded iaAHCI.inf and TXTSETUP.OEM)</li>
<li>You must configure BIOS to use AHCI mode, drives will not work with IDE mode (didn&#8217;t for me)</li>
</ul>
<p>Phew, this was a long and &#8220;hard&#8221; post. I hope the general idea is clear:</p>
<p>For installing from windows just make sure to select the controller I mentioned (the 6 port device) when doing the complete manual install.</p>
<p>For the hacked inf and OEM files double check and triple check the changes you are making. the point is to add the HW ID&#8217;s to the INF file, so it will install the drivers the same way as for the Hardware ID ending with 3B2F.</p>
<p>My best guess is that this mess-up is due to some slightly different versions or ID&#8217;s being stamped erroneous onto the controllers when they were shipped. I hope this was helpful, please report back any mistakes you notice.</p>
<p><a class="a2a_dd a2a_target addtoany_share_save" href="http://www.addtoany.com/share_save#url=http%3A%2F%2Fwww.rivnet.ro%2F2010%2F05%2Ffix-high-hardware-intrerupts-on-hp-probook-6540b.html&amp;title=Fix%20High%20Hardware%20Interrupts%20on%20HP%20Probook%206540b" id="wpa2a_4"><img src="http://www.rivnet.ro/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.rivnet.ro/2010/05/fix-high-hardware-intrerupts-on-hp-probook-6540b.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

