I have an ATR-2500 Mic and a Wacom Intuos Tablet. Both do not work on my Operating system (Linux Mint) when I plug them in. When I tried plugging them in on my brother's Operating System, which was practically the same, it works. I assumed it could be the hardware, but the devices work on Windows (I dualboot).

Output of lsusb:

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 28da:1102  
Bus 001 Device 002: ID 056a:033c Wacom Co., Ltd 
Bus 001 Device 006: ID 058f:6362 Alcor Micro Corp. Flash Card Reader/Writer
Bus 001 Device 005: ID 0bda:b739 Realtek Semiconductor Corp. 
Bus 001 Device 004: ID 28da:3101  
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

From that, it is clear that it is not a problem with FINDING the devices. Also, if the drivers automatically install on the exact same operating system, then it should work. What I theorized was that it bugged when installing the OS. There were lots of bugs that I had to fix, for example, the sound and graphics card. It's not my sound card's fault either; My Microphone has a little slot for headphones, so you can hear your voice while recording, so when I plugged in an audio to audio cord into it, it did send sound back into the computer. The sound, however was extremely low quality, and had a strange vibrating in the background.


Linux has a very different driver model than Windows. Windows uses a microkernel design - All of the drivers, save for a few basic, generic fallbacks, are installed and loaded as-needed. Have you ever ejected your USB drive, plugged it into a different port, and watched the driver install itself again, for a device you were just using?

Linux, meanwhile, uses a monolithic kernel design. All of the drivers are installed in the kernel and loaded when the computer boots up. This is why the kernel alone is half a gigabyte. If you're willing to compile your own kernel, you can remove the drivers you don't need, but that sounds like something to learn later.

The good news is, you don't have to compile your own kernel to add hardware support. Check the manufacturer's website for Linux drivers and add them as a kernel module. You will obviously need root access to add these modules.

If you can't find these drivers (known as binary blobs), you may be able to find open-source drivers for your hardware if you look around. You will need to compile these yourself, which can be a bit daunting for Linux newbies. That said, it's pretty easy to do once you learn the correct incantations and know how to find out which missing library stopped the compilation this time.

| improve this answer | |
  • "Linux, meanwhile, uses a monolithic kernel design. All of the drivers are installed in the kernel and loaded when the computer boots up". That is a false statement. Linux has loadable modules (seperate to the kernel image) which can be loaded during boot up or even any time after boot up. Which is exactly what you say in the next paragraph. – kaylum Nov 7 '16 at 4:25
  • The design pattern is definitely monolithic. Just because it allows loadable modules doesn't change the fact that you can add some for very specialized hardware. You could make the same criticism of my classification of Windows as a microkernel design just because it has a few generic display, keyboard, and mouse drivers. I acknowledged the exception, which makes this a nitpick. – VHS Nov 7 '16 at 4:33
  • Apparently I can't edit my comment. – VHS Nov 7 '16 at 4:33
  • *Just because it allows loadable modules for very specialized hardware doesn't change the fact that almost everything you'll ever need is loaded as part of the kernel. I didn't mean to post that other comment yet, I hit enter to make a new line and now I can't delete it. – VHS Nov 7 '16 at 4:36
  • Are you kidding? Almost every driver in Linux supports loadable modules. Even the entire file system can be loaded. Not just "specialized hardware". – kaylum Nov 7 '16 at 4:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy