Feature #303

Add support for WinTV HVR 950Q

Added by Hammel over 3 years ago. Updated over 2 years ago.

Status:In ProgressStart date:27 Mar 2014
Priority:NormalDue date:
Assignee:Hammel% Done:

30%

Category:03 - Linux Kernel
Target version:0.13.0
Severity:01 - Critical

Description

This device is well supported under linux, but plugging it in didn't work. Turns out the module loading order seems to affect whether it works. So I need to change the module loading order to

  1. xc5000
  2. au0828

Tested under Fedora and verified. After changing the module loading order the w_scan generated a valid list of channels.

Not sure the best way to do this under Fedora, but under PiBox it's easy enough to do with rc.modules.

Testing can be done with xine or other software

Associated revisions

Revision 4377b6d7
Added by Hammel over 3 years ago

RM #303: Add dvd_apps, w_scan, for tv dongle and xrefresh to help recover from omxplayer.

Revision 155e80cf
Added by Hammel over 3 years ago

RM #303: Added WinTV HR 950Q firmware.

Revision 298049f7
Added by Hammel over 2 years ago

RM #303: Bumped kernel to 3.14.y to try and get TV working better. Kernel seems to work fine with the rest of the system so I'm keeping it on this rev.

History

#1 Updated by Hammel over 3 years ago

  • Description updated (diff)

#2 Updated by Hammel over 3 years ago

  • Description updated (diff)

#3 Updated by Hammel over 3 years ago

  • Priority changed from Normal to Urgent

#4 Updated by Hammel over 3 years ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 10

Both drivers are already compiled for the current kernel. w_scan was not included in the rootfs so I'm adding that now before testing the dongle.

#5 Updated by Hammel over 3 years ago

Just discovered that usbhandler.sh doesn't support multiple drivers. See RM #324

#6 Updated by Hammel over 3 years ago

I've loaded the drivers in order and run w_scan but it isn't generating a channels.conf for me. I don't see any obvious problems though having the 950Q plugged into a USB hub may not be providing enough power. Still investigating.

I've also found a reasonable hack to usbhandler.sh to load drivers that way I want. Interestingly, the WinTV drivers (xc5000, au0828+friends) are automatically loaded by the kernel or possibly mdev. I don't want them to be loaded because their loading in the wrong order. So I may need an init script of some kind that handles unloading them.

#7 Updated by Hammel over 3 years ago

  • Priority changed from Urgent to Immediate
  • Severity changed from 03 - Medium to 02 - High

#8 Updated by Hammel about 3 years ago

  • Target version changed from 0.9.0 to 0.10.0

#9 Updated by Hammel about 3 years ago

  • Priority changed from Immediate to High

#10 Updated by Hammel about 3 years ago

  • Priority changed from High to Normal

#11 Updated by Hammel almost 3 years ago

  • Priority changed from Normal to Immediate

#12 Updated by Hammel over 2 years ago

  • % Done changed from 10 to 20

On Fedora I found that removing the following modules and modprobing them in this order works well enough to get both channels (from w_scan) and playback with xine:

  1. xc5000
  2. au0828
  3. au8522_common
  4. au8522_decoder
  5. au8522_dig

It's important that these are loaded in this order. If you don't, it definitely doesn't work.

#13 Updated by Hammel over 2 years ago

Scanning isn't working well on the target board even though it seems to work okay on my laptop. Once I get that working better I need some way to play the channels that have been scanned. Here are some possibilities.
  1. Recipe to Watch TV - uses gnutv and a fifo
  2. TVHeadend - streams TV over network though seems to use internal web interface with javascript to control it.

Note that gnutv is already in the target rootfs build but tvheadend is not (though it will be easy to add). I kind of like the gnutv option because it seems simple to integrate with a custom UI (like videofe) but I won't know that till I manually try both options.

#14 Updated by Hammel over 2 years ago

First try of gnutv->fifo->omxplayer failed. Not sure why. I may need to run omxplayer in an xterm again.

#15 Updated by Hammel over 2 years ago

Not having much luck getting working. I might try xine next:
  1. xine project - the core libraries
  2. oxine - an OSD styled front end to xine suited to set top boxes.
    This may work though unless it uses hardware acceleration it may not playback very well. Just have to try it and see what happens.

#16 Updated by Hammel over 2 years ago

Not having much luck. Even tried multiple chained powered USB hubs. Some links of interest.

#17 Updated by Hammel over 2 years ago

  • % Done changed from 20 to 30

I added the overclocking to config.txt

arm_freq=900
gpu_freq=350
sdram_freq=500

and when I tried w_scan again it seemed to work better. I got 8 channels this time. Usually I'm lucky to get any. So then I tried playing via omxplayer. It starts to work but then stops. And now I think I might know why.

ATSC in the US is MPEG-2, which requires a license to playback ON the Pi. If I were to distribute this with, say, TVHeadend to a player that already could play it (say an Android device properly configured) then I wouldn't need the license. At least I think that's the problem.

So now I'm trying to order a license.

An alternative would be to use software mpeg-2 decoding but it seems that may not playback very well on the Pi.

Quick update: the web site for ordering a license doesn't seem to be working for me. I've emailed for assistance.

#18 Updated by Hammel over 2 years ago

I was finally able to order a license and it was sent to me (it's just a text key you put in config.txt). Once I added that I tried playback again. This worked better - I got a picture this time. But then the system locked up.

I'm gonna put this on hold for a bit. I think the next thing to try might be to rev the kernel. But that might break other things (the wifi dongles, most likely). The current master on github is 3.12.y and there is a 3.14.y available. There is discussion on moving the the master to 3.14 or later.

I also need to order MPEG-2 licenses for my other boards, specifically the B+ model to see if that performs any better than the B models I've been testing on.

#19 Updated by Hammel over 2 years ago

  • Priority changed from Immediate to Urgent
  • Severity changed from 02 - High to 03 - Medium

#20 Updated by Hammel over 2 years ago

Just tried 3.14.27 (lastest in 3.14 series) and it seems to work fine with current apps and system configuration. I have network connectivity, videofe plays (audio and video) and piclock works. However, the boot was slightly different for some reason. psplash didn't finish and I got the X bg (the miot for media server) image which I had not been getting previously. This build does not have the fbtft drivers installed however.

So now I can try scanning for channels and see if that works any better.

#21 Updated by Hammel over 2 years ago

Ran a test of video playback. I got playback for a few seconds with audio but then the whole system locked up.

I'm going to move tv playback out to 0.11 so it doesn't block 0.10's release and then come back to it later.

#22 Updated by Hammel over 2 years ago

  • Target version changed from 0.10.0 to 0.11.0

#23 Updated by Hammel over 2 years ago

  • Priority changed from Urgent to Normal
  • Severity changed from 03 - Medium to 01 - Critical

#24 Updated by Hammel over 2 years ago

  • Target version changed from 0.11.0 to 0.13.0

Also available in: Atom PDF