On mySimon: Games People Play
BNET Business Network:
BNET
TechRepublic
ZDNet

July 28th, 2007

Realtek network driver silently corrupts data

Posted by George Ou @ 9:46 pm

Categories: Desktop, Hardware, Microsoft, Networking, News, Servers, Storage, Vista

Tags: Network, Adapter, Microsoft Windows Vista, Microsoft Windows, µTorrent, Computer, Transmission Error, George Ou

[Update 8/8/2007 - Realtek silent data corruption caused by firmware]

One of the three most dreaded phrases in the computer world is “SILENT DATA CORRUPTION“.  Your data gets corrupted just enough that it isn’t readily detectable by most applications and operating systems and you think your data’s good until you actually need to use it.  This weekend as I was doing some routine maintenance tasks on my home computer and moving some data over my Gigabit LAN (now cheap and common), I got bit badly by silent data corruption.

My Realtek network adapter which is one of the most ubiquitous on-board Gigabit Adapters in the world was the culprit and it had been causing me some massive grief for months and I just didn’t know it.  Almost every modern Desktop Motherboard I know uses this particular on-board Gigabit adapter and I have to wonder how many millions of people are being affected by this issue and I have to wonder if this problem exists in any of the Server-based adapters from Realtek.  More specifically, Realtek driver version 6.191 was the culprit.

The problem had gotten so bad that if I dared use anything like µTorrent in the background, the data corruption rate was so bad that I couldn’t send any email attachments.  Even my Windows Update downloads got severely corrupted causing a permanent inability to update Windows Vista and I had to spend half a day with a good Tech Support guy from Microsoft and some Microsoft developers to get the update problem fixed.  Initially I was wondering if this was caused by uTorrent but it turns out that uTorrent was merely the trigger and it was the more extreme case because it transmitted and received so much more data.

So when I was transferring some videos from one computer to another today, I noticed that the playback was filled with playback artifacts.  I remembered that the file copy operations would force me to retry once or twice per file.  The resulting videos had severe artifacts during the playback and I knew something wasn’t right.  I downloaded a copy of Advanced CheckSum Verifier which generates a text file list with MD5 checksums that will tell me if the files have been altered.  It turned out that all but the smallest files in the directory I copied had been altered which means the data was being silently corrupted.

I shut off uTorrent and tried the file transfer again and Windows Vista didn’t prompt me to re-copy anything which was a positive sign.  I ran the checksum again and found that although the hundred megabyte file had copied correctly, two of three gigabyte sized files were corrupted.  This tells me that there is approximately one silent transmission error for every billion bytes sent so now I’m left scratching my head.  The error rate had definitely declined but the problem hadn’t entirely gone away.  Then I realized that Skype and MSN (while hardly active) were still running on the PC in question so I shut off Skype and MSN and tried to send the files again.  As I suspected, the transmission errors stopped and every file passed the MD5 checksum test.

At this point it was obvious that something was wrong with the network subsystem on the machine that could only reliably transmit data when just one application was using the network at a time.  I suspected that maybe it was the network driver so I upgraded to the latest 6.195 driver (downloaded from here).  I then ran the torture test with uTorrent going full blast while copying a few gigabytes of data to the other computer and everything copied without a single checksum error even under the worst conditions.  So it’s obvious that Realtek driver version 6.191 had been the culprit all along and it had caused me a lot of grief.  The problem is that now I’m worried about what else I corrupted during the last four months.

The immediate lesson to my readers is that if you better check your drivers because there’s a good chance you have Realtek network adapters.  If you do, it would be a good idea to upgrade to the latest version.  The long term implications are a bit more complex because I have to wonder how driver version 6.191 got through hardware qualification at Realtek and I also have to wonder how it got through Microsoft’s WHQL (Windows Hardware Qualification Labs).

Why aren’t Realtek and Microsoft doing this type of multi-gigabyte multi-application data transmission testing?  There is an expectation that WHQL means quality given the fact that the Q in WHQL stands for “quality”.  Why can’t Windows Vista (or any other Operating System) have more robust file copying capability to overcome these types of transmission errors and why can’t Windows Vista do checksum testing to warn the user if there is data corruption?  I realize that this is more CPU intensive but we’re in the era of multi-core CPUs and I don’t think it’s unreasonable for users to expect some level of reliability.

George Ou is Technical Director of ZDNet. See his full profile and disclosure of his industry affiliations.

  • Talkback
  • Most Recent of 57 Talkback(s)
Just encountered this problem with vista/ubuntu
I've just got a new laptop with this problem under both vist and linux. I downloaded the new driver but the problem remains.

How would you tell if the firmware has been upgraded?... (Read the rest)
Posted by: dh@... Posted on: 08/20/07 You are currently: a Guest | | Terms of Use
thanks  yagijd | 07/29/07
Did you have the same problem?  georgeou | 07/29/07
Not just the driver  Yagotta B. Kidding | 07/29/07
I wonder how other OSes handle this  georgeou | 07/29/07
Not just the driver  DennisErnst | 07/30/07
From my ancient...  Cardinal_Bill | 07/30/07
Its just the header  DennisErnst | 07/31/07
Yep.  Cardinal_Bill | 07/31/07
Actually, it's the data too  fde101 | 08/03/07
Can you check this?  pjotr123 | 07/29/07
This is the driver:  pjotr123 | 07/29/07
This was a driver issue  georgeou | 07/29/07
Nice article George!  bportlock | 07/29/07
Updates for other OS  bportlock | 07/29/07
I'll post the answer if someone tests the Linux drivers  georgeou | 07/29/07
See my post above...  bportlock | 07/29/07
built into kernel: still a Realtek driver  pjotr123 | 07/29/07
I understand what you're saying...  bportlock | 07/29/07
Thanks, somewhat reassured  pjotr123 | 07/29/07
I was just surprised something this serious wasn't caught in QA  georgeou | 07/29/07
No problem on Linux!  Linux Geek | 07/30/07
Silly Boy!  yyuko@... | 07/30/07
WHQL  GW Mahoney | 07/29/07
I'm the opposite. I think the warnings are good, but I think they should t  georgeou | 07/29/07
Great Article George (NT)  SO.CAL Guy | 07/29/07
Pedantry rules!  bportlock | 07/29/07
'We've been hacked"  georgeou | 07/29/07
And? (NT)  Anton Philidor | 07/29/07
'The server's down, and so is the backup'  georgeou | 07/29/07
Re: And?  yyuko@... | 07/30/07
Not that unusual it would seem  bportlock | 07/30/07
___________(application name) has encountered a problem...  Confused by religion | 07/29/07
'the RIAA is calling' (nt)  Valis Keogh | 07/30/07
Window has copmpleted your automatic update. Press any key to reboot.  Letophoro | 07/30/07
Most dreaded phrase  Real World | 07/30/07
Hey, there is some truth to that  georgeou | 07/30/07
Always thought that would make a good virus  Chad_z | 07/30/07
Seems unlikely...  wolf_z | 07/30/07
It is equally likely....  bportlock | 07/30/07
AUGH, thanks for the heads up george  Valis Keogh | 07/30/07
utorrent, bit torrent et al  WISP | 07/30/07
Huh?  ejb78923 | 07/30/07
ejb "HUH"  WISP | 07/30/07
Maybe. . .  bkinsey@... | 07/30/07
Very unlikely. A corrupted driver would not be this quirky  georgeou | 07/30/07
Does Vista ship with the Bad Driver?  WiredGuy | 07/30/07
No, an even older driver comes with Vista  georgeou | 07/30/07
Good article  Uber Dweeb | 07/30/07
Realtek  stand3 | 07/30/07
I didn't test Windows XP, but it probably wouldn't be a bad idea to upgrade  georgeou | 07/30/07
Upgrading the WXP Realtek Driver  howiem | 08/05/07
Similar problem with 2.5inch USB harddisk  ivanng@... | 07/30/07
Strange  CobraA1 | 07/30/07
I had to test it at the application layer to detect a shift in the checksum  georgeou | 07/30/07
TCP checksum offload is partially to blame  fazalmajid | 08/06/07
You're partially right, see update at top of blog  georgeou | 08/08/07
Just encountered this problem with vista/ubuntu  dh@... | 08/20/07

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

Click Here
advertisement

Recent Entries

Top Rated

    advertisement

    Archives

    ZDNet Blogs

    White Papers, Webcasts, and Downloads

    Enterprise Applications

    • Check out some of the easiest and most powerful ways to boost productivity while saving money on your application infrastructure. See ZDNet's comprehensive Enterprise Application resource center, now!
    • New Online Dashboard
    • Read about top issues IT decision-makers face every day, plus get cost effective solutions to real life IT problems. Oracle Topline