Sunday, May 25, 2014

Downgrade Apple TV 2 so we can jailbreak it

I recently found an AppleTV 2 just collecting dust in my fathers basement. Since I am already running XBMC in the family room on an original 40GB AppleTV via Crystalbuntu 2.0, it was an easy decision to want to put XBMC on it. When I booted it up and went to the about section within settings it showed that it was running software 6.1.4. In order to be able to install XBMC on it I have to jailbreak it and in order to jailbreak it, the software version needs to be 5.3. Hence the reason for the post.
A critical thing to point out is that this is a version 2 AppleTV, version 3 AppleTV's haven't been jailbroken yet so if you're going to attempt at putting XBMC onto an AppleTV that you're going to buy ensure it's a version 2. Here's a video I found which explains which version is which.
This post will show you how to get your device downgraded in case it's running any software which is higher than 5.3.
Items you'll need to complete this task;
-AppleTV version 2
-Computer running Windows with iTunes installed (I used Windows 7 Ultimate and iTunes 11.2.0.115. NOTE: you can also do this within OS X but these instructions only cover using Windows)
-Micro-USB cable (do NOT use a usb hub or usb extender)
First you'll need to download the 5.3 ISPW file, I got mine from here: atv 2 5.3 ISPW
Download that ISPW file and store it on your desktop for now. In order for us to downgrade the software on your atv 2 we'll need to get the device into DFU mode. Connect power to your atv 2 as well as connect the micro-usb cable to the back of the atv 2 and the other end to your computers usb port. Using the atv 2 remote hold the menu button along with the play button for approximately 10 seconds until the light on the front of the atv 2 starts blinking. If you did it correctly iTunes window should appear and state that your device is in recovery mode. That's what we want. If yours does anything like mine it wasn't as easy to get it into DFU mode as it sounds. The following steps are what worked for me:
-Press menu+down for around 10 seconds and you'll see the light blink, this restarts the atv 2
-Remove the power cord from the back of the atv 2 (it's still receiving some power from the usb plug)
-Press menu+play for approximately 7 seconds or so (this should put it into DFU mode)
-Replace the power cable and continue
iTunes should now show that your device is in recovery mode.
It's now that you hold the shift key on your keyboard and click on "Restore Apple TV...", navigate to where you stored the 5.3 ISPW file (your desktop if you followed along) and double click it, click Restore. iTunes should now be restoring your AppleTV 2 to software version 5.3. After approximately 5 minutes iTunes will inform you that your device has been restored.
You can now unplug the micro-usb cable and connect the HDMI cable to your TV. You'll be presented with the screen where you choose the language you want your AppleTV 2 to be and proceed thru the setup and that's it. You're done. Your device is now running software version 5.3 and is ready to jailbreak.
I may create a blog post covering how to jailbreak your AppleTV 2 but it all depends on how busy I am.

-Ubu out

Saturday, May 17, 2014

Ubuntu 13.10 upgrade to 14.04 failure

I was running Xubuntu 13.10 for a couple months, it was a new installation (not an upgrade from a previous version) when I had built my current Haswell all purpose rig. I had just upgraded my server from 12.04.4 to 14.04 so I figured it was finally time to upgrade my workstation to 14.04. Normally going from 1 release to the next is as simple as clicking the Update Manager located within System but I was receiving an error. It was
ERROR:root:Could not find any typelib for Dbusmenu 
ERROR:root:Could not find any typelib for Unity
WARNING:root:can not import unity GI cannot import name Dbusmenu

(update-manager:2799): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:3274:48: Expected ',' in color definition
Checking for a new Ubuntu release
(do-release-upgrade:2872): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:3274:48: Expected ',' in color definition
** (do-release-upgrade:2872): WARNING **: Failed to load shared library 'libwebkitgtk-3.0.so.0' referenced by the typelib: libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib/python3/dist-packages/gi/_gobject/__init__.py:58: Warning: cannot derive 'DistUpgrade+ReleaseNotesViewerWebkit+ReleaseNotesViewerWebkit' from non-derivable parent type 'void'
  _gobject.type_register(cls, namespace.get('__gtype_name__'))
Traceback (most recent call last):
  File "/usr/bin/do-release-upgrade", line 152, in <module>
    fetcher.run()
  File "/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeFetcherCore.py", line 274, in run
    if not self.showReleaseNotes():
  File "/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeFetcher.py", line 71, in showReleaseNotes
    res = self._try_show_release_notes_webkit()
  File "/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeFetcher.py", line 81, in _try_show_release_notes_webkit
    from .ReleaseNotesViewerWebkit import ReleaseNotesViewerWebkit
  File "/usr/lib/python3/dist-packages/DistUpgrade/ReleaseNotesViewerWebkit.py", line 35, in <module>
    class ReleaseNotesViewerWebkit(WebKit.WebView):
  File "/usr/lib/python3/dist-packages/gi/types.py", line 175, in __init__
    super(GObjectMeta, cls).__init__(name, bases, dict_)
  File "/usr/lib/python3/dist-packages/gi/_gobject/__init__.py", line 46, in __init__
    cls._type_register(cls.__dict__)
  File "/usr/lib/python3/dist-packages/gi/_gobject/__init__.py", line 58, in _type_register
    _gobject.type_register(cls, namespace.get('__gtype_name__'))
RuntimeError: could not create new GType: DistUpgrade+ReleaseNotesViewerWebkit+ReleaseNotesViewerWebkit (subclass of void) 
I went to System Settings and then Menu Editor to find out what command "Software Updater" was running and it turned out it was only running
/usr/bin/update-manager
which I thought was weird as normally if you're updating your system files you'll need root access so I decided to run the command with gksudo. The command that worked is the following;
gksudo update-manager
NOTE: You don't need to use /usr/bin/ due to that directory being in your environment path anyway. After running that command I was presented with the possible upgrade to 14.04. I am now running Xubuntu 14.04 and everything is working great.

-Ubu out