Achieving HDMI audio output with ATI hardware on Windows 7 (and Vista)

The steps in this article were figured out with Windows 7. However, they should work just fine with Vista for anybody having the same issues. Note that whilst this is written for ATI hardware, it may be the case that NVidia gear suffers from the same problem and this solution should help.

Background first. I spent a while sorting our AV gear so I could use HDMI as the universal connection standard. At the heart of this is an AV receiver with a number of HDMI inputs and HDMI output to the TV.

I spent a while looking at how to achieve audio output over HDMI for the Media PC we have. The previous model, which had given exemplary service, was built around a Shuttle SN41G2 chassis. With the graphics card it had, DVI was possible, and optical digital output, but it didn’t have the grunt to decode high definition video, so it needed replacing.

As I mentioned in a previous post, it’s replacement was a Hiper barebones built around the AMD 690G chipset which has HDMI output and, critically, will support audio over HDMI.

I started the great process of connection and configuration simply – PC plugged directly into TV. In this configuration, I simply set the HDMI audio output device  as the default output device and happily got sound from the TV and faultless video.

That was easy! I unplugged the PC from the TV, plugged it into the AV receiver and continued to get sound and video. Brilliant!

Reboot the PC, however, and the video gets crappy and the audio disappears.

I did a great deal of digging and found a whole heap of discussion related to this issue on the fantastic AV Science Forum. The problem, it turns out, is widespread, and afflicts owners of ATI hardware the world over when connecting to AV receivers of all makes and models. The root cause seems to centre around the capabilities information passed down the HDMI connection when plugged into the AV receiver. For some reason, it seems to confuse the capabilities of the TV and receiver in such a way as to convince the PC that audio is not supported.

The solution, it turns out, is to create your own device driver .inf file which details correctly the capabilities of the TV and receiver and overrides the connection information.

The forums had much discussion involving registry hacking, copying and pasting of hex data into. inf files and much more. However, they also focused on a tool referred to in the forums as moninfo. A bit of googling later and it turns out they mean Monitor Asset Manager – a free utility from EnTech, makers of the mighty PowerStrip shareware tool.

Armed with this mighty tool, the steps to success are as follows:

  1. Connect the PC to your TV (no AV receiver in the loop). I would reboot the PC to make sure it’s sensed everything correctly at the start of the process.
  2. Run Monitor Asset Manager. It will display all manner of information detailing the TV and its capabilities.
  3. Click the file menu and hit ‘Create INF…’ and give the file a sensible name (mytv.inf for example).
  4. Hit F5 to refresh the moninfo display. Make sure it refreshes correctly. You may need to click on different bits of the window to make sure focus is set correctly.
  5. Now comes the tricky part. Unplug the TV from the PC. You now need to connect the PC to the AV receiver, but making sure that the receiver is not connected to the TV. This means you won’t be able to see anything on screen so make sure you don’t accidentally switch focus away from moninfo. You can’t have any other displays attached either, as this will confuse the information moninfo sees.
  6. Working blind, hit F5 a few times to make sure the moninfo details are refreshed with the information from the receiver. Leaving the PC for a few minutes to make sure all the hardware connections have sorted themselves first is a good idea.
  7. Disconnect the PC from the receiver and reconnect to the TV so you can see what you’re doing. Don’t refresh moninfo!
  8. Repeat the process to create a new .inf file. Call it something like myreceiver.inf.
  9. The next part moninfo can do for you, but I did it myself to make sure I knew what was going on. Choosing ‘merge extension block with inf’ from the file menu should allow you to take a crucial bit of the sensed details from the AV receiver and combine them with the details in the tv inf file. I did by hand.
  10. Create copies of the mytv.inf and my.receiver.inf.
  11. Open myreceiver.inf. You will see a line which says
    ;Extension bloc #1, e.g. , CEA-EXT, DID-EXT, etc.
    Copy the line beneath it which begins HKR, EDID_OVERRIDE,”1” to the clipboard.
  12. Open mytv.inf. Find the same line
    ;Extension bloc #1, e.g. , CEA-EXT, DID-EXT, etc.
    Replace the line beneath it with the line from your clipboard.
  13. Save the .inf file as something else (mytvandreceiver.inf)

You now have a device information file which will override the information received over the HDMI connection and convince your PC to support the output formats it should do – including sound!

Connect your systems up how you actually want them – PC to receiver, receiver to TV and reboot the PC.

In Windows 7, to use the custom .inf file with your monitor, follow the steps below:

  1. Right-click the desktop and select Screen Resolution.
  2. Click the link on the right hand side of the dialog which says ‘Advanced Settings
  3. In the dialog that appears, select the Monitor tab and then click the Properties button.
  4. In the new dialog, select the Driver tab then click the Update Driver button.
  5. Select the option to ‘Browse my computer for driver software’.
  6. On the next screen, choose ‘Let me pick from a list of device drivers on my computer’.
  7. On the next screen, click ‘Have Disk’.
  8. In the file dialog, browse to the folder with your mytvandreceiver.inf file (this is much easier if it’s the only file in the folder) and select it.
  9. You should then see your device listed in the driver selection screen. Select it and click Next. You may need to confirm that you want to use the driver as it is not digitally signed.

Once you’ve got the driver installed, reboot your PC. You should find that you get the decent picture and HDMI audio that you had when plugged into the TV.

Kudos to the guys on the AVS Forums who figured all this out. It was extremely frustrating until I found their sage advice.

Vista on Dell Mini 9: Using junctions to move files off the SSD

Flush with my success earlier in getting apps installed on the SD card now mounted as ‘c:\SD Program Files’ I installed a few things. I then hit a snag.

When you install apps using an MSI, the installation files get cached by Windows Installer. Steadily, c:\windows\installer gets bigger and bigger, so whilst my apps were no longer taking up space, the install files were (and some of those are quite large).

I now have an image of the Vista install so I’m becoming more cavalier. I wondered if I could move the Installer folder from c:\windows onto my SD card by copying it into the mount point, but still get Windows Installer to work as though nothing had changed.

So, first I used Robocopy with the /SEC option to copy the installer folder tree over. Next, I deleted c:\windows\installer and created a directory junction which allows the moved content to still be accessed as c:\windows\installer.

To create a directory junction, use the mklink command with the /J switch to create the installer folder in c:\windows and point it at ‘c:\sd program files\installer’.

So far, it’s working fine. I need to try a few more installs to be sure, though…

Vista on the Dell Mini 9: Installing applications on an SD card

I’m still trying new things with the Mini 9. I now have an image file that I can restore to the Mini which has my base install after running sysprep. The problem I have is storage space – the SSD isn’t _quite_ big enough.

So, Richard wandered in this morning and handed me a 4Gb SD card to experiment with. The question: Can we use the SD card and install app onto it?

Our initial finding was a big fat no. Visual Studio setup refused to install to ‘removable media’. Bearing in mind all we’d done at this point was stuff an SD card into the card slot I wasn’t too surprised.

I fired up computer manager and went into disk admin. The partition on the SD card was FAT32, so we replaced that with an NTFS partition for a start.

I then went into the drive properties and changed the Policy settings. By default the SD reader is set to allow instant removal. Changing that to enable write caching means I will have to use the tray icon to ‘Safely Remove Hardware’, but I think that’s the key setting to allow me to install apps. However, I wanted to make things a little more integrated, so I created a folder on the C: drive called ‘SD Program Files’ and used it as a mount point for the SD card.

Visual Studio is now happily installing to the SD card.

As a 16Gb SD card is around twenty-five quid, this makes a reasonable approach to increasing storage space, assuming apps run reasonably quickly from the drive.

That’s the next test…

Updating firmware on SPV M3100 (HTC TyTN)

Still no Windows Mobile 6 update for my Orange SPV M3100, but they did release an update to WM5 recently.

Installing said update turned out to be slightly trickier than I expected. I don’t know if anybody else has experienced the same problem, but a word to the wise – don’t try the update on Windows Vista!

The first part works OK – it connects to the device and interrogates it, but when it actually tries to connect and download the new firmware it fails.

Luckily, I still have a PC at home running XP (Media Centre Edition, as it happens), so I installed Active Sync 4.5 and rant he update successfully on that.

I’m surprised though – Vista’s nearly six months old now and there must be others with the same phone who don’t have the recourse to an old PC (!) to run the update.

Vista Upgrade – attempts 4, success 0

I have yet to succeed in upgrading from Windows XP to Windows Vista. Each time it runs through to the completing upgrade phase, gets about halfway through that bit whereupon I get stuck in a reboot cycle.

I have tried this now on three separate machines and two different installed partitions on one of them.

Two of the machines were Shuttle SN25G2 SFF boxes with Nforce 2 motherboards and the onboard nforce 2 (basically a geforce 2) video.

One of them was an Acer E360, an nforce 3 chipset box with an Nvidia 6600GT display card.

On the OS front, the Shuttles ran XP Pro SP2, fully patched; the Acer has the XP MCE that it came with, and an XP Pro SP2 install.

I’m starting to wonder if the common denominator here is Nvidia. In spite of the fact that I spent a long time with my Acer stripping off drivers and applications and repeatedly trying the upgrade I have not managed a successful upgrade. Has anybody managed to upgrade an Nforcex system?

What I will say, having now lost days of my life to failed upgrades, is that the Upgrade Rollback feature of Vista is fantastic! A no messing, works every time, put it back to how you found it option that takes only a few minutes. Wonderful!

So, now I’m going to look into the recently-release Windows Easy Transfer Companion as a way to get my applications across onto Vista.

Why do I need to do that? Because Acer, like so many other manufacturers these days, provides no installation media for the applications they ship with the computer. Unless I want to shell out again for things like PowerDVD and NTI CD-Maker I need to either upgrade (been there, tried that), hack the cached installed files (also tried, and failed) or use a magic bullet (see above). I’ll let you know how I get on with that one.