Como programadores normalmente somos también usuarios avanzados del sistema operativo, por lo que casi seguro que más de una vez has tenido que pelearte con los drivers de algún dispositivo para que funcione como es debido. Y si lo has hecho, también has entrado con toda seguridad en el "Administrador de dispositivos" del sistema, para consultar información sobre los drivers.
Lo que ya no es tan probable es que te hayas fijado en un detalle curioso y bastante mosqueante: todos los drivers que crea Microsoft, incluso los más nuevos, llevan asignada la fecha del 26 de junio de 2006. Incluso en Windows 10 y para dispositivos modernos:
Es más, incluso aunque Microsoft lance una actualización a través de Windows Update y se le suba el número de versión, la fecha de creación del driver seguirá marcando el 26 de Junio de 2006.
WTF? ¿Qué está pasando aquí?
Lo que ocurre es que, al igual que en cualquier otra empresa, a veces las soluciones más rupestres nos ayudan a solucionar un problema, y la mayor de las "ñapas" se puede dar también en un gigante como Microsoft.
Hace unos días un programador de Microsoft reveló en Reddit el secreto detrás de esa fecha:
"Cuando PNP [plug and play] clasifica los controladores, primero mira el ID de hardware que coincide con el controlador. Si dos controladores coinciden con hardware idéntico, el primer desempate es la fecha del controlador. Así que si tuvieras un dispositivo que podría utilizar un controlador de los de Microsoft, pero hubieras instalado algún controlador propio del fabricante en su dispositivo (y quizá más optimizado aún no siendo el soportado por Microsoft), cada vez que MS actualizase su controlador oficial sobrescribiría el controlador personalizado, porque la fecha sería más reciente que la de éste. ¿Cómo evitamos esto? Cada controlador que enviamos tiene la fecha de la RTM de Windows Vista (😱), independientemente de cuándo haya sido su última actualización (se actualiza el número de versión, que es el siguiente desempate si la fecha es la misma). Dado que sólo los controladores desde Vista son compatibles con las nuevas versiones de Windows, cada controlador debe tener una fecha más reciente que el RTM de Vista, preservando el controlador que hayas instalado como controlador de mayor rango."
Así que, si intentas buscar un driver oficial que sea posterior al de tu fabricante y probablemente que funcione mejor, no te llega con ir a Windows Update a buscarlo, puesto que Windows siempre identificará el tuyo como un controlador más moderno. Lo que debes hacer es desinstalar el controlador actual y luego ir a Windows update a buscar el más reciente oficial de Microsoft.
Desde luego se trata de una "ñapa" digna de la más infame "cárnica" del sector. Pero es un apaño que funciona, y que lleva funcionando más de 10 años. Eso sí, conviene conocerlo para evitar que nos ocurran cosas raras cuando queramos actualizarnos a un controlador oficial.
Hace poco, casi dos meses después del post de Reddit, Microsoft lo explicó con más detalle en su blog oficial.
Interesante...