O iPhone é montado apenas uma vez, não mostra imagens, documentos na remontagem

O iPhone é montado apenas uma vez, não mostra imagens, documentos na remontagem

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 as reinicializações do Ubuntu.

Como faço para solucionar isso?

Deve ser um bug ou um problema de configuração, e não algum software ausente ou completamente extinto, porque na verdade funciona na primeira vez após uma 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 na segunda reconexão, mas não na terceira reconexão. Não vejo nenhum erro no dmesg.

Eu vejo ele 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 Como acesso as fotos da câmera iOS no Ubuntu 17.04?e corra

idevicepair validate 

entendi isso:

ERRO: o dispositivo retornou o código de erro não tratado "-3"

Rode isto

idevicepair unpair && idevicepair pair

e consegui revalidar com sucesso depois de inserir a senha do meu iPhone, mas as pastas não reapareceram.

Depois de outra reconexão, vejo isso

idevicepair validate

Nenhum dispositivo encontrado, ele está conectado?

Tentar acessá-lo por meio do esquema afc://SerialNumber no aplicativo Arquivos me diz

Erro libimobiledevice: Nenhum dispositivo encontrado. Certifique-se de que o usbmuxd esteja configurado corretamente.

usbmuxd --version

usbmuxd1.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 está montada e mostrada, masnão as fotos.

Ao reconectar, recebo esta caixa de diálogo pop-up com mensagem de erro (de Arquivos?)

Não é possível abrir uma pasta para documentos no cache do iPhone inválido, tente novamente (tratado internamente)

[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 as pastas em Arquivos:

AirFair      DCIM            iTunesRestore    PhotoData      Purchases
Books        Downloads       LoFiCloudAssets  Photos         Radio
CloudAssets  iTunes_Control  MediaAnalysis    PublicStaging  Recordings

Parece que tenho uma solução alternativa para acessar a pasta Fotos. Obviamente eu gostaria que funcionasse sem as embreagens do sudo.

Responder1

A atualização usbmuxdresolve o problema. Eu baixei um pacote mais recente dehttps://packages.ubuntu.com/cosmic/usbmuxd(1.1.1~git20180428.b95a0a0-1) e instalei-o. Surpreendentemente, era compatível com Ubuntu 18.04.

Responder2

Isso funciona para mim, no Ubuntu 18.04:https://ubuntuforums.org/showthread.php?t=2376741&p=13779062#post13779062

$gato /lib/udev/rules.d/39-usbmuxd.rules
# usbmuxd (Apple Mobile Device Muxer escutando em /var/run/usbmuxd)

# Inicialize os dispositivos iOS no estado de configuração USB "desativado" e ative o usbmuxd
ACTION=="adicionar", 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"

#Saia do usbmuxd quando o último dispositivo for removido
ACTION=="remover", SUBSYSTEM=="usb", ENV{PRODUCT}=="5ac/12[9a][0-9a-f]/*", ENV{INTERFACE}=="255/*", EXECUTAR+="/bin/systemctl parar usbmuxd"

informação relacionada