AnsweredAssumed Answered

Hauppauge 950Q USB TV tuner is not functioning correctly with Gstreamer on iMX6

Question asked by Frodo Lai on Apr 6, 2014
Latest reply on Apr 10, 2014 by Adrian Alonso
Branched to a new discussion

Hi,

 

I'm working on an iMX6 project that inputs HDTV via USB or mini PCIe TV tuner card. The first TV tuner I got is Hauppauge 950Q. I followed the instruction from our Freescale FAE.

 

==

The instructions on how he enabled the device are below for your reference but wanted to share a couple other comments…

  • used the I.MX6 Quad version only because that is what comes on the Freescale Sabre board
  • the CPU load was high when starting up the device and loading the firmware but very low once the device was up and running, playing back TV.  I also asked him if he thinks there would be any performance concern with using an MX6 Dual and he had no concern.
  • performance using the tuner tied to the I.MX6 Sabre board seemed the same as when plugged into his linux PC.  He was pulling in TV with over the air antenna

 

Here are the implementation details.

I had to enable 3 drivers: Xceive XC5000, Auvitek AU8522, Auvitek AU0828.

 

I used a barebones Linux: no need for a full Ubuntu distribution.

 

Here are the steps:

1)      Build latest LTIB Linux BSP (L3.0.35_4.1.0) with all of gstreamer packages and support

2)      Force LTIB to Configure the Kernel

3)      Within the Kernel Sub-Menu, select:

  1.       Device Drivers à Multimedia support à <*> DVB for Linux
  2.       Device Drivers à Multimedia support à Video capture adapters à <*> Auvitek AU0828 support
  3.       Device Drivers à Multimedia support à Video capture adapters à V4L USB devices à<*> Hauppauge WinTV-PVR USB2 support
  4.       Device Drivers à Multimedia support à Video capture adapters à V4L USB devices à<*> Hauppauge HD PVR support
  5.       Device Drivers à Multimedia support à DVB/ATSC adapters à Customise DVB Frontends à<*> Auvitek AU8522 based

 

This is the gstreamer pipeline I used to play the TV stream on my MX6Q SDP:

 

gst-launch -v dvbsrc frequency=551000000 modulation=7 ! mpegtsdemux program-number=3 ! mpegvideoparse ! queue ! vpudec ! mfw_v4lsink sync=false

 

==

 

I could build new kernel with DVB support and load the 950Q driver/firmware dvb-fe-xc5000-1.6.114.fw without any problem. However, I couldn't get any channel information when I ran w-scan. Nor could I run the gst-launch above to get any output on display.

 

I moved the TV tuner to my Ubuntu box and found it's a newer version which only works with dvb-fe-xc5000c-4.1.30.7.fw. Unfortunately, the 3.0.35_4.1.0 kernel doesn't support this firmware. I tried to port the driver from LinuxTV back to 3.0.35 but the videobuf-core is not compatible. Then, I moved to kernel 3.10.17_1.0.0_beta. I could load the driver/firmware dvb-fe-xc5000c-4.1.30.7.fw and finish channel scan via w-scan but the gst-launch didn't output anything. I attached the w-scan output and the gst-launch messages. Does anyone know how to resolve this issue? Thanks.

 

Below are the gst-inspect results.

 

root@debian-imx6:~# gst-inspect | grep mfw

  1. audiopeq.imx: mfw_audio_pp: audio post equalizer
  2. ipucsc.imx:  mfw_ipucsc: IPU-based video converter

v4lsink.imx: mfw_v4lsink: v4l2 video sink

  1. isink.imx:  mfw_isink: IPU-based video sink

v4lsrc.imx:  mfw_v4lsrc: v4l2 based camera src

 

root@debian-imx6:~# grep mfw_mpeg2decoder /usr/lib/* -nr

Binary file /usr/lib/gstreamer-0.10/libmfw_gst_mpeg2dec.so matches

Binary file /usr/lib/gstreamer-0.10/libmfw_gst_mpeg2dec.a matches

 

root@debian-imx6:/mnt# grep mpeg2dec.imx /usr/lib/* -nR

grep: /usr/lib/arm-linux-gnueabihf/libGLESv2.so: No such file or directory

Binary file /usr/lib/gstreamer-0.10/libmfw_gst_mpeg2dec.so matches

Binary file /usr/lib/gstreamer-0.10/libmfw_gst_mpeg2dec.a matches

 

root@debian-imx6:~# gst-inspect | grep mpeg2

mpeg2dec:  mpeg2dec: mpeg1 and mpeg2 video decoder

 

Frood

Original Attachment has been moved to: 950Q.txt.zip

Original Attachment has been moved to: 950Q_Error_msg.txt.zip

Original Attachment has been moved to: channels.conf.zip

Outcomes