Add support for WinTV HVR 950Q
|Status:||In Progress||Start date:||27 Mar 2014|
|Category:||03 - Linux Kernel|
|Severity:||01 - Critical|
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
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.
RM #303: Add dvd_apps, w_scan, for tv dongle and xrefresh to help recover from omxplayer.
#6 Updated by Hammel almost 4 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.
#12 Updated by Hammel over 3 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:
It's important that these are loaded in this order. If you don't, it definitely doesn't work.
#13 Updated by Hammel over 3 years ago
- Recipe to Watch TV - uses gnutv and a fifo
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.
#15 Updated by Hammel over 3 years ago
#16 Updated by Hammel over 3 years ago
#17 Updated by Hammel over 3 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 firstname.lastname@example.org for assistance.
#18 Updated by Hammel over 3 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.
#20 Updated by Hammel about 3 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.