Sunday, September 26, 2010

Win 7 - The Stench of Failure

I have not completely given up on Windows 7, but this weekend I trimmed 100 GB off my media partition and restored a Vista backup on the NAS. I fired it up and started to record normally for the first time since early August.

I got here because while WinTV 7 was able to record normally, and it's viewer is pretty good, it has a very elementary scheduler. Windows Media Center has an OK scheduler, but it doesn't record HD very well. (It doesn't appear to use the hardware encoding on the card. Of course, it also doesn't appear to use a standard file format, so perhaps it is reencoding it. All I know is that the audio is fine and the HD picture is jerky. So, the latest beta for SageTV 7 came out. I ponied up money for it and I reinstalled it from scratch. Everything was going well until I got to scanning the digital channels. SageTV reported that there were no digital channels. I tried to play one manually and got bits of audio and no video. I checked with WinTV and Windows Media Center and they could view the channel fine. I thought that perhaps it was a problem with the capture card drivers, so uninstalled the card and reinstalled the same ones that worked on Vista.

So, at the end of my rope, and with the new TV season upon us, I fell back to good old reliable Vista. (How often do you hear that?) Unfortunately, I have about a half a week's recordings on the Windows 7 partition in Windows Media Center format, and nothing else appears to be able to play them, so I'm going to have to boot Windows 7 to watch them, which means I can't watch them when something needs to be recorded, and I don't feel like installing Windows Media Center for Vista. (I didn't really want to install the Windows 7 one.)

I reported the signal problem to SageTV and I'll keep trying SageTV on Windows 7, but I just can't deal with this nonsense anymore. I want to watch TV on my HTPC, not fix problems with it.

Wednesday, September 15, 2010

Audio Problems

Well, I just thought that the upgrade to Windows 7 was complete. In early August, a couple of weeks after I let SageTV start recording programs, I finally worked my way through the programs that I had recorded before the conversion and got to ones that I had recorded after the conversion, and their audio was awful. It wasn't quite a stutter, more like living in an echo chamber. Sometime the audio problem would clear up, but the audio would be behind the video.

I put a request for help on the SageTV forum, but didn't get much help. The only person to reply suggested that I also try WinTV and Windows Media Center. Sadly, those two things worked, but I was no closer to solving the mystery. The only thing that I learned was the WinTV was using only about 2% of the CPU, while SageTV used 25% to 30%. So I gave up and submitted a request directly to SageTV's support, and their answer was to install the SageTV 7 beta. Well, I did that and I got the exact same results. They had me turn on some tracing and simultaneously record a minute of same programming using SageTV and WinTV 7 and send them to them. After some mulling things over, they sent me an updated DLL, which fixed the problem, for the GUI version of the software. However, the service started to reports:

Error - Capture Device failure while starting recording.

So, I reported this problem and left the GUI version running hoping that the next beta would fix the problem. Unfortunately, the Beta license was a temporary one and I couldn't figure out how to pay for the upgrade. With no new beta in sight, when the beta license expired, I just uninstalled SageTV 7 yesterday, and the new TV season is starting this week.

Saturday, August 14, 2010

Installing SageTV on Windows 7

There were a few challenges to installing SageTV on Windows 7, although they don't directly relate to Windows 7. The first is that SageTV has some files, I believe that they are for the online services, that SageTV can update automatically, unless the SageTV is installed in it's default place on Vista and Windows 7. This is because the new security features prevent programs from modifying directories in C:\Program Files, and that is where SageTV stores its configuration files. There is a simple fix for this in the software, but SageTV hasn't made it and their solution is to install SageTV in a directory other than C:\Program Files. Instead they want you to install it in C:\SageTV. GAG!


The second issue is that I really didn't want to try and setup SageTV again, especially the channels.

So I went to the SageTV forums and searched for a procedure but I didn't find much. However, I did find a 2003 article that told how to move SageTV from one machine without losing recorded programs. I must admit the age of this article bothered me. I also didn't like the first step, "Install SageTV completely and completely configure." So, here's what I did instead:



  1. I started my Vista SageTV and opened Setup/Detailed Setup. I looked at all of the setup options and made note of the important ones. I also noted all of the channels.

  2. I downloaded and installed the latest drivers from Hauppauge for my HVR-2250. The install kindly let me install only the drivers. I skipped WinTV this time.

  3. I downloaded and installed the latest SageTV from SageTV into C:\SageTV. I did not start it.

  4. I went to the copy of my Vista SageTV that I had copied to DVD, and opened the SageTV\SageTV directory. I then sorted the files in the directory by descending date. There I found several files that had been modified recently: Sage.properties, Wiz.bin, TSSpliter, sagetvmsgs.txt and several FRQ files, one for each HVR capture device. So, you can see where I'm going with this. I copied each of the files and dropped them into the new C:\SageTV\SageTV directory.

  5. I then edited C:\SageTV\SageTV\Sage.properties using notepad. I searched it for references to C:\\Program Files\\SageTV and replaced them with C:\\SageTV. I saved this file and I then started SageTV.

  6. I am sorry to say that this only had partial success. I still had to go through the setup wizard, but most of the defaults for the prompts were already correct, including the channels. I did select MCE remote for the Remote Control Configuration.

  7. I also had to go through the Detailed Setup again and fix some settings. Sadly, I didn't note what.


This seems to have worked. There is probably a file in the SageTV directory that causes the setup wizard to run and the wizard removes this file when it is finished. If I had performed a litte research, I probably could have prevented the wizard from running. However, the channels and the already recorded programs were still there, and those were the important things.

    Seven of Windows

    Last weekend I started the installation of Windows 7. Here are the highpoints of that process. As usual, I'm going to go into as much detail as possible in hopes of helping others. (I also found it a good reference for myself later.) This is not the actual steps that I followed, as mistakes were removed to protect the innocent.



    1. Begin with going to http://www.gigabyte.com/ and downloading the latest drivers for the motherboard. I clicked on Support & Downloads and entered MA78GM-US2H, my motherboard's part number, into the download search box and clicked the Search button. There are now two revisions of the board, and I was presented with a list of revisions from which to choose. I'm sure this information is somewhere on the motherboard, but that would require me to shutdown the machine and open the case. I tried using a few utilities to determine the revision using software, but without success. Finally, I uncovered the motherboard's original box and the revision was plainly printed there on a label. I have revision 1, so I clicked Drivers. I was presented with a list box of OS'S and I selected Windows 7 64-bit. I then downloaded the audio, Chipset/VGA, and LAN drivers into a new directory for easy access. For the SATA RAID, I only downloaded the AMD SATA AHCI driver, as I am not using a RAID. Then I changed the Download type listbox to BIOS, and downloaded the latest BIOS, which was F8. (I stayed away from the F9 beta.) Finally, change the Download type to Utility and the Choose your OS to Vista (no that is not a typo), and downloaded the @BIOS utility.

    2. Next, go to http://www.ati.com/ and download the latest display drivers. In Download Drivers, from the Component Category listbox, choose Motherboard/Chipset. From the Product Line listbox, I chose Radeon 3xxx Series. From the Product Model listbox, I chose Radeon 3200 Series. From the Operating System listbox, I chose Windows 7 - 64 bit. Click the View Results button to see the latest drivers. Download the driver to the same directory as the Gigabyte drivers.

    3. Next, in your download directory, unpack the motherboard_driver_ahci_amd_sb7xx_bootdisk_win7-64bit file. A directory named ahci_bootdisk_win7-x64 will be created. The first time I that I did this, the OS installed floppy drivers and attempted to format a floppy in a nonexistent floppy drive. If this happens, just cancel out of it. Copy the ahci_bootdisk_win7-x64 directory to a USB drive instead.
    4. Next, either copy the remaining drivers to the USB drive, or place media into your DVD burner and back them up there. Also make a copy of any other interesting files in your download directory.

    5. Next, I copied the C:\program files (x86)\SageTV directory to my backup media. I wanted it easily accessible when I reinstalled SageTV. Fortunately, all my recorded programs are in a different partition, so I didn't have to worry about excluding them from the copy.

    6. Next, I used Acronis to backup both my OS and media partitions to a NAS, Network-attached Storage. It is a small box with a 1TB drive running Linux and Samba, which provides Windows networking support. Unfortunately, the wireless network, which has 54 MBit download speed, could not handle the high volume upload, and I had to move a router and the NAS into the room with the HTPC. I plugged both the HTPC and NAS into the router and perform the backup to the NAS.

    7. Now is the time to upgrade the BIOS. Despite all the warnings about installing a BIOS while running Windows, I unpacked the motherboard_utility_gbtools_gbt_atbios file, and then installed the atBIOS program. I then unpacked the mb_bios_ga_ma78gm-us2h_f8 file. Finally, I ran the @BIOS utility and upgraded the BIOS from file. (It is still nerve racking to wait while it installs the BIOS.)

    8. Say goodbye to Vista and shut it down.

    9. We are almost ready to start the Windows 7 install. I was ready at this point with a wired USB keyboard to perform the install, but it turned out that the wireless Gyration keyboard would work.


    10. Push the power button and be ready to press the Del key to to enter BIOS setup. You'll probably be greeted with a (too) brief message about your SATA drive being used in IDE emulation mode, and asking if you want to switch to AHCI mode. Ignore this message and press the Del key.

    11. Select Standard CMOS Features.

    12. Make sure Drive A is set to None and Floppy 3 Mode Support is Disabled.

    13. Select Advanced BIOS Features.

    14. Set Onboard VGA output connect to D-SUB/HDMI. Set First Boot Device to CDROM. Set Second Boot Device to Hard Disk.

    15. Select Integrated Peripheral.

    16. Set OnChip SATA Type to AHCI.

    17. Make any other changes that you feel comfortable with. These are all the changes that I remember making.


    18. Place the Windows 7 DVD into the optical drive, save the BIOS changes and tell BIOS boot the DVD.

    19. When the language page, pick the appropriate values and click the Next button. (It is very cool that the Air Mouse works here.)

    20. When you reach Which type of installation do you want?, click Custom (advanced).

    21. At Where do you want to install Windows?, select Drive options (advanced). Click Disk 0 Partition 1. This should have a Type of System. Click Delete. Click New to create the new OS partition. Select the new partition and click Format.

    22. Insert the USB drive in the machine and click Load Driver.

    23. Press the Browse button and navigate to the directory containing the AHCI driver. Press OK and then Next.

    24. Seems like the rest of the installation was straight-forward, so I'm going skip ahead to more interesting stuff.


    25. During installation, if you are asked to select a wireless network, skip it unless you have the security key handy.

    26. As soon as Windows 7 finishes installing itself, open the Control Panel, click on Network and Internet and finish setting up the networking, if necessary. I had to turn off the router connected to the NAS to be able to connect to the Internet through the wireless connection.

    27. Return to the Control Panel and select System and Security. Click on Windows Update and apply all of the latest updates.

    28. Install the media containing your driver downloads and copy them to the Downloads directory.

    29. Unpack and install motherboard_driver_audio_realtek_azalia-ati.

    30. Unpack and install motherboard_driver_chipset_amd_7series_v2.0_win7_64.

    31. Unpack and install motherboard_driver_lan_realtek_811_w7.

    32. Next, run 10-7_vista64_win7_64_dd_ccc_enu. This will create a C:\ATI\Support\10-7_vista_win7_66_dd_ccc_enu directory. I think it automatically starts the install. If not, run the setup program to install the latest ATI drivers. (motherboard_driver_chipset_amd_7series_v2.0_win7_64 will have already installed some of them, this will install the latest.)

    33. Finally, if you did not map a drive letter to the partition containing your SageTV programs, return to the Control Panel and select System and Security and then, under Administrative Tools, select Create and format hard disk partitions. You will see that that Windows 7 has already assigned a drive to your programs partition. Right click on it and select Change Drive Letter and Paths.... Select on the drive letter and then click Remove. Right click (again) on your media partition and select Change Drive Letter and Paths.... In the dialog box, select the Mount in the following empty NTFS folder radio button and the click Browse. Use the New Folder button to create an empty folder for the partition. (I created C:\Volumes\Media.) Select the empty folder and press OK and then OK. (If you wish at this point you may reletter your DVD drive.)


    We are now ready to install SageTV, but I'll leave that for another post, as this one is massive enough.

    Tuesday, August 10, 2010

    BIOS follies

    One of the projects that I wanted to accomplish with the DVR this summer was to install the fabled Windows 7 on it. I acquired an OEM copy from Newegg, and I proceeded to install. (Oddly, the full Windows 7 install media was cheaper than the upgrade from Vista media.) The install went fairly well, and then I discoverer that there was a new BIOS for the motherboard, so I decided to upgrade it too. Sadly, that was the wrong order to do it in.

    The first problem after installing the F8 BIOS was that when I booted the machine, a message would appear on the screen only long enough for me to read about a quarter of it. And there didn't seem to be a way to halt the count down to reboot. The message seemed to say that my SATA drive was being accessed using a IDE emulation, and it asked if I wanted to use the native AHCI instead. (AHCI, stands for Advanced Host Controller Interface.) I figured, "Why not?", even though I didn't completely understand the question. (How could I? I didn't really get to thoroughly read the message.) But I told it Yes after an couple of failed attempts to read the entire message. (Note to self, use a camera next time!) The system looked like it was going to boot, and then rebooted itself, with Window reporting that it was unable to boot would I like to repair it. I told it to go ahead, but it couldn't find anything wrong. Finally, it put up a message saying that if I changed any hardware recently, to remove them. So, I booted to the BIOS and changed the hard drive support back to IDE and Windows rebooted properly this time.

    I found some references to this problem on the web, and there were solution from some people who claimed that if a certain registry entry was changed from one value to another, it would enable the Microsoft AHCI support. I found this entry in the Windows 7 registry and was about to change it, when I found that the "from" value didn't match the entry in the Windows 7 registry in the forum message, so I was loath to change it. I decided that I didn't have that much time invested in the Windows 7 install and I would try it again with the proper setting in the BIOS. I will describe that process in a future blog, but during it, I discovered a couple of other presents that the BIOS update gave.

    The first was that it re-enabled the floppy drive and made it the first boot device, with the hard drive the second and the CD-ROM the third. Someone on the web said that after they switched the BIOS into AHCI mode, the installation DVD-ROM could no longer be booted from the CD-ROM and they had to complete the install in IDE emulation mode and then try to switch the OS into AHCI mode later. I wonder if they just didn't realize that they needed to remove the floppy from the first boot position, and put the CD-ROM drive in its place.

    The second problem was that the BIOS switched the on board VGA output to D-SUB/DVI. This didn't cause a problem for the installation, however later my machine had no sound, and when I tried to enable the HDMI Audio output, I was told that it wasn't connected. I even checked the HDMI cable to see if it had come loose. Nope, it was solid. I finally remembered that before I upgraded the BIOS, Windows 7 had audio, so I went back to the BIOS setup and found the Onboard VGA output connect set back into the default setting of D-SUB/DVI, and, of course, DVI has no audio component. So, the lesson to take away from this is to always refer back to Press Del for Setup after flashing the BIOS and put the BIOS back into its proper settings.

    Next, I'll describe the process of installing Window 7.

    Sunday, August 8, 2010

    Virus Scanner Irritations

    So, I haven't been blogging much about my HTPC for the past year because it has been working very well and I haven't wanted to fiddle with it during the television season. However, I did run into a few issues during the year. The most annoying one was that I would have 30 seconds or so just disappear out of the program that I was watching. I was blaming the cable in my house when I realized that it happened at exactly the same time in two programs that were being recorded simultaneously. It could still be the cable, but it occurred to me that it could also be the McAfee virus scanner. The 2010 version of McAfee is much better than the 2009 version, but the 2009 version had a nasty habit of locking up the machine up for a significant period of time while it decompressed the download and installed it. I guess it was freezing any viruses on the machine and keeping them from corrupting the download, but it could also be preventing SageTV from reading the video capture card.

    Fortunately, there was an easy answer: I configured McAfee to download the daily updates, but not install them without my permission. After I did that, the mysterious gaps in the programs all put stopped. There were still some times when there were gaps in the program, but I'm thinking that they were a corrupted signal. In the gaps with the virus scan, the SageTV progress bar showed a large red area at the point where the gap occurred. However the remaining gaps, there was not a red area. The viewer would just jump from one time in the program to the next. If I paused the program and repositioned it into the gap, I can still hear the program, although it is usually garbled, and the picture is frozen for a few seconds and then jumps to another frozen image. I do not know what causes this, but it could just be an issue at the cable company, or the qualify of the cable within my house. However, I digress, back to virus scanner.

    One of the annoying things about the virus scanner is that it insists on running a full system scan while I'm watching a program. It's not that this impacts performance, but it seems to me that the machine should run them in the middle of the night. Sadly, while you can set up McAfee to run the scan during the middle of the night, it will only do it if the machine is actually powered on. McAfee won't do what SageTV does and turn the machine on to run the scan. I posted this to the McAfee customer forum and got the suggestion to set up a scheduled task to turn the machine on. So, I tried this and while it worked wonderfully to turn the machine on, McAfee still didn't run the scan. Looking at the Vista system log, it looked like the machine turned on at the right time and then, 5 minutes later, it turned itself off, before McAfee decided that it was OK to begin the scan. I don't know why the machine was turned off, because the power configuration was that the machine needed to be idle for 2 hours before it would power down. My guess is that SageTV was shutting it down, although I have no proof that. I know that SageTV will power on the machine in the middle of the night to download the latest schedule. Perhaps it takes the opportunity of my scheduled task to perform its downloads, waits 5 minutes to see if something interesting is going to happen, and then decides to shutdown the machine when it appears to be idle. Sigh.

    So, I kludged it. I just scheduled SageTV to record for 2 hours at the same time as the virus scan. When I do that, 3 minutes into the program, the virus scan starts, and an hour and a half later, it completes. When I get a chance, I just discard the 2 hours of infomercials, a satisfying side benefit.

    What I really want however, is to be able to schedule the update downloads in the middle of the night too. I can create a scheduled task to wake the machine and actually start McAfee's GUI. When I do this through Windows, the mcagent.exe program has an argument /desktopicon. I'm not sure where why Windows decided to apply this argument, but if mcagent also had an /update and /scan options that would force an update and a scan, then I could set up scheduled tasks to force it to do my bidding. I'll continue to investigate this possibility, but for now, I'll live with deleting infomercials.