Soporte a USB en Windows XP



Debido a la multitud de mensajes que se esperan sobre este tema, he decidio prepara este pequeño artículo, con las experiencias aportadas de la fase beta de Windows XP y verificadas igualmente en la versión final (2600).

Las experiencias que aporto, han sido todas verificadas en máquinas con placas duales. Pero debido a que el chipset de la placa madre, es idéntico a las placas con un solo procesador, el problema es extensivo a estas últimas.


En general, nos vamos a encontrar con varios tipos de problemas y ambos ceñidos por el mismo denominador común en el tratamiento del USB.


1.) USB reconocido, pero ningun dispositivo USB funciona
-----------------------------------------------------------------------------


Aparentemente en este caso, el dispositivo USB de la placa madre es reconocido sin problemas, pero cualquier dispositivo que cuelgue de él no se reconoce y aparece en el Administrador de Dispositivos como 'unknow device'.

Este caso, lo he encontrado en placas madre GigaByte con chipset VIA. Igualmente en placas madre Tyan con el mismo chipset (VIA Apollo Pro 133A)


2.) USB Reconocido. Algunos dispositivos no funcionan
--------------------------------------------------------------------------


Al igual que en punto 1), el dispositivo USB de la placa madre es reconocido y no aparece marcado como problemático. Algunos dispositivos no funcionan ni con los drivers que trae el propio XP para ellos. Otros, aunque funcionan, sí están conectados durante el arranque de XP, retrasan dicho arranque incluso en varios minutos.

Este caso lo he encontrado en placas madre GigaByte, Abit y Asus con el mismo chipset VIA que en el punto 1), Igualmente lo he encontrado en placas madre Supermicro con chipset Intel 840.


3.) No es posible instalar Windows XP si existen dispositivos USB conectados
--------------------------------------------------------------------------------------------------------


En ciertas placas madre, al instalar XP, si existen dispositivos USB conectados, es imposible su instalación. O bien "se cuelga" en el primer 'boot', o en el reconocimiento de hardware, o bien esta fase de reconocimiento de hardware no finaliza y dura horas. Si instalamos XP sin tener conectado ningún dispositivo USB la instalación finaliza rápida y correctamente. Si a continuación pinchamos los dispositivos USB o bien estamos en el caso 1), o en el 2), o bien los dispositivos son correctamente reconocidos y a partir de ese momento, ya podemos iniciar Windows XP aunque los dispositivos estén conectados.

Este problema lo he encontrado también en placas con chipset VIA y en alguna con Intel.


===================================================================

Este problema ha sido reconocido por Microsoft, y su explicación (no escrita hasta el momento, y únicamente confirmada vía telefónica), es que las bios de ciertas placas madre no manejan correctamente las señales de 'reset' del bus segun las especificaciones UHCI ('white pappers' en donde están definidas todas las especificaciones que deben cumplir estos dispositivos).

En los pasados W98, ME y W2000, Microsoft pudo paliar esta situación, codificando en sus drivers de manejo de dispositivos USB, las líneas de código necesarias para resolver dicha anomalía (solventable en un 90% de los casos a través de una correcta implementación de la BIOS de la placa madre).

En la actualidad, Microsoft se dispone a dar soporte a la norma USB 2.0 (la cual pasa de velocidad 12 Mb/s -Megabits por segundo-m en la norma actual 1.1 del USB a 480 Mb/s en la norma 2.0). 

Para poder dar soporte correctamente a dicha norma, es necesario eliminar las líneas de código que permitían funcionar a dispositivos inválidos en versiones anteriores de Windows. Microsoft por tanto, decidió eliminar las líneas de código que permitían operar con dispositivos USB incorrectamente implementados y dejar la correcta implementación en manos de los fabricantes (y responsables) de dicho hardware.

==================================================================

He intentado transcribir, de la manera más aséptica posible, las decenas de conversaciones que he mantenido durante casi un año con estos temas en Microsoft. Aunque, como usuario -corto de miras-, no estoy de acuerdo en esta política (debido a que me impacta...), como programador e incluso como usuario exigente, debo estar totalmente de acuerdo con ello. 

El futuro es el USB 2.0, y las implementaciones erróneas del USB hasta el momento, son culpa de los fabricantes de placas madre. Por tanto, es a ellos a quien debemos exigirles que cumplan los requerimientos de un producto puesto en el mercado. 


*** Efectivamente, he podido comprobar que los problemas con algunas de las placas madre (Asus CUV4X-DLS) han sido solucionados con actualizaciones de la bios por parte del fabricante, por lo que en principio no tengo nada que achacar a la política de Microsoft en este sentido. Y al resto de fabricantes en los cuales he visto los mismos problemas, lo que hago es comunicárselo vía mail. En ningún caso, hasta el momento, han traslado el problema a Microsoft. Es decir, reconocen, implícitamente, que el problema es suyo y que procederán a actualizar sus placas madre (esta respuesta es de doble sentido: ¿placas madre? ¿o bios?... entiendo que a ellos, por desgracia, les interesa la venta y no el mantenimiento de placas anteriores, ya que incluso alguno me ha respondido que su placa estaba certificada para W9X y W2000 y que como la certificación no era para XP, no van a tomar ninguna acción).

===================================================================

En otro orden de cosas, uno de los dispositivos más problemáticos USB que he encontrado son los modem. Más de la mitad de los módems USB del mercado, están montados con los chips 'conexant' y con sus drivers (independientemente de qué fabricante los comercialice).

Para dichos módems, Windows XP, desactiva los drivers y envía un mensaje diciendo que consigamos drivers actualizados y nos da la dirección del fabricante del chip: www.conexant.com. Por desgracia, no existen drivers actualizados hasta el momento, y particularmente, tengo mis dudas de que los realicen, ya que, bajo el punto de vista comercial de estos fabricantes, les sale más rentable sacar nuevos módems al mercado y que se renueve el parque.

 

José Manuel Tella Llop
jmtella@compuserve.com