Need updated libimobiledevice and dependencies to access iOS 13 devices

Bug #1854403 reported by Philip Langdale
38
This bug affects 7 people
Affects Status Importance Assigned to Milestone
libimobiledevice (Ubuntu)
Fix Released
High
Unassigned
libplist (Ubuntu)
Fix Released
High
Unassigned
libusbmuxd (Ubuntu)
Fix Released
High
Unassigned
usbmuxd (Ubuntu)
Confirmed
High
Unassigned

Bug Description

iOS 13 devices require updated libimobiledevice, libusbmuxd and usbmuxd to work correctly. Without the updates, the device appears to be accessible but it's impossible to copy files to the devices.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in libimobiledevice (Ubuntu):
status: New → Confirmed
Changed in libplist (Ubuntu):
status: New → Confirmed
Changed in libusbmuxd (Ubuntu):
status: New → Confirmed
Changed in usbmuxd (Ubuntu):
status: New → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thank you for your bug report. Could you try on the current Ubuntu serie (focal), it should work there?
https://bugs.launchpad.net/ubuntu/+source/libimobiledevice/1.2.1~git20190929.60823f9-1

Changed in libimobiledevice (Ubuntu):
importance: Undecided → High
Changed in libplist (Ubuntu):
importance: Undecided → High
Changed in libusbmuxd (Ubuntu):
importance: Undecided → High
Changed in usbmuxd (Ubuntu):
importance: Undecided → High
Changed in libimobiledevice (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Sebastien Bacher (seb128) wrote :

We first need to assert if it's working in the current version, then it would be nice to backport support to Bionic but that might be non trivial since it involves a soname change/transition

Revision history for this message
Philip Langdale (langdalepl) wrote :

At the time I filed the bug, I did not notice an updated build in focal - it was still the same one as in eoan, but perhaps I was just not paying enough attention. I will try it out. That version is likely to be new enough to work, although I know there was an update to libusbmuxd with a version and soname bump in november (although the functional changes are already present in that git revision) and that would be worth having to avoid long term confusion.

Revision history for this message
Philip Langdale (langdalepl) wrote :

I'll try out the focal builds when I get a chance.

Revision history for this message
adasiko (adasiko256) wrote :

No luck with Ubuntu 20.04 (trying to copy mp3 file to VLC folder on iPhone):

"Error while copying test.mp3. There was error copying file into afc://some-id/org.videolan.vlc-ios. The connection was interrupted."

Something broken with iOS 13 update...

Revision history for this message
adasiko (adasiko256) wrote :

Photo access (gphoto2://) works in both Ubuntu 18.04 and 20.04.

Documents access (afc://) works in Ubuntu 18.04 in reading mode - I can copy file from iPhone to PC. But it hangs (forever 0%) while copy one small file to iPhone device.
In Ubuntu 20.04 I get errors for both case (copy file from iPhone documents to PC and with reverse direction).

Can not say that Ubuntu 20.04 is better in this use case...

Revision history for this message
Philip Langdale (langdalepl) wrote :

I can't test the latest packages fully because I'm running eoan but I did install the packages from focal and it didn't work, while I'm home-built binaries from mid october do work, so maybe some regressed? The usbmuxd upgrade is fine, but libimobiledevice/libusbmuxd is what breaks it. I can't disentangle those two because the so version changed.

I also tried installing focal in a VM - the pass through behaviour is not perfect, but the problems were the same.

Revision history for this message
Martin Büchler (mbm0811) wrote :

Followed the advice of Jackfritt at https://github.com/libimobiledevice/libimobiledevice/issues/903

I had to additionally do the same for usbmuxd:

sudo apt-get install

git clone https://github.com/libimobiledevice/usbmuxd.git
./autogen.sh
make
sudo make install

then reboot.

Verified for Ubuntu 18.04.4 LTS

Revision history for this message
Martin Büchler (mbm0811) wrote :

In previous comment

  sudo apt-get install

should read

  sudo apt-get install libusb-1.0-0-dev

Revision history for this message
Martin Büchler (mbm0811) wrote :

Ok, I forgot another crucial step to mention:

after installing the libraries, you have to run

  sudo ldconfig -v

to move the new libs in /usr/local/lib to the front....

Revision history for this message
Martin Büchler (mbm0811) wrote :

https://bugs.launchpad.net/ubuntu/+source/libimobiledevice/+bug/1854403 may be solved by installing the latest version of

libplist
libimobiledevice
libusbmuxd
usbmuxd

I tested it and write access works again, see comment https://bugs.launchpad.net/ubuntu/+source/libimobiledevice/+bug/1854403/comments/13

Are there any plans to provide official packages for i.e. 18.04 LTS?

Revision history for this message
Philip Langdale (langdalepl) wrote :

I've upgraded to 20.04 and have checked out the installed versions. For now, I was able to get it working "just" by upgrading libimobiledevice to the latest git and building against gnutls (using openssl resulted in it needing to re-trust every time I plug in because the TLS information it is saving is wrong, somehow).

The other libraries are new enough now.

Revision history for this message
Philip Langdale (langdalepl) wrote :

Ok, so this is progress. Building against gnutls fixes the trust pairing, but breaks file transfers. I rebuild the same source with openssl vs gnutls and that's exactly what I see. With openssl I have to re-pair every time I plug in but with gnutls, the file transfers don't work.

The official ubuntu build uses gnutls so that's why we see the behaviour we do, and why the git version ubuntu uses should be new enough - it is with openssl.

Revision history for this message
Philip Langdale (langdalepl) wrote :
Revision history for this message
Philip Langdale (langdalepl) wrote :

Upstream fix for the openssl issue is in: f56a65f in libimobiledevice.

Taking advantage of that requires switching the ubuntu build from using gnutls to openssl.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Unsure if we want to switch to openssl, that would be a request to make to Debian. There might have been a (license) reason to prefer gnutls there

Revision history for this message
Sebastien Bacher (seb128) wrote :

Upstream rolled new versions and they landed in Debian and now Ubuntu

https://bugs.launchpad.net/ubuntu/+source/libplist/2.2.0-3
https://bugs.launchpad.net/ubuntu/+source/libusbmuxd/2.0.2-2
https://bugs.launchpad.net/ubuntu/+source/libimobiledevice/1.3.0-2

Could someone with access to a device try if things work well using those? Is focal buggy and needing an update?

Changed in libplist (Ubuntu):
status: Confirmed → Fix Released
Changed in libusbmuxd (Ubuntu):
status: Confirmed → Fix Released
Changed in libimobiledevice (Ubuntu):
status: Incomplete → Fix Released
Revision history for this message
Philip Langdale (langdalepl) wrote :

So, the new builds are new enough versions but libimobiledevice is still built against gnutls and so file transfers don't work. If I build my own library at the 1.3.0 version against openssl and drop it in, then it all works fine.

The new builds of libplist and libusbmuxd are very helpful as they make it easy to rebuild libimobiledevice, but until the build is switched to openssl, it'll be broken no matter the version.

And so yes, focal is broken too.

Revision history for this message
Sebastien Bacher (seb128) wrote :

@Philip, thanks, I guess my question was not specific enough, let's me rephrase 'any idea if rebuilding focal with f56a65f included and openssl is enough or do we need other changes/updates to have a working stack there?

Revision history for this message
Philip Langdale (langdalepl) wrote :

Ah, sorry. Yes, if you rebuild the focal package with f56a65f and use openssl, then connectivity and file transfers work correctly. There does not appear to be any other changes required. I can't vouch for all the functionality, of course. The device backup functionality seems popular, but I don't use it. I've tried doing a device backup and that seems fine, but I'm not going to attempt to restore it. :-)

Revision history for this message
Sebastien Bacher (seb128) wrote :

So I've checked with the Debian maintainer, the package needs to build with gnutls for licensing reasons, specific in https://alioth-lists.debian.net/pipermail/pkg-gtkpod-devel/2020-June/004615.html , we are going to fix the gnutls backend if we want that issue resolved

Revision history for this message
Sebastien Bacher (seb128) wrote :

libimobiledevice is built with openssl now

https://launchpad.net/ubuntu/+source/libimobiledevice/1.3.0-4

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.