Wednesday, February 4, 2009

Moving blog

I'm moving the blog over to Wordpress - http://frodelillerud.wordpress.com.

Saturday, January 31, 2009

Ooh, bluescreen!

The old trusted IBM T42 laptop started acting up a couple of weeks back, and....well, to make a long story short, I got a new laptop the other day. A Lenovo SL500 x64 with 4GB RAM. The Vista Home edition lasted about 10 minutes before I wiped the machine and installed Windows Server 2008 x64 instead.

I've been running Server 2008 on my previous laptop for about 6 months, and have no complaints at all. So the choice was obvious for this machine as well, only this time I have installed the x64 edition instead.

I downloaded all the relevant Vista x64 drivers from the Lenovo driver page, and got the machine up and running.

Now, after about two weeks I've had a total of three bluescreens. Which is quite a lot. The first one was when I ran TaskInfo, a rather old competitor to Process Explorer. I assumed it was just the application.

The second bluescreen was when I was working against our terminalserver at work. The local machine didn't really do any work exept communicate through RDP. Today, I got a new one. I was surfing the web, programming Visual Studio and copying a large file from another machine.

What the ** is going on here?

All the bluescreens complained about DRIVER_IRQL_NOT_LESS_OR_EQUAL, which basically means that a driver attempted to access memory location it does not have permission for, or the driver tried to access another process where the Interrupt Request Level on the other process is higher than it's own. This page has good info about the various Stop-codes.

Inspired by Mark Russinovich's blog I opened up WinDbg, and opened the crash dumpfile C:\Windows\MEMORY.DMP. Here is the result:

So it points directly at the driver NETw5v64.sys. A quick search reveals that this is the driver for the Intel WiFi 5100 WLAN card. Which sounds reasonable enough - I was using the WLAN card in both of the last two bluescreens.

Still, it's always good to doublecheck the stacktrace by clicking the "!analyze -v" link.

Here we see that KeBugCheckEx, (a standard Windows method in the kernel which "brings down the system in a controlled manner"), was called, and it was initiated by code inside the NETw5v64 driver.


I opened up the Server Manager->Diagnostics->Device Manager, and checked the current version of the driver installed. It was v12.1.0.14 from 28.august 2008, about 5 months old.


Checking the Lenovo website again I verified that they hadn't updated the driver since 29.aug.

Instead I went directly to Intel's driverpage, and found version v.12.2.0.11 from 17.nov 2008. Yet another example where the laptop supplier is unable to keep up with the newest driver versions.

Hopefully the bluescreen problem is solved now. Time will tell.