abr 20

Cómo cambiar los metadatos EXIF de multiples fotos e imágenes JPG, GIF y PNG

Cambiar los metadatos, fechas y EXIF de imagenes gif jpg pngPara cambiar los metadatos (o también llamado metatags) de archivos JPG, GIF y PNG, es decir las etiquetas ocultas de las imágenes, hay pocos métodos conocidos. Harto de probar cosas, con el programa número 15 que me he bajado por fin encontré lo que buscaba.

No sólo se puede modificar los metadatos de los JPG, GIF, etc, se pueden modificar prácticamente todos los metadatos de todos los formatos gráficos.

Por ejemplo si tienes una colección de fotos que has realizado tu mismo y quieres “protegerlas” para que en caso que te las copien en otra web, puedas demostrar fácilmente que son tuyas introduciendo tu copyright en los metadatos de la imagen.

Si otra persona modifica la foto con el Photoshop, este programa respetará el metadato y el “copión” no se dará cuenta que está colgando fotos en su web con la prueba del delito insertada de manera oculta.

Pasemos a la práctica, lo primero es descargar estas dos aplicaciones para cambiar los metadatos:

1.- Exiftool v9.13. Al descomprimir este archivo comprimido, aparecerá el fichero “exiftool(-k).exe”. Es un programa que funciona a base de meterle comandos escritos, pero como es bastante aburrido hacerlo utilizaremos el siguiente programa para que sea todo más fácil y visual.
2.- ExiftoolGUI v5.15. Al descomprimirlo aparecerá la carpeta “exiftoolgui” con varios archivos y carpetas en su interior. Este programa fue colgado en el foro de la web oficial del programa ExifToolGUI.

Ahora hay que renombrar el archivo “exiftool(-k).exe” por “exiftool.exe” y copiarlo dentro de la carpeta “exiftoolgui”. Y ya podemos comenzar, ejecutar el programa ExifToolGUI.exe.

cambiar-los-metadatos-de-imagenesA la izquierda aparecerá el árbol de carpetas (1), buscar la carpeta que contenga las imágenes que se quiere cambiar los metadatos. En el centro (2) aparecerán los ficheros de imágenes y haciendo un clic encima de una de las imágenes, en la ventana de la derecha (3) aparecerán todos sus metadatos (pulsar el botón “ALL” para verlos todos).

Con la imagen seleccionada (o imágenes), pulsar el botón que hay en la parte de abajo que dice “ExifTool direct” (4), y aparecerán dos recuadros en blanco. Ahora en el recuadro de arriba (5) (justo después de donde dice “Command (press Enter to execute)” hay que escribir lo que se desea.

 

Por ejemplo, queremos introducir en el metadato “Comentarios” el texto con nuestro copyright:
-File:Comment=”(c) 2013 http://www.drpc.es/”
(cuando acabes de escribirlo, pulsa la tecla “Enter” para que se cumpla la orden)

Si copias y pegas la línea de arriba, revisa que las comillas sean correctas para que no te aparezca un mensaje de error. WordPress tiende a cambiar las “comillas normales” por comillas “raras”.

Si hay muchas imágenes, a veces parece que el programa se ha colgado. Si ocurre esto, hay que tener paciencia y esperar un poco. En caso que realmente se haya colgado, probad de hacerlo por partes (por ejemplo carpeta por carpeta), a veces si el programa se encuentra con imágenes corruptas, se vuelve inestable.

También lo ponemos en el metadato “Artista”:
-Exif:Artist=”(c) 2013 http://www.drpc.es/”

Important!

Recomendamos utilizar estas dos líneas anteriores, ya que el metadato “Comentario” lo soportan los JPG y GIF, pero no lo soporta PNG. Por contra, el metadato “Artist” es soportado por JPG y PNG, pero no por los GIF. Por esto si utilizas la primera línea y luego la segunda, te aseguras que todos los ficheros de cualquier formato gráficos, quedan identificados con tu texto.

Si lo que quieres es cambiar los metadatos a todos los ficheros gráficos que hayan en la carpeta que tienes seleccionada y todas las subcarpetas, hay que utilizar el “-r” delante del comando, por ejemplo:
-r -File:Comment=”(c) 2013 http://www.drpc.es/”
-r -Exif:Artist=”(c) 2013 http://www.drpc.es/”

Y si se desea cambiar los metadatos sólo a los archivos JPG y TIF, se puede hacer lo siguiente:
-r -File:Comment=”(c) 2013 http://www.drpc.es/” -ext jpg -ext tif
-r -Exif:Artist=”(c) 2013 http://www.drpc.es/” -ext jpg -ext tif

Si quieres ampliar el tema, puedes encontrar más información (en inglés) en esta web sobre comandos del programa exifToolGUI.

abr 01

Leer Twitter con PHP en tu web y sin usar la API

Embudo que lee twitter con PHP y extrae mensajes de twitterBuscando la forma de leer Twitter con PHP para una aplicación, me encontré que muchos códigos fuente en PHP no funcionan porque son para la versión antigua de Twitter, otros códigos fuente PHP son para la versión moderna pero te obligan a registrarte, sacarte una clave de identificación, etc, y era como matar moscas a cañonazos.

Así que seguí buscando y encontré que hay otros métodos mucho más sencillos, incluso demasiado sencillos, así que he investigado un poco y aquí saco el trabajo de mis investigaciones sobre como obtener datos de Twitter con PHP, por si a alguien le resulta útil.

Primero muestro el código paso a paso y al final del artículo dejo un enlace para descargar todo el código completo que captura mensajes (y otros datos) de Twitter con PHP.

Warning!

Cuidado con hacer demasiadas peticiones a Twitter con estas rutinas, si haces más de 120 peticiones en menos de 15 minutos, te banearán y dejarán de funcionar. Para prevenir esto se puede hacer un temporizador, de manera que grabe los datos y no se vuelva a conectar a Twitter hasta pasado 1 minuto (de este modo serían 60 peticiones por hora como máximo). Más adelante hablaré en otro artículo sobre como implementar un temporizador de este tipo con PHP.

Desactivar la caché con PHP

Para empezar, es altamente recomendable para este tipo de programas desactivar todo tipo de cachés, ya que en algunos navegadores mal configurados y sobretodo en dispositivos móviles, cuando se recarga la página, se visualiza la página web guardada en la caché del disco duro (o equivalente) y no se visualiza la del servidor web. Y por tanto, no se verían las nuevas publicaciones, siempre se verían las mismas.

Con el siguiente código en PHP, forzamos a que una página en PHP se cargue siempre desde el servidor y no de la caché:

1
2
3
4
5
// Desactivamos todo tipo de caches
header( "Expires: Mon, 20 Dec 1998 01:00:00 GMT" );
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
header( "Cache-Control: no-cache, must-revalidate" );
header( "Pragma: no-cache" );

Convirtiendo texto en “enlaces Twitter”

La siguiente función no es mía, la publico el usuario Walter en los comentarios de la web Css-tricks.com, y su misión es procesar un texto y convertir ciertas cadenas a enlaces Twitter. Por ejemplo si se encuentra “Me gusta la #tecnologia moderna” convierte la palabra “#tecnologia” en un enlace que al clicarlo, visualizas los últimos tweets relacionados con #tecnlogia.

1
2
3
4
5
6
7
function twitterify($ret) {
	$ret = preg_replace("#(^|[\n ])([\w]+?://[\w]+[^ \"\n\r\t< ]*)#" , "\\1<a href=\"\\2\" >\\2</a>", $ret);
	$ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r< ]*)#", "\\1<a href=\"http://\\2\" >\\2</a>", $ret);
	$ret = preg_replace("/@(\w+)/", "<a href=\"http://www.twitter.com/\\1\" >@\\1</a>", $ret);
	$ret = preg_replace("/#(\w+)/", "<a href=\"http://search.twitter.com/search?q=\\1\" >#\\1</a>", $ret);
	return $ret;
}

Leer Twitter con PHP y obtener datos y mensajes de un usuario

Ahora pasamos al capturador de mensajes de un usuario (sólo de un usuario, no de otras cosas), que permitirá leer Twitter con PHP y obtener sus datos en tu propia web.

Al inicio tenemos la variable “$usuario” donde le asignaremos un nombre de usuario de Twitter, en este caso al usuario David Bravo del cual soy un fan suyo (aunque él no me conozca). Y en la variable “$numDeTweets” le asignamos cuantos mensajes queremos ver, en nuestro caso le ponemos un 5 porque queremos visualizar sus últimos 5 mensajes:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$usuario= "@dbravo";
$numDeTweets=5;	// numero de tweets que se quieren visualizar
 
$twitter = "https://api.twitter.com/1/statuses/user_timeline/".$usuario.".xml?count=".$numDeTweets."&include_rts=1callback=?";
$xml = simplexml_load_file($twitter) or die("Error en la conexión");
foreach($xml->status as $datos){
	$text = "<br><b>Hora:</b> ".date("Y/m/d H:i:s",strtotime($datos->created_at)); // extrae la fecha
	$text = $text."<br>Mensaje: ".twitterify($datos->text); // extrae el texto
	$text = $text."<br>Id: ".($datos->id); 
	$text = $text."<br>source: ".($datos->source); 
	$text = $text."<br>in_reply_to_status_id: ".($datos->in_reply_to_status_id); 
	$text = $text."<br>retweeted: ".($datos->retweeted);  
	$text = $text."<br>retweet_count: ".($datos->retweet_count);
	$text = $text."<br>in_reply_to_screen_name: ".($datos->in_reply_to_screen_name); 
	$text = $text."<br>in_reply_to_user_id: ".($datos->in_reply_to_user_id); 
	$text = $text."<br>in_reply_to_status_id: ".($datos->in_reply_to_user_id);
	$text = $text."<br>favorited: ".($datos->favorited);
	$text = $text."<br>truncated: ".($datos->truncated);	
 
/*  
	// No funcionan
	$text = $text."<br>profile_image_url: <img src=\"".($datos->profile_image_url)."\">"; 
	$text = $text."<br>profile_image_url: ".($datos->profile_image_url); 
	$text = $text."<br>geo: ".($datos->geo); 
	$text = $text."<br>retweet: ".($datos->retweet);  
	$text = $text."<br>user: ".($datos->user);  
	$text = $text."<br>place: ".($datos->place);  
	$text = $text."<br>coordinates: ".($datos->coordinates); 
	$text = $text."<br>contributors: ".($datos->contributors);
	$text = $text."<br>screen_name: ".($datos->screen_name); 
	$text = $text."<br>name: ".($datos->name); 
	$text = $text."<br>followers_count: ".($datos->followers_count); 
	$text = $text."<br>mentions: ".($datos->mentions); 
	$text = $text."<br>links: ".($datos->links); 
	$text = $text."<br>domains: ".($datos->domains);
*/	
	echo $text."<br />-------------------";
}

Como se puede ver en el anterior ejemplo, al final hay toda una serie de objetos que los he dejado como comentarios. En teoría deberían funcionar según la documentación oficial hasta el momento y según otras webs que hablan sobre el tema, pero en mis pruebas estos objetos devuelven siempre el valor en blanco. Por si a alguien le interesan, aquí las dejo.

Leer mensajes de cualquier cosa en Twitter, usando su buscador

Ahora haremos algo parecido a lo anterior pero con otro método. En lugar de leer o capturar los tweets de un usuario, vamos a extraer los datos de una búsqueda, ya sea una palabra o un hashtag o cualquier otra cosa que se haya publicado en Twitter.

El problema es que tan sólo se puede recuperar un número limitado de mensajes (sólo los últimos 15 tweets).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// Captura mensajes que contengan la palabra #tecnologia en Twitter
echo "<br /><hr><br /><br /><b>------ TWEETS SOBRE LA PALABRA #tecnologia ------</b><br />";
$tema= "#tecnologia";
 
$twitter = "http://search.twitter.com/search.json?q=$tema";
$manejadorCurl = curl_init();  
curl_setopt($manejadorCurl, CURLOPT_URL, $twitter);  
curl_setopt($manejadorCurl, CURLOPT_RETURNTRANSFER, 1);  
$respuesta = curl_exec($manejadorCurl);
curl_close($manejadorCurl);  
 
$json = json_decode($respuesta);  
 
foreach ($json->results as $datos)   
{   
	$text = "<br><b>Hora:</b> ".date("Y/m/d H:i:s",strtotime($datos->created_at)); // extrae la fecha
	$text = $text."<br>profile_image_url: <img src=\"".($datos->profile_image_url)."\">"; 
	$text = $text."<br>Mensaje: ".twitterify($datos->text); // extrae el texto
	$text = $text."<br>Id: ".($datos->id); 
	$text = $text."<br>source: ".($datos->source); 
 
	// El objeto "geo" no se lee bien, a veces da error tipo "Catchable fatal error:
	// Object of class stdClass could not be converted to string in ..."
	// $text = $text."<br>geo: ".($datos->geo); 
/*  
	// No funcionan
	$text = $text."<br>retweeted: ".($datos->retweeted);  
	$text = $text."<br>retweet_count: ".($datos->retweet_count);
	$text = $text."<br>in_reply_to_screen_name: ".($datos->in_reply_to_screen_name); 
	$text = $text."<br>in_reply_to_user_id: ".($datos->in_reply_to_user_id); 
	$text = $text."<br>in_reply_to_status_id: ".($datos->in_reply_to_user_id);
	$text = $text."<br>favorited: ".($datos->favorited);
	$text = $text."<br>truncated: ".($datos->truncated);	
	$text = $text."<br>retweet: ".($datos->retweet);  
	$text = $text."<br>user: ".($datos->user);  
	$text = $text."<br>place: ".($datos->place);  
	$text = $text."<br>coordinates: ".($datos->coordinates); 
	$text = $text."<br>contributors: ".($datos->contributors);
	$text = $text."<br>screen_name: ".($datos->screen_name); 
	$text = $text."<br>name: ".($datos->name); 
	$text = $text."<br>followers_count: ".($datos->followers_count); 
	$text = $text."<br>mentions: ".($datos->mentions); 
	$text = $text."<br>links: ".($datos->links); 
	$text = $text."<br>domains: ".($datos->domains);
*/	
	echo $text."<br />-------------------";
}

Igual que antes, algunas etiquetas no devuelven nada (cadena vacía) pero aquí las dejo por si lo necesitáis para algo.

Important!


El objeto “geo” es un misterio para mi, en algunos mensajes de Twitter he descubierto que contiene “algo” porque me provoca un error en el servidor tipo “Object of class stdClass could not be converted to string in …”, pero no consigo extraer la información.

He probado diferentes métodos, tratarlo como una array, etc y no he encontrado la forma de visualizar el contenido del objeto llamado “geo”. En algunas webs sugieren que podrían ser las coordenadas desde donde se envió el mensaje, pero nadie explica como leerlas con un método que funcione. ¿Lo sabes tu por casualidad?

Descargar el código fuente completo

Y ya para acabar, dejo aquí en un fichero todo el código completo para leer mensajes de Twitter con PHP, funcionando y comprobado, así os ahorro tiempo:

capturaTwitter.php

Por favor, si te son útiles estas rutinas o las perfeccionas, o descubres fallos, o encuentras más información sobre más objetos que se puedan extraer, publica un comentario. Gracias.

feb 04

Cómo desinstalar el pesado AVI Chunk Viewer (solución)

¿Estas harto de una ventana que aparece cada vez que seleccionas un vídeo o le modificas su nombre? ¿por casualidad la ventana tocanarices tiene en la parte de arriba el título “AVI Chunk Viewer”?

Avi chunk viewer quitarPara eliminar esté programa tan pesado que nos informa de si hay errores o no en los vídeos es bastante sencillo. Generalmente el “AVI Chunk Viewer” se instala automáticamente con el K-Lite Codec Pack o similares.

A continuación explicamos para que sirve el AVI Chunk Viewer, hacemos un tutorial paso a paso con la versión oficial para desinstalar el dichoso programa y en caso que no funcione la versión oficial, explicamos la versión para quitar “a lo bestia” el AVI Chunk Viewer:

 

¿Para que sirve el AVI Chunk Viewer?

Se utiliza entre otras cosas, para partir los vídeos AVI (MPEG4, XviD, DivX, etc) en pequeños archivos AVI. Esto permite por ejemplo que si un vídeo está dañado, tu visor de películas (tu player) pueda saltarse las partes dañadas y visualizar las que estén correctas. Generalmente es utilizado por el programa Media Player Classic, pero si por ejemplo tienes el maravilloso visor de películas VLC, no te hace falta y lo puedes desinstalar sin problemas. También se integra dentro del Explorer del Windows (no del Internet Explorer, si no del Explorer, el proceso que se encarga del escritorio y que te permite navegar por las carpetas de tu disco duro).

 

Forma oficial de quitar el AVI Chunk Viewer

El recuadro del “AVI Chunk Viewer” proviene de un módulo integrado dentro del programa explorer.exe, llamado “AviSplitter.ax” cuyo nombre oficial es “Avi Splitter” y su creador es la compañía Gabest. No es ningún virus ni nada parecido, en teoría es una utilidad (muy pesada eso si) que proviene del “Media Player Classic” (es un programa para ver vídeos) y el código fuente tanto del “Media Player Classic” como del “AviSplitter.ax” es abierto para que cualquier programador que quiera revisarlo o mejorarlo, pueda descargarlo desde la web SourceForge.

El módulo “AviSplitter.ax” de 362 KB, se activa cuando se selecciona cierto tipo de fichero AVIs, especialmente si está dañado y es entonces cuando aparece el molesto cuadro “AVI Chunk Viever” que todos conocemos.

Los pasos a seguir para desinstalar el módulo son los siguientes:

  1. Ir a:
    Botón Inicio –> K-Lite Codec Pack –> Tools –> Codec Tweak Tool
    O si no lo encuentras por tener otra versión (antigua) de K-Lite busca en:
    Botón Inicio –> K-Lite Codec Pack –> Configuration –> CodecTweakToolPaso a paso para quitar Avi Chunk Viewer
  2. Si tienes una versión reciente del K-Lite Codec Pack, te aparecerá esta pantalla:
    Siquiete paso para quitar Avi Chunk Viewer
    Haz click en el botón “Manage DirectShow filters”.Si tienes una versión antigua de K-Lite Code Pack, no te aparecerá el recuadro (pasa directamente al punto 3).
  3. Casi al final (mueve la barra de scroll hacia abajo) verás un cuadradito blanco que al lado dice “AVI splitter (Gabest)” o “AVI splitter (Gabest) [avisplitter.ax]“. Haz clic en el cuadrado para que aparezca una “V” (tal como aparece en la siguiente imagen).Paso final para desinstalar Avi Chunk Viewer

    Warning!

    Ojo, no confundir con “AVI splitter (Haali)” que aparece en la imagen siguiente:
    Esto no hay que hacerlo
  4. Haz clic en el botón que hay en la parte de abajo a la derecha dice “Apply & Close”.
  5. Reinicia el PC para que los cambios se hagan efectivos.

 

¡Y vualá! con esto, el 99’9% de veces ya no volverás a ver la pesada ventana del “AVI Chunk Viewer”.

 

 

Forma “a lo bestia” de quitar el AVI Chunk Viewer

Una vez se ha realizado la forma oficial de desinstalar el AVI Chunk Viever, en algunos poquísimos casos se resiste a desaparecer, u otras veces por diferentes motivos no es posible aplicar el método anterior. Así que explicamos otra forma de quitar el el AVI Chunk Viewer, que recomendamos que se haga SÓLO si el método anterior (el oficial) no funciona:

  1. Debes buscar la carpeta “C:\windows\system32\”
  2. Dentro de esa carpeta busca un archivo llamado “AVCDX.ax”. Si no lo encuentras, busca este otro “avisplitter.ax”. Y si sigues sin encontrarlo, busca cualquier archivo que comienza con “av” y finaliza con “.ax”. Cuando lo encuentres, renómbralo o bórralo (personalmente lo borro, pero si no te fías, ponle otro nombre tipo “loquesea.ax.BAK”).
  3. Busca con el buscador de fichero de Windows la cadena de texto “AviSplitter.ax” (sin las comillas) y cuando lo encuentres, bórralo. Generalmente, el módulo “AviSplitter.ax” se encuentra en la carpeta “C:\Archivos de programa\FreeTime\FormatFactory\FFModules\Filters\” o “C:\Program files\FreeTime\FormatFactory\FFModules\Filters\” (o similar). A veces en “C:\Windows\System32″
  4. Reinicia Windows.

Y esto es todo, espero que te haya sido útil esta información, desde Dr.PC te agradeceríamos que nos dejaras algún comentario para saber como te ha ido.

 

sep 09

Disco duro nuevo, con transferencias de velocidad muy bajas (solucionado)

disco duro Caviar BlackEn los últimos tiempos han aparecido en el mercado unos discos duros nuevos de Seagate o de Western Digital tipo “Caviar Black”, “Caviar Green” o “Caviar Blue” (SATA de 32 MB o 64MB de cache), que tienen capacidades altas de almacenamiento de datos: 1 TB, 1,5 TB o 2 TB.

El problema de la velocidad baja

El problema de estos discos es que cuando se conectan al PC tienen velocidades muy bajas y el consumo de CPU se hace muy elevado, ralentizando todo el Windows hasta el punto que cuando se copian archivos de un disco al nuevo, va todo tan lento que es desesperante.

Los discos duros modernos transfieren datos a una velocidad de 60 MB/s o mucho más, pero cuando estos discos duros “modernos” van a una media de “1,5 MB/s” acaba con la paciencia de cualquiera, por ejemplo para copiar 100GB a otro disco duro, puede representar dejar el PC encendido toda la noche y parte del día siguiente (cuando son discos ultra modernos y muy rápidos).

Si se realizan pruebas simples, todas indican que no hay problemas. Por ejemplo escaneando la superficie del disco duro con la utilidad propia de Windows llamada “Comprobación de errores” o con software como “Tuneup Utilities”, se puede estar… ¡¡una semana comprobando el disco duro completo!!.

Si se realizan pruebas “más serias” como con el software llamado “HD Tune Pro”, aparecen todos los parámetros SMART (son datos técnicos internos del disco duro) como perfectos y que el disco está en perfecta salud.

Pero con “HD Tune Pro” se aprecia un fallo evidente, la velocidad es lentísima. Estos es el resultado de un disco Western Digital de 1,5 TB. Se puede ver como va muy lento con transferencias entre 1,4 y 1,7 MB/s:

Disco duro muy lentoAl parecer en China y Japón esto es un problema bastante común, quizás por fallos en la traducción que afectan al Windows o quién sabe. Si se busca en Google “WD 低速病” aparecen cientos de páginas hablando sobre el tema de los discos duros demasiado lentos.

Soluciones

Después de muchas pruebas, encontramos varias soluciones, de manera que si una solución no funciona, probad con las otras. A continuación podemos ver la imagen del disco duro reparado. A pesar del extraño error en la zona de los 25 GB, la velocidad del disco duro que hemos utilizado para realizar este artículo, se ha multiplicado por 100.

Disco duro despues de reparar

Solución 1.

Los pasos que hicimos son muy sencillos:

  • Si se puede configurar en tu BIOS, prueba con cambiar la configuración del disco duro a ACHI, esto fuerza a que se utilice la DMA para hacer transferencias de datos.
  • Si se puede configurar en tu BIOS, aumenta la temperatura mínima de alarma de tu disco duro. Por ejemplo si a partir de 40 grados se activa o desactiva algo, incrementa la temperatura a 50 grados.
  • Lo más importante y que casi siempre funciona:
  1. Clicar en el botón “Inicio”.
  2. Clicar en “Ejecutar”.
  3. Teclear “regedit” (sin las comillas).
  4. Buscar el registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\000x
  5. Los últimos cuatro dígitos, deberían ser 0000, 0001, 0002, 0003, 0004, ….
  6. Ir a cada una de estos registros y borrar todo lo que tenga estos valores: MasterIdDataChecksum SlaveIdDataChecksum
  7. Reiniciar el ordenador para que Windows pueda detectar de nuevo la configuración DMA.

 

Solución 2, por si falla la anterior.

Cambiar de puerto SATA. Para hacerlo hay que seguir los siguientes pasos:

  1. Apaga el PC.
  2. Abre el PC y busca el cable que conecta el disco duro SATA con la placa base (motherboard). Conecta el cable a otro conector de la placa base.
  3. Si fuese necesario, configurar la BIOS para que reconozca el disco duro.
  4. Enciende el PC.
  5. Te aparecerá el mensaje de detección de nuevo software y si todo ha ido bien verás el típico mensaje “Se ha instalado un nuevo hardware correctamente” o un mensaje similar. ¡Bien!

 

Solución 3, por si falla todo lo anterior.

Si todo lo anterior falla, se puede probar con el driver. Hay que forzar a Windows para que vuelva a instalar el driver del disco duro. Los pasos para el Windows XP son los siguientes:

  1. Botón Inicio, Panel de control, Herramientas administrativas, Servicios, Windows Seach, clic encima con el botón derecho, Parar, Propiedades, Desactivar.
  2. Botón Inicio, Todos los programas, Inicio, clic con el botón derecho encima de Inicio, borrar.
  3. Abrir cualquier carpeta, entrar en la carpeta “Mi PC” para ver los disco duros. Clic con botón derecho encima del disco duro y clicar en propiedades. Allí hacer clic para deseleccionar la opción “Permitir indexación…” (o similar).
  4. Clicar en Aceptar, seleccionar “Aplicar cambios a la carpeta y subcarpetas. SI aparecen mensajes de error hay que ignorarlos. Y esto es todo, este último proceso tarda mucho en algunos casos, hay que tener paciencia.

 

Bueno, esperamos que alguno de estos trucos os haya ayudado a solucionar el problema, gracias por vuestra atención.

ago 11

¿Qué es un driver? ¿qué es firmware?

Te has preguntado ¿qué es un driver y que significa esta palabra? o quizás te has preguntado ¿qué es firmware? Este texto lo utilizaba con mis alumnos de 11 años cuando daba clases y por los exámenes deduzco que lo entendieron bastante bien. Espero que te sea tan útil como a ellos.

En la siguiente imagen tenemos un resumen de como un usuario que trabaja con un Sistema Operativo (Windows, Linux, Mac OSAndroid, etc) consigue que un ordenador o computadora, siga nuestras órdenes.

Qué es un driver o qué es firmware

Simplificando mucho:

Un Sistema Operativo es el “traductor” entre el usuario y la máquina. Explicado de manera simple, es un “programa especial” que se encarga de recibir las pulsaciones de las teclas o del ratón, y gestionar que se debe hacer. También se encarga que los programas (Word, juegos, Firefox, etc) funcionen correctamente, mostrando toda la actividad por la pantalla. De manera que traduce lo que pasa por dentro de los circuitos a un lenguaje visual que los humanos comprendemos, y al revés, traduce nuestros clics del teclado o del ratón, a un lenguaje que los circuitos de la máquina pueden entender, y así puede cumplir nuestros deseos.

Un driver es un programa que hace de “traductor” entre el Windows y el firmware. Por ejemplo si el Windows quiere imprimir, le envía los datos a un “programa especial” llamado “driver de la impresora”. Este programa traduce las órdenes al “idioma de la impresora” que tengamos, cada marca y modelo de impresora tiene su “propio idioma” y por eso necesitan un driver especial para ellas.

Es como si una impresora hablase chino y le pones un traductor que hable francés, ¿que pasaría? que no entendería nada, por eso el driver (el traductor) debe hablar exactamente en el mismo idioma que la impresora. También hay drivers para otras cosas, memorias USB, lectoras de tarjetas, pantallas, tarjetas de sonido, cualquier cacharro que se pueda conectar a una computadora, el sistema operativo necesita un driver que traduzca sus órdenes al idioma del aparato conectado.

Los drivers se cargan desde el disco duro cuando se inicia Windows y quedan disponibles en la memoria RAM del PC. Cuando se apaga el PC se borran, y se vuelven a cargar en el siguiente inicio de Windows.

El firmware es un programa metido dentro de un chip que hay en la mayoría de aparatos modernos, y es el “traductor” entre el “driver” y los circuitos electrónicos. El chip que guarda el programa firmware, es como la memoria USB, contiene datos que cuando se apaga el PC siguen estando en el chip y no se borran cuando apagas el PC o Mac o móvil o cualquier tipo de aparato con Sistema Operativo.

Por ejemplo en un disco duro, cuando el sistema operativo necesita cargar un archivo Word, primero le dice al driver que necesita el archivo word llamado “loquesea.doc”, el driver se lo traduce al firmware, y finalmente el firmware se encarga de enviar las señales eléctricas necesarias para que el cabezal del disco duro se mueva a una zona concreta del disco duro, lea los datos, y estos se envían por el camino inverso (de disco a firmware, de firmware a driver) para finalmente el sistema operativo recibe los datos del driver y pueda visualizar el archivo Word por la pantalla.

El firmware, se puede borrar y actualizar a una versión  más nueva (de la misma forma que podemos borrar y regrabar un archivo en un Pen Drive). A veces las nuevas versiones de firmware corrigen pequeños fallos y consiguen que se controle mejor las señales eléctricas que circulan por las tarjetas electrónicas y los chips. Aunque a veces empeora las cosas e incluso daña el aparato, por eso mejor que no actualices el firmware por tu cuenta, si no sabes bien lo que estás haciendo, ya que puede ser peligroso para tu aparato.

Y esto es todo. Si algo no queda claro, podéis escribir en los comentarios.

Entradas más antiguas «