martes, 8 de julio de 2008

Leer memory stick Sony VAIO

Cuando insertaba una Memory Stick en mi lector de tarjeta (Sony vaio VGN-NR120E), no la montaba automáticamente aunque era reconocida por el kernel.

#dmesg

tifm_core: MemoryStick card detected in socket 0:0

Buscando, encontré este blog en donde solucione el problema, haciendo lo siguiente:

svn co -r155 http://svn.berlios.de/svnroot/repos/tifmxx/trunk/driver/
cd driver/
wget http://www.sw83.de/misc/tifm_ms.patch
patch -p0 < tifm_ms.patch
make
sudo make install

Añade también lo siguiente en /etc/modules

tifm
tifm_sd
tifm_7xx1
tifm_core

Pero tienes que tener instalado previamente subversion.
# apt-get install subversion.



Y eso es todo después la memoria es montada automáticamente en el escritorio y ya puedes ver el contenido.

6 comentarios:

negroxxx dijo...

epa pana tengo una sony vaio vgn-t330-fp y sigo todos los pasos que dices.. y me da error cuando hago el make, me sale lo siguiente:

oscar@ fenix ~/driver $ make
echo /home/oscar/driver
/home/oscar/driver
make -C /lib/modules/2.6.24-19-generic/build M=/home/oscar/driver
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.24-19-generic'
CC [M] /home/oscar/driver/tifm_sd.o
/home/oscar/driver/tifm_sd.c: En la función ‘tifm_sd_transfer_data’:
/home/oscar/driver/tifm_sd.c:194: error: ‘struct scatterlist’ no tiene un miembro llamado ‘page’
/home/oscar/driver/tifm_sd.c: En la función ‘tifm_sd_bounce_block’:
/home/oscar/driver/tifm_sd.c:243: error: ‘struct scatterlist’ no tiene un miembro llamado ‘page’
/home/oscar/driver/tifm_sd.c:250: error: ‘struct scatterlist’ no tiene un miembro llamado ‘page’
/home/oscar/driver/tifm_sd.c:254: error: ‘struct scatterlist’ no tiene un miembro llamado ‘page’
/home/oscar/driver/tifm_sd.c: En la función ‘tifm_sd_check_status’:
/home/oscar/driver/tifm_sd.c:407: error: ‘MMC_ERR_NONE’ no se declaró aquí (primer uso en esta función)
/home/oscar/driver/tifm_sd.c:407: error: (Cada identificador no declarado solamente se reporta una vez
/home/oscar/driver/tifm_sd.c:407: error: para cada funcion en la que aparece.)
/home/oscar/driver/tifm_sd.c: En la función ‘tifm_sd_card_event’:
/home/oscar/driver/tifm_sd.c:507: error: ‘MMC_ERR_NONE’ no se declaró aquí (primer uso en esta función)
/home/oscar/driver/tifm_sd.c:524: error: ‘MMC_ERR_TIMEOUT’ no se declaró aquí (primer uso en esta función)
/home/oscar/driver/tifm_sd.c:526: error: ‘MMC_ERR_BADCRC’ no se declaró aquí (primer uso en esta función)
/home/oscar/driver/tifm_sd.c: En la función ‘tifm_sd_request’:
/home/oscar/driver/tifm_sd.c:726: error: ‘MMC_ERR_TIMEOUT’ no se declaró aquí (primer uso en esta función)
/home/oscar/driver/tifm_sd.c: En la función ‘tifm_sd_remove’:
/home/oscar/driver/tifm_sd.c:1021: error: ‘MMC_ERR_TIMEOUT’ no se declaró aquí (primer uso en esta función)
make[2]: *** [/home/oscar/driver/tifm_sd.o] Error 1
make[1]: *** [_module_/home/oscar/driver] Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.24-19-generic'
make: *** [all] Error 2



todos los pasos anterior no me da ningun error.. tengo pocos conocimientos de linux.. porfa, ayudame!

Camilo Tech dijo...

Hola negroxxx antes de poner make añade esto en /etc/modules

tifm
tifm_sd
tifm_7xx1
tifm_core

Espero que eso solucione el problema.

Krammses dijo...

Tengo un vaio VGN-NR130FE con ubuntu 8.10 y me arroga el siguiente error

krammses@NTBK1:~/driver$ make
echo /home/krammses/driver
/home/krammses/driver
make -C /lib/modules/2.6.27-11-generic/build M=/home/krammses/driver
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.27-11-generic'
CC [M] /home/krammses/driver/memstick.o
In file included from /home/krammses/driver/memstick.c:15:
/home/krammses/driver/linux/memstick.h:279: error: el campo ‘cdev’ tiene tipo de dato incompleto
/home/krammses/driver/memstick.c: En la función ‘memstick_uevent’:
/home/krammses/driver/memstick.c:71: aviso: se pasa el argumento 1 de ‘add_uevent_var’ desde un tipo de puntero incompatible
/home/krammses/driver/memstick.c:71: aviso: el paso del argumento 2 de ‘add_uevent_var’ crea un puntero desde un entero sin una conversión
/home/krammses/driver/memstick.c:74: aviso: se pasa el argumento 1 de ‘add_uevent_var’ desde un tipo de puntero incompatible
/home/krammses/driver/memstick.c:74: aviso: el paso del argumento 2 de ‘add_uevent_var’ crea un puntero desde un entero sin una conversión
/home/krammses/driver/memstick.c:77: aviso: se pasa el argumento 1 de ‘add_uevent_var’ desde un tipo de puntero incompatible
/home/krammses/driver/memstick.c:77: aviso: el paso del argumento 2 de ‘add_uevent_var’ crea un puntero desde un entero sin una conversión
/home/krammses/driver/memstick.c: En el nivel principal:
/home/krammses/driver/memstick.c:195: aviso: inicialización desde un tipo de puntero incompatible
/home/krammses/driver/memstick.c: En la función ‘memstick_free’:
/home/krammses/driver/memstick.c:204: aviso: el tipo de dato por defecto es ‘int’ en la declaración de ‘__mptr’
/home/krammses/driver/memstick.c:204: aviso: inicialización desde un tipo de puntero incompatible
/home/krammses/driver/memstick.c: En el nivel principal:
/home/krammses/driver/memstick.c:211: error: se especificó el campo desconocido ‘release’ en el inicializador
/home/krammses/driver/memstick.c:212: aviso: inicialización desde un tipo de puntero incompatible
/home/krammses/driver/memstick.c: En la función ‘memstick_alloc_host’:
/home/krammses/driver/memstick.c:509: error: declaración implícita de la función ‘class_device_initialize’
/home/krammses/driver/memstick.c: En la función ‘memstick_add_host’:
/home/krammses/driver/memstick.c:535: error: declaración implícita de la función ‘class_device_add’
/home/krammses/driver/memstick.c: En la función ‘memstick_remove_host’:
/home/krammses/driver/memstick.c:566: error: declaración implícita de la función ‘class_device_del’
/home/krammses/driver/memstick.c: En la función ‘memstick_free_host’:
/home/krammses/driver/memstick.c:577: error: declaración implícita de la función ‘class_device_put’
make[2]: *** [/home/krammses/driver/memstick.o] Error 1
make[1]: *** [_module_/home/krammses/driver] Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.27-11-generic'
make: *** [all] Error 2


realice lo que señalaste en la respuesta anterior y no me funciono... espero me puedas ayudar


Saludos

Camilo Tech dijo...

@krammses, tienes que instala

# apt-get install subversion

o puede ser qye te falten los encabezados

sudo apt-get install build-essential linux-headers-$(uname -r) git-core curl

y repite el procedimiento nuevamente

Unknown dijo...

Tengo un problema similar que "negroxxx"

adrian@adrianlap:~/Desktop/trunk/driver$ sudo make
echo /home/adrian/Desktop/trunk/driver
/home/adrian/Desktop/trunk/driver
make -C /lib/modules/2.6.27-11-generic/build M=/home/adrian/Desktop/trunk/driver
make[1]: Entering directory `/usr/src/linux-headers-2.6.27-11-generic'
CC [M] /home/adrian/Desktop/trunk/driver/memstick.o
In file included from /home/adrian/Desktop/trunk/driver/memstick.c:15:
/home/adrian/Desktop/trunk/driver/linux/memstick.h:279: error: field ‘cdev’ has incomplete type
/home/adrian/Desktop/trunk/driver/memstick.c: In function ‘memstick_uevent’:
/home/adrian/Desktop/trunk/driver/memstick.c:71: warning: passing argument 1 of ‘add_uevent_var’ from incompatible pointer type
/home/adrian/Desktop/trunk/driver/memstick.c:71: warning: passing argument 2 of ‘add_uevent_var’ makes pointer from integer without a cast
/home/adrian/Desktop/trunk/driver/memstick.c:74: warning: passing argument 1 of ‘add_uevent_var’ from incompatible pointer type
/home/adrian/Desktop/trunk/driver/memstick.c:74: warning: passing argument 2 of ‘add_uevent_var’ makes pointer from integer without a cast
/home/adrian/Desktop/trunk/driver/memstick.c:77: warning: passing argument 1 of ‘add_uevent_var’ from incompatible pointer type
/home/adrian/Desktop/trunk/driver/memstick.c:77: warning: passing argument 2 of ‘add_uevent_var’ makes pointer from integer without a cast
/home/adrian/Desktop/trunk/driver/memstick.c: At top level:
/home/adrian/Desktop/trunk/driver/memstick.c:195: warning: initialization from incompatible pointer type
/home/adrian/Desktop/trunk/driver/memstick.c: In function ‘memstick_free’:
/home/adrian/Desktop/trunk/driver/memstick.c:204: warning: type defaults to ‘int’ in declaration of ‘__mptr’
/home/adrian/Desktop/trunk/driver/memstick.c:204: warning: initialization from incompatible pointer type
/home/adrian/Desktop/trunk/driver/memstick.c: At top level:
/home/adrian/Desktop/trunk/driver/memstick.c:211: error: unknown field ‘release’ specified in initializer
/home/adrian/Desktop/trunk/driver/memstick.c:212: warning: initialization from incompatible pointer type
/home/adrian/Desktop/trunk/driver/memstick.c: In function ‘memstick_alloc_host’:
/home/adrian/Desktop/trunk/driver/memstick.c:509: error: implicit declaration of function ‘class_device_initialize’
/home/adrian/Desktop/trunk/driver/memstick.c: In function ‘memstick_add_host’:
/home/adrian/Desktop/trunk/driver/memstick.c:535: error: implicit declaration of function ‘class_device_add’
/home/adrian/Desktop/trunk/driver/memstick.c: In function ‘memstick_remove_host’:
/home/adrian/Desktop/trunk/driver/memstick.c:566: error: implicit declaration of function ‘class_device_del’
/home/adrian/Desktop/trunk/driver/memstick.c: In function ‘memstick_free_host’:
/home/adrian/Desktop/trunk/driver/memstick.c:577: error: implicit declaration of function ‘class_device_put’
make[2]: *** [/home/adrian/Desktop/trunk/driver/memstick.o] Error 1
make[1]: *** [_module_/home/adrian/Desktop/trunk/driver] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.27-11-generic'
make: *** [all] Error 2

cabe mencionar que uso una Acer Aspire 5520, quieria saber si aplicaria en mi caso...

Justme!!! dijo...

Saludos al foro

Tengo una Sony Vaio fz18m y le acabo de instalar el Ubuntu 9.04, consegui hacer funcionar todos los dispositivos correctamente, ahora cuando llego a configurar el lector de targetas TI 5 en 1 me aparece un error al insertar "sudo make install", instalé la subversión y el problema persiste.

alguien me puede ayudar?¿

Gracias de antemano