Archive for the 'Jailbreak' Category

iPhone 3G(s) 3.1.2 Sync’ed in Gentoo

Yep, that’s right.  Sync’ed, finally.  It took a little work, and thanks to Marcan and his team of helpers, this can finally be done. The following guide is for gentoo users, but can be tailored to work for any linux OS. I successfully got Rhythmbox and Amarok to play all of the music from my iPhone.

Step 1: First, you need add the Rion overlay from layman.

# emerge -va layman
# layman -a rion
# layman -S
# echo `PORTDIR_OVERLAY="/usr/local/portage/layman/rion"` >> /etc/make.conf
# env-update
# eix-update

(if you have a PORTDIR_OVERLAY line already, then just add it manually with your favorite editor)

Step 2: You will need to emerge a couple of packages, if you have them installed, it is best to remove them first, then emerge the new ones.

# emerge -C libusb usbmuxd libplist libiphone ifuse

You will need the following packages in order for this to work right. Note that the version DOES matter. If you have older versions, they need to go, but same or later versions are good.

  • 1. dev-libs/libusb-1.0.5
  • virtual/libusb-1
  • 2. app-pda/ifuse-0.9.4
  • 3. app-pda/libplist-0.16
  • 4. app-pda/libiphone-0.9.4
  • 5. app-pda/usbmuxd-1.0.0_rc2

The 9999 packages of any of these really didn’t work for me, so I suggest masking them out.

# echo "=app-pda/libplist-9999" >> /etc/portage/package.mask
# echo "=app-pda/libiphone-9999" >> /etc/portage/package.mask
# echo "=app-pda/ifuse-9999" >> /etc/portage/package.mask
# echo "dev-libs/libusb **" >> /etc/portage/package.keywords
# echo "app-pda/ifuse **" >> /etc/portage/package.keywords
# echo "app-pda/libplist **" >> /etc/portage/package.keywords
# echo "app-pda/libiphone **" >> /etc/portage/package.keywords
# echo "app-pda/usbmuxd **" >> /etc/portage/package.keywords
# emerge -va libusb libiphone ifuse libplist usbmuxd libgpod

Additionally, I would make sure that amarok and/or rhythmbox are built with ipod support (USE=”ipod”). Just add the ‘ipod’ use flag to your USE line in /etc/make.conf.

Now, we have to create the usbmux user so that usbmuxd will work properly. You will have to make sure that this user has access to usb and plugdev. I added wheel too, but it isn’t necessary.

# useradd -G usb,plugdev,wheel -s /bin/bash usbmux

Once everything is emerged successfully, you need to test out and make sure that your iphone is being registered when it connects. First you will have to modify the udev rules so that you can see the output. Increase the syslog debug level by editing “/lib/udev/rules.d/85-usbmuxd.rules” and adding “-v -v” flags to the end of both RUN statements. Now you can run the following and see if usbmuxd is seeing your iphone.

# tail -f /var/log/messages
Dec 12 11:39:27 ghost kernel: [450381.899021] usb 2-4: New USB device found, idVendor=05ac, idProduct=1292
Dec 12 11:39:27 ghost kernel: [450381.899024] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Dec 12 11:39:27 ghost kernel: [450381.899026] usb 2-4: Product: iPhone
Dec 12 11:39:27 ghost kernel: [450381.899028] usb 2-4: Manufacturer: Apple Inc.
Dec 12 11:39:27 ghost kernel: [450381.899030] usb 2-4: SerialNumber: 69a4294a91a56958927f3fafe0086bf90ccd2d2b
Dec 12 11:39:27 ghost kernel: [450381.899134] usb 2-4: usb_probe_device
Dec 12 11:39:27 ghost kernel: [450381.899137] usb 2-4: configuration #1 chosen from 4 choices
Dec 12 11:39:27 ghost kernel: [450381.900385] usb 2-4: adding 2-4:1.0 (config #1, interface 0)
Dec 12 11:39:27 ghost kernel: [450381.900413] usb 2-4:1.0: uevent
Dec 12 11:39:27 ghost kernel: [450381.900485] drivers/usb/core/inode.c: creating file '012'
Dec 12 11:39:27 ghost kernel: [450381.900505] hub 2-0:1.0: state 7 ports 6 chg 0000 evt 0010
Dec 12 11:39:27 ghost kernel: [450381.905696] usb 2-4: usb_disable_device nuking non-ep0 URBs
Dec 12 11:39:27 ghost kernel: [450381.905701] usb 2-4: unregistering interface 2-4:1.0
Dec 12 11:39:27 ghost kernel: [450381.905782] usb 2-4:1.0: uevent

If you are seeing your phone come up, then everything was done right. The last thing to do is mount the phone. simply use ifuse, and mount it to a specified mount point.

# ifuse /mnt/to/location

Again, you can now browse the entire filing system, and when you import the music, it should convert so that it isn’t in the hashed/encrypted form. Rhythmbox even got the album art.

I am working on how to copy music to the iphone now, so if anyone got that down, please let me know.

Blackra1n, Jailbreaking iPhone 3G(s) or iPod Touch with 3.1.2

Thanks to geohot, we finally can jailbreak iPhone 3G & 3GS, and iPod Touch’s with the newest 3.1.2 firmware. I had a little fun trying to get this working, but after finding the right sources, and the right guides, I got it. I wanted to make a simplified guide that would help join all of the different peoples ways to one of the easiest.

First, thanks to geohot at http://blackra1n.com/ and the redmondpie.com guys.

So, the steps.

Before we start, BACK YOUR PHONE UP, you will lose all data on it.

1. Get the latest version of iTunes.
2. DO NOT update your device with iTunes!! Download the latest custom firmware from…

3. Holding the left-shift button, click the restore button in iTunes, and select your custom firmware file. Let iTunes restore your phone this way. Again, do NOT download the firmware through iTunes. If you were not prompted to select a file, you didn’t do it right.
4. After the phone is restored, before you install the carrier updates, and restore your backups back to the phone, download blackra1n here.
5. Run blackra1n, click the “make it ra1n” button, and let it jailbreak.

The process takes about 10 – 15 seconds, so if you go any longer than that, you need to hold the power button and the home button down until your device shuts off, power it back on, and redo step 5 until it does work.

Go here if you want to learn about tethering your iPhone.

Enjoy!

iPhone 3.x Firmware and Amarok ?!?

There might be hope…

http://marcansoft.com/blog/2009/10/iphone-syncing-on-linux/

It seems as if there is a project underway to help us linux users get the best out of our iPhones!

Redsn0w, Linux and Jailbreaking iPhones

redsn0w_iPod_d-tI finally got my iPhone jailbroken in linux using VirtualBox and Redsn0w.  I know this isn’t the primary method that people want to use, but it is a step in the right direction.

There is a lot of having to re-connect the device because it will disconnect itself from the virtual machine, but as long as you are paying attention, then you shouldn’t have a problem.

On another note, I haven’t given up on trying to sync the iPhone 3G running the 3.0 firmware with Amarok, but things have been slow.  I started up again, and ran right into the same problem I had last time, where does the FirewireGUID information get saved?  There also seems to be problems with the permissions once logged into the iPhone via ssh.  Hopefully soon I will figure this one out.