The majority of computer hardware and software sold on the mass market today is closed in its internal workings. While this is perfectly understandable and makes sense from an economic standpoint, it simply is not manageable in any kind of real-world technical sense.
Think about it: How is anyone supposed to fix something if they don't know how it works? Car mechanics are able to fix cars because all major car manufacturers publish detailed diagrams and specifications for every single component of a car. Mechanics use this information extensively when they fix those cars; Without this information, repairing cars would be impossible in a day-to-day sense. Mechanics would only be able to make educated guesses as to how to fix problems.
This is the situation that computer troubleshooting has been reduced to. Because most commercial software is closed-source, nobody except its programmers actually understand the various instructions that make up the program. Since this information is not possible to obtain, how can anyone begin to troubleshoot that software in a reasonably methodical manner? They can't, and troubleshooting therefore boils down to a series of tricks that may or may not solve the problem, like removing all hardware peripherals, stopping all background processes, downloading the latest update patches for programs, and the ultimate so-called fix: Reformatting and reinstalling everything from scratch. The fact that these are actually accepted "troubleshooting" practices clearly lays bare the ludicrous state of the computer industry: Nobody actually knows how computers work, so people blindly grope at ineffective techniques which don't even come close to actually dealing with the real problems that lie in the software code.
These kinds of problems arise most frequently with Microsoft Windows, but such problems can occur in any closed-source code. All major PC BIOSes are closely guarded code, for example, and as a result, when problems arise with how BIOSes treat certain peripherals or interrupts, there is no way to understand exactly how or why such events happen, let alone any way to actually change these events by fixing the faulty code. It's worth noting that many manufacturers do not even support their own products, simply because they know there is no way for users to fix many common problems without re-writing binary code.
I can understand the frustration that users experience when they encounter these kinds of problems, but people need to understand that any product which cannot be understood, cannot be reliably fixed. As such, general tech-support people should not be expected to be able to work with any closed-source software, firmware, or hardware.
Questions like this are exceedingly common. For example, "What is the best video card for 3D gaming?", or "What is the best scanner for scanning newspaper articles?" When you buy hardware, you need to look at PRODUCT SPECIFICATIONS, not just a model name. The company and model name on the hardware matter much less than what the hardware is actually capable of. The question you need to ask is "What should I look for in hardware?", not "What model of hardware should I buy?"
There exists within the technical support profession a vast sentiment of elitism harbored by support personnel who seem to believe that some "stupid" questions asked by users who don't know much about computers should be beneath the skills of the support tech. This type of attitude is precisely what earns techie types a bad name. If users knew as much as technicians, they wouldn't need to call tech support lines. Duh. Technicians exist to share their knowledge with people who need help.
Of course, different users have different levels of technical knowledge, and the same is true of technicians. This is why most tech-support lines are staffed by different levels of support techs. When a user first calls the line, they will typically get a Level I Support Technician who knows the basics of troubleshooting. If that tech is not able to solve the problem, the call gets "escalated" to a Level II Support Technician. Larger companies have Level III and Level IV Support Technicians as well. The point is that there's a job position to match every tech's (and user's) skill level, so if you don't feel like fielding "dumb" questions, then become a Level IV Support Tech if you're so smart.
Back to the main page