Como conectar o Android 7.1 ao Ubuntu Linux com USB?

20

Estou tentando conectar um telefone Google Pixel, com Android 7.1, a um laptop Ubuntu 16.04 com um cabo USB usando mtp-tools. Mas o mtp não vê o sistema de arquivos do telefone e exibe a mensagem de erro "Falha ao obter informações de armazenamento".

Então, tentando as ferramentas mtp ...

# mtp-detect
libmtp version: 1.1.10

Listing raw device(s)
Device 0 (VID=18d1 and PID=4ee1) is a Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP).
   Found 1 device(s):
   Google Inc (for LG Electronics/Samsung): Nexus 4/5/7/10 (MTP) (18d1:4ee1) @ bus 2, dev 17
Attempting to connect device(s)
Android device detected, assigning default bug flags
Error 1: Get Storage information failed.                 ***** ???
USB low-level info:
   bcdUSB: 512
   bDeviceClass: 0
   bDeviceSubClass: 0
   bDeviceProtocol: 0
   idVendor: 18d1
   idProduct: 4ee1
   IN endpoint maxpacket: 512 bytes
   OUT endpoint maxpacket: 512 bytes
... many lines omitted ...


# mtp-connect
libmtp version: 1.1.10

Device 0 (VID=18d1 and PID=4ee1) is a Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP).
Android device detected, assigning default bug flags
Usage: connect <command1> <command2>
Commands: --delete [filename]
          --sendfile [source] [destination]
          --sendtrack [source] [destination]
          --getfile [source] [destination]
          --newfolder [foldername]


# mtp-filetree
Device 0 (VID=18d1 and PID=4ee1) is a Google Inc (for LG Electronics/Samsung) Nexus 4/5/7/10 (MTP).
Attempting to connect device(s)
Android device detected, assigning default bug flags
Error 1: Get Storage information failed.
Device: (NULL)
LIBMTP_Get_Storage(): Resource temporarily unavailable
OK.

Caso seja útil ...

cat /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0666", OWNER="sullivan"

Muito obrigado por qualquer conselho!

Sullivan
fonte

Respostas:

32

Aqui está o que eu encontrei funciona:

  • Primeiro, ignore todos os comentários da web que você viu sobre o /etc/udev/rules.d/51-android.rules. Esse arquivo não é necessário.

  • Segundo, pule as ferramentas mtp. Eles não estão documentados e o jmtpfs é muito mais fácil.

  • Instale o pacote jmtpfs: sudo apt-get install jmtpfs

  • Crie um diretório, qualquer diretório: sudo mkdir /media/myphone
  • Conecte o cabo USB
  • Desbloqueie o telefone Android.
  • Deslize para baixo na parte superior da tela do telefone
  • Você verá uma notificação "USB ..."
  • Toque nessa notificação.
  • Você deve ver um menu intitulado "Usar USB para ...", selecione "Transferir arquivos".

  • Sobre a questão do computador linux:

sudo jmtpfs /media/myphone

ls /media/myphone

fusermount -u /media/myphone

Sullivan
fonte
2
Obrigado. Basta encontrar essa notificação e escolher os arquivos de transferência para mim. Parece que não me lembro, e terei que fazer isso toda vez. (Aliás, é muito possível que eu tenha instalado algo como MPT-ferramentas, para uma versão anterior do Android, meu telefone anterior, o que é por isso que "simplesmente funcionou")
Darren Cozinhe
Obrigado. Eu apenas segui o conselho para "conectar o telefone" - e existe!
ycc_swe
1
Se você adicionar a opção 'allow_other', a montagem também estará disponível para outros usuários que não root. Usando 'uid' e 'gid', você poderá definir o usuário: grupo do ponto de montagem: sudo jmtpfs / media / motox -o uid = 1000, gid = 1000, allow_other
ruleant
1
Obrigado. Isso funcionou para mim. No entanto, eu só tinha que ir tão longe. Unlocking my phoneE assim que liguei o USB, o cartão SD do meu telefone estava montado e era clicável.
ThN 15/07/19
1
Também pode ser montado em um diretório de usuários, sem necessidade sudo.
precisa saber é o seguinte
6

Isso funciona para mim em um Motorola Moto Z Force Droid com Android 7.1.1:

No telefone, vá para Configurações> Opções do desenvolvedor (ative se ainda não estiver ligado)> role para baixo até Selecione Configuração USB> selecione Protocolo de transferência de imagens> e selecione novamente Protocolo de transferência de mídia. A memória interna do telefone e a memória do cartão SD (se houver) são montadas.

Não precisei instalar nenhum software no computador Ubuntu 16.04.3 que eu uso.

Don Karon
fonte
No Android Oreo, vá para Configurações -> Avançado -> Opções do desenvolvedor -> Configuração USB padrão e selecione Transferência de arquivos funcionou para mim. Notei que tinha "Sem transferência de dados" ativada por padrão.
elegível
1

A resposta de Sullivan funcionou para mim, mas somente depois de substituir o cabo que estava usando. Com o cabo anterior (2 metros de comprimento), a conexão era extremamente lenta ou desconectada com frequência.

Também fiz o seguinte, além da resposta de Sullivan:

  • Entrei nas opções de desenvolvedores no meu Android 7.0 (Moto G5 Plus) e habilitei a depuração USB. Sem isso, nenhuma conexão era possível!
polaatx
fonte
0

Eu tenho um Moto Z2 Force executando o Android 8.0.0 e estou conectando a um PC executando o Ubuntu 16,04 LTS de 64 bits

Não vi "Opções do desenvolvedor" no meu telefone, mas selecionando Configurações> Dispositivos conectados> USB> Transferir arquivos, ele permite copiar a GUI do meu telefone. NOTA: Você precisa ter seu USB conectado ou as opções USB são fantasma. Isso não permite que você carregue arquivos no telefone, apenas copie dele ..., mas é fácil jantar.

user833299
fonte