[mythtv-users] Getting it to Work > Hauppauge WinTV-quadHD (DVB-T/T2/C)

Stephen Worthington stephen_agent at jsw.gen.nz
Fri Nov 11 01:18:24 UTC 2016


On Thu, 10 Nov 2016 15:23:49 +1300, you wrote:

>On Thu, 10 Nov 2016 08:36:19 +1100, you wrote:
>
>>On Tue, Nov 1, 2016 at 5:21 PM, Glen Adamson <glengilesa at gmail.com> wrote:
>>
>>> Thank you, I have emailed Hauppauge and enclosed the kern.log file to them
>>> and to you.
>>>
>>> The kernel log has a line that includes "warning: unknown hauppauge model
>>> #166201". The one I ordered was #01609.
>>>
>>> Glen
>>>
>>> I emailed Hauppauge with the following:
>><<<<<<<<<<< QUOTE >>>>>>>>>>>
>>
>>...
>>
>>Computer: HP i5 Compaq 8100 64bit.
>>
>>OS: mythbuntu 16.04.
>>
>>Kernel: 4.8.5-040805-generic.
>>
>>Application: MythTV 0.28.
>>
>>Country: Australia DVB/T2/C.
>>
>>
>>
>>Installed the PCIe board.
>>
>>Copied the firmware dvb-demod-si2168-b40-01.fw to /lib/firmware/ and
>>installed kernel 4.8 to get the required driver.
>>
>>
>>Your Linux Support shows the lspci output to be as follows:
>>
>><quote>
>>lspci -v
>>04:00.0 Multimedia video controller: Conexant Systems, Inc. CX23887/8 PCIe
>>Broadcast Audio and Video Decoder with 3D Comb (rev 04)
>>Subsystem: Hauppauge computer works Inc. Device 6a18
>>Flags: bus master, fast devsel, latency 0, IRQ 19
>>Memory at fd200000 (64-bit, non-prefetchable) [size=2M]
>>Capabilities: <access denied>
>>Kernel driver in use: cx23885
>>05:00.0 Multimedia video controller: Conexant Systems, Inc. CX23887/8 PCIe
>>Broadcast Audio and Video Decoder with 3D Comb (rev 04)
>>Subsystem: Hauppauge computer works Inc. Device 6a18
>>Flags: bus master, fast devsel, latency 0, IRQ 16
>>Memory at fd000000 (64-bit, non-prefetchable) [size=2M]
>>Capabilities: <access denied>
>>Kernel driver in use: cx23885
>>
>></quote>
>>
>>But my lspci system output is:
>><quote>
>>lspci -v
>>
>>1a:00.0 Multimedia video controller: Conexant Systems, Inc. CX23885 PCI
>>Video and Audio Decoder (rev 03)
>>
>>    Subsystem: Hauppauge computer works Inc. CX23885 PCI Video and Audio
>>Decoder
>>
>>    Flags: bus master, fast devsel, latency 0, IRQ 17
>>
>>    Memory at f0800000 (64-bit, non-prefetchable) [size=2M]
>>
>>    Capabilities: <access denied>
>>
>>    Kernel driver in use: cx23885
>>
>>    Kernel modules: cx23885
>>
>>1b:00.0 Multimedia video controller: Conexant Systems, Inc. CX23885 PCI
>>Video and Audio Decoder (rev 03)
>>
>>    Subsystem: Hauppauge computer works Inc. CX23885 PCI Video and Audio
>>Decoder
>>
>>    Flags: bus master, fast devsel, latency 0, IRQ 18
>>
>>    Memory at f0600000 (64-bit, non-prefetchable) [size=2M]
>>
>>    Capabilities: <access denied>
>>
>>    Kernel driver in use: cx23885
>>
>>    Kernel modules: cx23885
>>
>></quote>
>>
>>I expected version (rev 04) but I got (rev 03) above and note that
>>Linux Support
>>chip PI7C9X2G304 is NOT listed below:
>><quote>
>>
>>lsmod
>>Module    Size     Used by
>>si2157    16384   4
>>si2168    20480   4
>>cx23885 176128 1
>>...
>></quote>
>>
>>...
>>
>><<<<<<<<<<< /QUOTE >>>>>>>>>>>
>>
>>
>>and have received the following one line reply:
>>
>>"At this time we have only tested kernel 4.4. Have you tried the patch
>>attached? "
>>
>>
>>The patch is attached.
>>
>>
>>Installing the patch is well outside my understanding of Linux,  I need
>>explicit step by step help to achieve a change to the kernel.
>>
>>Should I revert back to kernel 4.4 as the very first action?
>>
>>
>>Glen
>
>The patch looks pretty straightforward - it just adds the new code for
>your card (ATSC and DVB-T version), rather than changing any old code.
>So it is not unlikely to work with later kernels.  It would certainly
>be worth trying with your current kernel's source code.  If that does
>not work, then you can change to the 4.4.15 kernel that patch file was
>made for.
>
>The patch is not really on the kernel itself, it is for the Video for
>Linux code (V4L), which is also available as a separate set of source
>code and can be compiled (and patched) and installed on top of an
>existing kernel - all the V4L drivers installed by the original kernel
>install are deleted and replaced by the new V4L drivers.  It is
>possible that the patch has already been incorporated into the later
>V4L code, so it would be worth downloading a recent version and
>checking that.  The instructions for V4L are here:
>
>https://www.linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers
>
>The first thing I would try would be seeing if the recent V4L code has
>the patch already, and if it does not, seeing if the patch can be
>applied to that and then compiling and installing just the new V4L,
>rather than doing a complete kernel compile.  It takes long enough to
>do a V4L compile - a complete kernel takes ages, even when doing it on
>a fast SSD with a fast multicore CPU.
>
>If just patching V4L is not possible, then you can try patching a full
>kernel.  There are various guides for applying patches to kernels. For
>Ubuntu, the "official" guide to building a kernel is here:
>
>https://help.ubuntu.com/community/Kernel/Compile
>
>You will need to apply the patch file to the source code before
>building it (kernel or V4L).  That is done with a patch command like
>this:
>
>cd /the/correct/directory
>patch <quad_atsc_dvbt_4.4.15.patch
>
>You may need to use a -p option on the patch command to get the levels
>of directory to match (see man patch).  In which case it would look
>something like this:
>
>cd /the/correct/directory
>patch -p1 <quad_atsc_dvbt_4.4.15.patch
>
>The patch command will tell you if it has any problems applying the
>patch.  If it says the patch is OK, it is still best to check the file
>locations where the patch was done to see if it looks OK, the first
>time you try the patch.  Then go on with the build and install
>procedure.

It looks like you are in luck.  I just pulled down a copy of the V4L
drivers and checked the patch against it.  It has already been
applied, although in slightly different form.  So all you need to do
is to do the "basic" build and install procedure:

git clone --depth=1 git://linuxtv.org/media_build.git
cd media_build 
./build
make install

That also means that at some future point, the drivers should be built
into the standard kernels.

Note that installing the V4L drivers will completely overwrite your
old driver set from the installed kernel with the new V4L backport
driver set.  Sometimes this can cause problems with cards other than
the one you are trying to get going, as there has been some change
that affects them.  So if your system has other V4L cards in it, you
need to check that they still work properly with the new drivers
installed.

Also, every time you install a new kernel (eg via the normal updates),
you need to re-install the V4L drivers using the same procedure.


More information about the mythtv-users mailing list