Syncing iPhones and iPods Touch w/ Firmware 2.x
Apple has encrypted the library database on the latest firmware, and as such the above approach will not work. Apparently using the above approach will transfer the music, but Apple’s music player on the iPod will not recognize any of the transferred files. The solution, then, is to use another music player on the iPod. Use the steps below to wireless transfer music to your iPod and play it using a third party app called PwnPlayer.
Syncing with Firmware 2.x possible!
EDIT: Actually, you can edit /System/Library/Lockdown/Checkpoint.xml, find the DBVersion key, and change its value from 4 to 2 (MAKE A BACKUP FIRST!!!). See http://marcansoft.com/blog/2009/01/using-amarok-and-other-itunesdb-compatible-software-with-the-iphone-2x/. This allows you to sync with libgpod, as well as any apps that use libgpod (Tested with Amarok and gtkpod: it works fine, except that podcasts cannot be synced (sunk?). Music syncs just fine. Rhythmbox doesn’t seem to recognize it though).
Use the guide above for further configuration.
Setting up the iPod or iPhone
Make sure your iPod is jailbroken. QuickPwn works well for 2.x firmware, and a quick Google search will point you to directions (Unfortunately, you’ll need to borrow a Windows or a Mac machine for the jailbreaking, but after that, it’s Ubuntu all the way). In the process of jailbreaking, make sure to select the option that installs Cydia (Cydia is a front-end for the iPhone’s apt port).
On your newly jailbroken iPod, update Cydia and install OpenSSH through it. PwnPlayer is also recommended by some users but you should note that it’s not necessary as you’ll still be able to play your music on the standard iPod application of your iPhone if you synchronize with this method.
In Ubuntu, select Places>Connect to Server. In the dropdown box labeled “Service type,” select “SSH”. In the “Server” field, input your iPod’s ip address (this can be found on your iPod by going to Settings>Wi-Fi>arrow-next-to-SSID-of-network-you’re-connected-to). Finally, under username, enter “mobile”. Leave other fields blank. Click connect.
- When it asks for a password, enter “alpine” (this can–and should–be changed, see below).
You should now have your iPod mounted on your desktop, and can transfer music onto it. The default location for PwnPlayer‘s filesystem music player is /var/mobile/Media/Music. Simply copy and paste music into this directory.
Playing Music with standard iPod application
- To see new Tracks you transferred to the iPod, you need to fully quit and restart the Music Application. One Click on the Home Button only “minimizes” it, pressing the Home button 5 secs should work. I use SBSettings and the “Processes” Switch. Works fine. Restarting the iPod by pressing the “On/Off” Switch for 5 secs works, too.
Optional: Playing Music with PwnPlayer
On your iPod, open PwnPlayer (select the icon labeled “Player”).
- Select “File system” from the choices on the bottom of the screen (“Library” does not contain your music).
- You should see all your music
Tips, Tricks, Troubleshooting, etc
The standard iPod music player is able to display album art embedded in ID3 tags OR organized as iTunes does it (in separate folders somewhere in your iTunes library location). If you have previusly synchronized your music with iTunes, the album art IS NOT embedded in the ID3 tags of your files. Adding music through amarok or gtkpod will switch the album art display mode of your iPod to displaying only embedded album art, so you’ll probably lose most of the album art added through iTunes. The only workaround I found is to copy your iPod music to your computer with amarok, then use EasyTag to embed the album art to the ID3 tags and then sync back to the ipod (it can be very time consuming).
You can change your password in your iPod by logging in from the terminal. Type “ssh mobile@”, login, and type passwd to change the password.
There is also a root user on your iPod, and it is advisable to change that password as well. Follow the directions above, but use “ssh root@” in the terminal.
- You can also transfer music from the terminal using scp, but I’m sure you already know how to do that ; )
You can change the location of the music in PwnPlayer by going to “Featured” and selecting “Settings” in the top left hand corner.
I’ve only tried PwnPlayer with mp3’s. I do not know if it works with other music files.
Lastly, given that PwnPlayer is basically a file browser, it’s much easier to find the song you want if your music’s file structure is organized. I recommend you organize your Music folder on your computer using Amarok before transferring any music.
Finally, note that PwnPlayer is still beta, so it might have a few bugs.
Better use Handbrake, which is now accepting any video input to create a apple compatible video file so you don’t need the skippy mplayer.
This involves using mplayer4iphone (available through Cydia on jailbroken iPhones) and WinFF using an iPhone 3g with 2.2 firmware.
- Jailbreak your iPhone
- Install mplayer4iphone through Cydia
- Install WinFF on Ubuntu (Medibuntu repository) through Synaptic
- Now convert your videos using WinFF. Use these settings: 480×320, 15fps, XVid in AVI. It’s crucial to keep the fps to 15, since 24fps, etc. was jerky for me. Here’s my preset for WinFF if you want to create one: -r 15 -vcodec libxvid -vtag XVID -s 480×320 -aspect 4:3 -maxrate 1800k -b 1500k -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -g 300 -acodec libmp3lame -ar 48000 -ab 128k -ac 2
- Once you have your video converted, connect to your iPhone using the SSH method detailed above. This will open a window showing your iPhone file structure.
- Mplayer needs your videos to be in this folder: root/var/media. Just drag your video files to that folder.
Now you can just play your files in fullscreen on Mplayer on your iPhone, with audio synch working fine.
Syncing via Cable
Seems like nobody is interested in syncing via cable. Nevertheless it is possible, for example if you don’t want to setup an AdHoc Wlan ( Anybody succeeded creating one with WPA? ) or if you don’t have Wifi at all.
Go to http://www.cs.toronto.edu/~jingsu/itunnel/ and download the iTunnel program for linux. It includes a binary or compile your own. Start the Binary in a Terminal/Xterm and create the Tunnel on a self chosen port with ./itunnel 7777. Then you have to mount the ipod’s file system with sshfs -p 7777 root@localhost:/var/mobile/Media /media/ipod. Set up the FirewireGUID as described in the Firmware 1.x Guide. Then Start your Program for transferring MP3s ( amarok etc. ) and point it to /media/ipod. You should be able to transfer Music to the device.
iTunnel is based on some older Code of iFuse. Get iFuse at http://matt.colyer.name/projects/iphone-linux/index.php?title=Main_Page. I was able to get a connection, but it was unstable and I was not able to sync Music.
iTunnel gives me about 400kb/sec iFuse gives me about 250kb/sec WLan gives me about 10 – 800kb/sec, WLan crowded places give less
Copying photos to the iPhone or iPod Touch
Photos can be copied into the Media/DCIM directory in the mobile account. They need to follow the directory and image numbering conventions used by the iPhone/iPod. Multiple image formats are allowed, but they should have a thumbnail (.THM) file which is a 55×55 pixel JPG file.
There is a command-line script that can copy images to the iPod Touch or iPhone using ipod-convenience or scp available at http://marginalhacks.com/#img2iphone
Note that it is free to use and source available, but not technically open source.