A atualização de usbmuxd
soluciona o problema. Eu baixei um novo pacote do link (1.1.1 ~ git20180428.b95a0a0-1) e o instalei. Surpreendentemente, era compatível com o Ubuntu 18.04.
Eu tenho um iPhone 8 que inicialmente se conecta via USB para que as pastas Imagens e Documentos estejam disponíveis no Ubuntu 17.10. No entanto isso funciona apenas uma vez entre o Ubuntu é reiniciado.
Como faço para solucionar isso?
Isso deve ser um bug ou um problema de configuração, não algum software ausente ou completamente desativado, porque ele realmente funciona na primeira vez após a reinicialização.
O que acontece é que, se eu desconectar e conectar o iPhone novamente, a pasta Imagens não reaparece no aplicativo Arquivos. A pasta Documentos aparece em uma segunda reconexão, mas não na terceira reconexão. Eu não vejo nenhum erro no dmesg.
Eu vejo isso sendo reconhecido via USB
[234230.482987] usb 1-1: USB disconnect, device number 6 [234250.239084] usb 1-1: new high-speed USB device number 7 using xhci_hcd [234250.385353] usb 1-1: New USB device found, idVendor=05ac, idProduct=12a8 [234250.385358] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [234250.385362] usb 1-1: Product: iPhone [234250.385365] usb 1-1: Manufacturer: Apple Inc. [234250.385369] usb 1-1: SerialNumber: **** (number skipped)
Eu verifiquei este tópico em Como faço para acessar fotos da câmera iOS no Ubuntu 17.04? e corra
idevicepair validate
entendeu isso:
ERROR: Device returned unhandled error code "-3"
execute este
idevicepair unpair && idevicepair pair
e conseguiu validar com sucesso após inserir minha senha do iPhone, mas as pastas não voltariam a aparecer.
Depois de outra reconexão, vejo isso
idevicepair validate
No device found, is it plugged in?
Tentando acessá-lo via afc: // o esquema SerialNumber no aplicativo Files informa-me
libimobiledevice Error:No device found. Make sure usbmuxd is set up correctly.
usbmuxd --version
usbmuxd 1.1.0
usbmuxd --verbose -f
[06:44:02.000][3] usbmuxd v1.1.0 starting up [06:44:02.000][0] Could not open lockfile
sudo usbmuxd --verbose -f
[06:47:04.774][3] usbmuxd v1.1.0 starting up [06:47:04.775][4] Creating socket [06:47:04.775][4] Initializing USB [06:47:04.781][4] Found new device with v/p 05ac:12a8 at 1-9 [06:47:04.781][3] Could not get old configuration descriptor for device 1-9: -5 [06:47:04.781][4] Setting configuration for device 1-9, from 0 to 4 [06:47:04.786][4] Found interface 1 with endpoints 04/85 for device 1-9 [06:47:04.810][4] Using wMaxPacketSize=512 for device 1-9 [06:47:04.810][3] Connecting to new device on location 0x10009 as ID 1 [06:47:04.810][4] 1 device detected [06:47:04.810][3] Initialization complete [06:47:04.810][3] Connected to v2.0 device 1 on location 0x10009 with serial number SerialNumber [06:47:04.810][4] preflight_worker_handle_device_add: Starting preflight on device SerialNumber... [06:47:04.810][4] New client on fd 13 [06:47:04.827][4] New client on fd 15 [06:47:04.829][4] Client 15 connection closed [06:47:04.829][4] Disconnecting client fd 15 [06:47:04.837][4] New client on fd 15 [06:47:04.838][4] Client 15 connection closed [06:47:04.838][4] Disconnecting client fd 15 [06:47:04.891][4] preflight_worker_handle_device_add: StartSession success for device SerialNumber [06:47:04.891][4] preflight_worker_handle_device_add: Finished preflight on device SerialNumber [06:47:04.892][4] Disconnecting client fd 13 [06:47:05.775][4] New client on fd 12 [06:47:05.775][4] New client on fd 13 [06:47:05.776][4] Client 13 connection closed [06:47:05.776][4] Disconnecting client fd 13 [06:47:05.776][4] New client on fd 13 [06:47:05.782][4] Disconnecting client fd 13 [06:47:05.812][4] New client on fd 13 [06:47:05.812][4] Client 13 connection closed [06:47:05.812][4] Disconnecting client fd 13 [06:47:05.812][4] New client on fd 13 [06:47:05.814][4] New client on fd 14 [06:47:05.817][4] New client on fd 15 [06:47:05.820][4] New client on fd 16 [06:47:05.820][4] Client 16 connection closed [06:47:05.820][4] Disconnecting client fd 16 [06:47:05.820][4] New client on fd 16 [06:47:05.820][4] Client 16 connection closed [06:47:05.820][4] Disconnecting client fd 16 [06:47:05.830][4] New client on fd 16 [06:47:05.830][4] Client 16 connection closed [06:47:05.830][4] Disconnecting client fd 16 [06:47:05.874][4] Disconnecting client fd 13 [06:47:05.875][4] New client on fd 13 [06:47:05.876][4] New client on fd 16 [06:47:05.876][4] Client 13 connection closed [06:47:05.876][4] Disconnecting client fd 13 [06:47:05.878][4] New client on fd 13 [06:47:05.878][4] Client 13 connection closed [06:47:05.878][4] Disconnecting client fd 13 [06:47:05.878][4] New client on fd 13 [06:47:05.879][4] Client 13 connection closed [06:47:05.879][4] Disconnecting client fd 13 [06:47:05.882][4] New client on fd 13 [06:47:05.882][4] Client 13 connection closed [06:47:05.883][4] Disconnecting client fd 13 [06:47:05.900][4] New client on fd 13 [06:47:05.901][4] Disconnecting client fd 16 [06:47:05.906][4] New client on fd 16 [06:47:05.907][4] Disconnecting client fd 15
Agora, a pasta Documentos é montada e mostrada, mas não são as Imagens .
Ao reconectar recebo essa caixa de diálogo de mensagem de erro (em Arquivos?)
Unable to open a folder for Documents on iPhone Cache invalid, retry (internally handled)
[06:53:16.072][4] New client on fd 11 [06:53:16.073][4] Client 11 connection closed [06:53:16.073][4] Disconnecting client fd 11 [06:53:16.573][4] New client on fd 11 [06:53:16.574][4] Client 11 connection closed [06:53:16.574][4] Disconnecting client fd 11 [06:53:17.204][4] Found new device with v/p 05ac:12a8 at 1-10 [06:53:17.205][3] Could not get old configuration descriptor for device 1-10: -5 [06:53:17.205][4] Setting configuration for device 1-10, from 0 to 4 [06:53:17.258][4] Found interface 1 with endpoints 04/85 for device 1-10 [06:53:17.290][4] Using wMaxPacketSize=512 for device 1-10 [06:53:17.291][3] Connecting to new device on location 0x1000a as ID 2 [06:53:17.298][3] Connected to v2.0 device 2 on location 0x1000a with serial number SerialNumber [06:53:17.306][4] preflight_worker_handle_device_add: Starting preflight on device SerialNumber... [06:53:17.306][4] New client on fd 14 [06:53:17.353][4] New client on fd 16 [06:53:17.353][4] Client 16 connection closed [06:53:17.353][4] Disconnecting client fd 16 [06:53:17.377][4] New client on fd 16 [06:53:17.377][4] Client 16 connection closed [06:53:17.377][4] Disconnecting client fd 16 [06:53:17.415][4] preflight_worker_handle_device_add: StartSession success for device SerialNumber [06:53:17.415][4] preflight_worker_handle_device_add: Finished preflight on device SerialNumber [06:53:17.415][4] New client on fd 15 [06:53:17.415][4] New client on fd 16 [06:53:17.415][4] Client 15 connection closed [06:53:17.415][4] Disconnecting client fd 15 [06:53:17.416][4] Disconnecting client fd 14 [06:53:17.418][4] Disconnecting client fd 16
Mas agora o afc: // começa a funcionar e finalmente posso ver pastas em Arquivos:
AirFair DCIM iTunesRestore PhotoData Purchases
Books Downloads LoFiCloudAssets Photos Radio
CloudAssets iTunes_Control MediaAnalysis PublicStaging Recordings
Portanto, pareço ter uma solução alternativa para acessar a pasta Fotos. Obviamente, gostaria que funcionasse sem as garras do sudo.
Isso funciona para mim, no Ubuntu 18.04: link
$ cat /lib/udev/rules.d/39-usbmuxd.rules # usbmuxd (Apple Mobile Device Muxer listening on /var/run/usbmuxd) # Initialize iOS devices into "deactivated" USB configuration state and activate usbmuxd ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05ac", ATTR{idProduct}=="12[9a][0-9a-f]", ENV{USBMUX_SUPPORTED}="1", ATTR{bConfigurationValue}="0", OWNER="usbmux", TAG+="systemd", ENV{SYSTEMD_WANTS}="usbmuxd.service", RUN+="/bin/systemctl start usbmuxd" # Exit usbmuxd when the last device is removed ACTION=="remove", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", RUN+="/bin/systemctl stop usbmuxd"