RSS

Category Archives: Computational Engines

Computers of all shapes and sizes.

Getting the Steam version of Omerta – City of Gangsters to run on Win7, Win8, and beyond

tl;dr version: Win7+ doesn’t come with DirectX 9. Install it from here and Omerta should work fine.

long version:

I like Mafia stuff. Movies, games, what have you. I bought “Omerta – City of Gangsters” on a Steam sale a while back for some Mafia-themed sandbox gaming fun but never fired it up… until tonight.

And tonight it wouldn’t start. And so I scratched my head and did what any good techie would do. I tried again. I restarted Steam. I verified the game cache integrity. I deleted the game. I re-installed the game. I rebooted the computer. I tried several of these again, scratched my head, stroked my beard, and went, “Huh.”

I searched the internet. Somebody there said they had the same problem, but used a Torrent to fix it. Um, no thanks. There’s gotta be a way, right?

Then I saw someone else who said, “The game works fine on Windows XP or in WinXP Mode… Try that!”

That got me asking myself: “What’s different about Windows 8 (or 8.1, or 7) and Windows XP from a video game perspective?”

I couldn’t come up with a quick answer, so I did some more digging. I ran into my …\steam\steamapps\common\Omerta folder and found the executable for the game, thinking that Steam might be swallowing whatever error I *should* be seeing. Sure enough, I got my answer in the form of this error dialog:

OmertaSteam.exe error

So back to the question at hand. What’s the difference between XP and Win7+ from a game’s point of view? That’s right! The in-box version of DirectX.

You see, most games need DirectX to talk to the video hardware. And they need a specific version. DirectX 9 games need DirectX 9, not DirectX 10 or 11, etc. As it happens, Windows 7 and Windows 8 don’t ship with DirectX 9 “out of the box”…

This problem is easily remedied. Download this:

http://www.microsoft.com/en-us/download/details.aspx?id=35

And run it. That will scan your system and add any missing DirectX 9 files.

Once that’s done, Omerta should start up just fine.

“Keep the change, you filthy animal!”

Advertisements
 
Leave a comment

Posted by on August 27, 2013 in Computational Engines, Things Geeky

 

Dr. StrangeOS or: How I Learned to Stop Worrying and Love Windows 8

Geeks are often whiners at heart. We like things a certain way, and we are opinionated. The mere existence (let alone popularity) of websites like Slashdot and Reddit reveal the self-evident nature of these truths.

Being opinionated means that when someone upsets our digital apple cart, we are wont to get medieval. We like the interface to our world to look a certain way and to feel a certain way. After almost 20 years of the Windows Operating System (OS) looking and feeling more or less the same way (since the new “Start”-based Windows 95 UI refresh), ousting concepts like the venerated Start Menu, Task Bar, and infinitely resizable application Windows was bound to ruffle a few feathers.

The new UI is dubbed “Metro” and it saw its first commercial expression in the Windows Phone 7 OS reboot. Tiles abound. It is touch-first, touch-friendly, and highly gestural. Swipes and pinches galore. Mobile devices outnumber PCs by a staggering amount (I’ll leave it as an exercise to the reader to find out by just how much), and an increasing number of these devices are eschewing keyboards for multi-touch displays.

Windows 8 takes the Metro UI to the next level, often at the expense of the relative comfort and safety of the Windows 7 (and prior) Way Of Doing Things(tm). It places the digital world quite literally at your fingertips and does so with post-modern panache. If you’re blessed to be using it with a touch screen (perhaps on a tablet of some sort), it’s easy to intuit the experience the Windows design team was driving for.

But if you’re like me and the millions of other mouse-based PC users bumping off the virtual walls of the Windows 8 Consumer Preview, you might be scratching your head and wondering, “What the heck were they thinking?!”

I started there. As a user of Windows since version 3.1, I loathed the new UI. It made no sense. It wasn’t intuitive. It was ugly, and this stupid Start page-screen-thingy flies up over everything I’m trying to do all the time. Gah!!! But as you’ll see in a moment… I’m coming around.

The “Aha! I get it!” moment for me arrived when a friend of mine sent me a message via Facebook. I had just finished associated all of my online identities with the Messaging app, and I was rewarded with a little ‘toast’ that faded in to view on the upper right hand side of my screen, accompanied by a subtle chime from my speakers. Clicking it launched the Messaging app full-screen.

I was web browsing on the Classic Desktop at the time and really wanted to get back to that, so I employed a little trick I’d learned recently. I grabbed the top of the app and “tore” it from the top of the screen and “docked” it to the right hand side of the screen, out of my way. The Messaging app re-arranged itself and presented just our current chat in a little private strip of space (perhaps 25% of my screen real-estate) on the right side of the screen. Blank pixels filled the left.

Clicking in the empty area brought up the Start Page, from which I selected the Desktop. It neatly filled the remainder of the space and resized itself accordingly. All of my full-screen apps (IE, Word, etc.) were still full-screen, but the width of the Desktop had been reduced to accommodate the Messaging app without any overlap. After a few minutes I realized how nice and even intuitive it felt to have the chat window in its own little space, not too big or small, protected from being overlapped by my “classic” desktop and its applications. It really feels like you’re simulating a multi-monitor experience (which I use a lot of at work) with only one physical display. Very snazzy!

Since that day, I’ve stopped grumbling and started dedicating myself to mastering the new Metro User Interface (UI). Since I’m an old-school keyboard junkie, I use “shortcuts” or “accelerators” quite a bit.  Many of the classic combos still work (Win+E for Explorer, Win+R for Run, Win+D to show the Desktop), but there more than a few new ones to add to your repertoire.

Handy Keyboard Shortcuts

  • Win+C opens the ‘charm bar’ (same as hovering in either right-side corner of the screen)
  • Win+I is the shortcut to the context-sensitive settings flying (same as Win+C and picking ‘Settings’)
  • Win+W scopes searches to Settings
  • Win+F scopes searches to Files
  • Win+Tab shows all the Modern apps you have running (same as hovering in the upper-left corner of the screen)

Remember, Searching in Windows 8 is easy… if not immediately intuitive. In Windows 7, when you wanted to search you just hit Start and started typing away, since the ‘Search’ box in the Start Menu had focus by default. It’s the exact same way in Windows 8… except there is no Search box visible until you start typing!  Hit the Win key and just start typing as you did before.

Along those lines, I have discovered a few general practices with the UI that may help the new Metro user. The bottom line is, most of the time, you’ve got to “think with your fingers” even if you’re using a Mouse. The new input motif is gestural.

Gestures are Key

  • You can control the fate of any Modern app by grabbing the top of the screen with the mouse pointer and dragging the app around. Want it compact on the left or right side of the screen? Just drag it over there. Want to close it? Just drag it down to the bottom of the screen.
  • If the screen is divided as I described above, you can switch which app is “big” and which is “small” by dragging (or double-clicking) the divider between them. You can also swap their positions by dragging either app over its neighbor). Or you can make one of them go away by dragging the divider off the screen.
  • While holding the Win+Tab menu open (you can release Tab, but keep holding the Win key), you can also choose dock apps selectively close them (all via the right-click context menu).
  • Right-clicking is still all about context. Play with it in various “Modern” apps and see what it does. In most, it will bring up a context-sensitive set of actions from the bottom (and/or top) of the screen. (Swiping ‘up’ from the bottom or down from the top will accomplish the same feat on a slate). The Modern “Immersive” Internet Explorer brings context options from both directions (tabs up top, address bar and other navigation tools below).
  • When using an actual touch input device, you can “flick” with your left thumb or “swipe in” from the left side of the screen to switch (“alt-tab”) between active applications.
  • Swiping in from the right opens the Charm Bar. Swiping down from the top grabs the current app and lets you move it around (dock left, dock right), or close it altogether.

Powerful Tricks

If you’re like me (a power user), you might be wondering where all your favorite toys are (Services control panel? Powershell ISE? etc.). Those are filtered out of search results by default, as most users never need them, and they would just clutter things up for the masses.

To get your power tools back at your fingertips, open the Start Page (Win key) and press Win+I to open the Settings panel. Select ‘Tiles’ and toggle on the ‘Show administrative tools’ slider.

Photos Woes?

While you’re in there, you might see a conspicuous ‘Clear personal info from my tiles’ option. This is for resetting the tile data caches for things like the thumbnails that rotate over your Photos app tile. Don’t like that lolcat that you deleted 3 weeks ago? Hate the pimply self-portrait it picked at random from your Skydrive? Hit the Clear button and it’ll (finally) go away!

Speaking of Skydrive pictures, you can pick where Photos shows pictures from by opening it’s settings (Win+I) from within the Photos app. You can even stop the rotating picture display, should you desire. Lastly, if you really want a single picture to be your Photos tile, you can view that photo full-screen and then open the context bars (right-click) to reveal the ‘Set As’ option. This will let you set it as your Desktop background, or as your App Tile background.

As you can see, since my “Aha!” moment, the Metro UI has been growing on me, and I’ve gone from grumbling and complaining to feeling empowered by it to better organize my work space.

But all is not well in Metropolis!

I do find that the minimalist design of many of the Modern (aka “Windows RT”) apps makes me want for more flexibility in some of the applications. Standouts:

  • The new News application is beautiful. It brings the look and feel of modern, colorized, multi-column print journalism to current events. However, for reasons I can’t fathom, it will not format the contents of a news article for single-column display when the app is in “compact” mode. It will show you a list of articles to read when it is compact, but selecting one merely takes you to the headline with some metadata and a ‘Read article’ button that forces the News app into full-screen mode (or the not-quite-full-screen size, if you’re already running a split view). Seriously lost opportunity there. I’d wager it will probably be corrected by the time Windows General Availability arrives (if not shortly thereafter).
  • File transfers in Messaging. Sometimes you just want to send a picture to a buddy. Messaging doesn’t seem to enable this (currently). It may never, as file transfers are a bit of a niche nowadays. Seems like software designers assume what’s good for the goose is good for the gander, thus all sharing of all media will funnel through Facebook or other broadcast-style social media. What can I say… I break molds for a living. =^)

Phenomenal Cosmic Power!

For all the little quirks and the feeling of being stuck between two input paradigms, Windows 8 may well hit a home run with the Modern “app” experience. After all, all computers and all Operating Systems are all about Applications. Without applications, what’s the point?

I showed the built-in “Store” app (through which you download and install more Modern / Windows RT apps) to Becca to get her thoughts on it. (Bear in mind, she is an avid iOS ecosystem girl — which is entirely my fault. iPhone (birthday gift from me), iPad (just-because gift from me…). Case in point, she “gets” the Apple way of deploying software and doesn’t use a PC (or any desktop/laptop/etc.) very much anymore. It’s just too easy and too convenient to get things done on iOS, until Flash comes into play. I hear the plaintiff’s attorney saying, “Objection. Relevance?” to which I reply, “Credibility, your Honor!” My wife at least moderately ingrained in the iOS culture. Applications are disposable, one-touch-setup and two-touch-delete objects, and the devices that run them are like toasters or any other commodity appliance. They should Just Work(tm).

To gain her perspective, I showed the Windows 8 Store to Becca, installed a few apps from it, then ran them for her like a little demo, showed her the pretty Weather app and the News reader, Mail, and Messaging. Swapped them around, showed off the docking features. As she took it all in, she said things like, “Oh, that’s just like on your (Windows) phone! Oh, that’s cool! Hey, I like that!” (I’m paraphrasing a little, but she was rather taken with the demonstrated capabilities of what is otherwise fairly obtuse and non-intuitive).

Now that we both feel empowered (instead of hindered) by the Modern UI, our stance (well, my stance, at least) has shifted from that of a moderate detractor to that of a moderate apologist. No, the UI is not perfect (and neither was iOS when it launched) but it does provide for some really nice workflows that I find myself gravitating to more and more. Also, the immersive browser is kind of addictive. At first you hate it, but then it grows on you, especially when you use it for things like Netflix, Hulu, and other designed-to-be-full-screen applications.

In short, I’ve learned to stop worrying. I’m starting to love Windows 8. The parts I loathed before are starting to grow on me (and not like a fungus). I get the feeling that once I add touch to my machines, I’ll probably like it even more… as a matter of fact, the forthcoming LeapMotion may be the perfect thing for our home theater. Goodbye, mouse-on-the-armchair! Goodbye tiny-wireless-trackpad-and-novelty-keyboard-that-barely-works-from-10′-away!

Windows 8, for all its little wrinkles, is pretty great. I’m confident that the first few waves of app updates and refinements will only make it better.

What’s your Win8 story? Love it? Hate it? Feel free to comment below.

 
Leave a comment

Posted by on August 20, 2012 in Computational Engines, Things Geeky

 

Tags: , , , ,

Get DragonAge Origins Toolset on 64-bit Windows 7, Steam, and SQL Express 2008

With the latest installment of the DragonAge series shipping soon (only 4 days from now… *wibble*), a resurgence of interest in Origins has gripped me. I’ve bee whiling away the odd hour here or there playing through the campaign again, with little hope that I’ll finish it this time either. There’s just so much to do and that’s without all the weight downloadable content (DLC) of the epic Awakenings or the character-specific adventures that have rolled out since then. But I digress…
a
I wanted to mess around with the Toolset again (which allows you to craft your own adventures if you’re willing to invest a lot of time, or to just poke around under the hood and see how BioWare crafted Origins) but as I was running the installer I realized that it wanted to install SQL Express 2005. 2005? That’s a bit out-dated, don’t you think? After all, I’ve already got a SQL Express engine running on my box to support my independent development initiatives with Microsoft Visual Studio 2010. Why on earth should I install another copy of SQL Server?
a
I knew from my own professional experience that SQL 2008 and 2005 are largely compatible for most databases (and 2008 even has a 2005-compatibility mode you can set should things go awry…), I thought “why not see if we can make this work with what i’ve got already?” So, I ran a few web queries to make sure I wasn’t setting out on a fool’s errand, and I ran across this wonderful blog post by a bloke named Evan. Evan probably saved me and others hours of time with those steps, but they didn’t quite work for me. Why, you ask? Well, it comes down to the fact that once again, he wants me to use SQL Express 2005. I figured “meh, skip that step, i’ve got 2008 installed…” and just tried to install the 64-bit SQL Server Management Studio (SSMS) Express package. No luck. For reasons unclear to me, it rolls itself back 75% of the way through the install claiming that it was “interrupted.” After trying twice in a row, I gave up on that and decided to use ply my sqlcmd-fu (that’s the special variant of kung fu SQL Server db admins are taught by the wisened sages of their art) and bend things to my will.
a
Sadly, his proffered advice about using SQL scripts he linked to was rather full of fail. While it gave me some (most? all?) of the DB schema, it didn’t give me nearly enough of the data. I kept getting errors about missing IDs and and other inaccessible data from the toolkit after running his scripts.  But a comment on the latter gave me exactly what I needed: the fact that BioWare shipped a full backup of the database with the toolkit. Well, of course they did. How much easier can installing a database get than to use restore a database backup (.bak) and call it a day?
a
The path to success for Win7 amd64, Steam, and SQL 2008 Express is as follows:
a
Prerequisites
  1. SQL Server is installed, running, and responding to your queries. E.g: running:  sqlcmd -S .\SQLEXPRESS -q “select @@version” from a command/powershell prompt will yield:
    Microsoft SQL Server 2008 (SP2) – 10.0.4000.0 (X64)
    Sep 16 2010 19:43:16
    Copyright (c) 1988-2008 Microsoft Corporation
    Express Edition (64-bit) on Windows NT 6.1 <X64> (Build 7600: )
  2. You’ve got Dragon Age: Origins installed and you know where it lives. For example, my copy lives in ‘D:\Games\Steam\steamapps\common\dragon age origins\
  3. You’ve installed the Dragon Age Origins Toolset, but opted NOT to install the included 32-bit version of SQL Server 2005 Express.
SQLCMD to the rescue!
    1. Once you install the toolkit, you’ll find they’ve included the aforementioned SQL database backup file (bw_dragonage_content.bak) for you. For steam users, it resides in the tools\dbbak subfolder of your dragon age installation. Go search your computer for it and get a hold of the full path to that file. You’ll need it shortly.
    2. We’ll need to issue several commands to SQL Server, and we’ll use a console application called SQLCMD to do it. So open up an elevated command prompt or powershell prompt and execute the following command to connect to your local copy of SQL Server Express:
SQLCMD -S .\SQLEXPRESS
    1. Now, every database backup has a designated place in the file system where its data (files that usually end in .mdf) and possibly logs (files that end in .ldf) are stored. Most database restores assume that the files you’re restoring from the .bak should go back to where they were found originally, so we’re going to roll with that assumption. First, we need to see where those files are expected to be, without actually restoring anything. To do this, we’ll use a mode of the SQL “RESTORE” command called “FILELISTONLY” to get the logical and physical names of the mdf and ldf in the backup file:
RESTORE FILELISTONLY FROM DISK = ‘D:\Games\Steam\steamapps\common\dragon age origins\tools\dbbak\bw_dragonage_content.bak’
GO
    1. You should see near the end the logical and physical filenames of the .mdf and .ldf in the file (after of a bunch of staggered “—–” characters … this is the pretty-printing that would make the data look like a table were your console window wide enough, or were you to output the query results to a text file), e.g.:
bw_dragonage_content C:\Program Files\DAODB\Data\bw_dragonage_content.mdf
bw_dragonage_content_log C:\Program Files\DAODB\Data\bw_dragonage_content.ldf
    1. The name without the path is the “logical” name. The fully-pathed file is… you guessed it, the filename. Once you are armed with these, you need to make sure the physical path this .bak file will expect actually exists. Since we’re running a 64-bit version of windows, chances are high that the Toolset installer created the “\DAODB\Data” folder in your Program Files (x86) folder (where all good little 32-bit programs go), not your Program Files folder (which houses the 64-bit ones). Fixing this is a simple matter of cutting and pasting the “DAODB” folder from your Program Files (x86) folder and pasting it in the Program Files folder. Once the folder C:\Program Files\DAODB\Data exists in your local filesystem, you’re golden. Use Windows Explorer to do this — far simpler and faster than aborting your SQLCMD session and then re-starting it later.
    2. Now we have to create the database so the backup will have a place to be restored to! Run these commands in your SQLCMD session (the color-coding is provided so you can visually map the values you got from FILELISTONLY above. If for some odd reason these have changed, you’ll know where to put the new values):
USE master;
GO
CREATE DATABASE bw_dragonage_content
ON PRIMARY
( NAME = bw_dragonage_content, FILENAME = ‘C:\Program Files\DAODB\Data\bw_dragonage_content.mdf‘)
LOG ON
( NAME = bw_dragonage_content_log, FILENAME = ‘C:\Program Files\DAODB\Data\bw_dragonage_content.ldf);
GO
    1. You probably won’t get anything by way of a success message, but if you don’t get an error, you should be good to go.
    2. Now all we have to do is restore their database backup! Tweak the paths to match your system and then run this in your SQLCMD session:
RESTORE DATABASE bw_dragonage_content FROM DISK = ‘D:\Games\Steam\steamapps\common\dragon age origins\tools\dbbak\bw_dragonage_content.bak’ WITH REPLACE,RECOVERY
    1. This will take some time and you’ll see some output, and probably a few ‘upgrade schema’ comments, but at the end of it all you will have successfully created the database!
    2. That’s it for DB creation! Exit SQLCMD by typing:

EXIT

    1. All that remains is to tell the Dragon Age Toolset how to find the database. (If you don’t, you’ll get an error that says it can’t connect. If you’re wondering why, it’s because when the Toolset installs itself, it installs a “named instance” of SQLEXPRESS that isn’t “SQLEXPRESS”that is To do this, run the “ConfigureToolset.exe” that is located in the tools directory (the parent folder of the ‘dbbak’ folder that houses the .bak file).
    2. It will open to the ‘Game Builds’ menu. That’s not what we want. Click [Next] to find the ‘Databases’ window. Once there, uncheck ‘Use the default database’ and then click the […] button. This will open the standard ‘Data Link Properties’ window that every Windows database admin knows and loves. Here, you will want to specify “.\SQLEXPRESS” for your server in #1, leave #2 alone (it should default to ‘Use Windows NT Integrated security’), and for #3, select the bw_dragonage_content database we just restored. Lastly, click [Test Connection] at the bottom and assuming all went well, you’re done!

What your settings should look like when you're done...

  1. Click [OK], then click [Next] in the ConfigureToolset UI, and lastly click [Finish].
  2. Now you should be able to use the Toolset to your heart’s content on Windows 7 64-bit with SQL Server 2008. Yay!
Caveat: I haven’t done extensive testing so I can’t vouch that running the Toolset on 2008 won’t cause some problems down the line. I’m a total n00b when it comes to the Toolset itself… I just happen to know a thing or two about Windows and SQL. 😉
Afterthought: More advanced / picky users might want to relocate the files from the DAODB directory to somewhere else. in that case you’ll want to create the DB with different filename specifications, and then restore with the MOVE directive as such:
RESTORE DATABASE bw_dragonage_content FROM DISK = ‘D:\Games\Steam\steamapps\common\dragon age origins\tools\dbbak\bw_dragonage_content.bak’ WITH REPLACE,RECOVERY,MOVE ‘bw_dragonage_content’ TO ‘[preffered path]\bw_dragonage_content.mdf’ , MOVE ‘bw_dragonage_content_log’ TO ‘[preferred_path]\bw_dragonage_content_log.ldf’
Happy modding!
 
11 Comments

Posted by on March 4, 2011 in Computational Engines, Things Geeky

 

Tags: ,

Pardon the dust…

We’re investigating wordpress as a possible base of operations for the forseeable future. Too many hot summer days, comcast outages, and comment spam-filtering fiascos have conspired to make self-hosting more pain than pleasure.

Stay tuned, we’ll be back-porting our posts from http://jerbecca.com/blog to here over the next while…

 
Leave a comment

Posted by on August 3, 2010 in Computational Engines

 

mix10 workshops: HTML5

I came to MIX this year to learn more about two things: emerging web standards (e.g. HTML5) and emerging mobile phone technology (e.g. Windows Phone 7 Series). Sunday March 14 was workshops day, a pay-to-play bonus day that precedes MIX much like an appetizer would your dinner. Several workshops were offered this year, including a pair on HTML5 by web-renowned standards advocate Molly E. Holzschlag. I was eager to attend, eager to discuss, and eager to learn whatever I could about the future standard that despite its copious amounts of documentation, remained shrouded in an air of uncertainty.

So what’s the big deal with HTML5? you might be wondering. Perhaps to appreciate where the web is going, it would help you to take a tour of where it’s been. When you’re done, come on back and we’ll continue. (Granted, that is not the only version of the story, but it hits the highlights pretty well). The bottom line is that over the years, HTML has been a veritable Tower of Babel in that it started with everyone speaking one unified language and having one unified purpose (let’s link documents together with hypertext!). The years that followed were marked by confusion, competition, and semantic squabbling by the implementers of the standards: NCSA, Netscape, Microsoft, Opera, Mozilla, Apple, Google, etc.

Personally, I’m a veteran of the first great "browser war" (IE vs. Netscape), so I have a real appreciation for both the process of defining the standard and the compromises inherent in implementing it whilst juggling the actions and intent of your competition. It’s a tough row to hoe, particularly when there’s little love lost between the agencies involved. After giving us a tour of some of the technology (as it currently is defined) that will make authoring the web easier in the HTML5-enabled future, Molly made a point of driving home that "[HTML5] is the first time in global history that five browser companies have worked simultaneously on one language!"

And while she underscored that the collaboration isn’t perfect (there are still many disagreements to iron out), it’s a far cry better than it has ever been before… and that should give us all hope. Personally, I hope that someday I’ll be able to stop writing the same bit of script 4 different ways to get the same result on 4 different browsers… all for one web page. I have no illusions that HTML5 will get us all the way there; however, from what I saw on Sunday, it’s turning out to be a huge step in the right direction.

 
Leave a comment

Posted by on March 16, 2010 in Computational Engines, Things Geeky

 

Tags: , ,

Dvorak, here I come…

dvorak

This post will be brief because I am typing it entirely in dvorak. A week of moderate wrist discomfort has led me to make some changes; hopefully, they will avert or abate any long-term RSI or carpal tunnel.

Switching is slow going but it’s something I’ve always wanted to do (after all, Piers Anthony uses dvorak). I’m also going to see several doctors this week to get a diagnosis and begin appropriate treatment.

Prayer is always appreciated!

 
Leave a comment

Posted by on February 4, 2010 in Computational Engines

 

Tags: , , , , , ,

The new (old) PC

So last week was a bit of a nightmare computer-wise. I wanted to get things here off to a good start, but my computer had other ideas. Lemme explain:

I bought my current hard drive (Seagate 1.5TB) around the beginning of last year. It was shiny and had received great reviews at the time. (Yes, Seagate’s reputation has been unsavory of late, but this acquisition was made before it started circling the drain).

For the past year I’ve experienced infrequent (but still intermittent) lock-ups whereby my system will just… hang. Mouse will stop moving, keyboard will stop responding, and the song I’m listening to starts cycling over the last few notes. Anywhere from 30 seconds later to 5 minutes later, it suddenly comes back to life as if nothing happened.

Now, I’m a pretty tech-savvy guy, so my first stop is the Event Viewer application to see what the heck just happened to my System. To my chagrin, I saw Warnings from a device called nvstor64 that looked like:

 Reset to device, \Device\RaidPort0, was issued.

 

What’s more, i filtered the list and saw a bunch of these dating back several months to when I installed Windows 7. Now, I’m not about to blame Win7, since I know these issues were happening on Vista. Also, this is clearly an attempt by the Operating System to fix what is most likely a hardware problem (Windows talks to drive, drive doesn’t talk back, Windows waits patiently… then resets the drive to try to "wake it up"). I’m also experienced enough to know that "nvstor64" is the 64-bit NVIDIA Storage Driver, i.e., the thing that Windows uses to talk to the storage devices (hard drives, optical disc drives, etc.), which gives me a very strong hint as to who has a problem… but not why.

In the past this was happening only once in a while and I wound up sending my old motherboard (nForce 780i) in for a warrantee replacement. (I would like to give a shout out to evga for their amazing customer service). I installed the 750i motherboard as a hold-over until the 780i arrived… but when it did I was a few months away from getting married and was barely looking at my computer. No time to do heart surgery. So I’d been using the 750i faithfully since then.

I thought the lock-ups were a thing of the past, but last week I also endeavored to move the PC from the basement to the upstairs for the winter. All was going well and I considered my task finished until the lockups came back with a vengeance. To make matters worse, I was 3 days into a programming project for work and I hadn’t backed up to my Live Mesh or any external physical media yet. The problem needed to be fixed and fixed right then!

First step: Update the Motherboard (nForce 750i) drivers.

A bug in the driver could cause wonky hard drive controller issues, after all. I applied them (including the Storage Driver), rebooted, and hoped for the best. I was not prepared for what I was met with when the reboot finished. I opened the System Event Log and could almost watch the nvstor64 warnings roll in. Without fail, every 30 seconds a new one. Thankfully they weren’t stun-locking my user experience, but there they were, in spades.

"That can’t be good." I tell myself, and start poking around the ‘net. I run across this post (and several others like it) that let me know I am not alone. Eventually I wound up thinking that the increase in errors meant that the drivers weren’t as compatible with Windows 7 as NVidia and Microsoft seemed to think they were when they got WHQL signed. So I set about removing them.

Second step: Remove the updated NVIDIA nForce Storage Driver.

This was accomplished via six steps. If you’re following along at home, here’s what you do:

  1. Download the latest NVIDIA nForce Drivers (or, if you want to roll back to a previous version, have it handy).
  2. Download & install Driver Sweeper (you gotta do this first because after step 2, your internet won’t worky).
  3. Uninstall everything that says ‘NVidia’ via the Windows built-in Add/Remove Programs wizard. Don’t reboot until you’re all done installing them all.
  4. Reboot the PC and go into Safe Mode (spam F8 as the system is starting to get the menu that lets you choose this).
  5. Once in Safe Mode, log in as an Administrator-privileged account and run Driver Sweeper. Tell it to clean out anything from NVidia. Once it’s done, reboot.
  6. When the reboot is complete, re-install the NVIDIA nForce Drivers, but don’t check the Storage Driver. This should get your network ports active & functional again.

You’ll also need to re-install your graphics card drivers, but I make no assumptions that you’re using an NVIDIA card. I’m running a pair of 8800GTs myself, and they were happy to get squeaky-clean drivers after the total driver strip-down described above.

At this point, I figured my troubles would be over. Or at least, things would go back to "normal" (stun-locks and all). I was right, except that I was also wrong. Things were much as before, except they were much, much worse. I tried resuming my programming, but after hitting save 20 minutes into my work, I experienced a heart-stopping stun-lock that lasted for a good five minutes (but it felt like 5 hours). Eventually, the system recovered and my data was saved, but that was a highly-anxious handful of minutes I dared not repeat.

For sanity’s sake, I packaged up my code and backed it up to my Live Mesh. At least there it would be safe until I could figure out what the heck was causing this. After completing the backup, the machine locked up again. "Screw this!" I said under my breath and flicked the Reset switch on my computer’s case (a cold, black behemoth known as the CoolerMaster CMStacker).

Following the POST and the initial BIOS rigamarole, I was presented with every geek’s worst nightmare:

BOOT DISK NOT FOUND. PLEASE INSERT BOOT DISK AND PRESS ANY KEY TO CONTINUE.

Exsqueeze me? I assure you, my good sir, the boot disk is in the computer. I didn’t see any black smoke escaping or smell the crisp pungency of ozone accompanying my reboot, which by deduction I assert that the disk and its contents are in fact intact and still remain in the machine! I press the Power button this time and give the system a chance to cool. Some things you just can’t solve on a warm reboot.

After sending my PC into a power-free time-out to pore over its recent bad behavior, I head downstairs to locate my copies of SeaTools and SpinRite.

Third step: Scan the drive for errors.

Yeah, the controller chip on the motherboard might be going bad, but it’s hard to prove that without verifying that the physical drive is fine. So I ran the SeaTools Short Test to see if there were any glaring issues. Passed 100%, and the SMART status hadn’t been tripped. To be extra sure, I scheduled the Long Test and went to enjoy some time with Becca. When the test was finished, it also reported 100% pass. So, probably not the drive.

Fourth step: Replace the motherboard.

Rebooted the PC. This time i got a different error when Windows tried to start. It said something to the effect of "A disk read error occurred. Press Ctrl+Alt+Del to restart." Happened twice in a row. A full power-cycle fixed it, but it gave me the heebie jeebies. Felt like the drive (or the controller) was going downhill fast.

To rule out the controller, I finally unboxed my replacement 780i board and swapped it in for the 750i that was having the panic attacks. After an hour of trouble-free computing, I thought all was well… and then the system locked up on me again. Reason? You guessed it: nvstor64, device reset. Grrrr….

Back to the Internets for more helps. I changed tactics and started searching for my drive’s serial number in conjunction with the nvstor64 error and the disk read error and I eventually ran across this article which led me to this AnandTech article which indicated that flashing my ailing drive would woo it back to health.

Fifth step: Flash the drive’s firmware!

So I ran the utility for my ST31500341AS drive. Quick, easy, painless (though it is kinda cool — uses some kind of Acronis dynamic boot-partition creation magic that lets you do low-level things without floppies or CDs by creating a tiny temporary bootable partition on your hard drive, then removes all trace that it was ever there. Sneaky. I like it… just as long as it doesn’t fail and leave you stranded in no-OS land. Hah!)

Once Windows was back up, I cleaned out the Windows System Event Log and ran the best stress test I could think of: I played Borderlands for a few hours. (It was locking up regularly before).

Sixth step: Rejoice and give thanks!

Seagate’s firmware update seems to have fixed the issue for good. It’s been several days and I’ve had nary a lock-up despite my best efforts to force one. I’d like to thank:

  • God for getting my data and my sanity through this ordeal intact.
  • Seagate for responding to the problems of their own making.
  • The Internet community at large and AnandTech in particularly for being doggedly persistent with them over the issues with these drive firmwares!

Conclusion

I guess you really do learn something new every day. First time in 15+ years of building systems that I’ve ever had a hard drive need to have its firmware flashed. And I hope I never have to again! Like Kaylee said, "Sometimes a thing gets broke, can’t be fixed." I’m glad this wasn’t that time.

 
Leave a comment

Posted by on January 7, 2010 in Computational Engines

 

Tags: ,