TL; DR : o problema é inerente ao MTP, ele persiste em todos os sistemas operacionais, seja GNU / Linux, Mac ou Windows, e não há nada que você possa fazer sobre isso, tanto quanto Eu sei. Mas existem maneiras melhores de acessar seu telefone, por exemplo, para configurar um servidor FTP no telefone e usá-lo através de WiFi, ou para montar o telefone através do adbfs.
Eu tenho Alcatel Onetouch idol2 . Mais cedo eu já tinha alguns Samsung, e agora eu também tenho um presente Galaxy J1 mini .
Com desrespeito a um telefone, o MTP sempre foi muito ruim. Cargas longas e desconexões repentinas são algo em comum. Isso me deixou curioso, qual é o problema?
Ainda estou por encontrar as razões técnicas por trás de ser tão ruim. Como eu entendi, MTP é protocolo muito aleijado, e. ele suporta somente leitura ou gravação de um arquivo inteiro , sem leituras / gravações parciais. Mas o lado positivo da abordagem está sendo muito simples - e não tenho ideia de como isso poderia ter sido tão ruim.
Fora da leitura de tópicos diferentes (veja, por exemplo, este, é enorme ) Eu tenho algumas coisas:
- Os problemas de MTP são irrelevantes para o sistema operacional host. GNU / Linux, Mac OS X e Windows - todos são suscetíveis.
- Se você realmente quer trabalhar de alguma forma com o seu telefone, você precisa configurar um servidor FTP (e eu aposto que você pode procurar arquivos no gerenciador de arquivos através do protocolo sftp) , ou para ativar o sistema de arquivos adb.
Eu segui o caminho do sistema de arquivos adb. Você precisa:
- Ativar "depuração usb" no seu telefone (o procedimento depende do telefone, seja nas configurações ou oculto por trás de um super combo de luta, como clicar n vezes no marcador para ativar ) .
-
sudo apt-get install libfuse-dev android-tools-adb
- Crie e instale adbfs-rootless .
- Agora você pode navegar no telefone. Conecte-o e digite o terminal do computador
mkdir mnt
,adbfs mnt
. - Ainda não está montado - procure na tela do telefone, ele deve perguntar se você "permite a conexão do dispositivo < some_id >". Clique em "permitir sempre a partir de < this_id >".
Agora, o telefone está montado em ./mnt
, para que você possa navegar nele. Para desmontar execute fusermount -u mnt
(é FUSE, você não precisa de privilégios elevados) .
Não é realmente ideal, por ex. para mover um arquivo usando o Dolphin, eu tenho uma vez "disco está cheio". Em última análise, é um problema com o Dolphin, embora tenha uma razão - quando eu usei o comando mv
, houve avisos sobre a impossibilidade de definir permissões. Eles são inofensivos embora (a menos que você cuide das permissões no telefone) . Mas eu aposto que o sftp seria mais perfeito.
Acho que você também pode escrever uma regra do udev para montar automaticamente o telefone (a?) na conexão, mas não tive motivação suficiente para explorar isso.