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.
# 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.
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/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.
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.
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.
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.
0 Responses to “iPhone 3G(s) 3.1.2 Sync’ed in Gentoo”