Si necesitás una extensión de cable USB 2.0 y no querés/podés gastar o te gusta apañártelas por tu cuenta como haría MacGyver entonces este artículo te va a venir como anillo al dedo.

Esta mañana navegando por una “comunidad internacional de electrónicos” (un foro de electrónica) en busca de ya ni me acuerdo que cosa, me encontré con un post en el mismo en donde el autor exponía a modo de “aporte” para la comunidad como se las ingenió después de numerosos intentos prueba/error para dar con la combinación que permite crear un extensor casero, una prolongación USB casera usando un cable de red UTP categoría 5e (el mas común y silvestre) y conectores RJ45 como los que se venden prefabricados que le permitió poner en funcionamiento un dispositivo a 10 metros de distancia y que en teoría se podría extender aún mas y pasar el límite de los 20 metros llegado el caso inyectándole alimentación adicional desde un transformador cualquiera que pueda entregar +5V (la mayoría de los cargadores de celular por ejemplo. De algún teléfono celular viejo te tiene que haber quedado por lo menos uno tirado por ahí juntando tierra).

Me sirvió para enterarme de que en distancias mayores a 3 metros, el problema con las conexiones USB no es tanto la atenuación del cable ni la retransmisión por las altas frecuencias, si no mas bien el ruido en el cable, con lo que un cable “mallado” soluciona todo el inconveniente. A modo de mallado, el autor aprovecha el mismo trenzado que compone el cable UTP y por lo visto funciona.

Me pareció tan buena la idea que me tomo la libertad de reproducir la información del post a continuación para que le llegue a la mayor cantidad de gente posible.

Primero un poco de teoría, la composición de los cables.

El cable USB está compuesto por 4 cables:

  1. El que lleva la tensión [+5V]
  2. El negativo del que lleva los datos [D-]
  3. El que lleva los datos [D+]
  4. El negativo de +5V, conectado a chasis o tierra [GND]
Pinout de conectores USB

El pinout - La nomenclatura de los pines de los conectores USB

Los cables mas importantes, que trabajan a alta frecuencia y podrían inducir ruido sobre los demás son Data+ y Data- así que mallando estos dos y mallando el positivo global –el +5V-, el problema queda solventado.

El cable de red UTP, está compuesto por 8 cables:

UTP-B

Conector RJ45 armado siguiendo el esquema B

Con lo que bastaría con usarlos de a pares, por ejemplo conectando el blanco pareja del color siempre a GND para que haga las veces de “malla” quedaría:

  1. Naranja ————————————–> +5V
  2. Blanco pareja del naranja ————-> GND
  3. Azul ——————————————-> D-
  4. Blanco pareja del azul —————–> GND
  5. Verde —————————————-> D+
  6. Blanco pareja del verde —————> GND

Los cables marrón y blanco pareja de marrón se pueden usar como mallado adicional conectándolos a la parte metálica externa del conector USB para que funcione realmente como un conector USB 2.0 o bien se pueden dejar libres para inyectarle tensión al circuito desde un transformador adicional, a gusto del lector.

Ahora si, manos a la obra:

Si bien se podrían soldar o unir directamente cable con cable –si los vas a unir, altamente recomendado el uso de espaguetis termo-contraíbles– una solución mucho mas elegante es hacerte de dos conectores RJ45 hembra como estos:

conectores_rj54_hembra

Conector RJ45 hembra-hembra y Jack RJ45 para encastrar en roseta.

El primero es un simple RJ45 hembra-hembra y es muy económico, se puede desarmar para soldarle los cables internamente. En el segundo caso, lo que ves es un Jack RJ45 para roseta, no se puede armar sin disponer de la herramienta percutora correspondiente.

Si ya disponés de todos los materiales, el resto es coser y cantar, o mas bien debería decir “soldar y yapar”. Basta con que conectes todos los cables entre si siguiendo el esquema anterior –o el que mejor te venga en gana– para hacerte con el súper adaptador casero y de todo por dos pesos de USB a RJ45 y viceversa. El resultado final, podría quedarte como algo similar a esto:

modelo_terminado

También se podría llegar un poco mas lejos inclusive, me atrevería a decir que se tiene que poder extender un cable USB a mas de 100 metros si en lugar de usar UTP usás STP, el que se conoce como categoría 6, conectando el mallado del mismo al chasis metálico del conector USB y usando los dos pares que sobran para inyectar tensión. Ya voy a hacer mis experimentos y volveré con las conclusiones.

Todos los créditos para un tal “Wideru” que escribió este post en los Foros de electrónica.

¿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áximo –Si, 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.

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

Este (mini)artículo no es mas que una actualización del artículo anterior: [HowTo] Sistema de vigilancia casero basado en Linux usando una webcam

videovigilancia .

En las pruebas que he ido haciendo hasta el momento, después de 15 días de funcionamiento sostenido:

~ # uptime
  
22:59:32 up 15 days,  7:47,  1 user,  load average: 0.31, 0.39, 0.36

Se porta como si recién hubiera arrancado:

~ # free -m
             total       used       free     shared    buffers     cached
Mem:           228        206         21          0         73         90
-/+ buffers/cache:         42        185
Swap:          517          2        515

Hoy cumple exactamente 31 días de grabación de corrido, en estos 31 días, como únicamente graba –y toma instantáneas– a 640×480 si detecta movimiento, me ha generado un total de 154579 archivos entre fotografías y videos, 7Gb de información:

~ # du -sh /home/dvr/video/
7.3G    /home/dvr/video/

Así que con un disco de 80Gb que tiene supera ampliamente mis estimaciones iniciales, tengo para grabar sin tener que borrar nada apróximadamente 10 meses de corrido, mejor que cualquier DVR comprada con disco de 320Gb.

Para ser gratis y casero, nada mal ¿Eh?