And they say that Linux has driver issues?!

My work machine runs Windows XP, and on the whole it serves me well enough. Or at least it used to – until a couple of weeks ago when the network connection started playing up every day or two.

The symptoms were rather odd: I could ping, and I could email (IMAP), but I would lose web connectivity completely (opening new web pages failed on any browser – even pages served locally), my XDMCP connection would drop, and I was unable to restart my local IIS. A bit of a killer when you develop web applications. So after trying various other things, today I decided to update my network driver.

On my preferred platform – Ubuntu Linux – the automatic updates would have already ensured that I was using the latest supported driver. If you do need to move to a bleeding edge driver for some reason, then things can get complex, but in this case I’m just talking about running the latest stable driver. So if this machine were running Linux, I would already be on the latest stable driver. Job done. One step, not even worth making a list for – but for the sake of comparison:

  1. Run the usual Ubuntu updates

But unfortunately the machine is running Windows and the weekly Windows updates don’t actually do anything for your drivers. So, time to dig into the control panel…

  1. Start->Settings->Control Panel->System
  2. Hardware->Device Manager->Network Adapters
  3. Right-click on “Broadcom NetXtreme Gigabit Ethernet” and select “Properties”
  4. Select the “Driver” tab then click on “Update Driver”
  5. Go through an unnecessary wizard, only to be told that there is no update available

DRIVER UPDATE FAIL.


Okay, let’s go digging around on the internet for an updated driver. Off we go to the Broadcom website…

  1. Visit broadcom.com, drop down the “Downloads & Support” menu and select “Ethernet NICs”
  2. Find and click on the “Download Drivers” link
  3. Try to work out which of the several downloads you need, based on chipset numbers which don’t mean much to you. Give up and use the “Windows users, click here to determine the correct driver for your NIC” link to get more information
  4. Follow steps 1-3 of the list above
  5. Click on the “Details” tab and extract the mystical “device ID” from the long string of confusion that is presented to you, by following the description on the page
  6. Look for the device ID in the table at the bottom of the page to identify the “Part #” – the chipset number is contained within that string
  7. Go back to the previous page and look for the driver that matches the chipset number. Click the relevant “Download Drivers” link
  8. Identify which version of Windows you’re running – note that “XP” isn’t enough, you need to know whether you’re running the 32-bit version, or a 64-bit version – and in the latter case you need to know whether your chip architecture is “IA64” or “x86-64/EM64T”. When you’ve worked it out, click on the link
  9. A new window opens, containing a license agreement. Read it thoroughly, should you wish – or more probably just scroll to the bottom and click “Accept”. Your download will now begin.
  10. Once the download has completed, extract the contents of the zip file to a location that you can find again
  11. I hope you didn’t close the driver properties dialogue… if so, follow steps 1-3 of the list above, again
  12. Select the “Driver” tab then click on “Update Driver”
  13. Go through an unnecessary wizard, but this time you need to explicitly point it at the directory containing the files you’ve just unzipped
  14. Congratulations, you’re done!

My old version of the driver was 6.34.0.0, the new version is 10.85.0.0 – that’s probably a lot of revisions that I never received. Now consider that the situation is similar for every other driver in the machine. So, like most Windows users, I stick my head in the sand and carry on with whatever old drivers are on my machine until something breaks – and only then do I try to update to a newer version. The alternative of trying to keep track of the latest versions of dozens of drivers is sure to drive you to despair. It’s the sort of job that would be ideal for a computer though – perhaps someone could write a program that finds the latest drivers and installs them for you.

Oh yes, they have. It’s part of the normal updates on a Ubuntu box.