Thursday, July 07, 2005

PVR Build Log #04 (Shiny, Happy Windows)

And the title says it all. I'm a nicer person to be around now that I'm not mucking about with Linux anymore.

And it really, really felt good to let the Linux geeks, and particularly OALUG, have it in my last post. Really good. It's been ten days since I posted there for help, and there still isn't a single reply. (Actually there's one, and it's me clarifying my question.) From time to time I get emails from interested parties about Weber Entrepreneurs Association. I generally answer them within an hour or two. I care. My cause is important to me. And...what's that? I'm on a soap box? Sorry.

Let me bring you up to speed.

Stephanie at ProVantage promised an RMA for the tuner card later that afternoon. The RMA never came. There go your brownie points, Steph.

In the mean time, I began research in earnest about SageTV. One of the users on SageTV's forum said that he had a PVR-250 tuner card that didn't work, and he simply put it in a different PCI slot, and it suddenly worked.

I hadn't yet boxed up my PVR-250, because my promised RMA hadn't arrived yet, and I wasn't sure if they wanted a note in the box with the returned item (sometimes they want that). It was just sitting there, so on a whim, I took out the card and popped it back into the box, but in a different PCI slot than before. I then loaded the drivers for it, and installed the trial version of SageTV. I was wrong about the SageTV setup process. It doesn't take 45 seconds. It's more like a minute and fifteen. Sorry.

SageTV fired up, and lo and behold, I had TV and sound to go along with it. And a program guide. And full recording capabilities. And lots of other cool options. The point is it worked. OMG, OMG, OMG. Nice picture, too.

The Windows XP install at the time was more of a testbed than anything else, so I re-installed XP Pro and started over. Here were the basic steps:
  1. Kill the Linux MBR with the GRUB bootloader. Not really necessary, as the new Windows install will overwrite it, but it feels good anyway. (Do this with the FIXMBR command in Recovery Console by booting to the Windows install disc.)
  2. Kill all Linux partitions. The hard drive is now exclusively NTFS. It's about time, too.
  3. Make one huge partition for video storage.
  4. Make one small partition (~10GB) for virtual CDs. Remember? This will be a gaming system, too.
  5. Make one smaller partition (~8GB) for hidden OS images. Just in case. This is habit now, and it's saved me hours and hours of work innumerable times.
  6. Perform the actual Windows install. I can't believe this part used to intimidate me. Enter, F8 (agree to the EULA), Enter (on the chosen partition), Esc (if there's a previous Windows install you're installing over), Quick format to NTFS, Enter, F (you're sure you want to format), Enter. Wait for Windows to do its thing. Nothing to it.
  7. Enter key, choose Time Zone, blah, blah.
  8. Important: Machine name, Admin name, Workgroup name. Windows finishes installing itself.
  9. First boot. Leave that install CD in the drive. Pull up the Add/Remove Windows Components dialogue, uninstall the following Windows bloat: MSN Explorer, MSN Messenger, Outlook Express, other such cruft. This stuff won't go away without the install disc. How moronic.
  10. Reset resolution. 1280 x 1020 is fine if the 19" LCD is two feet in front of your face, but for this application, 1024 x 768 is much more appropriate.
  11. While in display settings, find a different desktop image than that stupid green hill. The hill might be bearable if it weren't the desktop on five billion other Windows boxes.
  12. And while we're still in display settings, let's change the color scheme to silver. Blue desktop (the one called "Crystal"), silver window frames. Perfect for a media box. (Who says geeks can't have a sense of style?)
  13. Windows Update. The one thing IE is good for. That's good for, not good at. Reboot. Windows Update again. Reboot. Windows Update again. Reboot. Windows Update again.
  14. Install audio drivers, refuse to reboot. Install NIC drivers, refuse to reboot. Install chipset drivers, refuse to reboot. Install video drivers. Reboot. Takes a lot less time this way.
Whew. Are we there yet?...Hey. That whole process just took about 45 minutes. The same thing in Linux would have taken a couple of days and several doses of valium. Have a little respect.

Software installed: AnyDVD, CloneDVD2 (oh yes, this system will copy DVDs), AVG, Firefox, K-Lite Mega Codec Pack, PowerDVD, WinAmp, RegCleaner, Nero 6, Farstone Virtual Drive, Half-Life, MCM2, WinTidy.

Only one reboot for all of that. What, do you think I'm made of reboots? Update AVG (six times...why can't AVG just do all the updating it needs to do in one go?), Update CloneDVD, Update AnyDVD, Update Firefox, Update Half-Life. Curiously, nothing breaks. Must be doing something wrong.

Run RegCleaner. Remove 721 invalid registry entries. WTF? 721 invalid entries? This install isn't even 90 minutes old! I know that the registry is a big step up from the config settings messes that Win95 and Win98 were, but when there are over 700 invalid registry entries in a new install with just a few little apps installed, something is wrong with the way Windows is running the registry. Yes, I know that Nero is really messy in the registry, but Nero accounts for probably 75 of the above 721. Roughly 10%. This is not a problem with Nero.

Yeah, Windows is easy to install. And it's a good thing, too, because if you want to keep Windows clean, you'll learn to re-install it every six months or so. Come to think of it, my desktop is getting ripe...

Back to the PVR work. Give the PVR an account on Dentserver so that I can start getting some real work done. The PVR user account didn't have a password so that it would auto logon at startup, but the server doesn't allow accounts without passwords. Give the PVR account a user password. Use the arcane "control userpasswords2" command to make the PVR auto logon even though the account has a password now.

Pull game Virtual CD images from the server. Pull shortcuts to music playlists from the server for WinAmp. Map network drives to make media stored on the server easy to play on this machine.

Arrange icons on the desktop in a coherent fashion, run WinTidy and create a profile of the desktop settings. This way, if a program (Half-Life, MCM2, video driver) resets the icon positions, I can tell WinTidy to put them back. Very handy.

Lots of progress. This is a good place to image the machine in case something goes wrong in the next few steps. Normally I'd use my super-secret SDB (Super Duper Booter) disc to boot to Ghost and image the drive from there, but as I sadly learned with Dentserver a while back, Ghost doesn't like SATA drives. If a SATA drive is detected at all by Ghost, Ghost will simply hang while starting up. Disabling the SATA drive from the BIOS does not fix it. It doesn't matter whether the SATA drive has any partitions or data on it. The only way to get Ghost to run is to physically unplug either the power or the data cable to the SATA drive and then reboot.

Well, the only hard drive in this system is a SATA hard drive, and a big one at that. Ghost simply isn't going to cut it. This is why I built my BartPE disc. It's essentially a Windows Live CD, with utilities pre-installed on it so that once you boot to it, you can actually get some work done.

I even put Ghost 9 on the BartPE disc, just in case it might be useful at some point. No dice. Ghost 9 is crap. The files are there on the disc, and I can run some parts of Ghost (Image Explorer, PQE Boot, Disc Editor), but I'll be damned if I can get Ghost to do any actual drive imaging. I'm not as fond of Ghost as I used to be. Hey Symantec? If you want me to ever buy another copy of Ghost (and I've bought three versions so far), then you'll make it functional again. Acronis is eating your lunch here.

And coincidentally, Acronis TrueImage is precisely what I use to image OS drives now, simply because it works. And then I use Acronis Disk Director to re-hide the backup drive. It's a little kludgy, but it works, and the Acronis apps don't bitch about my SATA drive.

I haven't had an opportunity to use my new BartPE disc on Dentserver yet. I'm kind of looking forward to it.

So that's as far as I am with the PVR. I bought a SageTV license, and during the purchase I was offered a price break on SageTV Client Version. This allows any other computer on your network to stream TV from your SageTV computer in real time with all of the features that would be available to you if you were sitting in front of the main box. But you need a client license for every computer you put it on, and a license is $30, in addition to the original $80 for the main SageTV license.

The price break was $5. I figured that $25 was a pretty good deal for being able to make Crystal's laptop another fully-functional TV, so I put it in the cart.

When it was time to check out, I noticed that the checkout page had a coupon code field. I love coupon code fields, and so should you, because usually a coupon code field means that a little creative Googling can save you bucks. I Googled around for about ten minutes and tried about six expired codes before I got one that worked...10% off my entire purchase.

SageTV: $80
SageTV Client: $30
Client Price Break: $-5
Coupon Code: $-11

Total: $94.41

I kept it under $100. I'm happy. By the way, apparently Hauppauge and SageTV have a partnership, and part of that arrangement is a coupon code at SageTV that doesn't expire. If you're in a position to use it, the code is: HAUPP. It's only valid on software licenses, so don't try buying a software/hardware bundle and using the code. Mkay?

So I'm keeping the PVR-250, because it works. And when the PVR-500 arrives, I'll keep it too, if it works. That means triple tuners. One to watch and two to record. This is gonna be cool.

There is still more to do on this box. That'll be the next update.

1 comment:

  1. Wow, lots of good info. I'll have to re-read later to make sure I digested it all.

    One thing that caught my eye is your Virtual CD image partition. Do you use Nero for that, or are you doing something else?

    Thanks. Sean