¿Necesitás drivers de tal o cual dispositivo? Bienvenido al club.

PREFACIO: Con el paso de los años o bien yo me he vuelto viejo-vago-choto(tm) y todo lo que antes me llenaba de algarabía ahora me da por el quincuagésimo forro de las bolas o bien los drivers ya no son lo que eran. Tanto si sos un técnico que repara PC como si sos un usuario que suele apañárselas por si mismo para reinstalar Windows, deberías seguir leyendo.

Este post surge de la imperiosa y extremadamente rompe huevos necesidad de drivers que tenemos siempre todos los que vivimos de reparar PC, de una idea que me vino a la cabeza hace un par de semanas para solucionar este inconveniente y que después de varias pruebas no ha hecho mas que mejorar mi calidad de vida y aumentar el tiempo que paso disfrutando del aire libre en familia en lugar de tener que esperar tediosas horas a que se baje de rapidshare ese pack de drivers de 600Mb que después resulta que tiene todos los drivers que ya había instalado con anterioridad menos justo el que necesitaba…

Así se presentaba, con estos colores horribles, el instalador de las placas de video SIS

Hubo una época en que bajar un driver era la misma utopía que ahora, no por que había que descargar 345Mb –de hecho un driver “de los de antes” no pasaba de los 25Kb como mucho, sin zipear– para poder instalar una impresora de mierda el driver de una impresora HP multifunción si no por que los buscadores eran una poronga. Buscar en metacrawler el driver para la Aureal Vortex 1000 ISA podía llevarte tranquilamente la misma cantidad de tiempo que te llevaría descargar un driver de cualquier placa de video aceleradora 3D nVidia o ATI de hoy en día con una conexión de banda ancha.

En esa época un driver solía constar de 3 archivos mínimo y 10 como máximoSi, con 2 miserables archivos de texto y un binario no necesitas mas. Debería alcanzar para hacer funcionar medianamente bien cualquier dispositivo– por que las placas de sonido no tenían ecualizador, ni ícono en el panel de control, ni efectos de cámara de eco. Las placas de video no controlaban la cantidad de Gamma del monitor ni se podía configurar tanto pero tanto la calidad de la aceleración 3D, los joysticks y volantes no tenían memoria por software y así sucesivamente… Eran épocas salvajes. De esa época de caballos a pelo es que conozco como funciona (a grosso modo) el conjunto de archivos que compone un driver.

Siempre buscando como optimizar los procesos y aprovechar mejor los tiempos muertos se me ocurrió guardar todos los drivers habidos y por haber en una sola carpeta, ir acumulándolos de alguna manera de forma que a la hora de tener que reinstalar la misma PC u otras de similares características el día de mañana solo baste con decirle al pelotudo de Windows XP –que no es capaz de buscar recursivamente, otro gran punto a favor para Windows 7– apuntándole con el mouse a la carpeta que contiene el guiso de drivers:

– ¡Eh, boludo, buscá acá!

.Y funciona, realmente funciona.

Cuando se instala un driver desde el instalador (setup.exe) o cuando se instala a mano indicándole al administrador de dispositivos cual es la carpeta que lo contiene, Windows busca antes que nada un archivo con extensión INF. Si encuentra el .inf y dentro del mismo (no es mas que un archivo de texto plano) los strings PCI\VEN (por el número de fabricante) y &DEV (por el número de dispositivo de ese fabricante puntual) coinciden con los del identificador del dispositivo al que le falta el driver, entonces el sistema hace tres cosas antes de poner a funcionar todo el circo:

  1. Copia el archivo .inf a %windir%\inf
  2. Copia el archivo .sys que es el driver en si mismo a %windir%\system32\drivers
  3. Copia toda la demás sarta de boludeces* a %windir%\system32 y puede que un poco a %windir%

%windir% es una variable del sistema, apunta a la carpeta en donde se instaló el sistema operativo que por lo general es c:\windows

*La demás sarta de boludeces es toda la parafernalia adicional que acompaña al driver como por ejemplo programas ecualizadores o canceladores de voz, medidores de nivel de batería o de tinta en las impresoras, etc.

Armado con estos conocimientos desde hace algunas semanas vengo acumulando en una carpeta todo el contenido de %windir%\inf, %windir%\system32\driver y %windir%\system32\ de cuanta PC o notebook pase por mis manos. Cuando me pregunta si quiero sobreescribir archivos, le digo que no a todo con el combo [SHIFT + N].

¿El resultado?

Tengo en un disco rígido externo –aun que bien podría ser en una carpeta compartida por la red en cualquier otra PC o en un pendrive– un directorio de nombre “Guiso de drivers 1.0” que ya pesa 700Mb –pero estoy seguro que se puede reducir a menos de la mitad si elimino todos los archivos que no son de drivers– en constante actualización que ya hoy en día, pocas semanas después es capaz de instalar todos los drivers de todas las notebooks que probé, incluidos esos dispositivos desconocidos que siempre quedan colgados y que suelen ser el coprocesador, el SMBus no se cuanto, etcétera.

Así que si sos técnico: Empezá a acumular todos estos archivos en un solo lugar y después dejá que Windows busque los drivers ahí. Mientras te tomás un feca, presenciás la magia.

Si sos un usuario asiduo a las reinstalaciones de Windows por que todavía no te pasaste para mi lado, entonces hacé un backup de todas estas carpetas, te va a simplificar mucho el proceso de reinstalación de drivers.

Como nota al margen:

  • No mezclar los drivers para windows XP con los de windows 7
  • No mezclar los drivers para sistemas operativos de 64 bits con los de 32 de toda la vida.
  • No calentarse en hacer esto para windows 7, basta con que dejes que busque el solito los drivers en internet y ya.
La letra chiquita del final y que nunca nadie lee: Hay que conservar los archivos de nombre OEM(seguido de un número).INF contenidos en %windir%\inf para que todo lo anterior funcione. No se puede sobrescribir OEM3.INF de una instalación con el de la otra instalación así que toca antes que nada ir a %windir"%\inf y renombrar todos estos archivos para que se llamen OEM(15,16,17,18,lo que corresponda).INF (Yo ya voy por el 70 y tantos) para no pisar un archivo con el otro. Aún así, sigue siendo mucho mas rápido que la lotería de tratar de adivinar cual es el driver y buscarlo en internet. Con esta le rompo el tuje al driver genius, al everest, aida y todas esas pelotudeces que acaban de quedar automáticamente obsoletas. ©2011 MalditoNerd.com Todos los derechos reservados, los zurdos un poco mas dados al trato con la gente. Si me vas a chorear el contenido de este artículo citá la fuente o te pongo una zapatería en el culo.

Cada vez que dos o mas personas aprenden a hacer algo, compiten para ver quien lo hace mejor. Hasta en la disciplina mas ridícula que se me pueda ocurrir hay torneos y records. Nada mas basta con darle una vueltita a los records Guiness si no me creen.

Exactamente lo mismo pasa con los usuarios de PC pero con un agravante y potenciado por lo anónimo e impersonal de los comentarios en internet (leasé: Nadie te va a venir a cagar a trompadas si está en desacuerdo, no por que no quiere, si no por que no puede): Cual gremialista propenso a la violencia, prácticamente politizan lo impolitizable, talibanizan lo intalibanizable –si existiera tal cosa, que de tan ridículo que es el concepto, ni siquiera existe como palabra en el diccionario-.

«que si tu sistema operativo es mejor que el mío, que si el mío es mas rápido que el tuyo, que si el mío es mas libre, que el tuyo es mas seguro, que si ustedes son el 99% y nosotros el 1%»

Puras estupideces. Me hacen enojar carajo. Un sistema operativo es algo intangible e indefendible, desperdiciar minutos de tu vida meditando estas cosas es típico de cortos de frente. ¿Para que perder el tiempo averiguando si los usuarios de Linux son el 1% del total de los usuarios de PC o el 1.5%? ¿Que ganarían con eso?

Ridículo… Si un día no existe mas la energía eléctrica, ¿Que van a hacer? ¿Competir a ver quien afila mejor un palo?

¿Para que desperdiciar tu vida peleando en foros sobre si Windows 7 o Windows XP cuando podrías estar haciendo algo productivo en su lugar?

¿Para que hacer un escándalo por que el software instalado no es de código abierto cuando simplemente funciona? –De todas las sandeces que he visto alrededor de Linux, los puristas del GNU se llevan el trofeo, el primer puesto en el podio. Richard Stallman será un genio, si, pero un genio hippie defendiendo lo indefendible: Un boludo bárbaro-.

Por si no se entendió, lo resumo de nuevo en negritas: Richard Stallman es un boludo bárbaro. Si, si, le debemos muchísimo todos en la comunidad de usuarios de Linux pero eso no le quita lo boludo.

En lugar de discutir que si Debian es mejor que Ubuntu o que si Arch es mejor que Debian o que si Suse o que si Fedora o si todos los anteriores son mejores o peores que la manzanita o las ventanas, la pregunta debería ser: ¿Te sirve? ¿Cumple con tus expectativas? ¿Funciona?

  • SI, me sirve: Entonces dejáte de romper los huevos, que para evangelizar si hay algo que sobra son fanáticos.
  • No me sirve: Entonces no lo critiques. Que no te sirva no –necesariamente– quiere decir que sea una cosa mala, quiere decir que tus expectativas están muy por debajo –esta es la causa mas frecuente– o muy por encima del producto pero eso no quita que a alguien mas le calce justito como guante de cirujano.

Algunas cosas son mas complicadas en Linux. Poner a funcionar un dispositivo USB hace algunos años en Linux era lísa y llanamente un dolor de bolas. De esa época aprendí que el comando lsusb sirve para listar los dispositivos conectados a los puertos USB y que cada dispositivo, como si fuera una especie de MAC Address tiene un identificador único:

# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

El ID que en este caso es 1d6b:0002 es único y es el mismo tanto para Linux como para Windows, aun que la connotación sea diferente. De tener que lidiar con identificadores USB aprendí que a veces, cuando no queda otra, buscar en Google por identificador es la mejor opción. Es mas, aveces, es la única opción.

Me pasó ayer. Necesitaba instalar uno de esos cables adaptadores de USB a puerto serial, los usb2com o usb2vcom que le dicen por las siglas de “USB a Virtual Com Port”. Resulta que el que fabricó el cable –y la renegrida concha de su madre– no tuvo a bien incluir un cd o minicd con el driver, Ni siquiera tuvo a bien incluír una página web desde donde se pudiera descargar el puto driver. Supuestamente era un adaptador “Plug n Play”, No installation Required.

Plug and PLay las pelotas.

No hubo poder de Dios que hiciera funcionar el cable, ni en Windows XP, ni en Windows 7, ninguno de los dos tenía el driver incorporado, no había forma de descargarlo desde la página web del fabricante, no podía leer el chipset interno (dentro de la ficha DB9) para poder saber con que estaba lidiando, estaba por ir a comprar otro cable de alguna marca mas seria cuando me iluminé.

Panel de control / Sistema / Hardware / Administrador de dispositivos, propiedades del cable en cuestión:

id_usb

Para el ejemplo estoy mostrando el de mi webcam, pero en el caso del cable, el VID & PID respectivamente rezaban:

USB\VID_067B&PID_2303

That´s it, eso es todo. No se necesita mas que googlear buscando lo anterior para llegar a la página web del fabricante del chipset que en mi caso es un tal “Prolific”, el que le vende al fabricante del cable, y descargar desde ahi un driver universal para el mismo:

http://www.prolific.com.tw/eng/downloads.asp?id=31

Simplemente por que Linux administra de forma mas eficiente los recursos disponibles, es innegable que cualquier Linux va mucho mas rápido que Windows. Esto se nota aún mas en las PC mas bien viejitas en donde instalar una versión reciente de Windows es impensable y sin embargo todavía puede ser de utilidad si se le instala una versión reciente de Linux.

Por este motivo es que cada vez mas se ve por todos lados que no solo en PC de escritorio se usa Linux, si no también en teléfonos celulares, routers y equipos que proveen conectividad, etc. Donde los recursos son limitados, Linux se luce, los administra mejor, carga todo mas rápido haciendo uso de menor cantidad de memoria RAM y proveyendo de esquemas de seguridad mejorados.

Es exactamente por el mismo motivo por el que en servidores en producción donde la carga de transacciones es altísima, siempre se prefiere Linux.

Este artículo viene a contrarestar todo lo anterior.

Voy a explicar a continuación como hacer que Windows sea tan rápido como Linux:

  1. Mejor hardware: Tu PC con Windows 7 y 512Mb de ram nunca va a poder ser tan rápida como una con Linux y esa misma cantidad de memoria disponible. Para que sea mas rápida, agrega mas memoria RAM, 1Gb mínimo, recomendado 2Gb o mas.
  2. Mejor hardware: ¿Un microprocesador ahora que vienen de 2, 3, 4, 6 y 8 cores? ¡No se hable mas!: Para que tu PC con Windows sea mas rápida, agregale mas microprocesadores, como mínimo un Quad Core, de ahí para arriba. ¡Superá eso, Linux!
  3. Defragmenta tu disco no menos de tres veces por día: Una en ayunas, una a medio día antes de cada comida y una a la noche, antes de irte a dormir. Cualquier analista de sistemas te podrá confirmar esta afirmación. Un disco desfragmentado siempre corre mejor que uno al que nunca se le hubiera ordenado el sistema de archivos.
  4. Deshabilita restaurar sistema: Que tu sistema operativo se ponga cada tanto a hacer copias de seguridad en caso de que algo se rompa sin que se lo pidan no hace mas que consumir recursos. Como nada se va a romper, -o no debería romperse al menos– desactivá esta función. Estarás siempre aprovechando el 100% de tiempo de microprocesador y desocupando una buena tajada del disco rígido.
  5. Desactiva el antivirus: Eso de tener uno o mas programas constantemente vigilando todas las operaciónes de entrada y salida sobre el sistema de archivos y los procesos y encima controlando ciertos sectores «criticos» del registro de Windows no es mas que una pérdida de tiempo de procesamiento, de memoria RAM y de espacio en disco (además de sumar mas archivos para defragmentar diariamente). Para que tu Windows realmente le pase el trapo a Linux, nada de antivirus ni mariconadas de esas, al fin y al cabo, las PC no necesitan antivirus.
  6. Desactiva las actualizaciones automáticas: estarás liberando al microprocesador de la tarea de controlar las versiones de los archivos instalados, al sistema de archivos del mismo tedio y a la memoria RAM durante el proceso de actualización. Además, de esa forma es mas improbable recibir una de esas actualizaciones que te entotoran «de prepo», –que de seguridad no tienen nada– que avisan que podrías ser víctima de una falsificación de software. Que puede que tu copia de Windows no sea original.
  7. Desactiva el firewall de Windows y cualquier otro firewall de terceros que tuvieras en ejecución: Nunca vas a poder competirle a Linux con tanta parafernalia consumiendo tus preciados recursos de hardware. Nada de verificar escaneos de puertos o bloquear puertos privilegiados, muchísimo menos se te ocurra habilitar filtrado de tráfico en tiempo real, necesitas toda la potencia disponible exclusivamente para el sistema operativo.
  8. Desactiva todos los programas que se cargan durante el arranque, aun que sean esenciales para el funcionamiento: Si, que la botonera de la impresora no funciona si no tiene el ícono en el system tray, o que la cámara digital no descarga automáticamente las fotos al conectarla si no está el proceso en ejecución consumiendo memoria, que el detector de conectores del panel frontal no pone en funcionamiento los auriculares si no está el audio-deck al lado del reloj consumiendo 17Mb de ram pero no hay nada que hacerle. ¿Querés competir contra Linux? Entonces desactivalos a todos, si los necesitás los ejecutás a mano antes de usarlos y listo.
  9. Desactiva todos los servicios que no usás permanentemente: Bluetooth, Audio de Windows –lo activás si lo vas a usar, casi nadie usa audio el 100% del tiempo-, configuración inalámbrica rápida –total hacés la configuración a mano desde las propiedades del adaptador de red-, conexiones de red (ver punto 10), inicio de sesión secundario para que ningún proceso pueda pasarte por arriba y escalar privilegios sin tu consentimiento, plug and play –si no vas a conectar ningún pendrive ni agregar mas hardware, ¿para que lo querés?– registro del sistema –¿Para que registrar todo si nunca revisás el log?-, etc, etc.
  10. Por último y el mas importante de todos: Desconecta tu PC de internet.

Siguiendo esta guía al pié de la letra, tu PC va a ser mucho mas rápida que una con Linux e igual de segura, sin internet, eso es verdad, pero sin antivirus, sin firewall y sin los parches para corregir vulnerabilidades, yo en tu lugar no me arriesgaría a conectarme.

Tu equipo no será el mas funcional de todos, pero ¡Es rapidísimo!

FreeBSD Vs Windows: ¿Alguna duda?

FreeBSD Vs Windows: ¿Alguna duda?

A ver que elegís: ¿Linux con todo funcionando, rápido y sin problemas o Windows y mi guía de optimización?

Esta va para todos los que dicen que en Linux todo es complicado de hacer y poco funcional… Todo no se puede, ¿No?

Mas que fuente, inspiración: How to make Windows faster tan Linux.