There have been debates of Windows and Linux over the years about supported hardware and device drivers. Mostly the debates have come down to these facts:
- Support for hardware in Windows is excellent for hardware released around the same time for the version of Windows that it supports, since it is the dominant desktop OS and hardware manufacturers make sure that drivers are written. Usually drivers are re-written or updated to support future versions of Windows, but there are instances where the manufacturer drops support. Since the drivers are usually closed source, nobody can pick up the code and update the drivers themselves.
- Support for hardware in Linux is also very good, but once in a while there are devices that are not supported because most drivers are written by the open source community, not the hardware manufacturer. Drivers are usually maintained in future versions of the Linux kernel which provides excellent backwards compatibility. If ever needed, a developer can pick up the source code and change or rewrite drivers for future kernels so there is always a way to get backwards support.
Recently however I came across a bad situation with Windows 7 64-bit and the Intel 82567/82568 network card, which is present in a lot of desktops and laptops. The issue? Well, there are a few issues actually, but the main problems are the NIC dropping its connection at random and also not linking to some switches right away which causes the Windows 7 logon process to lag. There is a thread on Intel's forum, that started in January 2010 which does not have any solid conclusion or solution. In fact, it still gets an occasional post added to it with new users finding it because they are experiencing the same issue. Nobody has stepped up to fix the issue, not Microsoft, not Intel, which seems to be completely driver related because Windows XP and Windows 7 32-bit work fine and don't have the issue; it's strictly with the Windows 7 64-bit driver. There is a post within this thread here and there that says somebody has no issue, however if you look at the number of total posts (currently 106) and total views (currently 54,288) of people with the issue, it clearly wreaks of a serious problem.
This is worst case, but it's an interesting one. It made me think back to see if I've seen this issue with any Linux devices, and so far I have not been able to recall one. I have seen some issues with Linux devices that have issues, and thread posts are used to report and fix the problem, along with bugtrackers at the Linux distributions like Red Hat, Debian, Ubuntu, etc. Some of the threads are quite long (and by long I'm talking a max of 30-40 posts or so), and eventually the bug is submitted and fixed in the source code. I am a heavy Fedora / Red Hat user so I have been to Red Hat's Bugzilla site a few times while searching for a solution, usually with a software problem not a driver problem. In fact, Red Hat even lets you run reports to track their bug reports/fixes if you want. Pretty impressive in my opinion and displays the power of the open source community.
How would you do this for Windows? First, you could start by searching the Microsoft site to see if the bug has been reported to Microsoft, and if they've gotten around to addressing and/or fixing it. And as far as I know, there is no bugfixing area of Microsoft's website that tracks each submitted bug and its complete history and solution like Red Hat has. Next, you would have to locate the hardware manufacturer and see if they have addressed it, and then maybe start looking for a workaround in some forums. There is no central point of contact, and this can lead to a lot of finger pointing which seems to be getting more common.