iPod touch 3G sync over USB without jailbraking in Ubuntu karmic

Sponsored Link
This tutorial will explain how to sync ipod touch 3g over USB without jailbraking

Credit goes here
First you need add the following repository from terminal

sudo add-apt-repository ppa:pmcenery/ppa

Update the source list

sudo apt-get update

Install the following packages

sudo apt-get install gvfs gvfs-backends gvfs-bin gvfs-fuse libgvfscommon0 ifuse libgpod-dev libgpod-common libiphone-utils libiphone0 python-iphone libplist++1 libplist-utils python-plist libusb-1.0-0 libusb-1.0-0-dev libusbmuxd1 usbmuxd

This will install all the required packages

Configuration

You need to edit fuse.conf file

gksudo gedit /etc/fuse.conf

Change

#user_allow_other

to

user_allow_other

Save and exit the file

Next, open “System” -> “Administration” -> “Users and Groups” in Ubuntu Menu. Click on the little key at the bottom to unlock it for making changes. Then, select your username and click on “Manage Groups”.

Find the “fuse” group and double-click on it. Make a checkmark next to your name in the window that opens. Click on OK and close all dialogs. You’re now in the “fuse” group.

Next, completely log out and in again – or do a reboot to be safe. This is very important step

We can now mount the phone as regular user after connecting it using the following command

$ ifuse /mnt/ipod/

We can also unmount as regular user using the following command

$ fusermount -u /mnt/ipod/

You can  Prepare ipod itunes directory create the “iTunes_Control/Device” directory

$ mkdir /mnt/ipod/iTunes_Control/Device/

Then, get your UUID

$ lsusb -v | grep -i iSerial

It’s the first number and should be 40 characters long. Then, run:

$ ipod-read-sysinfo-extended

(mountpoint here is /mnt/ipod/)

This should generate a file named iTunes_Control/Device/SysInfoExtended.

Make sure it’s not empty and whatnot; it should be a large-ish plist (XML file) with a bunch of info.

$ fusermount -u /mnt/ipod/

Reboot your computer

Plug the ipod : you should see it appear on the desktop

and it should now be

a/ directly mounted in rhythmbox and you can add music files (transfer rate still slow but acceptable)

b/ mounted in gtkpod but you'll have to launch the "ifuse /mnt/ipod".

Rhyhmbox is unable to remove music files, so please use the previous gtkpod part either to remove files or add videos to the ipod.

Update from our reader :- It works for Iphone 3g. But at the end of preparation procedure you need to restart both your computer and the iPhone device.

Sponsored Link

You may also like...

70 Responses

  1. sudhir says:

    Hi MaLaGasy,

    Thanks for reply.

    I got nothing after execution of command ls /mnt/ . Here is what i have.

    sudhir@sudhir-laptop:~$ ls /mnt/
    sudhir@sudhir-laptop:~$ sudo mkdir /mnt/ipod
    [sudo] password for sudhir:
    sudhir@sudhir-laptop:~$ ls /mnt/
    ipod
    sudhir@sudhir-laptop:~$ sudo chmod 777 /mnt/ipod/
    sudhir@sudhir-laptop:~$ ps ax | grep usbmuxd
    1863 ? S< 0:00 /usr/sbin/usbmuxd -u -U
    1888 pts/0 S+ 0:00 grep usbmuxd
    sudhir@sudhir-laptop:~$ ifuse /mnt/ipod/
    ifuse: symbol lookup error: ifuse: undefined symbol: iphone_get_device

  2. depeha says:

    THX! it works perfect. I can now sync my iPhone 3G (fw 3.1) on ubuntu 😀

  3. sudhir says:

    Its working perfectly in karmic but not in Lucid.

  4. depeha says:

    Houston, We’ve Got a Problem… many songs play just for 5 seconds after sync with gtkpod…
    but sync with itunes has done its job…

    so… is there some alternative to gtkpod? (like songbird? but how to connect iphone with it?)

  5. Passy says:

    I can’t create the SysInfo file…

    passy@passy-desktop:~$ sudo ifuse /mnt/ipt2
    passy@passy-desktop:~$ sudo ipod-read-sysinfo-extended /mnt/ipt2
    Couldn’t write SysInfoExtended to /mnt/ipt2

    What am I doing wrong? I followed your tutorial 100%. I got a jailbroken iPod touch 3g with 3.1.2 firmware.

  6. matthias says:

    well well – it worked fine, except the little detail that it broke my ipod.

    to be exact: the library is broken, it can not update anymore and is useless now .. which means I got to restore / reset the ipod and loose whatever was on it before 🙁

  7. Passy says:

    Ok I somehow managed to mount it in Amarok (1.4.10). I put some music on my iPod but I don’t see any covers… what can I do to apply them?

  8. Moby says:

    Got it working!!!! Thanks so much. I’ve got an iPhone 3G using software 3.1.2. I followed the instructions but didn’t have to issue the commands to mount the iPhone. Ubuntu mounted it by itself. By the way….I’m using Ubuntu 9.10 (Karmic).

  9. sudhir khanger says:

    My iPhone is being mounted automatically and all the directories like iTunes_control, device, etc are already there. So, i guess i don’t have to do that part.

    Banshee and gtkpod is not mounting my iPhone but Rhythmbox is. And i don’t see any sync option is Rhtyhmbox.

    Can anybody please explain to me how can i mount my iPhone to Banshee or better Songbird?

    Thanks,
    SK.

  10. Tim Inman says:

    Is the package broken? I’m getting: Errors were encountered while processing:
    /var/cache/apt/archives/libusbmuxd1_1.0.0-0ubuntu1~ppa2_i386.deb
    /var/cache/apt/archives/usbmuxd_1.0.0-0ubuntu1~ppa2_i386.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

  11. Ron says:

    I was able to get this working with my new 8Gb iPod Touch (MC086LL). I used iFuse and Rythmbox. I can add and remove files, but I cannot edit MP3 Tags. +1 for Ubuntu. Honestly I don’t know how I got it working, I followed the directions to install the software packages and iFuse. I opened up gtkPod and it recognized it as an iPod, i picked that it was one of the older iPod Touch devices, than I restarted. Now when I plug it in via USB it auto-mounts to some crazy directory and then I open up Rythmbox and it is auto-detected and I can add and remove songs.

  12. Ron says:

    Also, I’m using a fresh Karmic install…

  13. sudhir khanger says:

    Once you can see iPhone in Rhythmbox. What do you do to sync the iPhone?

  14. Tim Inman says:

    OK Ron, I’m going to try to get rid of stuff that may be interfering and try this again.

  15. Tim Inman says:

    Here’s where it goes wrong with me, I get:
    trying to overwrite ‘/usr/lib/libusbmuxd.so.1.0.0’, which is also in package libusbmux0 0:1.0.0-rc1-1ubuntu3~k
    Selecting previously deselected package libiphone0.
    Unpacking libiphone0 (from …/libiphone0_0.9.5-1ubuntu1~ppa2_i386.deb) …
    Unpacking usbmuxd (from …/usbmuxd_1.0.0-0ubuntu1~ppa2_i386.deb) …
    dpkg: error processing /var/cache/apt/archives/usbmuxd_1.0.0-0ubuntu1~ppa2_i386.deb (–unpack):
    trying to overwrite ‘/lib/udev/rules.d/85-usbmuxd.rules’, which is also in package libusbmux0 0:1.0.0-rc1-1ubuntu3~k

    and

    Errors were encountered while processing:
    /var/cache/apt/archives/libusbmuxd1_1.0.0-0ubuntu1~ppa2_i386.deb
    /var/cache/apt/archives/usbmuxd_1.0.0-0ubuntu1~ppa2_i386.deb
    E: Sub-process /usr/bin/dpkg returned an error code (1)

    I’ve tried uninstalling and re-installing and just keep going in circles, if anyone has any advice I’d love to hear it.

  16. Tim Inman says:

    OK It’s working now, kinda. I did:

    sudo apt-get remove libusbmuxd*

    and then reinstalled everything. Rhythmbox now reads but won’t yet write to my iphone.

  17. Tim Inman says:

    OK when I try to drag a song from my music to my phone on rhythmbox, it silently fails. I ran with the debug code and got this:

    (19:38:51) [0x92a5028] [filter_drop_position] rb-tree-dnd.c:454: filtered drop position: TRUE
    (19:38:51) [0x92a5028] [rb_sourcelist_model_drag_data_received] rb-sourcelist-model.c:341: text/uri-list or application/x-rhythmbox-entry drag data received
    (19:38:51) [0x92a5028] [drop_received_cb] rb-sourcelist.c:550: drop recieved
    (19:38:51) [0x92a5028] [impl_receive_drag] rb-removable-media-source.c:561: parsing entry ids
    (19:38:51) [0x92a5028] [rhythmdb_query_model_chain] rhythmdb-query-model.c:784: query model 0x93a2460 chaining to base model (nil)
    (19:38:51) [0x92a5028] [rhythmdb_read_enter] rhythmdb.c:1223: counter: 1
    (19:38:51) [0x92a5028] [rhythmdb_query_internal] rhythmdb.c:4075: doing query
    (19:38:51) [0x92a5028] [do_query_recurse] rhythmdb-tree.c:2243: doing recursive query, 1 conjunctions
    (19:38:51) [0x92a5028] [rhythmdb_query_model_add_results] rhythmdb-query-model.c:2023: adding 0 entries
    (19:38:51) [0x92a5028] [idle_process_update] rhythmdb-query-model.c:1065: inserting 0 rows
    (19:38:51) [0x92a5028] [rhythmdb_query_internal] rhythmdb.c:4081: completed
    (19:38:51) [0x92a5028] [impl_paste] rb-removable-media-source.c:392: copying using existing format

    (rhythmbox:3479): GLib-GIO-CRITICAL **: g_file_new_for_uri: assertion `uri != NULL’ failed

    (rhythmbox:3479): GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)’ failed

    (rhythmbox:3479): GLib-GIO-CRITICAL **: g_file_query_exists: assertion `G_IS_FILE(file)’ failed

    (rhythmbox:3479): GLib-GIO-CRITICAL **: g_file_get_parent: assertion `G_IS_FILE (file)’ failed

    (rhythmbox:3479): GLib-GIO-CRITICAL **: g_file_get_uri: assertion `G_IS_FILE (file)’ failed

    (rhythmbox:3479): Rhythmbox-WARNING **: filesystem root (null) apparently doesn’t exist!

    (rhythmbox:3479): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)’ failed
    (19:38:51) [0x92a5028] [rb_uri_get_filesystem_type] rb-file-helpers.c:1182: unable to get filesystem type for (null): none of the directory structure exists

    (rhythmbox:3479): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)’ failed

    (rhythmbox:3479): Rhythmbox-CRITICAL **: rb_removable_media_source_build_dest_uri: assertion `sane_uri != NULL’ failed
    (19:38:51) [0x92a5028] [impl_paste] rb-removable-media-source.c:401: could not create destination path for entry
    (19:38:51) [0x92a5028] [rhythmdb_process_one_event] rhythmdb.c:2637: processing RHYTHMDB_EVENT_QUERY_COMPLETE
    (19:38:51) [0x92a5028] [rhythmdb_read_leave] rhythmdb.c:1237: counter: 0
    (19:38:51) [0x92a5028] [rhythmdb_query_model_dispose] rhythmdb-query-model.c:659: disposing query model 0x93a2460
    (19:38:51) [0x92a5028] [rhythmdb_query_model_finalize] rhythmdb-query-model.c:707: finalizing query model 0x93a2460

    Any ideas??

  18. Chatnoir says:

    Hi,
    it works with rhythmbox and with gtkpod. But the Music appears not on my ipod touch 3g. And if I try to delete songs they are deleted, but they appear on my music list on my ipod, but i can’t play them anymore.

    Any idea?

  19. Chatnoir says:

    all new files that I’ve created are like this: libgpod495926.mp3 I can see them in nautilus on the iphone, but the phone can’t play them…

  20. hanuman says:

    iphone 3g & karmic – works great can drag songs to and from rhythm box

    thats amazing, now i only need vmware windows for sketchup

    thanks!

  21. Tim Inman says:

    I had it mounting but not updating songs in Rhythmbox. The fix ended up being completely reformatting my iPhone through the settings on the phone.

  22. Adam says:

    Mines real screwed up pretty bad. When I get to the update manager.
    E: /var/cache/apt/archives/libusbmuxd1_1.0.1-0ubuntu1~k_amd64.deb: trying to overwrite ‘/usr/lib/libusbmuxd.so.1.0.0’, which is also in package libusbmux0 0
    E: /var/cache/apt/archives/usbmuxd_1.0.1-0ubuntu1~k_amd64.deb: trying to overwrite ‘/usr/sbin/usbmuxd’, which is also in package libusbmux0 0

  23. Adam says:

    Any thoughts?

  24. John R says:

    I’m using an iPod Touch 8GB (2nd Gen)

    Well, after getting the iPod set up in iTunes FIRST, and adding some video and audio to it – it works a charm in both Rhythmbox and gtkPod.

    RhythmBox mainly for easy music use (it automatically transcodes audio into MP3 onto the iPod) and gtkpod for the video and photos.

    GtkPod does seem slower, but it is doing a fair bit I suppose.

    Oh, and I am able to delete tracks from the RhythmBox interface.

    Setting up cover art is bliss in RhythmBox – and if there is no cover art on the iPod – just playing a track from an album will make RB sync the artwork automatically.

    Praise be that I’ll have to use iTunes much less now! Thanks for the guide – it was heavy going at some points, and I almost gave up. Just try to get the file structure created by iTunes and remember to reset your PC and iPod and you should be good to go.

  25. Matt Brooks says:

    i can see my ipod in rhythmbox and am able to transfer songs FROM THE IPOD to the computer but whenever i try to add songs to a specific playlist on the ipod it doesnt add.. any ideas why?

    –i have the ipod touch 3rd generation

  26. Trigan says:

    Hi there,

    thanks for the nice tutorial, my Iphone 3GS (OS3.0) was mounting right away after the reboot. I can see all my Iphone music files and videos in rhytmbox now and play them and even with GTKPod it works.
    I also can drag files into the Iphone icon and I see a little status bar on the lower right announcing that the file is now copied to the Ihone.
    So far so good. However:

    I can not see the file I just copied in Rhytmbox under the Iphone file list even though it was just copied there.

    When I searh the Iphone with something like vlc4iphone where I can see into the folder structure there is a folder iPod_Control/Music/F00 – F49 which contains the file
    There is another folder called iTunes_Control/Music/F00 – F49

    where all the other music is, the file is not in this folder.

    It is not shown in the Ipod application on the iphone…

    What now

    I use Ubuntu 9.10 Karmic Koala

    I would be grateful for any hint 🙂

  27. John says:

    Hi, this is great news toward Linux users and I greatly thank you for posting this tutorial online so everyone can share thier knowledge. Yes, I’ve followed the steps but a novice as myself struck upon a issue that involves with the packages. My computer had problems with installing the packages described, libiphone0 can’t be installed due to unmet dependencies so is there any solution to this matter?

  28. Andy says:

    Hi mates,

    As for fixing the bug with the broken package, follow the description:

    http://www.uluga.ubuntuforums.org/showthread.php?p=8833828

    Cheers

  29. John says:

    Hi, dear friends, I’ve resolve my last issue thanks for your assistance. However, I’ve yet encounter another subsequent matter with adding the music files to the device, which had sync successfully. I’ve installed Rhythmbox and attempting to put the folder in the device but it drew no success. I dragged the file but it won’t reach to the device’s playist. Any solution would be helpful and thanks for those who replied to this message.

  30. lostparadise says:

    Hi, I’m using iphone3Gs and Karmic but got stuck in the step ‘$ ifuse /mnt/ipod/’.
    The following message is displayed ‘No iPhone found, is it connected?
    If it is make sure that your user has permissions to access the raw usb device.
    If you’re still having issues try unplugging the device and reconnecting it.’
    What shall I do?

Leave a Reply

Your email address will not be published.