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...
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...
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...
13 Oct 2009 |
Posted by Devin Heitmueller | 8 Comments.
8
Did some more testing of the HVR-950q under MythTV. Wrote some patches to get rid of a couple of spurious error messages. However, in the end the code currently in the v4l-dvb codebase today does work with MythTV, as long as you have the latest snapshot of 0.22, use the no_poweroff xc5000 modprobe option, and make sure that the capture profile is set to 720x480. It's worth noting that Ubuntu Karmic has already picked up the changes, so if you are tracking the bleeding edge Karmic release then you have the fix.
There's still the problem with the audio squelch during channel changes. I spent some...
09 Oct 2009 |
Posted by Devin Heitmueller | 9 Comments.
9
After three nights of debugging various issues, I now have the analog side of the HVR-950Q working properly with MythTV.
Special thanks go out to Janne Grunau for promptly merging my patch providing UYVY support to MythTV:
http://svn.mythtv.org/trac/changeset/22343/trunk
I will be setting up a tree this weekend with the 950q fixes. In the end, we had a power management bug in the au8522, the MythTV issue described above, and the saturation/hue controls not being implemented causing spurious errors in the mythbackend log. There is also a popping in the audio that occurs when changing...
07 Oct 2009 |
Posted by Devin Heitmueller | 6 Comments.
6
Spent tonight continuing to debug the 950q under MythTV. I temporarily disabled the au8522's power management, and the MythTV channel scanner started to see the channels, but it was otherwise behaving quite erratically. MythTV seemed to be trying to do a scan of both the ATSC side and the analog side at the same time, even though both were in the same device group. Also, the "scan for channels" button was disabled in analog mode, which I couldn't understand why. I assumed my device was announcing its capabilities improperly to MythTV, until I realized that the same behavior was occuring with the older...
02 Aug 2009 |
Posted by Michael Krufky | 0 Comment.
0
I've decided to post some patches that attempt to bring some consistency across the ATSC demodulator drivers in the signal strength reporting mechanism.
If we use the lgdt330x driver as an example, signal strength is calculated as a percentage from SNR up to 35 dB. Why up to 35 dB? As indicated in the comments inside the drivers:
Calculate strength from SNR up to 35dB
Even though the SNR can go higher than 35dB,
there is some comfort factor in having a range of
strong signals that can show at 100%
The behavior of the code in this tree gives you a nice feeling of "100%" strong...
I received an email tonight from a user who characterized me as "impolite" for not replying to his previous email in a timely manner (two days). I make an effort to take constructive criticism in stride, and am always looking for ways to improve the quality of the free volunteer services I provide to the community. In that light, I took a few minutes to take an inventory of the various things I did this week to see if I could have avoided the dissatisfied email.
So, what have I been doing in the last week?
Gained access to Andreas Lunderhage's debugging environment, analyzed the USB traces...