Jak podłączyć Android 7.1 do Ubuntu Linux za pomocą USB?

20

Próbuję podłączyć telefon Google Pixel z Androidem 7.1 do laptopa Ubuntu 16.04 za pomocą kabla USB za pomocą narzędzi mtp. Ale mtp nie widzi systemu plików telefonu i wyświetla komunikat o błędzie „Pobieranie informacji o pamięci nie powiodło się”.

Następnie wypróbuj narzędzia 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.

Jeśli jest to przydatne ...

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

Wielkie dzięki za wszelkie porady!

Sullivan
źródło

Odpowiedzi:

32

Oto, co znalazłem działa:

  • Po pierwsze, zignoruj ​​wszystkie komentarze w internecie dotyczące /etc/udev/rules.d/51-android.rules. Ten plik nie jest potrzebny.

  • Po drugie, pomiń narzędzia mtp. Nie są one udokumentowane, a jmtpfs jest znacznie łatwiejszy.

  • Zainstaluj pakiet jmtpfs: sudo apt-get install jmtpfs

  • Utwórz katalog, dowolny katalog: sudo mkdir /media/myphone
  • Podłącz kabel USB
  • Odblokuj telefon z Androidem.
  • Przesuń palcem od góry ekranu telefonu
  • Powinieneś zobaczyć powiadomienie „USB ...”
  • Dotknij tego powiadomienia.
  • Powinieneś zobaczyć menu zatytułowane „Użyj USB do ...”, wybierz „Przenieś pliki”.

  • W kwestii komputera z systemem Linux:

sudo jmtpfs /media/myphone

ls /media/myphone

fusermount -u /media/myphone

Sullivan
źródło
2
Dzięki. Wystarczyło mi znalezienie tego powiadomienia i wybranie plików do przesłania. Wygląda jednak na to, że nie pamięta i będę musiał to robić za każdym razem. (BTW, jest bardzo możliwe, że zainstalowałem coś w rodzaju mpt-tools, dla wcześniejszej wersji Androida, mojego poprzedniego telefonu, dlatego właśnie „po prostu działał”)
Darren Cook
Dziękuję Ci. Po prostu podążyłem za radą „podłącz telefon” - i jest!
ycc_swe
2
Jeśli dodasz opcję „allow_other”, mount będzie dostępny także dla innych użytkowników niż root, używając „uid” i „gid” możesz ustawić użytkownika: grupa punktu montowania: sudo jmtpfs / media / motox -o uid = 1000, gid = 1000, allow_other
władca
1
Dzięki. To zadziałało dla mnie. Jednak musiałem TYLKO posunąć się tak daleko, jak Unlocking my phonetylko podłączyłem USB, karta SD mojego telefonu została zamontowana i można ją było kliknąć.
ThN
1
Można go również zamontować w katalogu użytkownika, bez potrzeby sudo.
Hibou57
6

Działa to na moim telefonie Motorola Moto Z Force Droid z systemem Android 7.1.1:

W telefonie wybierz Ustawienia> Opcje programisty (włącz, jeśli jeszcze nie jest włączony)> przewiń w dół do Wybierz konfigurację USB> wybierz Protokół przesyłania obrazu> następnie ponownie wybierz Protokół przesyłania multimediów. Następnie zainstaluj pamięć wewnętrzną telefonu i pamięć karty SD (jeśli istnieje).

Nie musiałem instalować żadnego oprogramowania na komputerze Ubuntu 16.04.3, którego używam.

Don Karon
źródło
W Androidzie Oreo przechodzę do Ustawienia -> Zaawansowane -> Opcje programisty -> Domyślna konfiguracja USB i wybranie Przesyłanie plików działało dla mnie. Zauważyłem, że opcja „Brak transferu danych” jest domyślnie włączona.
elig
1

Odpowiedź Sullivana zadziałała dla mnie, ale dopiero po wymianie kabla, którego używałem. W przypadku poprzedniego kabla (2 metry długości) połączenie było bardzo wolne lub często rozłączane.

Oprócz odpowiedzi Sullivana wykonałem również następujące czynności:

  • Przejrzałem opcje programistyczne w moim Androidzie 7.0 (Moto G5 Plus) i włączyłem debugowanie USB. Bez tego połączenie nigdy nie byłoby możliwe!
polaatx
źródło
0

Mam Moto Z2 Force z systemem Android 8.0.0 i podłączam się do komputera z 64-bitowym Ubuntu 16,04 LTS

Nie widziałem „Opcje programisty” na moim telefonie, ale wybierając Ustawienia> Podłączone urządzenia> USB> Przesyłaj pliki, umożliwia kopiowanie plików GUI z mojego telefonu. UWAGA: Musisz mieć podłączone urządzenie USB, w przeciwnym razie opcje USB będą widoczne. To nie pozwala na ładowanie plików do telefonu, wystarczy skopiować z niego ..., ale to kolacja łatwa.

użytkownik833299
źródło