Why some devices does not require usb driver on Linux, but do on Windows?

08
2014-07
  • user32569

    I have seen several project by now, that use USB interface. They usually require special driver for Windows, but not for Linux based systems. Why is that? I mean, even Windows has some generic drivers for basic USB device classes, so what does Linux support that Windows does not?

  • Answers
  • Jason C

    Also you'll find that on Linux, standard distributions (and sometimes kernel builds) tend to include a ton of interesting and specific hardware drivers already, mostly due to contributions by users over time. Windows doesn't really have a way for arbitrary developers to create drivers for common hardware then include it in all new distributions of Windows. It's a different software and distribution model. With Linux a lot of things make there way into the mainstream over time.

    It's not just that Linux has more "generic" drivers (but this is often true, especially when contributors are interested in writing as wide-scoped drivers as possible rather than vendors writing proprietary drivers for their specific hardware), it just ships with a big collection that people can contribute to and quickly make their way into main distributions, forever.

    I see all kinds of strange things that ship with Linux. For example, CAN is a serial interface and protocol for use in industrial automation and control. Use is relatively rare, but the kernel that ships with Ubuntu has generic CAN support built-in, and controller card vendor-specific interface kernel modules are shipped with Ubuntu standard. That kind of distribution isn't possible with more controlled operating systems like Windows or OSX. I wouldn't have found out about this had I not worked on a robotics project recently and, much to my surprise, not only were the interface drivers built into the kernel, but modules for my vendor's controller card were also already (surprisingly) included.


    Off-topic-ish:

    It's also worth noting that even for drivers that don't ship standard, both OS's are much better about it than they were in the past. Popular Linux distributions have been working hard to make obtaining software as easy as possible in order to stay competitive, so in many cases a driver that isn't already on the system is easily obtainable through a package repository (15 years ago it was a lot harder to get random hardware to work on Linux). Windows, in recent years, has been getting better about having a large repository of drivers available online for automatic download when hardware is attached - these days, at least for me, it is much rarer to encounter "a driver for this device could not be located" on Windows.

    It will only get better (on all OS's), too. Ease of installation of software and drivers is so ubiquitous today (especially due to advances in "app" style platforms spurred by mobile devices - and now look; you have Ubuntu's Software Center, the Windows 8 Marketplace, the iTunes Store, Google Play, even individual software like Chrome, Firefox, all have new features focused entirely on ease of finding and installing new software) that it's almost expected; it's a bug if you have to hunt around for software, where it used to be a bonus if you didn't.

  • p1xel

    AFAIK Linux includes all the "drivers" in the kernel, but Windows keeps them separate. So Linux does have drivers but they are already included with the heart of the system. Also Linux uses more generic drivers while Windows has more specific drivers to target certain devices.


  • Related Question

    Are there open source Linux drivers for the Panda Wifi USB adapter?
  • Zifre

    I'm looking for a wireless adapter for my new PC. My requirements are:

    • it supports 802.11n
    • it is cheap (under 30 USD)
    • it has good, open source Linux drivers (will work "out of the box")
    • preferably USB, but PCI is okay too

    I found the Panda Wifi (b/g/n) 150Mbps Wireless-N (802.11n) USB Adapter. It says there is Linux support. However, I want to make sure there are open source drivers included with the Linux kernel. Does anyone know what the chipset for this adapter is? What driver it would use?


  • Related Answers
  • Kravlin

    I found where they sell them in a 2 pack on amazon here. There's one review that goes into some detail about how it didn't work with Fedora or OSX, as well as the chipset which if you do decide to go for it should allow you to find the drivers. However, at a glance, not being able to find a web page for whoever makes these, and the negative review i'd have to give it a pass. The company selling them does respond to the review, but it looks like you'll have to build your own kernel if you even want a chance at this working.

    The chipset they state is an RT3070.

  • Ignacio Vazquez-Abrams

    I could not find information about this device anywhere other than Amazon (all Google hits were just clones of the information on Amazon), so as such I would be EXTREMELY hesitant to recommend purchasing it until you know at least the device's USB IDs so you can check for a driver properly.

  • soandos

    I bought this adapter from Amazon for my Fedora 13 Linux machine. They have Windows, Mac and Linux drivers on their web site. The seller (Panther Networks) gave the detailed instructions to compile and install the Linux driver on my Fedora 13 machine when I asked for it.

    My brother wanted to get a Wifi adapter to his vintage G4 iBook running Mac OS X 10.4 and I tried to install the latest Mac driver from their web site but it didn't work. I asked the seller for help. He gave me another version Mac driver and the adapter worked right away after I installed the driver.

  • smartnutz

    Update 4/29/2012 I have to eat crow on this one. Two things: 1) I tried the Panda again this morning, and it works fine. Ubuntu 12.04. This seems to indicate that this unit is plug and play. 2) As part of the Amazon sale, I received and email from Panda with an email address for tech support. Before got the unit working, I sent them strongly worded email and got a prompt and professional response asking for basic troubleshooting information (is the led blinking, run lsusb and ifconfig and forward output to support. Right after I set the response email, I got the unit to work, so I can't tell you anything more about the support, but FYI the lsusb returned -- Bus 001 Device 002: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter


    I purchased the Panda Wifi (b/g/n) 150Mbps Wireless-N (802.11n) USB Adapter from Amazon this week. I hope this answers some questions and saves some heartache.

    The supplied driver disk is labeled. "RT2070&3x7x_v1.8" — My Ubuntu 11.10 and new 12.04 failed to detect it. No "plug and play" as reported in Amazon reviews.

    To test, I installed it in a Windows Vista machine. I had to run the install program from the disk - Windows did not automatically detect and install. It works fine. In device manager the driver is listed as rt2870.sys version "3.01.08.0000" by Ralink Technology, and shows two hardware ids: USB\Vid_148f&Pid_3070&REV_0101 and USB\Vid_148f&Pid_3070 I guess this means this is a Ralink rt3070 chipset, using the rt2870 driver?

    For Linux, on the supplied driver disk is file DPO_RT3X7X_LinuxSTA_V2[1].3.0.4_20100604.tar.bz2.

    I am no bithead, but I un-tarred the file and opened the readme, which seems to give some reasonable instructions on how to MAKE the driver from the source code files provided. I am about to embark on that voyage. I am starting with the wikipedia article on MAKE (Software).

    If you want plug and play, this is not for you.

    The tiny user manual supplied does not mention Linux or Mac. It does have a website. This is a lousy site, but you can download drivers, if you can determine which one you need.

  • Broam

    I looked up the model number w/ Google. No chipset information was returned. My guess is that it's Ralink or Realtek, but you'll have to buy one to find out.