Zune Jailbreak

I found a zune in my couch, decided to use it.

Most people find pocket change. Am I lucky that I found a functioning 18 year old zune? probably, yeah.

The Zune is interesting because it's from the start of the era of Apple's influence on personal electronics: it uses a weird custom version of a common file transfer protocol in unnecessarily encrypted fashion. Ballmer was even upfront about why (alternate archive.is in case of linkrot) back in the day:

Apple -- with one model that was simple and consistent -- wound up taking 75%-80% of the market. So we said, 'Okay, what do we have to do here?'.... We had to make the market, not just let our partners make the market... Some of our partners will say 'This wasn't partner-friendly.' But having our partners only have 20% of a market share between them is also not very partner-friendly. One of the key things ... that I have learned about business partners is that business partners are your partners because they make money with you, they succeed with you. And if you don't succeed, eventually you don't have any partners.

AKA 'Apple are eating our lunch, we've got to copy them, even if we piss off our partners short-term.' Downside for us here in the future though is that unlike the iPod, there's not nearly the enthusiast community around the Zune. Don't get me wrong, plenty of people have worked real hard to make Zunes work even in 2024--tools like Zune.dev, and some 3rd party flash drives--but the encryption isn't cracked, so we can't install our own firmware on the zune, and we need tools like aforementioned zune.dev to initialize new disks rather than having the device self-init with a reasonable and normal file system. But, I digress.

Actually getting it working though

After I discovered it wasn't just plug and play, I started with some research, with an eye toward jailbreaking. I'd heard of Rockbox for iPods and hoped to find something similar for the Zune. This reddit thread amongst others make me less hopeful (if you know anything... hmu on mastodon; link on contact page). But I did find a post (archived) talking about a way to make it work, with a link to a file that'd help in that endeavor. Just touch ~/.mtpz_data and add the text in that link to the file. Then connect the Zune, run mtp-detect, and you should be able to connect with any ol' mtp client. Should.

The second act tribulations

I ran into a whole host of problems with what seemed like usb permissions, including chasing down how to change device permissions because mtp-detect claimed not to have permissions for the device. This page talks about some specific error message strings which I'd googled: device activation failed and read-only device open failed. So I thought I was in the clear changing USB permissions, but it didn't seem to work.

A light in the darkness

Eventually, a defect in my laptop's USB drivers saved me; every now and then unplugging and replugging the same device will crash USB on that port and make lsusb hang the whole machine. I got tired of hard reboots so I decided not to unplug the Zune between one attempt and the next, but unmount it instead. With the benefit of hindsight and the presentation of this post, we both obviously know that was key, but at the time it led to me getting file transfer working, only for it to immediately fail right after when I did the "same" thing. After enough times I did figure it out though, and I immediately realized my efforts to change USB permissions were a big ol' red herring. The reason mpt-detect didn't have permissions was because the OS was auto-mounting what it recognized as USB mass storage.

Through trial and error though, I figured out the process for getting it to work.

  1. sudo apt install gmtp mtp-tools
  2. wget https://web.archive.org/web/20190403041703/http://compsoc.nuigalway.ie/~slibuntu/.mtpz-data
  3. plug in the Zune to a USB port, and unmount it in your nemo/nautilus/dolphin/explorer
  4. run mtp-detect
  5. run mtp-connect
  6. run gmtp and then click "connect" in the GUI when it pops up
  7. and then you can add stuff from GMTP

A red zune upright on a desk in front of a cool black and yellow painted desktop case. The screen of the zune is lit up, showing The Huntress and Holder of Hands album Avalon, which i've recently added to the zune

Final notes

I've mentioned GMTP, but the android-file-transfer app works ok too. I run into problems sometimes with it adding an album as a series of tracks named ".mp3" that are full size but won't play. Since it only works occasionally and I haven't figured out what's causing that, I've just stuck with GMTP

One final caveat: album art bigger than some arbitrary size (not sure what, exactly, maybe 1024KB) causes the whole Zune to crash. Apparently the original client for windows had checks to prevent this from happening and would auto-resize. Also, apparently album art has gotten a lot larger in the last 20 years. One of my albums--Interdimensional Invocations, by Xoth--has a 9.8MB cover png. Why? Wherefore??