Reportando Bugs en Windows Vista: Hardware y drivers

Frecuentemente me encuentro con gente que lo único que sabe hacer es chillar y quejarse por que Windows Vista tiene problemas al no soportar un determinado hardware o no proveer los drivers necesarios. Pues bien esta es su oportunidad de ayudar a minimizar esta situación, ahora que puedo hablar ya que se ha abierto Windows Server 2008 Service Pack 2 and Windows Vista Service Pack 2 Beta Customer Preview Program (CPP). Uno de los objetivos del SP2, es soportar la mayor cantidad de dispositivos out-of-the-box en PCs de escritorio y portátiles, para ello Microsoft cuenta con los datos que proporcionados por el subsistema Windows Telemetry, el cual recolecta información sobre las fallas del sistema operativo y envía reportes detallados los cuales son utilizados para corregir los problemas que causan las pantallas azules de la muerte, crashes inesperados, etc.


La PC portátil promedio tiene instalados 120 drivers, de los cuales son de entre 30 a 40 empresas diferentes. Esto demuestra que el ecosistema de software de un sistema Windows es muy amplio ya que hay drivers y hardware de muchos OEM y partners. No es como en un sistema Mac OS X en donde sólo hay procesadores Intel Core 2 Duo y placas de video NVIDIA, NVIDIA, NVIDIA, 3 opciones, las 3 NVIDIA. Esta amplitud crea una complejidad mayor en la interacción entre el ecosistema de software de un sistema Windows en donde no siempre se puede asegurar o garantizar que funcione con el nivel de confiabilidad esperado, y menos si se trata de drivers que no cumplen con los requerimientos de Windows Logo Program for Hardware.


Ahora bien como Windows Vista ya tiene más de 2 años en el mercado es suficiente tiempo para disponer de un set de drivers maduros que aseguren la compatibilidad con la mayoría de los dispositivos actuales y dispositivos pre-Vista (léase XP). Pero esto sólo no alcanza, como no es posible cubrir todo el espectro de dispositivos, la idea es tratar de que los usuarios instalen SP2 y evalúen la capacidad para reconocer dispositivos que antes no eran reconocidos y si los dispositivos que antes eran reconocidos continúan funcionando. Desde Windows Vista a Windows Vista SP1, el sistema operativo mejoró evitando un 48% los crashes de sistema reportados por Windows Telemetry. El objetivo para SP2  es mejorar esta marca y asegurar un buen conjunto de drivers para instalar Windows Vista desde cero en y en hardware compatible con Windows XP. Además como Windows 7 asegura compatibilidad binaria con drivers de Windows Vista, de esta manera estamos cubiertos para la siguiente versión.


Suponiendo que se inscribieron en la CPP y que disponen de las últimas versiones de los drivers para los dispositivos que funcionan correctamente, les recomiendo ejecutar los siguientes casos de prueba:




  1. Instalar SP2 y asegurarse de que todos los dispositivos funcionan luego de una instalación exitosa del SP2.


  2. Desistalar SP2 y asegurarse que todos los dispositivos funcionan luego de una desinstalación exitosa del SP2


  3. Asegurarse de que no haya crashes u otros bloqueos durante la instalación o desinistalación del SP2.


  4. Asegurarse de que las configuraciones por defecto de los dispositivos son conservadas durante la instalación/desinistalación del SP2.


  5. Asegurarse de que las configuraciones personalizadas de los dispositivos no son activadas durante la instalación/desinistalación del SP2.

Si cualquiera de los casos de prueba presenta resultados inesperados como: crashes, pérdida de funcionalidad o un sistema inusable luego de actualizar a SP2, deben reportar el bug en Microsoft Connect valiéndose de la herramienta denominada Feedback Data Collector, la cual recolecta información genérica del entorno aunque no siempre precisa ni suficiente. En casos de no ser posible como ser que el sistema queda inusable o que sepan realmente de que se trata de un hardware en particular es necesario reportar los PNP Ids del hardware confictivo junto con la versión y el nombre del driver. De los items anteriores el más difícil de obtener son los PNP Ids, el resto de la información la recolectada por la herramienta Feedback Data Collector. Para obtener los PNP Ids es necesario ubicar el dispositivo en conflicto y examinar sus propiedades:



Luego dirigirse al Tab de Detalles y seleccionar Hardware Ids:



Los Hardware Ids enumerados son los PNP Ids necesarios para incluir en el reporte de bugs en Microsoft Connect.



Adicionalmente es necesario adjuntar en el reporte de bugs en Microsoft Connect los siguientes logs:


%WINDIR%WindowsUpdate.log
%WINDIR%Infsetupapi.dev.log
%WINDIR%Infsetupapi.app.log
%WINDIR%LogsCBSCBS.log
%WINDIR%LogsCBSCBS.persist.log
%WINDIR%Panthersetupact.log
%WINDIR%Panthersetuperr.log
%WINDIR%MEMORY.DMP (si existe)
%WINDIR%Minidump*.dmp
Dxdiag (el log se obtiene ejecutando la aplicación Dxdiag)
Msinfo32 (el log se obtiene ejecutando la aplicación Msinfo32)


Con esta introducción ya están preparados para instalar SP2 y ser más que el usuario común quejoso y mañoso, personalmente hace 3 meses que lo vengo utilizando en mi PC de escitorio y no he tenido problema alguno con el hardware existente. 


Espero haber proporcionado claridad en torno al tema de la compatibilidad y el soporte, el cual genera guerras religiosas entre sistemas operativos. Quiero que se comprenda que aunque es imposible tener un ecosistema de software que soporte todos los dispositivos posibles con altos niveles de confiabilidad, si es posible crear un ecosistema que soporte un set de dispositivos mainstream o populares en forma confiable, el resto corre por cuenta de los fabricantes de hardware y su compromiso por desarrollar drivers.


Fernik