Sunday, May 31, 2009

Grief

I spent the last three days with Victoria's family, as they grieved the loss of her Uncle Ed.

Aunt Cyndi is constantly in my thoughts, but I could not bring myself to see her today because I was too emotionally drained from dealing with Victoria's family.

I wrote an email tonight that probably falls into the top five most upsetting emails I've ever had to write.

When I was getting my suit ready to take to New Jersey, I went looking for a garment bag. Inside the garment bag I found was my father's suit, which I now cannot bring myself to put back into my closet.

And in eight hours I have to wake up and go to work and pretend that everything is fine.

Wednesday, May 13, 2009

Tech postings moving to Kernellabs.com

In an effort to separate out the personal stuff from the Linux tuner stuff, I am going to start posting blog entries for the Linux stuff on http://www.kernellabs.com. Feel free to check it out, and expect this blog to only start carrying the non-Linux stuff.

Tuesday, May 12, 2009

Victoria's fabric performance

On Saturday, Victoria performed in a show at her trapeze studio:

Click the video above to see her awesome performance!

Does Your Local Cinema Have IMAX or Just IMAX Lite?

Last Thursday, I saw Star Trek at the Imax over on 42nd Street. I enjoyed the movie, but I remember thinking to myself that "gee, this theatre screen isn't *that* much bigger than a regular theatre..."

It turns up I was right. From this morning's Consumerist:

Does Your Local Cinema Have IMAX or Just IMAX Lite?
http://consumerist.com/5250698/does-your-local-cinema-have-imax-or-just-imax-lite

More Pinnacle 800i work

I spent most of last night attempting to get the xc5000 reset pin working on the Pinnacle 800i. Either I cannot get the GPIOs to go low on the cx23883, or the reset isn't actually tied to one of the GPIOs.

Tonight I guess I will break out an iron and try to put some traces on the board so I can use the logic analyzer. Unfortunately, because I had only originally planned to spend fifteen minutes on this, I didn't get to anything else last night, such as the max packet size issue for em28xx isoc frames, working on the mt352 issue for the Terratec XS, or getting the xc5000 tree moved to kernellabs.com.

Friday, May 8, 2009

Pinnacle 800i reset pin

I think I've said this before, but life is *much* easier when you have an engineering level contact at the vendor.

After my previous post, I had an extended discussion with Steven Toth (who committed the original GPIO fix) on strategies for determining the correct GPIO to reset the xc5000. These included ideas like adding code to poll the 24 GPIOs in succession to and waiting for the tuner to become unresponsive. I was also considering removing the RF shield from my device and tracing it out by hand with a meter, which is pretty laborious since I don't an SMT rework station.

In the end though, the developer from PCTV Systems got back to me overnight, and just told me what the correct GPIO was. This eliminates any need to reverse engineer the reset pin entirely!

I'll be testing it on Sunday. If you're trying out the xc5000-improvements branch, expect the Pinnacle 800i to not work properly until then.

Wednesday, May 6, 2009

XC5000 feedback and the Pinnacle 800i

Got some feedback today on the xc5000 tree I posted yesterday. It's been generally positive, although one user is reporting some suspicious behavior.

I also started debugging why the Pinnacle 800i stopped working with my tree. I bisected the patch series and determined that the problem was introduced in the patch that started doing power management by pulling the xc5000 reset pin low. I had assumed it was some problem with re-initializing the xc5000 after being brought out of reset, however that was not the issue. It turns up that the xc5000 reset callback is strobing the cx23883's MO_SRST_IO pin as opposed to a GPIO. As a result, both the xc5000 and the s5h1409 were being reset, and the s5h1409 was being left in an unknown state. As a quick hack to prove my theory, I added a call to s5h1409_init() to s5h1409_set_parameters() and I started to get lock again.

Here's the problem: I don't know whether MO_SRST_IO controls some power supply that feeds the two parts, or whether it *really* is tied to both the reset pin of the xc5000 and the s5h1409. If they are not independently addressable, then I don't know what I'm going to do (disable power management for that board perhaps?).

To make life more annoying, the xc5000 is under an RF shield, so I cannot just break out a meter and trace out the pin, unless I'm willing to get access to a hot air rework station so I can remove the shield. I might be able to iterate the GPIOs in software, but I'm nervous about driving one of the input pins, which could burn something out.

I sent some email to my engineering contact at Pinnacle, and if I'm lucky he can just look at the schematic and tell me how it's wired up. Otherwise I'm going to have to do it the hard way...

Tuesday, May 5, 2009

XC5000: Now with faster tuning and power management!

For those of you who might be reading this blog because of an interest in developments on the HVR-950q or the Pinnacle PCTV HD Pro 801e, you might want to check the linux-media mailing list. Tonight I announced a beta release of the xc5000 changes I have been working on since last August. Here are the highlights:
  • Power management is now properly supported - no more sucking up your laptop battery and burning your fingers on the tuner's f-connector when the device is idle (can be disabled with the "no_poweroff"
    modprobe option).
  • Faster tuning - average 10x improvement in time to lock. Average lock time now around 350ms, down from 3200ms. No more multi-second delays when trying to channel surf in tvtime.
  • Redistributable firmware - Xceive has graciously allowed us to redistribute the firmware and bundle it in the distros. No more need for users to manually extract the blob from the Hauppauge Windows driver.
This was the product of months of debugging race conditions, dozens of emails with Xceive, and testing against essentially every xc5000-based product currently supported under Linux.

I look forward to feedback from testers, and will be glad to finally get closure on this series of patches.