<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx</link><description>I've been self hosting Vista on my laptop since sometime in January. Every Monday morning, without fail, I installed the latest build available from the "main" windows branch, and tried it. There have been good builds and bad builds - the first few were</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631452</link><pubDate>Thu, 15 Jun 2006 00:54:54 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631452</guid><dc:creator>Joku</dc:creator><description>Not really related in any way, but I quickly tried 5381 before 5384 (beta 2) and in my laptop the 5381 for reasons unknown felt faster and didn't seem to have some of the nasty issues present in B2 which I am running now. I've disabled Indexing and UAP but still 5381 felt faster. But since I have no data to back this up I just might be hallucinating. &lt;br&gt;&lt;br&gt;Looking at the performance events is also tough since the if one place causes disk trashing then it'll affect dozen other things and the log shows as if everyone of those services or drivers were stalling.&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631479</link><pubDate>Thu, 15 Jun 2006 01:16:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631479</guid><dc:creator>Drew</dc:creator><description>This sounds like a job for Drew in the past!&lt;br&gt;&lt;br&gt;It's not so hard to make that fix and re-sign everything with your test cert. As long as the test root certificate is installed on your box everything will work.&lt;br&gt;&lt;br&gt;For that matter the driver wasn't loading because it doesn't have a signature.&lt;br&gt;&lt;br&gt;This might help:&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/64bitDriverSigning.doc"&gt;http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/64bitDriverSigning.doc&lt;/a&gt;&lt;br&gt;&lt;br&gt;Anyone outside Microsoft can go buy a certificate as explained in the doc and make your scenario work.&lt;br&gt;&lt;br&gt;I guess with all the time spent externally evangelizing the driver changes in Vista there wasn't enough attention paid to internal developers. :-(&lt;br&gt;&lt;br&gt;My job here is done. Back to being Drew in the present . . .</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631492</link><pubDate>Thu, 15 Jun 2006 01:23:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631492</guid><dc:creator>Matthew W. Jackson</dc:creator><description>Why not support driver compatability workarounds like you do for applications? &amp;nbsp;Just have a compatability setting that essentially states &amp;quot;for driver X, override setting Y in the INF.&amp;quot;&lt;br&gt;&lt;br&gt;So, in the case of this modem driver, disallow the use of &amp;quot;StartType=0&amp;quot;.&lt;br&gt;&lt;br&gt;I don't think you will violate any copyright laws by chaning the way you interpret a data file. Otherwise every new version of a compiler could technically be illegal.&lt;br&gt;&lt;br&gt;Oh, an please tell me this sort of thing would not happen today, and would have been detected by the WHQL process. &amp;nbsp;I'd like to think that certification does serve a purpose.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631495</link><pubDate>Thu, 15 Jun 2006 01:24:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631495</guid><dc:creator>LarryOsterman</dc:creator><description>Unfortunately this is a 32bit platform and the problem isn't that the driver isn't signed. &amp;nbsp;I wish it was, that would make it &amp;quot;easy&amp;quot;.&lt;br&gt;&lt;br&gt;We don't know what's wrong with the driver, and making it a critical boot driver makes it essentially undebuggable (the kernel debugger doesn't work on critical boot driver errors).&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631541</link><pubDate>Thu, 15 Jun 2006 02:06:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631541</guid><dc:creator>baljemmett</dc:creator><description>Presumably there's something different between the environment Vista is presenting to the driver and that presented by the version of Windows it was originally released for? &amp;nbsp;Or have the StartType codes changed at some point since it was written?&lt;br&gt;&lt;br&gt;Either way, I guess it's one of those issues where a 3rd party does something bone-headed and whatever you do, MS get to take the blame :| &amp;nbsp;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631679</link><pubDate>Thu, 15 Jun 2006 04:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631679</guid><dc:creator>Norman Diamond</dc:creator><description>&amp;gt; If you go to msdn and look up DDInstall.Services, you get&lt;br&gt;&amp;gt; this page.&lt;br&gt;&lt;br&gt;You linked to&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devinst_r/hh/DevInst_r/inf-format_d402e9dc-1a6f-423c-b80e-43dd5779b4cc.xml.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devinst_r/hh/DevInst_r/inf-format_d402e9dc-1a6f-423c-b80e-43dd5779b4cc.xml.asp&lt;/a&gt;&lt;br&gt;&lt;br&gt;You need to link to&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/DevInst_r/hh/DevInst_r/inf-format_10bcb43e-0799-4dff-981f-2d8c4bf8f835.xml.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/DevInst_r/hh/DevInst_r/inf-format_10bcb43e-0799-4dff-981f-2d8c4bf8f835.xml.asp&lt;/a&gt;&lt;br&gt;&lt;br&gt;And this was a lucky day because &amp;quot;sync toc&amp;quot; worked.&lt;br&gt;&lt;br&gt;If you agree with customers that MSDN's table of contents could be improved, perhaps you could suggest that to the maker?&lt;br&gt;&lt;br&gt;Meanwhile I'll bet you could fix the inf file yourself. &amp;nbsp;If the driver works when loading on demand, then you'll still be able to use it. &amp;nbsp;Even cargo cult inf file editing persons have been known to accomplish such feats.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631728</link><pubDate>Thu, 15 Jun 2006 04:41:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631728</guid><dc:creator>Drew</dc:creator><description>Running on a chk build may give you clues about why the driver isn't loading.&lt;br&gt;&lt;br&gt;I have no idea why it would be boot start.&lt;br&gt;&lt;br&gt;I thought all boot start drivers needed signatures regardless of architecture. Maybe the design has changed (again), though. &lt;br&gt;&lt;br&gt;And I realized that I was spreading a piece of bad info in my last comment. I forgot that CI doesn't actually use the cert stores. And they may be planning to remove CI's approving of test-signed code by RTM. I have no idea where the final decision on that fell.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631736</link><pubDate>Thu, 15 Jun 2006 04:49:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631736</guid><dc:creator>Drew</dc:creator><description>Or then again maybe you should ignore what I said about a chk build. I just re-read what you said about the debugger. The kd won't do anything? Crazy. I'd hope that there's a log somewhere . . .</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631795</link><pubDate>Thu, 15 Jun 2006 06:18:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631795</guid><dc:creator>JeffCurless</dc:creator><description>Why can't the kernel debugger work? &amp;nbsp;I haven't debugged critical boot time drivers, as I work on drivers that load a lot later. &amp;nbsp;Of course... you could have always changed the .inf to have the driver start later, rebuilt the install image, and debugged the driver that way. &amp;nbsp;Note, I'm not saying to release it that way. &amp;nbsp;Of course, that debugging would just be for your information, but it might be interesting and point to a bug in windows.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631805</link><pubDate>Thu, 15 Jun 2006 06:37:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631805</guid><dc:creator>dispensa</dc:creator><description>Um, not to ask the obvious question, but why don't you change the start type?</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631814</link><pubDate>Thu, 15 Jun 2006 06:58:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631814</guid><dc:creator>Manip</dc:creator><description>Doesn't Windows allow you to patch stuff on load? Thus, couldn't you patch the INF file as it is read without modifying the original file? &lt;br&gt;&lt;br&gt;[Note: I don't actually know anything about how Windows Patches files for compatibility] </description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631818</link><pubDate>Thu, 15 Jun 2006 07:02:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631818</guid><dc:creator>GavinPearcey</dc:creator><description>He could change it for his single install, but that's not the point. &lt;br&gt;&lt;br&gt;The point is that the OEM provided INF sets the start type incorrectly, and Microsoft cannot change it, because they don't own the driver. &amp;nbsp;The problem comes in including this driver with Vista, as it will cause this same problem if you happen to own that particular device.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#631892</link><pubDate>Thu, 15 Jun 2006 08:28:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:631892</guid><dc:creator>LarryOsterman</dc:creator><description>Baljemmet, something changed, we don't know what. &amp;nbsp;The starttypes haven't changed since long before NT 3.1 shipped.&lt;br&gt;&lt;br&gt;Jeff: Why can't it be debugged? Because the kernel debugger is loaded after the critical drivers are loaded, it can't be used to debug them (at least I can't, others might be able to) :(&lt;br&gt;&lt;br&gt;Dispensa, we can't change the start type because it's not our driver. &amp;nbsp;Maybe it really DOES need to be a critical driver for some reason we're not aware of. &amp;nbsp;And I can't change the start type after the fact because I can't boot the OS to change the start type because a critical driver isn't loading (Catch 22).&lt;br&gt;&lt;br&gt;And Manip, we don't do that appcompat stuff for drivers (as far as I know, I'm not a driver guru). &amp;nbsp;And the IHV owns their INF file, we don't. &amp;nbsp;What happens if we decide to unilaterally change their INF file and we break stuff by doing it? &amp;nbsp;The IHV has told us that the're not supporting this device any more, and the OEM has explictly removed my laptop from their list of supported machines (for ANY operating system), so there's not much we can do about it at this point.&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#632069</link><pubDate>Thu, 15 Jun 2006 13:38:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632069</guid><dc:creator>Jonathan</dc:creator><description>The solution for the catch-22 is, of course, boot another OS and change the seting from outside. Having just installed Vista, I noticed you can boot from the CD, choose recovery something and get a command prompt. From there, you could mount HKLM of the borked OS, and changre the start type in the registry.&lt;br&gt;&lt;br&gt;Not a long-term solution though..&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#632071</link><pubDate>Thu, 15 Jun 2006 13:43:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632071</guid><dc:creator>Adam</dc:creator><description>Just wondering - how old is the laptop? And could you at please tell us who the vendor is so the rest of us can try to use an alternate vendor if we are planning on buying kit that we intend to use for more than X years? (Where X is the age of your laptop)&lt;br&gt;&lt;br&gt;It's not libel if it's true.&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#632142</link><pubDate>Thu, 15 Jun 2006 15:36:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632142</guid><dc:creator>Jeff Parker</dc:creator><description>You know this line might be there and be as a critical driver being the age of it and everything. But I seem to remember something in NT 4 where there was an option at first login to log in through VPN or dial up or something like that. If this driver wasn't loaded then you could not authenticate. I might be off here I am going strictly from memory on an old NT 4 setup I had once.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#632147</link><pubDate>Thu, 15 Jun 2006 15:40:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632147</guid><dc:creator>James Summerlin</dc:creator><description>I'd like to point out that most of you really haven't answered Larry's question yet. &amp;nbsp;&lt;br&gt;&lt;br&gt;Larry,&lt;br&gt;I think Microsoft has done about all it can do. &amp;nbsp;While I am all for the &amp;quot;Raymond Chen&amp;quot; way of doing things were Microsoft goes out of its way to make things work despite how incredibly crappy that stuff may be, sooner or later we must face the fact that the third party guys have to get on board. &amp;nbsp;&lt;br&gt;&lt;br&gt;In other words, Microsoft can't do it all (despite coming very close).&lt;br&gt;&lt;br&gt;Document the issue so that customers can easily find out what's going on via Google or MSN search and move on.&lt;br&gt;&lt;br&gt;James</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#632212</link><pubDate>Thu, 15 Jun 2006 16:39:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632212</guid><dc:creator>LarryOsterman</dc:creator><description>Jeff, the OS doesn't get that far in booting - this failure occurs BEFORE ntoskrnl.exe is loaded.&lt;br&gt;&lt;br&gt;Jonathan, if I had access to a Vista DVD, I think I could fix it with emergency repair mode, but unfortunately, I don't.&lt;br&gt;&lt;br&gt;Adam, I can't tell you which laptop it is, because I don't know if the place where I got the information from is company confidential (that's why I obscured all the info in the post).&lt;br&gt;&lt;br&gt;What I will say is that it's a 3 year old laptop, it's long out of warranty, and it technically doesn't even come close to meeting Vista's hardware requirements (although it runs Vista just fine for me).&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#632802</link><pubDate>Fri, 16 Jun 2006 00:09:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:632802</guid><dc:creator>Andy C</dc:creator><description>My guess is cargo cult programming. A system which required the modem drier before the kernel loaded would be a pretty messed up design, IMO.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#633397</link><pubDate>Fri, 16 Jun 2006 02:50:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:633397</guid><dc:creator>Steve Hiner</dc:creator><description>Then Vista's &amp;quot;Requirements&amp;quot; really are requirements are they? &amp;nbsp;Maybe the requirements need to be made more realistic.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#633497</link><pubDate>Fri, 16 Jun 2006 03:39:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:633497</guid><dc:creator>Norman Diamond</dc:creator><description>Last I saw, in a Windows\Inf directory, every INF file other than those starting with OEMnn were provided by Microsoft on Microsoft's Windows CD, and they SAID that they were provided by Microsoft.&lt;br&gt;&lt;br&gt;Microsoft can't change the StartType line in an INF file provided by Microsoft because an OEM vendor owns an INF file provided by Microsoft?&lt;br&gt;&lt;br&gt;In old days, one could build a modified Windows CD containing a modified INF file and use that to do an install. &amp;nbsp;In Vista it's more troublesome to build an image containing a modified INF file, but somewhere I read about some company that does rebuild images and test them on occasion.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#633662</link><pubDate>Fri, 16 Jun 2006 05:52:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:633662</guid><dc:creator>Cheong</dc:creator><description>Perhep talking with the driver owner and ask them if they wish to include the driver in the default driver set of Vista? So people don't need to install the driver from disk, and the fixed default version will &amp;quot;just work&amp;quot;?&lt;br&gt;&lt;br&gt;Honestly, if I own a piece of old hardware on the system I'm installing Vista, and found Vista automatically recognize it, I wouldn't bother to reinstall the driver from the old driver disk, especially when the old driver is not &amp;quot;made for Vista&amp;quot;.&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#633770</link><pubDate>Fri, 16 Jun 2006 09:14:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:633770</guid><dc:creator>nksingh</dc:creator><description>From casual reading of the NTDEV mailing list at osronline (where many driver-writers seem to go), it seems like the whole field of creating/editing INF files is just cargo-cult scripting. &amp;nbsp;There was even talk of replacing INF with some XML-based configuration system, but driver-writers have been tweaking these files for so long that they just don't want to throw them away.&lt;br&gt;&lt;br&gt;Based on that list, it seems like a lot of kernel-mode driver programming involves taking a sample and just modding it to work with one's device. &amp;nbsp;The world will be a better place when everyone's writing user-mode drivers and MSFT is the only one mucking about in the kernel.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#633796</link><pubDate>Fri, 16 Jun 2006 10:23:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:633796</guid><dc:creator>Manip</dc:creator><description>*cough* Dell Lattitude C610 *cough* ;-) </description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#633927</link><pubDate>Fri, 16 Jun 2006 13:39:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:633927</guid><dc:creator>makomk</dc:creator><description>Heh - this is, of course, part of the reason sensible Linux users avoid closed-source drivers (the other reasons being an unwillingess &amp;nbsp;to maintain a stable ABI and a semi-religious devotion to OSS). Unfortunately, were Linux to catch on in any big way, you'd probably end up with users installing badly-written binary-only drivers left, right and center, just like they do with unsigned Windows drivers today, and with exactly the same results.&lt;br&gt;&lt;br&gt;To be honest, I don't think there's any real solution to the problem of bad drivers. It's slightly odd, though, that Windows driver development would suffer so much from cargo cult development and Linux driver development doesn't seem to that often (even though the documentation is often sparse and driver writers have full access to the source of the kernel and lots of other drivers). Perhaps it's just less noticable because they use more suitable drivers as a base...</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#634094</link><pubDate>Fri, 16 Jun 2006 17:09:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:634094</guid><dc:creator>vince</dc:creator><description>Your operating system is only as strong as its weakest link. &amp;nbsp;In this case it's an outside vendor. &amp;nbsp;Having your OS dependent on outside forces, especially ones that are probably going for quick-and-easy rather than correct can always cause problems, no matter what the development model is.&lt;br&gt;&lt;br&gt;So in this case having the source code could have helped. &amp;nbsp;It wouldnt have necessarily had to have been open source though.. MS could have required the sourc be kept in escrow for just such an eventuality. &amp;nbsp;Or they could have a team that would review INF files before certifying a driver. &amp;nbsp;There are many ways this could have been avoided, but as you said it's pretty much too late to do anything about it now.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#634110</link><pubDate>Fri, 16 Jun 2006 17:28:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:634110</guid><dc:creator>LarryOsterman</dc:creator><description>Manip, not that one :) &amp;nbsp;It turns out that there are at least two other laptop models from different OEMs with the same problem (another reason I didn't mention it).&lt;br&gt;&lt;br&gt;Cheong, I believe that we asked them and they weren't interested in supporting that chipset on Vista (reading between the lines in some emails).&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#635221</link><pubDate>Sat, 17 Jun 2006 16:49:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:635221</guid><dc:creator>Anonymous Kernel Hacker</dc:creator><description>&amp;gt; the OS doesn't get that far in booting -&lt;br&gt;&amp;gt; this failure occurs BEFORE ntoskrnl.exe is loaded. &lt;br&gt;&lt;br&gt;I doubt it.&lt;br&gt;&lt;br&gt;ntldr loads ntoskrnl, HAL, and all the boot start drivers into memory, and then transfers control to ntoskrnl. &amp;nbsp;ntoskrnl is responsible for initializing the drivers (e.g. calling DriverEntry, doing the PNP dance, etc.). &amp;nbsp;It is impossible for a driver to fail before ntoskrnl is loaded.&lt;br&gt;&lt;br&gt;Also... &amp;nbsp;ntoskrnl initializes the kernel debugger VERY early in the boot processs. &amp;nbsp;You absolutely can debug boot start drivers -- I've done it many times.&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#635743</link><pubDate>Sun, 18 Jun 2006 05:40:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:635743</guid><dc:creator>Craig Matthews</dc:creator><description>&amp;quot;So in this case, the authors of the modem driver decided that their driver was a boot time critical driver - which, as the documentation clearly states is only intended for drivers required to load the operating system.&amp;quot;&lt;br&gt;&lt;br&gt;That's not accurate.&lt;br&gt;&lt;br&gt;&amp;quot;0x0 (SERVICE_BOOT_START) &lt;br&gt;Indicates a driver started by the operating system loader. &lt;br&gt;This value must be used for drivers of devices required for loading the operating system. &amp;quot;&lt;br&gt;&lt;br&gt;The documentation clearly states that drivers that are required for loading the operating system must use this startype. &amp;nbsp;It does NOT at ALL, let alone clearly or ambiguously, say that it is ONLY for drivers that are required for the loading of the operating system.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#635808</link><pubDate>Sun, 18 Jun 2006 07:25:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:635808</guid><dc:creator>Daniel Garlans</dc:creator><description>Why wouldn't the company want to make such a minor change to support that hardware? Is it because they're excruciatingly lazy, or because they think that if they make it work, they're going to get support calls in the future from people trying to find out what's up with potential bugs in the driver?&lt;br&gt;&lt;br&gt;I just hate to see old (But, evidently, perfectly servicable) hardware go to waste because hardware vendors decide not to update their drivers anymore... </description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#637434</link><pubDate>Mon, 19 Jun 2006 23:48:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:637434</guid><dc:creator>Dan McCarty</dc:creator><description>Ugh...not sure why anyone would *want* to run Vista on a Latitude C-series...it's best to leave them chugging away on 2K/XP, which they do quite happily with RAM upgrades.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#644365</link><pubDate>Fri, 23 Jun 2006 18:36:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:644365</guid><dc:creator>Casual Observer</dc:creator><description>I know it's not really the point, but wouldn't disabling the modem through BIOS prevent the driver from wanting to load in the first place?&lt;br&gt;&lt;br&gt;(Yeah, I'm kind of assuming you don't need it..)</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#645658</link><pubDate>Sat, 24 Jun 2006 14:09:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:645658</guid><dc:creator>Nar</dc:creator><description>&amp;gt;Please note: This is NOT an invitation for a &amp;quot;If only the drivers were open source,&lt;br&gt;&amp;gt;then you could just fix it&amp;quot; discussion in the comments thread. &amp;nbsp;The vendor&lt;br&gt;&amp;gt;for the modem driver owns the rights to their driver, they get to choose&lt;br&gt;&amp;gt;whether or not they want to support it, not Microsoft.&lt;br&gt;&lt;br&gt;Thinking forward, I'd hope that MS would have just a little bit more control over the code that they ship with Vista.&lt;br&gt;&lt;br&gt;If you don't have the source, you can't do a thorough code review and make any worthwhile claims about stability or security. At least some user-space drivers limit their capability for damage to their domains, which is bad enough.&lt;br&gt;&lt;br&gt;If you don't have permission to maintain the drivers, then you've given IHVs control over Vista's market. One person's aging laptop is another computer that won't be getting Vista, whether MS wanted to sell another copy or not.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#652903</link><pubDate>Sat, 01 Jul 2006 03:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:652903</guid><dc:creator>Mike</dc:creator><description>I hope this thread isn't closed yet, 'cause Larry is so wrong it's not even funny!&lt;br&gt;&lt;br&gt;Larry claimed to Jeff &amp;quot;this failure occurs BEFORE ntoskrnl.exe is loaded&amp;quot;. Uhuh, sure Larry, sure.&lt;br&gt;&lt;br&gt;Let's get our facts traight, shall we?&lt;br&gt;&lt;br&gt;The (specific/specified) HAL and (again, specific/specified) kernel (be it NTOSKRNL.EXE, *PA, or some other) &amp;nbsp;are loaded by the OS loader, basically as a pair. They have circular dependencies, which is wicked, but it's solved by the fact they are loaded as a pair, and both PE's imports are resolved before anything fails. We can for all intents and purposes treat them as one unit from now on, and they ARE loaded.&lt;br&gt;&lt;br&gt;All BOOT drivers are ALSO loaded into memory before the kernel even gets a chance to run a single byte of code. Failing to even load one of these drivers is obviously a catastrophical error, and prevents system boot.&lt;br&gt;&lt;br&gt;But to in this context claim that a BOOT-tagged driver is loaded (and somehow fails to execute) before ntoskrnl is even LOADED, is at best a misunderstanding.</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#656682</link><pubDate>Wed, 05 Jul 2006 11:07:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:656682</guid><dc:creator>LarryOsterman</dc:creator><description>Mike, there are a set of drivers loaded by osloader before ntoskrnl and the HAL are loaded, these are the critical boot drivers - they include drivers like the disk drivers (which are required to load the rest of the OS). &amp;nbsp;By marking this driver as boot critical, it marked the driver as one of the drivers that is loaded before the OS (and thus before KD). &amp;nbsp;If you boot with tracing enabled, you see ntoskrnl.exe get loaded at the end of a dozen or so drivers (including the HAL). &amp;nbsp;This driver was one of the dozen or so.&lt;br&gt;&lt;br&gt;I suspect that if I got one of the ntldr developers engaged, I could figure out how to get KD working, but in this case it wasn't worth the effort.&lt;br&gt;&lt;br&gt;Nar, there is a VERY small set of software shipped in the box that is owned by 3rd party developers, and we don't have the source to those drivers. &amp;nbsp;In this case, the driver wasn't in the box, but it WAS available on Windows Update, and Vista figured that out and installed it.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Critical Driver or Cargo Cult Programming?</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#657731</link><pubDate>Thu, 06 Jul 2006 13:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:657731</guid><dc:creator>ndiamond</dc:creator><description>I used to have a machine where NTBOOTDD.SYS did indeed have to be loaded before the HAL and NTOSKRNL.EXE, because the HAL and NTOSKRNL.EXE were in a partition that the BIOS's INT13 wouldn't reach.&lt;br&gt;&lt;br&gt;I never figured out how to rename both a suitable version of ATAPI.SYS and a SCSI driver to both be C:\NTBOOTDD.SYS in order to use the boot loader's menu sensibly. &amp;nbsp;Eventually I got an even larger internal hard drive and no longer had to put an alternate installation on an external drive.&lt;br&gt;&lt;br&gt;Meanwhile I still think Microsoft has the source code of a modem's INF file and can change that one from boot start to demand start.</description></item><item><title> Larry Osterman s WebLog Critical Driver or Cargo Cult Programming | Cellulite Creams</title><link>http://blogs.msdn.com/larryosterman/archive/2006/06/14/631387.aspx#9743693</link><pubDate>Sat, 13 Jun 2009 13:31:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9743693</guid><dc:creator> Larry Osterman s WebLog Critical Driver or Cargo Cult Programming | Cellulite Creams</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://cellulitecreamsite.info/story.php?id=2136"&gt;http://cellulitecreamsite.info/story.php?id=2136&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>