Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update libimobiledevice packages, fix usbmuxd #59734

Merged
merged 6 commits into from Apr 17, 2019

Conversation

infinisil
Copy link
Member

@infinisil infinisil commented Apr 16, 2019

Motivation for this change

#54953 updated usbmuxd only, seemingly without testing, because when I updated my system today it didn't work anymore, the issue being libimobiledevice/usbmuxd#95. All these libimobiledevice packages should be updated together such that such things don't happen. This PR updates all of them to their latest master version. I also changed ifuse to use the master version instead of its releases, because there hasn't been a release in a while (see libimobiledevice/ifuse#34).

Ping @worldofpeace @arilotter

This is currently also broken for 19.03 too, PR for a partial backport is incoming after discussions with @grahamc and @samueldr on IRC I decided to instead backport all of these updates, because libimobiledevice doesn't have any stable versions anyways, and not updating all those packages roughly at the same time might lead to more such issues.

Things done

I have verified that this fixes above issue, allowing me to use my iPhone for tethering again. I also checked that ifuse can mount the filesystem and that ideviceinstaller can list installed apps.

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@worldofpeace
Copy link
Contributor

Weird, I tested that on a deployed system 😕

@worldofpeace
Copy link
Contributor

Testing this now on my machine @infinisil

Copy link
Contributor

@worldofpeace worldofpeace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Things tested with IOS 12.2

  • usbmuxd works
    No problems when I inspect the output in the journal
  • ifuse works
  • listed applications with ideviceinstaller -l

@worldofpeace
Copy link
Contributor

And I was using usbmuxd with the module btw.

@infinisil
Copy link
Member Author

Ah sorry for the accusation then, I didn't verify that that PR actually broke it. I'm bisecting the issue now to find the cause.

@worldofpeace
Copy link
Contributor

Ah sorry for the accusation then, I didn't verify that that PR actually broke it. I'm bisecting the issue now to find the cause.

That may not be needed because it could have been an issue for certain devices.

@infinisil
Copy link
Member Author

Wait no, I did bisect it, and it lead me to 4bf34f1 from #54953

I've been testing usbmuxd with just

$ nix-build -A usbmuxd
$ sudo result/bin/usbmuxd -U usbmux -f

and an iOS device plugged in. In 4bf34f1 this leads to an immediate failure:

[01:53:26.446][3] usbmuxd v1.1.1 starting up
[01:53:26.447][3] Successfully dropped privileges to 'usbmux'
[01:53:26.456][3] Initialization complete
[01:53:26.457][3] Connecting to new device on location 0x3000b as ID 1
[01:53:26.457][3] Connected to v2.0 device 1 on location 0x3000b with serial number 073e1cde3e4009384fc8455c6f95a96456ebf6b0
[01:53:26.458][2] Attempted to connect to nonexistent device 0
[01:53:26.458][1] preflight_worker_handle_device_add: ERROR: Could not connect to lockdownd on device 073e1cde3e4009384fc8455c6f95a96456ebf6b0, lockdown error -8

But on 0faa6ba (master before the merge):

[01:54:14.138][3] usbmuxd v1.1.1 starting up
[01:54:14.139][3] Successfully dropped privileges to 'usbmux'
[01:54:14.149][3] Initialization complete
[01:54:14.150][3] Connecting to new device on location 0x3000b as ID 1
[01:54:14.150][3] Connected to v2.0 device 1 on location 0x3000b with serial number 073e1cde3e4009384fc8455c6f95a96456ebf6b0

So it might be that you just didn't check for this error or just didn't test this usecase. Or it might be that something in your stack is different, I'm running a pretty old iOS version, maybe the error regarding lockdownd would only occur in older versions.

@infinisil infinisil added the 9.needs: port to stable A PR needs a backport to the stable release. label Apr 17, 2019
@worldofpeace
Copy link
Contributor

@infinisil did you want another tester? Otherwise LGTM I'll merge.

@infinisil
Copy link
Member Author

Feel free to merge

@worldofpeace worldofpeace merged commit 2e60e06 into NixOS:master Apr 17, 2019
@samueldr samueldr removed the 9.needs: port to stable A PR needs a backport to the stable release. label Apr 22, 2019
@infinisil infinisil deleted the update/libimobiledevice branch February 28, 2024 23:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants