Saturday, January 2, 2010

iPod Touch iPhone 3G Ubuntu 9.10 in 5 minutes


"Lucid (Ubuntu 10.04) has 'out of the box', zero-configuration support in Rhythmbox for the iPod touch running firmware 3.12/3.13. It does not require jailbreaking, though I have personally discovered it will work with both a "stock" and a jailbroken iPod touch." -Raffisson Studio






Changes (skip this):
  • Mar 28, 2010: Added link to French tutorial in step 1.
  • Mar 16, 2010: Added Amarok 2.3 notes per Gary
  • Feb 23, 2010: Removed "-dev" packages and made some small changes per farfouille64 feedback.
  • Feb 19, 2010: Bifster found a similar tutorial. Worth trying if you have issues. Here's the link: easy way to sync your iphone
  • Feb 19, 2010: Step 11 added DFB's RythmBox plugin suggestion. Confirmation working with firmware 3.1.3! Thanks DFB!
  • Feb 15, 2010: Step 11 added AJ's unicode work-around. Thanks AJ!
  • Feb 11, 2010: Step 10 modified to automatically add user to group "fuse". Thanks for the suggestions!
  • Feb 11, 2010: Added "-dev" packages back in per feedback. Thanks!
  • Feb 4, 2010: Repos changed. Added new packages per Jeff. Thanks!
  • Feb 4, 2010: Added unlock per Dagon to Step #8.
  • Feb 2, 2010: Added reboot suggestion to step 6 per Hugh.
  • Jan 31, 2010: Jon has left a work-around in the comments. Appended as STEP #1. Thanks! This should help fix issues reported with iPhone 3G running 3.1.2 firmware.
  • Jan 26, 2010: Many are having issues with these steps and the iPhone 3G running 3.1.2 firmware. The author does not have access to a device to test on, so please post any help. The iPhone 2G with the same firmware seems ok. Please read the comments below.
  • Jan 16, 2010: Thanks for suggestions! Updated tutorial to allow iPods with a space or special character in their name by using "$HOME/.gvfs/$ipod_name/" instead of ~/.gvfs/$ipod_name/
Background (optional read):

  • This tutorial is continually improved by feedback from you!
  • This tutorial is adapted from here. Credit goes to Paul McEnery, stonecut & marcan and ubuntugeek.com.
  • This tutorial was tested on a 1st Generation iPod Touch with the 3rd generation software on it.
  • In theory, this should work with all three generation iPod Touch / iPhones.
  • This was originally written for Ubuntu 9.10 32-bit on an Acer Aspire Netbook.
  • The comments below show that it will work on many other setups. If unsure, ask! :)
  • These steps can be adapted to work with Kubuntu by using "konsole" in place of gnome-terminal. "RythmBox" will need to be manually installed, as there seems to be issues with Amarok. If you do wish to use Amarok, 2.3 is reported to work, but you will need to upgrade using the manual upgrade instructions from Kubuntu's web page.
  • The commands to copy and paste were intended for the default "bash" shell. If you don't know what this is, then you have nothing to worry about. If you are running a non-standard shell (such as "csh"), please type "/bin/bash" or "/bin/sh" before starting this tutorial.
  • If you are troubleshooting and need to jailbreak your iPhone, get blackra1n and install from Windows or Mac.

Steps (start here):
  1. If you've already tried using the iPhone with other tutorials, try reverting your changes. Andrew has outlined this for us very well here. Follow the first two steps. There is also an official French tutorial here that a 3.1.1 user alviju has had success with.
  2. Make sure you are connected to the internet.
  3. Open gnome-terminal through Applications --> Accessories --> Terminal
  4. Copy / paste the following in the console:

    sudo add-apt-repository ppa:pmcenery/ppa; sudo apt-get update; sudo apt-get install gvfs gvfs-backends gvfs-bin gvfs-fuse libgvfscommon0 ifuse libgpod-common libimobiledevice-utils libimobiledevice0 python-libimobiledevice libplist++1 libplist-utils python-plist libusb-1.0-0 libusbmuxd1 usbmuxd; sudo su -c "echo user_allow_other >> /etc/fuse.conf"

  5. You will be prompted to proceed. Type "Y" for yes and hit enter. This will take about 3 minutes on a broadband connection.

    *Note: This will 1. Automatically make the latest ifuse, aka "fusepod" application available for downlolad, 2. Download and install it, 3. Make it available for non-root users.

  6. Log out of the desktop by clicking the Ubuntu power button in the top Right corner of the desktop and clicking "Log out" (Optionally you may want to reboot).
    Note: Hugh only had success on an 8GB iPhone 3G running 3.1.2 after rebooting.
  7. Log back on to the desktop.
  8. Unlock and plug-in your iPod Touch / iPhone. You will be prompted several times to open the iPod. Click cancel.
  9. Open gnome-terminal through Applications --> Accessories --> Terminal
  10. Create the SysInfoExtended file on the iPod so that application such as RythmBox can use it by copy / paste the following into the console:


    sudo adduser "$USER" fuse; echo -e "\n\nPlease type the name of your ipod:"; read ipod_name; mkdir -p "$HOME/.gvfs/$ipod_name/iTunes_Control/Device/"; ipod-read-sysinfo-extended `sudo lsusb -v | grep 'iSerial' | awk 'length($0)>=68' | awk '{print $3}'` "$HOME/.gvfs/$ipod_name/"

  11. You will be prompted for the name of your iPod Touch / iPhone. This should match the name of the icon on your desktop.
    *Note: AJ suggests replacing all apostrophe's in your iPod name with %27. Others suggest right click the desktop icon and copy the name from there.
    Example:
    AJ'S IPOD
    replace with
    AJ%27S IPOD

    *Note: According to DFB, if you recieve error "can't get debug descriptor: Connection timed out" check the iPod plugin in the RhythmBox plugins list.
  12. Log out and back into the desktop one last time.
  13. If MP3 support is desired, click this link to enable the "ubuntu-restricted-extras" packages (this can be done at any time).
  14. Launch RythmBox through Applications --> Sound and Video --> RythmBox. Your iPod should list on the left hand side. Drag files to and from as you would in iTunes.
    Note: Jon suggests using a Windows computer with iTunes to add at least one song to the iPhone via iTunes. This has helped some people create the necessary databases and files in the iPhone.
  15. If you have problems, try restarting your iPhone. If this does not help, please post a comment below.

-Tres


Additional troubleshooting steps (Thanks TheCaméléon):

  1. Browse iPod with Nautilus (standard file browser) to clean up files
    - Empty Music and the .itlp directory
    - Remove iTunesCDB, iTunesDB
    - Remove all .ext files
    - Tip:
    TheCaméléon thinks you can access it with Nautilus. He did it with iFile and Terminal.
  2. Add iTunes_Control/Device/Hashinfo with http://ihash.marcansoft.com/
  3. Add 1 song with iTunes (to re-build it nicely)
  4. Reboot both computer and iPod (with redsn0w as it's tethered)
  5. Finally enjoy

Related Tutorial: (Thanks Bifster)

191 comments:

YUNGAKK911 said...

If there is a problem with gtkpod finding the ipod...but the ipod is mounted with icon on the desktop...

right click "ipod touch" on desktop and click properties.

Write down the folders for the "mount point".

Open GTKpod and go to edit > repositories/ipod

add a new repository and make sure that the mount point is the same as what you just wrote down. If not...change it to that.

Next...on the same screen choose your ipod model.

Close gtkpod and next time you open it, it should show up on the left column with music folders.

-ack

YUNGAKK911 said...

actually...it won't show up automatically.

you will still need to hit "load ipod" in gtkpod. and then if prompted, choose the ipod type.

-ack

Unknown said...

I am stuck here
mkdir: kan inte skapa katalog "/home/xxx/.gvfs/IPODname": Filen eller katalogen finns inte
usage: ipod-read-sysinfo-extended

Anonymous said...

Should this procedure work with Kubuntu/Amarok? I tried it and got no error message but I don't see my ipod on my desktop nor in Amarok.

Tres Finocchiaro said...

@Normand

The procedure will work in Kubuntu but you will need to first install RythmBox.

> sudo apt-get install rythmbox

I will need to test on a Kubuntu Live CD before speaking for Amarok.

-Tre

Unknown said...

Any idea why the mkdir in .gvfs does not work?

cdmdotnet said...

if you have problems with the step 9 specifically an error similar to

mkdir: cannot create directory `/home/[user]/.gvfs/[iphone name]': No such file or directory

you more then likely have a space or other irregular character in the name of your phone...
In such a case try :
echo -e "\n\nPlease type the name of your ipod:"; read ipod_name; mkdir -p "~/.gvfs/$ipod_name/iTunes_Control/Device/"; ipod-read-sysinfo-extended `sudo lsusb -v | grep 'iSerial' | awk 'length($0)>=68' | awk '{print $3}'` "~/.gvfs/$ipod_name/"

the only difference is that I've wrapped the paths in double quotes

Unknown said...

Ok I will try that. And yes I got an " 8 " in the ipod name

Tres Finocchiaro said...

@cdmdotnet:

Good catch. Updated!

-Tres

Jason Crane said...

This actually worked. I've been trying various "fixes" all night. I was about to give up and decided to try one more.

Thank you. Thank you. Thank you.

slinkp said...

@cdmdotnet: if I try it your way, a directory /home/pw/~ is created, because the ~ is treated as a literal rather than expanded to your home directory ... I think the double quotes should only be around the iphone/ipod name, like so:

echo -e "\n\nPlease type the name of your ipod:"; read ipod_name; mkdir -p ~/.gvfs/"$ipod_name"/iTunes_Control/Device/; ipod-read-sysinfo-extended `sudo lsusb -v | grep 'iSerial' | awk 'length($0)>=68' | awk '{print $3}'` ~/.gvfs/"$ipod_name"/

slinkp said...

Anybody have this working with an Iphone 3G? I get:

Please type the name of your ipod:
iPhone
mkdir: cannot create directory `/home/pw/.gvfs/iPhone': No such file or directory
Couldn't read xml sysinfo from 3e137349a60e02e7dd158b90fbb54c184ce09002

Tres Finocchiaro said...

@slinkp:

Have you tested your method? I'd like to update it, but I don't want to blindly change it again and break it. :)

-Tres

David Duran said...

so cool!!! .. that is working ipod(32g) firm 3.1.2.

Unknown said...

I have now tried cdmdotnet suggestion and it indeed make a folder as it should. And yes it will create a folder called " ~ ". And if i try the suggestion from slinkp I am back on the " mkdir: cannot create directory ". But what is more important gtk do not find the ipod files even if I use the suggestion from YUNGAKK911. If I go to rhythmbox I find the ipod but and it seems like I can add a file but when I disconnct the Ipod do not find any files.

Tres Finocchiaro said...

The commands have been updated with "$HOME" instead of "~". Please try again and post your progress!

-Tres

David Merrick said...

This worked great for me on a 3rd Gen iPhone with 3.1.2 firmware. Thanks! I had a permissions problem on Step 9 writing the sysinfo file on the iPhone. I solved it by changing the permissions inside the phone:

1. Unmount the iPhone (Click Places-->Home Folder then click the eject symbol for the iPhone in the left panel)
2. Go into the terminal on the iPhone. Type 'su' and your password (default is "alpine").
3. Type 'chmod 777 -R ./'
4. Continue the instructions above.

David Duran said...

Error: DBus error org.freedesktop.DBus.Error.ServiceUnknown: The name :1.117 was not provided by any .service files

3 days is ok... after -> show this error..
I can see the ipod files. the mount is ok, but on Rhythmbox 0.12.5 can't show the music list... 0 tracks, I can't add music to. and the SysInfoExtended is created.

Tres Finocchiaro said...

@david: Thanks for the feedback. Can you give a drill down of what you have? Phone model, software version, Ubuntu version, etc?

I'm trying to make sense of your message, but the only thing I understand is that it does not work. :)

-Tres

Ernie's Blog said...

Thansk ! It's "almost" working with my iPod touch 2Gen 3.12 firmware. The only problem is that whenever I try to put songs through rhythmebox into my ipod. The syncing process took like FOREVER and I tried to wait for it and went to bed. This morning I woke up and found that my music library in iPod is empty ! But I can still see the files in Rhythmebox. Would you plz tell me what might be wrong?? Thanks again

Anonymous said...

Thanks for the instructions.

I followed all of your steps, but I'm still having trouble adding music to the iphone using ryhthmbox. The iphone shows up, but it won't let me add files to it.

I'm running Karmic Koala 32 bit and I have an Iphone 3g firmware 3.1.2.

Thanks in advance!

fallin86 said...

I have a 2nd generation 32gb ipod touch, and I seem to be having some issues. I followed the above steps and didn't receive any errors... However, when I load rythmbox, I cannot interact with the ipod (which appears under Devices). Clicking it shows nothing, and dragging songs to it does nothing. I see where it's mounted on my computer, and I can browse songs on the device through nautilus... Additionally, I tried following YUNGAKK911's advice, but I got hung up on a couple of things. For one, gtkpod doesn't list a 32gb 2nd generation Ipod, if I select 3nd gen 32gb (or 2nd gen 8gb), I get the following errors:
"Extended info will not be used. iPod Database Import Failed." Any ideas?

Jotomicron said...

Finally a working alternative to having a windows computer/partition/stuff! I've had an iTouch ever since they came out some years ago and when I changed to Ubuntu I sort of freezes ynchronization with whatever music I had there. Now I can finally put new music there easily!

Thank you so much for your work! I tip my hat to you!

There are still some glitches, though. Synchronization takes forever, as the previous guy said, and I can't seem to find a good place to put my videos... Any tips?

David Duran said...

my ipod (mb533ll) v3.1.2 on ubuntu 9.10, work again with a fullreset and jealbreeak,... tnks

Jason Crane said...

This had been working, but I had several broken packages on my system. I uninstalled Fuse using the package manager, but I can two of the broken packages. I get this error when I use Synaptic Package Manager's "fix broken packages" command:

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/bin/iproxy', which is also in package iproxy 0

Any ideas? I'm a newbie and find it much easier to screw things up than to fix them.

Thanks,

Jason

Tres Finocchiaro said...

@Jason:

You can try "sudo apt-get remove --purge NAMEOFPACKAGE" to rid your system of it.

Its hard to know what package put what mismatched versions of those files on your computer.

An alternative to blindly deleting packages is booting from a Live CD 64-bit CD and trying it from scratch (that's how the tutorial was written). If you are happy with the way your iPod works from the Live CD, you may find it easier to simply reinstall Ubuntu. Don't forget to back up your files! :)

-Tres

Anonymous said...

Whoa, now the iphone does not show up on the desktop as a phone icon, only as a camera. When I try to add the "sysinfo" from step 9 I get:

mkdir: cannot create directory `/home/username/.gvfs/iphone': No such file or directory
Segmentation fault

Any ideas?

Unknown said...

Hi,

I always get the message:
Couldn't read xml sysinfo from MY_SERIAL_NO


MY_SERIAL_NO is actually just a replacement for my device.

What am I doing wrong?
Is there an update?


Cheers
Patrick

Tres Finocchiaro said...

@dave r
A segmentation fault is usually a sign of a crashing application. Can you try it from a Live CD and see if you have any success? Its difficult to know which application is failing. There are others with your phone and your OS that claim to have it working.

@creator79
Try separating out the commands one by one and see which one fails and post back. The commands are separated with semicolons.

-Tres

Unknown said...

I guess the segfault happens on a macbook. I have 2 similar installed machines with ubuntu 9.10. It works perfectly on one machine. But on the Macbook it just crashes with segfault.

Unknown said...

To anyone with the mkdir problem at setp 9. Make sure you have GTKpod istalled prior to the installation.
I back tracked and I noticed people mentioning Gtkpod which i did not have so I installed it (via package manager)

Query gtkpod on the package manager
install gtkpod
rerun step 3
continue from there.

Anonymous said...

Thanks. I did a clean install with karmic and system is back to normal.

Rhythmbox sees it, but I still can't drag and drop into iPhone 3g 3.1.2

It does work perfect on iPhone 2g with same firmware.

Tres Finocchiaro said...
This comment has been removed by the author.
Tres Finocchiaro said...

@dave & 3.1.2 firmware users,

Thanks for the feedback. It appears there are issues with that firmware.

Can you try Dave M's steps here:
http://fatbuttlarry.blogspot.com/2010/01/ipod-touch-iphone-3g-ubuntu-910-in-5.html#comment-8020959747942958352

If it is a permission issue, I'd like to get to the bottom of it. The script could be appended to accommodate this, but I'd like to set the permissions as strictly as needed. Unfortunately, I no longer have a device to test on, so I'll need feedback from people like you. :)

-Tres

Anonymous said...

I tried David Merricks idea for changing permissions on the iPhone, but I don't think it worked.

After I input the command, I get a blinking yellow cursor and nothing happens. Is the command correct?

Diego F.C. said...

I have the same problem as everyone with FW3.1.2 cause my Ubuntu/Rithmbox discovers de iPhone 3G 8GB but i cant put anything there.

Exactly, I can put the song there, but when I disconect the iPhone, the song dissapears :(

Anonymous said...

Maybe this is a noob question, but if it's a problem with firmware 3.1.2, why does it work with iPhone 2g running same firmware?

I really appreciate all the help on here!

Diego F.C. said...

If i can make something whith it, for sure I'll post it... but i have no idea about the problem... :-(

Diego F.C. said...

I tried everything... restarting, re-doing, re.. erverything but nothing changes... the files are on my iphone under [MOUNTPOINT]/iTunesControl/Music/F... but not in iPod app on the iPhone.

Diego F.C. said...

OK.

The first impressions:

1.- The tutorial abobe is ok, everithing goes fine.

2.- The problem now is that iPhone 3G not syncing with Rithmbox.

I make some tests and Rithmbox copy all the mp3s to the [MOUNTPOINT]/iTunes_Control/Music/**path but them aren't display in the iPod App.

When I copy the files to the iphone whith RithmBox the iPhone shows me the sync message (like iTunes) but then... the same, nothing apears on iPod App.

Is RithmBox updating de database of music on the iPhone??? Maybe not... solution?

Tres Finocchiaro said...

For the advanced users that can make sense of the following link, this ubuntugeek article is what the commands were adapted from. I don't have access to an iPhone 3G to test on. If you can figure out the difference, let me (us) know by posting here. Thanks!

-Tres

http://www.ubuntugeek.com/ipod-touch-3g-sync-over-usb-without-jailbraking-in-ubuntu-karmic.html

J0D4 said...

Problem at step 9: "can't get debug descriptor: Connection timed out."

Can anyone provide help, please? Thank you so much in advance.

info:
iPod Touch 1st generation
no jailbreak

Anonymous said...

For iPhone 3g users running 3.1.2 (jailbroken and unlocked)...

If you follow the above tutorial it will install a .gvfs folder in Home. Once your iPhone is mounted you should be able to see your iPhone in there and all the applicable folders and files.

But that's where Rhythmbox and my Iphone 3g part ways. Rhythmbox can see it (mounted on left side under devices), but I can't write to it.

I'm pretty sure the problem stems from a permission issue with 3g's. But I'm not positive because if I open up my phone it says I have "mobile" access to all files (read,write,execute). Maybe it should be "root" instead?

I also have a "~" folder in Home but I'm not sure why since there is nothing in there.

Anyone having luck with this?

Diego F.C. said...

Dave R... I'm in the same point as you.

Permissions could be the problem but i'm not sure. Why?

If you mount your iPhone and enter in your [$HOME]/.gvfs/iPhoneNAME/iTunes_Control/FXX you can see that RithmBox copy the mp3 to that ¿'correct'? folders but... they doesen't appear on iPod App.

Then I think that the problem is the database. Is RithmBox updating it?

lmessenger said...

I've had some problems with syncing using this method, but I have found out some tips that might be useful:

1)Don't try to remove and sync music at the same time. It will screw up your cover albums on the ipod.

2)Recommend using .mp3 instead of the Apple original .m4a. When I sync .m4a I had trouble with the ipod playing it.

Recommendations/Suggestions:

1)Faster syncing capabilites. (duh!)
2)Better album cover support syncing, most of the albums I have synced don't show up with album covers. It will show up occasionally if the song has it. For example: I had an album that the album artwork didn't show up in cover flow, well kind of. The first song didn't have the album cover, but all the rest of the album did. So, when those songs came up, the album would show. Otherwise they wouldn't.

Thanks.

Unknown said...

Thank you very much for your detailed posting!
Using this, I got my iPod Touch 2G 16GB to work in Ubuntu 9.10.
Rhythmbox recognizes the device and also seems to copy music to it, but after ejecting the iPod, no new music can be found in the library.
But gtkpod can load the iPod and also sync music. It's kinda slow, but I guess that's alright.

Anyway, thank you very much!

-Jörn

YUNGAKK911 said...

For you guys that are having trouble with transferring with rythymbox, try using the application "GTKPOD".

sudo apt-get install gtkpod

Refer to my first post on adding the mount point to the repositories.

"If there is a problem with gtkpod finding the ipod...but the ipod is mounted with icon on the desktop...

right click "ipod touch" on desktop and click properties.

Write down the folders for the "mount point".

Open GTKpod and go to edit > repositories/ipod

add a new repository and make sure that the mount point is the same as what you just wrote down. If not...change it to that.

Next...on the same screen choose your ipod model.

Close gtkpod and next time you open it, it should show up on the left column with music folders."

Let me know if this works at all for you guys. Also be sure to specify if you have a 2G or 3G Iphone. It seems that the 2G's are working yet the 3G's are not.

-ack

Unknown said...

I still get the " mkdir: kan inte skapa katalog "/home/xxx/.gvfs/xxxx8GB": Filen eller katalogen finns inte
usage: ipod-read-sysinfo-extended

Tres Finocchiaro said...

@alex: What is the exact name of your ipod? You may have characters that are illegal for a file name.

Also, please post a summary of your configuration.

-Tres

Unknown said...

My IPOD name is TINKAS8GB

Jon said...

@dave r

Add one song to the iPhone via itunes first. This will create the necessary databases in the iPhone. Then it should work with rhythmbox.

Anonymous said...

Thanks Jon,

If I do that, won't iTunes want to restore my iPhone?

Hugh said...

I managed to get this working on an 8GB iPhone 3G running 3.1.2 after my third attempt. The only thing I really changed was to reboot instead of logout. Not sure if this made the difference....

Does anyone know how to get the iPhone recognised by the latest version of Banshee (1.6 Beta 4 (1.5.3))? Rhythmbox recognises it perfectly but Banshee is my choice of music player. :-)

Jon said...
This comment has been removed by the author.
Jon said...

@dave r

Yes it will. But, at least for me, it was worth it.

@ hugh
Banshee does not support the libgpod protocol, meaning that it cannot interface with iPhones. As far as I know your choices are rhythmbox, gtkpod, and amarok. I have read listen may work as well.

Anonymous said...

To Jon (and others)-

I'm pretty sure I have an iTunes data base. When I plug my Iphone in, it gets recognized 3 times. Once as a camera and twice as an iPhone. When I open up the Iphone icon I can add music, movies, etc. I then open the files using iFile from my phone and play using dTunes (not iTunes).

I have a 3g running 3.1.2, it is jailbroken (blackra1n) and unlocked.
I am running karmic koala.

I'd still like to be able to use rhythmbox, but I guess I'll have to settle for dTunes. Either way I wouldn't have gotten this far without this tutorial, so thanks a bunch.

Jon said...

@dave r

For whats its worth, I was able to do that too before I added a song via iTunes. The issue was just that rhythmbox would not be able to actually add songs since the song databases were not yet created. For example, in /iTunes_Control/Device there should be a file called Hashinfo.

Tres Finocchiaro said...

Thanks Hugh (and also for the detailed insight Jon).

I've appended your success to Step 6.

-Tres

Anonymous said...

@John-

What if I copy and paste a "hashinfo" file from another iPhone into mine, would that work?

Thanks, I really don't want to restore if I don't have to. :)

Jon said...

@dave r

You need to do more than just create a HashInfo file. Try the following.

This was taken from the comments from http://marcansoft.com/blog/2009/10/iphone-syncing-on-linux-part-2/:

As my iPhone had not yet been synced with iTunes (and probably never will), I got a HashInfo file from ihash.marcansoft.com. Then I cleared out the content of the database (removed Music/*, iTunesCDB, iTunesDB, all .ext files and the .itlp directory). Finally let gtkpod reinit the database, and hey presto, syncs like a dream.

Tres Finocchiaro said...

@Jon: You've been a tremendous help! Is the HashInfo something you think could be scripted? I'd love to add it as an appendix (or a prerequisite) but I don't have a device to test on. Email or IM me tres.finocchiaro@gmail.com if you'd like to dive into details.

-Tres

Unknown said...

I couldn't get my 3GS 3.1.2 to show up at all using ubuntu 9.10 untill I plugged it in after having gone through the lock screen in my iphone first.
So: unlock your iphone, then plug it in after the reboot and it will show up fine.

Tres Finocchiaro said...

Thanks Dagon. Appended unlock to step #8. Greatly appreciated!

-Tres

Unknown said...

Great work on the tutorial. I've run into a problem where the libiphone-utils and python-iphone packages are not available. The libiphone-utils package seems to have been depricated in favor of the libimobiledevice-utils package according to APT and Paul McEnery's PPA. I can install that package, but then apt-get gets hung up on the python-iphone package and I can't find an alternative. These changes must have happened very recently as I don't see any other comments in the half dozen or so threads around the Internet on iPhone 3G syncing in Ubuntu 9.10. Any advice?

-jweb

Tres Finocchiaro said...

Jeff,

Thanks for the feedback. I'm investigating as I type this. If you find a work-around in the mean time, please post. :)

-Tres

Unknown said...

I think I figured it out. The package names in the PPA have changed. This worked:

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

Hope that helps!

-jweb

Unknown said...

With the new package names, I've successfully installed and made everything work with RhythmBox in a Ubuntu 9.10 VM. However, my main install is Kubuntu 9.10 and though I can mount the iPhone with ifuse and browse content, I can't get Amarok2 to even attempt to connect. I can't figure out if this is an Amarok problem or a libgpod problem. In Amarok, I can't find "Media Plugins" or anything in Settings that indicate it recognizes the iPhone. I also notice that under Kubuntu 9.10, the iPhone isn't accessible under ~/.gvfs as it is in my Ubuntu 9.10 VM -- perhaps that's the trouble? Any idea where I can start to look? Thanks for the advice, Tres!

Tres Finocchiaro said...

Jeff,

I don't think you are doing anything wrong. Here's a similar post:

https://answers.launchpad.net/ubuntu/+source/amarok/+question/99413

I'll remove the note about this tutorial working with Amarok until a work-around is achieved. I can't find that damn option either :)

Thanks for the help with the messed up repos and dependency hell. I run that command and get a lot more packages than needed, so I'm trying to tweak it right now.

-Tres

Tres Finocchiaro said...

Jeff, I've replaced the commands above with yours, removing the "-dev" packages. It's untested at this point as I don't have an iPhone to test on.

Do you have a clean VM to test this on? If so, I owe you big time. :)

-Tres

Tres Finocchiaro said...

OLD COMMANDS AS BACKUP (do not use)


sudo add-apt-repository ppa:pmcenery/ppa; sudo apt-get update; 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; sudo su -c "echo user_allow_other >> /etc/fuse.conf"

Adam Tervort said...

I followed your directions as of Feb. 5, 2010 and it worked a treat. Thanks so much, I am really excited to be able to spend even less time on Vista. I think syncing with GTKpod is even faster than that horrible snail of bloatware, iTunes.
(I have an iPod Touch 3G and Karmic 64.)

drjf said...

I just managed to get my 3rd gen 32-gig ipod touch working on ubuntu 9.10 using these instructions, but it didn't go perfectly at first:

- At first my ipod failed to mount.

- I added myself to fuse in /etc/group, restarted
- I installed the extra "dev" packages mentioned in an earlier comment.
- I invoked "ifuse /mount/point"
- My iSerial had a bunch of errors in the lsusb command, so I propagated the xml file manually using the instructions here and on the ubuntugeeks site.
- Reboot both computer and ipod
- invokved "ifuse /mount/pount" and went into gtkpod and was able to see my libraries and upload to them.

Hope that helps! I'm glad documentation like this exists -- I would have been so lost!

drjf said...

Oh right, also! I had to make a repository in gtkpod, but that invoked intself automagically. Make sure you select the right model type!

Von Welch said...

Step 10 is assuming the user is running Bourne shell or some variant. If you are running csh you'll get an error: "read: Command not found.
ipod_name: Undefined variable." I don't know any easy fix besides running /bin/sh to get into a Bourne shell first.

Von Welch said...

I was having a problem in that my phone was only showing up as a camera. This mean the mkdir in step 10 kept giving me permission denied errors since ~/.gvfs/iPhone ("iPhone" == the name of my iPhone) didn't exist. I played around for a while, not sure what I did (though I think Dagon hit on it - probably logging out, unlocking, plugging in) and now I see two icons when I plug in the phone on my desktop - one that looks like a camera and one that looks like a phone - both with the same name. Seeing both icons seems to be key.

BTW, when I only was seeing the camera, I only saw a ".gphoto2..." directory in .gvfs. After I also saw the phone, the ~/.gvfs/iPhone directory appeared. In fact, I think the mkdir did nothing, that whole path already existed.

Now I'm stuck in that RythmBox sees the iPhone but not any music contents and trying to copy music to it silently fails.

(This is with a first gen iPhone running 3.1.3)

Tres Finocchiaro said...

@Von: Thanks so much for the feedback. You may be the first 3.1.3 user to post your progress.

In regards to the C shell -- csh -- That's great advice. If the commands were a script, they would automatically chose the correct shell, but since they're not, anyone running a non-standard shell will have to follow your instructions.

I think I'll also have to add the dev repo's previously removed. Hopefully I'll have a device to test on this week as right now I'm working from feedback. Thanks!


-Tres

Unknown said...

Excellent guide!! Works on Ubuntu 9.10 64 bit with iPhone 3Gs

One thing I would like to add is that if it didn't work, try restarting your iPhone :)

Prem Sabarwal said...
This comment has been removed by a blog administrator.
Tres Finocchiaro said...

@Edmond: Added as the last step. Please correct me if this is wrong.

-Tres

DFB said...

I have an 3rd Gen iPod Touch with 3.1.3.

I get stuck at the last step -- I get time out errors:

"Please type the name of your ipod:
mushroom
[sudo] password for danny:
can't get debug descriptor: Connection timed out
cannot read device status, Connection timed out (110)"

I see two desktop icons. One is ipod, like Von. One says ipod and the other mushroom (name of the ipod). Rebooting had no effect.

The ipod directory is only one folder (DCIM) the mushroom directory has several directories (DCIM; Downloads; iTunes_Control; Photos; Podcasts; PublicStaging; Purchases; Recordings; Safari) and three files ending in .lock, .lock_sync and .syncing

There is one entry for Apple in lsusb
Bus 001 Device 004: ID 05ac:1293 Apple, Inc.


Thanks for helping out by posting such helpful info.

TheCaméléon said...

Von said...

I was having a problem in that my phone was only showing up as a camera. This mean the mkdir in step 10 kept giving me permission denied errors since ~/.gvfs/iPhone ("iPhone" == the name of my iPhone) didn't exist. I played around for a while, not sure what I did (though I think Dagon hit on it - probably logging out, unlocking, plugging in) and now I see two icons when I plug in the phone on my desktop - one that looks like a camera and one that looks like a phone - both with the same name. Seeing both icons seems to be key.

BTW, when I only was seeing the camera, I only saw a ".gphoto2..." directory in .gvfs. After I also saw the phone, the ~/.gvfs/iPhone directory appeared. In fact, I think the mkdir did nothing, that whole path already existed.

Now I'm stuck in that RythmBox sees the iPhone but not any music contents and trying to copy music to it silently fails.

(This is with a first gen iPhone running 3.1.3)


--------------

I got the same issue with an ipod touch 3g with fw 3.1.2 jailbroken.
I did reboot it but that doesn't solve it.
I put one mp3 on it with iTunes (which removed all my ipa :S). I did reboot my computer when asked...

Unknown said...

DBus error org.freedesktop.DBus.Error.InvalidArgs: Mountpoint

is my error!

Any help available?

Background:
I had my iphone 2g 3.1.2 jailbroken on an ubuntu bevor same setup. My ubuntu screwed up and I had to reinstall my iphone>>ubuntu again. Now it won't work.

Thanks,
P

TheCaméléon said...

Hi !

I'm so happy !! I finally succeed to make it work !

I write this, and I hope that it will be added to the Howto ;)
I took me two whole days to figure all that out (I'm new to Ubuntu so all that's is hard for me)

Me :
iPod Touch 3g FW 3.1.2
JB with Redsn0w
Ubuntu 9.10
Using Rhythmbox

Issues encontered :
- "Error: DBus error org.freedesktop.DBus.Error.ServiceUnknown: The name :1.117 was not provided by any .service files" when trying to access /mount/point
- impossible to add/see files in rhythmbox

What I did :
- reinstall my whole computer (I'm new to Ubuntu so it wasn't really nicely installed)
- follow the main howto of this page
- add oneself to "fuse" group (tip : system>administration>groups -- names may be different,taken from french version of ubuntu)
- empty Music and the .itlp directory, remove iTunesCDB, iTunesDB, all .ext files (tip : I think you can access it with nautilus - I did it with iFile and Terminal)
- add iTunes_Control/Device/Hashinfo with http://ihash.marcansoft.com/
- add 1 song with iTunes (to re-build is nicely)
- reboot both computer and iPod (with redsn0w as it's tethered)
- FINALLY enjoy

[Sorry for the writting - I'm french - I just want to help you guys ;)]

THANK YOU FOR ALL YOUR COMMENTS THAT HELPED ME TO DO THAT !!!!

TheCaméléon said...

Oups...
I forgot to tell you that I used the -dev pakages ;)

With them it works fine !

Unknown said...

Hmmmm... so my iPhone (3g, 3.1.3) is detected, and Rhythmbox can copy files to it, play files i put on it, copy those files back to my desktop. However, my iPhone doesn't actually see the songs I copied to it, and Rhythmbox doesn't see the song I had put on the iPhone via iTunes. Definitely an issue with the iPhone database. Anyone have any suggestions?

TheCaméléon said...

Try to add yourself to fuse group and use -dev pakages ;)

Ethologist1 said...

YOU F'in ROCK!!!!

Tres Finocchiaro said...

OLD COMMANDS AS BACKUP (DO NOT USE)

sudo add-apt-repository ppa:pmcenery/ppa; sudo apt-get update; sudo apt-get install gvfs libgvfscommon0 ifuse libgpod-common libimobiledevice-utils python-libimobiledevice libplist++1 libplist-utils python-plist; sudo su -c "echo user_allow_other >> /etc/fuse.conf"

Tres Finocchiaro said...

@TheCaméléon: Modified script per your advice. Thanks to you and those who mentioned it previously.

If someone has a chance to test this from a fresh install, please post your progress.

-Tres

TheCaméléon said...

Just to tell you that I added a link to this page in the french Ubuntu Wiki. There's already a link in the english wiki (I found this page there).

Link : http://doc.ubuntu-fr.org/synchroniser_un_iphone_3g_3gs_a_ubuntu

There a long explanation on the french wiki to synch with gtkpod but that doesn't work anymore as pakages changed and because it isn't kept up to date ;)
Moreover it requires to compile and when we are new to Linux that's quite hard to rescue if you failed somewhere.

Unknown said...

You missed a semi-colon in step 4 (as of 9/11 22:45 PM EDT) following usbmuxd, but this did finally work for me with 3.1.2 firmware.

Also, if anyone else has a problem with the "exact" name of their iPhone (mine contains an apostrophe), browse to ~/.gvfs, right-click and "rename" the directory containing your phone's name. Then Ctrl-C to copy, and paste into the Terminal window.

Now ... to figure out how to use Rhythmbox to manage my iPhone :)

Tres Finocchiaro said...

@Doug: Fixed thank you.

A.J. Brown said...

My iPod Touch's name was "A.J.'s iPod", but after failing a few times, I figured out that I had to use "A.J. Brown%27s iPod" on the "Enter your iPod's Name" step.

Tres Finocchiaro said...

Thanks a bunch AJ. I'll add your comment to the instructions!

-Tres

MikeyBear said...

Similar to A.J., mine was named with a 'funny' character. Rather than guess at which ampersand and number to use for the curved apostrophe, I right-clicked the iPod on the desktop, went to Properties, and copied the name from there to paste into the prompt in Terminal.

(I had also used cdmdotnet's modified input method, don't know if that helped any for this, but worth mentioning)

Nice work on the tutorial, it was a breeze!

Jediafr said...

A good help for setting up the sync.
Thanks for it.
It works on an Iphone 3.1.2 JB.

DFB said...

My iPod Touch now syncs so I want to provide an update.

I had timeout errors when following your process.

"Please type the name of your ipod:
mushroom
[sudo] password for danny:
can't get debug descriptor: Connection timed out
cannot read device status, Connection timed out (110)"

Today, I noticed that Rhythmbox has ipod plugin in its plugins list. I checked the box and plugged in my ipod. And voila! It works.

I have a my 3rd Gen iPod Touch with 3.1.3. I run Ubuntu 9.10.

Tres Finocchiaro said...

@DFB: Thanks. Added to tutorial. Thanks!!

-Tres

Unknown said...
This comment has been removed by a blog administrator.
Unknown said...

Brilliant, step by step worked for me.
Only issue was my iphone name but I copied and pasted and the apostrophe looks different so that's what was causing the issue.
Thanks for this excellent tutorial.

Unknown said...

Hey man! First, I wanted to thank you for your awesome tutorial. It never worked for me: rhythmbox would see the files on the iPhone 3g and could copy there, but it would never write the database so the iPod function could never find them.

So I went searching and found an awesome and drop-dead simple way to do the same thing. There's no need to write an ExtendedInfo, nor any other extra stuff, other than updating a PPA and installing.

The guide is at:
http://www.webupd8.org/2010/01/easy-way-to-sync-your-iphone-with.html

Anonymous said...

Sweet tutorial! This saved so much hassle, I just wish someone would make the iphone work with Songbird... And now to work out how to change my ringtones and alert tones ;)

BTW mine is an iPhone 16Gb 3GS using the latest firmware 3.1.3 (7E18) and everything worked without a hitch :D

Cheers!

Tres Finocchiaro said...

Thanks for the feedback.

@Bifster: Thanks so much for that link. It looks easy to follow. I've added it to both the history, and underneath the troubleshooting steps.

-Tres

farfouille said...

MANY THANKS !!!

You made the day of my daughter !

BTW, some comments to maybe enhance this amazing tutos :

context : ipod touch g1 32Go- firmware : fresh install of 3.1.2. Ubuntu 9.10 32 bits.
- I don't understand the comment about fink. IMHO ifuse is not related to fink
- I didn't have to sync one song with itunes. I did it with gtkpod but I guess RB would have been ok too.
- before the first step, it is wise to remove jonabeck launchpad (http://ppa.launchpad.net/jonabeck/ppa/ubuntu) from repos list and uninstall any packages from it.
- -dev libraries don't seem useful
- it fails on ubuntu 9.10 x64 (perfect on x32); gvfs is able to mount ipod, but nothing in ~/.gvfs (fuse problem ?) and RB doesn't see anything

Thank you once again.

Ken said...

I'm running Karmic x64. I'm able to mount my iPod fine auto or manual and sysinfoextended is written fine. I've got a Touch 2nd gen 16G. My problem is related to gtkpod. When I select either model A627 or B531 it's attempting to find the iTunedDB under iPod_Control rather than iTunes_Control. Any ideas?

Unknown said...

Figured it out...I mistakenly created the iPod_Control directory earlier. Once I removed it libgpod recognized the firmware and loaded the hash correctly.

Unknown said...
This comment has been removed by the author.
Evan Dielman said...

on ipod touch 3G 8 Gb, it is not necessary to chmod 777 the entire filesystem. You can ssh into a root shell on your jailbroken ipod, and run chmod -R 777 /var/mobile/Media

this modifies permissions on the relevant directory and its branches.

Admin said...

On Lucid Alpha 3 the iPhone sync works out of the box!

Raffisson Studio said...

98% success, but when trying to add sysinfoextended, I got this error:

"Compiled without libimobiledevice support, can't read SysInfoExtended from an iPhone UUID
Couldn't read xml sysinfo from e613885ce027e45c9ebd34547c352d0ca1fc0fd6"

The upshot of which is I can add music to the iPod, and it will play in Rythmbox, but it does not show on the player.
Should I add the UUID to fstab? Some other step I missed perhaps?

Raffisson Studio said...

I just noticed: It also wiped out all my album art...hmm...

Morkin said...

Simply Awesome. This worked for me in less than 5 minutes with Ubuntu Studio. Am syncing with great ease now!

This is a really good thing, as with 3.1.2 update, there is no jailbreak that works with Iphone. Now I don't have to jailbreak to sync music!

Unknown said...

this worked great on my laptop. Thanks for that! I just have 1 issue with it.

When i suspend my laptop ( with or without disconnecting my iphone first ) after i log back in i cannot browse my iphone. The error i get is : Could not display "afc://(long number)/".
If i open nautilus and try to acces my iphone again the error gives some additional info :
Error: DBus error org.freedesktop.DBus.Error.ServiceUnknown: The name :1.153 was not provided by any .service files
Please select another viewer and try again.

I can get it working again by logging in and out of gnome. Which is a kind of a pain.
I get the impression this is due to some kind of gnome subsystem.. Anyone know which one and if i can give that a little push without relogging my session ?
get this working again ?

Gulliver said...

I get broken package messages, and "fixing" them gets nowhere.

(Reading database ... 222937 files and directories currently installed.)
Unpacking libusbmuxd1 (from .../libusbmuxd1_1.0.0-0ubuntu1~ppa2_i386.deb) ...
dpkg: error processing /var/cache/apt/archives/libusbmuxd1_1.0.0-0ubuntu1~ppa2_i386.deb (--unpack):
trying to overwrite '/usr/lib/libusbmuxd.so.1.0.0', which is also in package libusbmux0 0:1.0.0-rc1-1ubuntu3~k
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
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)

Is there a problem in the repo?

Gulliver said...

Actually, gtkpod is running fine and the ipod mounts (am yet to see if they work together happily). The broken dependencies are irritating, though.

Josh Crosby said...

THANK YOU THANK YOU!!!!

Unknown said...

hello,

thank you for this how-to. I've an ipod touch third generation 8 Go with firmware 3.1.2.

I try this how-to, step by step but i have some problems:
-Rhytmbox recognizes my itouch but i can't add music or read the content of my ipod.

Someone has a solution or an idea?

Thank you.

Unknown said...

Thanks a lot! Works perfect wiht ubuntu 9.10 and iPod Touch 3.1.3.

Unknown said...
This comment has been removed by the author.
Unknown said...

All is good for me.

After an update of libgpod4, my itouch firmware 3.1.3 is always recognized but now i can add and remove music from it on rhythmbox.

The transfer rates are a bit slow but it's good for me.

Thanks for this how-to.

Nektarios Chrissos said...

Your tutorial is by far the easiest and more effective one for my iPhone 3G.

THANK YOU!

Unknown said...

Hi,
I get the error message:

"** (process:5048): WARNING **: Compiled without libimobiledevice support, can't read SysInfoExtended from an iPhone UUID
Couldn't read xml sysinfo from ec71c3314c261c356b922737700f0c7344cdcb2b"

ipod (3.1.3) is recognized, i can add some music, it appears in rythmbox but impossible to find it in my ipod..

any ideas??

thanks!!!

GazJ82 said...

Amarok will work if you update to 2.3 as shown on the kubuntu home page :)

Thank you so much

GazJ82 said...
This comment has been removed by the author.
Unknown said...

Amarok 2.x SUCKS!!! IMHO, of course. And I haven't tried 2.3 out, this is just a gut reaction to how poor the Amarok 2.x branch is from Amarok 1.4. :)

I'll give Amarok 2.3 a try on my work laptop, since I can easily nuke this box and start from scratch if something goes nutso.

Tres Finocchiaro said...

Thanks Gary. Added to background info.

-Tres

Ken said...

Thanks to Gary for the update! I've upgrade to Amarok 2.3 and it's bearable. The install was via the PPA and was automatic thru apt. I was able to delete a song from my iPod Touch but I am not able to add songs. It's stuck at 0% during transferring. Has anybody had similar results?

Ken said...

I opened up Amarok in debugging (amarok -debug) and got a bunch of output including an error: "Could not change permissions for ...."; however the file did transfer correctly. Weird. Seems like it's a little buggy. No biggie, though.

Teddy Reed said...

Great tutorial, everything worked fine with rhythmbox. :)

Though after installing some packages my USB tethering with itunnel broke. It's a simple fix (just need to recompile with libimobiledevice support).

But never-the-less, for those that also broke their USB tethering by upgrading to sync here's how to fix itunnel:
http://prosauce.org/blog/2010/03/iphone-usb-syncing-and-tethering-in-ubuntu-9-10/

Hope this helps, cheers

Unknown said...

Well, first I want to thx a lot this wonderful work of our great community and to you because this is by far the easiest tutorial around :)

But I have some little problems, he he, inevitable.

I am running my system with a Karmic Kubuntu version with kde 4.41 and my iphone is a 3G version with 3.1.2 firmware.

I managed to listen my ipod music with amarok with the usb connection but my iphone devices doesnt show in my places menu. I'm almost sure that is a kde config issue but it's not important right now, because I can mount my device with "ifuse /media/iphone" by hand.

The other problem I found is more important. I easily changed the artist label of a song from amarok and then I saw the "syncing iphone" message on the screen, but now I see the song playing but I can't hear anything :S

Anyway, these are great news for us, thx again.

SteveMcQwark said...

Everything went well, except that Rhythmbox doesn't see any music on the device. Its an iPhone 3G v 3.1.3 I'm in Karmic Koala. I've restarted both the Phone and the computer.

Keptah said...

i guess i did it twice, so now inmy desktop you can see an "ipod" icon and a "my ipod name" icon, i can acces to the folders, but i can sync my music. what should i do? how can i do it all over?

SteveMcQwark said...

Okay, so it inexplicably started working after a while. I can add music, to the iPhone successfully, but now, everytime I plug it in, I get a message saying that my iPod is either uninitialized or corrupt, and that Rhythmbox can't use it without initializing it. It also says initializing will erase any existing metadata. Rhythmbox seems to work with it though.

Would initializing prevent any unforeseen problems/is there a way to get Rhythmbox to stop asking about it? Any idea why this is happening?

TheCaméléon said...

@Steven

Your problem abot reinitialisation MAY be due to the fact that iTunes and Rythmbox don't use the same database managment or MAYBE ur database is really corruted, due to unsecured unplug (while syncing)...

Bu Im not sure at all

ianstephenson1980 said...

YES ! This worked perfectly me, and no iphone is mounted and music is synced - absolutely brilliant - I was going to switch to a HTC phone given frustration with having to use iTunes for music transfer however now I can downgrade from £35 per month contract to £15 per month :-)

alviju said...

Hi everybody,

First of all, I want to thank all of you who are working on trying to connect iPods and Linux.

I am running Ubuntu 9.10 32 bits. My son has an iPod Touch 3rd Gen firmware 3.1.1 (7C145). This iPod Touch is not jailbroken.

Install process succeeded apparently smoothly with the help of this french post http://doc.ubuntu-fr.org/synchroniser_un_iphone_3g_3gs_a_ubuntu.

When USD cables is connected, the "itouch "is detected : 3 popups are shown (1 for the camera named iPod and 2 for the itouch named alexis). I juste Cancel in these 3 popups. Also, there are 2 icons on desktop (itouch icon is alexis and camera icon is iPod). All this has been described by others.

The itouch has been synced with iTunes: Nautilus can show HashInfo in ~/.gvfs/alexis/iTunes_Control/Device/.

I am a kind of newby in Linux and Rhythmbox, and I have issues trying to copy music files in both directions :

a) From itouch to laptop : Nautilus and Rhythmbox can both copy mp3 files from itouch to laptop but files names become unusable on laptop (4 uppercase letters only for the name). Rhythmbox, when looking at the itouch files, shows titles, artists names, album names : all is ok here. But when lookin at the copies on the laptop, Rhythmbox only shows these strange 4 letters names. Same problem with names under Nautilus, whatever location I look at : source files on itouch or copies on laptop. Any idea on this 4 letters name issue ? How can I get a file from the itouch keeping a relevant name on laptop ?

b) From laptop to itouch : using Rhythmbox, I have just succeeded in copying one mp3 file. Hurra !! But simply using Nautilus, I can't copy. Why ? Simply said, is it due to the fact that Nautilus has not been designed to be able to use libgpod ?

I also have a Gtkpod issue, now. As it seems that libgpod and gtkpod are coming from the same project, I guess they are kind of twin softwares. I'm curious trying gtkpod. YUNGAKK911 has posted several times saying that a right click on itouch desktop icon would give access to properties and folders for the "mount point". But I don't see such a "mount point" section. I just have 2 sections : "Name" with "alexis" and "Type" with "folder (inode/directory)". gtkpod's help doesn't seem to give info on this. Since, using Nautilus, the itouch is visible in ~/.gvfs/alexis/iTunes_Control/ should I assume that mount point is something like ~/.gvfs/ ? Maybe I am wrong ?

Again, thanks to all, here.

alviju said...

Just 2 details : the iPod Touch is an 8 Gb.
I mistyped the cable name : I should have type USB instead of USD. Sorry !!

Tres Finocchiaro said...

@alviju:

The 4-letter mp3 file names are how the iPod stores the names natively. This will happen on Windows or Mac too. They may look foreign but if you load them into RythmBox you will then be able to see the song information.

I think you can copy / paste from RythmBox directly from the device to a local folder too if that suits your needs.

-Tres

Tres Finocchiaro said...

Added link to french tutorial in step #1. Thanks for all the feedback. Sorry I cannot help further with some of the noted issues. Hopefully others can chime in.

budluva said...

ok, rhytmbox can see my device...

i can drag music into my device and it transfers...i even get my ipod touch to display the sync in progress screen...

when i browse (in nautilus) the ipod touch..i can see the mp3 files in the Fxx folders...

but the problem lies when i i go to play the music on the ipod, it just doesn't show up, only my 2 downloaded songs from itunes show up

any suggestions???

stuartcox said...

I am running Eeebuntu 3.0 on an Eeepc 700. Am I correct in thinking that the method given here will not work for me. I have tried and tried but to no avail. Thank you. I will post details if it possible.

Tres Finocchiaro said...

@stuartcox: Eeebuntu 3.0 is based on Ubuntu 9.04, so you may have better luck with some of the older posts on this subject.

Alternatively you could try Ubuntu Netbook Remix on your EEE. You could boot it off of a Live Thumb Drive and follow this tutorial without wiping out any of your settings.

-Tres

stuartcox said...

@FatButtLarry Thankyou. Or ditch the Eeepc!! time for an upgrade anyway.

Unknown said...

This worked for me on a Touch 3G 64gb w/ 3.1.3 firmware. I really didn't do anything other than what the tutorial said except I went into the User and Group under admin and checked the computer user name for include. Also as someone added, after Gtkpod is loaded, updates will update library(Gtkpod4) and see the newer Iphones and Touches

Bad news is I can't get it going in GTKpod but I'll work with that after I transfer my music with Rhythmbox.

TO add further, I had a 9.04 system that was internet upgraded to 9.10. When I started following the instruction of removing old packages, I went through them essentially one by one to make sure they were all gone. After I was satisfied I had gotten them all off, at reboot my system was hosed. Pretty much totally toast. I figure as been mentioned in the feedback, that depending on how some packages were added it will clear out other packages that weren't chosen. So be careful At the new boot there was no video and it wouldn't apt-get packages for me to reverse it. Just gave failure errors. So that night I did a 9.10 fresh install. Today I now, as I said I am successfully syncing.

Last thought; at first Rhythmbox wasn't syncing and I had made sure the ipod plugin was enabled. So all I did was do one more restart and booted the Ipod Touch off and back on again. Then it worked.

Unknown said...
This comment has been removed by the author.
Unknown said...

Hi,

Firstly, let me say thanks very much for all your help and advise on this - it's been a nightmare.

I have a iPhone 3GS, 16GB and I have followed your steps but am stuck here:

Please type the name of your ipod:
Conor's iPhone
mkdir: cannot create directory `/home/conor/.gvfs/Conor\'s iPhone': No such file or directory
Couldn't resolve Device directory path on iPhone/

I've tried swapping the apostrophes with %27 but the same thing appears.

What should I do?

Thanks,
Conor

Unknown said...
This comment has been removed by the author.
Tres Finocchiaro said...

@Connor: Check your tick mark. It might be the [`] or the [']. If there's any extra spaces, that might break it too.

Some suggest: Right click the desktop icon and copy the name from there.

Last resort, plug it back into a Windows machine and make the name simpler.

Hope this helps!

-Tres

Unknown said...

Hi Tres,

Thanks for the advise, I tried right-clicking and copying and now get this:

> sudo adduser "$USER" fuse; echo -e "\n\nPlease type the name of your ipod:"; read ipod_name; mkdir -p "$HOME/.gvfs/$ipod_name/iTunes_Control/Device/"; ipod-read-sysinfo-extended `sudo lsusb -v | grep 'iSerial' | awk 'length($0)>=68' | awk '{print $3}'` "$HOME/.gvfs/$ipod_name/
The user `conor' is already a member of `fuse'.


Please type the name of your ipod:
Conor’s iPhone
Couldn't resolve Device directory path on iPhone/
conor@conor-laptop:~$


Any other suggestions other than plugging in to a Windows machine?

Thanks,
Conor

will said...

I followed all this to the letter but I get from gtkpod "extended info will not be used" and then "import database failed"

Unknown said...

Hi Guys,

I have an iphone 3gs and all the instructions worked great for me...when I drag a song over to my iphone in rhythmbox it goes over without a problem...but I can;t open it in my iphone because it doesn;t show up...

can i get some help with this please!!
thanks

Unknown said...

I forgot to mention that I have restared both the phone and pc multiple times...I am using Karmic Koala and my iphone software is 3.1.2

ecualombian said...

So I followed your directions. I was super excited to get my 32gb gen 1 ipod touch to work with my asus eeepc900 of which I have ubuntu netbook remix...so I got to the point where rhythmbox sees my ipod. I had no music on there but a bunch of movies....I tried dragging and dropping but that didn't work. Since those didn't work, I tried deleting the music folder and the other troubleshooting files in the hopes of then being able to add a song from the itunes that I currently have available to me on a mac. Now my iTunes immediatey crashes when I plug in the ipod touch...frustrated, I jailbroke my ipod firmware 3.1.3 with a hacked 3.1.2 firware ipsw file and redsn0w...my ipod still gets picked up by rhythmbox but I wonder if I need to goto another computer anymore...can I manually "fix" the database file?

stuartcox said...

Details:
32g 2nd gen itouch
Asus eeepc 900
Ubuntu Netbook Remix Live
I do not have Itunes but it was originally synced with itunes Windows xp
blackrain jailbroken
Itouch reads as the jailbreakers itouch.

Because I have been trying this for awhile I am sure i have messed up somewhere.

As is:
No music or folders in itunes_control/music
itunes_control/itunes/itunes library.itlp has DBtemp folder and several other .itdb files
I cannot find any .ext files or .db or .cdb files

I followed instructions and

1) Itouch is recognized and shows in Files and Folders
2) Rhythmbox says TWICE

Rhythmbox has detected a device that is probably an uninitialized or corrupted iPod. It must be initialized before Rhythmbox can use it, but this will destroy any song metadata already present. If you wish Rhythmbox to initialize the iPod, please fill in the information below. If the device is not an iPod, or you do not wish to initialize it, please click

Model pop up doesn't show
I enter my itouch's name. Twice
Nothing shows or is recognized.

I cannot get GTKpod to work. Unfortunately I installed it after the tutorial.

re reading list

"To anyone with the mkdir problem at setp 9. Make sure you have GTKpod istalled prior to the installation.
I back tracked and I noticed people mentioning Gtkpod which i did not have so I installed it (via package manager)

Query gtkpod on the package manager
install gtkpod
rerun step 3
continue from there."

What is step 3?

Also when i run this i now get

ubuntu@ubuntu:~$ 2~sudo adduser "$USER" fuse; echo -e "\n\nPlease type the name of your ipod:"; read ipod_name; mkdir -p "$HOME/.gvfs/$ipod_name/iTunes_Control/Device/"; ipod-read-sysinfo-extended `sudo lsusb -v | grep 'iSerial' | awk 'length($0)>=68' | awk '{print $3}'` "$HOME/.gvfs/$ipod_name/"
2~sudo: command not found


Please type the name of your ipod:
SuperMagic's Ipod
mkdir: cannot create directory `/home/ubuntu/.gvfs/SuperMagic\'s Ipod': No such file or directory
Couldn't resolve Device directory path on /home/ubuntu/.gvfs/SuperMagic's Ipod/
ubuntu@ubuntu:~$


Sorry for the long post but i am confused as to where i am and what i should do now.

Any advice.

Thank you.

Stuart

Creativeamie said...

works on 10.04 didn't even log out or reboot

Ken said...

FYI: Rebooting is a bad habit brought over from the Windows crowd...Linux doesn't REQUIRE a reboot unless you are switching kernels.

Jon said...

Hi,

I've been using this for a while now, syncing with gtkpod. Recently I noticed that my iPhone failed to sync, it got unmounted each time I tried. Turns out that it was full because tracks I'd deleted via gtkpod were still on the phone. Removing these manually from inside ./gvfs//, and clearing all songs with gtkpod freed up the space. Still some irregularities in the database - duplicate tracks and dead tracks but it works pretty well. I wish gtkpod was more stable though or that there was a plugin for Banshee. Thanks FatButtLarry!

Jon said...

^^^
Just to clarify. This is a different Jon than the poster many comments above.

TheCaméléon said...

Evil Apple is blocking open source syncing with a new iTunes DB hash. Don't update to 4.0 if you don't use iTunes.

From http://twitter.com/marcan42/status/12059221689

This is clear enough to be understood ;)

Keith said...

Anyone have luck in Karmic? Everything installs fine, however, the iPod does not get mounted when connected. It *is* detected by the system

$ lsusb
Bus 001 Device 007: ID 05ac:1291 Apple, Inc. iPod Touch 1.Gen

But for whatever reason does not get mounted.

Any ideas?

Ken said...

Karmic works fine with the instructions given. If you're device isn't working it's probably because you did something wrong the device-side. I've done fresh installs on 4 boxes and all of them work fine with my iPod.

Keith said...

Oops. sorry, I meant to say "Kubuntu" not "Karmic." sorry about that!

Jay said...

I have everything up and running and Rhythmbox see's the device, plays music off of it and puts the device into "Sync in Progress" mode when trying to sync files to the iPhone.

Once in sync mode however, it just sits there for ever and syncs nothing.

Any ideas?

Jay said...

I have MTP unchecked and iPod enabled in the Rhythmbox plug-in preferences.

DFB said...

I am following up again and sharing in case it can help someone else. I have an 3rd gen ipod touch.

I now have Ubuntu 10.04 installed on my computer. At first, I had no issues. Now, it seems that every other update through the update manager breaks the ability to sync music. Perhaps it is related to an update to gvfs, which was in the latest round of updates this week.

Command lsusb finds the ipod and I can open the ipod in the file manager -- it shows a bunch of folders including podcast and dcim (i.e. photos) but not music.

To get it working again, I uncheck the iPod plugin box in Rhythmbox and restart the program. When I recheck the ipod plugin box and plug the ipod in, it works (until the next update at least;-).

Raffisson Studio said...

What you should do is reinstall Lucid. I am guess in you upgraded, or if you did do a clean install, you then followed the steps in this blog.

That may well have broken it.

Lucid has out of the box, zero configuration support in Rhythmbox for the iPod touch running firmware 3.12/3.13. It does not require jailbreaking, though I have personally discovered it will work with both a "stock" and a jailbroken iPod touch.

Reinstall, ot undo everything you did from this blog.

Tres Finocchiaro said...

@Raff: Thanks. Added to top of post.

DFB said...

@raff: Thanks. That explains things a bit better. You are correct, I did run the auto-update to install Lucid.

As long as I can still use my ipod touch without much more hassle than restarting rhythmbox, I'll skip out on reinstalling Lucid, as that is extreme. Plus, there is likely a better way to undo the steps on this blog. :-)

DFB said...

@Raff: Better way to undo:

In Synaptic Package Manager, remove ifuse, and add/update libimobiledevice-0 and python-imobiledevice.

DFB said...

Ok, one last follow-up based on my last comment. Apple released its OS4 the other day. Without thinking about it, I let iTunes program update my iPod Touch. It was easily resolved.

In a terminal, run:
sudo add-apt-repository ppa:pmcenery/ppa
sudo apt-get update && sudo apt-get upgrade


ppa:pmcerney/ppa is the repository for libimobiledevice. It will let you get the latest version of packages (the ubuntu version available in package manager is older)
See:
http://www.libimobiledevice.org/

fp said...

using amarok 2.3 in kubuntu 10.04, have you seen the following msg when transferring music?

"Could not change permissions for
/tmp/kde-fpflug/amarok/imobiledevice_8d1f6d78e488b3c7afa2ae9aaf4244da51afdc96/iTunes_Control/Music/F42/kpod0626742.mp3"

or even telling that it could not write into these music folders. i checked folder permissions: fine.
checked owner: it's my own user.

itouch 2 mounts fine in ~/.gvfs/.

despite the annoying message in amarok, it seems that music gets copied. :-$

Unknown said...
This comment has been removed by a blog administrator.
Pragya said...

THANK YOU!!!
seriously,i have been trying this for days..:) :) :)

Tres Finocchiaro said...

Great! Glad it could be of help. This is a bit outdated these days, so not too much feedback lately. Great to hear it's still of use!

Pragya said...

bdw..i got an error after the 11th step:

mkdir: cannot create directory `/home/hp/.gvfs/Pragya%27s iPOD': No such file or directory
Couldn't write SysInfoExtended to /home/hp/.gvfs/Pragya%27s iPOD/$

Also, i am able to put songs in my ipod through rhythmbox, but when i start my ipod it only shows 'updating library' for hours and does not show the songs or the videos.

Tres Finocchiaro said...

Did you try the work-around for folder names?

"right click the desktop icon and copy the name"

Also, are you running Ubuntu 9.10?

Pragya said...

yup,its ubuntu 9.10.
After starting the ipod again 2-3 times,it started working properly.

But ya,it still shows the error:
mkdir: cannot create directory `/home/hp/.gvfs/Pragya%27s iPOD': No such file or directory
Couldn't write SysInfoExtended to

Though its not creating any problems as of now.
Thanks again :)

Unknown said...

Running Kubuntu 10.04. This walkthrough was my saving grace after months of trying to mount my ipod but now after having to do a fresh install I find I can't run the first command properly.

Every time I try I get the error message: "E: Couldn't find package python-libimobiledevice."

I've tried searching for the package in Synaptic and KPackageKit to no avail and even went as far as to going directly to the Debian site to download it directly but when I finally got it from there it wouldn't download it because I apparently have a newer version already installed.

Can anybody help me out with this?

Unknown said...

edit: I've now also tried uninstalling my newer version of python-libimobiledevice in favor of the outdated version on the Debian site, however the same error appears.

SteveMcQwark said...

Jack: Did you try using your iPod without making any changes? Newer iPods are supposed to work out of the box on 10.04 (it did when I installed it). You're probably trying to fix a no-longer-existent problem.

https://help.ubuntu.com/community/PortableDevices/iPhone

Unknown said...

I have a 1st gen iPod w/ 3.13 firmware that has been jail-broken w/ Spirit but yes I did, in fact I jail-broke out of desperation on my first install of Kubuntu.

Unknown said...

I've found if I simply delete the python-imobiledevice I can get farther only to find a new error (although I'm sure deleting that command will come back to bite me eventually:

The following packages have unmet dependencies:
gvfs: Conflicts: libgvfscommon0 but 1.6.1-0ubuntu1build1 is to be installed

I don't understand this message. I have libgvgscommon0 installed and 1.6.1-0ubuntu1build1 is only appearing as under "latest version" in Synaptic but gvfs has a higher latest version.

Can anybody help me defeat the evil spirits that have been programmed into my ipod touch?

Unknown said...

Reggin.

Unknown said...

Thanks for this! It helped me get gtkpod to finally be able to write the database to my iTouch after it had been complaining about a missing hashinfo file.

And just to put in my two cents, after I deleted all the designated files, gtkpod wanted to create the necessary files again. I let it, and the songs showed right up on the ipod after the sync without needing to connect to itunes and copy a song to create the needed file structure, since gtkpod had already done that.

Again, thanks!

Unknown said...

When i get to"enter ipod name", i type in the name and it says no such directory, but my ipod is on desktop, and it is plugged in....HELP!!

Tres Finocchiaro said...

Is it 9.10? From posts, it seems newer versions of Ubuntu should work out of the box.

Unknown said...

When i get to the part where it says "enter name of ipod", i put the name in and it says "no such directory found" my ipod is mounted cause it shows up on desktop...HELP...Ive treid so many things to get my ipod 8g to read with rythembox, but IT WONT WORK..:(

Unknown said...

gtkpod wont read my ipod, in properties on the ipod, i cant find the mount point, it says name, type, contents, location, volume, then free space...where is the mount point?

Tres Finocchiaro said...

I asked you a basic question. If you can't answer it, I can't help.

Jack said...

just be wary of the case sensitivity. my gtkpod said that it couldn't find the "HashInfo" file, your instructions said Hashinfo and it wouldn't work until I had it properly capitalized. :)

Tres Finocchiaro said...

@Jack: Thanks. I believe what you are referring to is a comment from another user. Unfortunately, I do not have the ability to correct typos, only the ability to delete comments. Your feedback is appreciated.

-Tres