30 Aug 2012 |
Posted by Devin Heitmueller | 1 Comment.
1
In addition to writing Linux drivers, I've done quite a bit of work with hardware in my time, including a variety of tuner products. I realize that those devices in general do run a bit warm, but this is largely just a byproduct of the nature of how tuners work.
This ambitious user though felt the need to add a heatsink to his HVR-950q.
As the author of the HVR-950q Linux driver, let me assure you that this was not necessary, and not an indication that there is anything wrong with the hardware. In other words, kids, don't try this at home...
On the technical end, people have noticed...
06 Aug 2012 |
Posted by Devin Heitmueller | 3 Comments.
3
After a rather large bug hunt, I've finally submitted the HVR-950q patches upstream. In the end, we created 24 patches addressing a ton of longstanding bugs:
au8522: fix intermittent lockup of analog video decoder
au8522: Fix off-by-one in SNR table for QAM256
au8522: properly recover from the au8522 delivering misaligned TS streams
au0828: Make the s_reg and g_reg advanced debug calls work against the bridge
xc5000: properly show quality register values
xc5000: add support for showing the SNR and gain in the debug output
xc5000: properly report i2c write failures
au0828:...
Continued debugging has produced another dozen fixes for the HVR-950q. Most of these are low-probability failure conditions (race conditions, etc). However take a bunch of 1/1000 chance items together and you're likely to hit one of them once in a while...
A couple of noteworthy changes:
Firmware load time has been sped up to 2.9 seconds (down from 8-10 seconds). This should eliminate the need for MythTV users to specify the "no_poweoff" xc5000 modprobe since it will now load fast enough to avoid a mythfrontend timeout.
Fix a case where the xc5000 tuner enters a failure state and all subsequent...
25 Jun 2012 |
Posted by Devin Heitmueller | 10 Comments.
10
I finally spent the day and gathered up all the various patches I had kicking around for the HVR-950q. They can be found here:
http://git.kernellabs.com/?p=dheitmueller/cx23885_fixes.git;a=shortlog;h=refs/heads/950q_fixes
This includes the longstanding bug at startup that would cause the xc5000 to not properly bind on the digital side, a rather nasty case that hangs the analog video decoder in adverse signal conditions, and a case where sometimes digital tuning succeeds but doesn't ever return a transport stream to userland. It also resolves the confusion users see when the run tools like...
21 Jun 2012 |
Posted by Devin Heitmueller | 0 Comment.
0
Been doing some HVR-950q debugging for the last couple of weeks. Finally getting around to cleanup on some existing patches that haven't gotten upstream, as well as investigating some new reliability problems.
Out of concern that one of my problems might be power related, I dug up some hardware I hacked together about four years ago.
Q: What does this rig do?
It lets you see how much power the device is consuming? In the second photo you can see the tuner is drawing 416 milliamps while tuning to an analog channel.
Q: Why should I care?
Power consumption is a good indicator...
12 Oct 2011 |
Posted by Devin Heitmueller | 15 Comments.
15
It's been a while since we've had a blog post, so I figured it would be a good time for an update as to some things going on. We're continuing to work in a number of areas, although in some cases things are moving along "behind the scenes" and are less visible to the public.
First, let's talk about the HVR-950q....
As a result of some consulting we did in the last month, I spent *alot* of time digging into the tuning behavior for the HVR-950q. This included finding several bugs which explain some of the "sometimes tuning just fails" type behavior. These are the sorts of things that only...
06 Jun 2010 |
Posted by Devin Heitmueller | 4 Comments.
4
Hello all!
If anyone is interested in closed captioning support for the HVR-950q, you can get it from the following tree:
http://kernellabs.com/hg/~dheitmueller/v4l-dvb-950qvbi
Unfortunately, the work exposed a bug in tvtime which prevented it from working, which I fixed here:
http://kernellabs.com/hg/~dheitmueller/tvtime
But it *is* working with zvbi-ntsc-cc out of the box.
Comments welcome, as always. Next stop: HVR-950q quality improvements!
22 Feb 2010 |
Posted by Devin Heitmueller | 23 Comments.
23
Been a few days since I've posted an update. Here's a brief summary of things that have been going on in the last week:
Progress continued on improving em28xx analog quality. I isolated a problem with chroma AGC in the saa7115, and am working on a fix now.
I nailed down most of the analog problems being reported against the HVR-950q under MythTV. Posted a tree with fixes and solicited testers to try it out before submitting it upstream.
I finally plugged in my HVR-1800 and took a quick look at the analog support situation under MythTV. It falls down pretty hard with the current v4l-dvb...
17 Feb 2010 |
Posted by Devin Heitmueller | 22 Comments.
22
I finally found a few hours to sit down and debug the issue people were reporting where switching back and forth between analog and digital modes under MythTV would intermittently fail with the hvr-950q. It turns up there were a couple of race conditions related to the power management of the chip.
http://kernellabs.com/hg/~dheitmueller/hvr-950q-pmfixes/
There was also a neat bug where the first tuning request after switching from analog mode back to digital would *always* get dropped on the floor. This would cause users to see the first tuning request fail, or there would be cases where...
13 Feb 2010 |
Posted by Devin Heitmueller | 12 Comments.
12
Over the last few nights, I finally got a MythTV box setup that I could use for some testing of the HVR-950q. I did some work a few months ago to basically get the analog support working, but there were some reports of problems related to switching back and forth between analog and digital mode.
After adding some debugging to the driver, I found basically three classes of problems:
1. The power management on the au8522 was setup such that the chip would get completely powered down when switching modes. Essentially what would happen is when switching from analog to digital mode, the v4l stack...