PDA

Ver la Versión Completa : [ TUTORIAL ] Montar unidades de red desde nuesto terminal Andoid


emierp
21/09/11, 02:57:29
Aquí lo tenéis: http://eloy-mp.com/wordpress262/?p=2239




Ahora que ya he descansado un poco paso el artículo al foro....


En esta ocasión vamos a ver como podemos desde un terminal Android montar unidades compartidas por otros sistemas. Como sabeis Android es un sistema operativo de Google, basado en Linux. Como tambien sabeis Linux monta unidades compartidas sin problema usando entre otros un sistema denominado CIFS (Common Internet File System). Hace tiempo que vengo "dándole" vueltas al asunto y hoy me he puesto con ello. El asunto es que partiendo de un terninal con Android (tablet o teléfono o lo que sea...) para poder montar una unidad remota usando CIFS necesitamos que el kernel instalado en el terminal soporte CIFS. Bien, ¿como podemos saber si nuestro terminal tiene ese soporte?. La cuestión es secilla y compleja a la vez.

Si nuestro terminal tiene el sistema de serie, no vas a poder montar una unidad CIFS. Los motivos son varios:

De serie los kernel proporcionados con los terminales no traen soporte CIFS.

De serie no podemos lanzar comandos con root. Como sabéis, aunque en este tutorial se van a emplear varias herramientas gráficas para hacer los montajes, realmente el sistema a bajo nivel estará haciendo llamadas al comando mount, que en la mayor parte de las ocasiones requiere privilegios de root.

Si nuestro terminal no tiene el sistema de serie, pueden darse dos casos mas:

El sistema es una Rom oficial de versión superior a la actualmente vigente para el propio terminal (la hemos descargado manualmente y hemos flaseado el terminal con Odin).



El nucleo o kernel del terminal es el de serie. Este caso es esactamente el mismo que el caso 1, pero con un sistema posterior.

El nucleo o kernel lo hemos cambiado por otro. Caso 2.2.


El sistema es una Rom "cocinada". Supongo que lo sabréis, pero bueno, por si las moscas, una Rom "cocinada" no es mas que una Rom oficial modificada por alguien (cocinero). ¿Que se modifica en estas Roms?, pues se modifican las aplicaciones instaladas por defecto, se modifican los temas, se hacen ajustes de rendimiento del terminal, en fin, multitud de nuevas funciones añadidas/modificadas de la Rom de la que se parte. En muchos casos estas Roms "cocinadas" traen consigo una versión modificada del núcleo del Sistema Operativo o kernel. Este elemento es el que nos importa de cara al presente articulo. Si el lector se encuentra en este caso, puede seguir con la lectura del articulo, en otro caso (1 o 2.1.1) no es de aplicación ( !!que coño esperas a rootear el terminal ¡¡ )

Elementos necesarios


Alguna unidad compartida de tipo Windows a la que queramos acceder y se encuentre en la Lan a la que conecta el terminal.

Terminal Android. Mi terminal es un Samsung Galaxy S2 I9100.

Rom cocinada. Yo actualmente en mi terminal parto con un rom cocinada de Criskelo concretamente la versión 19 (hilo oficial (http://www.htcmania.com/showthread.php?t=259073)).http://eloy-mp.com/wordpress262/wp-content/uploads/2011/09/sistema.png

Kernel con soporte CIFS. Actualmente la Rom que tengo instalada en el terminal viene con un kernel denomindado ninphetamine en versión 2.1.3. Si buscamos en internet información sobre este kernel podremos ver que CIFS está soportado y el modulo concretamente esta ubicado en /lib/modules/cifs.ko. En el caso de que vuestro kernel no tenga soporte CIFS todavía tendríais una alternativa, no queda otra solución mas que buscar por Internet algún fichero cifs.ko válido para vuestro sistema.
Elementos recomendados


Servidor sshd en el terminal. En mi caso uso QuickSSHd disponible gratuitamente en el android market. Hacer uso del servidor ssh del terminal no es objeto del presente articulo, pero a grandes rasgos, simplemente lo activamos en él y desde el PC usando un cliente ssh nos conectamos al server. Esto nos facilita la introducción de comandos y la navegación por el shell.http://eloy-mp.com/wordpress262/wp-content/uploads/2011/09/quicksshd.png
Elementos de partida

Verificamos que el kernel actualmente instalado en el terminal efectivamente tiene soporte para CIFS. Puesto que tenemos un terminal rooteado, no tendremos problemas en lanzar en un terminal ssh los siguientes comandos (se puede hacer mediante ssh remoto o bien en un terminal de comandos directamente sobre el dispositivo, como se prefiera o como se pueda) :
su
cd /
find . -iname cifs.ko -type f http://eloy-mp.com/wordpress262/wp-content/uploads/2011/09/find.png

En el caso de que efectivamente el kernel tenga soporte CIFS el comando anterior debiera retornar una linea del estilo ./<path completo al fichero>/cifs.ko. Tenéis una captura a la derecha


Software necesario

Para montar y desmontar las unidades remotas, voy a usar una aplicación para Android llamada CifsManager. Es gratuita así que en este caso no nos tenemos que dejar ni un euro por el camino.http://eloy-mp.com/wordpress262/wp-content/uploads/2011/09/cifsmanager.png
Software opcional

Navegadores de archivos para hacer mas cómodo el acceso a los ficheros. Con uno de estos navegadores instalados en el terminal, después de montar una unidad remota, si pinchamos en ella, se abrirá directamente el navegador sobre la misma, mostrando los elementos que contiene. Se hace muy cómodo su uso, no teniendo que salir del gestor para comenzar la navegación. En resumen nos facilita la vida. En el caso de que no queramos instalar un navegador de este tipo, tendríamos que irnos con, por ejemplo, el root explorer a la carpeta destino del montaje que configuraremos a continuación, y desde ese punto proceder a la navegación por el sistema remoto. Navegadores que integran con CifsExplorer:

Astro
Estrong


Configuración y acceso a unidad compartida
Bueno comenzamos la configuración de CifsManager para supongamos, conectarnos a una unida compartida sita en un PC cuya IP es 192.168.2.21 y la ruta de la compartición es /drivers.

Si accediésemos a la red de área local con Windows, a la máquina que tiene la unidad compartida, esta unidad se vería así:

http://eloy-mp.com/wordpress262/wp-content/uploads/2011/09/drivers.png

Ahora que hemos comprobado que la máquina destino publica correctamente la unidad a la que vamos a conectar procedamos. Entramos en CifsManager y seleccionamos (Add New Share...) añadir una nueva compartición. Se abrirá una actividad propia de la aplicación en la que debemos introducir la siguiente información:
Ruta de la unidad compartida (Share Path): Este dato se refiere a nombre de PC (si tenemos resolución local) o bien IP más la ruta de la compartición. En mi caso será 192.168.2.21 como IP destino y /drivers como ruta.

Punto de montaje: Como sabeis en los sistemas Linux las unidades a que montamos lo hacen a partir de una ruta local. En este caso, lo que se nos está solicitando es el punto inicial de nuestro sistema de ficheros a partir del cual colgarán los contenidos de la unidad remota. Este campo se rellena de forma automática por la aplicación, pero por si acaso no lo hace, lo normal es usar /mnt/cifs/<rutacompartida>.

Nombre de usuario: Para conectar a la unidad destino necesitamos proporcionar un usuario existente en destino. Aquí se indica el nombre del mismo.

Contraseña: Contraseña para el usuario indicado anteriormente en la máquina destino.

Opciones adicionales: opciones adicionales CIFS que ahora mismo no vienen a cuento.
http://eloy-mp.com/wordpress262/wp-content/uploads/2011/09/SC20110921-012244.png

Ahora pulsamos sobre salvar y aparece la pantalla siguiente:
http://eloy-mp.com/wordpress262/wp-content/uploads/2011/09/SC20110921-024444.png
Pinchamos en la unidad recién creada y el sistema nos tiene que indicar que se ha montado correctamente. Aquí tenéis la captura:
http://eloy-mp.com/wordpress262/wp-content/uploads/2011/09/SC20110921-024452.png
Vereis que el icono de la derecha se ha puesto de color verde para indicar la conexión correcta. Ya por ultimo, simplemente pinchamos en el share drivers y debe saltal el explorador de ficheros (opcional):
http://eloy-mp.com/wordpress262/wp-content/uploads/2011/09/SC20110921-012436.png

liceto
21/09/11, 08:07:22
Esta interesante ya lo mirare un saludo

Enviado desde mi GT-I9100 usando Tapatalk

avisador
21/09/11, 11:21:58
Y esto para que vale en el sgs2??

lordzone
21/09/11, 12:01:20
Muy útil, aunque me encantaría lo contrario que se pudiera compartir la sd del sgs2 y montarla en el pc.

emierp
21/09/11, 13:00:12
Muy útil, aunque me encantaría lo contrario que se pudiera compartir la sd del sgs2 y montarla en el pc.

Pues eso tampoco tiene que ser muy complicado....voy a buscar información a ver si veo alguna cosa.

Miorat
21/09/11, 13:09:19
emierp espero no te importe. He editado el primer post para que quede todo junto. Si tienes pegas me dices y lo deshago. :ok:

P.D.: Tuto añadido al recopilatorio de tutos.

emierp
21/09/11, 13:17:30
emierp espero no te importe. He editado el primer post para que quede todo junto. Si tienes pegas me dices y lo deshago. :ok:

P.D.: Tuto añadido al recopilatorio de tutos.

Me parece perfecto....un saludo y gracias

emierp
21/09/11, 13:25:17
Muy útil, aunque me encantaría lo contrario que se pudiera compartir la sd del sgs2 y montarla en el pc.

Justo lo que querias.....https://market.android.com/details?id=com.funkyfresh.samba&hl=es

Esta aplicación monta un samba en el terminal y te permite el acceso remoto....

lordzone
21/09/11, 15:10:48
Justo lo que querias.....https://market.android.com/details?id=com.funkyfresh.samba&hl=es

Esta aplicación monta un samba en el terminal y te permite el acceso remoto....

Hostias! justo lo que andaba buscando muchas gracias tío ^^

fbenito
21/09/11, 15:50:20
Muchas gracias. A ver si me funciona bien. Voy a probar a ver vídeos tirando directamente desde otro ordenador. Ya os cuento.

egopatagonico
21/09/11, 16:52:09
Con el "es explorador" se pueden levantar recursos lan y ftp ... Sí eres root también muchas opciones extras interesantes ...

Sent from my GT-I9100 using Tapatalk

JonanQ
21/09/11, 17:00:26
os recomiendo probar remote web deskt, yo lo uso mucho.

Básicamente crea un servidor ftp pero tambien crea un entorno web para acceder al teléfono desde cualquier navegador. También funciona con la ip publica que te proporciona tu operadora.

fbenito
30/09/11, 11:42:27
Lo he probado y por fin he conseguido montar una unidad de red. Va fenomenal para ver vídeos que estén en otros ordenadores. Sólo un detalle muy importante porque si no no funcionaba

Es necesario especificar explícitamente en Settings del CIFSManager la ruta del cifs.ko (yo he puesto (/lib/modules/cifs.ko). Si no se pone esto da un error de "dispositivo no encontrado" o algo así.

chechill
30/09/11, 12:13:16
El tutorial es genial.
Quizas esté equivocado pero creo que es liarse demasiado.
El mismo ES Explorer tiene las pestañas de LAN y FTP que suplirian las conexiones de red manuales.

fbenito
01/10/11, 10:23:36
Creo que hace un tiempo probé el ES Explorer y me suena lo de la red (funcionaba). Pero tenía un problema importante y es que para los vídeos tenía su propia asociación de archivos, con lo que siempre que pinchabas desde él sobre un vídeo te lanzaba el ES Video (o algo así), con lo que "un pan con buenas tortas". Supongo que para otro tipos de ficheros también tenía su propia asociación que no se podía deshacer.
La solución que se propone en el hilo es más general.

Insisto, hablo de memoria. A lo mejor no era así o ya lo han cambiado. Si me equivoco lo probaré ansiosamente ;-)

elgatospa
01/10/11, 11:01:49
Habéis
mirado el file expert?

manuas
01/10/11, 11:49:42
Creo que hace un tiempo probé el ES Explorer y me suena lo de la red (funcionaba). Pero tenía un problema importante y es que para los vídeos tenía su propia asociación de archivos, con lo que siempre que pinchabas desde él sobre un vídeo te lanzaba el ES Video (o algo así), con lo que "un pan con buenas tortas". Supongo que para otro tipos de ficheros también tenía su propia asociación que no se podía deshacer.
La solución que se propone en el hilo es más general.

Insisto, hablo de memoria. A lo mejor no era así o ya lo han cambiado. Si me equivoco lo probaré ansiosamente ;-)

Efectivamente es explorer lo hace, y a mi me pregunta con que visor quiero ver los vídeos.

Enviado desde mi GT-I9100 usando Tapatalk

emierp
02/10/11, 00:55:55
Creo que hace un tiempo probé el ES Explorer y me suena lo de la red (funcionaba). Pero tenía un problema importante y es que para los vídeos tenía su propia asociación de archivos, con lo que siempre que pinchabas desde él sobre un vídeo te lanzaba el ES Video (o algo así), con lo que "un pan con buenas tortas". Supongo que para otro tipos de ficheros también tenía su propia asociación que no se podía deshacer.
La solución que se propone en el hilo es más general.

Insisto, hablo de memoria. A lo mejor no era así o ya lo han cambiado. Si me equivoco lo probaré ansiosamente ;-)

Efectivamente el hilo trata sobre la problemática del montaje del sistema de ficheros remoto. El uso que después se le de lo deje fuera del alcance del artículo.

Pienso que lo más importante del artículo es el tema del módulo CIFS.