Zune 2: Podcasts Separated from Music!

Thank God! The new Zune separates podcasts from music. Not that I don't love listening to Carl Franklin or Scott Hanselman talk for hours on end, but when I play my entire music collection on shuffle mode, I don't really want to hear a talk show.

Since I kept scores of DNRs and Hanselminutes on my Zune, I found myself needing to skip tracks all of the time before now... That manual interaction proved to be quite the distraction when all I was trying to do is concentrate on a programming task.

Add Comment Filed Under [ Zune ]
How to Get the Zune 2.2 Firmware When Your Corporate Proxy Requires Authentication

The Problem

The new Zune firmware is out! Yay!

The Zune software still uses BITS as the only means to download the firmware. Boo!

BITS doesn't like being behind a HTTP proxy server that requires authentication. In my particular situation, I must authenticate against a Microsoft ISA Server using Integrated Security (i.e., NTLM authentication) before my machine is permitted to receive files from a remote webserver.

But, by default, BITS doesn't automatically provide your domain user information to the proxy server. So, when the Zune software attempted to use BITS to download the firmware, it failed, and I only got a "C00D11CD" error message.

Those of you following along at home might think that this problem sounds very familiar to this post. In most aspects, it is. However, that previous issue was that the LMCompatibilityLevel registry setting was a value less than 2, which was preventing the ability for BITS to automatically perform NTLM authentication. Now that I'm using Vista (again), that LMCompatibilityLevel setting is 3 by default.

So, that's not the issue.

The Resolution

After researching a little bit, I found documentation pointing to another registry key:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\BITS\UseLmCompat

My UseLmCompat setting was a 2, meaning:

2: BITS will send implicit credentials only if the application called the SetCredentials method.

Apparently, the Zune software does not call the SetCredentials method.

A value of 1 would probably be appropriate:

1: BITS will send implicit credentials only if the client computer’s LMCompatibilityLevel registry value is greater than or equal to 2.

But, I didn't want to take any chances, so I chose the value of 0, which means "Just Do It Regardless":

0: BITS will send implicit credentials whenever the server prompts for NTLM or Kerb credentials.

Simply changing the registry entry was not enough for the change to be picked up automatically. I needed to also restart the Background Intelligent Transfer Service itself. Also, the Zune software hung once after I made this change, requiring me to kill the Zune.exe task from Task Manager.

But, after restarting the Zune software, I was able to click the Install button and proceeded to download the new firmware.

The standard disclaimer applies: Use at your own risk... If you're not comfortable editing your registry then don't... Don't call on me for support... I'm not responsible for what you do with this information.

Also, it's probably a good idea to change the registry setting back after you have the firmware downloaded. There was a good reason why that was the default setting.

22 Comments Filed Under [ Articles Zune ]