Da qualche giorno sono passato da un dispositivo con Android 2.3.7 ad uno con la versione 4.4.4; niente di traumatico, ma oggi mi sono accorto che collegando il mio dispositivo Android al mio pc con Archlinux, esso non veniva riconosciuto come memoria di massa.
Con la versione di Android che avevo precedentemente riuscivo a collegare il dispositivo come memoria di massa su qualsiasi sistema operativo, mentre con la nuova versione di Android, su ubuntu e Windows 7 il riconoscimento avviene immediatamente e posso subito modificare e trasferire dati sulla memoria di massa del dispositivo.

A questo punto mi sono messo alla ricerca di soluzioni, quantomeno per capire il perché di tale comportamento su Archlinux e derivate e mi sono imbattuto in questo articolo: http://www.howtogeek.com/192732/android-usb-connections-explained-mtp-ptp-and-usb-mass-storage/ .
Qui di spiega come, con le vecchie versioni di Android, potevo collegare il dispositivo al pc come “Archivio di Massa USB”, bastava fare il tap sulla voce “Attiva archivio USB”

 

android1

 

E il dispositivo era subito visibile come archvio di Massa dal PC, ma non più dallo smartphone, in quanto la scheda viene “smontata” da Android.
Una volta fatte le operazioni desiderate, si doveva ri-tappare il pulsante “Disattiva archivio USB”
e la scheda SD tornava disponibile per Android.
Inoltre con tale protocollo erano necessari i driver del dispositivo, per poter funzionare sui PC.

Nei dispositivi Android, dalla versione 4,0,x ICS, è stato inserito il protocollo MPT, creato da microsoft. (mettere link wikipedia). Tale protocollo consente di accedere alla memoria di massa del dispositivo, senza aver bisogno di driver aggiuntivi.
Inoltre, collegando Android con questo protocollo, lo smartphone non deve fare l’umount della scheda SD come nelle vecchie versioni.
Scoperto l’arcano dunque; Il mio dispositivo, di default, era collegato in USB tramite questo nuovo protocollo, e ciò non permetteva di farlo riconoscere alla mia ARCH.
Mi è bastato andare in Menu-> Impostazioni -> Memoria fare tap in alto a destra nel menu e tappare sulla voce Connessione computer USB  per verificare ciò.

 

android2

 

E allora? Che fare?
Si potrebbe tranquillamente scegliere la voce “Archivio di massa” per utilizzare il vecchio metodo, ma a me piacciono le novità, dunque di seguito spiego cosa ho fatto.
Facendo riferimento alla wiki di archlinux ed anche a questo articolo
Sono riuscito a far riconoscere il dispositivo android con il protocollo MTP.

Per Arch Linux con Gnome Shell, XFCE, LXDE, Cinnamon, Mate ecc basta digitare da terminale:

$ sudo pacman -Sy libmtp gvfs-mtp

Per Arch Linux con KDE / Razor QT

$ sudo pacman -Sy libmtp kio-mtp

una volta installato il supporto per MTP, ho riavviato Archlinux e, come per magia, il mio dispositovo era bello che montato nel mio file manager.

Se ciò non dovesse accadere, è possibile che ci sia bisogno di inserire una udev rules per far riconoscere il device android.
Si procede così:
Prima si deve determinare il vendor-id e il product-id del device android:

$ lsusb
 Bus 002 Device 010: ID 0bb4:0f87 HTC (High Tech Computer Corp.)

i miei sono rispettivamente 0bb4 e 0f87.

Fatto ciò, si crea una regola udev in /usr/lib/udev/rules.d

$ nano /usr/lib/udev/rules.d/51-android.rules

e all’interno si inserisce la regola:

ATTR{idVendor}=="VENDOR ID", ATTR{idProduct}=="PRODUCT ID", SYMLINK+="libmtp", MODE="660", ENV{ID_MTP_DEVICE}="1"

facendo attenzione a sostituire VENDOR ID e PRODUCT ID, con i propri.

Nel mio caso dunque 0bb4 e 0f87.

Poi si ricaricano le regole udev

# udevadm control --reload

e tutto dovrebbe funzionare.

Written by Filippo Aceto

Tecnico informatico, appassionato di tecnologia e sistemi. Un curioso alla ricerca delle migliori risposte.

Rispondi