Supported Hardware

From LinuxTVWiki
Revision as of 13:47, 2 March 2014 by Ethridgela (talk | contribs) (→‎Determining the Device's Identity: Grammar: Corrected "no, or next to little" to more concise "little or no")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This page is intended to help the "end user" determine whether or not the V4L-DVB device they own, or one that they are considering acquiring, is supported under Linux.

Note: Just because your device happens to have a chip on it that corresponds to some existing driver does NOT mean your product is supported. The driver has to be aware that it's related to some hardware (typically through the subsystem ID from the USB ID or PCI ID). If the driver doesn't recognize/bind to your particular hardware, then the module will probably load but then proceed to not do anything. In other words, support for your device would have to be added to the driver.

Determining the Device's Identity

Normally the device name and model are written somewhere on either the device itself, its box/packaging or, at the very least, listed in its manual. That may seem obvious enough, but a surprising number of devices are available with little or no model identification. Ordinarily, that would make for a rather problematic exercise of trying to find support information, however, there are a couple of steps you can do to help give you a starting point for your search (and these steps are just as relevant in the case where you know the device's identity, and you know that it is unsupported, but are seeking to see if it is possible to add support for it):

A. With the device NOT installed within or attached to the system:
Take note of any visual clues that will help identify the device. For PCI/PCIe based devices, see if there are any written text/numerical markings printed directly on the board or on IC components. With USB based devices, as they tend to be completely encased, it is difficult, if not impossible, to make any visual identifications of components used in the device's design without resorting to physically prying it open. The degree of difficulty of undertaking such a task can vary greatly, but in most cases the user can, with patience and care, find a way to non-destructively disassemble the device. (Nonetheless, anyone attempting such a venture should be prepared to fully accept the consequences of their own actions in the event of an unsuccessful attempt). If you are not willing to do so, proceed to step "B".

Also note that, for older devices, the former bttv-gallery was a good resource for helping to identify a device; see here for more details.

B. With the device installed within or attached to the system:
For PCI/PCIe based devices, the output of the following command may be able to aide you in making a determination

$ /sbin/lspci -vnn

In the output from those commands, look for lines with "Multimedia video controller", "Multimedia controller", "Multimedia adapters" or something similar. The item of particular interest is the Subsystem ID for that entry.

Similarily, for USB devices, look at the output generated from the command

$ /sbin/lsusb -v

Note: Subsystem ID's are usually unique, but in some cases they are not. Meaning that sometimes two different devices have, unfortunately, been given the same ID. This in turn makes obtaining as many as possible identifiable aspects about a device (such as described in point "A" above) an important factor in making a precise device identification.

Support Information Resources

Armed with the information you obtained above (such as model name, subsystem ID, etc) try searching:

The V4L-DVB Wiki

A good first step is to check whether the device is listed as supported within the appropriate section of the wiki (see the "Hardware Device Information" section, as also linked to from the Main Page for a starting point for your search. Though, it might be a good idea to also search this wiki using the device's name or the manufacturer name). If the device is not cited anywhere as being supported, then there is a good chance that it will not work under Linux. However, as the information in the wiki is not always current, and far from exhaustive, there are also other sources from which you can check.

Note: Please be nice to the community and add your insights about your device to the appropriate area in this wiki if there currently is none !!!

The V4L-DVB source code

Navigate through the Linux media driver files (e.g. on your system try /usr/src/linux/drivers/media/, or check the corresponding directories on the git or hg repos you are interested in) and search for the relevant "xxxx-cards.c" file, as it will list devices supported by the "xxxx" driver. Example, within the file saa7134-cards.c is a listing of all the saa713x media controller IC based devices supported by the saa7134 driver. Similarly for exm28xx-cards.c, cx88-cards.c, etc. etc. ...

The Mailing Lists

You should also consider consulting the mailing list archives to see if there is any mention of the device.

Older mailing list archives: Make sure you check both the V4L and DVB mailing lists, as topical misplacement/mis-posting often occurs (as many users are unaware of the distinction between the two different, but in many ways intertwined, subsystems).

  • MARC provides a comprehensive searchable V4L archive ... the actual m/l is archived here but requires authentication to access, nor is it as easily searched through
  • MARC also provides a searchable DVB archive, but its records are not comprehensive (and, as well as, contain a large gap). Therefore, for inquiries relevant to older equipment you will have to sift through either the new DVB mailing list (which began Feb 2005) or use the likes of either a google site search or spinics to find even older (as well as present) DVB m/l postings...some further resources are also mentioned here.

If that search step also proves unsuccessful, then you may wish to consider directly inquiring about the device's status on the relevant mailing list (but please search the archives first!) or #irc channel. Send the information obtained from steps "A" and "B" to the mailing list, along with other important information (such as what type of device it is, a link to a product page if you can find one etc etc). But please first do a search through the archives* to make sure that this hasn't been submitted previously --- a simple way to check if this has been the case is to search the archives for your device's subsystem ID (as determined in step "B").

Elsewhere on the Internet

It is worth mentioning that there may be support for your device under Linux offered outside of that provided by LinuxTV, so a google search, using the appropriate combinations of terms, is also recommended. In addition, there are likely a number of websites (outside of the V4L-DVB wiki) that track hardware support -- For example, you can take a look at to see the note for the different devices.