Bueno, después de idas y vueltas, pude leer el filesystem de un Samsung Nexus S.
Primero que nada, hay que asegurarse que la conexión del dispositivo está configurado como "MTP".
Luego, arranca la magia;
Ahora hay dos opciones
- Primera
Conectar el dispositivo android, y debería montarselos de forma automática.
Esa fue fácil. El problema es que por defecto ubuntu no trae instaladas las bibliotecas de manejo de MTP.
- Segunda
sudo apt-get install mtp-tools mtpfs
Después, con el teléfono el el USB, es necesario correr las siguientes sentencias;
mtp-detect | grep idVendor
mtp-detect | grep idProduct
gksu gedit /etc/udev/rules.d/51-android.rules
Eso abrirá un editor de texto, donde tendrán que agregar las siguientes líneas;
SUBSYSTEM=="usb",
ATTR{idVendor}=="VENDORID",
ATTR{idProduct}=="PRODUCTID", MODE="0666"
VENDORID y PRODUCTID son los que sacamos de la consola.Salvar el archivo, y desconectar el teléfono.
Abrir nuevamente la consola, y ejecutar:
sudo service udev restart
sudo mkdir /media/GalaxyNexus
sudo chmod a+rwx /media/GalaxyNexus
sudo adduser USUARIO fuse
Donde USUARIO es el nombre que aparece arriba de la consola, a la izquierda del "@" (tu usuario).
Paso siguiente, escribir gksu gedit /etc/fuse.conf, y se abrirá otro editor de texto, donde hay que descomentar la última línea para dar los permisos necesarios.
#user_allow_other, sacar el #.
Salvar los cambios, y reinicar.
Para finalizar, es necesario agregar a la lista de comandos:
android-connect
android-disconnect
Esto, escribiendo en el terminal:
echo "alias android-connect=\"mtpfs -o allow_other /media/GalaxyNexus\"" >> ~/.bashrc
echo "alias android-disconnect=\”fusermount -u /media/GalaxyNexus\"" >> ~/.bashrc
source ~/.bashrc
Increíblemente, enchufé un iPhone y lo reconoció sin mayores inconvenientes...
Lo increíble es que en un android que está basado en linux, se tenga que hacer toda esa triquiñuela y no lo traiga implementado de forma nativa.


