https://www.linuxtv.org/wiki/api.php?action=feedcontributions&user=CityK&feedformat=atomLinuxTVWiki - User contributions [en]2024-03-19T12:21:11ZUser contributionsMediaWiki 1.39.6https://www.linuxtv.org/wiki/index.php?title=Device_nodes_and_character_devices&diff=32795Device nodes and character devices2014-01-19T14:55:47Z<p>CityK: /* For a V4L device */ driver side videoN determination</p>
<hr />
<div>When a driver module loads, the device manager [[Wikipedia:udev|udev]] will "automagically" create '''device nodes''' on the ''/dev'' hierarchy.<br />
<br><br />
{{Note|If you are unfamiliar with what a DVB or V4L device is, please see [[What is V4L or DVB?|here]] }}<br />
<br><br />
<br />
==For a DVB device==<br />
A properly loaded device module should result in a non-empty ''/dev/dvb'' directory. You can check on whether this is true with the following command:<br />
: <code>ls -l /dev/dvb/</code><br />
(alternatively, you can browse your directory structure with the graphical file manager of your choice). More specifically, the output of the above command should reveal that ''/dev/dvb/'' is populated by "adapter''N''" (whereby, in terms of enumerating the devices installed in the system, ''N''=0 to whatever <sup id="fn_1_back">[[#fn_1|1]]</sup>). For example, if you have but a single DVB device installed in your system, then expect to find /dev/dvb/adapter0. <br />
<br />
===DVB character devices===<br />
The [[Development: Linux DVB API history and future|Linux DVB API]] provides for six unix style character devices which allow control of the hardware components found on a particular DVB device adapter.It is under each adapterN directory that you will find these character devices. The command <br />
: <code>ls -l /dev/dvb/adapter0 </code><br />
reveals the '''character devices''' associated with adapter0 for which the drivers have control. If you have more then one DVB device, you can see the same for all with <br />
: <code>ls -l /dev/dvb/adapter* </code><br />
Similar to the way in which the device adapters are enumerated, the character devices follow the form of ''M''=0 to whatever <sup id="fn_1_back">[[#fn_1|1]]</sup>. For example: ''/dev/dvb/adapter0/frontend0'' .... if the same device had a second frontend, that character device would be enumerated by ''/dev/dvb/adapter0/frontend1'' ... if you had another dvb adapter in the system, then you would see ''/dev/dvb/adapter1/frontend0'' and so forth. <br />
<br />
In brief, these character devices are:<br />
* ''frontend''<br />
** The ''frontend'' character device controls the [[tuner]] and [[demodulator]] hardware ... (Note: there are different types of these hardware components for the different [[Digital Video Broadcasting|DTV standards]])<br />
* ''demux''<br />
** The ''demux'' character device controls the filters for processing the [[Transport Stream|transport stream]] (TS). In essence, the demultiplexer splits the TS into its component parts (which usually entail being several audio and video streams, as well as some data streams)<br />
*** ''dvr''<br />
**** The ''dvr'' is a logical device that is associated with the demux character device ... it delivers up a TS that was multiplexed from the sub-streams specified and filtered, from the original TS, by the demux for either:<br />
::::(1) immediate playback --- in which case it has to be decoded either: <br />
::::: a) on the device itself ... [now days its quite rare for PC devices to have hardware decoding ([[Hardware or Software Decoder?|see discussion]]), but this is certainly not the case for [[STB]]s)<br />
::::: or<br />
::::: b) downstream by the system [the usual route for PC devices -- i.e. software decoding via the host CPU, and possibly assisted by the GPU ... (see [[Hardware_or_Software_Decoder?#Software_Decoding_Devices|here]] for more discussion) ]<br />
::::or<br />
::::(2) saving to disk for later playback.<br />
:In essence, the ''demux'' decomposes the original TS and selects/filters particular underlining sub-streams and the dvr then repackages those selections within a TS. Typically the multiplexed TS provided by the ''dvr'' would be composed of an individual program stream<br />
* ''net''<br />
** The ''net'' character device controls the ability to provide IP-over-DVB (e.g. satellite based broadband internet service ... Note: although it is not mentioned in the [http://linuxtv.org/downloads/v4l-dvb-apis/ch14.html API documentation], this functionality is not restricted to satellite (DVB-S) alone -- any DVB capable device can support it, provided you use the dvb net module (i.e. it is possible over DVB-C and DVB-T as well). The dvbnet script in the [[LinuxTV dvb-apps|dvb-apps]] handles this. As an example, both Scientific Atlantic and Cisco have DVB STB devices which can provide such broadband services.)<br />
* ''video''<br />
** The ''video'' character device controls the MPEG2 video decoder of the DVB hardware (if present ... found on so called "[[Full-featured Card#(i) "Full-Featured" or "Premium" Cards|full-featured device]]s") .... Note: do NOT confuse this with the video character device created by V4L devices (see the [[Device nodes and character devices#V4L_character_devices|discussion below]]), as they are entirely different things. Specifically, the DVB video character device only controls decoding of the MPEG video stream, not its presentation on the computer or TV screen. This later function, on a full-featured device, is typically handled by an associated video4linux device IC, which allows scaling and defining output windows. Control of this later device is established through a V4L character device, specifically, ''/dev/video''.<br />
* ''osd''<br />
** The ''osd'' character device is not documented in the API, but it stems from the legacy OSD API for so called "[[Full-featured Card#(i) "Full-Featured" or "Premium" Cards|full-featured device]]s". The draft version of the never finished v4 Linux DVB API makes passing mention of this character device: "The Linux DVB API Version 3 was focussed on the popular Siemens PCI DVB card. Due to the pragmatic evolution of the API, there are namespace inconsitencies and inconsitent remains of things that really don’t belong into the API, like ad-hoc DVD subtitle support or a very limited OSD API design." Nonetheless, when dealing with a full-featured card, it will indeed show up under the adapter node, as illustrated by this end user supplied [https://lists.ubuntu.com/archives/ubuntu-users/2008-August/155249.html example].<br />
* ''audio''<br />
** The ''audio'' character device controls the MPEG2 audio decoder of the DVB hardware (if present ... found on so called [[Full-featured Card#(i) "Full-Featured" or "Premium" Cards|full-featured device]]s")<br />
* ''ca''<br />
** The ''ca'' character device controls conditional access hardware (i.e. the [[CI]], [[CAM]])<br />
<br />
Not all of the character devices defined by the DVB API need be present for a device, specifically because some functionality is not needed; in point:<br />
* Most DVB devices don’t have their own MPEG decoder because: <br />
** modern CPUs and the ability to offload decoding to video card GPUs has pretty much long replaced the need of the so called "full feautred" class of DVB devices, or<br />
** may be foregone for datacasting type devices (e.g. for data-only uses like “internet over satellite”) <br />
::In any regard, for either reason, this results in the omission of the ''audio'' and ''video'' character devices<br />
* Not every device or STB provides conditional access hardware ... i.e. leads to the omission of the ''ca'' character device<br />
* The DVB API may also be used for MPEG decoder-only PCI cards, in which case, for these rare devices, there exists no need for the ''frontend'' character device<br />
<br />
In fact, a typical DVB device these days will usually only contain three of these character devices (''frontend'', ''demux'', ''net''), as well as the special logical device (''dvr'').<br />
<br />
==For a V4L device==<br />
Similarly, with "V4L devices", a properly loaded device module should result in a non-empty ''/dev/v4l'' directory. You can check on whether this is true with the following command:<br />
<code>ls -l /dev/v4l</code><br />
What you should find in that '''device node''' is a sub directory, named "by-path", that contains symbolic links to '''character device''' files, whose conventional names and functions are summarized in the table below. <br />
{{Note|You can determine which device maps to ''videoN'' by matching, for example (in the case of a pci card), the domain:bus:slot.func information provided by the command lspci to the associated links in the by-path directory .... Somewhat similarly, QUERYCAP ioctl() or sysfs can be used to expose which V4L driver maps to ''videoN'' [http://www.mail-archive.com/linux-media@vger.kernel.org/msg70058.html] }}<br />
<br />
===V4L character devices===<br />
The [[Development: Video4Linux APIs|V4L2 API]] defines three special character devices. In the table below, and ensuing discussion, we make note of a fourth, the Teletext Interface, which was defined by the older V4L1 API, but is not, nor intended to be, defined in the newer V4L2 API. This fourth character device does, however, receive de facto support given that "for compatibility reasons the character device file names recommended for V4L2 video capture, overlay, radio, teletext and raw vbi capture devices did not change from those used by V4L" and can be serviced "through the V4L2 compatibility layer in the videodev kernel module". <sup id="fn_1_back">[[#fn_2|2]]</sup> <br />
<br />
{| class="wikitable" <br />
|+'''Character Device Files Defined by the V4L2 API'''<br />
|-<br />
! Device File !! Minor Range !! Function<br />
|-<br />
| ''/dev/video'' <sup id="fn_1_back">[[#fn_3|3]]</sup>, ''/dev/video0'' to ''/dev/video63'' || 0-63 ||<br />
* Video Capture Interface<br />
* Video Overlay Interface <br />
* Video Output Interface<br />
* Video Output Overlay Interface<br />
<br />
|-<br />
| ''/dev/radio'' <sup id="fn_1_back">[[#fn_3|3]]</sup>, ''/dev/radio0'' to ''/dev/radio63'' || 64-127 || <br />
* Radio Interface AM/FM Radio Devices<br />
* RDS Interface<br />
<br />
|- <br />
| ''/dev/vtx'' <sup id="fn_1_back">[[#fn_2|2,]] </sup><sup id="fn_1_back">[[#fn_4|4]]</sup>, ''/dev/vtx0'' to ''/dev/vtx31'' || 192-223 || <br />
* Teletext Interface<br />
<br />
|- <br />
| ''/dev/vbi'' <sup id="fn_1_back">[[#fn_3|3]]</sup>, ''/dev/vbi0'' to ''/dev/vbi31'' || 224-239 || <br />
* Raw VBI Data Interface <br />
* Sliced VBI Data Interface<br />
|}<br />
<br />
The most prominently recognized are the ''/dev/videoN'' character devices (whereby, in terms of enumerating the devices installed in the system, ''N''=0 to whatever <sup id="fn_1_back">[[#fn_1|1]]</sup>). You can check for them within your system with the following command:<br />
<code>ls -l /dev/video*</code><br />
<br />
A more detailed explanation of the V4L character devices are outlined in point form below:<br />
* ''/dev/video'' <br />
** Video Capture Interface<br />
*** Video capture devices sample an analog video signal and store the digitized images in memory. <br />
*** ''/dev/video'' and ''/dev/video0'' to ''/dev/video63'' with major number 81 and minor numbers 0 to 63.<br />
*** Note: ''/dev/video'' is typically a symbolic link to the preferred video device (''/dev/video0'') <sup id="fn_1_back">[[#fn_3|3]]</sup><br />
*** Note the same device files are used for video output devices<br />
** Video Overlay Interface (also known as Framebuffer Overlay or Previewing)<br />
*** accessed through the same character special files as video capture devices. <br />
*** Note the default function of a ''/dev/video'' device is video capturing. The overlay function is only available after calling the VIDIOC_S_FMT ioctl.<br />
** Video Output Interface<br />
*** Video output devices encode stills or image sequences as analog video signal. With this interface applications can control the encoding process and move images from user space to the driver.<br />
** Video Output Overlay Interface<br />
*** Some video output devices can overlay a framebuffer image onto the outgoing video signal. Applications can set up such an overlay using this interface, which borrows structures and ioctls of the Video Overlay interface.<br />
*** The OSD function is accessible through the same character special file as the Video Output function. Note the default function of such a ''/dev/video'' device is video capturing or output. The OSD function is only available after calling the VIDIOC_S_FMT ioctl.<br />
**** Framebuffer<br />
***** Contrary to the Video Overlay interface the framebuffer is normally implemented on the TV card and not the graphics card. On Linux it is accessible as a framebuffer device (''/dev/fbN''). Given a V4L2 device, applications can find the corresponding framebuffer device by calling the VIDIOC_G_FBUF ioctl. <br />
<br />
* ''/dev/radio''<br />
** Radio Interface<br />
*** accessed through character device special files named ''/dev/radio'' and ''/dev/radio0'' to ''/dev/radio63'' with major number 81 and minor numbers 64 to 127. Note that ''/dev/radio'' is a symbolic link to ''/dev/radio0'' <sup id="fn_1_back">[[#fn_3|3]]</sup><br />
** RDS Interface<br />
<br />
* ''/dev/vtx''<br />
** Teletext Interface Chips <br />
*** devices receiving and demodulating Teletext data [ETS 300 706, ITU BT.653], <br />
*** the Teletext API was integrated into the original V4L API. There are no plans to replace the Teletext API or to integrate it into V4L2. <sup id="fn_1_back">[[#fn_2|2]]</sup><br />
*** the Telextext Interface is accessed by character device file names ''/dev/vtx0'' to ''/dev/vtx31'', device major number 81, minor numbers 192 to 223. <sup id="fn_1_back">[[#fn_4|4]]</sup><br />
<br />
* ''/dev/vbi''<br />
** Raw VBI Data Interface<br />
*** VBI devices are accessed through character device special files named ''/dev/vbi'' and ''/dev/vbi0'' to ''/dev/vbi31'' with major number 81 and minor numbers 224 to 255. <br />
*** ''/dev/vbi'' is typically a symbolic link to the preferred VBI device. <sup id="fn_1_back">[[#fn_3|3]]</sup> <br />
*** This convention applies to both input and output devices.<br />
*** VBI capturing and output is also available as device function under ''/dev/video''. To capture or output raw VBI data with these devices applications must call the VIDIOC_S_FMT ioctl. Accessed as ''/dev/vbi'', raw VBI capturing or output is the default device function.<br />
** Sliced VBI Data Interface<br />
*** Sliced VBI devices use hardware to demodulate data transmitted in the VBI. V4L2 drivers shall not do this by software, see also the raw VBI interface. <br />
*** Sliced VBI capture and output devices are accessed through the same character special files as raw VBI devices.<br />
*** When a driver supports both VBI interfaces, the default function of a ''/dev/vbi'' device is raw VBI capturing or output, and the sliced VBI function is only available after calling the VIDIOC_S_FMT ioctl <br />
*** Likewise a ''/dev/video'' device may support the sliced VBI API, however the default function here is video capturing or output.<br />
<br />
Not all of the character devices defined by the V4L2 API need be present for a device, specifically because some functionality is not needed or present on the device. For example, unless the device contains a decoder IC for AM/FM radio reception, the ''/dev/radio'' character device need not be created by the driver.<br />
<br />
==Associated Nodes and Character Devices for Analog Audio Input/Output==<br />
* /dev/mixer<br />
* /dev/dsp<br />
<br />
<br />
==Endnotes==<br />
*<cite id="fn_1">[[#fn_1_back|Note 1:]] </cite> The real life limitation of the "whatever" comment is given by the max. adapter definition in the respective device driver (Note: this is usually set at 8, though, this can be adjusted for more by altering the source code and recompiling. Also note that a [http://linuxtv.org/hg/v4l-dvb/rev/496b71d9a1c0 patch] was submitted in Sept/09, which will allow configuration of the max adapter definition) <br />
*<cite id="fn_2">[[#fn_2_back|Note 2:]] </cite> See the V4L2 API for details regarding the Teletext Interface<br />
*<cite id="fn_3">[[#fn_2_back|Note 2:]] </cite> The V4L2 API clearly denotes, in the case of the three defined character devices, that the respective base is a symbolic link to the respective N=0 character device (i.e. ''/dev/video'' --> ''/dev/video0''). For the ''video'' and ''radio'' character devices, this is also cited within the {Linux}/Documentation/devices.txt file<br />
*<cite id="fn_4">[[#fn_4_back|Note 4:]] </cite> While no mention of it is made in the V4l2 API, presumably the base ''/dev/vtx'' character device is a symbolic link to ''/dev/vtx0''; as this would be similar in case with the three defined character devices.<br />
<br />
==Also See==<br />
* For more comprehensive information, it is suggested that you review the DVB and V4L APIs<br />
* For more comprehensive information on the associated audio nodes, it is suggested that you review ALSA and/or OSS related materials<br />
<br />
==External Links==<br />
* [http://en.wikipedia.org/wiki/Udev Wikipedia's udev article]<br />
* [http://en.wikipedia.org/wiki/Device_file Wikipedia's device file system (devfs) article]<br />
* [http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard Wikipedia's Filesystem Hierarchy article]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=VIVI&diff=32264VIVI2013-09-21T19:04:08Z<p>CityK: insert screencap image of VIVI in action</p>
<hr />
<div>[[image:vivi_run_by_motv.jpg |thumb|[[motv]] displaying the VIVI driver's generated dynamic test pattern]] <br />
<br />
VIVI is a [[Development: Video4Linux APIs|V4L2]] based '''vi'''rtual '''vi'''deo kernel module. <br />
<br />
It acts as a device driver to a virtual video input device which it creates (i.e. it emulates a real video device using the V4L2 API, without there actually being any physical hardware device present within the system). The driver generates a dynamic vertical colour bar test pattern, overlaid with a timestamp and basic video property information, and which is available for viewing through V4L2 software applications. Within the viewing app, changing the source input option for the virtual device will result in slightly different colour bar test patterns.<br />
<br />
<br />
'''Purpose:'''<br><br />
VIVI is useful:<br />
* for [[V4L_Test_Suite|testing apps with V4L2]]<br />
* as a base “example of how V4L2 drivers should be written. vivi only uses the vmalloc() API, but it's good enough to get started with” ([https://www.kernel.org/doc/Documentation/video4linux/videobuf videobuf kernel documentation]) ... note: you would want to use the videobuf2 framework, as it greatly simplifies the work of writing a v4l2 driver [http://www.mail-archive.com/linux-media@vger.kernel.org/msg60814.html]<br />
<br />
<br />
'''Some Technical Details:'''<br><br />
The vivi driver produces a CPU load because of its generation of a video image; something which is not of an issue in the case of real V4L2 drivers (i.e. device drivers for real physical hardware that accept an external video input signal). <br />
<br />
In late 2012, vivi was substantially improved in regards to the image generation (note: this work gained inclusion into the 3.9 kernel) and, consequently, CPU loading should now be reduced by quite a bit. For more info, in particular to ideally making a driver's buffers available to userspace through mmap() as opposed to via doing a memcpy (which will produce a high CPU load), see this discussion thread: http://www.mail-archive.com/linux-media@vger.kernel.org/msg60684.html <br />
<br />
<br />
'''Usage:'''<br><br />
First insert the driver<br />
sudo modprobe vivi<br />
Thereafter, open V4L2 viewing apps as usual.<br />
<br />
<br />
==Also See==<br />
* [http://git.linuxtv.org/media_tree.git/blob/HEAD:/drivers/media/platform/vivi.c VIVI source code]<br />
* Video Loopback (some loopback drivers provide somewhat similar functionality) <br />
<br />
==External Links==<br />
* A couple of older sources that provide some background information regarding VIVI:<br />
** [http://lwn.net/Articles/203971/ LWN article about the VIVI driver]<br />
** [http://v4l.videotechnology.com/vivi.html old Video Technology webpage for the VIVI driver] <br />
<br />
[[Category:Drivers]]<br />
[[Category:Software]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=File:Vivi_run_by_motv.jpg&diff=32263File:Vivi run by motv.jpg2013-09-21T18:57:19Z<p>CityK: Seen here is a screen cap of the motv V4L2 viewing app displaying the dynamic vertical colour bar test image generated by the VIVI driver</p>
<hr />
<div>Seen here is a screen cap of the motv V4L2 viewing app displaying the dynamic vertical colour bar test image generated by the VIVI driver</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=VIVI&diff=32262VIVI2013-09-21T18:48:19Z<p>CityK: reworked page; expanded info, updated links etc.</p>
<hr />
<div>VIVI is a [[Development: Video4Linux APIs|V4L2]] based '''vi'''rtual '''vi'''deo kernel module. <br />
<br />
It acts as a device driver to a virtual video input device which it creates (i.e. it emulates a real video device using the V4L2 API, without there actually being any physical hardware device present within the system). The driver generates a dynamic vertical colour bar test pattern, overlaid with a timestamp and basic video property information, and which is available for viewing through V4L2 software applications. Within the viewing app, changing the source input option for the virtual device will result in slightly different colour bar test patterns.<br />
<br />
<br />
'''Purpose:'''<br><br />
VIVI is useful:<br />
* for [[V4L_Test_Suite|testing apps with V4L2]]<br />
* as a base “example of how V4L2 drivers should be written. vivi only uses the vmalloc() API, but it's good enough to get started with” ([https://www.kernel.org/doc/Documentation/video4linux/videobuf videobuf kernel documentation]) ... note: you would want to use the videobuf2 framework, as it greatly simplifies the work of writing a v4l2 driver [http://www.mail-archive.com/linux-media@vger.kernel.org/msg60814.html]<br />
<br />
<br />
'''Some Technical Details:'''<br><br />
The vivi driver produces a CPU load because of its generation of a video image; something which is not of an issue in the case of real V4L2 drivers (i.e. device drivers for real physical hardware that accept an external video input signal). <br />
<br />
In late 2012, vivi was substantially improved in regards to the image generation (note: this work gained inclusion into the 3.9 kernel) and, consequently, CPU loading should now be reduced by quite a bit. For more info, in particular to ideally making a driver's buffers available to userspace through mmap() as opposed to via doing a memcpy (which will produce a high CPU load), see this discussion thread: http://www.mail-archive.com/linux-media@vger.kernel.org/msg60684.html <br />
<br />
<br />
'''Usage:'''<br><br />
First insert the driver<br />
sudo modprobe vivi<br />
Thereafter, open V4L2 viewing apps as usual.<br />
<br />
<br />
==Also See==<br />
* [http://git.linuxtv.org/media_tree.git/blob/HEAD:/drivers/media/platform/vivi.c VIVI source code]<br />
* Video Loopback (some loopback drivers provide somewhat similar functionality) <br />
<br />
==External Links==<br />
* A couple of older sources that provide some background information regarding VIVI:<br />
** [http://lwn.net/Articles/203971/ LWN article about the VIVI driver]<br />
** [http://v4l.videotechnology.com/vivi.html old Video Technology webpage for the VIVI driver] <br />
<br />
[[Category:Drivers]]<br />
[[Category:Software]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Dvb_constellation&diff=31992Dvb constellation2013-05-12T22:08:03Z<p>CityK: add some links</p>
<hr />
<div>Patches for Linux kernel (v4l code) and for v4l-utils should be applied to obtain I&Q constellation described in this article.<br />
<br />
Patch for Linux kernel:<br />
http://stand.netup.tv/downloads/iq_constellation.patch<br />
<br />
Patch for v4l-utils:<br />
http://stand.netup.tv/downloads/iq_constellation_v4l-utils.patch<br />
<br />
== Receiving I&Q data from DVB demodulator ==<br />
<br />
<pre><br />
dvb_const -f /dev/dvb/adapter0/frontend1 -o iq_dvbc_qam256.txt -p 100000<br />
</pre><br />
<br />
received data (100000 points) will be saved into iq_dvbc_qam256.txt file. File format is simple text csv. Example of received data:<br />
<br />
<pre><br />
-175,-45<br />
-46,110<br />
-241,-178<br />
176,11<br />
-50,173<br />
16,44<br />
</pre><br />
<br />
Values are signed. First I part, second Q part.<br />
<br />
== Visualization of received data ==<br />
<br />
'''dvb_const_plot''' utility build PNG image with constellation:<br />
<br />
<pre><br />
dvb_const_plot -i iq_dvbc_qam256.txt -o iq_dvbc_qam256.png -c "SNR=38dB QAM256" <br />
</pre><br />
<br />
resulting image will be saved into iq_dvbc_qam256.png. Here is example of images received with [[NetUP_Dual_DVB_T_C_CI_RF|NetUP Dual DVB-T/C-CI RF]] and [[NetUP_Dual_DVB_S2_CI|NetUP Dual DVB S2 CI]] cards.<br />
<br />
<gallery><br />
File:Iq_dvbc_qam16_38db.png|QAM16 constellation (DVB-C)<br />
File:Iq_dvbc_qam64_38db.png|QAM64 constellation (DVB-C)<br />
File:Iq_dvbc_qam128_38db.png|QAM128 constellation (DVB-C)<br />
File:Iq_dvbc_qam256_36db.png|QAM256 constellation (DVB-C)<br />
</gallery><br />
<br />
<gallery><br />
File:iq_dvbs2_32apsk.png|32APSK constellation (DVB-S2)<br />
File:iq_dvbs2_16apsk.png|16APSK constellation (DVB-S2)<br />
File:iq_dvbs2_8psk.png|8PSK constellation (DVB-S2)<br />
File:iq_dvbs2_qpsk.png|QPSK constellation (DVB-S2)<br />
</gallery><br />
<br />
== Also See ==<br />
* [[Quadrature Amplitude Modulation]]<br />
* [[Quadrature Phase Shift Keying]]<br />
<br />
== External links ==<br />
<br />
[http://en.wikipedia.org/wiki/Constellation_diagram] Constellation diagram<br />
<br />
[http://www.cisco.com/en/US/prod/collateral/video/ps8806/ps5684/ps2209/prod_white_paper0900aecd805738f5.html] Digital Transmission: Carrier-to-Noise, Signal-to-Noise & Modulation Error Ratio</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hardware_device_information&diff=31798Hardware device information2013-03-02T19:14:22Z<p>CityK: Changed the message after pondering a post I had read elsewhere -- the onus is on USERS to keep the info current; there is/are no particular person(s) committed to such task</p>
<hr />
<div>__NOTOC__<br />
__NOEDITSECTION__<br />
<div style="margin:0; border:1px solid #6289AB; padding:0.5em; background-color:#F7F9FB;"><br />
{| style="background-color:#F7F9FB;" cellspacing=0 cellpadding=5 border=0 <br />
| valign=top | [[Image:Hardware_icon.png|50px]] <br />
|<br />
=='''Hardware Device Information:'''==<br />
* [[List of Device Vendors|Sortable List of Device Vendors]]<br />
|}<br />
<br />
{{Note|The information contained within the respective sections is compiled by user submissions. Hence, it is far from exhaustive and, secondly, may contain errors, <br />
despite the good intentions and best efforts to do otherwise. Please contribute and help to keep these lists up-to-date and factual, so that they are useful for everyone!}} <br />
<br />
<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
[[Image:V4l_label.png|50px]] '''Analog Devices:'''<br><br />
<br />
* [[Graphics cards with TV Tuner and/or Capture facilities]]<br />
* [[Video via PCI]]<br />
* [[Video via PCI Express (PCIe)]]<br />
* [[Video via USB]]<br />
* ''Other analogue devices:''<br />
** [[V4L IEEE1394 devices|IEEE1394 devices]] (aka FireWire or i.LINK)<br />
** [[Loopback]]<br />
** [[Radio devices|Radio]]<br />
** [[Scanners]]<br />
** [[Webcam Devices|Webcams]]<br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
[[Image:DVB_label.png|50px]] '''Digital Devices:'''<br><br />
<br />
* [[ATSC Devices]]<br />
* [[DMB-T/H Devices]]<br />
* [[DVB-C Devices]]<br />
* [[DVB-S Devices]]<br />
* [[DVB-S2 Devices]]<br />
* [[8-PSK Turbo Coded Devices]]<br />
* [[DVB-T Devices]]<br />
* [[DVB-T2 Devices]]<br />
* [[ISDB-T Devices]]<br />
* [[Pre-configured DVB Systems and Set Top Hardware]]''<br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
[[Image:Peripheral_component_icon.png|50px]] '''Peripheral Components:'''<br><br />
<br />
* [[Antenna]]s (Rooftop, Indoor, Satellite Dishes) <br />
* [[DD receiver|Dolby Digital receiver]]<br />
* [[DiSEqC related hardware]]<br />
** Switches, attenuators, and amplifiers<br />
* [[DVB Conditional Access Modules]]<br />
** [[Conditional Access Module Usage Examples]] (sorted by country)<br />
* [[Remote Controllers]]<br />
** [[Remote controllers-V4L|Remote controllers (V4L article)]]<br />
<br />
<br />
'''Miscellaneous:'''<br />
* [[User Modifications to Supported Devices]]<br />
|}<br />
</div></div>CityKhttps://www.linuxtv.org/wiki/index.php?title=How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers&diff=31797How to Obtain, Build and Install V4L-DVB Device Drivers2013-03-02T18:54:20Z<p>CityK: /* Retrieving and Building/Compiling the Latest V4L-DVB Source Code */ minor descriptional edits and corrections</p>
<hr />
<div>The LinuxTV project hosts the latest set of Linux kernel driver modules for [[What is V4L or DVB?|V4L-DVB devices]]. This page contains information to help an "end user" install these device drivers in a GNU/Linux system. <br />
<br />
{{Note|This article assumes that:<br />
* your device is actually supported by the drivers -- Just because your board 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 [[Supported_Hardware#Determining_the_Device's_Identity|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.<br />
* you have already physically installed the hardware device into, or connected it to, your system. (Refer to the manufacturer's instructions for such details)}}.<br />
<br />
== Software Requirements ==<br />
===Kernel Support===<br />
The LinuxTV V4L-DVB drivers will work only in conjunction with relatively modern 2.6 kernels; specifically 2.6.31 and up.<br />
<br />
===Additional Software Requrirements===<br />
In order to be able to build the V4L-DVB kernel driver modules, you will need: <br />
* kernel-source or kernel-headers<br />
* (OpenSuSE and fedora only) kernel-devel<br />
* (Debian) libdigest-sha1-perl<br />
* make <br />
* gcc<br />
* git<br />
* patch<br />
* patchutils<br />
* libproc-processtable-perl ("perl-Proc-ProcessTable")<br />
If these packages are not currently installed on your system, you should do so now.<br />
<br />
==Retrieving and Building/Compiling the Latest V4L-DVB Source Code==<br />
There are a couple of different methods by which you can obtain and build the latest source code. Regardless of which route you take, all are performed from the command line (either within a console or terminal emulator). The "basic" method is likely appropriate for most end users, though, in particular cases, some users will have to use the slightly more "manually intensive" approach (which is effectively, for all intents and purposes, really just the same as the "basic" method, but performs the steps in a piecemeal fashion which affords you the opportunity to tailor the source code, or the "make"/build process, as might be required in your particular situation). Again, before proceeding with any of the approaches, make sure you have installed all the prerequisite software listed above.<br />
<br />
{{Note|If you are using Ubuntu, you were previously very likely to run into a fatal compilation error within the v4l-dvb build process when it reaches the firedtv module. The reason for this is because Ubuntu had a bug in their packaging of the kernel headers. <b>This seems to be fixed</b> on a fully updated systtem (5 July 2011) This was a long standing issue, and one of the most frequently reported on the mailing list. <br><br />
If you still have the problem, you should be able to correct this compilation problem by following the more manual procedure listed below. In particular, before proceeding to build the modules, you will have to edit the file ''v4l/.config'' and change the line for the firedtv driver from <nowiki>"firedtv=m" to "firedtv=n"</nowiki>.}}<br />
<br />
{{Note|If you are having build failures like "implicit declaration of function 'mfd_get_data'" try editing v4l/Makefile.media, and just comment out anything related to CONFIG_*_TIMBERALE. [[http://sourceforge.net/mailarchive/message.php?msg_id=27353778 Source]] }}<br />
<br />
<br />
<br />
{| class="wikitable" <br />
|+'''Retrieving the Source Code & Building/Compiling the Modules'''<br />
|-<br />
! "Basic" Approach !! Developer's Approach !! More "Manually Intensive" Approach<br />
<br />
|-<br />
| valign=top |<br />
git clone git://linuxtv.org/media_build.git<br />
''(alternately to get only the latest revision without history)<br />
git clone --depth=1 git://linuxtv.org/media_build.git''<br />
cd media_build <br />
./build<br />
<br />
These commands will download the newest tarball of the source code from linuxtv.org, apply the backport patches to it and then build/compile the source via the included script build.sh. <br />
<br />
NB: to add a patch copy the .patch file to the backports directory, and add the patch file as a line to the {kernel-version}_series file in the packports dir.<br />
| valign=top |<br />
~ $ git clone git://linuxtv.org/media_build.git <br />
''(or ~ $ git clone --depth=1 git://linuxtv.org/media_build.git)''<br />
~ $ cd media_build <br />
~/media_build $./build --main-git<br />
{{Note|'''The build script will clone the entire media-tree.git, which will take some time'''}}<br />
<br />
In order to modify a driver foo.c:<br />
<br />
~/media_build $ cd media<br />
~/media $ gedit drivers/media/video/foo.c<br />
~/media $ make -C ../v4l<br />
~/media $ make -C ../ install<br />
~/media $ make -C .. rmmod<br />
~/media $ modprobe foo<br />
<br />
(some procedure to test the "foo" driver)<br />
<br />
To generate a patch, use:<br />
<br />
~/media $ git commit -as<br />
<br />
Then submit the patch upstream. If your sendmail is properly configured, you can easily send the patch upstream with:<br />
<br />
~/media $ git send-email HEAD^1<br />
<br />
or, to send a patch series:<br />
<br />
~/media $ git send-email ''initial_branch''<br />
<br />
Where ''initial_branch'' is the name of a branch of a changeset number for the last patch before your changes.<br />
<br />
|<br />
git clone git://linuxtv.org/media_build.git<br />
cd media_build/linux<br />
make tar DIR=<some dir with media -git tree><br />
make untar<br />
cd ..<br />
<br />
If you need to make any sort of change or modification to the source code, now is the time. <br />
<br />
<div style="border: solid 1px; border-color: blue; margin: 1em; padding: 1em; background-color: Lavender;"><br />
'''Optional Pre-Compilation Steps'''<br><br />
These optional command steps are applicable only in certain situations approaching a new build of the driver set, or for experienced users wishing to streamline the build process to consist of only those components they want to install.<br />
* <code>make rminstall</code> ... you would use this to remove the currently installed driver set (located within the relevant ''/lib/modules/["kernel version"]/kernel/drivers/media'' directory to which they were installed)<br />
* <code>make distclean</code> ... cleans up the build configuration environment ... noteworthy is that it will set things up such that a following "make" build process will be against "''/usr/src/[uname -r]''” kernel source<br />
* <code>make menuconfig</code> ... this will open up the ncurses based menu that allows you to select only those components you wish to build and install<br />
<br />
The building system offers some other make targets that may be useful for advanced users or developers. For listing the supported targets, please use <code>make help</code>.</div><br />
<br />
Next, build/compile the modules from the source code with the command:<br />
make<br />
{{Note|For multi-core processor systems, the ''make'' command has available options that can be beneficial in terms of the reducing the amount of time required for the process' completion. Specifically, you can run "''make -jN''" (where "''N''" <nowiki>=</nowiki> 1 + the number of cores your cpu has ... i.e. if you have a dual core cpu use: ''make -j3'' )}}<br />
<br />
|}<br />
===Information Regarding the Build Process===<br />
Generally, this step will tend to take a while to complete; being dependent upon both the number of modules being built and your system's processing power.<br />
<br />
You can monitor the build progress via the console output. You will notice that a ''/v4l'' directory will have been created and within which the completed *.ko module files are written. Some drivers included within the snapshot may have their own requirements in regards to the kernel that you must be running in order for the module to be built; such cases can be found listed at the beginning of the build process' console output.<br />
<br />
The entire build process should complete without error. If any errors are encountered, the compilation will be halted and, at this point, you should not attempt to proceed any further (unless you really, really enjoy experiencing the outcome of a preordained failure). Errors that prevent building a particular V4L-DVB snapshot do indeed surface from time to time, but these are usually corrected quickly upon notification from an end user submitted [[Bug Report|bug report]], or upon detection from the daily automated build tests (see note below). If you have run into a build error via the "basic" approach outlined above, you may wish to see if you can remedy the error and attempt a module build via the more "manually intensive" approach also outlined above.<br />
<br />
{{Note|'''The Daily Automated Build Tests'''<br><br />
Hans Verkuil has set up an automated daily build of the V4L-DVB source code upon all supported kernels, as well as testing that very same upon several CPU architectures. A brief synopsis of the results from those tests is published each day on the Linux-Media Mailing List (LMML) under a message subject heading prefix of "''[cron job] v4l-dvb daily build ...''". A link to more detailed results of these tests is also provided within that message or can be found directly from [http://www.xs4all.nl/~hverkuil/logs/ here].}} <br />
<br />
If you do run into any problems during the build step, you should:<br />
* first, see whether the issue is already known or not -- consult the results of the daily automated build tests (see note above)<br />
* if it appears that this is a new issue, please [[Bug Report|inform the developers of the bug via the LMML]] (preferred) or thorough one of the irc.freenode.net irc channels (#v4l or #linuxtv or #dvb).<br />
* you may also wish to consult any errata that might be found on this article's talk page<br />
<br />
In general, if the source builds correctly, it is likely that the drivers will work, though this is not a guarantee.<br />
<br />
== Installing the Compiled Driver Modules ==<br />
The next step is to install the kernel driver modules by executing:<br />
sudo make install<br />
The command above will prompt you for your root password, and will then copy the *.ko module files you built in the above step into the ''/lib/modules/[kernel version]/kernel/drivers/media'' directories. <br />
<br />
{{Note|If your distribution doesn't support the sudo command (i.e the command line returns ''"bash: sudo: command not found"''), use the "su" command instead. "su" will prompt you for the root password, and after which entering, you can then proceed with the command. Ex.:<br />
su<br />
make install<br />
}}<br />
<br><br />
{{Note|In the case where you have more then one kernel installed but have used the pre-compilation option of "make distclean", the new modules will be installed only into the ''/lib/modules/[uname -r]/kernel/drivers/media'' directory}} <br><br />
<br />
== First Use: Out with the Old, In with the New==<br />
{| <br />
| valign=top |<br />
Before trying to use the device with your newly installed driver set, you should remove from system memory any older versions of related modules that may have been loaded by the running kernel; otherwise, you will likely run into various fatal mismatch errors -- typified by an "unknown symbol" or "unknown parameter" -- as a result of your system trying to work from a mixture of old and new modules. <br />
<br />
To achieve a [[Wikipedia:Tabula rasa |clean slate]] state, you could either: <br><br />
<br />
'''1. Reboot:''' Perhaps the most straightforward thing to do at this point, particularly for Linux newbies, is to just restart your system; the reboot will, obviously, clear out the old modules loaded into memory and, as an added bonus, create a fresh running environment under which the new modules should have been automagically loaded into system memory. <br />
<br />
Or, on the other hand,<br />
<br />
'''2. Take care of business yourself:''' More experienced users might prefer to use more eloquent approaches. For example, using <br />
sudo make unload<br />
will essentially (and similar as to manually using "rmmod" commands) remove all older modules for the device that might be currently loaded in memory by the running kernel. After which, one can then load, from the newly installed device driver set, the appropriate modules for the device using relevant<br />
modprobe ''driver_name'' <br />
commands.<br />
<br />
| valign=top halign=right width=30% |<br />
<div style="border: solid 1px; border-color: blue; margin: 1em; padding: 1em; background-color: Lavender;"><br />
'''For Advanced Users'''<br><br />
The following information is likely useful only for developers. After building the modules as per usual ("make"), and without needing to install them, you can:<br />
* remove all older modules from memory at once using "make unload" and <br />
* then insert all the newly built modules into memory for the running kernel with "make load"<br />
Alternatively, to perform the previous two commands ("make unload" and "make load") in a single step, you can use "make reload"<br />
<br />
Note, however, that it is highly recommended that you avoid using either the make load or make reload options, as they will end up inserting <u>all</u> V4L-DVB device drivers into memory, and that may introduce instability, or complicate testing.<br />
</div><br />
|}<br />
Regardless of which approach you take to remove the old modules and to insert the new ones, the end result should be the same. In addition, upon future starts of your system, your device should "automagically" be detected and will have the appropriate driver modules loaded into memory. <br />
<br />
===If the Modules load correctly:===<br />
Provided that the modules were loaded correctly into system memory:<br />
<br />
'''1. They should be listed in ''/proc/modules''''': you can use either <code>cat /proc/modules</code> or, even better, <code>lsmod</code> to see this content.<br />
<br />
Which modules should you be looking for? Well, the answer to that question depends entirely upon the chipsets used by your device -- see the relevant wiki article for your device for a listing of such components and required drivers (or search the web if such information does not exist. '''Note''': Please add any information missing from the wiki!)<br />
<br />
'''2. They should provide some indication within your system log''': you can consult the output from the "<code>dmesg</code>" command or directly review your system log file (typically housed within the ''/var/log'' directory) for indication that they have been successfully loaded and that the device is now correctly configured for operation. Examples of successful module loads are provided by users under the "Sample kernel output" section in many device articles witin the wiki.<br />
<br />
'''3. The device manager [[Wikipedia:udev|udev]] will "automagically" create appropriate [[Device nodes and character devices|device nodes]] on ''/dev''''': <br><br />
'''(a) For a DVB device''', you should now have a non-empty ''/dev/dvb'' directory. You can check on whether this is true for you with the following command:<br />
: <code>ls -l /dev/dvb/</code><br />
(alternatively, you can browse your directory structure with the graphical file manager of your choice). If you have a single DVB device installed in your system, then the output of the above command should reveal that /dev/dvb/ is populated by adapter0. Digging further, <br />
: <code>ls -l /dev/dvb/adapter0 </code><br />
reveals the [[Device_nodes_and_character_devices#DVB_character_devices|character devices]] associated with adapter0 for which the drivers have control. If you have more then one DVB device, you can see the same for all with <br />
: <code>ls -l /dev/dvb/adapter* </code><br />
<br />
'''(b) For a V4L device''', you should now have a non-empty ''/dev/v4l'' directory. You can check on whether this is true for you with the following command:<br />
: <code>ls -l /dev/v4l</code><br />
Digging further, <br />
: <code>ls -l /dev/v4l/by-path </code><br />
reveals the symbolic links to the [[Device_nodes_and_character_devices#V4L_character_devices|character devices]] associated with your V4L adapter for which the drivers have control. The most typical of which is ''/dev/video0''. If you have more then one V4L device, you can see the same for all with <br />
: <code>ls -l /dev/video* </code><br />
<br />
===If the Modules did not load correctly or the device is still not configured correctly for use:===<br />
There could be several reasons why you may have encountered a module loading error or, absent such an error, why the device is still not configured correctly for use, even after having correctly followed the steps from the above procedure. If either of these cases applies, the very first thing you should do is [[Supported Hardware|check whether your device is actually supported]] by the driver (see the very first note at the top of this page). Next, provided your device is supposed to be supported, check within your system log/dmesg for any messages that may give indication as to the problem. The following points address a few common trouble spots:<br />
<br />
'''Module Load Order Can Matter'''<br />
* in cases where loading more then one module is necessary, the order in which you load the modules can matter! <br />
<br />
'''Sometimes Automagic just isn't Automagic'''<br />
* If a module was, for whatever reason, not loaded, you can try manually loading it with the appropriate ''modprobe'' command.<br />
<br />
'''Unresolved Symbols'''<br />
* if you tried the second method ("make unload" followed by an appropriate modprobe command) but encountered errors in relation to unresolved symbols, e.g. using the saa7134 module as an example:<br />
sudo modprobe saa7134<br />
FATAL: Error inserting saa7134 (/lib/modules/''[your kernel version]''/kernel/drivers/media/video/saa7134/saa7134.ko):\ <br />
Unknown symbol in module, or unknown parameter (see dmesg) <br />
please try a system reboot before filing an [[Bug Report|error report]]. Irregardless of what caused the unresolved symbols errors, usually, after performing the reboot, you will find that the install was actually successful and the drivers will work as intended.<br />
<br />
* Special case: If your system uses compressed kernel modules, after running the "make install" command of the V4L-DVB installation process, you could end up with a mixture of new modules (*.ko) and their older compressed version (*.ko.gz) installed. If the system attempts to concurrently load both sets into memory, you are bound to run into modprobe insertion errors (eg. unknown symbol or unknown parameter). All conflicting *.ko.gz files must be removed. The following command line can help you locate these conflicting files in all your installed kernels:<br />
for file in `find /lib/modules -name "*.ko"`; do if <nowiki>[[</nowiki> -e $file.gz <nowiki>]]</nowiki>; then echo "$file.gz should be removed"; fi; done<br />
Usually all conflicting module files resulting of v4l-dvb installation will be located in:<br />
/lib/modules/''[your kernel version]''/kernel/drivers/media<br />
Once the conflicting *.ko.gz have been moved elsewhere or renamed (to *.ko.gz.disabled for example), use the v4l-dvb reload command and, to be safe, also add a "depmod" step in order to rebuild modules dependencies):<br />
make reload<br />
depmod -a<br />
Your new modules should now be loaded correctly.<br />
<br />
'''A Note on Firmware'''<br />
* You have all the modules active (listed in lsmod) but device nodes are nowhere to be found: The problem may be as simple as the [[Firmware|firmware]] for the device not being loaded; some devices also require a [[Firmware|firmware]], which is uploaded from the host PC to the device, in order to operate. <br />
<br />
In some cases, when the device is correctly recognized, the associated drivers provide information as to which firmware file is required -- look in the system log output. For example, for many [[TechnoTrend]] & [[Hauppauge]] (and other similar "premium" cards), if the dvb-ttpci firmware is not available you will observe an error such as:<br />
<pre> dvb-ttpci: could not load firmware, file not found: dvb-ttpci-01.fw<br />
dvb-ttpci: usually this should be in /usr/lib/hotplug/firmware or /lib/firmware<br />
dvb-ttpci: and can be downloaded from http://www.linuxtv.org/download/dvb/firmware/</pre><br />
Resolving that missing firmware issue should then result in proper detection and configuration of your device.<br />
In other cases, obtaining the correct firmware is not so straightforward a task. The very first thing you need to know is what device you're using; see "[[Supported_Hardware#Determining_the_Device's_Identity|Determining the Device's Identity]]". Once you have established which particular device you are in possession of, you can then move on to [[Firmware#Acquiring the Firmware|obtaining the correct firmware]]. In addition, information in wiki articles (eg. such as [[DVB-T USB Devices]]) will cite the appropriate firmware required. If you're still at a loss, a Google search may shed light on what file you need. Note, however, that not all supported devices have easily available firmware (eg. Hauppauge HVR 1100 & 1300). Firmware for such cards could be loaded via temporary installation in a Mirosoft Windows System with the manufacturer-supplied drivers.<br />
<br />
In any regard, once you find and obtain the necessary firmware for your device, copy it into the appropriate directory; the directory location depends upon that used by your distro, but typically it is: <br />
*/lib/firmware<br />
Consult resources for your distro if its preferred location is somewhere otherwise.<br />
<br />
==Some Further Documentation==<br />
* See [[Testing your DVB device]] for instructions on testing your newly installed DVB device<br />
<br />
<br />
[[Category:Software]]<br />
[[Category:Drivers]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Saa7134-alsa&diff=31557Saa7134-alsa2013-01-04T01:38:47Z<p>CityK: /* Record with mencoder */ punctuation</p>
<hr />
<div>Also see the [[Saa7134-alsa redundant]] article; whose info (if it is not redundant) should/will be merged (preferably by its authour so that proper user attribution is maintained for information additions) into this original existing article. <br />
<br />
=== How to use alsa or oss with saa7134 ===<br />
<br />
Starting with kernel 2.6.15, the module saa7134-alsa lets you use ALSA to get sound directly from your capture card. From 2.6.16 you can use this module with more than one capture card. <br />
<br />
In kernel 2.6.16, the saa7134-oss module is also separated out, and the two modules are treated in much the same way; you can build both and switch between them, though both cannot be loaded at once.<br />
<br />
=== Insmod parameters ===<br />
<br />
Now that both alsa and oss DMA sound have been separated out as distinct modules, it is no longer necessary (though it is not forbidden) to include the insmod parameter "alsa=1" or "oss=1".<br />
<br />
On the other hand, on the 2.6.16 kernel, it's not safe to use the parameter "disable_ir=1" to turn off the infrared system for the remote -- that caused an oops. This is fixed in 2.6.17.<br />
<br />
In the case of more than one card, you can use something like this:<br />
<br />
saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 <br />
<br />
In dmesg, you should see this type of content murmuring:<br />
<br />
<pre><br />
input: saa7134 IR (LifeView FlyVIDEO30 as /class/input/input5<br />
tuner 5-0061: chip found @ 0xc2 (saa7133[3])<br />
tuner 5-0061: type set to 43 (Philips NTSC MK3 (FM1236MK3 or FM1236/F))<br />
tuner 5-0063: chip found @ 0xc6 (saa7133[3])<br />
saa7133[3]: i2c eeprom 00: 69 51 38 01 10 28 ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: registered device video4 [v4l2]<br />
saa7133[3]: registered device vbi4<br />
saa7133[3]: registered device radio4<br />
</pre><br />
<br />
To then load the new driver that lets you get sound off the PCI bus via ALSA or OSS, you would normally just issue "sudo modprobe saa7134-alsa" or "sudo modprobe saa7134-oss". You can also deliberately assign the enumeration; for instance, for four cards, do this for alsa:<br />
<br />
sudo modprobe saa7134-alsa index=1,2,3,4<br />
<br />
Again, dmesg approves:<br />
<br />
<pre><br />
saa7134 ALSA driver for DMA sound loaded<br />
saa7133[0]/alsa: saa7133[0] at 0xf5006000 irq 19 registered as card 1<br />
saa7133[1]/alsa: saa7133[1] at 0xf5007000 irq 20 registered as card 2<br />
saa7133[2]/alsa: saa7133[2] at 0xf5004000 irq 21 registered as card 3<br />
saa7133[3]/alsa: saa7133[3] at 0xf5005000 irq 22 registered as card 4 <br />
</pre><br />
<br />
If instead you use OSS, issue this to determine enumeration:<br />
<br />
sudo modprobe saa7134-oss dsp_nr=1,2,3,4 mixer_nr=1,2,3,4<br />
<br />
You should see this in dmesg:<br />
<br />
<pre><br />
saa7134 OSS driver for DMA sound loaded<br />
saa7133[0]: registered device dsp1<br />
saa7133[0]: registered device mixer1<br />
saa7133[1]: registered device dsp2<br />
saa7133[1]: registered device mixer2<br />
saa7133[2]: registered device dsp3<br />
saa7133[2]: registered device mixer3<br />
saa7133[3]: registered device dsp4<br />
saa7133[3]: registered device mixer4<br />
</pre><br />
<br />
Note that if you use saa7134-oss in Debian, and build your kernel with ALSA as modules, you may need to add saa7134 to the OSS-module-list to keep your OSS emulation under ALSA (cf. [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=359851 #359851]):<br />
<br />
echo saa7134 >> /usr/share/linux-sound-base/OSS-module-list<br />
<br />
If OSS emulation is not working, some applications (such as VLC) that expect ALSA sound devices won't be able to find the legacy OSS devices created by saa7134-oss.<br />
<br />
If your ALSA is built into the kernel rather than as modules, you won't need to worry about this.<br />
<br />
===Insert modules on boot===<br />
<br />
To insert the modules with these parameters on boot, you can create a file called /etc/modprobe.d/saa7134 with the following lines (adjust card and tuner numbers as required):<br />
<br />
options saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 <br />
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-alsa<br />
options saa7134-alsa index=1,2,3,4<br />
<br />
Your distribution may require you to put these lines into /etc/modprobe.conf; this is not a good idea in Debian, since the files in /etc/modprobe.d will then be ignored.<br />
<br />
If instead you use OSS, these lines will load the modules for four cards:<br />
<br />
options saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 <br />
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-oss<br />
options saa7134-oss dsp_nr=1,2,3,4 mixer_nr=1,2,3,4<br />
<br />
Note that once you've entered this information inside /etc/modprobe.d, your subsequent manual insertions will also make use of this information. Scripts, for instance, need not repeat it.<br />
<br />
These instructions are of course specific to kernels 2.6.16 and later, as earlier kernels do not have separate DMA modules. <br />
<br />
For kernels before 2.6.16, DMA sound via OSS is activated simply by the insmod parameter "oss=1".<br />
<br />
=== Set permissions ===<br />
<br />
Make sure your users are added to the group "audio" to get access to them -- in Debian, if your user name is "tv", you would use<br />
<br />
adduser tv audio<br />
<br />
=== List your capture devices ===<br />
<br />
To get a list of your alsa capture devices, issue<br />
<br />
arecord -l<br />
<br />
You should see your regular sound card and the capture card(s):<br />
<br />
<pre><br />
**** List of CAPTURE Hardware Devices ****<br />
card 0: CK8S [NVidia CK8S], device 0: Intel ICH [NVidia CK8S]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: CK8S [NVidia CK8S], device 1: Intel ICH - MIC ADC [NVidia CK8S - MIC ADC]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 1: SAA7134 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 2: SAA7134_1 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 3: SAA7134_2 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 4: SAA7134_3 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
</pre><br />
<br />
=== Configure the cards to record ===<br />
<br />
Set the cards to record on channel 1 and max volume, using for instance<br />
<br />
alsamixergui -c 1<br />
<br />
for each of the cards.<br />
<br />
=== Watch with mplayer ===<br />
<br />
You should now be ready to watch live tv with mplayer, using something like this:<br />
<br />
These are for rf connections:<br />
<br />
US broadcast or satellite:<br />
mplayer tv://$channel -tv driver=v4l2:device=/dev/video0:chanlist=us-bcast:alsa:\<br />
adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:norm=NTSC<br />
<br />
If you're using a satellite box, $channel should probably be set to 3 or 4. If that doesn't work, try the US cable TV setup below. <br />
If you're getting your broadcast off the air, you can run the scantv utility to detect stations and set $channel to the local channel for your area.<br />
<br />
US cable:<br />
mplayer tv://"insert channel" -tv driver=v4l2:device=/dev/video0:chanlist=us-cable:alsa:\<br />
adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:norm=NTSC<br />
<br />
Here again you can run the scantv utility to detect the channels available from your provider, or you can use your provider's channel table. <br />
<br />
Europe cable:<br />
mplayer tv://"insert channel" -tv driver=v4l2:device=/dev/video0:chanlist=europe-west:alsa:\<br />
adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:norm=PAL<br />
<br />
Note the ''norm='' and ''chanlist='' parameters. Adjust as required for your location.<br />
<br />
If "adevice=hw.1,0" doesn't work, try simply "adevice=hw.1". Some tuners require "adevice=hw.2" -- for instance, on a board with nforce 3 250/gb chipsets. If others experiance this with other boards, please update.<br />
<br />
=== Record with mencoder ===<br />
<br />
It may be simpler to get sound during recording than during playback. The example given below, in which "$DEV" is the number of the device node, is known to produce good sound:<br />
<br />
mencoder -tv driver=v4l2:device=/dev/video$DEV:fps=30000/1001:chanlist=us-bcast:\<br />
audiorate=32000:alsa:adevice=hw.$DEV:input=0:amode=1:normid=4:width=576:height=432 \<br />
-ovc x264 -x264encopts threads=2:bitrate=500:bframes=2:subq=1:me=1:frameref=4:8x8dct \<br />
-oac mp3lame -lameopts cbr:br=64 -endpos $TIM -o $DIR/$FIL.avi tv:// > /dev/null<br />
<br />
So the alsa device is simply called hw.1 -- not hw.1,0. The line is taken from the [[V4L channel script]]. You may find you need to use hw.2 instead, depending on the audio hardware on your system.<br />
<br />
Neither ffmpeg nor transcode as yet have ALSA support.<br />
<br />
Because so many applications still appear to have difficulties accessing ALSA's odd device enumeration, the OSS module for DMA sound continues to be useful. You can also use ALSA's OSS emulation with saa7134-alsa to get /dev/dspX devices for OSS-aware applications.<br />
<br />
=== Using with Mplayer, Mencoder with Gentoo default Pulseaudio and Alsa config === <br />
<br />
If you are using default SAA7134 Pulseaudio settings (Analog Stero Input with the video channel being captured), then you can try command line for composite signal capture:<br />
mplayer -tv driver=v4l2:device=/dev/video1:audiorate=32000:alsa:adevice=hw.1:immediatemode=0:input=1:amode=1:normid=7:width=720:height=576 -ao alsa -aspect 16:9 tv://<br />
Note: the line above may work in place of trying with arecord and aplay, as per the example below (arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -), which may not work as well as expected.<br />
<br />
<br />
For Mencoder, the following command line can be used:<br />
mencoder -tv driver=v4l2:device=/dev/video1:audiorate=32000:alsa:adevice=hw.1:input=1:amode=1:normid=7:width=720:height=576 -o filename.mpg -ovc lavc -oac copy -lavcopts vcodec=mpeg2video:vbitrate=1000:\<br />
keyint=5:aspect=16/9 -vf harddup -endpos 00:00:00 tv://<br />
This line has been successfully tested, recording a good few gigabytes, from a Virginmedia V+HD box.<br />
<br />
These lines were created with the help of this very page and the Mplayer/Mencoder manual.<br />
<br />
=== ALSA audio with other applications ===<br />
<br />
To hear the audio through ALSA using tvtime (or other programs that don't support it directly), run the following command after starting tvtime:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -<br />
<br />
It basically records at 32kHz Stereo from the SAA7134 ALSA source (hw:1,0 or change accordingly), and plays it through your default ALSA output. Look at the options from aplay to change your output.<br />
<br />
There might be a delay between the video and the audio. To avoid it, specify a device for aplay (not the 'default' device):<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -D surround41<br />
<br />
In order to get full surround sound from the stereo TV audio output, edit your /etc/asound.conf or ~/.asoundrc file as described in ALSA FAQ028 (http://alsa.opensrc.org/FAQ028) and use this device:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -D ch51dup<br />
<br />
I don't know how to use ALSA directly with xawtv, motv, kdtv, tvtime, or zapping; if you do, please add it in here!<br />
<br />
If using arecord still causes a delay between the video and the audio, try using sox:<br />
<br />
sox -r 32000 -w -t alsa hw:1,0 -t alsa hw:0,0<br />
<br />
Recent versions of sox no longer accept "-w" option, so just omit it. You can also use "--buffer" option to improve A/V synchronization, as the default 8KB buffer causes audio to lag significantly. On my system 2KB buffer is optimal:<br />
<br />
sox --buffer 2048 -r 32000 -t alsa hw:1,0 -t alsa hw:0,0<br />
<br />
Sox might get you mono sound, while all the alsa solutions cause delays. A combination has been known to work:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | sox -q -c 2 -r 32000 -w -t wav - -t alsa hw:0,0<br />
<br />
If sox doesn't have alsa support, you can try this instead:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | play -q -c 2 -r 32000 -w -t wav -<br />
<br />
Alternatively you can use alsa's oss-emulation with sox, which seems to result in way better latency then all the above:<br />
<br />
sox -q -c 2 -s -w -r 32000 -t ossdsp /dev/dsp1 -t ossdsp -w -r 32000 /dev/dsp<br />
<br />
=== Howto use Saa7134-alsa with Pulseaudio based-system ===<br />
<br />
==== Redirect the sound with pulseaudio loopback module ====<br />
* If your Saa713x device is properly configured and still can get no sound with TVTime, you may to redirect the input source from your TV card to the output of your sound card. You must load the [http://pulseaudio.org/wiki/Modules#module-loopback loopback module] with the command:<br />
$ pactl load-module module-loopback<br />
It will redirect the default input to the default output. The default input may not be the right one, you can change it in the 'Recording' tab with 'All Streams' displayed with Pulseaudio Volume Control (pavucontrol)<br />
[[File:Pavucontrol.png|thumb|400px|center|alt=Example of loopback module selection in Pulseaudio Volume Control|Example of loopback module selection in Pulseaudio Volume Control]]<br />
<br />
* The sound should now works. To automate the process, we will edit /etc/pulse/default.pa<br />
<br />
First we need to now what is the TV card source name in pulseaudio. You can know the PCI address of your card with<br />
$ lspci | grep SAA<br />
It will output something like that :<br />
04:08.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)<br />
'''04:08.0''' is the ''address'' of your card.<br />
<br />
* Then, the following command<br />
$ LANG=C pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f 2<br />
will list all source detected by Pulseaudio.<br />
<br />
For example, on my computer:<br />
alsa_input.pci-0000_04_08.0.analog-stereo<br />
alsa_output.pci-0000_00_10.1.analog-stereo.monitor<br />
alsa_input.pci-0000_00_10.1.analog-stereo<br />
<br />
The source name to use is '''the one with the right PCI address'''. Here the third one: alsa_input.pci-0000_'''04_08.0'''.analog-stereo<br />
<br />
* Edit the file /etc/pulse/default.pa with your favorite text editor:<br />
# gedit /etc/pulse/default.pa<br />
Add the following line at the end of the file (replacing source with the one you found):<br />
load-module module-loopback source=alsa_input.pci-0000_04_08.0.analog-stereo<br />
<br />
* Restart Pulseaudio<br />
$ pulseaudio -k<br />
<br />
=== Sound distorted and high-pitched ===<br />
<br />
* On some card, the sound is distorted, high-pitched as if it is accelerated. Some program will output buffer underrun in the terminal. Fixed for newer kernel: http://git.alsa-project.org/?p=alsa-kernel.git;a=commit;h=7b54360293c9d72b54e462d146c9376287d2f71b<br />
* To correct this problem we need to change the autodetected sampling rate of the TV card from to 32000Hz.<br />
* First we search for the current card parameters. Type :<br />
$ pactl list | grep device_id<br />
It will output sound card argument detected by udev :<br />
Argument: device_id="2" name="pci-0000_'''04_08.0'''" card_name="alsa_card.pci-0000_04_08.0" tsched=yes ignore_dB=no card_properties="module-udev-detect.discovered=1"<br />
Argument: device_id="0" name="pci-0000_00_10.1" card_name="alsa_card.pci-0000_00_10.1" tsched=yes ignore_dB=no card_properties="module-udev-detect.discovered=1"<br />
<br />
As previously explained we will need arguments from the card with the right PCI address (here, the first line).<br />
<br />
* Edit the file /etc/pulse/default.pa with your favorite text editor:<br />
# gedit /etc/pulse/default.pa<br />
<br />
* Before the line <br />
### Automatically load driver modules depending on the hardware available<br />
add the following<br />
load-module module-alsa-card rate=32000 format=s16le $argument<br />
where $argument is the line previously found without the last argument card_properties="module-udev-detect.discovered=1"<br />
<br />
For example,<br />
load-module module-alsa-card rate=32000 format=s16le device_id="2" name="pci-0000_04_08.0" card_name="alsa_card.pci-0000_04_08.0" tsched=yes ignore_dB=no<br />
<br />
* Restart Pulseaudio<br />
$ pulseaudio -k<br />
[[Category:Drivers]]<br />
[[Category:Software]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Saa7134-alsa&diff=31556Saa7134-alsa2013-01-04T01:35:24Z<p>CityK: /* Using with Mplayer, Mencoder with Gentoo default Pulseaudio and Alsa config */ Remove first person</p>
<hr />
<div>Also see the [[Saa7134-alsa redundant]] article; whose info (if it is not redundant) should/will be merged (preferably by its authour so that proper user attribution is maintained for information additions) into this original existing article. <br />
<br />
=== How to use alsa or oss with saa7134 ===<br />
<br />
Starting with kernel 2.6.15, the module saa7134-alsa lets you use ALSA to get sound directly from your capture card. From 2.6.16 you can use this module with more than one capture card. <br />
<br />
In kernel 2.6.16, the saa7134-oss module is also separated out, and the two modules are treated in much the same way; you can build both and switch between them, though both cannot be loaded at once.<br />
<br />
=== Insmod parameters ===<br />
<br />
Now that both alsa and oss DMA sound have been separated out as distinct modules, it is no longer necessary (though it is not forbidden) to include the insmod parameter "alsa=1" or "oss=1".<br />
<br />
On the other hand, on the 2.6.16 kernel, it's not safe to use the parameter "disable_ir=1" to turn off the infrared system for the remote -- that caused an oops. This is fixed in 2.6.17.<br />
<br />
In the case of more than one card, you can use something like this:<br />
<br />
saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 <br />
<br />
In dmesg, you should see this type of content murmuring:<br />
<br />
<pre><br />
input: saa7134 IR (LifeView FlyVIDEO30 as /class/input/input5<br />
tuner 5-0061: chip found @ 0xc2 (saa7133[3])<br />
tuner 5-0061: type set to 43 (Philips NTSC MK3 (FM1236MK3 or FM1236/F))<br />
tuner 5-0063: chip found @ 0xc6 (saa7133[3])<br />
saa7133[3]: i2c eeprom 00: 69 51 38 01 10 28 ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: registered device video4 [v4l2]<br />
saa7133[3]: registered device vbi4<br />
saa7133[3]: registered device radio4<br />
</pre><br />
<br />
To then load the new driver that lets you get sound off the PCI bus via ALSA or OSS, you would normally just issue "sudo modprobe saa7134-alsa" or "sudo modprobe saa7134-oss". You can also deliberately assign the enumeration; for instance, for four cards, do this for alsa:<br />
<br />
sudo modprobe saa7134-alsa index=1,2,3,4<br />
<br />
Again, dmesg approves:<br />
<br />
<pre><br />
saa7134 ALSA driver for DMA sound loaded<br />
saa7133[0]/alsa: saa7133[0] at 0xf5006000 irq 19 registered as card 1<br />
saa7133[1]/alsa: saa7133[1] at 0xf5007000 irq 20 registered as card 2<br />
saa7133[2]/alsa: saa7133[2] at 0xf5004000 irq 21 registered as card 3<br />
saa7133[3]/alsa: saa7133[3] at 0xf5005000 irq 22 registered as card 4 <br />
</pre><br />
<br />
If instead you use OSS, issue this to determine enumeration:<br />
<br />
sudo modprobe saa7134-oss dsp_nr=1,2,3,4 mixer_nr=1,2,3,4<br />
<br />
You should see this in dmesg:<br />
<br />
<pre><br />
saa7134 OSS driver for DMA sound loaded<br />
saa7133[0]: registered device dsp1<br />
saa7133[0]: registered device mixer1<br />
saa7133[1]: registered device dsp2<br />
saa7133[1]: registered device mixer2<br />
saa7133[2]: registered device dsp3<br />
saa7133[2]: registered device mixer3<br />
saa7133[3]: registered device dsp4<br />
saa7133[3]: registered device mixer4<br />
</pre><br />
<br />
Note that if you use saa7134-oss in Debian, and build your kernel with ALSA as modules, you may need to add saa7134 to the OSS-module-list to keep your OSS emulation under ALSA (cf. [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=359851 #359851]):<br />
<br />
echo saa7134 >> /usr/share/linux-sound-base/OSS-module-list<br />
<br />
If OSS emulation is not working, some applications (such as VLC) that expect ALSA sound devices won't be able to find the legacy OSS devices created by saa7134-oss.<br />
<br />
If your ALSA is built into the kernel rather than as modules, you won't need to worry about this.<br />
<br />
===Insert modules on boot===<br />
<br />
To insert the modules with these parameters on boot, you can create a file called /etc/modprobe.d/saa7134 with the following lines (adjust card and tuner numbers as required):<br />
<br />
options saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 <br />
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-alsa<br />
options saa7134-alsa index=1,2,3,4<br />
<br />
Your distribution may require you to put these lines into /etc/modprobe.conf; this is not a good idea in Debian, since the files in /etc/modprobe.d will then be ignored.<br />
<br />
If instead you use OSS, these lines will load the modules for four cards:<br />
<br />
options saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 <br />
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-oss<br />
options saa7134-oss dsp_nr=1,2,3,4 mixer_nr=1,2,3,4<br />
<br />
Note that once you've entered this information inside /etc/modprobe.d, your subsequent manual insertions will also make use of this information. Scripts, for instance, need not repeat it.<br />
<br />
These instructions are of course specific to kernels 2.6.16 and later, as earlier kernels do not have separate DMA modules. <br />
<br />
For kernels before 2.6.16, DMA sound via OSS is activated simply by the insmod parameter "oss=1".<br />
<br />
=== Set permissions ===<br />
<br />
Make sure your users are added to the group "audio" to get access to them -- in Debian, if your user name is "tv", you would use<br />
<br />
adduser tv audio<br />
<br />
=== List your capture devices ===<br />
<br />
To get a list of your alsa capture devices, issue<br />
<br />
arecord -l<br />
<br />
You should see your regular sound card and the capture card(s):<br />
<br />
<pre><br />
**** List of CAPTURE Hardware Devices ****<br />
card 0: CK8S [NVidia CK8S], device 0: Intel ICH [NVidia CK8S]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: CK8S [NVidia CK8S], device 1: Intel ICH - MIC ADC [NVidia CK8S - MIC ADC]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 1: SAA7134 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 2: SAA7134_1 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 3: SAA7134_2 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 4: SAA7134_3 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
</pre><br />
<br />
=== Configure the cards to record ===<br />
<br />
Set the cards to record on channel 1 and max volume, using for instance<br />
<br />
alsamixergui -c 1<br />
<br />
for each of the cards.<br />
<br />
=== Watch with mplayer ===<br />
<br />
You should now be ready to watch live tv with mplayer, using something like this:<br />
<br />
These are for rf connections:<br />
<br />
US broadcast or satellite:<br />
mplayer tv://$channel -tv driver=v4l2:device=/dev/video0:chanlist=us-bcast:alsa:\<br />
adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:norm=NTSC<br />
<br />
If you're using a satellite box, $channel should probably be set to 3 or 4. If that doesn't work, try the US cable TV setup below. <br />
If you're getting your broadcast off the air, you can run the scantv utility to detect stations and set $channel to the local channel for your area.<br />
<br />
US cable:<br />
mplayer tv://"insert channel" -tv driver=v4l2:device=/dev/video0:chanlist=us-cable:alsa:\<br />
adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:norm=NTSC<br />
<br />
Here again you can run the scantv utility to detect the channels available from your provider, or you can use your provider's channel table. <br />
<br />
Europe cable:<br />
mplayer tv://"insert channel" -tv driver=v4l2:device=/dev/video0:chanlist=europe-west:alsa:\<br />
adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:norm=PAL<br />
<br />
Note the ''norm='' and ''chanlist='' parameters. Adjust as required for your location.<br />
<br />
If "adevice=hw.1,0" doesn't work, try simply "adevice=hw.1". Some tuners require "adevice=hw.2" -- for instance, on a board with nforce 3 250/gb chipsets. If others experiance this with other boards, please update.<br />
<br />
=== Record with mencoder ===<br />
<br />
It may be simpler to get sound during recording than during playback. The example given below, in which "$DEV" is the number of the device node is known to produce good sound:<br />
<br />
mencoder -tv driver=v4l2:device=/dev/video$DEV:fps=30000/1001:chanlist=us-bcast:\<br />
audiorate=32000:alsa:adevice=hw.$DEV:input=0:amode=1:normid=4:width=576:height=432 \<br />
-ovc x264 -x264encopts threads=2:bitrate=500:bframes=2:subq=1:me=1:frameref=4:8x8dct \<br />
-oac mp3lame -lameopts cbr:br=64 -endpos $TIM -o $DIR/$FIL.avi tv:// > /dev/null<br />
<br />
So the alsa device is simply called hw.1 -- not hw.1,0. The line is taken from the [[V4L channel script]]. You may find you need to use hw.2 instead, depending on the audio hardware on your system.<br />
<br />
Neither ffmpeg nor transcode as yet have ALSA support.<br />
<br />
Because so many applications still appear to have difficulties accessing ALSA's odd device enumeration, the OSS module for DMA sound continues to be useful. You can also use ALSA's OSS emulation with saa7134-alsa to get /dev/dspX devices for OSS-aware applications.<br />
<br />
=== Using with Mplayer, Mencoder with Gentoo default Pulseaudio and Alsa config === <br />
<br />
If you are using default SAA7134 Pulseaudio settings (Analog Stero Input with the video channel being captured), then you can try command line for composite signal capture:<br />
mplayer -tv driver=v4l2:device=/dev/video1:audiorate=32000:alsa:adevice=hw.1:immediatemode=0:input=1:amode=1:normid=7:width=720:height=576 -ao alsa -aspect 16:9 tv://<br />
Note: the line above may work in place of trying with arecord and aplay, as per the example below (arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -), which may not work as well as expected.<br />
<br />
<br />
For Mencoder, the following command line can be used:<br />
mencoder -tv driver=v4l2:device=/dev/video1:audiorate=32000:alsa:adevice=hw.1:input=1:amode=1:normid=7:width=720:height=576 -o filename.mpg -ovc lavc -oac copy -lavcopts vcodec=mpeg2video:vbitrate=1000:\<br />
keyint=5:aspect=16/9 -vf harddup -endpos 00:00:00 tv://<br />
This line has been successfully tested, recording a good few gigabytes, from a Virginmedia V+HD box.<br />
<br />
These lines were created with the help of this very page and the Mplayer/Mencoder manual.<br />
<br />
=== ALSA audio with other applications ===<br />
<br />
To hear the audio through ALSA using tvtime (or other programs that don't support it directly), run the following command after starting tvtime:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -<br />
<br />
It basically records at 32kHz Stereo from the SAA7134 ALSA source (hw:1,0 or change accordingly), and plays it through your default ALSA output. Look at the options from aplay to change your output.<br />
<br />
There might be a delay between the video and the audio. To avoid it, specify a device for aplay (not the 'default' device):<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -D surround41<br />
<br />
In order to get full surround sound from the stereo TV audio output, edit your /etc/asound.conf or ~/.asoundrc file as described in ALSA FAQ028 (http://alsa.opensrc.org/FAQ028) and use this device:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -D ch51dup<br />
<br />
I don't know how to use ALSA directly with xawtv, motv, kdtv, tvtime, or zapping; if you do, please add it in here!<br />
<br />
If using arecord still causes a delay between the video and the audio, try using sox:<br />
<br />
sox -r 32000 -w -t alsa hw:1,0 -t alsa hw:0,0<br />
<br />
Recent versions of sox no longer accept "-w" option, so just omit it. You can also use "--buffer" option to improve A/V synchronization, as the default 8KB buffer causes audio to lag significantly. On my system 2KB buffer is optimal:<br />
<br />
sox --buffer 2048 -r 32000 -t alsa hw:1,0 -t alsa hw:0,0<br />
<br />
Sox might get you mono sound, while all the alsa solutions cause delays. A combination has been known to work:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | sox -q -c 2 -r 32000 -w -t wav - -t alsa hw:0,0<br />
<br />
If sox doesn't have alsa support, you can try this instead:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | play -q -c 2 -r 32000 -w -t wav -<br />
<br />
Alternatively you can use alsa's oss-emulation with sox, which seems to result in way better latency then all the above:<br />
<br />
sox -q -c 2 -s -w -r 32000 -t ossdsp /dev/dsp1 -t ossdsp -w -r 32000 /dev/dsp<br />
<br />
=== Howto use Saa7134-alsa with Pulseaudio based-system ===<br />
<br />
==== Redirect the sound with pulseaudio loopback module ====<br />
* If your Saa713x device is properly configured and still can get no sound with TVTime, you may to redirect the input source from your TV card to the output of your sound card. You must load the [http://pulseaudio.org/wiki/Modules#module-loopback loopback module] with the command:<br />
$ pactl load-module module-loopback<br />
It will redirect the default input to the default output. The default input may not be the right one, you can change it in the 'Recording' tab with 'All Streams' displayed with Pulseaudio Volume Control (pavucontrol)<br />
[[File:Pavucontrol.png|thumb|400px|center|alt=Example of loopback module selection in Pulseaudio Volume Control|Example of loopback module selection in Pulseaudio Volume Control]]<br />
<br />
* The sound should now works. To automate the process, we will edit /etc/pulse/default.pa<br />
<br />
First we need to now what is the TV card source name in pulseaudio. You can know the PCI address of your card with<br />
$ lspci | grep SAA<br />
It will output something like that :<br />
04:08.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)<br />
'''04:08.0''' is the ''address'' of your card.<br />
<br />
* Then, the following command<br />
$ LANG=C pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f 2<br />
will list all source detected by Pulseaudio.<br />
<br />
For example, on my computer:<br />
alsa_input.pci-0000_04_08.0.analog-stereo<br />
alsa_output.pci-0000_00_10.1.analog-stereo.monitor<br />
alsa_input.pci-0000_00_10.1.analog-stereo<br />
<br />
The source name to use is '''the one with the right PCI address'''. Here the third one: alsa_input.pci-0000_'''04_08.0'''.analog-stereo<br />
<br />
* Edit the file /etc/pulse/default.pa with your favorite text editor:<br />
# gedit /etc/pulse/default.pa<br />
Add the following line at the end of the file (replacing source with the one you found):<br />
load-module module-loopback source=alsa_input.pci-0000_04_08.0.analog-stereo<br />
<br />
* Restart Pulseaudio<br />
$ pulseaudio -k<br />
<br />
=== Sound distorted and high-pitched ===<br />
<br />
* On some card, the sound is distorted, high-pitched as if it is accelerated. Some program will output buffer underrun in the terminal. Fixed for newer kernel: http://git.alsa-project.org/?p=alsa-kernel.git;a=commit;h=7b54360293c9d72b54e462d146c9376287d2f71b<br />
* To correct this problem we need to change the autodetected sampling rate of the TV card from to 32000Hz.<br />
* First we search for the current card parameters. Type :<br />
$ pactl list | grep device_id<br />
It will output sound card argument detected by udev :<br />
Argument: device_id="2" name="pci-0000_'''04_08.0'''" card_name="alsa_card.pci-0000_04_08.0" tsched=yes ignore_dB=no card_properties="module-udev-detect.discovered=1"<br />
Argument: device_id="0" name="pci-0000_00_10.1" card_name="alsa_card.pci-0000_00_10.1" tsched=yes ignore_dB=no card_properties="module-udev-detect.discovered=1"<br />
<br />
As previously explained we will need arguments from the card with the right PCI address (here, the first line).<br />
<br />
* Edit the file /etc/pulse/default.pa with your favorite text editor:<br />
# gedit /etc/pulse/default.pa<br />
<br />
* Before the line <br />
### Automatically load driver modules depending on the hardware available<br />
add the following<br />
load-module module-alsa-card rate=32000 format=s16le $argument<br />
where $argument is the line previously found without the last argument card_properties="module-udev-detect.discovered=1"<br />
<br />
For example,<br />
load-module module-alsa-card rate=32000 format=s16le device_id="2" name="pci-0000_04_08.0" card_name="alsa_card.pci-0000_04_08.0" tsched=yes ignore_dB=no<br />
<br />
* Restart Pulseaudio<br />
$ pulseaudio -k<br />
[[Category:Drivers]]<br />
[[Category:Software]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Saa7134-alsa&diff=31555Saa7134-alsa2013-01-04T01:28:42Z<p>CityK: /* Record with mencoder */ remove first persno</p>
<hr />
<div>Also see the [[Saa7134-alsa redundant]] article; whose info (if it is not redundant) should/will be merged (preferably by its authour so that proper user attribution is maintained for information additions) into this original existing article. <br />
<br />
=== How to use alsa or oss with saa7134 ===<br />
<br />
Starting with kernel 2.6.15, the module saa7134-alsa lets you use ALSA to get sound directly from your capture card. From 2.6.16 you can use this module with more than one capture card. <br />
<br />
In kernel 2.6.16, the saa7134-oss module is also separated out, and the two modules are treated in much the same way; you can build both and switch between them, though both cannot be loaded at once.<br />
<br />
=== Insmod parameters ===<br />
<br />
Now that both alsa and oss DMA sound have been separated out as distinct modules, it is no longer necessary (though it is not forbidden) to include the insmod parameter "alsa=1" or "oss=1".<br />
<br />
On the other hand, on the 2.6.16 kernel, it's not safe to use the parameter "disable_ir=1" to turn off the infrared system for the remote -- that caused an oops. This is fixed in 2.6.17.<br />
<br />
In the case of more than one card, you can use something like this:<br />
<br />
saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 <br />
<br />
In dmesg, you should see this type of content murmuring:<br />
<br />
<pre><br />
input: saa7134 IR (LifeView FlyVIDEO30 as /class/input/input5<br />
tuner 5-0061: chip found @ 0xc2 (saa7133[3])<br />
tuner 5-0061: type set to 43 (Philips NTSC MK3 (FM1236MK3 or FM1236/F))<br />
tuner 5-0063: chip found @ 0xc6 (saa7133[3])<br />
saa7133[3]: i2c eeprom 00: 69 51 38 01 10 28 ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 10: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 20: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 30: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 40: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 50: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 60: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: i2c eeprom 70: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff<br />
saa7133[3]: registered device video4 [v4l2]<br />
saa7133[3]: registered device vbi4<br />
saa7133[3]: registered device radio4<br />
</pre><br />
<br />
To then load the new driver that lets you get sound off the PCI bus via ALSA or OSS, you would normally just issue "sudo modprobe saa7134-alsa" or "sudo modprobe saa7134-oss". You can also deliberately assign the enumeration; for instance, for four cards, do this for alsa:<br />
<br />
sudo modprobe saa7134-alsa index=1,2,3,4<br />
<br />
Again, dmesg approves:<br />
<br />
<pre><br />
saa7134 ALSA driver for DMA sound loaded<br />
saa7133[0]/alsa: saa7133[0] at 0xf5006000 irq 19 registered as card 1<br />
saa7133[1]/alsa: saa7133[1] at 0xf5007000 irq 20 registered as card 2<br />
saa7133[2]/alsa: saa7133[2] at 0xf5004000 irq 21 registered as card 3<br />
saa7133[3]/alsa: saa7133[3] at 0xf5005000 irq 22 registered as card 4 <br />
</pre><br />
<br />
If instead you use OSS, issue this to determine enumeration:<br />
<br />
sudo modprobe saa7134-oss dsp_nr=1,2,3,4 mixer_nr=1,2,3,4<br />
<br />
You should see this in dmesg:<br />
<br />
<pre><br />
saa7134 OSS driver for DMA sound loaded<br />
saa7133[0]: registered device dsp1<br />
saa7133[0]: registered device mixer1<br />
saa7133[1]: registered device dsp2<br />
saa7133[1]: registered device mixer2<br />
saa7133[2]: registered device dsp3<br />
saa7133[2]: registered device mixer3<br />
saa7133[3]: registered device dsp4<br />
saa7133[3]: registered device mixer4<br />
</pre><br />
<br />
Note that if you use saa7134-oss in Debian, and build your kernel with ALSA as modules, you may need to add saa7134 to the OSS-module-list to keep your OSS emulation under ALSA (cf. [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=359851 #359851]):<br />
<br />
echo saa7134 >> /usr/share/linux-sound-base/OSS-module-list<br />
<br />
If OSS emulation is not working, some applications (such as VLC) that expect ALSA sound devices won't be able to find the legacy OSS devices created by saa7134-oss.<br />
<br />
If your ALSA is built into the kernel rather than as modules, you won't need to worry about this.<br />
<br />
===Insert modules on boot===<br />
<br />
To insert the modules with these parameters on boot, you can create a file called /etc/modprobe.d/saa7134 with the following lines (adjust card and tuner numbers as required):<br />
<br />
options saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 <br />
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-alsa<br />
options saa7134-alsa index=1,2,3,4<br />
<br />
Your distribution may require you to put these lines into /etc/modprobe.conf; this is not a good idea in Debian, since the files in /etc/modprobe.d will then be ignored.<br />
<br />
If instead you use OSS, these lines will load the modules for four cards:<br />
<br />
options saa7134 card=2,2,2,2 tuner=43,43,43,43 video_nr=1,2,3,4 vbi_nr=1,2,3,4 radio_nr=1,2,3,4 <br />
install saa7134 /sbin/modprobe --ignore-install saa7134; /sbin/modprobe saa7134-oss<br />
options saa7134-oss dsp_nr=1,2,3,4 mixer_nr=1,2,3,4<br />
<br />
Note that once you've entered this information inside /etc/modprobe.d, your subsequent manual insertions will also make use of this information. Scripts, for instance, need not repeat it.<br />
<br />
These instructions are of course specific to kernels 2.6.16 and later, as earlier kernels do not have separate DMA modules. <br />
<br />
For kernels before 2.6.16, DMA sound via OSS is activated simply by the insmod parameter "oss=1".<br />
<br />
=== Set permissions ===<br />
<br />
Make sure your users are added to the group "audio" to get access to them -- in Debian, if your user name is "tv", you would use<br />
<br />
adduser tv audio<br />
<br />
=== List your capture devices ===<br />
<br />
To get a list of your alsa capture devices, issue<br />
<br />
arecord -l<br />
<br />
You should see your regular sound card and the capture card(s):<br />
<br />
<pre><br />
**** List of CAPTURE Hardware Devices ****<br />
card 0: CK8S [NVidia CK8S], device 0: Intel ICH [NVidia CK8S]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: CK8S [NVidia CK8S], device 1: Intel ICH - MIC ADC [NVidia CK8S - MIC ADC]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 1: SAA7134 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 2: SAA7134_1 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 3: SAA7134_2 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 4: SAA7134_3 [SAA7134], device 0: SAA7134 PCM [SAA7134 PCM]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
</pre><br />
<br />
=== Configure the cards to record ===<br />
<br />
Set the cards to record on channel 1 and max volume, using for instance<br />
<br />
alsamixergui -c 1<br />
<br />
for each of the cards.<br />
<br />
=== Watch with mplayer ===<br />
<br />
You should now be ready to watch live tv with mplayer, using something like this:<br />
<br />
These are for rf connections:<br />
<br />
US broadcast or satellite:<br />
mplayer tv://$channel -tv driver=v4l2:device=/dev/video0:chanlist=us-bcast:alsa:\<br />
adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:norm=NTSC<br />
<br />
If you're using a satellite box, $channel should probably be set to 3 or 4. If that doesn't work, try the US cable TV setup below. <br />
If you're getting your broadcast off the air, you can run the scantv utility to detect stations and set $channel to the local channel for your area.<br />
<br />
US cable:<br />
mplayer tv://"insert channel" -tv driver=v4l2:device=/dev/video0:chanlist=us-cable:alsa:\<br />
adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:norm=NTSC<br />
<br />
Here again you can run the scantv utility to detect the channels available from your provider, or you can use your provider's channel table. <br />
<br />
Europe cable:<br />
mplayer tv://"insert channel" -tv driver=v4l2:device=/dev/video0:chanlist=europe-west:alsa:\<br />
adevice=hw.1,0:amode=1:audiorate=32000:forceaudio:volume=100:immediatemode=0:norm=PAL<br />
<br />
Note the ''norm='' and ''chanlist='' parameters. Adjust as required for your location.<br />
<br />
If "adevice=hw.1,0" doesn't work, try simply "adevice=hw.1". Some tuners require "adevice=hw.2" -- for instance, on a board with nforce 3 250/gb chipsets. If others experiance this with other boards, please update.<br />
<br />
=== Record with mencoder ===<br />
<br />
It may be simpler to get sound during recording than during playback. The example given below, in which "$DEV" is the number of the device node is known to produce good sound:<br />
<br />
mencoder -tv driver=v4l2:device=/dev/video$DEV:fps=30000/1001:chanlist=us-bcast:\<br />
audiorate=32000:alsa:adevice=hw.$DEV:input=0:amode=1:normid=4:width=576:height=432 \<br />
-ovc x264 -x264encopts threads=2:bitrate=500:bframes=2:subq=1:me=1:frameref=4:8x8dct \<br />
-oac mp3lame -lameopts cbr:br=64 -endpos $TIM -o $DIR/$FIL.avi tv:// > /dev/null<br />
<br />
So the alsa device is simply called hw.1 -- not hw.1,0. The line is taken from the [[V4L channel script]]. You may find you need to use hw.2 instead, depending on the audio hardware on your system.<br />
<br />
Neither ffmpeg nor transcode as yet have ALSA support.<br />
<br />
Because so many applications still appear to have difficulties accessing ALSA's odd device enumeration, the OSS module for DMA sound continues to be useful. You can also use ALSA's OSS emulation with saa7134-alsa to get /dev/dspX devices for OSS-aware applications.<br />
<br />
=== Using with Mplayer, Mencoder with Gentoo default Pulseaudio and Alsa config === <br />
<br />
If you are using default SAA7134 Pulseaudio settings (Analog Stero Input with the video channel being captured) as I do, this is my line (Note, these lines are for composite capture) :<br />
mplayer -tv driver=v4l2:device=/dev/video1:audiorate=32000:alsa:adevice=hw.1:immediatemode=0:input=1:amode=1:normid=7:width=720:height=576 -ao alsa -aspect 16:9 tv://<br />
Note, Before figuring out this line above, I had previously tried arecord and aplay as per the example below (arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -) and that didn't work as well as I had expected.<br />
<br />
<br />
For Mencoder I use this line:<br />
mencoder -tv driver=v4l2:device=/dev/video1:audiorate=32000:alsa:adevice=hw.1:input=1:amode=1:normid=7:width=720:height=576 -o filename.mpg -ovc lavc -oac copy -lavcopts vcodec=mpeg2video:vbitrate=1000:\<br />
keyint=5:aspect=16/9 -vf harddup -endpos 00:00:00 tv://<br />
I have recorded a good few gigabytes with this line from my Virginmedia V+HD box<br />
<br />
These lines were created with the help of this very page and the Mplayer/Mencoder manual.<br />
<br />
=== ALSA audio with other applications ===<br />
<br />
To hear the audio through ALSA using tvtime (or other programs that don't support it directly), run the following command after starting tvtime:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -<br />
<br />
It basically records at 32kHz Stereo from the SAA7134 ALSA source (hw:1,0 or change accordingly), and plays it through your default ALSA output. Look at the options from aplay to change your output.<br />
<br />
There might be a delay between the video and the audio. To avoid it, specify a device for aplay (not the 'default' device):<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -D surround41<br />
<br />
In order to get full surround sound from the stereo TV audio output, edit your /etc/asound.conf or ~/.asoundrc file as described in ALSA FAQ028 (http://alsa.opensrc.org/FAQ028) and use this device:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -D ch51dup<br />
<br />
I don't know how to use ALSA directly with xawtv, motv, kdtv, tvtime, or zapping; if you do, please add it in here!<br />
<br />
If using arecord still causes a delay between the video and the audio, try using sox:<br />
<br />
sox -r 32000 -w -t alsa hw:1,0 -t alsa hw:0,0<br />
<br />
Recent versions of sox no longer accept "-w" option, so just omit it. You can also use "--buffer" option to improve A/V synchronization, as the default 8KB buffer causes audio to lag significantly. On my system 2KB buffer is optimal:<br />
<br />
sox --buffer 2048 -r 32000 -t alsa hw:1,0 -t alsa hw:0,0<br />
<br />
Sox might get you mono sound, while all the alsa solutions cause delays. A combination has been known to work:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | sox -q -c 2 -r 32000 -w -t wav - -t alsa hw:0,0<br />
<br />
If sox doesn't have alsa support, you can try this instead:<br />
<br />
arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | play -q -c 2 -r 32000 -w -t wav -<br />
<br />
Alternatively you can use alsa's oss-emulation with sox, which seems to result in way better latency then all the above:<br />
<br />
sox -q -c 2 -s -w -r 32000 -t ossdsp /dev/dsp1 -t ossdsp -w -r 32000 /dev/dsp<br />
<br />
=== Howto use Saa7134-alsa with Pulseaudio based-system ===<br />
<br />
==== Redirect the sound with pulseaudio loopback module ====<br />
* If your Saa713x device is properly configured and still can get no sound with TVTime, you may to redirect the input source from your TV card to the output of your sound card. You must load the [http://pulseaudio.org/wiki/Modules#module-loopback loopback module] with the command:<br />
$ pactl load-module module-loopback<br />
It will redirect the default input to the default output. The default input may not be the right one, you can change it in the 'Recording' tab with 'All Streams' displayed with Pulseaudio Volume Control (pavucontrol)<br />
[[File:Pavucontrol.png|thumb|400px|center|alt=Example of loopback module selection in Pulseaudio Volume Control|Example of loopback module selection in Pulseaudio Volume Control]]<br />
<br />
* The sound should now works. To automate the process, we will edit /etc/pulse/default.pa<br />
<br />
First we need to now what is the TV card source name in pulseaudio. You can know the PCI address of your card with<br />
$ lspci | grep SAA<br />
It will output something like that :<br />
04:08.0 Multimedia controller: Philips Semiconductors SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev d1)<br />
'''04:08.0''' is the ''address'' of your card.<br />
<br />
* Then, the following command<br />
$ LANG=C pactl list | grep -A2 'Source #' | grep 'Name: ' | cut -d" " -f 2<br />
will list all source detected by Pulseaudio.<br />
<br />
For example, on my computer:<br />
alsa_input.pci-0000_04_08.0.analog-stereo<br />
alsa_output.pci-0000_00_10.1.analog-stereo.monitor<br />
alsa_input.pci-0000_00_10.1.analog-stereo<br />
<br />
The source name to use is '''the one with the right PCI address'''. Here the third one: alsa_input.pci-0000_'''04_08.0'''.analog-stereo<br />
<br />
* Edit the file /etc/pulse/default.pa with your favorite text editor:<br />
# gedit /etc/pulse/default.pa<br />
Add the following line at the end of the file (replacing source with the one you found):<br />
load-module module-loopback source=alsa_input.pci-0000_04_08.0.analog-stereo<br />
<br />
* Restart Pulseaudio<br />
$ pulseaudio -k<br />
<br />
=== Sound distorted and high-pitched ===<br />
<br />
* On some card, the sound is distorted, high-pitched as if it is accelerated. Some program will output buffer underrun in the terminal. Fixed for newer kernel: http://git.alsa-project.org/?p=alsa-kernel.git;a=commit;h=7b54360293c9d72b54e462d146c9376287d2f71b<br />
* To correct this problem we need to change the autodetected sampling rate of the TV card from to 32000Hz.<br />
* First we search for the current card parameters. Type :<br />
$ pactl list | grep device_id<br />
It will output sound card argument detected by udev :<br />
Argument: device_id="2" name="pci-0000_'''04_08.0'''" card_name="alsa_card.pci-0000_04_08.0" tsched=yes ignore_dB=no card_properties="module-udev-detect.discovered=1"<br />
Argument: device_id="0" name="pci-0000_00_10.1" card_name="alsa_card.pci-0000_00_10.1" tsched=yes ignore_dB=no card_properties="module-udev-detect.discovered=1"<br />
<br />
As previously explained we will need arguments from the card with the right PCI address (here, the first line).<br />
<br />
* Edit the file /etc/pulse/default.pa with your favorite text editor:<br />
# gedit /etc/pulse/default.pa<br />
<br />
* Before the line <br />
### Automatically load driver modules depending on the hardware available<br />
add the following<br />
load-module module-alsa-card rate=32000 format=s16le $argument<br />
where $argument is the line previously found without the last argument card_properties="module-udev-detect.discovered=1"<br />
<br />
For example,<br />
load-module module-alsa-card rate=32000 format=s16le device_id="2" name="pci-0000_04_08.0" card_name="alsa_card.pci-0000_04_08.0" tsched=yes ignore_dB=no<br />
<br />
* Restart Pulseaudio<br />
$ pulseaudio -k<br />
[[Category:Drivers]]<br />
[[Category:Software]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=MSI_TV@nywhere_E-Duo&diff=31553MSI TV@nywhere E-Duo2013-01-04T01:18:44Z<p>CityK: moved TV@nywhere E-Duo to MSI TV@nywhere E-Duo: name</p>
<hr />
<div>[[Image:msi_tvanywhere_e_duo.jpg|250px|thumb|right|MSI TV@nywhere E-Duo Card]]<br />
A dual tuner [[DVB-T]] [[DVB-T PCIe Cards|PCIe card]] from [[MSI]].<br />
It is currently not supported under Linux.<br />
<br />
==Overview/Features==<br />
<br />
* Dual tuner DVB-T<br />
* PCI-E 1x interface<br />
<br />
==Components Used==<br />
* [[NXP SAA716x|NXP SAA7160ET]] [[PCIe interface chipsets|PCIe interface chipset]]<br />
* 2x [[NXP TDA10048|NXP TDA10048HN]] DVB-T demodulators<br />
* 2x [[NXP/Philips TDA182xx|NXP TDA18211HDC1]] silicon tuner ICs<br />
<br />
==External links==<br />
* [http://global.msi.eu/index.php?func=proddesc&maincat_no=132&prod_no=1432# MSI TV@nywhere E-DUO product page]<br />
* [https://picasaweb.google.com/lh/photo/_NqoKWlTKBe54Lj1O72Z2pxPPKVTixhzqWw3fwrCO3U?feat=directlink MSI TV@nywhere E-DUO tuner chip under shield]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Saa7162_devices&diff=31552Saa7162 devices2013-01-04T01:18:03Z<p>CityK: /* Examples of saa7160 Based Cards */ added link</p>
<hr />
<div>Saa7162 devices are collectively those PCIe devices that are based upon either a [[NXP SAA716x|SAA7160, SAA7161 or SAA7162]] chip, and which will be supported under Linux by the [[NXP SAA716x#Driver Development|SAA716x kernel driver module]]. <br />
<br />
<br />
==Supported Cards==<br />
There are currently no supported cards. (Check here for current status of [[NXP SAA716x#Driver Development|driver development]]).<br />
<br />
==Examples of saa7160 Based Cards==<br />
===AVerMedia AVerTV Speedy Hybrid PCI-E===<br />
* [[AVerMedia AVerTV Speedy Hybrid PCI-E]] Its a combo card Analog + DVB-T<br />
===Kworld pe355-2T PCI-E Dual DVB-T TV Card Pro===<br />
* [[Kworld pe355-2T PCI-E Dual DVB-T TV Card Pro]] is a dual DVB-T card.<br />
<br />
* [[MSI]] [[MSI TV@nywhere E-Duo|TV@nywhere E-Duo]]<br />
<br />
==Examples of saa7162 Based Cards==<br />
<br />
===Blackgold TV BGT3540===<br />
<br />
A "6 in 1" PCI express card, dual digital satellite, dual digital terrestrial, dual analogue terrestrial. Dual F connectors for two DVB-S sources, one Belling-Lee connector for terrestrial.<br />
<br />
[[Image:BGT3540.png|Blackgold BGT3540]]<br />
<br />
See [http://shop.blackgold.tv/epages/BT3159.sf/en_GB/?ObjectPath=/Shops/BT3159/Products/BGT3540 product page] and [http://shop.blackgold.tv/pages.php?pageid=15 specifications].<br />
<br />
===DNTV PCI Express cards===<br />
<br />
* [[DNTV Live! Dual Hybrid PCI Express]] (a rebadge of the FlyTV Express X1 MST-T2A2EX, see below)<br />
* [[DNTV Live! QuattroS PCI Express]]<br />
<br />
See [http://marc.info/?l=linux-video&m=115718592220235&w=2 v4l discussion].<br />
<br />
===KWorld PCI Express Hybrid===<br />
<br />
An early example of a card that uses the saa7162 decoder chip is this hybrid card, which also supports Intel's serial digital video out (SDVO):<br />
<br />
[[Image:KWorld-PCIe.png|KWorld PCI Express Hybrid]]<br />
<br />
See [http://www.kworldcomputer.com/product/pci-e/002/PCI_E_Hybird.htm product page].<br />
<br />
(Someone needs to tell them it's hybrid, not hybird!)<br />
<br />
===LifeView Express cards===<br />
<br />
* [[LifeView FlyTV Express X1]]<br />
<br />
===Philips PCV290===<br />
<br />
Dual DVB-T and Dual DVB-S <br />
[http://www.nxp.com/applications/pc_pda/pc_tv/pcv290/index.html Reference Design]<br />
<br />
Uses 2xTDA8263 DVB-S Tuner, 1 x TDA10093 Dual Channel DVB-S channel decoder, 2xTDA8275A DVB-T Tuner, 2xTDA10046A DVB-T channel decoder, 1xSAA7162E TV video/audio decoder/PCI express interface)<br />
<br />
===Pinnacle PCTV Dual Hybrid Pro===<br />
Tuner cards from Pinnacle with PCI Express x1. [http://support.packardbell.com/de/item/index.php?i=tv013a&ppn=PB34313803 PackardBell] have some windows drivers for them.<br />
<br />
''Pinnacle PCTV Dual Analog + DVB-T + DVB-S'', [[Pinnacle_PCTV_7010iX]]: Two FM, DVB-T, analog TV, and two DVB-S recievers. Chips used: Philips SAA7162, Philips TDA8275A, Zarlink ZL10313 (for DVB-S).<br />
<br />
''Pinnacle PCTV Dual Hybrid Pro PCI-e'', [[Pinnacle_PCTV_3010iX]]: Low profile card, Two FM, DVB-T, analog TV recievers. Chips used: Philips SAA7162, Philips TDA8275A.<br />
<br />
<br />
[[Image:Pinnacles-1sm.jpg|Photos of new PCI Express Pinnacle cards]]<br />
<br />
===ViXS Diamond Reference Design===<br />
In August 2005, ViXS Systems announced the Diamond PCI Express TV tuner reference design. The design provides for analog and hybrid (analog/digital) video processing, combining ViXS' XCode II-L Dual MPEG Encoder with Philips' SAA7162 Dual Video Decoder and Philips' TV tuner ([http://www.vixs.com/sub_sections/news_events/press/press_ViXS_Philips.html press release]).<br />
<br />
==Examples of saa7160e Based Cards==<br />
<br />
===Creatix CTX975===<br />
<br />
PCIe DVB-T receiver in a 34 mm Express Card design.<br />
<br />
See [http://www.creatix.de/produkte/multimedia/ctx975.htm product page] and [http://www.creatix.de/produkte/multimedia/datenblatt/CTX975%20V1%20NewCard.pdf specifications].<br />
[[Category:Drivers]]<br />
[[Category:Hardware]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=DVB-T_PCIe_Cards&diff=31551DVB-T PCIe Cards2013-01-04T01:16:48Z<p>CityK: fixed link</p>
<hr />
<div>On this page you will find information regarding [[DVB-T]] [[PCIe]] and [[PCIe Mini Card]] devices.<br />
<br />
{{non-exhaustive list}}<br />
<br><br />
__TOC__<br />
<br><br />
== DVB-T PCIe Cards ==<br />
<br />
=== Supported DVB-T PCIe Cards: ===<br />
<br />
* [[Hauppauge]] [[Hauppauge WinTV-HVR-1200|WinTV-HVR-1200]] <sup id="fn_1_back">[[#fn_1|1]]</sup><br />
* [[Hauppauge]] [[Hauppauge WinTV-HVR-1700|WinTV-HVR-1700]] <sup id="fn_1_back">[[#fn_1|1,]]</sup> <sup id="fn_2_back">[[#fn_2|2]]</sup> <br />
* [[TerraTec]] [[TerraTec Cinergy 2400i DVB-T|Cinergy 2400i DVB-T]]: Works with a patch for the [[NGene_devices|NGene]]-driver.<br />
* [[Hauppauge]] [[Hauppauge_WinTV-HVR-2200|WinTV-HVR-2200]] <sup id="fn_1_back">[[#fn_1|1]]</sup> Needs binary blob firmware and drivers from linuxtv.org git tree (not in mainline kernel yet)<br />
* [[TerraTec]] [[TerraTec Cinergy T PCIe dual|Cinergy T PCIe dual]] <br />
<cite id="fn_1">[[#fn_1_back|Note 1:]] </cite> Support is currently limited to digital TV mode only. Analog support (both analog TV & A/V input) will be added to the CX23885/7 driver soon; which will enable preview analog video support. <br> <br />
<cite id="fn_2">[[#fn_2_back|Note 2:]] </cite>Hauppauge's analog mpeg encoder support is also contingent upon further development of the driver for the CX23417 encoder.<br />
<br />
==== Experimental Support: ====<br />
* [[DViCO]] [[DViCO FusionHDTV DVB-T Dual Express|FusionHDTV DVB-T Dual Express]]<br />
* [[Leadtek]] [[Leadtek WinFast PxDVR3200 H|WinFast PxDVR3200 H]]<br />
<br />
* [[NetUP Dual DVB T C CI RF|NetUP_Dual_DVB_T_C_CI_RF]]<br />
* [[Digital Devices DuoFlex C&T]]<br />
<br />
=== Unsupported DVB-T PCIe Cards: ===<br />
{{help to support}}<br />
<br />
* [[Compro Technology|Compro]] [[Compro VideoMate E650|VideoMate E650]]<br />
* [[Compro Technology|Compro]] [[Compro VideoMate E700|VideoMate E700]]<br />
* [[Compro Technology|Compro]] [[Compro VideoMate E800|VideoMate E800]]<br />
* [[Compro Technology|Compro]] [[Compro VideoMate E900/E850F|Videomate E900/E850F]]<br />
* [[DViCO]] [[DViCO FusionHDTV DVB-T Dual Express|FusionHDTV DVB-T Dual Express]]<br />
* [[DViCO]] [[DViCO FusionHDTV DVB-T Dual Express2|FusionHDTV DVB-T Dual Express2]]<br />
* [[KWorld]] KWorld PlusTV Dual Hybrid PCIExpress (VS-DVBT PE310RF)<br />
* [[Kworld pe355-2T PCI-E Dual DVB-T TV Card Pro]]<br />
* [[Pinnacle]] [[Pinnacle PCTV Dual Hybrid Pro PCI Express (3010i)|PCTV Dual Hybrid Pro PCI Express (3010i)]]<br />
* [[Pinnacle]] [[Pinnacle PCTV 7010iX|PCTV 7010iX]]<br />
* [[Blackgold]] [[Blackgold BGT3540|BGT3540]]<br />
* [[X3M Digital]] [[X3M Digital HPCe2100|HPCe2100]]<br />
* [[MSI]] [[MSI TV@nywhere E-Duo|TV@nywhere E-Duo]]<br />
<br />
== DVB-T PCIe Mini Cards ==<br />
<br />
=== Supported DVB-T PCIe Mini Cards ===<br />
* [[LifeView]] LR534 ... information is currently contained [http://www.linuxtv.org/v4lwiki/index.php/LifeView/TVWalkerTwin#LifeView_LR534_mini-PCIe_card here] (link will be changing soon)<br />
* [http://www.pro-nets.com/eng/product.php?mode=show&cid=109&pid=143 PRO-NETS DM100A]: works using the driver for the [[Afatech_AF9015]] chip from http://linuxtv.org<br />
* [[Sundtek]] MediaTV Pro (MiniPCIe), AnalogTV, FM Radio, DVB-T, DVB-C Hybrid MiniPCIe device. Supported by the manufacturer.<br />
<br />
=== Unsupported DVB-T PCIe Mini Cards: ===<br />
{{help to support}}<br />
<br />
* LifeView LR535<br />
* Lite-On TVT-1060<br />
* [[AVerMedia A373 MiniCard Dual DVB-T]]<br />
<br />
[[Category:PCIe| ]]<br />
[[Category:DVB-T| ]]<br />
[[Category:DVB-T PCIe Cards| ]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Saa713x_devices&diff=31550Saa713x devices2013-01-04T01:06:40Z<p>CityK: Reverted edits by DLX (talk) to last revision by Wirbel</p>
<hr />
<div>saa713x devices are collectively those PCI cards that are based upon one of the [[Philips SAA7134|SAA713x]] chips, and which are supported under Linux by the saa7134 and associated kernel driver modules.<br />
<br />
<br />
==saa7134 and associated kernel driver modules==<br />
TV cards based on the saa713x chips are well supported by the saa7134 driver. The picture quality is typically high, and the sound can be taken directly from the TV card or through a patch cable to your sound card. On the [[text_capture | text capture]] front, both teletext and NTSC closed captioning are supported.<br />
<br />
===Sound support===<br />
Support for DMA sound, or sound taken directly off the PCI bus, has improved in the 2.6.16 kernel, thanks to the work of Ricardo Cerqueira and others. There are now two separate drivers for DMA sound, saa7134-alsa and saa7134-oss. In order to enable these in the kernel, you must first have selected support for ALSA and/or OSS under Sound. If you build both DMA devices as modules, you can use both alternately, though they cannot both be loaded at the same time.<br />
<br />
While the saa7134-oss is listed as deprecated, there are still programs that have difficulties using ALSA's device enumeration, and the oss module remains useful.<br />
<br />
These modules do not require parameters during insertion. For details and sound problems see [[saa7134-alsa]].<br />
<br />
==Supported saa713x devices==<br />
An up-to-date list of saa713x devices supported by V4L-DVB drivers is found in the [http://linuxtv.org/hg/v4l-dvb/file/tip/linux/Documentation/video4linux/CARDLIST.saa7134 CARDLIST.saa7134] file in the master development repository. <br />
<br />
Devices supported by the kernel running on your system are listed in your local <code><path_to_your_kernel_sources>/Documentation/video4linux/CARDLIST.saa7134</code>. If you don't find your device listed here, but support for it is cited in the up-to-date sources (see above), then you will need to either upgrade to a more recent kernel that has already absorbed support for the device or, more simply, just get the latest V4L-DVB drivers. You can install the V4L-DVB modules on top of your existing kernel (see: [[How to Obtain, Build and Install V4L-DVB Device Drivers|detailed instructions]]), however, note that support for some devices may also require use of a newer kernel.<br />
<br />
===Getting an unlisted card to work===<br />
If your card is not listed, see the "[[Development: How to add support for a device|How to add support for a device]]" article.<br />
---- <br />
this part needs to be edited: <br />
* ask for assistance on the [https://listman.redhat.com/mailman/listinfo/video4linux-list v4l mailing list]<br />
* [http://marc.theaimsgroup.com/?l=linux-video searchable archives]. <br />
* It may be a clone of a listed card ... card= entries may work for several similar cards.<br />
* Full card names can be cross-referenced from drivers/media/video/saa7134/saa7134-cards.c.<br />
<br />
Before buying a new TV card, it's always worth checking its support status on V4L documentation. However, be advised that, since some producers label with the same product name boards that, inside, are actually different, there is always some risk of buying an un- (or non-completely) supported card even if it appears to be. Spending some more time searching newsgroups and mailing lists for complaints is recommended.<br />
<br />
Make sure you post the findings of your investigations here and on the video4linux mailing list (video4linux-list@redhat.com) so that saa7134-cards.c can be updated with a new card= entry for your card.<br />
<br />
==Installation notes==<br />
See [[Saa713x devices: Generic SAA7134 Card Installation]] for how to properly setup your saa7134-based tv tuner card or use the installation instructions for your specific card:<br />
<br />
=== [[ASUS]] ===<br />
* [[ASUS P7131 Dual]]<br />
* [[ASUS My Cinema-P7131 Hybrid|ASUS P7131 Hybrid]]<br />
* [[ASUS TV-FM 7133]]<br />
* [[ASUS TV-FM 7135]]<br />
* [[ASUSTeK P7131 Dual]]<br />
* [[ASUS Digimatrix TV]]<br />
* [[Asus Europa2 OEM]]<br />
* [[ASUS P7131 4871]]<br />
* [[ASUSTeK P7131 Analog]]<br />
* [[Asus Tiger 3in1]]<br />
* [[Asus Tiger Rev:1.00]]<br />
<br />
=== [[AVerMedia]] ===<br />
As described in [[AVerMedia AVerTV_305/307_Linux_user_guide|AVerTV 305/307 Linux user guide (Russian language)]], the following cards are supported:<br />
* AVerTV 305<br />
* AVerTV Studio 305<br />
* AVerTV 307<br />
* AVerTV Studio 307<br />
In addition, the following cards are known to work:<br />
* [[AVerMedia Cardbus E500]]<br />
* [[AVerMedia Cardbus Plus E501R |AVerMedia Cardbus Plus E501R (russian)]]<br />
* [[AverMedia M156 / Medion 2819]]<br />
* [[AVerMedia DVD EZMaker]]<br />
* [[AVerMedia AVerTV GO 007]]<br />
* [[AVerMedia AVerTV GO 007 FM]]<br />
* [[AVerMedia AVerTVHD MCE A180]]<br />
* [[AVerMedia AVerTV Hybrid+FM Cardbus (E506R)]]<br />
* [[AVerMedia AVerTV Hybrid+FM PCI (A16D)]]<br />
* [[AverMedia M103 (Hybrid) Mini PCI]]<br />
*[[AverMedia M156]]<br />
*[[AVerMedia DVD EZMaker]]<br />
*[[AVerMedia AVerTVHD MCE A180]]<br />
*[[AVerMedia A169 B]]<br />
*[[AVerMedia A169 B1]]<br />
*[[AVerMedia TV Hybrid A16A]]<br />
*[[Avermedia AVerTV Studio 507]]<br />
*[[Avermedia M102]]<br />
*[[Avermedia Super 007]]<br />
*[[Avermedia M115]]<br />
*[[Avermedia DVB-S Pro A700]]<br />
*[[Avermedia DVB-S Hybrid+FM A700]]<br />
*[[AVerMedia MiniPCI DVB-T Hybrid M103]]<br />
*[[Avermedia PCI pure analog (M135A)]]<br />
*[[Avermedia AVerTV GO 007 FM Plus]]<br />
*[[Avermedia AVerTV Studio 507UA]]<br />
<br />
=== Bona ===<br />
The brand is also refered to as Mentor. [http://www.bona.com.tw:8080/ Bona Website]<br />
* [[Bona TV-PCI]]<br />
<br />
=== Canopus ===<br />
* [[Canopus KTVX-CB (aka ITACHU) CardBus|KTVX-CB (aka ITACHU) CardBus]]<br />
<br />
=== Compro ===<br />
* [[Compro Videomate T750]]<br />
* [[Compro VideoMate T300]]<br />
* [[Compro VideoMate DVB-T220]]<br />
* [[Compro VideoMate T200a]]<br />
* [[Compro VideoMate T200]]<br />
* [[Compro VideoMate TV Gold-Plus]]<br />
* [[Compro VideoMate TV PVR/FM]]<br />
* [[Compro VideoMate TV Gold-Plus PAL]]<br />
* [[Compro VideoMate S350]]<br />
* [[Compro VideoMate TV Gold+II]]<br />
* [[Compro VideoMate Vista M1F]]<br />
<br />
=== Encore ===<br />
* [[Encore USA ELNTV-FM]]<br />
* [[Encore ENLTV]]<br />
* [[Encore ENLTV-FM v5.3]]<br />
<br />
=== Hercules ===<br />
* [[Hercules Smart TV 3]]<br />
<br />
=== KNC One (KNC1) ===<br />
* [[KNC One TV-Station DVR]]<br />
* [[KNC One TV-Station RDS]] / Typhoon TV Tuner RDS<br />
<br />
=== KWorld === <br />
* [[KWorld ATSC 110|ATSC-110]]<br />
* [[KWorld Studio TV Terminator|Studio TV Terminator]] (a.k.a. Global TV Terminator)<br />
* [[KWorld NB-TV 100 CardBus|NB-TV 100 CardBus]]<br />
* [[KWorld DVB-T 220|DVB-T 220]]<br />
* [[Kworld/KuroutoShikou SAA7130-TVPCI]]<br />
* [[Kworld/Tevion V-Stream Xpert TV PVR7134]]<br />
* [[Kworld Xpert TV PVR7134]]<br />
* [[KWorld DVB-T 210]]<br />
* [[Kworld Plus TV Analog Lite PCI]]<br />
* [[Kworld PCI Analog TV Card Lite]]<br />
<br />
=== LifeView ===<br />
* [[LifeView FlyVideo2000|FlyVideo2000]]<br />
* [[LifeView FlyVideo3000FM NTSC|FlyVideo3000FM and FlyVideo3000]]<br />
* [[LifeView FlyVideo3000 PAL-N|FlyVideo3000 PAL-N]]<br />
* [[LifeView FlyDVB-T Hybrid|FlyDVB-T Hybrid]]<br />
* [[LifeView FlyDVB-T Hybrid CardBus|FlyDVB-T Hybrid CardBus]]<br />
* [[LifeView FlyDVB-T Duo CardBus|FlyDVB-T Duo CardBus]]<br />
* [[LifeView FlyTV Platinum|FlyTV Platinum]]<br />
<br />
=== MSI ===<br />
* [[MSI TV@nywhere A/D NB|TV@nywhere A/D NB]]<br />
* [[MSI TV@nywhere Duo]]<br />
* [[MSI TV@Anywhere plus]]<br />
* [[MSI TV@nywhere A/D v1.1]]<br />
<br />
=== Mercury === <br />
<br />
* [[Mercury TV Tuner card PAL/Mecury EzView tuner card (Philips chipset)]]<br />
* [[Mercury TV PAL]]<br />
<br />
=== Pearl ===<br />
<br />
* [[Auvisio TV Tuner & Video Capture Card]]<br />
<br />
=== Pinnacle ===<br />
* [[Pinnacle PCTV 40i]]<br />
* [[Pinnacle PCTV 50i]]<br />
* [[Pinnacle PCTV 110i]]<br />
* [[Pinnacle PCTV 300i]]<br />
* [[Pinnacle PCTV (310i)]]<br />
* [[Pinnacle PCTV Stereo]]<br />
* [[Pinnacle PCTV Stereo XE]]<br />
<br />
=== Sabrent ===<br />
* [[Sabrent SBT-TVFM]]<br />
* [[Sabrent TV-PCIRC]]<br />
* [[Sabrent PCMCIA TV-PCB05]]<br />
<br />
=== TerraTec ===<br />
* [[Terratec Cinergy 200 TV]]<br />
* [[TerraTec Cinergy 250 PCI|Cinergy 250 PCI]]<br />
* [[TerraTec Cinergy 400|Cinergy 400]]<br />
* [[TerraTec Cinergy 400TV mobile|Cinergy 400TV mobile]]<br />
* [[TerraTec Cinergy 600|Cinergy 600]]<br />
* [[TerraTec Cinergy HT PCI|Cinergy HT PCI]]<br />
* [[Terratec Cinergy HT PCMCIA]]<br />
* [[TerraTec Cinergy HT Express]]<br />
<br />
=== Tevion ===<br />
* [[Tevion MD 9717]]<br />
* [[Tevion DVBT-220RF]]<br />
* [[Tevion V-Stream Xpert TV PVR7134]]<br />
<br />
=== Vivanco ===<br />
* [[Vivanco Cardbus DVB-T]]<br />
<br />
=== Other ===<br />
* [[Smartv_card |SmartTV Card]]<br />
* [http://techcomindia.com/itemdetail.asp?Cat=&CatID=&prodid=501&ProdName=SSD%2DTV%2D670 TECH-COM, Card Model: SSD-TV-670 ]<br />
* [[Zolid Hybrid TV Tuner|Zolid Hybrid TV Tuner]]<br />
<br />
==External Links==<br />
* [http://en.gentoo-wiki.com/wiki/Saa7134 Gentoo Wiki's saa7134 article]<br />
[[Category:Hardware]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Development:_How_to_add_support_for_a_device&diff=31315Development: How to add support for a device2012-10-08T17:56:00Z<p>CityK: /* Determining the Device's Identity */ update bttv-gallery section</p>
<hr />
<div>This article is meant to serve as an introduction to the task of developing driver support for a device. <br />
<br />
==Getting Started==<br />
The very first thing you should do is find out how your device identifies itself:<br />
<br />
'''For PCI/PCIe devices''' - use the command:<br />
:<code>$ /sbin/lspci -vnn</code><br />
<br />
'''For USB based devices''' - use the command:<br />
:<code>$ /sbin/lsusb -v</code><br />
<br />
The output generated from the above should provide you with the identify of the main bridge chip as well as the important piece of information known as the device's subsystem ID.<br />
<br />
Next, you should try to identify the other component ICs/chips that your device uses. In regards to TV tuner devices, often the tuner chip and demodulator(s) are hidden within a metallic box connected directly to the antenna input. In such cases, this tuner module will usually have an identifying model name/type printed upon it's face, though it is also just as common for this to be obscured underneath a sticker that the device manufacturer has laid over top. With care, you can usually peel back the manufacturer's device sticker to discover the tuner module's own part identifier label or stamp. <br />
<br />
Note: You can find a lot of useful device related information: <br />
* here in the wiki<br />
* in the [[Development:_How_to_add_support_for_a_device#bttv-gallery|bttv-gallery]] <br />
* and by having a look at MS-Windows drivers (in particular, the .inf files), as they often contain a lot of particulars about a device's hardware components<br />
<br />
<br />
== Case 1: Development steps for when your device uses components for which drivers already exist==<br />
Extending support for your device under such circumstances can range from being a trivial matter to one which requires some patience and discovery through the process of trial & error.<br />
<br />
First off, [[How to Obtain, Build and Install V4L-DVB Device Drivers|download the latest V4L-DVB source code from Git]] and search for a device that is similar to your own - something like your device may already be supported but with another name. In such a case, you can copy a similar entry and fill in the values for the new device. For example: <br />
* for a bttv chip you add to bttv-cards.c and bttv.h, <br />
* for cx88 chip - cx88-cards.c and cx88.h, <br />
* for saa713x chip saa7134-cards.c and saa7134.h<br />
... and so forth.<br />
<br />
==== For TV tuner devices: Finding the correct tuner ====<br />
In more than 90% of all cases something like.. first test one to your norm specific type with older Philips API, then test LG API and if there are still missing channels in UHF test MK3 API types will succeed. To find the exact takeover and radio config might be further steps, but most likely this can be/is covered by one of the existing types already. <br />
<br />
At least it will usually take only three tuners to reach this point and if you find all three API types don't work, then ...<br />
<br />
To check for the tda9887 on MK3 and mt32xx types can be done at once or as a next step. Since also the Philips silicon tuners should be well detected now, we can identify such like the yet unsupported Xceive types quite well. They seem to fail safely upon the initialization sequence with tuner=54 if I got Carsten right. So the really difficult/new ones should show up quickly enough and we can try to prepare a list of typical addresses for new devices like channel decoders, second eeproms, most likely hidden analog demodulators and such.<br />
<br />
That the multi and hybrid types can have other issues too, like antenna input/filter/demodulator RF-amplifier switching and the like is above simple analog tuner programming and not yet fully investigated for all new types, but it seems there is some very good progress too.<br />
<br />
The takeover suggestions in most datasheets on switch between VHF and UHF aren't related closely to technical specifications and precise measurements. They simply take it from _known_ channels currently in use and select those which are closest from both sides! Most obvious for NTSC-M tuners. If one is missing in the gap, to go right into the middle seems to be still reasonable for me as a next step in such cases, but to finally make the decision on what is empirically reported to work best is legal in lack of further documentation.<br />
<br />
==== Guessing the .gpio values and masks for input ====<br />
For some guidance on programming for these aspects, see:<br />
* the programming section of the [[GPIO pins]] article and<br />
* the [[Remote controllers-V4L|Remote controllers]] article. Note: before writing the patch please double-check that there are no such keys in V4L-DVB source code already.<br />
<br />
==== Test your code====<br />
If the device works - that's cool! Congratulations! You are now ready to [[Development: How to submit patches|send a patch to the mailing list]].<br />
<br />
==Case 2: Development steps for when your device uses components for which drivers do not currently exist==<br />
<br />
Unfortunately, development of a new chipset driver is generally not an easy task. For starters, you're going to have to be capable and/or ambitious enough to produce the code or, at the very least, inspire an existing developer to do such (and there is by no means any guarantee that anyone will be interested...even if you cry and beg and/or throw bags of money). Either way, you should first search and/or inquire on the mailing list as to whether or not someone is already undertaking such development.<br />
<br />
If you're going to work on a driver for a chip you should try to find documentation for it online. In the end, you may require getting information directly from the manufacturer (in the case where no information can be found in the "wild" or those where publicly available information is incomplete or lacking). <br />
<br />
* For general references on how to develop a Linux kernel driver module, take a look at the [http://jungla.dit.upm.es/%7Ejmseyas/linux/kernel/hackers-docs.html Index of Documentation for People Interested in Writing and/or Understanding the Linux Kernel].<br />
<br />
* USB based devices; Also see: <br />
** [[Development: How to develop drivers for USB based devices|How to develop drivers for USB based devices]]<br />
** [[Development: Reverse Engineering USB Webcams|Reverse Engineering USB Webcams]]<br />
<br />
==== A Word on Non-Disclosure Agreements ====<br />
Companies frequently allow developers to see detailed chip specifications or even Linux source code under a Non-disclosure agreement (NDA).<br />
<br />
A NDA isn't necessarily a barrier to writing a GPL'd driver; it just depends on what it says. While there are some movements at the Open Source community for open datasheets, unfortunately several vendors still prefer to keep the Intelectual Property (IP) of their documents protected, under the terms of an NDA.<br />
<br />
If you are required to sign an NDA, read it carefully. If the NDA merely stops you from disclosing the specifications, you should be fine. This does not prevent you from writing and distributing a driver under a free software license. Also note that, in some cases, signing a NDA may even go so far as restricting you from even mentioning to others that you've signed a NDA -- in other words, you can't talk about or even mention the development of the new driver until the terms of the NDA lift. Also make sure to check that you're allowed to be the copyright holder of your driver. If not, they might redistribute your code under another license, and thus close the code. It is wise to ask to a lawyer to analyze the NDA clauses or to use [[http://www.linuxfoundation.org/en/NDA_program Linux Foundation NDA program]] to be sure if the terms you're signing will allow you to release an open source code.<br />
<br />
Chip and board manufacturers have an incentive to be helpful to free software developers, as the drivers will help move their product. And as long as the NDA gives you the necessary freedom to publish your code, the information supplied can be extremely helpful in writing the driver.<br />
<br />
====After you've finished the driver(s) for the previously unsupported components====<br />
Its time to return to the steps outlined in "Case 1", where you link together the necessary pieces in the drivers that will bring about support for your device (i.e. adding all the glue code).<br />
<br />
== Don't forget to send info to the Wiki !== <br />
* upload non-proprietary picture(s) of the device (i.e. those that you took, and not ones taken from the vendor's website without express permission to do so!) Note: Please use a descriptive filename, as opposed to "image1.jpg" or the generic/cryptic filename that your digital camera gave to it when it was created.<br />
* create a device article outlining what type of device it is, features, support information (drivers, firmware, remote), identification, kernel output messages etc., etc., (see the [[Wiki - New Device Copy & Paste Template|New Device Copy & Paste Template]] as a guide for an article's format).<br />
<br />
===bttv-gallery === <br />
{{Note|in the early stages of V4L history, well before a wiki was even dreamt of, the bttv-gallery was initiated by Gunther Mayer, a leading tuner/hardware developer with the project. The bttv-gallery essentially served as the official hardware resource centre for V4L, whereby it documented a great deal of the insights (such as tuner components, GPIO settings, EEPROM detection etc., etc.,) that were conveyed on the mailing list, as well as from user submissions, and also provided a visual library of the devices. Over time, a great many analogue and DVB devices were documented. Even after the site feel into a state of stasis, it remained an excellent reference source that was easily searchable for many hard to find facts/items, as well as for purposes of device identification. Unfortunately, it appears that the bttv-gallery webpage no longer exits, though access to its resources can be made through the last available snapshot on the wayback machine: http://wayback.archive.org/web/*/http://www.bttv-gallery.de}} <br />
<br />
[[Category:Development]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Supported_Hardware&diff=31314Supported Hardware2012-10-08T17:40:06Z<p>CityK: /* Determining the Device's Identity */ update bttv-gallery remark</p>
<hr />
<div>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.<br />
{{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 [[Supported_Hardware#Determining_the_Device's_Identity|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.}}<br />
<br />
<br />
== Determining the Device's Identity==<br />
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 no, or next to little in the way of, 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):<br />
<br />
'''A. With the device NOT installed within or attached to the system:'''<br><br />
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".<br />
<br />
Also note that, for older devices, the former bttv-gallery was a good resource for helping to identify a device; see [[Development:_How_to_add_support_for_a_device#bttv-gallery|here for more details]].<br />
<br />
'''B. With the device installed within or attached to the system:'''<br><br />
For PCI/PCIe based devices, the output of the following command may be able to aide you in making a determination <br />
:<code>$ /sbin/lspci -vnn</code><br />
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.<br />
<br />
Similarily, for USB devices, look at the output generated from the command<br />
:<code>$ /sbin/lsusb -v</code><br />
<br />
'''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.<br />
<br />
== Support Information Resources==<br />
Armed with the information you obtained above (such as model name, subsystem ID, etc) try searching:<br />
<br />
===The V4L-DVB Wiki===<br />
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 Pag,e 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.<br />
<br />
{{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 !!! '''}}<br />
<br />
===The V4L-DVB source code===<br />
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 [http://git.linuxtv.org/media_tree.git/blob/HEAD:/drivers/media/video/saa7134/saa7134-cards.c 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. ...<br />
<br />
===The Mailing Lists===<br />
You should also consider consulting the mailing list archives to see if there is any mention of the device. <br />
* The [mailto:majordomo@vger.kernel.org?body=subscribe%20linux-media Linux-Media Mailing List]. [http://vger.kernel.org/vger-lists.html#linux-media Subscription to the mailing list] is recommended, though it is not required.<br />
<br />
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). <br />
* MARC provides a comprehensive [http://marc.info/?l=linux-video searchable V4L archive] ... the actual m/l is archived [https://www.redhat.com/mailman/private/video4linux-list/ here] but requires authentication to access, nor is it as easily searched through<br />
* MARC also provides a [http://marc.info/?l=linux-dvb&r=1&w=2 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 [http://www.linuxtv.org/pipermail/linux-dvb/ new DVB mailing list] (which began Feb 2005) or use the likes of either a [http://www.google.ca/search?hs=NtR&hl=en&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=site%3Alinuxtv.org&btnG=Search&meta= google site search] or [http://www.spinics.net/lists/linux-dvb/ spinics] to find even older (as well as present) DVB m/l postings...some further resources are also [http://www.linuxtv.org/lists.php mentioned here]. <br />
<br />
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<sup>*</sup> 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").<br><br />
<br />
===Elsewhere on the Internet ===<br />
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 http://hardware4linux.info/type/87/ to see the note for the different devices.<br />
[[Category:Hardware]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Development:_How_to_add_support_for_a_device&diff=31313Development: How to add support for a device2012-10-08T17:29:38Z<p>CityK: /* Case 1: Development steps for when your device uses components for which drivers already exist */ remove reference to Hg, provide link to d/l instructions</p>
<hr />
<div>This article is meant to serve as an introduction to the task of developing driver support for a device. <br />
<br />
==Getting Started==<br />
The very first thing you should do is find out how your device identifies itself:<br />
<br />
'''For PCI/PCIe devices''' - use the command:<br />
:<code>$ /sbin/lspci -vnn</code><br />
<br />
'''For USB based devices''' - use the command:<br />
:<code>$ /sbin/lsusb -v</code><br />
<br />
The output generated from the above should provide you with the identify of the main bridge chip as well as the important piece of information known as the device's subsystem ID.<br />
<br />
Next, you should try to identify the other component ICs/chips that your device uses. In regards to TV tuner devices, often the tuner chip and demodulator(s) are hidden within a metallic box connected directly to the antenna input. In such cases, this tuner module will usually have an identifying model name/type printed upon it's face, though it is also just as common for this to be obscured underneath a sticker that the device manufacturer has laid over top. With care, you can usually peel back the manufacturer's device sticker to discover the tuner module's own part identifier label or stamp. <br />
<br />
Note: You can find a lot of useful device related information: <br />
* here in the wiki<br />
* in the [[Development:_How_to_add_support_for_a_device#bttv-gallery|bttv-gallery]] <br />
* and by having a look at MS-Windows drivers (in particular, the .inf files), as they often contain a lot of particulars about a device's hardware components<br />
<br />
<br />
== Case 1: Development steps for when your device uses components for which drivers already exist==<br />
Extending support for your device under such circumstances can range from being a trivial matter to one which requires some patience and discovery through the process of trial & error.<br />
<br />
First off, [[How to Obtain, Build and Install V4L-DVB Device Drivers|download the latest V4L-DVB source code from Git]] and search for a device that is similar to your own - something like your device may already be supported but with another name. In such a case, you can copy a similar entry and fill in the values for the new device. For example: <br />
* for a bttv chip you add to bttv-cards.c and bttv.h, <br />
* for cx88 chip - cx88-cards.c and cx88.h, <br />
* for saa713x chip saa7134-cards.c and saa7134.h<br />
... and so forth.<br />
<br />
==== For TV tuner devices: Finding the correct tuner ====<br />
In more than 90% of all cases something like.. first test one to your norm specific type with older Philips API, then test LG API and if there are still missing channels in UHF test MK3 API types will succeed. To find the exact takeover and radio config might be further steps, but most likely this can be/is covered by one of the existing types already. <br />
<br />
At least it will usually take only three tuners to reach this point and if you find all three API types don't work, then ...<br />
<br />
To check for the tda9887 on MK3 and mt32xx types can be done at once or as a next step. Since also the Philips silicon tuners should be well detected now, we can identify such like the yet unsupported Xceive types quite well. They seem to fail safely upon the initialization sequence with tuner=54 if I got Carsten right. So the really difficult/new ones should show up quickly enough and we can try to prepare a list of typical addresses for new devices like channel decoders, second eeproms, most likely hidden analog demodulators and such.<br />
<br />
That the multi and hybrid types can have other issues too, like antenna input/filter/demodulator RF-amplifier switching and the like is above simple analog tuner programming and not yet fully investigated for all new types, but it seems there is some very good progress too.<br />
<br />
The takeover suggestions in most datasheets on switch between VHF and UHF aren't related closely to technical specifications and precise measurements. They simply take it from _known_ channels currently in use and select those which are closest from both sides! Most obvious for NTSC-M tuners. If one is missing in the gap, to go right into the middle seems to be still reasonable for me as a next step in such cases, but to finally make the decision on what is empirically reported to work best is legal in lack of further documentation.<br />
<br />
==== Guessing the .gpio values and masks for input ====<br />
For some guidance on programming for these aspects, see:<br />
* the programming section of the [[GPIO pins]] article and<br />
* the [[Remote controllers-V4L|Remote controllers]] article. Note: before writing the patch please double-check that there are no such keys in V4L-DVB source code already.<br />
<br />
==== Test your code====<br />
If the device works - that's cool! Congratulations! You are now ready to [[Development: How to submit patches|send a patch to the mailing list]].<br />
<br />
==Case 2: Development steps for when your device uses components for which drivers do not currently exist==<br />
<br />
Unfortunately, development of a new chipset driver is generally not an easy task. For starters, you're going to have to be capable and/or ambitious enough to produce the code or, at the very least, inspire an existing developer to do such (and there is by no means any guarantee that anyone will be interested...even if you cry and beg and/or throw bags of money). Either way, you should first search and/or inquire on the mailing list as to whether or not someone is already undertaking such development.<br />
<br />
If you're going to work on a driver for a chip you should try to find documentation for it online. In the end, you may require getting information directly from the manufacturer (in the case where no information can be found in the "wild" or those where publicly available information is incomplete or lacking). <br />
<br />
* For general references on how to develop a Linux kernel driver module, take a look at the [http://jungla.dit.upm.es/%7Ejmseyas/linux/kernel/hackers-docs.html Index of Documentation for People Interested in Writing and/or Understanding the Linux Kernel].<br />
<br />
* USB based devices; Also see: <br />
** [[Development: How to develop drivers for USB based devices|How to develop drivers for USB based devices]]<br />
** [[Development: Reverse Engineering USB Webcams|Reverse Engineering USB Webcams]]<br />
<br />
==== A Word on Non-Disclosure Agreements ====<br />
Companies frequently allow developers to see detailed chip specifications or even Linux source code under a Non-disclosure agreement (NDA).<br />
<br />
A NDA isn't necessarily a barrier to writing a GPL'd driver; it just depends on what it says. While there are some movements at the Open Source community for open datasheets, unfortunately several vendors still prefer to keep the Intelectual Property (IP) of their documents protected, under the terms of an NDA.<br />
<br />
If you are required to sign an NDA, read it carefully. If the NDA merely stops you from disclosing the specifications, you should be fine. This does not prevent you from writing and distributing a driver under a free software license. Also note that, in some cases, signing a NDA may even go so far as restricting you from even mentioning to others that you've signed a NDA -- in other words, you can't talk about or even mention the development of the new driver until the terms of the NDA lift. Also make sure to check that you're allowed to be the copyright holder of your driver. If not, they might redistribute your code under another license, and thus close the code. It is wise to ask to a lawyer to analyze the NDA clauses or to use [[http://www.linuxfoundation.org/en/NDA_program Linux Foundation NDA program]] to be sure if the terms you're signing will allow you to release an open source code.<br />
<br />
Chip and board manufacturers have an incentive to be helpful to free software developers, as the drivers will help move their product. And as long as the NDA gives you the necessary freedom to publish your code, the information supplied can be extremely helpful in writing the driver.<br />
<br />
====After you've finished the driver(s) for the previously unsupported components====<br />
Its time to return to the steps outlined in "Case 1", where you link together the necessary pieces in the drivers that will bring about support for your device (i.e. adding all the glue code).<br />
<br />
== Don't forget to send info to the Wiki !== <br />
* upload non-proprietary picture(s) of the device (i.e. those that you took, and not ones taken from the vendor's website without express permission to do so!) Note: Please use a descriptive filename, as opposed to "image1.jpg" or the generic/cryptic filename that your digital camera gave to it when it was created.<br />
* create a device article outlining what type of device it is, features, support information (drivers, firmware, remote), identification, kernel output messages etc., etc., (see the [[Wiki - New Device Copy & Paste Template|New Device Copy & Paste Template]] as a guide for an article's format).<br />
<br />
===bttv-gallery === <br />
In addition, if your device is not included in the [http://bttv-gallery.de bttv-gallery.de], you may wish to consider sending the following info to Gunther Mayer <gunther.mayer () gmx ! net>.<br />
<br />
{{Note|in the early stages of V4L history, well before a wiki was even dreamt of, the bttv-gallery was initiated by Gunther Mayer, a leading tuner/hardware developer with the project. The bttv-gallery essentially served as the official hardware resource centre for V4L, whereby it documented a great deal of the insights (such as tuner components, GPIO settings, EEPROM detection etc., etc.,) that were conveyed on the mailing list, and also provided a visual library of the devices. Though it seems, unfortunately, that the bttv-gallery has fallen into stasis, it still remains an excellent reference source that is easily searchable for many hard to find facts/items as well as for purposes of device identification.}} <br />
<br />
Your contribution will help to improve open source support!<br />
Because there are many cards and variations by different<br />
vendors, the developers need _your_ help to get it all supported.<br />
<br />
1st priority:<br />
* picture of the card, the card backside (high resolution pics if feasible)<br />
* lspci -vnn<br />
<br />
further information:<br />
# picture of remote control (if applicable) and of original package<br />
# list of chips<br />
# list of input connectors<br />
# printings on PCB, printings on stickers on the card<br />
# lspci -v and lspci -vn<br />
# "dmesg" when loading the modules<br />
# if feasible "eeprom" output (from bttv tools)<br />
# if feasible "*.INF" files from the Windows Driver CD<br />
# exact tuner type (possibly this is hidden under the vendor sticker)<br />
# exact model name and model number from package<br />
# in which country do you live/ in which country this card was bought<br />
# which application(s) did you use to test your setup ?<br />
# If some parts of your card seem to work, describe exactly what you did and what you see/hear now.<br />
<br />
Even parts of this info will be very helpful!<br />
<br />
<br />
[[Category:Development]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=TV_Related_Software&diff=31310TV Related Software2012-10-07T01:17:04Z<p>CityK: minor edit and additon to zapping list</p>
<hr />
<div>__NOEDITSECTION__<br />
<div style="margin:0; border:1px solid #6289AB; padding:0.5em; background-color:#F7F9FB;"><br />
{| style="background-color:#F7F9FB;" cellspacing=0 cellpadding=5 border=0 <br />
| valign=top | [[Image:Software_viewing_apps_icon.png|50px]] <br />
|<br />
= '''TV Related Software:'''=<br />
|}<br />
Here, we aim to provide useful information about software applications that are directly related to or which are generally useful in some respect to the reception and manipulation of TV signals on Linux based computer systems.<br />
<br />
In order to be most useful for the reader, this page is divided into two sections:<br />
* A categorical overview of software <br />
* An alphabetical listing of software<br />
<br />
{{Note|''If you're new to this aspect of computing, rather than trying single programs one after another, you might be more interested in how to quickly get a fully working system as described in the "[[Example setups]]" page. Or perhaps instead you may simply want to perform some quick tests on your system, such as like those outlined in the "[[Testing your DVB device]]" article.''}}<br><br />
<br />
__TOC__<br />
=A Categorical Overview=<br />
==Utility Suites and Standalone Tools==<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
<br />
===Analogue Utility Suites or Standalone Tools===<br />
* [[dov4l2]] [http://www.vanheusden.com/dov4l2/]<br />
* [[v4l2-utils]]<br />
* [[v4l2ucp]]<br />
* [[V4L Test Suite]]<br />
* [[xawtv]]<br />
<br />
<br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
<br />
===DVB Utility Suites and Standalone Tools===<br />
<br />
* [[LinuxTV dvb-apps]]<br />
* [[DVB tools]]<br />
* [[DVBv5 Tools]]<br />
* [[dvbsak]]<br />
* [[ZapDvb]]<br />
* [[dvbd]]<br />
* [[JustDvb-It]] <br />
|}<br />
<br />
<br />
==Tools for performing frequency scans==<br />
* [[Frequency scan|Frequency Scanning]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue Tools for performing frequency scans===<br />
* [[scantv]] (part of the [[Xawtv#Associated_Utilities|xawtv package]]) <br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===DVB Tools for performing frequency scans===<br />
... also see [[Testing your DVB device]] (PCI, USB, ...) ... scan & zap stuff<br />
* [[scan]]<br />
* [[dvbscan|dvbscan/scandvb/atscscan]]<br />
* [[w_scan]]<br />
* [[scan-s2]]<br />
* [[scte65scan]] [http://www.mythtv.org/wiki/Scte65scan] [http://forums.sagetv.com/forums/showthread.php?t=45474] [http://scte65scan.sourceforge.net/]<br />
* [[dvbv5-scan]] <br />
|}<br />
<br />
==Tools for tuning==<br />
* [[Tuning]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue Tools for tuning===<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===DVB Tools for tuning===<br />
... also see [[Testing your DVB device]] (PCI, USB, ...) ... scan & zap stuff<br />
* [[zap|{a,s,c,t}zap]]<br />
* [[dvbsnoop]]<br />
* [[dvbtune]]<br />
* [[dvbv5-zap]]<br />
* [[szap-s2]]<br />
* [[ZapDvb]]<br />
|}<br />
<br />
==Tools for signal strength==<br />
* [[Testing reception quality]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue Tools for signal strength===<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===DVB Tools for signal strength===<br />
* [[femon]]<br />
* [[dvb-fe-tool]]<br />
|}<br />
<br />
<br />
==Standalone Software to Watch & Record TV==<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
<br />
===Standalone Software to Watch Analogue TV===<br />
* [[fftv]] [http://fftv.sourceforge.net/] -- tv/radio viewer/recorder -- [http://sourceforge.net/project/showfiles.php?group_id=71197 sourcecode]<br />
* [[Gnometv]] [http://gnometv.sourceforge.net/]<br />
* [[Gv4l]] [http://gv4l.sourceforge.net/]<br />
* [[kdetv]] (also formerly known as [[QtVision]], the rewrite of the former [[KWinTV]]) <br />
* [[ktv]] [http://jerous.thimhallan.org/static//ktv/]<br />
* [[LinTV]]<br />
* [[MPlayer]]<br />
** [[SMPlayer]] [http://smplayer.sourceforge.net/]<br />
* [[tvtime]] [http://tvtime.sourceforge.net/]<br />
* [[TV-Viewer]] (for Hardware MPEG2 Encoder cards)<br />
* [[VLC media player]]<br />
* [[xawtv]]<br />
** [[MoTV]]<br />
* [[XdTV]]<br />
* [[Xine]] <br />
* [[Zapping]] [http://zapping.sourceforge.net/Zapping/index.html] - a TV viewer for the Gnome desktop.<br />
... also see [[V4L TV Viewing]] <br />
<br />
===Analogue Capturing / Frame Grabbing Utilities===<br />
* [[V4L capturing]] ... also see [[Transcode]]<br />
<br />
* [[DVR]] [http://www.pierrox.net/dvr/]<br />
* [[Grabby]] [http://www.vanheusden.com/grabby/]<br />
* [[Streamer]]<br />
* VideoDog [http://linux.softpedia.com/get/Multimedia/Video/VideoDog-9261.shtml] [http://linux.die.net/man/1/videodog]<br />
* [[WebVCR+]] [http://webvcrplus.sourceforge.net/index.html]<br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
<br />
===Standalone Software to Watch Digital TV ===<br />
* [[Antenna DTV]]<br />
* [[gdvb]]<br />
* [[gnutv]]<br />
* [[Kaffeine]]<br />
** [[KaxTV]]<br />
* [[Klear]]<br />
* [[Me TV]]<br />
* [[MPlayer]]<br />
** [[SMPlayer]] [http://smplayer.sourceforge.net/]<br />
* [[VLC media player]]<br />
* [[xawtv]] ... (only version 4 for DVB)<br />
* [[XdTV]]<br />
* [[Xine]]<br />
** [[gxine]]<br />
<br />
===DVB Tools for unattended/headless recording===<br />
* [[dvbsched]] (in [[dvbd]])<br />
* [[dvbrecord]] (in [[dvbsak]])<br />
* [[atscap]]<br />
* [[DvbCronRecordingPlugin]] for Trac<br />
<br />
''Misc ''Tutorials, Howtos, Usage Info & Guides:''<br />
* Howto record [[multiple programs]] at once<br />
|}<br />
<br />
<br />
==Media Player Software==<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Media Center Software===<br />
In addition to offline playback of captured & downloaded media material, many will feature live TV viewing and capturing facilities<br />
* [[Elisa]] [http://elisa.fluendo.com/]<br />
* [[Entertainer Project]] [http://www.entertainer-project.com/features.php]<br />
* [[Freevo]]<br />
* [[GeeXboX]]<br />
* [[Home Theater System]]<br />
** showtime (OpenGL-based media player)<br />
** tvheadend (TV streaming server)<br />
* [[LinuxMCE]] [http://www.linuxmce.com/] Linux media center - A forked project from [[pluto]]<br />
* [[Morphine.TV]] [http://wiki.morphine.tv/tiki-custom_home.php]<br />
* [[My Media System]] [http://mymediasystem.org/]<br />
* [[MythTV]]<br />
* [[Mini DVB Linux]] ??<br />
* [[oxine]] [http://oxine.sourceforge.net/]<br />
* [[pluto]]<br />
* [[Rage]] [http://www.rasterman.com/index.php?page=News (see the Monday, 27 March 2006 entry)]<br />
* [[SageTV]] [http://sagetv.com/linuxOEMedition.html]<br />
* [[VDR]] - VDR is one of the most popular TV applications. It features watching TV, recording storage on disk, EPG, Dolby Digital, playback, multi language and much more. VDR, although originally written for FF cards, works also with budget cards, if one installs the [[VDR Software Decoder Plugin]]. <br />
* XBMC [http://xbmc.org/]<br />
* [[Yahdr]]<br><br />
...<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===Media Center Distributions===<br />
Complete operating systems tailored for easy installation of everything required to have a media centre.<br />
* [[iMedia MythTV Linux]] [http://www.mini-box.com/iMediaMythTV]<br />
* Knoppmyth <br />
* [[LinVDR]] [http://www.linvdr.org/projects/linvdr/index.en.php] -- this was a Linux distro based around VDR. Now ancient history<br />
* [[MiniMyth]] [http://linpvr.org/minimyth/]<br />
* Mythbuntu<br />
* MythDora<br />
...<br />
<br />
===Standalone Media Players===<br />
i.e. for offline playback of captured materials<br />
* [[Kaffeine]]<br />
* [[Wikipedia:KMPlayer|KMPlayer]]<br />
* [[MPlayer]]<br />
** [[SMPlayer]] [http://smplayer.sourceforge.net/]<br />
* [[Totem]]<br />
* [[VLC media player]]<br />
* [[Xine]]<br />
...<br />
<br />
|}<br />
<br />
<br />
==Network and Streaming Tools==<br />
* [[Streaming]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue TV Streaming Utilities===<br />
* [[Streaming-V4L]]<br />
* [[GStreamer]]<br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===Network Tools for DVB Streams===<br />
* [[dvbshout]]<br />
* [[dvbsnoop]]<br />
* [[dvbstream]]<br />
* [[DVBStreamer]]<br />
* [[dvbyell]]<br />
* [[getstream]]<br />
* [[Me TV]]<br />
* [[mumudvb]]<br />
* [[Home Theater System|TVheadend]] <br />
<br />
===Streaming Software for Digital TV===<br />
* [[dvbice]]<br />
* [[VLC media player]]<br />
|}<br />
<br />
<br />
==Tools to Show Videotext/Teletext/Interactive Content/Closed Captioning==<br />
* [[Text capture]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue TV Tools to Show Videotext/Teletext/Interactive Content/Closed Captioning===<br />
* [[AleVT]]<br />
* [[mtt]] (part of the [[Xawtv#Associated_Utilities|xawtv package]] ... both v3 and v4) <br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===DVB Tools to Show Videotext/Teletext/Interactive Content/Closed Captioning===<br />
* [[AleVT]] - v1.7.0 or a patched v1.6.2 <br />
* [[mtt]] - (part of the [[Xawtv#Associated_Utilities_2|xawtv package]]... v4 only ) <br />
* [[RedButton MHEG Engine]]<br />
|}<br />
<br />
<br />
==Electronic Program Guide / EIT tools==<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue TV Program Guide Tools===<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
=== DVB Program Guide Tools=== <br />
* atsc_epg - included within the [[LinuxTV dvb-apps]]<br />
* [[tv_grab_dvb]]<br />
* [[dvbsnoop]]<br />
* [[DVBStreamer]]<br />
* LoadEPG [http://lukkinosat.altervista.org/]<br />
* MediaHighWay EPG, mhwepg [http://jrepetto.free.fr/] [http://www.linuxtv.org/vdrwiki/index.php/Mhwepg]<br />
* tv_grab_dvb_plus ( was tvgrabeit ) [http://sourceforge.net/projects/tvgrabeit/]<br />
* [[XMLTV]]<br />
|}<br />
<br />
<br />
==Tools for Editing Captured TV content==<br />
* [[Avidemux2]]<br />
* [[dvbcut]]<br />
* [[ProjectX]]<br />
* [[MEncoder]]<br />
''Misc ''Tutorials, Howtos, Usage Info & Guides:''<br />
* [[Post-processing]] of recorded material<br />
....<br />
<br />
'''Examples of User TV Device Hardware and Software Configurations:'''<br />
* [[Example setups]]<br />
<br />
</div><br />
<br />
<br />
= An Alphabetical Listing =<br />
<br />
{| class="wikitable sortable" <br />
|+'''A Overview of Software Applications which are useful in regards to TV on a Linux based Computer System'''<br />
|-<br />
! Software <br> Application <br>!! Supports <br> Analogue <br>!! Supports <br> DVB <br>!! Recording <br> Capabilities <br> !! Offline <br>Playback <br>!! Editing <br> Capabilities <br>!! Channel <br>storage <br> !! Language !! class="unsortable"| Comments<br />
|-<br />
| [[AleVT]] || y || y || || || || || || Program to use Teletext/Videotext on analog and digital TV<br />
|-<br />
| [[Antenna DTV]] || n || y || y || n || n || t channels.conf format || Python || Watch, record and monitor signal level of digital TV<br />
|-<br />
| [[dvbd]] || || y || || || || || C++ || Traditional UNIX daemon for DVB<br />
|-<br />
| [[dvbice]] || n || y || y || || || || C || Recompress and stream audio and video to Icecast/HTTP in Theora/Vorbis<br />
|-<br />
| [[dvbsak]] || n || y || || || || || ||<br />
|-<br />
| [[dvbshout]] || n || y || || || || || || Stream radio to Icecast/multicast<br />
|-<br />
| [[dvbsnoop]] || n || y || || || || || C ||<br />
|-<br />
| [[dvbstream]] || n || y || y || n || n || || || a streaming utilitity. Part of the [[DVB tools]] project<br />
|-<br />
| [[DVBStreamer]] || n || y || || || || sqlite, <br> XMLTV format || C || PSI/SI tracking and correctly streams all PIDs including PCR<br />
|-<br />
| [[dvbyell]] || n || y || n || n || n || || || A DVB streaming service.<br />
|-<br />
| [[gdvb]] || || || || || || || ||<br />
|-<br />
| [[GeeXboX]] || || || || || || || ||<br />
|-<br />
| [[getstream]] || n || y || || || || || || <br />
|-<br />
| [[GStreamer]] || n || y || || || || || ||<br />
|-<br />
| [[Gv4l]] || || || || || || || || A GUI frontend for [[Transcode]]'s V4L functions<br />
|-<br />
| [[Kaffeine]] || n || y || y || y || n || own text format || C++ || Desktop TV Solution<br />
|-<br />
| [[KaxTV]] || || || || || || || || obsoleted<br />
|-<br />
| [[Klear]] || || y || || || || || ||<br />
|-<br />
| [[LinuxTV dvb-apps]] || n || y || y || ? || ? || {a,c,t,s} channels.conf formats|| C || contains dvbscan, {a,c,t,s}zap ...<br />
|-<br />
| [[MEncoder]] || y || y || y || n || y || || C || encoding suite of tools<br />
|-<br />
| [[Me TV]] || n || y || y || n || n || SQLite || C++ || GNOME based DVB TV viewer<br />
|-<br />
| [[Mini DVB Linux]] || || y || || || || || || Distribution with live-CD<br />
|-<br />
| [[MPlayer]] || y || y || y || y || n || channels.conf || C || multi-functional media player<br />
|-<br />
| [[mumudvb]] || n || y || n || n || n || || || Stream multiples channels in multicast (each channel in different group)<br />
|-<br />
| [[MythTV]] || y || y || y || y || y || mysql || C++ || Media Center <br />
|-<br />
| [[pluto]] || || || || || || || ||<br />
|-<br />
| [[ProjectX]] || || || || || || || ||<br />
|-<br />
| [[RedButton MHEG Engine]] || || || || || || || || [[MHEG-5]] engine<br />
|-<br />
| [[scan-s2]] || n || y || n || n || n || || C || frequency scanning utility which supports DVB APIv5 (for DVB-S2)<br />
|-<br />
| [[Home Theater System | showtime]] || || || || || || || C || OpenGL-based media player<br />
|-<br />
| [[szap-s2]] || || y || y || || || || C || tuning utility which supports DVB APIv5 (for DVB-S2)<br />
|-<br />
| [[tv_grab_dvb]] || || y || || || || [[XMLTV]] format || C || dumps DVB [[EPG]] info in [[XMLTV]] format<br />
|-<br />
| [[Home Theater System | HTS Tvheadend]] || y || y || y || y || y || [[XMLTV]] format || C || TV streaming server<br />
|-<br />
| [[VDR]] || y * || y || y || y || y || VDR format <br>channels.conf || C++ || analogue with plugins only<br> DVB APIv5 since 1.7.2<br />
|-<br />
| [[VLC media player]] || || || || || || || ||<br />
|-<br />
| [[w_scan]] || n || y || n || n || n || VDR channels.conf<br> kaffeine<br> zap/xine <br> tuning data for scan|| C || ATSC/DVB-C/S/S2/T frequency scanner<br />
|-<br />
| [[xawtv]] || y || y * || y || y || n || || || * only v4 supports DVB<br />
|-<br />
| [[XdTV]] || y || y || y || || || || || TV viewing app. Development stopped<br />
|-<br />
| [[xine]] || || y || y || y || || || || multi-functional media player<br />
|-<br />
| [[ZapDvb]] || || || || || || || ||<br />
<br />
|}<br />
<br />
<br />
[[Category:Software]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=DVBv5_Tools&diff=31309DVBv5 Tools2012-10-07T01:12:59Z<p>CityK: minor edits; add note about older dvb tools; category</p>
<hr />
<div>DVBv5 Tools (not to be confused with the similarly named, but much older, [[DVB tools]] project) is a small set of command line utilities that was developed to be compliant with the newer features provided by [[Development:_Linux_Media_Infrastructure_API|version 5 of the DVB API]].[http://article.gmane.org/gmane.linux.drivers.video-input-infrastructure/43100] The tools should also be backward compatible with the older v3 DVB API. <br />
<br />
This DVB tool suite (confusingly enough!) resides in the [http://git.linuxtv.org/v4l-utils.git v4l-utils git repository]. Its components include:<br />
* [[dvbv5-scan]] for frequency scanning<br />
* [[dvbv5-zap]] for channel tuning<br />
* [[dvb-fe-tool]] for testing a DVB device's frontend<br />
* and [[dvb-format-convert]] for initial scan file format conversion<br />
<br />
[[Category:Software]][[Category:Apps & Utilities]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=TV_Related_Software&diff=31308TV Related Software2012-10-07T01:08:50Z<p>CityK: a few additions to the lists</p>
<hr />
<div>__NOEDITSECTION__<br />
<div style="margin:0; border:1px solid #6289AB; padding:0.5em; background-color:#F7F9FB;"><br />
{| style="background-color:#F7F9FB;" cellspacing=0 cellpadding=5 border=0 <br />
| valign=top | [[Image:Software_viewing_apps_icon.png|50px]] <br />
|<br />
= '''TV Related Software:'''=<br />
|}<br />
Here, we aim to provide useful information about software applications that are directly related to or which are generally useful in some respect to the reception and manipulation of TV signals on Linux based computer systems.<br />
<br />
In order to be most useful for the reader, this page is divided into two sections:<br />
* A categorical overview of software <br />
* An alphabetical listing of software<br />
<br />
{{Note|''If you're new to this aspect of computing, rather than trying single programs one after another, you might be more interested in how to quickly get a fully working system as described in the "[[Example setups]]" page. Or perhaps instead you may simply want to perform some quick tests on your system, such as like those outlined in the "[[Testing your DVB device]]" article.''}}<br><br />
<br />
__TOC__<br />
=A Categorical Overview=<br />
==Utility Suites and Standalone Tools==<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
<br />
===Analogue Utility Suites or Standalone Tools===<br />
* [[dov4l2]] [http://www.vanheusden.com/dov4l2/]<br />
* [[v4l2-utils]]<br />
* [[v4l2ucp]]<br />
* [[V4L Test Suite]]<br />
* [[xawtv]]<br />
<br />
<br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
<br />
===DVB Utility Suites and Standalone Tools===<br />
<br />
* [[LinuxTV dvb-apps]]<br />
* [[DVB tools]]<br />
* [[DVBv5 Tools]]<br />
* [[dvbsak]]<br />
* [[ZapDvb]]<br />
* [[dvbd]]<br />
* [[JustDvb-It]] <br />
|}<br />
<br />
<br />
==Tools for performing frequency scans==<br />
* [[Frequency scan|Frequency Scanning]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue Tools for performing frequency scans===<br />
* [[scantv]] (part of the [[Xawtv#Associated_Utilities|xawtv package]]) <br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===DVB Tools for performing frequency scans===<br />
... also see [[Testing your DVB device]] (PCI, USB, ...) ... scan & zap stuff<br />
* [[scan]]<br />
* [[dvbscan|dvbscan/scandvb/atscscan]]<br />
* [[w_scan]]<br />
* [[scan-s2]]<br />
* [[scte65scan]] [http://www.mythtv.org/wiki/Scte65scan] [http://forums.sagetv.com/forums/showthread.php?t=45474] [http://scte65scan.sourceforge.net/]<br />
* [[dvbv5-scan]] <br />
|}<br />
<br />
==Tools for tuning==<br />
* [[Tuning]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue Tools for tuning===<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===DVB Tools for tuning===<br />
... also see [[Testing your DVB device]] (PCI, USB, ...) ... scan & zap stuff<br />
* [[zap|{a,s,c,t}zap]]<br />
* [[dvbsnoop]]<br />
* [[dvbtune]]<br />
* [[szap-s2]]<br />
* [[dvbv5-zap]]<br />
|}<br />
<br />
==Tools for signal strength==<br />
* [[Testing reception quality]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue Tools for signal strength===<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===DVB Tools for signal strength===<br />
* [[femon]]<br />
* [[dvb-fe-tool]]<br />
|}<br />
<br />
<br />
==Standalone Software to Watch & Record TV==<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
<br />
===Standalone Software to Watch Analogue TV===<br />
* [[fftv]] [http://fftv.sourceforge.net/] -- tv/radio viewer/recorder -- [http://sourceforge.net/project/showfiles.php?group_id=71197 sourcecode]<br />
* [[Gnometv]] [http://gnometv.sourceforge.net/]<br />
* [[Gv4l]] [http://gv4l.sourceforge.net/]<br />
* [[kdetv]] (also formerly known as [[QtVision]], the rewrite of the former [[KWinTV]]) <br />
* [[ktv]] [http://jerous.thimhallan.org/static//ktv/]<br />
* [[LinTV]]<br />
* [[MPlayer]]<br />
** [[SMPlayer]] [http://smplayer.sourceforge.net/]<br />
* [[tvtime]] [http://tvtime.sourceforge.net/]<br />
* [[TV-Viewer]] (for Hardware MPEG2 Encoder cards)<br />
* [[VLC media player]]<br />
* [[xawtv]]<br />
** [[MoTV]]<br />
* [[XdTV]]<br />
* [[Xine]] <br />
* [[Zapping]] [http://zapping.sourceforge.net/Zapping/index.html] - a TV viewer for the Gnome desktop.<br />
... also see [[V4L TV Viewing]] <br />
<br />
===Analogue Capturing / Frame Grabbing Utilities===<br />
* [[V4L capturing]] ... also see [[Transcode]]<br />
<br />
* [[DVR]] [http://www.pierrox.net/dvr/]<br />
* [[Grabby]] [http://www.vanheusden.com/grabby/]<br />
* [[Streamer]]<br />
* VideoDog [http://linux.softpedia.com/get/Multimedia/Video/VideoDog-9261.shtml] [http://linux.die.net/man/1/videodog]<br />
* [[WebVCR+]] [http://webvcrplus.sourceforge.net/index.html]<br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
<br />
===Standalone Software to Watch Digital TV ===<br />
* [[Antenna DTV]]<br />
* [[gdvb]]<br />
* [[gnutv]]<br />
* [[Kaffeine]]<br />
** [[KaxTV]]<br />
* [[Klear]]<br />
* [[Me TV]]<br />
* [[MPlayer]]<br />
** [[SMPlayer]] [http://smplayer.sourceforge.net/]<br />
* [[VLC media player]]<br />
* [[xawtv]] ... (only version 4 for DVB)<br />
* [[XdTV]]<br />
* [[Xine]]<br />
** [[gxine]]<br />
<br />
===DVB Tools for unattended/headless recording===<br />
* [[dvbsched]] (in [[dvbd]])<br />
* [[dvbrecord]] (in [[dvbsak]])<br />
* [[atscap]]<br />
* [[DvbCronRecordingPlugin]] for Trac<br />
<br />
''Misc ''Tutorials, Howtos, Usage Info & Guides:''<br />
* Howto record [[multiple programs]] at once<br />
|}<br />
<br />
<br />
==Media Player Software==<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Media Center Software===<br />
In addition to offline playback of captured & downloaded media material, many will feature live TV viewing and capturing facilities<br />
* [[Elisa]] [http://elisa.fluendo.com/]<br />
* [[Entertainer Project]] [http://www.entertainer-project.com/features.php]<br />
* [[Freevo]]<br />
* [[GeeXboX]]<br />
* [[Home Theater System]]<br />
** showtime (OpenGL-based media player)<br />
** tvheadend (TV streaming server)<br />
* [[LinuxMCE]] [http://www.linuxmce.com/] Linux media center - A forked project from [[pluto]]<br />
* [[Morphine.TV]] [http://wiki.morphine.tv/tiki-custom_home.php]<br />
* [[My Media System]] [http://mymediasystem.org/]<br />
* [[MythTV]]<br />
* [[Mini DVB Linux]] ??<br />
* [[oxine]] [http://oxine.sourceforge.net/]<br />
* [[pluto]]<br />
* [[Rage]] [http://www.rasterman.com/index.php?page=News (see the Monday, 27 March 2006 entry)]<br />
* [[SageTV]] [http://sagetv.com/linuxOEMedition.html]<br />
* [[VDR]] - VDR is one of the most popular TV applications. It features watching TV, recording storage on disk, EPG, Dolby Digital, playback, multi language and much more. VDR, although originally written for FF cards, works also with budget cards, if one installs the [[VDR Software Decoder Plugin]]. <br />
* XBMC [http://xbmc.org/]<br />
* [[Yahdr]]<br><br />
...<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===Media Center Distributions===<br />
Complete operating systems tailored for easy installation of everything required to have a media centre.<br />
* [[iMedia MythTV Linux]] [http://www.mini-box.com/iMediaMythTV]<br />
* Knoppmyth <br />
* [[LinVDR]] [http://www.linvdr.org/projects/linvdr/index.en.php] -- this was a Linux distro based around VDR. Now ancient history<br />
* [[MiniMyth]] [http://linpvr.org/minimyth/]<br />
* Mythbuntu<br />
* MythDora<br />
...<br />
<br />
===Standalone Media Players===<br />
i.e. for offline playback of captured materials<br />
* [[Kaffeine]]<br />
* [[Wikipedia:KMPlayer|KMPlayer]]<br />
* [[MPlayer]]<br />
** [[SMPlayer]] [http://smplayer.sourceforge.net/]<br />
* [[Totem]]<br />
* [[VLC media player]]<br />
* [[Xine]]<br />
...<br />
<br />
|}<br />
<br />
<br />
==Network and Streaming Tools==<br />
* [[Streaming]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue TV Streaming Utilities===<br />
* [[Streaming-V4L]]<br />
* [[GStreamer]]<br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===Network Tools for DVB Streams===<br />
* [[dvbshout]]<br />
* [[dvbsnoop]]<br />
* [[dvbstream]]<br />
* [[DVBStreamer]]<br />
* [[dvbyell]]<br />
* [[getstream]]<br />
* [[Me TV]]<br />
* [[mumudvb]]<br />
* [[Home Theater System|TVheadend]] <br />
<br />
===Streaming Software for Digital TV===<br />
* [[dvbice]]<br />
* [[VLC media player]]<br />
|}<br />
<br />
<br />
==Tools to Show Videotext/Teletext/Interactive Content/Closed Captioning==<br />
* [[Text capture]]<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue TV Tools to Show Videotext/Teletext/Interactive Content/Closed Captioning===<br />
* [[AleVT]]<br />
* [[mtt]] (part of the [[Xawtv#Associated_Utilities|xawtv package]] ... both v3 and v4) <br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
===DVB Tools to Show Videotext/Teletext/Interactive Content/Closed Captioning===<br />
* [[AleVT]] - v1.7.0 or a patched v1.6.2 <br />
* [[mtt]] - (part of the [[Xawtv#Associated_Utilities_2|xawtv package]]... v4 only ) <br />
* [[RedButton MHEG Engine]]<br />
|}<br />
<br />
<br />
==Electronic Program Guide / EIT tools==<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
|valign=top bgcolor=#F7F9FB width=32%|<br />
===Analogue TV Program Guide Tools===<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
=== DVB Program Guide Tools=== <br />
* atsc_epg - included within the [[LinuxTV dvb-apps]]<br />
* [[tv_grab_dvb]]<br />
* [[dvbsnoop]]<br />
* [[DVBStreamer]]<br />
* LoadEPG [http://lukkinosat.altervista.org/]<br />
* MediaHighWay EPG, mhwepg [http://jrepetto.free.fr/] [http://www.linuxtv.org/vdrwiki/index.php/Mhwepg]<br />
* tv_grab_dvb_plus ( was tvgrabeit ) [http://sourceforge.net/projects/tvgrabeit/]<br />
* [[XMLTV]]<br />
|}<br />
<br />
<br />
==Tools for Editing Captured TV content==<br />
* [[Avidemux2]]<br />
* [[dvbcut]]<br />
* [[ProjectX]]<br />
* [[MEncoder]]<br />
''Misc ''Tutorials, Howtos, Usage Info & Guides:''<br />
* [[Post-processing]] of recorded material<br />
....<br />
<br />
'''Examples of User TV Device Hardware and Software Configurations:'''<br />
* [[Example setups]]<br />
<br />
</div><br />
<br />
<br />
= An Alphabetical Listing =<br />
<br />
{| class="wikitable sortable" <br />
|+'''A Overview of Software Applications which are useful in regards to TV on a Linux based Computer System'''<br />
|-<br />
! Software <br> Application <br>!! Supports <br> Analogue <br>!! Supports <br> DVB <br>!! Recording <br> Capabilities <br> !! Offline <br>Playback <br>!! Editing <br> Capabilities <br>!! Channel <br>storage <br> !! Language !! class="unsortable"| Comments<br />
|-<br />
| [[AleVT]] || y || y || || || || || || Program to use Teletext/Videotext on analog and digital TV<br />
|-<br />
| [[Antenna DTV]] || n || y || y || n || n || t channels.conf format || Python || Watch, record and monitor signal level of digital TV<br />
|-<br />
| [[dvbd]] || || y || || || || || C++ || Traditional UNIX daemon for DVB<br />
|-<br />
| [[dvbice]] || n || y || y || || || || C || Recompress and stream audio and video to Icecast/HTTP in Theora/Vorbis<br />
|-<br />
| [[dvbsak]] || n || y || || || || || ||<br />
|-<br />
| [[dvbshout]] || n || y || || || || || || Stream radio to Icecast/multicast<br />
|-<br />
| [[dvbsnoop]] || n || y || || || || || C ||<br />
|-<br />
| [[dvbstream]] || n || y || y || n || n || || || a streaming utilitity. Part of the [[DVB tools]] project<br />
|-<br />
| [[DVBStreamer]] || n || y || || || || sqlite, <br> XMLTV format || C || PSI/SI tracking and correctly streams all PIDs including PCR<br />
|-<br />
| [[dvbyell]] || n || y || n || n || n || || || A DVB streaming service.<br />
|-<br />
| [[gdvb]] || || || || || || || ||<br />
|-<br />
| [[GeeXboX]] || || || || || || || ||<br />
|-<br />
| [[getstream]] || n || y || || || || || || <br />
|-<br />
| [[GStreamer]] || n || y || || || || || ||<br />
|-<br />
| [[Gv4l]] || || || || || || || || A GUI frontend for [[Transcode]]'s V4L functions<br />
|-<br />
| [[Kaffeine]] || n || y || y || y || n || own text format || C++ || Desktop TV Solution<br />
|-<br />
| [[KaxTV]] || || || || || || || || obsoleted<br />
|-<br />
| [[Klear]] || || y || || || || || ||<br />
|-<br />
| [[LinuxTV dvb-apps]] || n || y || y || ? || ? || {a,c,t,s} channels.conf formats|| C || contains dvbscan, {a,c,t,s}zap ...<br />
|-<br />
| [[MEncoder]] || y || y || y || n || y || || C || encoding suite of tools<br />
|-<br />
| [[Me TV]] || n || y || y || n || n || SQLite || C++ || GNOME based DVB TV viewer<br />
|-<br />
| [[Mini DVB Linux]] || || y || || || || || || Distribution with live-CD<br />
|-<br />
| [[MPlayer]] || y || y || y || y || n || channels.conf || C || multi-functional media player<br />
|-<br />
| [[mumudvb]] || n || y || n || n || n || || || Stream multiples channels in multicast (each channel in different group)<br />
|-<br />
| [[MythTV]] || y || y || y || y || y || mysql || C++ || Media Center <br />
|-<br />
| [[pluto]] || || || || || || || ||<br />
|-<br />
| [[ProjectX]] || || || || || || || ||<br />
|-<br />
| [[RedButton MHEG Engine]] || || || || || || || || [[MHEG-5]] engine<br />
|-<br />
| [[scan-s2]] || n || y || n || n || n || || C || frequency scanning utility which supports DVB APIv5 (for DVB-S2)<br />
|-<br />
| [[Home Theater System | showtime]] || || || || || || || C || OpenGL-based media player<br />
|-<br />
| [[szap-s2]] || || y || y || || || || C || tuning utility which supports DVB APIv5 (for DVB-S2)<br />
|-<br />
| [[tv_grab_dvb]] || || y || || || || [[XMLTV]] format || C || dumps DVB [[EPG]] info in [[XMLTV]] format<br />
|-<br />
| [[Home Theater System | HTS Tvheadend]] || y || y || y || y || y || [[XMLTV]] format || C || TV streaming server<br />
|-<br />
| [[VDR]] || y * || y || y || y || y || VDR format <br>channels.conf || C++ || analogue with plugins only<br> DVB APIv5 since 1.7.2<br />
|-<br />
| [[VLC media player]] || || || || || || || ||<br />
|-<br />
| [[w_scan]] || n || y || n || n || n || VDR channels.conf<br> kaffeine<br> zap/xine <br> tuning data for scan|| C || ATSC/DVB-C/S/S2/T frequency scanner<br />
|-<br />
| [[xawtv]] || y || y * || y || y || n || || || * only v4 supports DVB<br />
|-<br />
| [[XdTV]] || y || y || y || || || || || TV viewing app. Development stopped<br />
|-<br />
| [[xine]] || || y || y || y || || || || multi-functional media player<br />
|-<br />
| [[ZapDvb]] || || || || || || || ||<br />
<br />
|}<br />
<br />
<br />
[[Category:Software]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=DVB_tools&diff=31307DVB tools2012-10-07T00:59:43Z<p>CityK: minor edits; add note about dvbv5 tools and improve dvbdate citation description</p>
<hr />
<div>The '''DVB tools''' project (not associated with LinuxTV, nor to be confused with the [[DVBv5 Tools]] or [[LinuxTV dvb-apps|dvb-apps]]<sup id="fn_1_back">[[#fn_1|1]]</sup> packages) includes the following apps: <br />
* [[dvbstream]] - a popular tool that can be used to save a DVB program stream to disk or distribute it over a network using the rtp protocol<br />
* [[dvbtune]] - a simple tune utility list szap/tzap/czap<br />
* [[dvbaudio]] - a tool for DVB audio recordings and<br />
* [[dvbtextsubs]] - a package for generating DVD subtitles from a DVB broadcast<br />
* [[dvbdate]]<sup id="fn_1_back">[[#fn_1|1]]</sup><br />
....and others<br />
<br />
<cite id="fn_1">[[#fn_1_back|Note 1:]] </cite>Though the [[dvbdate]] utility that is found in both the DVB tools and dvb-apps packages is the same! ... ''perhaps different versions/releases of the app?''<br />
<br />
==External Links==<br />
* [http://sourceforge.net/projects/dvbtools DVB tools Sourceforge project page]<br />
<br />
[[Category:Software]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Dvbv5-scan&diff=31252Dvbv5-scan2012-09-13T21:29:20Z<p>CityK: "yet known" or "currently unknown", but not "yet unknown" ... there are knowns and unknowns ... and if you're Rumsfeld, there are also unknown unkowns</p>
<hr />
<div>{{lowercase|dvbv5-scan}}<br />
<br />
dvbv5-scan is a command line [[Frequency scan|frequency scanning]] tool for [[Digital Video Broadcasting|digital TV services]] that is compliant with [[Development:_Linux_Media_Infrastructure_API|version 5 of the DVB API]], and backward compatable with the older v3 DVB API. It was developed as part of [[DVBv5 Tools]] suite, which (confusingly enough!) resides in the [http://git.linuxtv.org/v4l-utils.git v4l-utils git repositiory] [http://article.gmane.org/gmane.linux.drivers.video-input-infrastructure/43100]. <br />
<br />
dvbv5-scan uses a new channel/service file format, which is yet known to other applications. <br />
<br />
Other dvb tools from this packet are dvbv5-zap, dvb-fe-tool and dvb-format-convert.<br />
<br />
== Parameters ==<br />
<pre><br />
Usage: dvbv5-scan [OPTION...] <initial file><br />
scan DVB services using the channel file<br />
<br />
-a, --adapter=adapter# use given adapter (default 0)<br />
-d, --demux=demux# use given demux (default 0)<br />
-f, --frontend=frontend# use given frontend (default 0)<br />
-F, --file-freqs-only don't use the other frequencies discovered during<br />
scan<br />
-G, --get_frontend use data from get_frontend on the output file<br />
-I, --input-format=format Input format: CHANNEL, DVBV5 (default: DVBV5)<br />
-l, --lnbf=LNBf_type type of LNBf to use. 'help' lists the available<br />
ones<br />
-N, --nit use data from NIT table on the output file<br />
-o, --output=file output filename (default: dvb_channel.conf)<br />
-O, --output-format=format Output format: CHANNEL, ZAP, DVBV5 (default:<br />
DVBV5)<br />
-p, --parse-other-nit Parse the other NIT/SDT tables<br />
-S, --sat_number=satellite_number<br />
satellite number. If not specified, disable DISEqC<br />
<br />
-T, --timeout-multiply=factor Multiply scan timeouts by this factor<br />
-U, --freq_bpf=frequency SCR/Unicable band-pass filter frequency to use, in<br />
kHz<br />
-v, --verbose be (very) verbose<br />
-W, --wait=time adds aditional wait time for DISEqC command<br />
completion<br />
<br />
Mandatory or optional arguments to long options are also mandatory or optional<br />
for any corresponding short options.<br />
<br />
Report bugs to Mauro Carvalho Chehab <mchehab@redhat.com>.<br />
</pre><br />
<br />
== Examples ==<br />
<br />
example channel list:<br />
<pre><br />
[CHANNEL]<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
FREQUENCY = 113000000<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
MODULATION = QAM/64<br />
INVERSION = AUTO<br />
<br />
[CHANNEL]<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
FREQUENCY = 121000000<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
MODULATION = QAM/64<br />
INVERSION = AUTO<br />
<br />
[CHANNEL]<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
FREQUENCY = 130000000<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
MODULATION = QAM/256<br />
INVERSION = AUTO<br />
<br />
[CHANNEL]<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
FREQUENCY = 330000000<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
MODULATION = QAM/256<br />
INVERSION = AUTO<br />
<br />
[CHANNEL]<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
FREQUENCY = 338000000<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
MODULATION = QAM/256<br />
INVERSION = AUTO<br />
<br />
[CHANNEL]<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
FREQUENCY = 346000000<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
MODULATION = QAM/256<br />
INVERSION = AUTO<br />
</pre><br />
<br />
example service list:<br />
<pre><br />
[Das Erste]<br />
SERVICE_ID = 28106<br />
VIDEO_PID = 101<br />
AUDIO_PID = 102 103 106<br />
PID_0b = 2171<br />
PID_06 = 105 104 84<br />
PID_05 = 2070<br />
FREQUENCY = 113000000<br />
MODULATION = QAM/64<br />
INVERSION = OFF<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
<br />
[Bayerisches FS Süd]<br />
SERVICE_ID = 28107<br />
VIDEO_PID = 201<br />
AUDIO_PID = 202 203 206<br />
PID_0b = 2171<br />
PID_06 = 204<br />
PID_05 = 2178<br />
FREQUENCY = 113000000<br />
MODULATION = QAM/64<br />
INVERSION = OFF<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
<br />
[hr-fernsehen]<br />
SERVICE_ID = 28108<br />
VIDEO_PID = 301<br />
AUDIO_PID = 302 303<br />
PID_0b = 2171<br />
PID_06 = 304<br />
PID_05 = 2270<br />
FREQUENCY = 113000000<br />
MODULATION = QAM/64<br />
INVERSION = OFF<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
<br />
[Bayerisches FS Nord]<br />
SERVICE_ID = 28110<br />
VIDEO_PID = 201<br />
AUDIO_PID = 202 203 206<br />
PID_0b = 2171<br />
PID_06 = 204<br />
PID_05 = 2178<br />
FREQUENCY = 113000000<br />
MODULATION = QAM/64<br />
INVERSION = OFF<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
<br />
[WDR Köln]<br />
SERVICE_ID = 28111<br />
VIDEO_PID = 601<br />
AUDIO_PID = 602 603<br />
PID_0b = 2171<br />
PID_06 = 604<br />
PID_05 = 2370<br />
FREQUENCY = 113000000<br />
MODULATION = QAM/64<br />
INVERSION = OFF<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
<br />
[Planet HD]<br />
SERVICE_ID = 50003<br />
VIDEO_PID = 6821<br />
AUDIO_PID = 6822<br />
FREQUENCY = 130000000<br />
MODULATION = QAM/256<br />
INVERSION = OFF<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
<br />
[13th Street HD]<br />
SERVICE_ID = 50004<br />
VIDEO_PID = 6831<br />
AUDIO_PID = 6832 6833<br />
FREQUENCY = 130000000<br />
MODULATION = QAM/256<br />
INVERSION = OFF<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
<br />
[ProSieben HD]<br />
SERVICE_ID = 50015<br />
VIDEO_PID = 6841<br />
AUDIO_PID = 6842<br />
PID_06 = 6844<br />
FREQUENCY = 130000000<br />
MODULATION = QAM/256<br />
INVERSION = OFF<br />
SYMBOL_RATE = 6900000<br />
INNER_FEC = NONE<br />
DELIVERY_SYSTEM = DVBC/ANNEX_A<br />
</pre><br />
<br />
==Also See==<br />
* [[Frequency_scan#Comparison_of_DVB_frequency_scanning_commandline_utilities|Comparison of the scanning utilities]] <br />
<br />
[[Category:Apps & Utilities]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Testing_your_DVB_device&diff=31226Testing your DVB device2012-09-09T20:05:10Z<p>CityK: /* Using dvb-apps */ minor edits</p>
<hr />
<div>This page provides a few suggestions on how to test that a properly installed DVB device <sup>'''1'''</sup> is functioning correctly. The command line steps described are also indispensable for quick setup and no frills viewing with DVB hardware under Linux. <br />
<br />
{{Note|<sup>'''1'''</sup> In other words, this article assumes that you have already both:<br />
:* physically installed the device into, or attached it to, your system (refer to the manufacturer's instructions for such details) and <br />
:* installed the drivers for your hardware and have the proper modules loaded (see "[[How to Obtain, Build and Install V4L-DVB Device Drivers]]" for such details)<br> <br />
:Having completed such tasks, you should at least now have a ''/dev/dvb/adapter0/'' directory. (If you have additional DVB devices installed in your system, they will be assigned an increased ''adapter'' number accordingly).}}<br><br />
<br />
== Comparison of DTV testing applications ==<br />
<br />
The following table lists the main features of the different command line DTV testing utilities. For specific information on usage, have a look at its specific wiki article. <br />
<br><br />
<br />
{| border=1 cellpadding=10 cellspacing=0 valign="top"<br />
|- bgcolor=#efefef valign="top"<br />
|'''feature \ utility'''<br />
|'''dvb-apps [[zap]]'''<br />
|'''[[Szap-s2]]'''<br />
|'''[[dvbtune]]''' and '''[[dvbstream]]''' from dvbtools<br />
|'''[[dvbsnoop]]'''<br />
|-<br />
|'''download'''<br />
|[http://linuxtv.org/hg/dvb-apps linuxtv.org/hg/dvb-apps]<br />
|[http://mercurial.intuxication.org/hg/szap-s2 http://mercurial.intuxication.org/hg/szap-s2]<br />
|[http://sourceforge.net/projects/dvbtools http://sourceforge.net/projects/dvbtools]<br />
|[http://dvbsnoop.sourceforge.net http://dvbsnoop.sourceforge.net]<br />
|-<br />
|'''supported delivery systems'''<br />
|DVB-S, DVB-C, DVB-T, ATSC<br />
|DVB-S, DVB-S2<br />
|DVB-S, DVB-C, DVB-T<br />
|DVB-S, DVB-C, DVB-T<br />
|-<br />
|'''comments'''<br />
|useful for debugging, but inappropriate for newer delivery systems.<br />
|satellite only.<br />
|outdated.<br />
|outdated, but still the most powerful tool for reading and parsing DVB tables. Hint: use another tool to tune and dvbsnoop in parallel to read data. Unfortunally, dvbsnoop misses support for newer descriptors.<br />
|-<br />
|'''supported features'''<br />
|<br />
* channel scan for legacy systems<br />
* tuning<br />
* streaming<br />
* show signal strength/lock<br />
|<br />
* tuning<br />
|<br />
* tuning (dvbtune)<br />
* streaming (dvbstream)<br />
|<br />
* analyse DVB tables and MPEG streams<br />
* show signal strength/lock<br />
|}<br />
<br />
<br />
<br />
== Using dvb-apps ==<br />
<br />
'''1. Obtain the dvb-apps package'''<BR><br />
See the [[LinuxTV dvb-apps]] article for details on how to obtain the package. The dvb-apps package contains several useful tools. <br />
<br />
'''2. Scan for the channels you can receive''' <BR> <br />
Refer to the [[Scan|(dvb)scan]] article for details of how to perform this step. Once familiar with the content of that article, you will recognize that this step can be summarized (in general form) by: <br />
mkdir ~/.''{a,c,s,t}''zap<br />
(dvb)scan /''path_to_the_initial_scan_file'' > ~/.''{a,c,s,t}''zap/channels.conf<br />
<br />
Note that you may have both a program <code>scan</code> and <code>dvbscan</code> installed on your system, and only one of them may work.<br />
<br />
'''3. Tune a frequency and program'''<BR><br />
Refer to the [[Zap|zap]] article for details of how to perform this step. Once familiar with the content of that article, you will recognize that this step can be summarized (in general form) by: <br />
$ /usr/bin/''{a,c,s,t}''zap -r -c ~/.''{a,c,s,t}''zap/channels.conf "''channel name''"<br />
where, respective to the type of transmission, [[azap]] is used for [[ATSC]], [[czap]] for [[DVB-C]], [[szap]] for [[DVB-S]] and [[tzap]] for [[DVB-T]]. <br />
Make sure you do not overlook the -r option for setting up the /dev/dvb/adapterX/dvr0 interface. Otherwise, you cannot record data from dvr0.<br />
<br />
{{Note|If (dvb)scan was unable to correctly resolve the audio or video [[PID]] values for a channel in the previous step, a manual adjustment to the channels.conf file will be necessary to correct any inaccurately written PID(s) information. Such occurrences tend to be rare, but nonetheless, they do happen -- often, one only becomes aware of a problem with the PID values after unsuccessful attempts to tune a particular channel. The correct values may be determined using using [[dvbtraffic]] (see step '''4.c)''' below). Another method for finding correct PID values for a channel is also outlined in the section entitled "[[Scan#A_word_about_dvbscan_and_audio_streams|A word about dvbscan and audio streams]]".}}<br />
<br />
<br />
'''4. After you've tuned a frequency and program'''<BR><br />
<br />
'''a)''' You could now start up your simple TV watching application and decode the stream you have tuned. <br />
<br />
For example, while keeping ''{a,c,s,t}''zap running in the first console shell, open up another console and run<br />
mplayer /dev/dvb/adapter0/dvr0 <options><br />
If you have more than one dvb device installed in your system, then you will have to pass the correct ''adaptor'' number. See the [[MPlayer#Usage_with_more_complex_DVB_device_configurations|MPlayer article]] for some further information, as well as the MPlayer man page (i.e. in a console run "man mplayer") for a lengthy list of options.<br />
<br />
<br />
'''b)''' Or, you could now start up a datastreamer <br />
<br />
<br />
'''c)''' Or, alternatively, you may want to see some statistics of what's coming in for each channel and PID.<br />
Example: <br />
$ /usr/bin/dvbtraffic <br />
<br />
dvbtraffic which will access the [[Device nodes and character devices#DVB character devices|/dev/dvb/adapter0/dvr0 logical device]].<br />
An example of output from dvbtraffic is:<br />
<br />
0000 24 p/s 4 kb/s 37 kbit<br />
0010 20 p/s 3 kb/s 31 kbit<br />
0011 20 p/s 3 kb/s 31 kbit<br />
0012 70 p/s 12 kb/s 106 kbit<br />
0015 1 p/s 0 kb/s 2 kbit<br />
0080 26 p/s 4 kb/s 40 kbit<br />
0082 26 p/s 4 kb/s 40 kbit<br />
0087 25 p/s 4 kb/s 38 kbit<br />
0100 25 p/s 4 kb/s 38 kbit<br />
0101 25 p/s 4 kb/s 38 kbit<br />
0102 24 p/s 4 kb/s 37 kbit<br />
<span style="color:#ff0000">0200</span> 8567 p/s 1572 kb/s 12885 kbit <span style="color:#ff0000"> <--- </span><br />
0201 4708 p/s 864 kb/s 7081 kbit<br />
0205 926 p/s 170 kb/s 1392 kbit<br />
0240 49 p/s 8 kb/s 75 kbit<br />
0241 49 p/s 8 kb/s 75 kbit<br />
<span style="color:#ff0000">028b</span> 261 p/s 47 kb/s 393 kbit <span style="color:#ff0000"> <--- </span><br />
0294 174 p/s 31 kb/s 262 kbit<br />
0295 130 p/s 23 kb/s 196 kbit<br />
02bc 75 p/s 13 kb/s 113 kbit<br />
1fff 87 p/s 15 kb/s 131 kbit<br />
2000 15329 p/s 2814 kb/s 23055 kbit<br />
-PID--FREQ-----BANDWIDTH-BANDWIDTH-<br />
<br />
In this case, for the frequency that has been tuned, PID 0x0200 is for the video stream of an HDTV channel and PID 0x028b is for the associated audio stream (both of these have been highlighted in red in the above output for easier visual identification). These PID values presented by dvbtraffuc are in hexadecimal form and need to be converted to their decimal representation (respectively, 512 and 651) for use in a channel.conf file.<BR><br />
<br />
This is the line you would create in the file "channel.conf" given the PID values from the dvbtraffic output shown above:<br />
<br />
Nine High Def Gold Coast:746625000:INVERSION_AUTO:BANDWIDTH_7_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:<span style="color:#ff0000">512</span>:<span style="color:#ff0000">651</span>:1138<br />
<br />
And finally <br />
dvbdate<br />
<br />
== Using dvbsnoop ==<br />
If the testing steps in the dvb-apps section above work fine, you can jump over this section here. On the other hand, [[dvbsnoop]] is a small, down-to-earth utility that is very handy for debugging and also seeing what is occuring with a dvb device (i.e. tuning works? data coming in? signal strong enough?). <br />
<br />
'''1. Obtain the dvbsnoop package'''<BR><br />
See the [[dvbsnoop]] article for details on how to obtain the package.<br />
<br />
'''2. Testing with dvbsnoop'''<BR><br />
Try things like<br />
dvbsnoop -help<br />
dvbsnoop -s pidscan<br />
This will give out a lot of numbers, but if you understand the system of [[DVB]] you should see if they make sense. Go for one of the PIDs (choose a right one which is a bit difficult as you don't know what they stand for unless you used the scan line above) and try: <br />
dvbsnoop -s bandwidth <PID><br />
dvbsnoop <PID><br />
The latter will spit out a lot of hexdumps - at least you receive '''something''' ;-)<br />
<br />
== Save a TV program to your hard drive ==<br />
The handy thing about digital TV is, it comes in as a digital stream that you can save right away to your harddisk without any changes necessary to it. Therefore, hardly any CPU resources are needed -- just a lot of HD space (few GB per hour as the stream is MPEG-2 which is not as compressed as, for example, DivX/MPEG-4; it's even more as mostly one [[transport stream]] contains multiple [[PID]]s). There are several ways to do this. For example:<br />
<br />
'''a) Using the combination of {a,c,s,t}zap and cat'ing the logical dvr device to save a program stream to disk''' <BR><br />
If you have a channel tuned with {a,c,s,t}zap (and note that you MUST also be using the -r parameter to set up the logical dvr device in order for the following to work; see [[Zap]] for detail), open up another shell console and run (as root user): <br />
cat /dev/dvb/adapter0/dvr0 > <filename> <br />
The result is that particular program stream will be written to disk, and you should be able to play it back at any later time with your favourite media player. <br />
<br />
'''b) Using the combination of {a,c,s,t}zap and test_dvr to save an entire transport stream to disk'''<br />
<br />
<br />
'''c) Saving to disk with dvbstream''' <BR><br />
[[dvbstream]] is a useful program that, amongst other things, can save a DVB stream to disk. <br />
'''Method 1''': First tune into a channel, as described above in the zapping step, and then next have dvbstream save a particular stream to file. For example: <br />
tzap 'BBC ONE'<br />
dvbstream 600 601 -o > bbc1.mpeg<br />
The values "600 and 601" are, respectively, the video and audio [[PID]]s for the channel BBC ONE, as derived from the channels.conf file. So this is why it's important that you have your personal channels.conf file with all the PIDs so you can look them up. <br />
<br />
'''Method 2''': Alternatively, instead of using a combination of *zap and dvbstream, you can use dvbstream alone provided you pass which frequency to tune and list the correct PIDs. For example:<br />
dvbstream -f 578000 600 601 -o >bbc1.mpeg<br />
<br />
Wait a few seconds and then press Ctrl+C to stop. You should then be able to open/playback the recorded file with any of your favourite media players (like Mplayer, (g)xine, noatune, etc. etc ) provided you have the correct decoders installed on your system (which, in general regards to DVB transmissions, are usually going to be MPEG-2, but can now also be MPEG-4). <br />
<br />
If the file is rather small, e.g. smaller than 1 MB after a minute of recording, then you can't receive this TV channel - maybe the reception is bad (too weak antenna signal) - or maybe your card's frequency is not tuned for the right sender? Watch out, some PIDs come up a few times (but for different frequencies). <br />
<br />
This might not be what you wanna do every day (unless you only watch BBC1 or you can easily memorise all your channels with their two PIDs) - but it's very fast and easy to do these steps for testing purposes.<br />
<br />
==Next steps - More feature rich viewing software ==<br />
It is not the intention of this page to provide a detailed description of the use of DVB hardware with more complex Linux viewing software applications. Suffice it to say that you will have some choice. For example: <br />
* for light TV watching with a DVB device under Linux, [[MPlayer]], [[Xine]], [[Kaffeine]], [[Klear]] and a few others are often selected. <br />
* alternatively, for "Media Center" type applications, the usual first suspects are [[Freevo]], [[MythTV]], and [[VDR]], but there are others as well <br />
* you could use the streaming facilities of [[dvbstream]] and then watch the MPEG-2 stream (even possible on a different computer) with programs like Xine, MPlayer etc. <br />
<br />
For some further inspiration on what's possible with more advanced software usage see: <br />
* the [[TV Related Software]] page, a commented software list, and <br />
* [[Example setups]]<br />
<br />
<br />
---------<br />
<br />
(note: you'll need to install the [[VDR Software Decoder Plugin]] if you want to use VDR for watching with a software decoding card). <br />
<br />
* Digital Video Broadcasting – A practical guide by Hugo Mills [http://www.carfax.org.uk/docs/DVB/]<br />
[[Category:Drivers]]<br />
[[Category:Software]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=MPlayer&diff=31225MPlayer2012-09-09T19:58:27Z<p>CityK: /* Watching DVB Streams */ minor edits</p>
<hr />
<div>The Linux video "Swiss Army knife", which plays almost every movie format imaginable [http://www.mplayerhq.hu/design7/info.html].<br />
<br />
:''The player is rock solid playing damaged MPEG files (useful for some VCDs), and it plays bad AVI files which are unplayable with the famous windows media player. Even AVI files without index chunk are playable, and you can temporarily rebuild their indexes with the -idx option, or permanently with MEncoder, thus enabling seeking! As you see, stability and quality are the most important things, but the speed is also amazing. There is also a powerful filter system for video and audio manipulation.'' [http://www.mplayerhq.hu/DOCS/HTML/en/intro.html]<br />
<br />
In addition, MPlayer can also serve as:<br />
* a TV viewer application for both analogue TV or DVB.<br />
* a Radio listening application<br />
* a [[Webcam]] viewing application <br />
<br />
==Using MPlayer to Watch TV==<br />
<br />
=== Useful MPlayer Global Keyboard Hotkeys When Watching TV===<br />
These are global settings applicable for either analogue or DVB.<br />
<br />
You can change the channel and control the volume with those keys:<br />
{| border="1" cellpadding="2"<br />
!width="100"|Keys<br />
!width="200"|Meaning<br />
|-<br />
| / and * || Decrease/increase volume<br />
|-<br />
| 9 and 0 || Decrease/increase volume<br />
|-<br />
| m || Mute sound<br />
|-<br />
| h and k || Select previous/next channel<br />
|}<br />
<br />
For more info about MPlayer command line parameters and other control keys, please read the [http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html MPlayer man page]<br />
<br />
=== Watching Analogue TV===<br />
A sample MPlayer command line that will play TV for Europe, channel E2, for devices that use analog audio wired from the TV card audio output into the aux or cd audio input on the motherboard or on the audio card:<br />
<br />
mplayer tv:// -tv driver=v4l2:norm=PAL:input=0:amode=1:width=384:height=288:outfmt=yv12:device=/dev/video0:chanlist=europe-west:channel=E2<br />
<br />
If your board provides a digital audio input, don't forget to load the alsa module for it. In this case, you'll need to teach mplayer to read the audio stream as well. This is an example of using mplayer for viewing TV on a NTSC video stream, reading also the audio stream:<br />
<br />
mplayer -tv driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1 tv://<br />
<br />
In this case, it is assumed that the -alsa module created as the second audio adapter (hw:1), and supports an audio rate of 48 kHz. There are more useful information about audio setups with alsa modules on [[Saa7134-alsa]].<br />
<br />
To avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config:<br />
zoom = yes<br />
vo = x11<br />
tv = "driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1"<br />
monitoraspect = "16:9"<br />
<br />
=== Watching DVB Streams ===<br />
One method of using MPlayer to watch DVB streams is outlined in the [[Testing your DVB device]] article. However, it is a convoluted solution, and is much more suited for testing purposes rather then daily use. A much simpler and convenient method is outlined below.<br />
<br />
{{Note|The following methods require that you configure a ''channels.conf'' file and store it in ''~/.mplayer'' (instructions on how to do this are detailed in the [[Testing your DVB device]] article) before you can actually use MPlayer to view or record DVB streams.}}<br />
<br />
If you have a single DVB device, which itself has a single [[Frontend|frontend]](a usage case which will be true for most persons; See the section below for MPlayer [[MPlayer#Usage with more complex DVB device configurations|usage with more complex DVB device configurations]]), you can start watching DVB streams with MPlayer simply by typing:<br />
<br />
$ mplayer dvb:// <br />
<br />
That command will result in your DVB device receiving the first channel listed in your channels.conf and displaying that stream's contents in MPlayer. You can then move forward through your channel list by pressing h (next) on your keyboard. Conversely, pressing k (previous) on your keyboard will move backwards through your channel list. <br />
<br />
If you wish to open a specific DVB stream (as listed in the ''channels.conf'' file), type:<br />
<br />
$ mplayer dvb://"STREAM NAME" <br />
<br />
"STREAM NAME" is, of course, a generic descriptor and you will have to substitute the correct name accordingly (e.g. BBC, CBS, CBC, ....)<br />
{{Note|Around the stream name you can use double parenthesis, single parenthesis, or none at all}}<br />
<br />
Of course, for even better results, you may wish to run MPlayer with some options (<code>mplayer dvb:// <options></code>). For example, to utilise linear blend deinterlacing for display/playback, run: <br />
<br />
$ mplayer dvb:// -vf pp=lb<br />
<br />
You may have to force demuxer type for better results. For example, for a DVB-T device (all DVB devices?):<br />
<br />
$ mplayer dvb:// -demuxer mpegts<br />
<br />
See the MPlayer man page (i.e. in a console run "man mplayer") for a lengthy list of available options (an online version is found below in the links section).<br />
<br />
====Usage with more complex DVB device configurations====<br />
If you choose not to specify a device adapter and/or frontend, as was the case in the examples shown in the section above, then MPlayer will default to using <code>/dev/dvb/adapter0</code> and <code>/dev/dvb/adapter0/frontend0</code>. Alternatively, you can be very specific with MPlayer in terms of which hardware is to be used -- a point of interest to those:<br />
* with multiple DVB device adapters in their system, or <br />
* whose device adapter has multiple frontends, or<br />
* who have multiple adapters and some, or even all, of which have multiple frontends!<br />
<br />
If you have more than one DVB device adapter installed in your system you can specify the device to use by passing the device number in the command syntax. MPlayer uses device numbers of 1-4. For example:<br />
<br />
$ mplayer dvb://"DEVICE NUMBER"@"STREAM NAME" <options><br />
<br />
Which will open the default frontend ("frontend0") on the adapter you specify.<br />
<br />
Some device adapters also have multiple frontends. In which case, you can specify which frontend on the adapter to use by passing the frontend number along with the device adapter number. For example:<br />
$ mplayer dvb://"DEVICE NUMBER":"FRONTEND NUMBER"@"STREAM NAME" <options><br />
<br />
Again, to avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config file.<br />
<br />
==== Limitations with DVB Streams ====<br />
* Only free-to-air broadcasts are supported. Decryption through [[CAM]] is not implemented in MPlayer.<br />
But you can use virtual interface such as sasc-ng or utilite ca_zap from dvb-apps/util:<br />
cat ~/.mplayer/channels.conf:<br />
#Eutelsat W4 36' <br />
Sport 1:11727:h:0:27500:101:201:1<br />
Sport 2:11727:h:0:27500:102:202:2<br />
First Automotive:11727:h:0:27500:103:203:3<br />
BIZ TV:11727:h:0:27500:105:205:5<br />
RUTV:11727:h:0:27500:109:209:9<br />
O2TV:11727:h:0:27500:110:210:10<br />
RTVi:11727:h:0:27500:111:211:11<br />
<br />
ca_zap -m -c ~/.mplayer/channels.conf -t sat -a 0 -n 'Sport 1'<br />
mplayer dvb://'0@Sport 1'<br />
* There is (presently) no DVB subtitle support in MPlayer.<br />
<br />
==== Recording DVB Streams ====<br />
If you want to record a DVB stream with MPlayer, you can use:<br />
<br />
$ mplayer -dumpstream dvb://"STREAM NAME" -dumpfile stream.ts<br />
<br />
This will dump the stream in MPEG-TS format to the file ''stream.ts'' ('''Note''' that this file can be very large - ~1GB for 30 minutes). <br />
<br />
You can then use MPlayer or [[MEncoder]], a command-line encoder built on the MPlayer code, to convert that file to a usable video format.<br />
<br />
There is even more functionality in [[MEncoder]] when it comes to recording streams. <br />
<br />
==== MPlayer and Satellite Dishes ====<br />
If you are using MPlayer with a satellite dish that has a C-Band lnb LO: 5150 or standard Ku Band lnb LO: 10750 such as are commonly used in North America, MPlayer will tune the channel if you use the L Band frequency in your .mplayer/channels.conf file instead of the C or Ku Band frequency. To calculate the L Band frequency for C Band, 5150 minus frequency in Mhz equals L Band frequency in Mhz. For Ku Band, frequency in Mhz minus 10750 equals L Band frequency in Mhz. <br />
<br />
For example to tune C Band 4.060 Ghz<br />
<br />
5150 - 4060 = 1090<br />
<br />
Use 1090 for the frequency in channels.conf instead of 4060.<br />
<br />
For Ku Band 11.799 Ghz<br />
<br />
11799 - 10750 = 1049<br />
<br />
==Using MPlayer for Radio Listening==<br />
You can do a lot of things with MPlayer. An example of commandline syntax used for radio listening is:<br />
<br />
mplayer -rawaudio rate=48000 radio://2/capture -radio adevice=hw=2:arate=48000:channels=93.8-Radio_Zones,94.7-SSR_1<br />
<br />
Note that this command will work even without audio cable between the output of the radio card and a line input of the audio card.<br />
<br />
This will start MPlayer with sample rate = 48 kHz (using the same sample rate that the sound card is using gives best results), listening to the second station on the list, the tuner is the third sound card (ALSA device hw:2). For more examples and syntax: [http://www.mplayerhq.hu/DOCS/HTML/en/radio-input.html#radio-tips MPlayer radio tips].<br />
<br />
You can add as many stations as wanted and use LIRC to control MPlayer.<br />
<br />
If you are, say, running JACK all the time, you can add<br />
ao=jack,alsa<br />
into ~.mplayer/config (for MPlayer) and mplayerplug-in.conf (for Firefox mplayerplug-in). For recording, you can use any JACK aware recording application.<br />
<br />
A XDialog wrapper can be made for radio listening using MPlayer and v4l2-ctl. The authour found that it was so good that they decided to make it public under the name [http://slashdot.org/firehose.pl?op=view&id=5214989 XDRadio]. You will have to make a list of your stations during the installation (very easy to do). After that, all that is required is to just to run it and enjoy the radio.<br />
<br />
==Using MPlayer for Webcam Viewing==<br />
Can be used to view webcam video by invoking 'mplayer tv://'.<br />
<br />
<br />
==High Quality Video Playback==<br />
<br />
MPlayer will play almost anything with the default settings, but with careful selection of the command line parameters (i.e. test samples, trial-and-error and patience) it is possible to achieve very high quality video playback. When you are satisfied with the results provided by certain parameters, you can add them to the ~.mplayer/config file so that they are used persistently and don't have to be manually passed to the application. Type "man mplayer" for a detailed listing of available options. Pay particular attention to:<br />
<br />
* Video Output Driver (-vo option)<br />
** xv is reliable<br />
** vdpau may be useful if you have an nvidia card (and not enough CPU)<br />
* Deinterlacing<br />
** See http://guru.multimedia.cx/deinterlacing-filters/<br />
** -vf yadif=1 is good, doubles the frame rate to preserve information (at the cost of CPU)<br />
* Upscaling<br />
** -vf scale with -sws 9 is very good (at the cost of CPU)<br />
* Buffering<br />
* Vertical sync (check for tearing artefacts in the video)<br />
** check video card options, desktop compositing, OpenGL<br />
** video card frame rate should equal (or be a multiple of) video frame rate<br />
* Audio sync<br />
** -delay option<br />
* Screensaver<br />
** ensure it is disabled when playing video and reenabled afterwards<br />
* Resolutions<br />
** you will probably need different settings for SD and HD<br />
* Smoothness<br />
** check news tickers for smooth flow and readability<br />
<br />
<br />
== Also See==<br />
*[[BBC HD]] (Patches and Info for Watching BBC HD on Astra 28.8e)<br />
<br />
== External Links ==<br />
* [http://www.mplayerhq.hu MPlayer Home page]<br />
* [http://www.mplayerhq.hu/DOCS/HTML/en/index.html MPlayer documentation]<br />
* [http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html MPlayer man page (online version)]<br />
<br />
[[Category:Software]]<br />
[[Category:Apps & Utilities]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=MPlayer&diff=31224MPlayer2012-09-09T19:56:50Z<p>CityK: /* Usage with more complex DVB device configurations */ minor edit</p>
<hr />
<div>The Linux video "Swiss Army knife", which plays almost every movie format imaginable [http://www.mplayerhq.hu/design7/info.html].<br />
<br />
:''The player is rock solid playing damaged MPEG files (useful for some VCDs), and it plays bad AVI files which are unplayable with the famous windows media player. Even AVI files without index chunk are playable, and you can temporarily rebuild their indexes with the -idx option, or permanently with MEncoder, thus enabling seeking! As you see, stability and quality are the most important things, but the speed is also amazing. There is also a powerful filter system for video and audio manipulation.'' [http://www.mplayerhq.hu/DOCS/HTML/en/intro.html]<br />
<br />
In addition, MPlayer can also serve as:<br />
* a TV viewer application for both analogue TV or DVB.<br />
* a Radio listening application<br />
* a [[Webcam]] viewing application <br />
<br />
==Using MPlayer to Watch TV==<br />
<br />
=== Useful MPlayer Global Keyboard Hotkeys When Watching TV===<br />
These are global settings applicable for either analogue or DVB.<br />
<br />
You can change the channel and control the volume with those keys:<br />
{| border="1" cellpadding="2"<br />
!width="100"|Keys<br />
!width="200"|Meaning<br />
|-<br />
| / and * || Decrease/increase volume<br />
|-<br />
| 9 and 0 || Decrease/increase volume<br />
|-<br />
| m || Mute sound<br />
|-<br />
| h and k || Select previous/next channel<br />
|}<br />
<br />
For more info about MPlayer command line parameters and other control keys, please read the [http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html MPlayer man page]<br />
<br />
=== Watching Analogue TV===<br />
A sample MPlayer command line that will play TV for Europe, channel E2, for devices that use analog audio wired from the TV card audio output into the aux or cd audio input on the motherboard or on the audio card:<br />
<br />
mplayer tv:// -tv driver=v4l2:norm=PAL:input=0:amode=1:width=384:height=288:outfmt=yv12:device=/dev/video0:chanlist=europe-west:channel=E2<br />
<br />
If your board provides a digital audio input, don't forget to load the alsa module for it. In this case, you'll need to teach mplayer to read the audio stream as well. This is an example of using mplayer for viewing TV on a NTSC video stream, reading also the audio stream:<br />
<br />
mplayer -tv driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1 tv://<br />
<br />
In this case, it is assumed that the -alsa module created as the second audio adapter (hw:1), and supports an audio rate of 48 kHz. There are more useful information about audio setups with alsa modules on [[Saa7134-alsa]].<br />
<br />
To avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config:<br />
zoom = yes<br />
vo = x11<br />
tv = "driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1"<br />
monitoraspect = "16:9"<br />
<br />
=== Watching DVB Streams ===<br />
One method of using MPlayer to watch DVB streams is outlined in the [[Testing your DVB device]] article. However, it is a convoluted solution, and is much more suited for testing purposes rather then daily use. A much simpler and convenient method is outlined below.<br />
<br />
{{Note|The following methods require that you configure a ''channels.conf'' file and store it in ''~/.mplayer'' (instructions on how to do this are detailed in the [[Testing your DVB device]] article) before you can actually use MPlayer to view or record DVB streams.}}<br />
<br />
If you have a single DVB device, which itself has a single [[Frontend|frontend]](a usage case which will be true for most persons; See, the section below for MPlayer [[MPlayer#Watching_DVB_Streams#Usage with more complex DVB device configurations|usage with more complex DVB device configurations]]), you can start watching DVB streams with MPlayer simply by typing:<br />
<br />
$ mplayer dvb:// <br />
<br />
That command will result in your DVB device receiving the first channel listed in your channels.conf and displaying that stream's contents in MPlayer. You can then move forward through your channel list by pressing h (next) on your keyboard. Conversely, pressing k (previous) on your keyboard will move backwards through your channel list. <br />
<br />
If you wish to open a specific DVB stream (as listed in the ''channels.conf'' file), type:<br />
<br />
$ mplayer dvb://"STREAM NAME" <br />
<br />
"STREAM NAME" is, of course, a generic descriptor and you will have to substitute the correct name accordingly (e.g. BBC, CBS, CBC, ....)<br />
{{Note|Around the stream name you can use double parenthesis, single parenthesis, or none at all}}<br />
<br />
Of course, for even better results, you may wish to run MPlayer with some options (<code>mplayer dvb:// <options></code>). For example, to utilise linear blend deinterlacing for display/playback, run: <br />
<br />
$ mplayer dvb:// -vf pp=lb<br />
<br />
You may have to force demuxer type for better results. For example, for a DVB-T device (all DVB devices?):<br />
<br />
$ mplayer dvb:// -demuxer mpegts<br />
<br />
See the MPlayer man page (i.e. in a console run "man mplayer") for a lengthy list of available options (an online version is found below in the links section).<br />
<br />
====Usage with more complex DVB device configurations====<br />
If you choose not to specify a device adapter and/or frontend, as was the case in the examples shown in the section above, then MPlayer will default to using <code>/dev/dvb/adapter0</code> and <code>/dev/dvb/adapter0/frontend0</code>. Alternatively, you can be very specific with MPlayer in terms of which hardware is to be used -- a point of interest to those:<br />
* with multiple DVB device adapters in their system, or <br />
* whose device adapter has multiple frontends, or<br />
* who have multiple adapters and some, or even all, of which have multiple frontends!<br />
<br />
If you have more than one DVB device adapter installed in your system you can specify the device to use by passing the device number in the command syntax. MPlayer uses device numbers of 1-4. For example:<br />
<br />
$ mplayer dvb://"DEVICE NUMBER"@"STREAM NAME" <options><br />
<br />
Which will open the default frontend ("frontend0") on the adapter you specify.<br />
<br />
Some device adapters also have multiple frontends. In which case, you can specify which frontend on the adapter to use by passing the frontend number along with the device adapter number. For example:<br />
$ mplayer dvb://"DEVICE NUMBER":"FRONTEND NUMBER"@"STREAM NAME" <options><br />
<br />
Again, to avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config file.<br />
<br />
==== Limitations with DVB Streams ====<br />
* Only free-to-air broadcasts are supported. Decryption through [[CAM]] is not implemented in MPlayer.<br />
But you can use virtual interface such as sasc-ng or utilite ca_zap from dvb-apps/util:<br />
cat ~/.mplayer/channels.conf:<br />
#Eutelsat W4 36' <br />
Sport 1:11727:h:0:27500:101:201:1<br />
Sport 2:11727:h:0:27500:102:202:2<br />
First Automotive:11727:h:0:27500:103:203:3<br />
BIZ TV:11727:h:0:27500:105:205:5<br />
RUTV:11727:h:0:27500:109:209:9<br />
O2TV:11727:h:0:27500:110:210:10<br />
RTVi:11727:h:0:27500:111:211:11<br />
<br />
ca_zap -m -c ~/.mplayer/channels.conf -t sat -a 0 -n 'Sport 1'<br />
mplayer dvb://'0@Sport 1'<br />
* There is (presently) no DVB subtitle support in MPlayer.<br />
<br />
==== Recording DVB Streams ====<br />
If you want to record a DVB stream with MPlayer, you can use:<br />
<br />
$ mplayer -dumpstream dvb://"STREAM NAME" -dumpfile stream.ts<br />
<br />
This will dump the stream in MPEG-TS format to the file ''stream.ts'' ('''Note''' that this file can be very large - ~1GB for 30 minutes). <br />
<br />
You can then use MPlayer or [[MEncoder]], a command-line encoder built on the MPlayer code, to convert that file to a usable video format.<br />
<br />
There is even more functionality in [[MEncoder]] when it comes to recording streams. <br />
<br />
==== MPlayer and Satellite Dishes ====<br />
If you are using MPlayer with a satellite dish that has a C-Band lnb LO: 5150 or standard Ku Band lnb LO: 10750 such as are commonly used in North America, MPlayer will tune the channel if you use the L Band frequency in your .mplayer/channels.conf file instead of the C or Ku Band frequency. To calculate the L Band frequency for C Band, 5150 minus frequency in Mhz equals L Band frequency in Mhz. For Ku Band, frequency in Mhz minus 10750 equals L Band frequency in Mhz. <br />
<br />
For example to tune C Band 4.060 Ghz<br />
<br />
5150 - 4060 = 1090<br />
<br />
Use 1090 for the frequency in channels.conf instead of 4060.<br />
<br />
For Ku Band 11.799 Ghz<br />
<br />
11799 - 10750 = 1049<br />
<br />
==Using MPlayer for Radio Listening==<br />
You can do a lot of things with MPlayer. An example of commandline syntax used for radio listening is:<br />
<br />
mplayer -rawaudio rate=48000 radio://2/capture -radio adevice=hw=2:arate=48000:channels=93.8-Radio_Zones,94.7-SSR_1<br />
<br />
Note that this command will work even without audio cable between the output of the radio card and a line input of the audio card.<br />
<br />
This will start MPlayer with sample rate = 48 kHz (using the same sample rate that the sound card is using gives best results), listening to the second station on the list, the tuner is the third sound card (ALSA device hw:2). For more examples and syntax: [http://www.mplayerhq.hu/DOCS/HTML/en/radio-input.html#radio-tips MPlayer radio tips].<br />
<br />
You can add as many stations as wanted and use LIRC to control MPlayer.<br />
<br />
If you are, say, running JACK all the time, you can add<br />
ao=jack,alsa<br />
into ~.mplayer/config (for MPlayer) and mplayerplug-in.conf (for Firefox mplayerplug-in). For recording, you can use any JACK aware recording application.<br />
<br />
A XDialog wrapper can be made for radio listening using MPlayer and v4l2-ctl. The authour found that it was so good that they decided to make it public under the name [http://slashdot.org/firehose.pl?op=view&id=5214989 XDRadio]. You will have to make a list of your stations during the installation (very easy to do). After that, all that is required is to just to run it and enjoy the radio.<br />
<br />
==Using MPlayer for Webcam Viewing==<br />
Can be used to view webcam video by invoking 'mplayer tv://'.<br />
<br />
<br />
==High Quality Video Playback==<br />
<br />
MPlayer will play almost anything with the default settings, but with careful selection of the command line parameters (i.e. test samples, trial-and-error and patience) it is possible to achieve very high quality video playback. When you are satisfied with the results provided by certain parameters, you can add them to the ~.mplayer/config file so that they are used persistently and don't have to be manually passed to the application. Type "man mplayer" for a detailed listing of available options. Pay particular attention to:<br />
<br />
* Video Output Driver (-vo option)<br />
** xv is reliable<br />
** vdpau may be useful if you have an nvidia card (and not enough CPU)<br />
* Deinterlacing<br />
** See http://guru.multimedia.cx/deinterlacing-filters/<br />
** -vf yadif=1 is good, doubles the frame rate to preserve information (at the cost of CPU)<br />
* Upscaling<br />
** -vf scale with -sws 9 is very good (at the cost of CPU)<br />
* Buffering<br />
* Vertical sync (check for tearing artefacts in the video)<br />
** check video card options, desktop compositing, OpenGL<br />
** video card frame rate should equal (or be a multiple of) video frame rate<br />
* Audio sync<br />
** -delay option<br />
* Screensaver<br />
** ensure it is disabled when playing video and reenabled afterwards<br />
* Resolutions<br />
** you will probably need different settings for SD and HD<br />
* Smoothness<br />
** check news tickers for smooth flow and readability<br />
<br />
<br />
== Also See==<br />
*[[BBC HD]] (Patches and Info for Watching BBC HD on Astra 28.8e)<br />
<br />
== External Links ==<br />
* [http://www.mplayerhq.hu MPlayer Home page]<br />
* [http://www.mplayerhq.hu/DOCS/HTML/en/index.html MPlayer documentation]<br />
* [http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html MPlayer man page (online version)]<br />
<br />
[[Category:Software]]<br />
[[Category:Apps & Utilities]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=MPlayer&diff=31223MPlayer2012-09-09T19:51:44Z<p>CityK: /* Watching DVB Streams */ some edits</p>
<hr />
<div>The Linux video "Swiss Army knife", which plays almost every movie format imaginable [http://www.mplayerhq.hu/design7/info.html].<br />
<br />
:''The player is rock solid playing damaged MPEG files (useful for some VCDs), and it plays bad AVI files which are unplayable with the famous windows media player. Even AVI files without index chunk are playable, and you can temporarily rebuild their indexes with the -idx option, or permanently with MEncoder, thus enabling seeking! As you see, stability and quality are the most important things, but the speed is also amazing. There is also a powerful filter system for video and audio manipulation.'' [http://www.mplayerhq.hu/DOCS/HTML/en/intro.html]<br />
<br />
In addition, MPlayer can also serve as:<br />
* a TV viewer application for both analogue TV or DVB.<br />
* a Radio listening application<br />
* a [[Webcam]] viewing application <br />
<br />
==Using MPlayer to Watch TV==<br />
<br />
=== Useful MPlayer Global Keyboard Hotkeys When Watching TV===<br />
These are global settings applicable for either analogue or DVB.<br />
<br />
You can change the channel and control the volume with those keys:<br />
{| border="1" cellpadding="2"<br />
!width="100"|Keys<br />
!width="200"|Meaning<br />
|-<br />
| / and * || Decrease/increase volume<br />
|-<br />
| 9 and 0 || Decrease/increase volume<br />
|-<br />
| m || Mute sound<br />
|-<br />
| h and k || Select previous/next channel<br />
|}<br />
<br />
For more info about MPlayer command line parameters and other control keys, please read the [http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html MPlayer man page]<br />
<br />
=== Watching Analogue TV===<br />
A sample MPlayer command line that will play TV for Europe, channel E2, for devices that use analog audio wired from the TV card audio output into the aux or cd audio input on the motherboard or on the audio card:<br />
<br />
mplayer tv:// -tv driver=v4l2:norm=PAL:input=0:amode=1:width=384:height=288:outfmt=yv12:device=/dev/video0:chanlist=europe-west:channel=E2<br />
<br />
If your board provides a digital audio input, don't forget to load the alsa module for it. In this case, you'll need to teach mplayer to read the audio stream as well. This is an example of using mplayer for viewing TV on a NTSC video stream, reading also the audio stream:<br />
<br />
mplayer -tv driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1 tv://<br />
<br />
In this case, it is assumed that the -alsa module created as the second audio adapter (hw:1), and supports an audio rate of 48 kHz. There are more useful information about audio setups with alsa modules on [[Saa7134-alsa]].<br />
<br />
To avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config:<br />
zoom = yes<br />
vo = x11<br />
tv = "driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1"<br />
monitoraspect = "16:9"<br />
<br />
=== Watching DVB Streams ===<br />
One method of using MPlayer to watch DVB streams is outlined in the [[Testing your DVB device]] article. However, it is a convoluted solution, and is much more suited for testing purposes rather then daily use. A much simpler and convenient method is outlined below.<br />
<br />
{{Note|The following methods require that you configure a ''channels.conf'' file and store it in ''~/.mplayer'' (instructions on how to do this are detailed in the [[Testing your DVB device]] article) before you can actually use MPlayer to view or record DVB streams.}}<br />
<br />
If you have a single DVB device, which itself has a single [[Frontend|frontend]](a usage case which will be true for most persons; See, the section below for MPlayer [[MPlayer#Watching_DVB_Streams#Usage with more complex DVB device configurations|usage with more complex DVB device configurations]]), you can start watching DVB streams with MPlayer simply by typing:<br />
<br />
$ mplayer dvb:// <br />
<br />
That command will result in your DVB device receiving the first channel listed in your channels.conf and displaying that stream's contents in MPlayer. You can then move forward through your channel list by pressing h (next) on your keyboard. Conversely, pressing k (previous) on your keyboard will move backwards through your channel list. <br />
<br />
If you wish to open a specific DVB stream (as listed in the ''channels.conf'' file), type:<br />
<br />
$ mplayer dvb://"STREAM NAME" <br />
<br />
"STREAM NAME" is, of course, a generic descriptor and you will have to substitute the correct name accordingly (e.g. BBC, CBS, CBC, ....)<br />
{{Note|Around the stream name you can use double parenthesis, single parenthesis, or none at all}}<br />
<br />
Of course, for even better results, you may wish to run MPlayer with some options (<code>mplayer dvb:// <options></code>). For example, to utilise linear blend deinterlacing for display/playback, run: <br />
<br />
$ mplayer dvb:// -vf pp=lb<br />
<br />
You may have to force demuxer type for better results. For example, for a DVB-T device (all DVB devices?):<br />
<br />
$ mplayer dvb:// -demuxer mpegts<br />
<br />
See the MPlayer man page (i.e. in a console run "man mplayer") for a lengthy list of available options (an online version is found below in the links section).<br />
<br />
====Usage with more complex DVB device configurations====<br />
If you choose not to specify a device adapter and/or frontend, as was the case in the examples shown in the section above, then MPlayer will default to using <code>/dev/dvb/adapter0</code> and <code>/dev/dvb/adapter0/frontend0</code>. Alternatively, you can be very specific with MPlayer in terms of which hardware is to be used -- a point of interest to those:<br />
* with multiple DVB device adapters in their system, or <br />
* whose device adapter has multiple frontends, or<br />
* whom might even have multiple adapters and some, or all, of which have multiple frontends!<br />
<br />
If you have more than one DVB device adapter installed in your system you can specify the device to use by passing the device number in the command syntax. MPlayer uses device numbers of 1-4. For example:<br />
<br />
$ mplayer dvb://"DEVICE NUMBER"@"STREAM NAME" <options><br />
<br />
Which will open the default frontend ("frontend0") on the adapter you specify.<br />
<br />
Some device adapters also have multiple frontends. In which case, you can specify which frontend on the adapter to use by passing the frontend number along with the device adapter number. For example:<br />
$ mplayer dvb://"DEVICE NUMBER":"FRONTEND NUMBER"@"STREAM NAME" <options><br />
<br />
Again, to avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config file.<br />
<br />
==== Limitations with DVB Streams ====<br />
* Only free-to-air broadcasts are supported. Decryption through [[CAM]] is not implemented in MPlayer.<br />
But you can use virtual interface such as sasc-ng or utilite ca_zap from dvb-apps/util:<br />
cat ~/.mplayer/channels.conf:<br />
#Eutelsat W4 36' <br />
Sport 1:11727:h:0:27500:101:201:1<br />
Sport 2:11727:h:0:27500:102:202:2<br />
First Automotive:11727:h:0:27500:103:203:3<br />
BIZ TV:11727:h:0:27500:105:205:5<br />
RUTV:11727:h:0:27500:109:209:9<br />
O2TV:11727:h:0:27500:110:210:10<br />
RTVi:11727:h:0:27500:111:211:11<br />
<br />
ca_zap -m -c ~/.mplayer/channels.conf -t sat -a 0 -n 'Sport 1'<br />
mplayer dvb://'0@Sport 1'<br />
* There is (presently) no DVB subtitle support in MPlayer.<br />
<br />
==== Recording DVB Streams ====<br />
If you want to record a DVB stream with MPlayer, you can use:<br />
<br />
$ mplayer -dumpstream dvb://"STREAM NAME" -dumpfile stream.ts<br />
<br />
This will dump the stream in MPEG-TS format to the file ''stream.ts'' ('''Note''' that this file can be very large - ~1GB for 30 minutes). <br />
<br />
You can then use MPlayer or [[MEncoder]], a command-line encoder built on the MPlayer code, to convert that file to a usable video format.<br />
<br />
There is even more functionality in [[MEncoder]] when it comes to recording streams. <br />
<br />
==== MPlayer and Satellite Dishes ====<br />
If you are using MPlayer with a satellite dish that has a C-Band lnb LO: 5150 or standard Ku Band lnb LO: 10750 such as are commonly used in North America, MPlayer will tune the channel if you use the L Band frequency in your .mplayer/channels.conf file instead of the C or Ku Band frequency. To calculate the L Band frequency for C Band, 5150 minus frequency in Mhz equals L Band frequency in Mhz. For Ku Band, frequency in Mhz minus 10750 equals L Band frequency in Mhz. <br />
<br />
For example to tune C Band 4.060 Ghz<br />
<br />
5150 - 4060 = 1090<br />
<br />
Use 1090 for the frequency in channels.conf instead of 4060.<br />
<br />
For Ku Band 11.799 Ghz<br />
<br />
11799 - 10750 = 1049<br />
<br />
==Using MPlayer for Radio Listening==<br />
You can do a lot of things with MPlayer. An example of commandline syntax used for radio listening is:<br />
<br />
mplayer -rawaudio rate=48000 radio://2/capture -radio adevice=hw=2:arate=48000:channels=93.8-Radio_Zones,94.7-SSR_1<br />
<br />
Note that this command will work even without audio cable between the output of the radio card and a line input of the audio card.<br />
<br />
This will start MPlayer with sample rate = 48 kHz (using the same sample rate that the sound card is using gives best results), listening to the second station on the list, the tuner is the third sound card (ALSA device hw:2). For more examples and syntax: [http://www.mplayerhq.hu/DOCS/HTML/en/radio-input.html#radio-tips MPlayer radio tips].<br />
<br />
You can add as many stations as wanted and use LIRC to control MPlayer.<br />
<br />
If you are, say, running JACK all the time, you can add<br />
ao=jack,alsa<br />
into ~.mplayer/config (for MPlayer) and mplayerplug-in.conf (for Firefox mplayerplug-in). For recording, you can use any JACK aware recording application.<br />
<br />
A XDialog wrapper can be made for radio listening using MPlayer and v4l2-ctl. The authour found that it was so good that they decided to make it public under the name [http://slashdot.org/firehose.pl?op=view&id=5214989 XDRadio]. You will have to make a list of your stations during the installation (very easy to do). After that, all that is required is to just to run it and enjoy the radio.<br />
<br />
==Using MPlayer for Webcam Viewing==<br />
Can be used to view webcam video by invoking 'mplayer tv://'.<br />
<br />
<br />
==High Quality Video Playback==<br />
<br />
MPlayer will play almost anything with the default settings, but with careful selection of the command line parameters (i.e. test samples, trial-and-error and patience) it is possible to achieve very high quality video playback. When you are satisfied with the results provided by certain parameters, you can add them to the ~.mplayer/config file so that they are used persistently and don't have to be manually passed to the application. Type "man mplayer" for a detailed listing of available options. Pay particular attention to:<br />
<br />
* Video Output Driver (-vo option)<br />
** xv is reliable<br />
** vdpau may be useful if you have an nvidia card (and not enough CPU)<br />
* Deinterlacing<br />
** See http://guru.multimedia.cx/deinterlacing-filters/<br />
** -vf yadif=1 is good, doubles the frame rate to preserve information (at the cost of CPU)<br />
* Upscaling<br />
** -vf scale with -sws 9 is very good (at the cost of CPU)<br />
* Buffering<br />
* Vertical sync (check for tearing artefacts in the video)<br />
** check video card options, desktop compositing, OpenGL<br />
** video card frame rate should equal (or be a multiple of) video frame rate<br />
* Audio sync<br />
** -delay option<br />
* Screensaver<br />
** ensure it is disabled when playing video and reenabled afterwards<br />
* Resolutions<br />
** you will probably need different settings for SD and HD<br />
* Smoothness<br />
** check news tickers for smooth flow and readability<br />
<br />
<br />
== Also See==<br />
*[[BBC HD]] (Patches and Info for Watching BBC HD on Astra 28.8e)<br />
<br />
== External Links ==<br />
* [http://www.mplayerhq.hu MPlayer Home page]<br />
* [http://www.mplayerhq.hu/DOCS/HTML/en/index.html MPlayer documentation]<br />
* [http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html MPlayer man page (online version)]<br />
<br />
[[Category:Software]]<br />
[[Category:Apps & Utilities]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=MPlayer&diff=31222MPlayer2012-09-09T19:24:05Z<p>CityK: /* Watching DVB Streams */ rework the sections on dvb usage, to better highlight the usage with more complex device configurations</p>
<hr />
<div>The Linux video "Swiss Army knife", which plays almost every movie format imaginable [http://www.mplayerhq.hu/design7/info.html].<br />
<br />
:''The player is rock solid playing damaged MPEG files (useful for some VCDs), and it plays bad AVI files which are unplayable with the famous windows media player. Even AVI files without index chunk are playable, and you can temporarily rebuild their indexes with the -idx option, or permanently with MEncoder, thus enabling seeking! As you see, stability and quality are the most important things, but the speed is also amazing. There is also a powerful filter system for video and audio manipulation.'' [http://www.mplayerhq.hu/DOCS/HTML/en/intro.html]<br />
<br />
In addition, MPlayer can also serve as:<br />
* a TV viewer application for both analogue TV or DVB.<br />
* a Radio listening application<br />
* a [[Webcam]] viewing application <br />
<br />
==Using MPlayer to Watch TV==<br />
<br />
=== Useful MPlayer Global Keyboard Hotkeys When Watching TV===<br />
These are global settings applicable for either analogue or DVB.<br />
<br />
You can change the channel and control the volume with those keys:<br />
{| border="1" cellpadding="2"<br />
!width="100"|Keys<br />
!width="200"|Meaning<br />
|-<br />
| / and * || Decrease/increase volume<br />
|-<br />
| 9 and 0 || Decrease/increase volume<br />
|-<br />
| m || Mute sound<br />
|-<br />
| h and k || Select previous/next channel<br />
|}<br />
<br />
For more info about MPlayer command line parameters and other control keys, please read the [http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html MPlayer man page]<br />
<br />
=== Watching Analogue TV===<br />
A sample MPlayer command line that will play TV for Europe, channel E2, for devices that use analog audio wired from the TV card audio output into the aux or cd audio input on the motherboard or on the audio card:<br />
<br />
mplayer tv:// -tv driver=v4l2:norm=PAL:input=0:amode=1:width=384:height=288:outfmt=yv12:device=/dev/video0:chanlist=europe-west:channel=E2<br />
<br />
If your board provides a digital audio input, don't forget to load the alsa module for it. In this case, you'll need to teach mplayer to read the audio stream as well. This is an example of using mplayer for viewing TV on a NTSC video stream, reading also the audio stream:<br />
<br />
mplayer -tv driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1 tv://<br />
<br />
In this case, it is assumed that the -alsa module created as the second audio adapter (hw:1), and supports an audio rate of 48 kHz. There are more useful information about audio setups with alsa modules on [[Saa7134-alsa]].<br />
<br />
To avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config:<br />
zoom = yes<br />
vo = x11<br />
tv = "driver=v4l2:device=/dev/video0:norm=NTSC:chanlist=us-bcast:channel=10:alsa=1:adevice=hw.1:audiorate=48000:immediatemode=0:amode=1"<br />
monitoraspect = "16:9"<br />
<br />
=== Watching DVB Streams ===<br />
One method of using MPlayer to watch DVB streams is outlined in the [[Testing your DVB device]] article. However, it is a convoluted solution, and is much more suited for testing purposes rather then daily use. A much simpler and convenient method is outlined below.<br />
<br />
{{Note|The following methods require that you configure a ''channels.conf'' file and store it in ''~/.mplayer'' (instructions on how to do this are detailed in the [[Testing your DVB device]] article) before you can actually use MPlayer to view or record DVB streams.}}<br />
<br />
If you have a single DVB device, which itself has a single [[Frontend|frontends]](a usage case which will be true for most persons; See, the section below for MPlayer usage with more complex device configurations), you can start watching DVB streams with MPlayer simply by typing:<br />
<br />
$ mplayer dvb:// <br />
<br />
That command will result in your DVB device receiving the first channel listed in your channels.conf and displaying that stream's contents in MPlayer. You can then move forward through your channel list by pressing h (next) on your keyboard. Conversely, pressing k (previous) on your keyboard will move backwards through your channel list. <br />
<br />
If you wish to open a specific DVB stream (as listed in the ''channels.conf'' file), type:<br />
<br />
$ mplayer dvb://"STREAM NAME" <br />
<br />
"STREAM NAME" is, of course, a generic descriptor and you will have to substitute the correct name accordingly (e.g. BBC, CBS, CBC, ....)<br />
{{Note|Around the stream name you can use double parenthesis, single parenthesis, or none at all}}<br />
<br />
Of course, for even better results, you may wish to run MPlayer with some options (<code>mplayer dvb:// <options></code>). For example, to utilise linear blend deinterlacing for display/playback, run: <br />
<br />
$ mplayer dvb:// -vf pp=lb<br />
<br />
You may have to force demuxer type for better results. For example, for a DVB-T device (all DVB devices?):<br />
<br />
$ mplayer dvb:// -demuxer mpegts<br />
<br />
See the MPlayer man page (i.e. in a console run "man mplayer") for a lengthy list of available options (an online version is found below in the links section).<br />
<br />
====MPlayer usage with multiple DVB device adapters, or device adapters with multiple frontends, or multiple adaptors with multiple frontends!====<br />
If you choose not to specify a device adapter and/or frontend, as was the case in the examples shown in the section above, then MPlayer will default to using /dev/dvb/adapter0 and /dev/dvb/adapter0/frontend0<br />
<br />
If you have more than one DVB device adapter installed in your system you can specify the device to use by passing the device number in the command syntax. MPlayer uses device numbers of 1-4. For example:<br />
<br />
$ mplayer dvb://"DEVICE NUMBER"@"STREAM NAME" <options><br />
<br />
Which will open the default frontend ("frontend0") on the adapter you specify.<br />
<br />
Some device adapters also have multiple frontends. In which case, you can specify which frontend on the adapter to use by passing the frontend number along with the device adapter number. For example:<br />
$ mplayer dvb://"DEVICE NUMBER":"FRONTEND NUMBER"@"STREAM NAME" <options><br />
<br />
Again, to avoid having to specify all the above parameters, it is recommended to write them to the ~/.mplayer/config file.<br />
<br />
==== Limitations with DVB Streams ====<br />
* Only free-to-air broadcasts are supported. Decryption through [[CAM]] is not implemented in MPlayer.<br />
But you can use virtual interface such as sasc-ng or utilite ca_zap from dvb-apps/util:<br />
cat ~/.mplayer/channels.conf:<br />
#Eutelsat W4 36' <br />
Sport 1:11727:h:0:27500:101:201:1<br />
Sport 2:11727:h:0:27500:102:202:2<br />
First Automotive:11727:h:0:27500:103:203:3<br />
BIZ TV:11727:h:0:27500:105:205:5<br />
RUTV:11727:h:0:27500:109:209:9<br />
O2TV:11727:h:0:27500:110:210:10<br />
RTVi:11727:h:0:27500:111:211:11<br />
<br />
ca_zap -m -c ~/.mplayer/channels.conf -t sat -a 0 -n 'Sport 1'<br />
mplayer dvb://'0@Sport 1'<br />
* There is (presently) no DVB subtitle support in MPlayer.<br />
<br />
==== Recording DVB Streams ====<br />
If you want to record a DVB stream with MPlayer, you can use:<br />
<br />
$ mplayer -dumpstream dvb://"STREAM NAME" -dumpfile stream.ts<br />
<br />
This will dump the stream in MPEG-TS format to the file ''stream.ts'' ('''Note''' that this file can be very large - ~1GB for 30 minutes). <br />
<br />
You can then use MPlayer or [[MEncoder]], a command-line encoder built on the MPlayer code, to convert that file to a usable video format.<br />
<br />
There is even more functionality in [[MEncoder]] when it comes to recording streams. <br />
<br />
==== MPlayer and Satellite Dishes ====<br />
If you are using MPlayer with a satellite dish that has a C-Band lnb LO: 5150 or standard Ku Band lnb LO: 10750 such as are commonly used in North America, MPlayer will tune the channel if you use the L Band frequency in your .mplayer/channels.conf file instead of the C or Ku Band frequency. To calculate the L Band frequency for C Band, 5150 minus frequency in Mhz equals L Band frequency in Mhz. For Ku Band, frequency in Mhz minus 10750 equals L Band frequency in Mhz. <br />
<br />
For example to tune C Band 4.060 Ghz<br />
<br />
5150 - 4060 = 1090<br />
<br />
Use 1090 for the frequency in channels.conf instead of 4060.<br />
<br />
For Ku Band 11.799 Ghz<br />
<br />
11799 - 10750 = 1049<br />
<br />
==Using MPlayer for Radio Listening==<br />
You can do a lot of things with MPlayer. An example of commandline syntax used for radio listening is:<br />
<br />
mplayer -rawaudio rate=48000 radio://2/capture -radio adevice=hw=2:arate=48000:channels=93.8-Radio_Zones,94.7-SSR_1<br />
<br />
Note that this command will work even without audio cable between the output of the radio card and a line input of the audio card.<br />
<br />
This will start MPlayer with sample rate = 48 kHz (using the same sample rate that the sound card is using gives best results), listening to the second station on the list, the tuner is the third sound card (ALSA device hw:2). For more examples and syntax: [http://www.mplayerhq.hu/DOCS/HTML/en/radio-input.html#radio-tips MPlayer radio tips].<br />
<br />
You can add as many stations as wanted and use LIRC to control MPlayer.<br />
<br />
If you are, say, running JACK all the time, you can add<br />
ao=jack,alsa<br />
into ~.mplayer/config (for MPlayer) and mplayerplug-in.conf (for Firefox mplayerplug-in). For recording, you can use any JACK aware recording application.<br />
<br />
A XDialog wrapper can be made for radio listening using MPlayer and v4l2-ctl. The authour found that it was so good that they decided to make it public under the name [http://slashdot.org/firehose.pl?op=view&id=5214989 XDRadio]. You will have to make a list of your stations during the installation (very easy to do). After that, all that is required is to just to run it and enjoy the radio.<br />
<br />
==Using MPlayer for Webcam Viewing==<br />
Can be used to view webcam video by invoking 'mplayer tv://'.<br />
<br />
<br />
==High Quality Video Playback==<br />
<br />
MPlayer will play almost anything with the default settings, but with careful selection of the command line parameters (i.e. test samples, trial-and-error and patience) it is possible to achieve very high quality video playback. When you are satisfied with the results provided by certain parameters, you can add them to the ~.mplayer/config file so that they are used persistently and don't have to be manually passed to the application. Type "man mplayer" for a detailed listing of available options. Pay particular attention to:<br />
<br />
* Video Output Driver (-vo option)<br />
** xv is reliable<br />
** vdpau may be useful if you have an nvidia card (and not enough CPU)<br />
* Deinterlacing<br />
** See http://guru.multimedia.cx/deinterlacing-filters/<br />
** -vf yadif=1 is good, doubles the frame rate to preserve information (at the cost of CPU)<br />
* Upscaling<br />
** -vf scale with -sws 9 is very good (at the cost of CPU)<br />
* Buffering<br />
* Vertical sync (check for tearing artefacts in the video)<br />
** check video card options, desktop compositing, OpenGL<br />
** video card frame rate should equal (or be a multiple of) video frame rate<br />
* Audio sync<br />
** -delay option<br />
* Screensaver<br />
** ensure it is disabled when playing video and reenabled afterwards<br />
* Resolutions<br />
** you will probably need different settings for SD and HD<br />
* Smoothness<br />
** check news tickers for smooth flow and readability<br />
<br />
<br />
== Also See==<br />
*[[BBC HD]] (Patches and Info for Watching BBC HD on Astra 28.8e)<br />
<br />
== External Links ==<br />
* [http://www.mplayerhq.hu MPlayer Home page]<br />
* [http://www.mplayerhq.hu/DOCS/HTML/en/index.html MPlayer documentation]<br />
* [http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html MPlayer man page (online version)]<br />
<br />
[[Category:Software]]<br />
[[Category:Apps & Utilities]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Talk:Hauppauge_WinTV-Aero-m&diff=31201Talk:Hauppauge WinTV-Aero-m2012-08-27T01:38:32Z<p>CityK: minor edit</p>
<hr />
<div>'''When this device worked ... '''<br><br />
it worked great ... though that comment comes with a few caveats:<br />
* The bulk of my Linux user experience with the device was done while under a kernel 3.4 (will expand upon the possible importance of this point in the section below these bullet pts)<br />
* Under Linux - I tried with the built-in antenna for OTA ATSC reception, but did so only under poor testing circumstances, and never was able to detect any ATSC channels ... never got around to testing under good circumstances, nor did I ever get around to attempting such under Windows<br />
* Under Linux, using an external antenna for OTA ATSC reception, its tuning sensitivity was great in this regard. Never got around to testing this under Windows (have no reason to believe it would have been any different then the excellent results obtained with the device while running under Linux) <br />
* I don't have cable TV any more, so did not get around to testing this feature (under either Linux or Windows)... in any regard, the provider in my area encrypts all but a barker channel or two, and maybe a few radio stations, so it is not really worth my time to bother checking except for being academic about it<br />
* Nearest DVB-T source is likely 5,000km away ... would have had to go {insert stereotypical broken english accent here}"back to old country"{/end sterotype} to test this feature<br />
* Under Linux, even if you switch to a v3.5 or better kernel, currently there are no userspace tools/apps that would allow for testing ATSC-M/H reception. I never got around to testing this under Windows. In any regard, there are only one or two M/H signals currently being tested with by broadcasters in my region, so it wasn't a pressing matter<br />
<br />
'''Then it all went south'''<br><br />
Astute readers will naturally have picked up on the "when this device worked" qualifier of that last section. You can also find similar alarming statements made by others on, amongst other websites, Amazon and Newegg. You see, my device, running under kernel 3.4, was working wonderfully for OTA ATSC (for the less then 2 months that I had had it for) until that stopped working (NOT cool). <br />
<br />
Here is my current thought: either it coincidently borked itself just a day after I updated to kernel v3.5, or there is something (programmatically) wrong with the drivers. I will assume that the users on AMZN and the egg (whom also reported that the ATSC section of the device suddenly stopped working) are Windows users and that the problem afflicting me (running under Linux) also exits there too.<br />
<br />
Here is what dmesg gives you when its not detecting the LG DT3305 (along with <font color="#009000">my annotations</font>):<br />
[ 2.385654] usb 1-4.3: new high-speed USB device number 5 using ehci_hcd<br />
[ 2.471694] usb 1-4.3: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 2.471696] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 2.471697] usb 1-4.3: Product: WinTV Aero-M<br />
[ 2.471698] usb 1-4.3: Manufacturer: Hauppauge<br />
[ 2.471699] usb 1-4.3: SerialNumber: 4034349227<br />
[ 5.928662] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 5.928694] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928695] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928696] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.930549] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
<font color="#009000">[ 6.150608] lgdt3305_read_reg: error (addr 59 reg 0001 error (ret == -121)<br />
[ 6.150613] lgdt3305_attach: error -121 on line 1144<br />
[ 6.150614] lgdt3305_attach: unable to detect LGDT3305 hardware<br />
[ 6.150620] dvb-usb: no frontend was attached by 'Hauppauge WinTV-Aero-M'</font><br />
[ 6.150893] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 6.151369] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
<font color="#009000"> ---> No LG2161 detected here either! <--- </font><br />
[ 6.173309] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 6.173313] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 6.173314] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 6.173316] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 6.173317] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 6.173318] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 6.173755] usbcore: registered new interface driver dvb_usb_mxl111sf<br />
<br />
'''Triage'''<br />
* evidently the DT3305 can't be detected ... neither is the LG2161, but there is no mention of the M/H demod in the demesg output<br />
* The MxL111SF (a multi-function SoC) provides an interface to external demodulators so that they can leverage the MaxLinear chip's built in tuner and usb bridge.<br />
* M/H support was added to kernel 3.5 [http://www.mail-archive.com/linux-media@vger.kernel.org/msg45936.html]<br />
* the problem was first encountered, the day after updating to kernel v3.5, after a failed attempt to awaken the system from sleep (S3) <br />
* I have seen reports of problems with S3 on kernel v3.5 <br />
* the first time this happened, I was able to revive the device by doing a fresh installation of it, and the corresponding WinTV software, under Windows, ... not actually sure what step reinitialized the device, as I was actually unable to detect any channels with it under Windows while doing this, but plugging it back into the Linux system revealed a correct working state for the device again<br />
* one day later, the device had gone south under Linux again (discovered after a cold boot)<br />
* this second time, I was able to revive the device by doing the Windows trick again ... only it required multiple installation/deinstallation/scanning under Windows (and, again, without being able to detect channels while operating under Windows) before plugging it back into Linux revealed a working device <br />
* a day or two later, after the second resuscitation, the device suffered a third cardiac arrest under Linux ... multiple attempts with the Windows defibrillator have failed to bring it back<br />
<br />
'''Early Diagnosis'''<br><br />
Has my device taken those final few steps towards the shadowy figures in the light? Has its electrons truly passed on through to the other side, and will never return to spark life back upon my screens in this mortal coil?<br />
<br />
While it looks grim at the moment, I actually think that there might be hope. Offhand, I'm thinking that problems with the ACPI event (sleep S3) have exposed a fundamental flaw in the programming of registers in the MxL111SF (both under Windows and Linux). Its either coincidental, or noteworthy that the 3.5 kernel added support for the M/H LG2161 demod. Investigation into how this touched upon the MxL111SF is in order, as well as to how its inclusion impacts the LGDT3305 demod, and how a S3 event might have played a part. In a sense, the MxL111SF is the gatekeeper to these two demods. And it is a MxL111SF register gate that I believe is being stuck, and, consequently, making it appear that the device is borked. The real question is [http://www.youtube.com/watch?v=JKQ-BpO4Gzo who is going to give her the shot?] (warning: link not suitable for work or most family situations)<br />
<br />
'''Quick Follow Up'''<br><br />
Interesting -- just looking through the old log files. I think my analysis above is on track. Seeing stuff like: <br />
[12269.117457] dvb-usb: bulk message failed: -19 (26/0)<br />
[12269.117460] lgdt3305_read_reg: error (addr 59 reg 0002 error (ret == -121)<br />
[12269.117461] lgdt3305_sleep: error -121 on line 573<br />
[12269.117462] dvb-usb: bulk message failed: -19 (26/0)<br />
and <br />
[12286.621611] mxl111sf: error writing addr: 0x17, mask: 0x40, data: 0x00, retrying...<br />
[12286.621613] dvb-usb: bulk message failed: -19 (2/0)<br />
and other MxL111SF register writing errors.<br />
<br />
Media_build (now 8 days old) doesn't help at all, as it results in a bunch of symbol related errors. (I don't think they are anything remotely related to the problem, but rather, are related to changes that Antti/Crope has been making to dvb_usb). For posterity sake, they are as follows:<br />
[ 4.358211] dvb_usb: disagrees about version of symbol dvb_dmxdev_init<br />
[ 4.358215] dvb_usb: Unknown symbol dvb_dmxdev_init (err -22)<br />
[ 4.358231] dvb_usb: disagrees about version of symbol dvb_register_adapter<br />
[ 4.358232] dvb_usb: Unknown symbol dvb_register_adapter (err -22)<br />
[ 4.358249] dvb_usb: disagrees about version of symbol rc_register_device<br />
[ 4.358250] dvb_usb: Unknown symbol rc_register_device (err -22)<br />
[ 4.358254] dvb_usb: disagrees about version of symbol dvb_net_init<br />
[ 4.358255] dvb_usb: Unknown symbol dvb_net_init (err -22)<br />
[ 4.358261] dvb_usb: disagrees about version of symbol dvb_dmxdev_release<br />
[ 4.358262] dvb_usb: Unknown symbol dvb_dmxdev_release (err -22)<br />
[ 4.358264] dvb_usb: disagrees about version of symbol rc_free_device<br />
[ 4.358265] dvb_usb: Unknown symbol rc_free_device (err -22)<br />
[ 4.358271] dvb_usb: disagrees about version of symbol dvb_frontend_detach<br />
[ 4.358272] dvb_usb: Unknown symbol dvb_frontend_detach (err -22)<br />
[ 4.358274] dvb_usb: disagrees about version of symbol dvb_net_release<br />
[ 4.358275] dvb_usb: Unknown symbol dvb_net_release (err -22)<br />
[ 4.358278] dvb_usb: disagrees about version of symbol rc_allocate_device<br />
[ 4.358279] dvb_usb: Unknown symbol rc_allocate_device (err -22)<br />
[ 4.358283] dvb_usb: disagrees about version of symbol dvb_unregister_frontend<br />
[ 4.358284] dvb_usb: Unknown symbol dvb_unregister_frontend (err -22)<br />
[ 4.358287] dvb_usb: disagrees about version of symbol dvb_register_frontend<br />
[ 4.358288] dvb_usb: Unknown symbol dvb_register_frontend (err -22)<br />
[ 4.358291] dvb_usb: disagrees about version of symbol dvb_unregister_adapter<br />
[ 4.358292] dvb_usb: Unknown symbol dvb_unregister_adapter (err -22)<br />
[ 4.358297] dvb_usb: disagrees about version of symbol rc_unregister_device<br />
[ 4.358298] dvb_usb: Unknown symbol rc_unregister_device (err -22)<br />
<br />
'''Update 2'''<br><br />
Okay, in response to comments I left on the linuxtv IRC channel, Antti/Crope noted that his GSoC project changes only apply to "dvb_usb_v2", and not to the old/original "dvb_usb" (which is what is producing the errors; as seen above) and that they are likely the result of the recent file and directory structure re-organization within the media build. Ahh, good old fashioned re-orgs -- when does one not ever cause a problem? Anyway, one should expect that that will get sorted out soon enough. <br />
<br />
On the good news front, Crope mentioned that he too has an Aero-m and that he has it coded up for dvb_usb_v2 (I look forward to testing that when I get a chance). Crope also remarked that he too has seen some of the errors I've mentioned above, though, as I wasn't actually conversing with him at the time, I'm not sure if he meant the problems I noted with the current state of affairs within the media_build repo, or specifically to the Aero-m related errors I've highlighted.<br />
<br />
So, getting back on focus -- the Aero-m. I'm pretty confident that the device is not dead but that I just need to reinitialize some of the MaxLinear chip's registers. Hopefully debricking it at this point does not require the use of JTAG (I'm assuming the SoC has a JTAG interface). If that is the case, I simply don't have the time to do that, or experience to do that (or time to learn how to do that) so it will head back on the next train to Long Island so that a [http://fxb.worth1000.com/entries/427478/monkeying-around HCW engineering monkey may have such pleasure].<br />
<br />
In the bigger picture, if my assumption is correct (drivers, both Windows and Linux, are not programming the MxL111SF correctly), everyone of these devices currently is ticking away to brick itself upon encountering certain conditions.</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Talk:Hauppauge_WinTV-Aero-m&diff=31200Talk:Hauppauge WinTV-Aero-m2012-08-27T01:36:41Z<p>CityK: minor edit</p>
<hr />
<div>'''When this device worked ... '''<br><br />
it worked great ... though that comment comes with a few caveats:<br />
* The bulk of my Linux user experience with the device was done while under a kernel 3.4 (will expand upon the possible importance of this point in the section below these bullet pts)<br />
* Under Linux - I tried with the built-in antenna for OTA ATSC reception, but did so only under poor testing circumstances, and never was able to detect any ATSC channels ... never got around to testing under good circumstances, nor did I ever get around to attempting such under Windows<br />
* Under Linux, using an external antenna for OTA ATSC reception, its tuning sensitivity was great in this regard. Never got around to testing this under Windows (have no reason to believe it would have been any different then the excellent results obtained with the device while running under Linux) <br />
* I don't have cable TV any more, so did not get around to testing this feature (under either Linux or Windows)... in any regard, the provider in my area encrypts all but a barker channel or two, and maybe a few radio stations, so it is not really worth my time to bother checking except for being academic about it<br />
* Nearest DVB-T source is likely 5,000km away ... would have had to go {insert stereotypical broken english accent here}"back to old country"{/end sterotype} to test this feature<br />
* Under Linux, even if you switch to a v3.5 or better kernel, currently there are no userspace tools/apps that would allow for testing ATSC-M/H reception. I never got around to testing this under Windows. In any regard, there are only one or two M/H signals currently being tested with by broadcasters in my region, so it wasn't a pressing matter<br />
<br />
'''Then it all went south'''<br><br />
Astute readers will naturally have picked up on the "when this device worked" qualifier of that last section. You can also find similar alarming statements made by others on, amongst other websites, Amazon and Newegg. You see, my device, running under kernel 3.4, was working wonderfully for OTA ATSC (for the less then 2 months that I had had it for) until that stopped working (NOT cool). <br />
<br />
Here is my current thought: either it coincidently borked itself just a day after I updated to kernel v3.5, or there is something (programmatically) wrong with the drivers. I will assume that the users on AMZN and the egg (whom also reported that the ATSC section of the device suddenly stopped working) are Windows users and that the problem afflicting me (running under Linux) also exits there too.<br />
<br />
Here is what dmesg gives you when its not detecting the LG DT3305 (along with <font color="#009000">my annotations</font>):<br />
[ 2.385654] usb 1-4.3: new high-speed USB device number 5 using ehci_hcd<br />
[ 2.471694] usb 1-4.3: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 2.471696] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 2.471697] usb 1-4.3: Product: WinTV Aero-M<br />
[ 2.471698] usb 1-4.3: Manufacturer: Hauppauge<br />
[ 2.471699] usb 1-4.3: SerialNumber: 4034349227<br />
[ 5.928662] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 5.928694] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928695] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928696] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.930549] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
<font color="#009000">[ 6.150608] lgdt3305_read_reg: error (addr 59 reg 0001 error (ret == -121)<br />
[ 6.150613] lgdt3305_attach: error -121 on line 1144<br />
[ 6.150614] lgdt3305_attach: unable to detect LGDT3305 hardware<br />
[ 6.150620] dvb-usb: no frontend was attached by 'Hauppauge WinTV-Aero-M'</font><br />
[ 6.150893] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 6.151369] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
<font color="#009000"> ---> No LG2161 detected here either! <--- </font><br />
[ 6.173309] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 6.173313] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 6.173314] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 6.173316] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 6.173317] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 6.173318] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 6.173755] usbcore: registered new interface driver dvb_usb_mxl111sf<br />
<br />
'''Triage'''<br />
* evidently the DT3305 can't be detected ... neither is the LG2161, but there is no mention of the M/H demod in the demesg output<br />
* The MxL111SF (a multi-function SoC) provides an interface to external demodulators so that they can leverage the MaxLinear chip's built in tuner and usb bridge.<br />
* M/H support was added to kernel 3.5 [http://www.mail-archive.com/linux-media@vger.kernel.org/msg45936.html]<br />
* the problem was first encountered, the day after updating to kernel v3.5, after a failed attempt to awaken the system from sleep (S3) <br />
* I have seen reports of problems with S3 on kernel v3.5 <br />
* the first time this happened, I was able to revive the device by doing a fresh installation of it, and the corresponding WinTV software, under Windows, ... not actually sure what step reinitialized the device, as I was actually unable to detect any channels with it under Windows while doing this, but plugging it back into the Linux system revealed a correct working state for the device again<br />
* one day later, the device had gone south under Linux again (discovered after a cold boot)<br />
* this second time, I was able to revive the device by doing the Windows trick again ... only it required multiple installation/deinstallation/scanning under Windows (and, again, without being able to detect channels while operating under Windows) before plugging it back into Linux revealed a working device <br />
* a day or two later, after the second resuscitation, the device suffered a third cardiac arrest under Linux ... multiple attempts with the Windows defibrillator have failed to bring it back<br />
<br />
'''Early Diagnosis'''<br><br />
Has my device taken those final few steps towards the shadowy figures in the light? Has its electrons truly passed on through to the other side, and will never return to spark life back upon my screens in this mortal coil?<br />
<br />
While it looks grim at the moment, I actually think that there might be hope. Offhand, I'm thinking that problems with the ACPI event (sleep S3) have exposed a fundamental flaw in the programming of registers in the MxL111SF (both under Windows and Linux). Its either coincidental, or noteworthy that the 3.5 kernel added support for the M/H LG2161 demod. Investigation into how this touched upon the MxL111SF is in order, as well as to how its inclusion impacts the LGDT3305 demod, and how a S3 event might have played a part. In a sense, the MxL111SF is the gatekeeper to these two demods. And it is a MxL111SF register gate that I believe is being stuck, and, consequently, making it appear that the device is borked. The real question is [http://www.youtube.com/watch?v=JKQ-BpO4Gzo who is going to give her the shot?] (warning: link not suitable for work or most family situations)<br />
<br />
'''Quick Follow Up'''<br><br />
Interesting -- just looking through the old log files. I think my analysis above is on track. Seeing stuff like: <br />
[12269.117457] dvb-usb: bulk message failed: -19 (26/0)<br />
[12269.117460] lgdt3305_read_reg: error (addr 59 reg 0002 error (ret == -121)<br />
[12269.117461] lgdt3305_sleep: error -121 on line 573<br />
[12269.117462] dvb-usb: bulk message failed: -19 (26/0)<br />
and <br />
[12286.621611] mxl111sf: error writing addr: 0x17, mask: 0x40, data: 0x00, retrying...<br />
[12286.621613] dvb-usb: bulk message failed: -19 (2/0)<br />
and other MxL111SF register writing errors.<br />
<br />
Media_build (now 8 days old) doesn't help at all, as it results in a bunch of symbol related errors. (I don't think they are anything remotely related to the problem, but rather, are related to changes that Antti/Crope has been making to dvb_usb). For posterity sake, they are as follows:<br />
[ 4.358211] dvb_usb: disagrees about version of symbol dvb_dmxdev_init<br />
[ 4.358215] dvb_usb: Unknown symbol dvb_dmxdev_init (err -22)<br />
[ 4.358231] dvb_usb: disagrees about version of symbol dvb_register_adapter<br />
[ 4.358232] dvb_usb: Unknown symbol dvb_register_adapter (err -22)<br />
[ 4.358249] dvb_usb: disagrees about version of symbol rc_register_device<br />
[ 4.358250] dvb_usb: Unknown symbol rc_register_device (err -22)<br />
[ 4.358254] dvb_usb: disagrees about version of symbol dvb_net_init<br />
[ 4.358255] dvb_usb: Unknown symbol dvb_net_init (err -22)<br />
[ 4.358261] dvb_usb: disagrees about version of symbol dvb_dmxdev_release<br />
[ 4.358262] dvb_usb: Unknown symbol dvb_dmxdev_release (err -22)<br />
[ 4.358264] dvb_usb: disagrees about version of symbol rc_free_device<br />
[ 4.358265] dvb_usb: Unknown symbol rc_free_device (err -22)<br />
[ 4.358271] dvb_usb: disagrees about version of symbol dvb_frontend_detach<br />
[ 4.358272] dvb_usb: Unknown symbol dvb_frontend_detach (err -22)<br />
[ 4.358274] dvb_usb: disagrees about version of symbol dvb_net_release<br />
[ 4.358275] dvb_usb: Unknown symbol dvb_net_release (err -22)<br />
[ 4.358278] dvb_usb: disagrees about version of symbol rc_allocate_device<br />
[ 4.358279] dvb_usb: Unknown symbol rc_allocate_device (err -22)<br />
[ 4.358283] dvb_usb: disagrees about version of symbol dvb_unregister_frontend<br />
[ 4.358284] dvb_usb: Unknown symbol dvb_unregister_frontend (err -22)<br />
[ 4.358287] dvb_usb: disagrees about version of symbol dvb_register_frontend<br />
[ 4.358288] dvb_usb: Unknown symbol dvb_register_frontend (err -22)<br />
[ 4.358291] dvb_usb: disagrees about version of symbol dvb_unregister_adapter<br />
[ 4.358292] dvb_usb: Unknown symbol dvb_unregister_adapter (err -22)<br />
[ 4.358297] dvb_usb: disagrees about version of symbol rc_unregister_device<br />
[ 4.358298] dvb_usb: Unknown symbol rc_unregister_device (err -22)<br />
<br />
'''Update 2'''<br><br />
Okay, in response to comments I left on the linuxtv IRC channel, Antti/Crope noted that his GSoC project changes only apply to "dvb_usb_v2", and not to the old/original "dvb_usb" (which is what is producing the errors; as seen above) and that they are likely the result of the recent file and directory structure re-organization within the media build. Ahh, good old fashioned re-orgs -- when does one not ever cause a problem? Anyway, one should expect that that will get sorted out soon enough. <br />
<br />
On the good news front, Crope mentioned that he too has an Aero-m and that he has it coded up for dvb_usb_v2 (I look forward to testing that when I get a chance). Crope also remarked that he too has seen some of the errors I've mentioned above, though, as I wasn't actually conversing with him at the time, I'm not sure if he meant the problems I noted with the current state of affairs within the media_build repo, or specifically to the Aero-m related errors I've highlighted.<br />
<br />
So, getting back on focus -- the Aero-m. I'm pretty confident that the device is not dead but that I just need to reinitialize some of the MaxLinear chip's registers. Hopefully debricking it at this point does not require the use of JTAG (I'm assuming the SoC has a JTAG interface). If that is the case, I simply don't have the time to do that, or experience to do that (or time to learn how to do that) so it will head back on the next train to Long Island so that a [http://fxb.worth1000.com/entries/427478/monkeying-around HCW engineering monkey may have such pleasure].<br />
<br />
In the bigger picture, if my assumption is correct (drivers, both Windows and Linux, are not programming the MxL111SF correctly), everyone of these devices currently is ticking away to brick itself.</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Talk:Hauppauge_WinTV-Aero-m&diff=31199Talk:Hauppauge WinTV-Aero-m2012-08-27T01:34:33Z<p>CityK: update</p>
<hr />
<div>'''When this device worked ... '''<br><br />
it worked great ... though that comment comes with a few caveats:<br />
* The bulk of my Linux user experience with the device was done while under a kernel 3.4 (will expand upon the possible importance of this point in the section below these bullet pts)<br />
* Under Linux - I tried with the built-in antenna for OTA ATSC reception, but did so only under poor testing circumstances, and never was able to detect any ATSC channels ... never got around to testing under good circumstances, nor did I ever get around to attempting such under Windows<br />
* Under Linux, using an external antenna for OTA ATSC reception, its tuning sensitivity was great in this regard. Never got around to testing this under Windows (have no reason to believe it would have been any different then the excellent results obtained with the device while running under Linux) <br />
* I don't have cable TV any more, so did not get around to testing this feature (under either Linux or Windows)... in any regard, the provider in my area encrypts all but a barker channel or two, and maybe a few radio stations, so it is not really worth my time to bother checking except for being academic about it<br />
* Nearest DVB-T source is likely 5,000km away ... would have had to go {insert stereotypical broken english accent here}"back to old country"{/end sterotype} to test this feature<br />
* Under Linux, even if you switch to a v3.5 or better kernel, currently there are no userspace tools/apps that would allow for testing ATSC-M/H reception. I never got around to testing this under Windows. In any regard, there are only one or two M/H signals currently being tested with by broadcasters in my region, so it wasn't a pressing matter<br />
<br />
'''Then it all went south'''<br><br />
Astute readers will naturally have picked up on the "when this device worked" qualifier of that last section. You can also find similar alarming statements made by others on, amongst other websites, Amazon and Newegg. You see, my device, running under kernel 3.4, was working wonderfully for OTA ATSC (for the less then 2 months that I had had it for) until that stopped working (NOT cool). <br />
<br />
Here is my current thought: either it coincidently borked itself just a day after I updated to kernel v3.5, or there is something (programmatically) wrong with the drivers. I will assume that the users on AMZN and the egg (whom also reported that the ATSC section of the device suddenly stopped working) are Windows users and that the problem afflicting me (running under Linux) also exits there too.<br />
<br />
Here is what dmesg gives you when its not detecting the LG DT3305 (along with <font color="#009000">my annotations</font>):<br />
[ 2.385654] usb 1-4.3: new high-speed USB device number 5 using ehci_hcd<br />
[ 2.471694] usb 1-4.3: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 2.471696] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 2.471697] usb 1-4.3: Product: WinTV Aero-M<br />
[ 2.471698] usb 1-4.3: Manufacturer: Hauppauge<br />
[ 2.471699] usb 1-4.3: SerialNumber: 4034349227<br />
[ 5.928662] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 5.928694] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928695] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928696] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.930549] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
<font color="#009000">[ 6.150608] lgdt3305_read_reg: error (addr 59 reg 0001 error (ret == -121)<br />
[ 6.150613] lgdt3305_attach: error -121 on line 1144<br />
[ 6.150614] lgdt3305_attach: unable to detect LGDT3305 hardware<br />
[ 6.150620] dvb-usb: no frontend was attached by 'Hauppauge WinTV-Aero-M'</font><br />
[ 6.150893] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 6.151369] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
<font color="#009000"> ---> No LG2161 detected here either! <--- </font><br />
[ 6.173309] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 6.173313] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 6.173314] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 6.173316] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 6.173317] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 6.173318] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 6.173755] usbcore: registered new interface driver dvb_usb_mxl111sf<br />
<br />
'''Triage'''<br />
* evidently the DT3305 can't be detected ... neither is the LG2161, but there is no mention of the M/H demod in the demesg output<br />
* The MxL111SF (a multi-function SoC) provides an interface to external demodulators so that they can leverage the MaxLinear chip's built in tuner and usb bridge.<br />
* M/H support was added to kernel 3.5 [http://www.mail-archive.com/linux-media@vger.kernel.org/msg45936.html]<br />
* the problem was first encountered, the day after updating to kernel v3.5, after a failed attempt to awaken the system from sleep (S3) <br />
* I have seen reports of problems with S3 on kernel v3.5 <br />
* the first time this happened, I was able to revive the device by doing a fresh installation of it, and the corresponding WinTV software, under Windows, ... not actually sure what step reinitialized the device, as I was actually unable to detect any channels with it under Windows while doing this, but plugging it back into the Linux system revealed a correct working state for the device again<br />
* one day later, the device had gone south under Linux again (discovered after a cold boot)<br />
* this second time, I was able to revive the device by doing the Windows trick again ... only it required multiple installation/deinstallation/scanning under Windows (and, again, without being able to detect channels while operating under Windows) before plugging it back into Linux revealed a working device <br />
* a day or two later, after the second resuscitation, the device suffered a third cardiac arrest under Linux ... multiple attempts with the Windows defibrillator have failed to bring it back<br />
<br />
'''Early Diagnosis'''<br><br />
Has my device taken those final few steps towards the shadowy figures in the light? Has its electrons truly passed on through to the other side, and will never return to spark life back upon my screens in this mortal coil?<br />
<br />
While it looks grim at the moment, I actually think that there might be hope. Offhand, I'm thinking that problems with the ACPI event (sleep S3) have exposed a fundamental flaw in the programming of registers in the MxL111SF (both under Windows and Linux). Its either coincidental, or noteworthy that the 3.5 kernel added support for the M/H LG2161 demod. Investigation into how this touched upon the MxL111SF is in order, as well as to how its inclusion impacts the LGDT3305 demod, and how a S3 event might have played a part. In a sense, the MxL111SF is the gatekeeper to these two demods. And it is a MxL111SF register gate that I believe is being stuck, and, consequently, making it appear that the device is borked. The real question is [http://www.youtube.com/watch?v=JKQ-BpO4Gzo who is going to give her the shot?] (warning: link not suitable for work or most family situations)<br />
<br />
'''Quick Follow Up'''<br><br />
Interesting -- just looking through the old log files. I think my analysis above is on track. Seeing stuff like: <br />
[12269.117457] dvb-usb: bulk message failed: -19 (26/0)<br />
[12269.117460] lgdt3305_read_reg: error (addr 59 reg 0002 error (ret == -121)<br />
[12269.117461] lgdt3305_sleep: error -121 on line 573<br />
[12269.117462] dvb-usb: bulk message failed: -19 (26/0)<br />
and <br />
[12286.621611] mxl111sf: error writing addr: 0x17, mask: 0x40, data: 0x00, retrying...<br />
[12286.621613] dvb-usb: bulk message failed: -19 (2/0)<br />
and other MxL111SF register writing errors.<br />
<br />
Media_build (now 8 days old) doesn't help at all, as it results in a bunch of symbol related errors. (I don't think they are anything remotely related to the problem, but rather, are related to changes that Antti/Crope has been making to dvb_usb). For posterity sake, they are as follows:<br />
[ 4.358211] dvb_usb: disagrees about version of symbol dvb_dmxdev_init<br />
[ 4.358215] dvb_usb: Unknown symbol dvb_dmxdev_init (err -22)<br />
[ 4.358231] dvb_usb: disagrees about version of symbol dvb_register_adapter<br />
[ 4.358232] dvb_usb: Unknown symbol dvb_register_adapter (err -22)<br />
[ 4.358249] dvb_usb: disagrees about version of symbol rc_register_device<br />
[ 4.358250] dvb_usb: Unknown symbol rc_register_device (err -22)<br />
[ 4.358254] dvb_usb: disagrees about version of symbol dvb_net_init<br />
[ 4.358255] dvb_usb: Unknown symbol dvb_net_init (err -22)<br />
[ 4.358261] dvb_usb: disagrees about version of symbol dvb_dmxdev_release<br />
[ 4.358262] dvb_usb: Unknown symbol dvb_dmxdev_release (err -22)<br />
[ 4.358264] dvb_usb: disagrees about version of symbol rc_free_device<br />
[ 4.358265] dvb_usb: Unknown symbol rc_free_device (err -22)<br />
[ 4.358271] dvb_usb: disagrees about version of symbol dvb_frontend_detach<br />
[ 4.358272] dvb_usb: Unknown symbol dvb_frontend_detach (err -22)<br />
[ 4.358274] dvb_usb: disagrees about version of symbol dvb_net_release<br />
[ 4.358275] dvb_usb: Unknown symbol dvb_net_release (err -22)<br />
[ 4.358278] dvb_usb: disagrees about version of symbol rc_allocate_device<br />
[ 4.358279] dvb_usb: Unknown symbol rc_allocate_device (err -22)<br />
[ 4.358283] dvb_usb: disagrees about version of symbol dvb_unregister_frontend<br />
[ 4.358284] dvb_usb: Unknown symbol dvb_unregister_frontend (err -22)<br />
[ 4.358287] dvb_usb: disagrees about version of symbol dvb_register_frontend<br />
[ 4.358288] dvb_usb: Unknown symbol dvb_register_frontend (err -22)<br />
[ 4.358291] dvb_usb: disagrees about version of symbol dvb_unregister_adapter<br />
[ 4.358292] dvb_usb: Unknown symbol dvb_unregister_adapter (err -22)<br />
[ 4.358297] dvb_usb: disagrees about version of symbol rc_unregister_device<br />
[ 4.358298] dvb_usb: Unknown symbol rc_unregister_device (err -22)<br />
<br />
'''Update 2'''<br><br />
Okay, in response to comments I left on the linuxtv IRC channel, Antti/Crope noted that his GSoC project changes only apply to "dvb_usb_v2", and not to the old/original "dvb_usb" (which is what is producing the errors; as seen above) and that they are likely the result of the recent file and directory structure re-organization within the media build. Ahh, good old fashioned re-orgs -- when does one not ever cause a problem? Anyway, one should expect that that will get sorted out soon enough. <br />
<br />
On the good news front, Crope mentioned that he too has an Aero-m and that he has it coded up for dvb_usb_v2 (I look forward to testing that when I get a chance). Crope also remarked that he too has seen some of the errors I've mentioned above, though, as I wasn't actually conversing with him at the time, I'm not sure if he meant the problems I noted with current state of affairs with the media_build repo, or specifically to the Aero-m related errors I've highlighted.<br />
<br />
So, getting back on focus -- the Aero-m. I'm pretty confident that the device is not dead but that I just need to reinitialize some of the MaxLinear chip's registers. Hopefully debricking it at this point does not require the use of JTAG (I'm assuming the SoC has a JTAG interface). If that is the case, I simply don't have the time to do that, or experience to do that (or time to learn how to do that) so it will head back on the next train to Long Island so that a [http://fxb.worth1000.com/entries/427478/monkeying-around HCW engineering monkey may have such pleasure].<br />
<br />
In the bigger picture, if my assumption is correct (drivers, both Windows and Linux, are not programming the MxL111SF correctly), everyone of these devices currently is ticking away to brick itself.</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hauppauge_WinTV-Aero-m&diff=31198Hauppauge WinTV-Aero-m2012-08-27T00:52:38Z<p>CityK: /* Identification */ minor edit</p>
<hr />
<div>[[Image:Hauppauge_WinTV-Aero-m_front.jpg|right|thumb|200px|WinTV-Aero-m front facia]]<br />
<br />
A hybrid mulitple [[frontend]] (MFE) [[DTV|Digital TV]] USB 2.0 device, by [[Hauppauge]], featuring reception capabilities for [[ATSC USB Devices|ATSC, ATSC-M/H]] and [[DVB-T_USB_Devices|DVB-T]].<br />
<br />
It is supported under Linux; since kernel 3.2 for ATSC & DVB-T and kernel 3.5 for ATSC-M/H support.<br />
<br />
==Overview/Features==<br />
* Very nice form factor (i.e. has a small physical footprint). <br />
* A first of a kind type of device -- supports both DVB-T and ATSC (as well as the M/H subset) ... Note: this dual support is only available under Linux (Windows drivers will only expose the digital TV standard relative to the location it was purchased i.e. ATSC in N.A, DVB-T in Europe) <br />
* Has a built-in, telescoping, aerial (i.e. a "whip" antenna)<br />
* Credit card sized IR remote control (battery included), with the Aero-m itself sporting an IR receiver on its front<br />
* Port for external antenna attachment (RF cable adapter plug included)<br />
* Removable cap for the USB 2.0 connector<br />
* USB 2.0 extension cable (roughly 13inches; one foot usable length once you plug both ends in)<br />
* Windows driver CD and Installation guide<br />
<br />
===Components Used===<br />
* [[MaxLinear MxL111SF]] SoC<br />
** tuner<br />
** DVB-T demodulator <br />
** USB 2.0 bridge<br />
*''LG DT3305 demodulator (D)''<br />
* ''LG LG2161 demodulator (D-m)''<br />
<br />
===Identification===<br />
The output of ''lsusb -v'' reveals that the device has a subsystem ID of: 2040:c61b<br />
<br />
===Other Images===<br />
<gallery perrow=5><br />
Image:Hauppauge_WinTV-Aero-m_box_and_contents.jpg|The retail box and contents<br />
Image:Hauppauge_WinTV-Aero-m_remote.jpg|the Aero-m and its IR remote control<br />
Image:Hauppauge_WinTV-Aero-m_device_and_attachments.jpg|the Aero-m, its attachments & the built-in aerial extended<br />
</gallery><br />
<br />
<br />
==Making it Work==<br />
<br />
===Firmware===<br />
No firmware is required for this device<br />
<br />
===Drivers===<br />
<br />
<br />
===Sample Kernel Output===<br />
Relevant dmesg output:<br />
<br />
[ 3874.201858] usb 1-4.1.2: new high-speed USB device number 15 using ehci_hcd<br />
[ 3874.288007] usb 1-4.1.2: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 3874.288011] usb 1-4.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 3874.288013] usb 1-4.1.2: Product: WinTV Aero-M<br />
[ 3874.288015] usb 1-4.1.2: Manufacturer: Hauppauge<br />
[ 3874.288016] usb 1-4.1.2: SerialNumber: 4034349227<br />
[ 3874.288293] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 3874.288324] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 3874.288325] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 3874.288326] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. <font color="#009000"><-- only for kernel 3.5 and up</font> <br />
[ 3874.288648] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
[ 3874.552658] DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3305 VSB/QAM Frontend)...<br />
[ 3874.570179] DVB: registering adapter 0 frontend 1 (MaxLinear MxL111SF DVB-T demodulator)...<br />
[ 3874.738637] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
[ 3874.741930] DVB: registering adapter 0 frontend 2 (LG Electronics LG2161 ATSC/MH Frontend)... <font color="#009000"><-- only for kernel 3.5 and up</font> <br />
[ 3874.742968] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 3874.766943] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 3874.766946] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 3874.766948] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 3874.766950] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 3874.766951] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 3874.766952] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
<br />
Note: the above output is with a kernel version 3.5, and all 3 frontends on the adapter are registered. The output above is <font color="#009000">annotated</font> to note the difference if you are using a pre version 3.5 kernel.<br />
<br />
===Remote Control Support===<br />
The remote has been successfully tested under Linux during driver development, however, said support is currently disabled, but will likely will be re-introduced in the near future.<br />
<br />
===User Experience===<br />
See the [[Talk:Hauppauge WinTV-Aero-m|article's discussion page]]<br />
<br />
==External Links==<br />
* [http://www.hauppauge.com/site/products/data_aero-m.html Hauppauge WinTV-Aero-m product page]<br />
** [http://www.kernellabs.com/blog/?s=aero Some Linux driver background info from kernellabs]<br />
<br />
[[Category:ATSC USB Devices]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hauppauge_WinTV-Aero-m&diff=31197Hauppauge WinTV-Aero-m2012-08-27T00:51:03Z<p>CityK: Some updates</p>
<hr />
<div>[[Image:Hauppauge_WinTV-Aero-m_front.jpg|right|thumb|200px|WinTV-Aero-m front facia]]<br />
<br />
A hybrid mulitple [[frontend]] (MFE) [[DTV|Digital TV]] USB 2.0 device, by [[Hauppauge]], featuring reception capabilities for [[ATSC USB Devices|ATSC, ATSC-M/H]] and [[DVB-T_USB_Devices|DVB-T]].<br />
<br />
It is supported under Linux; since kernel 3.2 for ATSC & DVB-T and kernel 3.5 for ATSC-M/H support.<br />
<br />
==Overview/Features==<br />
* Very nice form factor (i.e. has a small physical footprint). <br />
* A first of a kind type of device -- supports both DVB-T and ATSC (as well as the M/H subset) ... Note: this dual support is only available under Linux (Windows drivers will only expose the digital TV standard relative to the location it was purchased i.e. ATSC in N.A, DVB-T in Europe) <br />
* Has a built-in, telescoping, aerial (i.e. a "whip" antenna)<br />
* Credit card sized IR remote control (battery included), with the Aero-m itself sporting an IR receiver on its front<br />
* Port for external antenna attachment (RF cable adapter plug included)<br />
* Removable cap for the USB 2.0 connector<br />
* USB 2.0 extension cable (roughly 13inches; one foot usable length once you plug both ends in)<br />
* Windows driver CD and Installation guide<br />
<br />
===Components Used===<br />
* [[MaxLinear MxL111SF]] SoC<br />
** tuner<br />
** DVB-T demodulator <br />
** USB 2.0 bridge<br />
*''LG DT3305 demodulator (D)''<br />
* ''LG LG2161 demodulator (D-m)''<br />
<br />
===Identification===<br />
The output of lsusb -v reveals that the device has a subsystem ID of:2040:c61b<br />
<br />
===Other Images===<br />
<gallery perrow=5><br />
Image:Hauppauge_WinTV-Aero-m_box_and_contents.jpg|The retail box and contents<br />
Image:Hauppauge_WinTV-Aero-m_remote.jpg|the Aero-m and its IR remote control<br />
Image:Hauppauge_WinTV-Aero-m_device_and_attachments.jpg|the Aero-m, its attachments & the built-in aerial extended<br />
</gallery><br />
<br />
<br />
==Making it Work==<br />
<br />
===Firmware===<br />
No firmware is required for this device<br />
<br />
===Drivers===<br />
<br />
<br />
===Sample Kernel Output===<br />
Relevant dmesg output:<br />
<br />
[ 3874.201858] usb 1-4.1.2: new high-speed USB device number 15 using ehci_hcd<br />
[ 3874.288007] usb 1-4.1.2: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 3874.288011] usb 1-4.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 3874.288013] usb 1-4.1.2: Product: WinTV Aero-M<br />
[ 3874.288015] usb 1-4.1.2: Manufacturer: Hauppauge<br />
[ 3874.288016] usb 1-4.1.2: SerialNumber: 4034349227<br />
[ 3874.288293] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 3874.288324] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 3874.288325] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 3874.288326] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. <font color="#009000"><-- only for kernel 3.5 and up</font> <br />
[ 3874.288648] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
[ 3874.552658] DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3305 VSB/QAM Frontend)...<br />
[ 3874.570179] DVB: registering adapter 0 frontend 1 (MaxLinear MxL111SF DVB-T demodulator)...<br />
[ 3874.738637] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
[ 3874.741930] DVB: registering adapter 0 frontend 2 (LG Electronics LG2161 ATSC/MH Frontend)... <font color="#009000"><-- only for kernel 3.5 and up</font> <br />
[ 3874.742968] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 3874.766943] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 3874.766946] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 3874.766948] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 3874.766950] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 3874.766951] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 3874.766952] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
<br />
Note: the above output is with a kernel version 3.5, and all 3 frontends on the adapter are registered. The output above is <font color="#009000">annotated</font> to note the difference if you are using a pre version 3.5 kernel.<br />
<br />
===Remote Control Support===<br />
The remote has been successfully tested under Linux during driver development, however, said support is currently disabled, but will likely will be re-introduced in the near future.<br />
<br />
===User Experience===<br />
See the [[Talk:Hauppauge WinTV-Aero-m|article's discussion page]]<br />
<br />
==External Links==<br />
* [http://www.hauppauge.com/site/products/data_aero-m.html Hauppauge WinTV-Aero-m product page]<br />
** [http://www.kernellabs.com/blog/?s=aero Some Linux driver background info from kernellabs]<br />
<br />
[[Category:ATSC USB Devices]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=File:Hauppauge_WinTV-Aero-m_device_and_attachments.jpg&diff=31196File:Hauppauge WinTV-Aero-m device and attachments.jpg2012-08-27T00:27:59Z<p>CityK: </p>
<hr />
<div></div>CityKhttps://www.linuxtv.org/wiki/index.php?title=File:Hauppauge_WinTV-Aero-m_box_and_contents.jpg&diff=31195File:Hauppauge WinTV-Aero-m box and contents.jpg2012-08-27T00:26:38Z<p>CityK: </p>
<hr />
<div></div>CityKhttps://www.linuxtv.org/wiki/index.php?title=File:Hauppauge_WinTV-Aero-m_remote.jpg&diff=31194File:Hauppauge WinTV-Aero-m remote.jpg2012-08-27T00:25:22Z<p>CityK: </p>
<hr />
<div></div>CityKhttps://www.linuxtv.org/wiki/index.php?title=File:Hauppauge_WinTV-Aero-m_front.jpg&diff=31193File:Hauppauge WinTV-Aero-m front.jpg2012-08-27T00:24:32Z<p>CityK: </p>
<hr />
<div></div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Talk:Hauppauge_WinTV-Aero-m&diff=31191Talk:Hauppauge WinTV-Aero-m2012-08-25T19:56:22Z<p>CityK: update with info gleaned from logs</p>
<hr />
<div>'''When this device worked ... '''<br><br />
it worked great ... though that comment comes with a few caveats:<br />
* The bulk of my Linux user experience with the device was done while under a kernel 3.4 (will expand upon the possible importance of this point in the section below these bullet pts)<br />
* Under Linux - I tried with the built-in antenna for OTA ATSC reception, but did so only under poor testing circumstances, and never was able to detect any ATSC channels ... never got around to testing under good circumstances, nor did I ever get around to attempting such under Windows<br />
* Under Linux, using an external antenna for OTA ATSC reception, its tuning sensitivity was great in this regard. Never got around to testing this under Windows (have no reason to believe it would have been any different then the excellent results obtained with the device while running under Linux) <br />
* I don't have cable TV any more, so did not get around to testing this feature (under either Linux or Windows)... in any regard, the provider in my area encrypts all but a barker channel or two, and maybe a few radio stations, so it is not really worth my time to bother checking except for being academic about it<br />
* Nearest DVB-T source is likely 5,000km away ... would have had to go {insert stereotypical broken english accent here}"back to old country"{/end sterotype} to test this feature<br />
* Under Linux, even if you switch to a v3.5 or better kernel, currently there are no userspace tools/apps that would allow for testing ATSC-M/H reception. I never got around to testing this under Windows. In any regard, there are only one or two M/H signals currently being tested with by broadcasters in my region, so it wasn't a pressing matter<br />
<br />
'''Then it all went south'''<br><br />
Astute readers will naturally have picked up on the "when this device worked" qualifier of that last section. You can also find similar alarming statements made by others on, amongst other websites, Amazon and Newegg. You see, my device, running under kernel 3.4, was working wonderfully for OTA ATSC (for the less then 2 months that I had had it for) until that stopped working (NOT cool). <br />
<br />
Here is my current thought: either it coincidently borked itself just a day after I updated to kernel v3.5, or there is something (programmatically) wrong with the drivers. I will assume that the users on AMZN and the egg (whom also reported that the ATSC section of the device suddenly stopped working) are Windows users and that the problem afflicting me (running under Linux) also exits there too.<br />
<br />
Here is what dmesg gives you when its not detecting the LG DT3305 (along with <font color="#009000">my annotations</font>):<br />
[ 2.385654] usb 1-4.3: new high-speed USB device number 5 using ehci_hcd<br />
[ 2.471694] usb 1-4.3: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 2.471696] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 2.471697] usb 1-4.3: Product: WinTV Aero-M<br />
[ 2.471698] usb 1-4.3: Manufacturer: Hauppauge<br />
[ 2.471699] usb 1-4.3: SerialNumber: 4034349227<br />
[ 5.928662] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 5.928694] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928695] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928696] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.930549] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
<font color="#009000">[ 6.150608] lgdt3305_read_reg: error (addr 59 reg 0001 error (ret == -121)<br />
[ 6.150613] lgdt3305_attach: error -121 on line 1144<br />
[ 6.150614] lgdt3305_attach: unable to detect LGDT3305 hardware<br />
[ 6.150620] dvb-usb: no frontend was attached by 'Hauppauge WinTV-Aero-M'</font><br />
[ 6.150893] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 6.151369] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
<font color="#009000"> ---> No LG2161 detected here either! <--- </font><br />
[ 6.173309] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 6.173313] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 6.173314] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 6.173316] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 6.173317] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 6.173318] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 6.173755] usbcore: registered new interface driver dvb_usb_mxl111sf<br />
<br />
'''Triage'''<br />
* evidently the DT3305 can't be detected ... neither is the LG2161, but there is no mention of the M/H demod in the demesg output<br />
* The MxL111SF (a multi-function SoC) provides an interface to external demodulators so that they can leverage the MaxLinear chip's built in tuner and usb bridge.<br />
* M/H support was added to kernel 3.5 [http://www.mail-archive.com/linux-media@vger.kernel.org/msg45936.html]<br />
* the problem was first encountered, the day after updating to kernel v3.5, after a failed attempt to awaken the system from sleep (S3) <br />
* I have seen reports of problems with S3 on kernel v3.5 <br />
* the first time this happened, I was able to revive the device by doing a fresh installation of it, and the corresponding WinTV software, under Windows, ... not actually sure what step reinitialized the device, as I was actually unable to detect any channels with it under Windows while doing this, but plugging it back into the Linux system revealed a correct working state for the device again<br />
* one day later, the device had gone south under Linux again (discovered after a cold boot)<br />
* this second time, I was able to revive the device by doing the Windows trick again ... only it required multiple installation/deinstallation/scanning under Windows (and, again, without being able to detect channels while operating under Windows) before plugging it back into Linux revealed a working device <br />
* a day or two later, after the second resuscitation, the device suffered a third cardiac arrest under Linux ... multiple attempts with the Windows defibrillator have failed to bring it back<br />
<br />
'''Early Diagnosis'''<br><br />
Has my device taken those final few steps towards the shadowy figures in the light? Has its electrons truly passed on through to the other side, and will never return to spark life back upon my screens in this mortal coil?<br />
<br />
While it looks grim at the moment, I actually think that there might be hope. Offhand, I'm thinking that problems with the ACPI event (sleep S3) have exposed a fundamental flaw in the programming of registers in the MxL111SF (both under Windows and Linux). Its either coincidental, or noteworthy that the 3.5 kernel added support for the M/H LG2161 demod. Investigation into how this touched upon the MxL111SF is in order, as well as to how its inclusion impacts the LGDT3305 demod, and how a S3 event might have played a part. In a sense, the MxL111SF is the gatekeeper to these two demods. And it is a MxL111SF register gate that I believe is being stuck, and, consequently, making it appear that the device is borked. The real question is [http://www.youtube.com/watch?v=JKQ-BpO4Gzo who is going to give her the shot?] (warning: link not suitable for work or most family situations)<br />
<br />
'''Quick Follow Up'''<br />
Interesting -- just looking through the old log files. I think my analysis above is on track. Seeing stuff like: <br />
[12269.117457] dvb-usb: bulk message failed: -19 (26/0)<br />
[12269.117460] lgdt3305_read_reg: error (addr 59 reg 0002 error (ret == -121)<br />
[12269.117461] lgdt3305_sleep: error -121 on line 573<br />
[12269.117462] dvb-usb: bulk message failed: -19 (26/0)<br />
and <br />
[12286.621611] mxl111sf: error writing addr: 0x17, mask: 0x40, data: 0x00, retrying...<br />
[12286.621613] dvb-usb: bulk message failed: -19 (2/0)<br />
and other MxL111SF register writing errors.<br />
<br />
Media_build (now 8 days old) doesn't help at all, as it results in a bunch of symbol related errors. (I don't think they are anything remotely related to the problem, but rather, are related to changes that Antti/Crope has been making to dvb_usb). For posterity sake, they are as follows:<br />
[ 4.358211] dvb_usb: disagrees about version of symbol dvb_dmxdev_init<br />
[ 4.358215] dvb_usb: Unknown symbol dvb_dmxdev_init (err -22)<br />
[ 4.358231] dvb_usb: disagrees about version of symbol dvb_register_adapter<br />
[ 4.358232] dvb_usb: Unknown symbol dvb_register_adapter (err -22)<br />
[ 4.358249] dvb_usb: disagrees about version of symbol rc_register_device<br />
[ 4.358250] dvb_usb: Unknown symbol rc_register_device (err -22)<br />
[ 4.358254] dvb_usb: disagrees about version of symbol dvb_net_init<br />
[ 4.358255] dvb_usb: Unknown symbol dvb_net_init (err -22)<br />
[ 4.358261] dvb_usb: disagrees about version of symbol dvb_dmxdev_release<br />
[ 4.358262] dvb_usb: Unknown symbol dvb_dmxdev_release (err -22)<br />
[ 4.358264] dvb_usb: disagrees about version of symbol rc_free_device<br />
[ 4.358265] dvb_usb: Unknown symbol rc_free_device (err -22)<br />
[ 4.358271] dvb_usb: disagrees about version of symbol dvb_frontend_detach<br />
[ 4.358272] dvb_usb: Unknown symbol dvb_frontend_detach (err -22)<br />
[ 4.358274] dvb_usb: disagrees about version of symbol dvb_net_release<br />
[ 4.358275] dvb_usb: Unknown symbol dvb_net_release (err -22)<br />
[ 4.358278] dvb_usb: disagrees about version of symbol rc_allocate_device<br />
[ 4.358279] dvb_usb: Unknown symbol rc_allocate_device (err -22)<br />
[ 4.358283] dvb_usb: disagrees about version of symbol dvb_unregister_frontend<br />
[ 4.358284] dvb_usb: Unknown symbol dvb_unregister_frontend (err -22)<br />
[ 4.358287] dvb_usb: disagrees about version of symbol dvb_register_frontend<br />
[ 4.358288] dvb_usb: Unknown symbol dvb_register_frontend (err -22)<br />
[ 4.358291] dvb_usb: disagrees about version of symbol dvb_unregister_adapter<br />
[ 4.358292] dvb_usb: Unknown symbol dvb_unregister_adapter (err -22)<br />
[ 4.358297] dvb_usb: disagrees about version of symbol rc_unregister_device<br />
[ 4.358298] dvb_usb: Unknown symbol rc_unregister_device (err -22)</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Talk:Hauppauge_WinTV-Aero-m&diff=31190Talk:Hauppauge WinTV-Aero-m2012-08-25T19:13:56Z<p>CityK: a bunch of minor edits</p>
<hr />
<div>'''When this device worked ... '''<br><br />
it worked great ... though that comment comes with a few caveats:<br />
* The bulk of my Linux user experience with the device was done while under a kernel 3.4 (will expand upon the possible importance of this point in the section below these bullet pts)<br />
* Under Linux - I tried with the built-in antenna for OTA ATSC reception, but did so only under poor testing circumstances, and never was able to detect any ATSC channels ... never got around to testing under good circumstances, nor did I ever get around to attempting such under Windows<br />
* Under Linux, using an external antenna for OTA ATSC reception, its tuning sensitivity was great in this regard. Never got around to testing this under Windows (have no reason to believe it would have been any different then the excellent results obtained with the device while running under Linux) <br />
* I don't have cable TV any more, so did not get around to testing this feature (under either Linux or Windows)... in any regard, the provider in my area encrypts all but a barker channel or two, and maybe a few radio stations, so it is not really worth my time to bother checking except for being academic about it<br />
* Nearest DVB-T source is likely 5,000km away ... would have had to go {insert stereotypical broken english accent here}"back to old country"{/end sterotype} to test this feature<br />
* Under Linux, even if you switch to a v3.5 or better kernel, currently there are no userspace tools/apps that would allow for testing ATSC-M/H reception. I never got around to testing this under Windows. In any regard, there are only one or two M/H signals currently being tested with by broadcasters in my region, so it wasn't a pressing matter<br />
<br />
'''Then it all went south'''<br><br />
Astute readers will naturally have picked up on the "when this device worked" qualifier of that last section. You can also find similar alarming statements made by others on, amongst other websites, Amazon and Newegg. You see, my device, running under kernel 3.4, was working wonderfully for OTA ATSC (for the less then 2 months that I had had it for) until that stopped working (NOT cool). <br />
<br />
Here is my current thought: either it coincidently borked itself just a day after I updated to kernel v3.5, or there is something (programmatically) wrong with the drivers. I will assume that the users on AMZN and the egg (whom also reported that the ATSC section of the device suddenly stopped working) are Windows users and that the problem afflicting me (running under Linux) also exits there too.<br />
<br />
Here is what dmesg gives you when its not detecting the LG DT3305 (along with <font color="#009000">my annotations</font>):<br />
[ 2.385654] usb 1-4.3: new high-speed USB device number 5 using ehci_hcd<br />
[ 2.471694] usb 1-4.3: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 2.471696] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 2.471697] usb 1-4.3: Product: WinTV Aero-M<br />
[ 2.471698] usb 1-4.3: Manufacturer: Hauppauge<br />
[ 2.471699] usb 1-4.3: SerialNumber: 4034349227<br />
[ 5.928662] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 5.928694] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928695] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928696] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.930549] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
<font color="#009000">[ 6.150608] lgdt3305_read_reg: error (addr 59 reg 0001 error (ret == -121)<br />
[ 6.150613] lgdt3305_attach: error -121 on line 1144<br />
[ 6.150614] lgdt3305_attach: unable to detect LGDT3305 hardware<br />
[ 6.150620] dvb-usb: no frontend was attached by 'Hauppauge WinTV-Aero-M'</font><br />
[ 6.150893] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 6.151369] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
<font color="#009000"> ---> No LG2161 detected here either! <--- </font><br />
[ 6.173309] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 6.173313] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 6.173314] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 6.173316] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 6.173317] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 6.173318] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 6.173755] usbcore: registered new interface driver dvb_usb_mxl111sf<br />
<br />
'''Triage'''<br />
* evidently the DT3305 can't be detected ... neither is the LG2161, but there is no mention of the M/H demod in the demesg output<br />
* The MxL111SF (a multi-function SoC) provides an interface to external demodulators so that they can leverage the MaxLinear chip's built in tuner and usb bridge.<br />
* M/H support was added to kernel 3.5 [http://www.mail-archive.com/linux-media@vger.kernel.org/msg45936.html]<br />
* the problem was first encountered, the day after updating to kernel v3.5, after a failed attempt to awaken the system from sleep (S3) <br />
* I have seen reports of problems with S3 on kernel v3.5 <br />
* the first time this happened, I was able to revive the device by doing a fresh installation of it, and the corresponding WinTV software, under Windows, ... not actually sure what step reinitialized the device, as I was actually unable to detect any channels with it under Windows while doing this, but plugging it back into the Linux system revealed a correct working state for the device again<br />
* one day later, the device had gone south under Linux again (discovered after a cold boot)<br />
* this second time, I was able to revive the device by doing the Windows trick again ... only it required multiple installation/deinstallation/scanning under Windows (and, again, without being able to detect channels while operating under Windows) before plugging it back into Linux revealed a working device <br />
* a day or two later, after the second resuscitation, the device suffered a third cardiac arrest under Linux ... multiple attempts with the Windows defibrillator have failed to bring it back<br />
<br />
'''Early Diagnosis'''<br><br />
Has my device taken those final few steps towards the shadowy figures in the light? Has its electrons truly passed on through to the other side, and will never return to spark life back upon my screens in this mortal coil?<br />
<br />
While it looks grim at the moment, I actually think that there might be hope. Offhand, I'm thinking that problems with the ACPI event (sleep S3) have exposed a fundamental flaw in the programming of registers in the MxL111SF (both under Windows and Linux). Its either coincidental, or noteworthy that the 3.5 kernel added support for the M/H LG2161 demod. Investigation into how this touched upon the MxL111SF is in order, as well as to how its inclusion impacts the LGDT3305 demod, and how a S3 event might have played a part. In a sense, the MxL111SF is the gatekeeper to these two demods. And it is a MxL111SF register gate that I believe is being stuck, and, consequently, making it appear that the device is borked. The real question is [http://www.youtube.com/watch?v=JKQ-BpO4Gzo who is going to give her the shot?] (warning: link not suitable for work or most family situations)</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Talk:Hauppauge_WinTV-Aero-m&diff=31189Talk:Hauppauge WinTV-Aero-m2012-08-25T19:06:00Z<p>CityK: where I think the problem may lay</p>
<hr />
<div>'''When this device worked ... '''<br><br />
it worked great ... though that comment comes with a few caveats:<br />
* The bulk of my Linux user experience with the device was done while under a kernel 3.4 (will expand upon the possible importance of this point in the section below these bullet pts)<br />
* Under Linux - I tried with the built-in antenna for OTA ATSC reception, but did so only under poor testing circumstances, and never was able to detect any ATSC channels ... never got around to testing under good circumstances, nor did I ever get around to attempting such under Windows<br />
* Under Linux, using an external antenna for OTA ATSC reception, its tuning sensitivity was great in this regard. Never got around to testing this under Windows (have no reason to believe it would have been any different then the excellent results obtained with the device while running under Linux) <br />
* I don't have cable TV any more, so did not get around to testing this feature (under either Linux or Windows)... in any regard, the provider in my area encrypts all but a barker channel or two, and maybe a few radio stations, so it is not really worth my time to bother checking except for being academic about it<br />
* Nearest DVB-T source is likely 5,000km away ... would have had to go {insert stereotypical broken english accent here}"back to old country"{/end sterotype} to test this feature<br />
* Under Linux, even if you switch to a v3.5 or better kernel, currently there are no userspace tools/apps that would allow for testing ATSC-M/H reception. I never got around to testing this under Windows. In any regard, there are only one or two M/H signals currently being tested with by broadcasters in my region, so it wasn't a pressing matter<br />
<br />
'''Then it all went south'''<br><br />
Astute readers will naturally have picked up on the "when this device worked" qualifier of that last section. You can also find similar alarming statements made by others on, amongst other websites, Amazon and Newegg. You see, my device, running under kernel 3.4, was working wonderfully for OTA ATSC (for the less then 2 months that I had had it for) until that stopped working (NOT cool). <br />
<br />
Here is my current thought: either it coincidently borked itself just a day after I updated to kernel v3.5, or there is something (programmatically) wrong with the drivers. I will assume that the users on AMZN and the egg (whom also reported that the ATSC section of the device suddenly stopped working) are Windows users and that the problem afflicting me (running under Linux) also exits there too.<br />
<br />
Here is what dmesg gives you when its not detecting the LG DT3305 (along with <font color="#009000">my annotations</font>):<br />
[ 2.385654] usb 1-4.3: new high-speed USB device number 5 using ehci_hcd<br />
[ 2.471694] usb 1-4.3: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 2.471696] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 2.471697] usb 1-4.3: Product: WinTV Aero-M<br />
[ 2.471698] usb 1-4.3: Manufacturer: Hauppauge<br />
[ 2.471699] usb 1-4.3: SerialNumber: 4034349227<br />
[ 5.928662] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 5.928694] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928695] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928696] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.930549] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
<font color="#009000">[ 6.150608] lgdt3305_read_reg: error (addr 59 reg 0001 error (ret == -121)<br />
[ 6.150613] lgdt3305_attach: error -121 on line 1144<br />
[ 6.150614] lgdt3305_attach: unable to detect LGDT3305 hardware<br />
[ 6.150620] dvb-usb: no frontend was attached by 'Hauppauge WinTV-Aero-M'</font><br />
[ 6.150893] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 6.151369] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
<font color="#009000"> ---> No LG2161 detected here either! <--- </font><br />
[ 6.173309] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 6.173313] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 6.173314] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 6.173316] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 6.173317] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 6.173318] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 6.173755] usbcore: registered new interface driver dvb_usb_mxl111sf<br />
<br />
'''Triage'''<br />
* evidently the DT3305 can't be detected ... neither is the LG2161, but there is no mention of the M/H demod in the demesg output<br />
* The MxL111SF (a multi-function SoC) provides an interface to external demodulators so that they can leverage the MaxLinear chip's built in tuner and usb bridge.<br />
* M/H support was added to kernel 3.5 [http://www.mail-archive.com/linux-media@vger.kernel.org/msg45936.html]<br />
* the problem was first encountered, the day after updating to kernel v3.5, after a failed attempt to awaken the system from sleep (S3) ... I have seen reports of problems with S3 on v3.5 <br />
* was able to revive the device by doing a fresh installation of it, and the corresponding WinTV software under Windows, ... not actually sure what step reinitialized the device, as I was actually unable to detect any channels with the device under Windows, but plugging it back into the Linux system revealed the again correct working state for the device <br />
* one day later, the device had gone south under Linux again (discovered after a cold boot)<br />
* was able to revive the device by doing the Windows trick again ... only it required multiple installation/deinstallation/scanning under Windows (and, again, without being able to detect channels while operating under Windows) before plugging it back into Linux revealed a working device <br />
* a day or two later, after the second resuscitation, the device suffered a third cardiac arrest under Linux ... multiple attempts with the Windows defibrillator have failed to bring it back<br />
<br />
'''Early Diagnosis'''<br><br />
Has my device taken those final few steps towards the shadowy figures in the light? Has its electrons truly passed on through to the other side, and will never return to spark life back upon my screens in this mortal coil?<br />
<br />
While it looks grim at the moment, I actually think that there might be hope. Offhand, I'm thinking that problems with the ACPI event (sleep S3) have exposed a fundamental flaw in the programming of registers in the MxL111SF (both under Windows and Linux). Its either coincidental, or noteworthy that the 3.5 kernel added support for the M/H LG2161 demod. Investigation into how this touched upon the MxL111SF is in order, as well as to how it impacts the LGDT3305 demod, and how a S3 event might have played a part. In a sense, the MxL111SF is the gatekeeper to these two demods. And it is a register gate that I believe is being stuck, and, consequently, making it appear that the device is borked. The real question is [http://www.youtube.com/watch?v=JKQ-BpO4Gzo who is going to give her the shot?] (warning: link not suitable for work or most family situations)</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Talk:Hauppauge_WinTV-Aero-m&diff=31187Talk:Hauppauge WinTV-Aero-m2012-08-25T18:11:24Z<p>CityK: intermediate save</p>
<hr />
<div>'''When this device worked ... '''<br><br />
it worked great ... though that comment comes with a few caveats:<br />
* The bulk of my Linux user experience with the device was done while under a kernel 3.4 (will expand upon the possible importance of this point in the section below these bullet pts)<br />
* Under Linux - I tried with the built-in antenna for OTA ATSC reception, but did so only under poor testing circumstances, and never was able to detect any ATSC channels ... never got around to testing under good circumstances, nor did I ever get around to attempting such under Windows<br />
* Under Linux, using an external antenna for OTA ATSC reception, its tuning sensitivity was great in this regard. Never got around to testing this under Windows (have no reason to believe it would have been any different then the excellent results obtained with the device while running under Linux) <br />
* I don't have cable TV any more, so did not get around to testing this feature (under either Linux or Windows)... in any regard, the provider in my area encrypts all but a barker channel or two, and maybe a few radio stations, so it is not really worth my time to bother checking except for being academic about it<br />
* Nearest DVB-T source is likely 5,000km away ... would have had to go {insert stereotypical broken english accent here}"back to old country"{/end sterotype} to test this feature<br />
* Under Linux, even if you switch to a v3.5 or better kernel, currently there are no userspace tools/apps that would allow for testing ATSC-M/H reception. I never got around to testing this under Windows. In any regard, there are only one or two M/H signals currently being tested with by broadcasters in my region, so it wasn't a pressing matter<br />
<br />
'''Then it all went south'''<br><br />
Astute readers will naturally have picked up on the "when this device worked" qualifier of that last section. You can also find similar alarming statements made by others on, amongst other websites, Amazon and Newegg. You see, my device, running under kernel 3.4, was working wonderfully for OTA ATSC (for the less then 2 months that I had had it for) until that stopped working (NOT cool). <br />
<br />
Here is my current thought: either it coincidently borked itself just a day after I updated to kernel v3.5, or there is something (programmatically) wrong with the drivers. I will assume that the users on AMZN and the egg (whom also reported that the ATSC section of the device suddenly stopped working) are Windows users and that the problem afflicting me (running under Linux) also exits there too.<br />
<br />
Here is what dmesg gives you when its not detecting the LG DT3305 (along with <font color="#009000">my annotations</font>):<br />
[ 2.385654] usb 1-4.3: new high-speed USB device number 5 using ehci_hcd<br />
[ 2.471694] usb 1-4.3: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 2.471696] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 2.471697] usb 1-4.3: Product: WinTV Aero-M<br />
[ 2.471698] usb 1-4.3: Manufacturer: Hauppauge<br />
[ 2.471699] usb 1-4.3: SerialNumber: 4034349227<br />
[ 5.928662] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 5.928694] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928695] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928696] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.930549] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
<font color="#009000">[ 6.150608] lgdt3305_read_reg: error (addr 59 reg 0001 error (ret == -121)<br />
[ 6.150613] lgdt3305_attach: error -121 on line 1144<br />
[ 6.150614] lgdt3305_attach: unable to detect LGDT3305 hardware<br />
[ 6.150620] dvb-usb: no frontend was attached by 'Hauppauge WinTV-Aero-M'</font><br />
[ 6.150893] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 6.151369] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
<font color="#009000"> ---> No LG2161 detected here either! <--- </font><br />
[ 6.173309] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 6.173313] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 6.173314] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 6.173316] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 6.173317] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 6.173318] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 6.173755] usbcore: registered new interface driver dvb_usb_mxl111sf</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hauppauge_WinTV-Aero-m&diff=31185Hauppauge WinTV-Aero-m2012-08-25T17:05:27Z<p>CityK: prepare for images; minor edit</p>
<hr />
<div>[[Image:Hauppauge_ WinTV-Aero-m_front.jpg|right|thumb|200px|breif description]]<br />
<br />
A hybrid mulitple [[frontend]] (MFE) [[DTV|Digital TV]] USB 2.0 device, by [[Hauppauge]], featuring reception capabilities for [[ATSC USB Devices|ATSC, ATSC-M/H]] and [[DVB-T_USB_Devices|DVB-T]].<br />
<br />
It is supported under Linux; since kernel 3.2 for ATSC & DVB-T and kernel 3.5 for ATSC-M/H support.<br />
<br />
==Overview/Features==<br />
<br />
===Components Used===<br />
* [[MaxLinear MxL111SF]] SoC<br />
** tuner<br />
** DVB-T demodulator <br />
** USB 2.0 bridge<br />
*''LG DT3305 demodulator (D)''<br />
* ''LG LG2161 demodulator (D-m)''<br />
<br />
===Identification===<br />
Output of lsusb -v:<br />
</pre><br />
<br />
===Other Images===<br />
<gallery perrow=5><br />
Image:Hauppauge_ WinTV-Aero-m_box_and_contents.jpg|Box and contents<br />
Image:Hauppauge_ WinTV-Aero-m_remote.jpg|WinTV-Aero-m remote<br />
</gallery><br />
<br />
<br />
==Making it Work==<br />
<br />
===Firmware===<br />
No firmware is required for this device<br />
<br />
===Drivers===<br />
<br />
<br />
===Sample Kernel Output===<br />
Relevant dmesg output:<br />
<br />
[ 3874.201858] usb 1-4.1.2: new high-speed USB device number 15 using ehci_hcd<br />
[ 3874.288007] usb 1-4.1.2: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 3874.288011] usb 1-4.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 3874.288013] usb 1-4.1.2: Product: WinTV Aero-M<br />
[ 3874.288015] usb 1-4.1.2: Manufacturer: Hauppauge<br />
[ 3874.288016] usb 1-4.1.2: SerialNumber: 4034349227<br />
[ 3874.288293] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 3874.288324] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 3874.288325] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 3874.288326] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. <font color="#009000"><-- only for kernel 3.5 and up</font> <br />
[ 3874.288648] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
[ 3874.552658] DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3305 VSB/QAM Frontend)...<br />
[ 3874.570179] DVB: registering adapter 0 frontend 1 (MaxLinear MxL111SF DVB-T demodulator)...<br />
[ 3874.738637] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
[ 3874.741930] DVB: registering adapter 0 frontend 2 (LG Electronics LG2161 ATSC/MH Frontend)... <font color="#009000"><-- only for kernel 3.5 and up</font> <br />
[ 3874.742968] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 3874.766943] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 3874.766946] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 3874.766948] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 3874.766950] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 3874.766951] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 3874.766952] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
<br />
Note: the above output is with a kernel version 3.5, and all 3 frontends on the adapter are registered. The output above is <font color="#009000">annotated</font> to note the difference if you are using a pre version 3.5 kernel.<br />
<br />
===Remote Control Support===<br />
The remote has been successfully tested under Linux during driver development, however, said support is currently disabled, but will likely will be re-introduced in the near future.<br />
<br />
===User Experience===<br />
See the [[Talk:Hauppauge WinTV-Aero-m|article's discussion page]]<br />
<br />
==External Links==<br />
* [http://www.hauppauge.com/site/products/data_aero-m.html Hauppauge WinTV-Aero-m product page]<br />
<br />
[[Category:ATSC USB Devices]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hauppauge_WinTV-Aero-m&diff=31184Hauppauge WinTV-Aero-m2012-08-25T16:59:30Z<p>CityK: change dmesg output to that generated by kernel 3.5 and up and annotate</p>
<hr />
<div>A hybrid mulitple [[frontend]] (MFE) [[DTV|Digital TV]] USB 2.0 device, by [[Hauppauge]], featuring reception capabilities for [[ATSC USB Devices|ATSC, ATSC-M/H]] and [[DVB-T_USB_Devices|DVB-T]].<br />
<br />
It is supported under Linux; since kernel 3.2 for ATSC & DVB-T and kernel 3.5 for ATSC-M/H support.<br />
<br />
==Overview/Features==<br />
<br />
===Components Used===<br />
* [[MaxLinear MxL111SF]] SoC<br />
** tuner<br />
** DVB-T demodulator <br />
** USB 2.0 bridge<br />
*''LG DT3305 demodulator (D)''<br />
* ''LG LG2161 demodulator (D-m)''<br />
<br />
===Identification===<br />
Output of lsusb -v:<br />
</pre><br />
<br />
==Making it Work==<br />
<br />
===Firmware===<br />
No firmware is required for this device<br />
<br />
===Drivers===<br />
<br />
<br />
===Sample Kernel Output===<br />
Relevant dmesg output:<br />
[ 3874.201858] usb 1-4.1.2: new high-speed USB device number 15 using ehci_hcd<br />
[ 3874.288007] usb 1-4.1.2: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 3874.288011] usb 1-4.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 3874.288013] usb 1-4.1.2: Product: WinTV Aero-M<br />
[ 3874.288015] usb 1-4.1.2: Manufacturer: Hauppauge<br />
[ 3874.288016] usb 1-4.1.2: SerialNumber: 4034349227<br />
[ 3874.288293] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 3874.288324] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 3874.288325] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 3874.288326] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. <font color="#009000"><-- only for kernel 3.5 and up</font> <br />
[ 3874.288648] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
[ 3874.552658] DVB: registering adapter 0 frontend 0 (LG Electronics LGDT3305 VSB/QAM Frontend)...<br />
[ 3874.570179] DVB: registering adapter 0 frontend 1 (MaxLinear MxL111SF DVB-T demodulator)...<br />
[ 3874.738637] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
[ 3874.741930] DVB: registering adapter 0 frontend 2 (LG Electronics LG2161 ATSC/MH Frontend)... <font color="#009000"><-- only for kernel 3.5 and up</font> <br />
[ 3874.742968] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 3874.766943] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 3874.766946] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 3874.766948] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 3874.766950] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 3874.766951] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 3874.766952] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
<br />
<br />
Note: the above output is with a kernel version 3.5, and all 3 frontends on the adapter are registered. The output above is <font color="#009000">annotated</font> to note the difference if you are using a pre version 3.5 kernel.<br />
<br />
===Remote Control Support===<br />
The remote has been successfully tested under Linux during driver development, however, said support is currently disabled, but will likely will be re-introduced in the near future.<br />
<br />
===User Experience===<br />
See the [[Talk:Hauppauge WinTV-Aero-m|article's discussion page]]<br />
<br />
==External Links==<br />
* [http://www.hauppauge.com/site/products/data_aero-m.html Hauppauge WinTV-Aero-m product page]<br />
<br />
[[Category:ATSC USB Devices]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hauppauge_WinTV-Aero-m&diff=31183Hauppauge WinTV-Aero-m2012-08-25T16:12:16Z<p>CityK: /* Making it Work */ minor edits</p>
<hr />
<div>A hybrid mulitple [[frontend]] (MFE) [[DTV|Digital TV]] USB 2.0 device, by [[Hauppauge]], featuring reception capabilities for [[ATSC USB Devices|ATSC, ATSC-M/H]] and [[DVB-T_USB_Devices|DVB-T]].<br />
<br />
It is supported under Linux; since kernel 3.2 for ATSC & DVB-T and kernel 3.5 for ATSC-M/H support.<br />
<br />
==Overview/Features==<br />
<br />
===Components Used===<br />
* [[MaxLinear MxL111SF]] SoC<br />
** tuner<br />
** DVB-T demodulator <br />
** USB 2.0 bridge<br />
*''LG DT3305 demodulator (D)''<br />
* ''LG LG2161 demodulator (D-m)''<br />
<br />
===Identification===<br />
Output of lsusb -v:<br />
</pre><br />
<br />
==Making it Work==<br />
<br />
===Firmware===<br />
No firmware is required for this device<br />
<br />
===Drivers===<br />
<br />
<br />
===Sample Kernel Output===<br />
Relevant dmesg output:<br />
<pre>[ 12.857506] usb 1-2.1.2: new high-speed USB device number 7 using ehci_hcd<br />
[ 12.944095] usb 1-2.1.2: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 12.944105] usb 1-2.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 12.944112] usb 1-2.1.2: Product: WinTV Aero-M<br />
[ 12.944117] usb 1-2.1.2: Manufacturer: Hauppauge<br />
[ 12.944122] usb 1-2.1.2: SerialNumber: 4034349227<br />
[ 12.954361] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 12.954397] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 12.954399] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 12.954898] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
[ 13.213153] DVB: registering adapter 1 frontend 0 (LG Electronics LGDT3305 VSB/QAM Frontend)...<br />
[ 13.234624] DVB: registering adapter 1 frontend 1 (MaxLinear MxL111SF DVB-T demodulator)...<br />
[ 13.235245] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 13.236864] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
[ 13.258084] tveeprom 6-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 13.258088] tveeprom 6-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 13.258090] tveeprom 6-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 13.258092] tveeprom 6-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 13.258093] tveeprom 6-0050: audio processor is None (idx 0)<br />
[ 13.258095] tveeprom 6-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 13.258261] usbcore: registered new interface driver dvb_usb_mxl111sf<br />
</pre><br />
<br />
Note: the above output is with a kernel version 3.4, so the ATSC-M/H support is not included<br />
<br />
===Remote Control Support===<br />
The remote has been successfully tested under Linux during driver development, however, said support is currently disabled, but will likely will be re-introduced in the near future.<br />
<br />
===User Experience===<br />
See the [[Talk:Hauppauge WinTV-Aero-m|article's discussion page]]<br />
<br />
==External Links==<br />
* [http://www.hauppauge.com/site/products/data_aero-m.html Hauppauge WinTV-Aero-m product page]<br />
<br />
[[Category:ATSC USB Devices]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Talk:Hauppauge_WinTV-Aero-m&diff=31182Talk:Hauppauge WinTV-Aero-m2012-08-25T16:02:23Z<p>CityK: not working</p>
<hr />
<div>And here is what dmesg gives you when its not detecting the LG DT3305:<br />
<pre>[ 2.385654] usb 1-4.3: new high-speed USB device number 5 using ehci_hcd<br />
[ 2.471694] usb 1-4.3: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 2.471696] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 2.471697] usb 1-4.3: Product: WinTV Aero-M<br />
[ 2.471698] usb 1-4.3: Manufacturer: Hauppauge<br />
[ 2.471699] usb 1-4.3: SerialNumber: 4034349227<br />
[ 5.928662] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 5.928694] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928695] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.928696] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 5.930549] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
[ 6.150608] lgdt3305_read_reg: error (addr 59 reg 0001 error (ret == -121)<br />
[ 6.150613] lgdt3305_attach: error -121 on line 1144<br />
[ 6.150614] lgdt3305_attach: unable to detect LGDT3305 hardware<br />
[ 6.150620] dvb-usb: no frontend was attached by 'Hauppauge WinTV-Aero-M'<br />
[ 6.150893] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 6.151369] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
[ 6.173309] tveeprom 14-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 6.173313] tveeprom 14-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 6.173314] tveeprom 14-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 6.173316] tveeprom 14-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 6.173317] tveeprom 14-0050: audio processor is None (idx 0)<br />
[ 6.173318] tveeprom 14-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 6.173755] usbcore: registered new interface driver dvb_usb_mxl111sf<br />
</pre><br />
Note: that is under kernel version 3.5</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hauppauge_WinTV-Aero-m&diff=31181Hauppauge WinTV-Aero-m2012-08-25T15:44:20Z<p>CityK: /* Sample Kernel Output */ add dmesg output</p>
<hr />
<div>A hybrid mulitple [[frontend]] (MFE) [[DTV|Digital TV]] USB 2.0 device, by [[Hauppauge]], featuring reception capabilities for [[ATSC USB Devices|ATSC, ATSC-M/H]] and [[DVB-T_USB_Devices|DVB-T]].<br />
<br />
It is supported under Linux; since kernel 3.2 for ATSC & DVB-T and kernel 3.5 for ATSC-M/H support.<br />
<br />
==Overview/Features==<br />
<br />
===Components Used===<br />
* [[MaxLinear MxL111SF]] SoC<br />
** tuner<br />
** DVB-T demodulator <br />
** USB 2.0 bridge<br />
*''LG DT3305 demodulator (D)''<br />
* ''LG LG2161 demodulator (D-m)''<br />
<br />
===Identification===<br />
Output of lsusb -v:<br />
</pre><br />
<br />
==Making it Work==<br />
<br />
===Firmware===<br />
No firmware is required for this device<br />
<br />
===Drivers===<br />
<br />
<br />
===Sample Kernel Output===<br />
Relevant dmesg output:<br />
<pre>[ 12.857506] usb 1-2.1.2: new high-speed USB device number 7 using ehci_hcd<br />
[ 12.944095] usb 1-2.1.2: New USB device found, idVendor=2040, idProduct=c61b<br />
[ 12.944105] usb 1-2.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3<br />
[ 12.944112] usb 1-2.1.2: Product: WinTV Aero-M<br />
[ 12.944117] usb 1-2.1.2: Manufacturer: Hauppauge<br />
[ 12.944122] usb 1-2.1.2: SerialNumber: 4034349227<br />
[ 12.954361] dvb-usb: found a 'Hauppauge WinTV-Aero-M' in warm state.<br />
[ 12.954397] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 12.954399] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.<br />
[ 12.954898] DVB: registering new adapter (Hauppauge WinTV-Aero-M)<br />
[ 13.213153] DVB: registering adapter 1 frontend 0 (LG Electronics LGDT3305 VSB/QAM Frontend)...<br />
[ 13.234624] DVB: registering adapter 1 frontend 1 (MaxLinear MxL111SF DVB-T demodulator)...<br />
[ 13.235245] dvb-usb: Hauppauge WinTV-Aero-M successfully initialized and connected.<br />
[ 13.236864] mxl111sf: MxL111SF detected, v8_200 (0x18)<br />
[ 13.258084] tveeprom 6-0050: Hauppauge model 126001, rev F1G4, serial# 7817387<br />
[ 13.258088] tveeprom 6-0050: MAC address is 00:0d:fe:77:48:ab<br />
[ 13.258090] tveeprom 6-0050: tuner model is MaxLinear 111 (idx 164, type 4)<br />
[ 13.258092] tveeprom 6-0050: TV standards ATSC/DVB Digital (eeprom 0x80)<br />
[ 13.258093] tveeprom 6-0050: audio processor is None (idx 0)<br />
[ 13.258095] tveeprom 6-0050: has no radio, has IR receiver, has no IR transmitter<br />
[ 13.258261] usbcore: registered new interface driver dvb_usb_mxl111sf<br />
</pre><br />
<br />
Note: the above output is with a kernel version 3.4, so the ATSC-M/H support is not included<br />
<br />
==External Links==<br />
* [http://www.hauppauge.com/site/products/data_aero-m.html Hauppauge WinTV-Aero-m product page]<br />
<br />
[[Category:ATSC USB Devices]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hauppauge_WinTV-Aero-m&diff=31177Hauppauge WinTV-Aero-m2012-08-25T01:45:44Z<p>CityK: minor edits</p>
<hr />
<div>A hybrid mulitple [[frontend]] (MFE) [[DTV|Digital TV]] USB 2.0 device, by [[Hauppauge]], featuring reception capabilities for [[ATSC USB Devices|ATSC, ATSC-M/H]] and [[DVB-T_USB_Devices|DVB-T]].<br />
<br />
It is supported under Linux; since kernel 3.2 for ATSC & DVB-T and kernel 3.5 for ATSC-M/H support.<br />
<br />
==Overview/Features==<br />
<br />
===Components Used===<br />
* [[MaxLinear MxL111SF]] SoC<br />
** tuner<br />
** DVB-T demodulator <br />
** USB 2.0 bridge<br />
*''LG DT3305 demodulator (D)''<br />
* ''LG LG2161 demodulator (D-m)''<br />
<br />
===Identification===<br />
Output of lsusb -v:<br />
</pre><br />
<br />
==Making it Work==<br />
<br />
===Firmware===<br />
No firmware is required for this device<br />
<br />
===Drivers===<br />
<br />
<br />
===Sample Kernel Output===<br />
dmesg output:<br />
<pre><br />
</pre><br />
<br />
==External Links==<br />
* [http://www.hauppauge.com/site/products/data_aero-m.html Hauppauge WinTV-Aero-m product page]<br />
<br />
[[Category:ATSC USB Devices]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hauppauge_WinTV-HVR-850&diff=31176Hauppauge WinTV-HVR-8502012-08-25T01:44:17Z<p>CityK: bullet pt</p>
<hr />
<div>A hybrid [[ATSC]] [[ATSC USB Devices|USB 2.0 device]] by [[Hauppauge]].<br />
<br />
{{Note|There are three significantly different devices being sold under the same "HVR-850" brand name. All three versions are supported, but the newest version (USB ID 2040:b140) requires kernel 2.6.37.}}<br />
<br />
==Overview/Features==<br />
There are three versions of this device.<br />
* The first is essentially the older [[Hauppauge WinTV-HVR-950|WinTV-HVR-950]] model. Running lsusb -v will show the manufacturer:device code of 2040:651f.<br />
* The second version is essentially a [[Hauppauge WinTV-HVR-950Q|WinTV-HVR-950Q]]. Running lsusb -v will show the manufacturer:device code of 2040:7240.<br />
* The third version is unique, though it shares a tuner chip with the [[Hauppauge WinTV-HVR-1950|WinTV-HVR-1950]]. Running lsusb -v will show the manufacturer:device code of 2040:b140.<br />
<br />
'''Note: The following information currently outlines only that pertaining to the second version (i.e. the 950Q analog).'''<br />
<br />
Evidently, this device does not like USB 1.1 slots (see the [[Talk:Hauppauge_WinTV-HVR-850|discussion page]]).<br />
<br />
===Components Used===<br />
* [[Xceive]] [[Xceive XC5000|XC5000]] (tuner and analog demodulator)<br />
* [[Auvitek International Ltd.|Auvitek]] AU8522 (A/V decoder, analog demodulator [not used], and digital demodulator) <br />
* [[Auvitek International Ltd.|Auvitek]] AU0828 (USB bridge)<br />
<br />
===Identification===<br />
Output of lsusb -v:<br />
<pre><br />
Bus 001 Device 002: ID 2040:7240 Hauppauge<br />
Device Descriptor:<br />
bLength 18<br />
bDescriptorType 1<br />
bcdUSB 2.00<br />
bDeviceClass 0 (Defined at Interface level)<br />
bDeviceSubClass 0<br />
bDeviceProtocol 0<br />
bMaxPacketSize0 64<br />
idVendor 0x2040 Hauppauge<br />
idProduct 0x7240<br />
bcdDevice 0.05<br />
iManufacturer 1<br />
iProduct 2<br />
iSerial 10<br />
bNumConfigurations 1<br />
Configuration Descriptor:<br />
bLength 9<br />
bDescriptorType 2<br />
wTotalLength 198<br />
bNumInterfaces 4<br />
bConfigurationValue 1<br />
iConfiguration 0<br />
bmAttributes 0x80<br />
(Bus Powered)<br />
MaxPower 500mA<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 0<br />
bNumEndpoints 2<br />
bInterfaceClass 255 Vendor Specific Class<br />
bInterfaceSubClass 255 Vendor Specific Subclass<br />
bInterfaceProtocol 255 Vendor Specific Protocol<br />
iInterface 0 <br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x81 EP 1 IN<br />
bmAttributes 3<br />
Transfer Type Interrupt<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x0000 1x 0 bytes<br />
bInterval 16<br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x82 EP 2 IN<br />
bmAttributes 1<br />
Transfer Type Isochronous<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x0000 1x 0 bytes<br />
bInterval 1<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 1<br />
bNumEndpoints 2<br />
bInterfaceClass 255 Vendor Specific Class<br />
bInterfaceSubClass 255 Vendor Specific Subclass<br />
bInterfaceProtocol 255 Vendor Specific Protocol<br />
iInterface 0 <br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x81 EP 1 IN<br />
bmAttributes 3<br />
Transfer Type Interrupt<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x0002 1x 2 bytes<br />
bInterval 16<br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x82 EP 2 IN<br />
bmAttributes 1<br />
Transfer Type Isochronous<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x0300 1x 768 bytes<br />
bInterval 1<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 0<br />
bAlternateSetting 2<br />
bNumEndpoints 2<br />
bInterfaceClass 255 Vendor Specific Class<br />
bInterfaceSubClass 255 Vendor Specific Subclass<br />
bInterfaceProtocol 255 Vendor Specific Protocol<br />
iInterface 0 <br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x81 EP 1 IN<br />
bmAttributes 3<br />
Transfer Type Interrupt<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x0002 1x 2 bytes<br />
bInterval 16<br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x82 EP 2 IN<br />
bmAttributes 1<br />
Transfer Type Isochronous<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x03fc 1x 1020 bytes<br />
bInterval 1<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 1<br />
bAlternateSetting 0<br />
bNumEndpoints 0<br />
bInterfaceClass 1 Audio<br />
bInterfaceSubClass 1 Control Device<br />
bInterfaceProtocol 0 <br />
iInterface 11 <br />
AudioControl Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 36<br />
bDescriptorSubtype 1 (HEADER)<br />
bcdADC 1.00<br />
wTotalLength 38<br />
bInCollection 1<br />
baInterfaceNr( 0) 2<br />
AudioControl Interface Descriptor:<br />
bLength 12<br />
bDescriptorType 36<br />
bDescriptorSubtype 2 (INPUT_TERMINAL)<br />
bTerminalID 1<br />
wTerminalType 0x0602 Digital Audio Interface<br />
bAssocTerminal 0<br />
bNrChannels 2<br />
wChannelConfig 0x0003<br />
Left Front (L)<br />
Right Front (R)<br />
iChannelNames 0 <br />
iTerminal 0 <br />
AudioControl Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 36<br />
bDescriptorSubtype 3 (OUTPUT_TERMINAL)<br />
bTerminalID 2<br />
wTerminalType 0x0101 USB Streaming<br />
bAssocTerminal 0<br />
bSourceID 3<br />
iTerminal 0 <br />
AudioControl Interface Descriptor:<br />
bLength 8<br />
bDescriptorType 36<br />
bDescriptorSubtype 6 (FEATURE_UNIT)<br />
bUnitID 3<br />
bSourceID 1<br />
bControlSize 1<br />
bmaControls( 0) 0x01<br />
Mute<br />
iFeature 0 <br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 2<br />
bAlternateSetting 0<br />
bNumEndpoints 1<br />
bInterfaceClass 1 Audio<br />
bInterfaceSubClass 2 Streaming<br />
bInterfaceProtocol 0 <br />
iInterface 11 <br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x84 EP 4 IN<br />
bmAttributes 5<br />
Transfer Type Isochronous<br />
Synch Type Asynchronous<br />
Usage Type Data<br />
wMaxPacketSize 0x0000 1x 0 bytes<br />
bInterval 1<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 2<br />
bAlternateSetting 1<br />
bNumEndpoints 1<br />
bInterfaceClass 1 Audio<br />
bInterfaceSubClass 2 Streaming<br />
bInterfaceProtocol 0 <br />
iInterface 11 <br />
AudioStreaming Interface Descriptor:<br />
bLength 7<br />
bDescriptorType 36<br />
bDescriptorSubtype 1 (AS_GENERAL)<br />
bTerminalLink 2<br />
bDelay 1 frames<br />
wFormatTag 1 PCM<br />
AudioStreaming Interface Descriptor:<br />
bLength 11<br />
bDescriptorType 36<br />
bDescriptorSubtype 2 (FORMAT_TYPE)<br />
bFormatType 1 (FORMAT_TYPE_I)<br />
bNrChannels 2<br />
bSubframeSize 2<br />
bBitResolution 16<br />
bSamFreqType 1 Discrete<br />
tSamFreq[ 0] 48000<br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x84 EP 4 IN<br />
bmAttributes 5<br />
Transfer Type Isochronous<br />
Synch Type Asynchronous<br />
Usage Type Data<br />
wMaxPacketSize 0x0100 1x 256 bytes<br />
bInterval 1<br />
AudioControl Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 37<br />
bDescriptorSubtype 1 (EP_GENERAL)<br />
bmAttributes 0x00<br />
bLockDelayUnits 0 Undefined<br />
wLockDelay 0 Undefined<br />
Interface Descriptor:<br />
bLength 9<br />
bDescriptorType 4<br />
bInterfaceNumber 3<br />
bAlternateSetting 0<br />
bNumEndpoints 1<br />
bInterfaceClass 255 Vendor Specific Class<br />
bInterfaceSubClass 255 Vendor Specific Subclass<br />
bInterfaceProtocol 255 Vendor Specific Protocol<br />
iInterface 0 <br />
Endpoint Descriptor:<br />
bLength 7<br />
bDescriptorType 5<br />
bEndpointAddress 0x83 EP 3 IN<br />
bmAttributes 2<br />
Transfer Type Bulk<br />
Synch Type None<br />
Usage Type Data<br />
wMaxPacketSize 0x0040 1x 64 bytes<br />
bInterval 0<br />
Device Qualifier (for other device speed):<br />
bLength 10<br />
bDescriptorType 6<br />
bcdUSB 2.00<br />
bDeviceClass 0 (Defined at Interface level)<br />
bDeviceSubClass 0 <br />
bDeviceProtocol 0 <br />
bMaxPacketSize0 64<br />
bNumConfigurations 1<br />
Device Status: 0x0000<br />
(Bus Powered)<br />
</pre><br />
<br />
==Making it Work==<br />
<br />
===Firmware===<br />
In order to use the LinuxTV driver, you need to download and install the firmware for the xc5000. <br />
<br />
wget http://www.steventoth.net/linux/xc5000/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip<br />
wget http://www.steventoth.net/linux/xc5000/extract.sh<br />
sh extract.sh<br />
cp dvb-fe-xc5000-1.1.fw /lib/firmware<br />
<br />
Note: Though the usual directory location in which the firmware file is placed is /lib/firmware, this may differ in the case of some distros; consult your distro's documentation for the appropriate location.<br />
<br />
===Drivers===<br />
<br />
The xc5000 driver needed for this WinTV-HVR-850 is already part of the latest Linux kernel (part of v4l-dvb drivers).<br />
<br />
Analog support was merged into the mainline v4l-dvb tree on March 18, 2009. <br />
<br />
===Sample Kernel Output===<br />
dmesg output:<br />
<pre><br />
usb 4-3: new high speed USB device using ehci_hcd and address 2<br />
usb 4-3: configuration #1 chosen from 1 choice<br />
...<br />
au0828: i2c bus registered<br />
tveeprom 2-0050: Hauppauge model 72301, rev B3F0, serial# 4752928<br />
tveeprom 2-0050: MAC address is 00-0D-FE-48-86-20<br />
tveeprom 2-0050: tuner model is Xceive XC5000 (idx 150, type 4)<br />
tveeprom 2-0050: TV standards NTSC(M) ATSC/DVB Digital (eeprom 0x88)<br />
tveeprom 2-0050: audio processor is AU8522 (idx 44)<br />
tveeprom 2-0050: decoder processor is AU8522 (idx 42)<br />
tveeprom 2-0050: has no radio, has IR receiver, has no IR transmitter<br />
hauppauge_eeprom: hauppauge eeprom: model=72301<br />
xc5000 2-0061: creating new instance<br />
xc5000: Successfully identified at address 0x61<br />
xc5000: Firmware has not been loaded previously<br />
DVB: registering new adapter (au0828)<br />
DVB: registering adapter 1 frontend 0 (Auvitek AU8522 QAM/8VSB Frontend)...<br />
Registered device AU0828 [Hauppauge HVR850]<br />
usb 4-3: New USB device found, idVendor=2040, idProduct=7240<br />
usb 4-3: New USB device strings: Mfr=1, Product=2, SerialNumber=10<br />
usb 4-3: Product: WinTV HVR-850<br />
usb 4-3: Manufacturer: Hauppauge<br />
usb 4-3: SerialNumber: 4031284768<br />
</pre><br />
<br />
==External Links==<br />
* [http://www.hauppauge.com/site/products/data_hvr850.html Hauppauge HVR-850 product page]<br />
<br />
[[Category:ATSC USB Devices]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Hauppauge_WinTV-Aero-m&diff=31175Hauppauge WinTV-Aero-m2012-08-25T01:43:03Z<p>CityK: create initial skeleton page for device</p>
<hr />
<div>A hybrid mulitple [[frontend]] (MFE) [[DTV|Digital TV]] USB 2.0 device, by [[Hauppauge]], featuring reception capabilities for [[ATSC USB Devices|ATSC & ATSC-M/H]] and [[DVB-T_USB_Devices|DVB-T]].<br />
<br />
It is supported under Linux; since kernel 3.2 for ATSC & DVB-T and kernel 3.5 for ATSC-M/H support.<br />
<br />
==Overview/Features==<br />
<br />
===Components Used===<br />
* [[MaxLinear MxL111SF]] SoC<br />
** tuner<br />
** DVB-T demodulator <br />
** USB 2.0 bridge<br />
*''LG DT3305 demodulator (D)''<br />
* ''LG LG2161 demodulator (D-m)''<br />
<br />
===Identification===<br />
Output of lsusb -v:<br />
</pre><br />
<br />
==Making it Work==<br />
<br />
===Firmware===<br />
No firmware is required for this device<br />
<br />
===Drivers===<br />
<br />
<br />
===Sample Kernel Output===<br />
dmesg output:<br />
<pre><br />
</pre><br />
<br />
==External Links==<br />
[http://www.hauppauge.com/site/products/data_aero-m.html Hauppauge WinTV-Aero-m product page]<br />
<br />
[[Category:ATSC USB Devices]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=ATSC_USB_devices&diff=31174ATSC USB devices2012-08-25T01:28:52Z<p>CityK: /* Supported ATSC USB Devices */ edit Aero entry</p>
<hr />
<div>On this page you will find information regarding [[ATSC]] [[USB]] devices.<br />
<br />
{{non-exhaustive list}}<br />
<br><br />
<br />
__TOC__<br />
<br><br />
==Supported ATSC USB Devices==<br />
The following table lists the confirmed working ATSC USB devices and provides a brief summary of their features and components. If you need more technical information on a device, have a look at its specific wiki article.<br />
<br><br />
<br />
If you are experiencing problems with USB devices, it may not be the fault of the tuner. The chipsets used on some computer motherboards can have problems with USB ports which results in tuners working or partially working or not working at all. This can be solved by using a separate USB adapter with a reliable chipset.<br />
<br><br />
<br />
{| class="wikitable sortable" <br />
|+'''Sortable List of Supported ATSC USB Adapters'''<br />
|- align="left" <br />
! '''Vendor & Model''' !! Added to<br>Kernel !! - align="left" | '''Frontend''' !! '''Bridge <br>Interface''' !! '''8VSB''' !! '''QAM''' !! '''NTSC''' !! class="unsortable" - align="left" | '''Other Features'''<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[ATI/AMD]] <BR> [[ATI/AMD TV Wonder HD 600 USB|TV Wonder HD 600 USB]]'''<br />
| 2.6.27<br />
| align="left"| <br />
*''XC3028L tuner''<br />
*''LG DT3303 demodulator (D)''<br />
| Empia EM2883 <br />
| {{yes}}<br />
| {{no}}<br />
| {{yes}}<br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | ''' [[AVerMedia]] <BR> [[AVerMedia AVerTVHD Volar (A868R)|AVerTVHD Volar (A868R)]]'''<br />
| 2.6.27 [http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f5376adacc693155c24e4e7be3777bdd0eeb99f7]<br />
| align="left"| <br />
*''MXL5003S tuner'' <br />
*''LG DT3303 demodulator''<br />
| Cypress FX2LP <BR> (CY7C68013A) <br />
| {{yes}}<br />
| {{no}}<br />
| {{no}}<br />
| align="left" valign="top" |<br />
*<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[DViCO]] <BR> [[DViCO FusionHDTV5 USB Gold|FusionHDTV5 USB Gold]] <BR> [[DViCO FusionHDTV5 USB Master|FusionHDTV5 USB Master]]'''<br />
| 2.6.16 <br />
| align="left"| LG Innotek TDVS-H064F <br />
*''TAU6034 tuner''<br />
*''TDA9887 demodulator (A)'' <br />
*''LG DT3303 demodulator (D)''<br />
| Cypress FX2LP <BR> (CY7C68013A) <br />
| {{yes}} <br />
| {{yes}} <br />
| {{no}}<sup id="fn_1_back">[[#fn_1|1]]</sup> <br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <sup id="fn_1_back">[[#fn_1|1]]</sup> <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[DViCO]] <BR> [[DViCO FusionHDTV7 USB|FusionHDTV7 USB]]'''<br />
| 2.6.26 <br />
| align="left"| <br />
*''XC5000 tuner''<br />
*''[[Auvitek International Ltd.|Auvitek]]AU8522 demodulator (A/D)''<br />
| [[Auvitek International Ltd.|Auvitek]] AU0828<br />
| {{yes}} <br />
| {{yes}} <br />
| {{no}}<sup id="fn_1_back">[[#fn_1|1]]</sup> <br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <sup id="fn_1_back">[[#fn_1|1]]</sup> <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Elgato]] <BR> [[Elgato EyeTV Hybrid US|EyeTV Hybrid US]]'''<br />
| 2.6.26 <br />
| align="left"| <br />
*''XC3028 tuner''<br />
*''LG DT3303 demodulator (D)''<br />
| Empia EM2883 <br />
| {{yes}} <br />
| {{no}} <br />
| {{yes}}<br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''EVGA <BR> [[EVGA inDtube]]'''<br />
| 2.6.31<br />
| align="left"| <br />
*''XC3028L tuner''<br />
*''S5H1409 (D)''<br />
| Empia EM2882 <br />
| {{yes}} <br />
| {{no}} <br />
| {{yes}}<br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Hauppauge]]''' <BR> '''[[Hauppauge WinTV-Aero-m|WinTV-Aero-m]]''' <br> <br />
| 3.1 [http://www.kernellabs.com/blog/?p=1647]<br />
| align="left"| <br />
* [[MaxLinear MxL111SF]] SoC<br />
** tuner<br />
** DVB-T demodulator <br />
*''LG DT3305 demodulator (D)''<br />
* ''LG LG2161 demodulator (D-m)''<br />
| [[MaxLinear MxL111SF]] SoC<br />
| {{yes}} <br />
| {{yes}}<br />
| {{no}} <br />
| align="left" valign="top" |<br />
* also supports ATSC-M/H !<br />
* also supports DVB-T ! <br />
<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Hauppauge]]''' <BR> '''[[Hauppauge WinTV-HVR-850|WinTV-HVR-850]]''' <br> (2040:651f)<br />
| 2.6.29<br />
| align="left"| <br />
*''XC3028 tuner<br />
*''LG DT3303 demodulator (D)''<br />
| Empia EM2883<br />
| {{yes}} <br />
| {{no}}<br />
| {{yes}} <br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Hauppauge]] '''<BR> '''[[Hauppauge WinTV-HVR-850|WinTV-HVR-850]]''' <br> (model 72301, 2040:7240)<br />
| 2.6.32 <br />
| align="left"| <br />
*''XC5000 tuner''<br />
*''[[Auvitek International Ltd.|Auvitek]] AU8522 demodulator (A/D)''<br />
| [[Auvitek International Ltd.|Auvitek]] AU0828 <br />
| {{yes}} <br />
| {{yes}} <br />
| {{yes}} <br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Hauppauge]] '''<BR> '''[[Hauppauge WinTV-HVR-850|WinTV-HVR-850]]''' <br> (model 01200, 2040:b140)<br />
| 2.6.37<br />
| align="left"| <br />
*''TDA18271 tuner''<br />
*''LG LGDT3305''<br />
| Conexant cx23102<br />
| {{yes}} <br />
| {{yes}} <br />
| {{yes}} <br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Hauppauge]] <BR> [[Hauppauge WinTV-HVR-950|WinTV-HVR-950]]'''<br />
| 2.6.26 <br />
| align="left"| <br />
*''XC3028 tuner''<br />
*''LG DT3303 demodulator (D)''<br />
| Empia EM2883 <br />
| {{yes}} <br />
| {{no}} <br />
| {{yes}}<br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Hauppauge]] <BR> [[Hauppauge WinTV-HVR-950Q|WinTV-HVR-950Q]]'''<br />
| 2.6.26 <br />
| align="left"| <br />
*''XC5000 tuner''<br />
*''[[Auvitek International Ltd.|Auvitek]] AU8522 demodulator (A/D)''<br />
| [[Auvitek International Ltd.|Auvitek]] AU0828<br />
| {{yes}} <br />
| {{yes}} <br />
| {{yes}} <br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Hauppauge]] <BR> [[Hauppauge WinTV-HVR-1950|WinTV-HVR-1950]]'''<br />
| 2.6.26 <br />
| align="left"| <br />
*''TDA18271 tuner''<br />
*''TDA8295 demodulator (A)'' <br />
*''S5H1411 demodulator (D)''<br />
| Cypress FX2LP <BR> (CY7C68013A) <br />
| {{yes}} <br />
| {{yes}} <br />
| {{yes}} <br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <br />
* hardware analog mpeg2 encoder<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[KWorld]] <BR> [[KWorld ATSC 315U|ATSC 315U]]'''<br><br />
(eb1a:a313)<br />
| 2.6.31<br />
| align="left"| Thomson DTT 7611A tuner module<br />
* ''? tuner''<br />
* ''? analog demod'' <br />
*''LG LGDT3303 (digital demod)'' <br />
<br />
| Empia EM2882 (USB bridge) <br />
| {{yes}}<br />
| {{no}}<br />
| ? <br />
| align="left" valign="top" |<br />
* aka KWorld PlusTV HD USB-315<br />
* analog not fully tested?<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[KWorld]] <BR> [[KWorld ATSC 330U|ATSC 330U]]'''<br><br />
(eb1a:a316)<br />
| 2.6.27<br />
| align="left"| <br />
*''Xceive XC3028 (tuner & analog demod)''<br />
*''Samsung S5H1409 (digital demod)'' <br />
<br />
| Empia EM2883 (USB bridge) <br />
| {{yes}}<br />
| {{no}}<br />
| ? <br />
| align="left" valign="top" |<br />
* aka KWorld PlusTV HD Hybrid Stick 330<br />
* analog not fully tested?<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[KWorld]] <BR> [[KWorld ATSC 340U|ATSC 340U]]'''<br><br />
(1b80:a340)<br />
| 2.6.36<br />
| align="left"| <br />
*''NXP TDA18271HD/C1 tuner''<br />
*''LG LGDT3304 demodulator (D)'' <br />
<br />
| Empia EM2870 <br />
| {{yes}} <br />
| {{yes}} <br />
| ? <br />
| align="left" valign="top" |<br />
* is identical to the newer [[KWorld_UB435-Q_USB_ATSC_TV_Stick|UB435-Q USB ATSC TV Stick]], save for using the oler /C1 tuner rev.<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[KWorld]] <BR> [[KWorld_UB435-Q_USB_ATSC_TV_Stick|UB435-Q USB ATSC TV Stick]]'''<br><br />
(1b80:a340)<br />
| 2.6.36<br />
| align="left"| <br />
*''NXP TDA18271HD/C2 tuner''<br />
*''LG LGDT3304 demodulator (D)'' <br />
<br />
| Empia EM2870 <br />
| {{yes}} <br />
| {{yes}} <br />
| ? <br />
| align="left" valign="top" |<br />
* is identical to the older [[KWorld ATSC 340U|ATSC 340U]], save for using the newer /C2 tuner rev.<br />
* '''Caution''': another model variant (1b80:e346] of the UB435-Q exists but is currently unsupported (see device page) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[OnAir|OnAir/Sasem]] <BR> [[OnAir USB HDTV|USB HDTV]]'''<br />
| 2.6.26 <br />
| align="left"| <br />
*''FCV1236D tuner''<br />
*''LG DT3302 demodulator (D)''<br />
| Cypress FX2LP <BR> (CY7C68013A) <br />
| {{yes}} <br />
| {{yes}} <br />
| {{yes}} <br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <br />
* hardware analog mpeg2 encoder<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[OnAir]] <BR> [[OnAir USB HDTV Creator|USB HDTV Creator]]'''<br />
| 2.6.26 <br />
| align="left"| LG Innotek TDVS-H064F <br />
*''TAU6034 tuner''<br />
*''TDA9887 demodulator (A)'' <br />
*''LG DT3303 demodulator (D)''<br />
| Cypress FX2LP <BR> (CY7C68013A) <br />
| {{yes}} <br />
| {{yes}}<br />
| {{yes}} <br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <br />
* hardware analog mpeg2 encoder<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Pinnacle]] <BR>[[Pinnacle PCTV HD Stick (801eSE)|PCTV HD Stick (801eSE)]]'''<br />
| 2.6.28<br />
| align="left"| <br />
*''XC5000 tuner''<br />
*''Samsung S5H1411 (D)''<br />
| Dibcom DIB0700 <br />
| {{yes}} <br />
| {{yes}} <br />
| {{no}}<sup id="fn_1_back">[[#fn_1|1]]</sup><br />
| align="left" valign="top" |<br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Pinnacle]] <BR> [[Pinnacle PCTV HD Pro Stick (800e)|PCTV HD Pro Stick (800e)]]'''<br />
| 2.6.27 <br />
| align="left"| <br />
*''XC3028 tuner''<br />
*''LG DT3303 demodulator (D)''<br />
| Empia EM2883 <br />
| {{yes}} <br />
| {{no}} <br />
| {{yes}}<br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <BR> (breakout dongle) <br />
<br />
|- align="center"<br />
| align="left" valign="top" | '''[[Pinnacle]] <BR> [[Pinnacle PCTV HD Pro Stick (801e)|PCTV HD Pro Stick (801e)]]'''<br />
| 2.6.28<br />
| align="left"| <br />
*''XC5000 tuner''<br />
*''Samsung S5H1411 (D)''<br />
| Dibcom DIB0700 <br />
| {{yes}} <br />
| {{yes}} <br />
| {{no}}<sup id="fn_1_back">[[#fn_1|1]]</sup><br />
| align="left" valign="top" |<br />
* S-Video & Composite inputs <sup id="fn_1_back">[[#fn_1|1]]</sup> <BR> (breakout dongle)<br />
<br />
|}<br />
<br />
*<cite id="fn_1">[[#fn_1_back|Note 1:]] </cite> Hardware should allow it, but the driver has no analog support.<br><br />
<br />
===Experimental Support===<br />
{{Note|Do not let the "experimental" tag scare you, as the level of device functionality may actually be quite high. After additional testing and/or feature work, the drivers for these devices may eventually make their way into the main V4L-DVB development repository and become candidates for inclusion into the Linux kernel.}}<br />
<br />
Experimental support for the following devices can be found:<br />
* [[DViCO]] [[DViCO FusionHDTV5 USB nano|FusionHDTV5 USB nano]] ... available in Korea only?<br />
* [[Pinnacle]] [[Pinnacle PCTV HD Mini Stick (80e)|PCTV HD Mini Stick (80e)]]<br />
* [[Sabrent]] [[Sabrent TV-USBHD|TV-USBHD]] .... [http://marc.info/?l=linux-dvb&m=122781416815646&w=2 see here] and [http://www.mail-archive.com/linux-media@vger.kernel.org/msg07239.html here]<br />
* [[Shenzhen Forward Video]] [[Shenzhen Forward Video AnyTV-ATSC Stick|AnyTV-ATSC Stick]] (AUTV002) [http://marc.info/?l=linux-dvb&m=122781416815646&w=2 see here] ... you currently can easily find them on listed ebay <br />
** Note: Shenzhen lists two models, AUTV001 & AUTV002. Visually, they appear to be the same, though they could differ .... Also based upon appearance, they resemble the LifeView TV Walker series, however, the AUTV002, at the very least, seems to lack the telltale signs of being a LifeView OEM [http://marc.info/?l=linux-dvb&m=122748897727068&w=2]<br />
<br />
==Currently Unsupported ATSC USB Devices==<br />
{{help to support}}<br />
<br />
* [[ADS Tech]] [[ADS Tech Mini HDTV USB (PTV-384-EF)|Mini HDTV USB (PTV-384-EF)]]<br />
* [[Aeromax]] [[Aeromax UAH3001 USB 2.0 ATSC Hybrid Receiver|UAH3001 USB 2.0 ATSC Hybrid Receiver]] ... you'll see them on ebay<br />
* [[AITech]] [[AITech HDTV USB 2.0|HDTV USB 2.0]] <br />
* [[Anysee]] [[Anysee K30|K30]] ... available in Korea only?<br />
* [[Anysee]] [[Anysee K50|K50]] ... available in Korea only? (highly similar to the [[DViCO FusionHDTV5 USB Gold]])<br />
* [[Artec]] [[Artec T14A|T14A]]<br />
* [[ASUS]] [[ASUS My Cinema U3100Mini USB ATSC]]<br />
* [[ATI/AMD]] [[ATI/AMD TV Wonder Digital Cable Tuner|TV Wonder Digital Cable Tuner]] ... will likely never be supported (i.e cablecard)<br />
* [[ATI/AMD]] [[ATI/AMD TV Wonder 650 Combo USB|TV Wonder 650 Combo USB]]<br />
** VisionTek TV Wonder 650 Combo USB & VisionTek TV Wonder 650 Combo USB for Mac<br />
* [[AVerMedia]] [[AVerMedia AverTV Hybrid Ultra USB (AP6R)|AverTV Hybrid Ultra USB (AP6R)]]<br />
* [[AVerMedia]] [[AVerMedia AverTV Hybrid Ultra USB (M039)|AverTV Hybrid Ultra USB (M039)]]<br />
* [[AVerMedia]] [[AVerMedia AVerTV Hybrid Volar Max (H826)|AVerTV Hybrid Volar MAX (H826)]]<br />
* Ceton 5102-DCT04EX-USB ... InfiniTV 4 USB: Quad-CableCARD TV Tuner<br />
* [[Diamond Multimedia]] [[Diamond Multimedia XtremeTV HDTV100|XtremeTV HDTV100]] (this device may actually be similar to the above Hauppauge, Pinnicle and Elgato devices though, so it might work)<br />
* Diamond TV Wonder HD 750 USB<br />
* [[DViCO]] [[DViCO FusionDMB2|FusionDMB2]] ... available in Korea only?<br />
* Encore ENUTV-DAT <br />
* Encore ENUTV-DAQ<br />
* [[FujiPlus]] [[FujiPlus FD-USB728|FD-USB728]]<br />
* [[Geniatech]] [[Geniatech HDTV THRILLER USB A680|HDTV THRILLER USB A680]] ... a usb box<br />
* [[Geniatech]] [[Geniatech HDTV THRILLER USB U6800A|HDTV THRILLER USB U6800A]] ... a usb box ... (no idea how it differs from the visually identical A680 model)<br />
* [[Geniatech]] [[Geniatech HDTV THRILLER USB U6010A|HDTV THRILLER USB U6010A]] (this device may actually be similar to the above Hauppauge, Pinnicle and Elgato usb stick devices, so it might work or be made to work with an addition of its subsystem ID to the driver)<br />
** also sold as the Anyware GT-U6010A [http://www.anywareus.com/products/usb/gtu6010a.html]<br />
* [[Geniatech]] [[Geniatech HDTV THRILLER USB U6012A|HDTV THRILLER USB U6012A]]<br />
* Hauppauge WinTV-DCR-2650 (CableCARD TV Tuner) 1450 <br />
* [[KWorld]] [[KWorld ATSC 310U|ATSC 310U]]<br />
* [[KWorld UB445-U ATSC Hybrid TV Stick|UB445-U ATSC Hybrid TV Stick]] 1b80:e421 (Afatech bridge?)<br />
* [[Miglia]] [[Miglia TVMini HD|TVMini HD]] <br />
* [[Miglia]] [[Miglia TVMini HD+|TVMini HD+]]<br />
* MSI DIGIVOX ATSC<br />
* MyGica U5072 .. rebranded Geniatech products<br />
* MyGica U6012B ... rebranded Geniatech products<br />
* [[OnAir]] [[OnAir GT|GT]] ... (highly similar to the [[DViCO FusionHDTV5 USB Gold]])<br />
* [[Pinnacle]] [[Pinnacle PCTV HD Ultimate Stick (880e)|PCTV HD Ultimate Stick (880e)]]<br />
* [[Plextor]] [[Plextor PX-HDTV500U|PX-HDTV500U]]<br />
* [[SIGMACOM]] [[SIGMACOM SIGMA HDTV5 USB v1|SIGMA HDTV5 USB v1]] ... available in Korea only?<br />
* [[TechniSat]] [[TechniSat Air2PC-ATSC-USB|Air2PC-ATSC-USB]] (BCM version) <br />
* [[TechniSat]] [[TechniSat Air2PC-ATSC-USB|Air2PC-ATSC-USB]] (Nxt2002 version)<br />
* [[TechniSat]] [[TechniSat AirStar-HD5000-USB|AirStar-HD5000-USB]] <br />
* [[10Moons]] [[UAC880Q]] ... catch them on ebay<br />
* [[TwinHan]] [[TwinHan TwinhanDTV ATSC / NTSC Dongle|TwinhanDTV ATSC / NTSC Dongle]]<br />
* [[VBox]] [[VBox Cat's Eye USB-A 3560|Cat's Eye USB-A 3560]]<br />
<br><br />
<br />
==Also See==<br />
* [[DVB via USB|General Information Regarding DVB via USB]]<br />
[[Category:ATSC]]<br />
[[Category:USB]]</div>CityKhttps://www.linuxtv.org/wiki/index.php?title=Technical_background&diff=31123Technical background2012-08-14T21:31:18Z<p>CityK: add some analogue video/tv standards</p>
<hr />
<div>__NOTOC__<br />
__NOEDITSECTION__<br />
<div style="margin:0; border:1px solid #6289AB; padding:0.5em; background-color:#F7F9FB;"><br />
{| style="background-color:#F7F9FB;" cellspacing=0 cellpadding=5 border=0 <br />
| valign=top | [[Image:Technical_background_icon.png|50px|]]<br />
|<br />
=='''Technical Background:'''==<br />
|}<br />
<br />
{|valign=top cellpadding=0 cellspacing=0 width=100%<br />
<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
[[Image:Systems_icon.png|50px]] '''Systems:'''<br><br />
<br />
* [[Analog TV]]<br />
** [[NTSC]]<br />
** [[PAL]]<br />
** [[SECAM]]<br />
* [[Radio Data System (RDS)]]<br />
* [[Digital TV|Digital TV (DTV)]]<br />
** [[ATSC|ATSC Standards]]<br />
** [[DVB Standards]]<br />
** [[DMB-T/H|DMB-T/H Standard]]<br />
** [[ISDB|ISDB Standards]]<br />
* [[Modulation Scheme]]s used for Analog & DTV<br />
* [[MPEG-2 Standard]]<br />
** [[DSM-CC Object Carousel Protocol]]<br />
* [[DiSEqC|DiSEqC Protocols]]<br />
<br />
|valign=top bgcolor=#F7F9FB width=4%|<br />
|valign=top bgcolor=#F7F9FB width=48%|<br />
<br />
[[Image:Chipset_icon.png|50px]]'''Hardware Component/Chipsets Related:'''<br><br />
<br />
* [[List of Chipset Vendors|Sortable List of Chipset Vendors]]<br />
* [[Anatomy of V4L-DVB devices]]<br />
** [[Tuner]]s<br />
** [[Demodulator]]s<br />
** [[A/V Decoders]]<br />
*** [[Radio devices|Radio Decoder Chipsets]]<br />
** [[GPIO pins]]<br />
** [[I²C Protocol]]<br />
** [[Hardware or Software Decoder?]] (MPEG)<br />
** [[Hardware vs software encoders]] (MPEG)<br />
** [[Remote Controller chipsets]]<br />
** [[Interface chipsets]]<br />
|}<br />
<br />
<br />
</div></div>CityK