Welcome to the QA Tech-Tips blog!

Some see things as they are, and ask "Why?"   I dream things that never were, and ask "Why Not".  
Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.  
Old Chinese Proverb

Saturday, February 6, 2010

When Worlds Collide
Windows 7 and Driver Conflicts

Hello again!

By now, most everyone knows about Windows 7.  You've either seen it, (and maybe messed with it a little bit), or you now have a machine that runs it.

Like it or not, it's here to stay.

Another thing that everyone knows about is that Windows 7 marks a major paradigm shift in their security model.  And it's not just the 3rd-party application developers that are getting caught in the shift - Microsoft's own in-house products also fall into this trap.

I guess the take-away here is that, even if it's from Microsoft, don't necessarily believe what they say about Windows 7 Compatability.

Here's a case in point:

Hardware:
  • My 2Ghz Athlon XP system with 2 gigs of RAM running Windows 7 Professional
  • My NVIDIA 7800 series video card.
  • A Microsoft LifeCam Cinema (their top end web-cam - for almost $100!)
  • A Phillips WebCam SPC1300NC (a mid-line web-cam for about $40-$50)
  • A Vivitar ViviCam 35 web-cam (a fairly old and crummy web-cam I bought for $9 somewhere)
Software:
  • Microsoft's very own LifeCam software - version 3.1.0.something
  • The supplied Phillips drivers for their web-cam
  • The ViviCam 35 drivers that were not even thinking about Vista, let alone Windows 7!
  • The latest release version of Skype (4.1)
When I built up this Windows 7 box, one of the first applications I added was Skype 4.1 and the ViviCam web-cam because I use Skype a LOT - to associate with friends in far off places, and to communicate with the family members abroad.  Both Skype and the web-cam functionality are important to me and I would have been much less likely to stay with Windows 7 if this did not work.

Fortunately for me, that crufty, ancient, el-cheepo $9 off of the bargin rack at Christmas Tree Shops, webcam worked like a champ!  I only get 320x240 at about 3fps, but it's enough to get by.  And what the hay, it's a crappy, crummy, low-budget web-cam.

Later on, I purchased the Phillips web-cam, and installed it on my Athlon x2 64 bit, dual-core laptop (running XP), with skype, and it worked like a champ there too.

Yesterday - wanting to get "up to the minute" with my video on my big desktop machine, I went out and planked-down Heafty Bucks for the latest-and-greatest Microsoft LifeCam Cinema.  16:9 aspect ratio, HD quality video, stunning detail, frame-rates that would make the networks jealous, etc. etc. etc.  It promised the moon and the stars - AND the rocket-ship to get me there!  Of course, the quid you pay for that pro-quo was a price tag closer to $100 than I'd really like, but - hey! - you want a Mercedes, you can't expect to pay for a Hyundai.

So. . . .

I bring it home, carry it lovingly downstairs into my "dungeon" where all the computer stuff lives, unpack it and proceed to install.

The install goes like a champ.  Of course, I politely declined their generous offer to load my machine up with the latest Window Live Essentials and Silverlight, figuring I have enough crap-ware on this box as it is.

I launch the LifeCam application and play with the camera.  I really can't do much better than 640x480 with my hardware and video card, but I play with it anyway.  I test the video, the sound (it comes with a built-in mic.), the pan-and-tilt, etc. etc. etc.

Once I was satisfied that it worked, I closed LifeCam and launched Skype.

Skype immediately recognized the new camera and cautioned me that since it has a built-in mic, I would probably have to re-configure my audio settings to use it.

So - I do just that.  I re-configure the audio and make a test call to verify it - and it's all Golden!

I then go look at the video. . . . .  And all I see is a black screen.  I fiddle with it.  I try a couple of adjustments, I fiddle with it some more, and still no video.

An article on the web says that I may need to re-reconfigure certain audio settings if I have video problems.  So I go back to the Audio settings to check it out.  And!  About five seconds later, Skype crashes.

Huh?  Wahappened?

I re-launch Skype, look at the video - still gone - and go back to the audio again.  Blammo!  Skype dies.  Apparently if I launch Skype 4.1 with this camera installed, go to the video settings page, and then go to the audio settings page, Skype crashes.

Skype's web site recommended an upgrade to Skype 4.2 Beta - so I upgrade and try again.

OK - now Skype does not crash when I go from Video to Audio - but still no video.  And opening up the tools --> options dialog causes any call in progress to freeze solid.

Looking on the web, I discover that owners of the Phillips 1300 web-cam, as well as some Logitech web-cams were having the same troubles as those that owned the LifeCams by Microsoft.  And - of course! - it's all Skype's fault for releasing such a piece of junk to an un-suspecting public.

After fighting with this until the wee-hours of the morning last night, and the weeeeeeeeeeeeeee-hours of the morning this morning, (before going to bed), I decided I'd had enough.  Fuzz this!!  I'm gonna yank that piece of GAGH! right outta there and ram it down someone's throat!!

(Later on, after some serious shut-eye, I try again.)

I disconnect the web-cam, un-install the drivers, make sure everything's cleaned up, and reboot.

I'm getting ready to re-install the crummy 'ole ViviCam's drivers when - just for the S's and Grins of it - I decide to plug in that blasted 'naffing LifeCam again.  Without the included drivers. . . .

Baaa-BING!  USB Hardware device recognized!
Baaa-BING!  USB Imaging Device (Microsoft LifeCam Cinema 1393) recognized!
Baaa-BING!  USB Digital Audio Interface Device (Microsoft LifeCam Cinema 1393) recognized!
(pregnant pause)
Baaa-BING!!  Your Hardware is Installed and Ready To Use!!

Huh?!!  (shaking my head - the instructions are very specific about NOT plugging the device in BEFORE installing the software. . . .)

I look in the device manager - and it's all there and it's all happy.

Acid Test:  I launch Skype.  I get the dialogs about my "new" webcam and needing to check the audio properties again, but this time not only does the audio work, but I have working video!!

Hmmmm. . . .  Interesting. . . . . .

After placing a test call to a friend of mine (and chatting for about 30 min or so!), I shut down and remove the webcam.  I restart and then plug in the Phillips webcam I have (which I have been told will NOT work with the drivers installed by a whole chorus of posters on the web), and wait. . . .

I get the familiar two-toned chime that Windows gives when it recognizes - and corrected configures! - a new USB device.  Two or three chimes later, it's "installed and ready to use", just like the LifeCam.  And it works in Skype just as well.  Just to make sure, I call my friend back and spend about another hour or so chatting about stuff - and conviced that Skype won't crash no matter what I do to it (including opening tool and option windows), I hang up and ponder.

What I suspect is happening here is this:
Unlike earlier versions of Windows, and that includes Vista, Windows 7 has a lot of these device drivers built in as "native driver support" items.  Just like XP with external USB hard drives and the USB thumb-drives - you plug 'em in and they just work.

Normally, when a manufacturer supplies an updated or enhanced version driver for a device - to enable special features like the HD resolution, for example, the internal drivers get disengaged for that device.   This prevents two different drivers from trying to work with the same device, which is the fast boat to a crashed system.  Or - if it does NOT disengage the native drivers, it adds a functionality layer to the device, working with the existing drivers that are already there.

In this case - what appears to be happening is that both Windows 7 *AND* the LifeCam/Phillips/Logitech (etc.) drivers install themselves, but do *NOT* disengage the native versions, resulting in a huge driver conflict reminicent of Windows 95, and a crash.  Maybe a crashed app?  Maybe a crashed box?  According to the Skype Garage (forum) on Windows 7 and Skype - both can, and do, happen.

I guess that we've been lulled to sleep by how well Windows XP has worked with it's drivers and such, that the idea of a massive driver collision has faded from memory.  We forget the primary maxim of computers and installations of stuff:  If everything is working wonderfully, you then do something new, and then everything, (or certain things), go to hell - the first thing to do is to back out all the recent changes.

Also.  Just because Microsoft says it works, doesn't mean it REALLY works.  Not even with Windows!

What say ye?

Jim