Modo migliore per connettere Galaxy Nexus (ICS) a Linux


13

Posso connettere il mio Galaxy Nexus alla mia macchina Kubuntu usando il protocollo PTP , ma è molto lento. Ho letto questa intervista sul perché Galaxy Nexus non supporta l'archiviazione di massa USB e sono andato su http://www.android.com/filetransfer/ come indicato, ma non riesco a vedere quale mi permetterà di connettersi al dispositivo utilizzando una macchina linux e MTP .

Qualcuno sa come far funzionare MTP o qualsiasi altro protocollo?

Risposte:


7

Puoi anche provare mtpfs o gMTP . mtpfs consente di montare il dispositivo MTP come filesystem, mentre gMTP è un programma autonomo.

Su AskUbuntu c'è una risposta che mostra come usare mtpfs.


gMTP sembra funzionare molto bene per me per copiare foto dal mio vecchio telefono. Cercare di copiare su PTP è stato doloroso.
Ryan,

1
gMTP non è soddisfacente per me. È MOLTO lento e dà errori con i file musicali (cerca di creare album per ogni file trasferito). Anche gMTP si arresta in modo anomalo in Ubuntu. Mi piace di più il metodo ADB. Uso anche SSHFS su WiFi e alcuni altri metodi.
MountainX

6

Espanderò l'idea di Ryan Conrad:

adb da android-tools è il modo.

Preferisco seguire questa guida per installare Eclipse con android-sdk:

http://developer.android.com/sdk/installing.html

L'installazione dipende solo da JDK. Nessuna installazione di nuovi pacchetti. Personalmente faccio gli stessi pochi passaggi (= estraendo due cartelle ovunque e configurando eclipse) allo stesso modo su Ubuntu, Mint o distribuzioni Debian e tutto funziona.

Dopo aver completato questa guida classica ho due nuove cartelle: eclipse e android-sdks . Nella cartella android-sdks ./platform-tools/adb è il percorso dello adbstrumento, che può essere utilizzato per push(caricare) e pull(ottenere) file dal dispositivo Android, senza mtpfs o supporti aggiuntivi.

Come adbè il programma da riga di comando, può essere automatizzato in un batter d'occhio. Inoltre, hai la vista Esplora file di Eclipse , che fornisce una bella struttura grafica ad albero e un'interfaccia drag-and-drop di base (non dimenticare di selezionare prima il dispositivo nella vista Dispositivi !).

Il grande difetto di questo metodo è che solo lo adbstrumento vede il dispositivo e può accedervi. Il resto del mio sistema, incluso Nautilus per esempio, non vede ancora il dispositivo. Ma dopo essermi abituato alla stabilità e alla robustezza adbnon è questo il problema per me.


1
adb è un problema di sicurezza se lo si mantiene costantemente abilitato. Tieni presente che non esistono dialoghi passphrase o altro. È possibile ignorare i blocchi dello schermo e persino la crittografia completa del dispositivo. Soprattutto se ti capita di caricarlo in luoghi sconosciuti (PC in internet cafe, ecc.)
Ce4

grazie per l'avviso, ce4. Consentitemi quindi di chiedere: cosa significa accedere alla memoria Android da utilizzare in posizioni sconosciute?
furikuretsu,

1
aggiunta la propria risposta sul bluetooth :-)
ce4

6

Puoi usare il bluetooth .

Bluetooth FTP (profilo di trasferimento file) è supportato da Linux e c'è Bluetooth File Transfer app che aggiunge questa funzionalità ad Android. Tuttavia, non è così veloce (<200kb / s) a seconda delle versioni bluetooth. -

C'è un modulo fusibile chiamato obexfs , ecco il mio Nexus S montato:

root@local:/tmp# obexfs -b f0:08:f1:xx:xx:xx -- /media/bla
root@local:/tmp# cd /media/bla
root@leo61326:/media/bla# ls -lh /media/bla/DCIM/
total 5,5K
drwxr-xr-x 1 root root    0 2012-05-25 16:09 100ANDRO
drwxr-xr-x 1 root root    0 2012-07-05 17:31 2012-06-09_Rafting
drwxr-xr-x 1 root root    0 2012-07-09 22:30 Camera

Alcuni esploratori di file lo supportano direttamente tramite plugin (nautilus / gnome / kde / ...) Ecco alcune domande relative all'obex relative a Ubuntu.


1
Questa risposta merita più voti: non sono riuscito a far funzionare MTP o PTP con la mia installazione di Kubuntu.
Nathan Osman,

Speriamo che migliori con le versioni più recenti di Ubuntu. Ne sono davvero fiducioso. Uso principalmente ADB dalla riga di comando (che uso molto), quindi questo è il percorso più veloce per me in questo momento. A volte uso anche "bluetooth-sendto some-file".
Ce4,

3

È possibile utilizzare adb e trasferire utilizzando i comandi pull / push di adb.

Non sono sicuro di quale distro di Linux stai usando, ma ho trovato questo che dice che MTP è pacchettizzato e disponibile per Ubuntu attraverso un pacchetto chiamato mtp-tools .

Si noti inoltre che questo non è specifico per Android 3.x / 4.x, questo vale per tutti i dispositivi che eseguono 3.x / 4.x che non dispongono di una scheda SD esterna. Se il dispositivo ha uno slot per schede SD, sarai in grado di montare il dispositivo come nelle versioni precedenti di Android.


2

mpfs è un file system basato su FUSE che può montare il Nexus sul tuo sistema.

mtpfs -o allow_other /media/MOUNTPOINT

Lo monterà per te. Per smontare semplicemente umount / media / MOUNTPOINT


0

Un'altra opzione è WebDAV .

Configurazione di un server WebDAV Android

Sul mio Nexus 7 di serie, ho installato WebDAV Server , l'ho aperto, ho fatto clic sul pulsante Start e sono stato immediatamente in grado di vedere la mia /storage/sdcardcartella nel mio browser Web all'URL visualizzato dall'applicazione, ad es.http://192.168.x.y:8080

Si noti che con WebDAV Server , è anche possibile selezionare Root (/) o DCIM e SdCard come root WebDAV .

Utilizzo del server WebDAV tramite Nautilus

In Nautilus ho selezionato "Connetti al server ..." dal menu File, selezionato "WebDAV (HTTP)", inserito 192.168.x.ycome server e 8080come porta e fatto clic su Connetti.

La navigazione attraverso la gerarchia di directory è più lenta dell'accesso ad altre condivisioni di rete, ma non ingrassabile. La copia di un singolo file da 42 MB tramite Nautilus ha richiesto circa 12 secondi, quindi 3,6 MB / s.

Montaggio di un'unità WebDAV dalla riga di comando

Ho installato davfs2 e montato la mia condivisione come /mntusando il comando:

sudo mount -t davfs http://192.168.x.y:8080 /mnt

La copia dello stesso file da 42 MB, ma con una tempistica più precisa, ha richiesto 12,88 secondi o 3,24 MB / s.

$ time cp music.fsb /tmp

real    0m12.880s
user    0m0.002s
sys     0m0.143s

Avvertenze

  • L'accesso a WebDAV non è sicuro . Anche se si imposta una password sulla condivisione WebDAV, la connessione è ancora httpnon è https, quindi non è crittografato. Usa WebDAV solo su una rete Wi-Fi sicura e certamente non abilita il server WebDAV mentre ti trovi in ​​un internet café o altri wifi non sicuri.


0

MTP funzionante su Ubuntu per Galaxy Nexus, Nexus 7 e Acer A500 Da dove cominciare.

Ho trovato alcune istruzioni per il Nexus 7 (che avevo appena portato) su questo sito Ubuntu 12.04 - Automount Nexus 7 in modalità MTP. Tutto il merito all'autore di quella pagina per averlo capito. Le istruzioni che ho di seguito provengono da questo sito, vengono ridimensionate ai comandi, se si desidera ulteriori spiegazioni, consultare il sito sopra.

Ho usato Ubuntu 12.10 e ho configurato per il mio Nexus 7, Galaxy Nexus e Acer A500. Istruzioni

Configura FUSE

Cambia /etc/fuse.conf in modo che sia letto da tutti ..

# sudo chmod a+r /etc/fuse.conf

Modifica /etc/fuse.conf per rimuovere il commento # da user_allow_other in modo che il valore predefinito di fuse.conf sia simile

# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#
#mount_max = 1000

# Allow non-root users to specify the 'allow_other' or 'allow_root'
# mount options.
#
user_allow_other

Compilare e installare go_mtp

# sudo apt-get install libmtp-dev golang 
# mkdir /tmp/go
# export GOPATH=/tmp/go
# go get github.com/hanwen/go-mtpfs
# sudo mv /tmp/go/bin/go-mtpfs /usr/local/sbin/go-mtpfs
# sudo chmod a+x /usr/local/sbin/go-mtpfs

Crea punti di montaggio

Use the following as you need..
# sudo mkdir /media/Nexus7
# sudo chmod 777 /media/Nexus7
# sudo mkdir /media/GalaxyNexus
# sudo chmod 777 /media/GalaxyNexus
# sudo mkdir /media/A500
# sudo chmod 777 /media/A500

Imposta regole udev

Usa il tuo editor preferito e crea il seguente file (rimuovi tutte le altre regole udev di Android che potresti aver sperimentato prima).

# sudo vi /etc/udev/rules.d/99-android.rules

Incolla nei seguenti contenuti. puoi rimuovere le regole che non ti servono, I due dispositivi Nexus sembrano avere gli stessi ID per il bootloader e il ripristino. NOTA: devi sostituire # YOURLOGIN # con il tuo nome utente / login.

# Google Nexus 7 & Galaxy Nexus 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Google Nexus 7 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e43", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on

# Google Nexus 7 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e41", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e42", MODE="0666" # MTP media with USB debug on

# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/Nexus7"

# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e41", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Nexus_7", ENV{ID_MODEL_ID}=="4e42", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"


# Google Galaxy Nexus 16 Gb Bootloader & recovery mode
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e40", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Google Galaxy Nexus 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6865", MODE="0666" # PTP media
#SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="4e44", MODE="0666" # PTP media with USB debug on

# Google Galaxy Nexus 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="685c", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", ATTR{idProduct}=="6860", MODE="0666" # MTP media with USB debug on

# Google Nexus 7 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/GalaxyNexus"

# Google Nexus 7 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="685c", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"
ENV{ID_MODEL}=="Galaxy_Nexus", ENV{ID_MODEL_ID}=="6860", ACTION=="remove", RUN+="/bin/umount /media/GalaxyNexus"


# Acer A500 16 Gb Bootloader & recovery mode
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3201", MODE="0666" # Bootloader
#SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="d001", MODE="0666" # Recovery

# Acer A500 16 Gb PTP mode (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b2", MODE="0666" # PTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="33b1", MODE="0666" # PTP media with USB debug on

# Acer A500 16 Gb MTP mode (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3341", MODE="0666" # MTP media
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", ATTR{idProduct}=="3325", MODE="0666" # MTP media with USB debug on

# Acer A500 MTP mode : automatic mount when plugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="add", RUN+="/usr/bin/sudo -u #YOURLOGIN# /usr/local/sbin/go-mtpfs -allow-other=true /media/A500"

# Acer A500 MTP mode : automatic unmount when unplugged
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3341", ACTION=="remove", RUN+="/bin/umount /media/Nexus7"
ENV{ID_MODEL}=="Acer_Iconia_Tab_A500", ENV{ID_MODEL_ID}=="3325", ACTION=="remove", RUN+="/bin/umount /media/A500"

NOTA: se hai usato gedit e hai modificato il file, devi rimuovere 99-android.rules ~ poiché udev si arrabbierà ..

Quindi, riavvia udev

# sudo service udev restart

Modifica / etc / fstab

Add the following to /etc/fstab
DeviceFs(Nexus\0407)        /media/Nexus7         fuse.DeviceFs(Nexus\0407)      allow_other,rw,user,noauto    0    0
DeviceFs(Galaxy\040Nexu)    /media/GalaxyNexus    fuse.DeviceFs(Galaxy\040Nexu)  allow_other,rw,user,noauto    0    0
DeviceFs(A500)              /media/A500           fuse.DeviceFs(A500)            allow_other,rw,user,noauto    0    0

Finito.

Ora puoi connettere i tuoi dispositivi e la memoria interna sarà disponibile per l'uso, dovresti ricordarti di smontare prima di disconnetterti, anche se non sembra fare alcun male.

Nota: sembra che ENV {ID_MODEL} per il Nexus 7 sia cambiato in Nexus_7 ad un certo punto (penso con l'aggiornamento Android 4.2) ..

Da http://www.winters.org.nz/android-hints-tips-stuff/working-mtp-on-ubuntu


0

Bene, c'è uno strumento molto utile, il suo nome è "Wifi File Transfer". Scaricalo dal Play Store sul tuo dispositivo Android e installalo. Trasforma il tuo cellulare Android su un mini server che ti consente di scaricare e caricare file da e sul tuo telefono.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.