Drivers en XP de 64 bits
problemas, modificaciÓn de los .INF y expectativas
Recordemos primeramente que los drivers para arquitecturas de 64 bits, deben ser reescritos por los fabricantes al objeto de soportar la nueva arquitectura. Ningún driver de 32 bits funcionará.
Debido a esto, Microsoft decidió cambiar los .INF para indicarle claramente al instalador de Windows que se trata de un driver válido (o que al menos, el fabricante, lo identifica ya explícitamente de 64 bits) ya que el intento de carga de un driver de 32 bits nos sacará inevitablemente un pantallazo azul, y si es un driver que se carga con el sistema, el sistema ya no nos volverá a arrancar.Desde la beta 1 de Windows XP para 64 bits o bien W2003 para 64 bits, Microsoft cambió las especificaciones de los .INF de acuerdo con el articulo: http://msdn.microsoft.com/en-us/windows/hardware/gg454518.aspx
Básicamente, consiste en una modificación de la sección [Manufacturer] de los INF. Una sección clásica dentro de los INF es:
[Manufacturer]
%mycompany% = loquesea[loquesea]
%MyDev% = mydevInstall,mydevHwid
La modificación impuesta por Microsoft, es que si el driver es para AMD64, debe ponerse:
[Manufacturer]
%mycompany% = loquesea, NTamd64[loquesea.NTamd64]
%MyDev% = mydevInstall,mydevHwid
o bien, si es para una arquitectura X86 de Intel, sería:
[Manufacturer]
%mycompany% = loquesea, NTX86[loquesea.NTX86]
%MyDev% = mydevInstall,mydevHwid
Pueden mezclarse en .INF para multiplataformas, quedando:
[Manufacturer]
%mycompany% = loquesea, NTX86, NTAmd64[loquesea.NTX86]
%MyDev% = mydevInstall,mydevHwid (sección para X86)[loquesea.NTAmd64]
%MyDev% = mydevInstall,mydevHwid (sección para AMD64)------------------------------------------------------------
A pesar de ello, en estos momentos hay muchos fabricantes que han realizado drivers para 64 y que tiene mal los .INF por lo que deberemos modificarlos para su correcta instalación.
Curiosamente, en la actualidad, el propio AMD, a pesar que en sus páginas lo advierte, peca él mismo de su falta en sus propios drivers (impresionante que un fabricante de ese talante cometa dichos fallos). En particular, lo comente con los drivers de su página de descarga para sus propios chipset de la serie 8000:
http://support.amd.com/US/Pages/AMDSupportHub.aspx
(si no se instala modificando el .INF, todos los accesos a disco se harán en modo PIO en vez de UDMA 5 o 6, es decir, el disco y en general el sistema, irá peor que con los viejísimos procesadores de hace unos años de 32 bits)Existen igualmente otros fabricantes, como Promise www.promise.com (en la serie S150), o bien www.3ware.com (en la serie 8500) que a pesar de tener drivers de 63 bits que funcionan, para su instalación es necesario tocar los .INF o no se instalará.
-------------------------------------------------------------
En particular, y en el caso del propio AMD, al ejecutar su instalador intenta montar los drivers, pero al estar mal construido el INF, no se instala. Al menos, deja el driver desempaquetado en la nueva carpeta de la arquitectura x86, llamada "Program Files(x86)" (existen dos carpetas de "Program Files" o "Archivos de Programa": una "normal" y otra con el sufijo (x86) destinadas cada una de ellas a contener programas de 64 bits o bien de 32 bits, en función del tipo de instalador que lo monte).
Dentro de "Program Files(x86)" en este caso, no encontramos una carpeta llamada AMD que contiene otra llamada EIDE en donde están los drivers que no han sido capaces de instalarse. Es triste que esto suceda con el último instalador de AMD de febrero de este año, lo cual choca con el propio comentario de AMD de hace un año en que los .INF debían modificarse de acuerdo a la prescripción de Microsoft.
El .INF de instalación de AMD es:; AMDIDE64.INF
; Copyright 2003, AMD Corporation
; Version 8.2.2.2
; INF supports 64-bit driver versions[version]
Signature="$WINDOWS NT$"
Class=hdc
ClassGuid={4D36E96A-E325-11CE-BFC1-08002BE10318}
Provider=%AMD%
CatalogFile = amdeide.cat
DriverVer=07/01/2003,8.2.2.2[SourceDisksNames]
1 = %Disk1Desc%[SourceDisksFiles]
AmdIde64.sys = 1
AmdBus64.sys = 1
AmdCo64.dll = 1[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS
CopyAmdCoInstaller64 = 11; \System32[ControlFlags]
ExcludeFromSelect=*PNP0600.PriDeviceDesc
ExcludeFromSelect=*PNP0600.SecDeviceDesc[Manufacturer]
%AMD%=AMD_HDC[AMD_HDC]
%PCI\VEN_1022&DEV_7469.DeviceDesc%=amdbusdr_Inst, PCI\VEN_1022&DEV_7469 ; AMD
%*PNP0600.PriDeviceDesc% = Amd_Inst_primary, AMD_Primary_IDE_Channel ; Primary Channel
%*PNP0600.SecDeviceDesc% = Amd_Inst_secondary, AMD_Secondary_IDE_Channel ; Secondary Channel;
; Bus Driver 64
;[amdbusdr_Inst.NTAmd64]
CopyFiles = CopyAmdFiles.NTAmd64[amdbusdr_Inst.NTAmd64.Services]
AddService = amdbusdr, 0x00000002, amdbusdr_Service_Inst64
.............Para que funcione, debemos modificar la sección [Manufacturer] y la sección [AMD-HDC] para que queden:
; AMDIDE64.INF
; Copyright 2003, AMD Corporation
; Version 8.2.2.2
; INF supports 64-bit driver versions[version]
Signature="$WINDOWS NT$"
Class=hdc
ClassGuid={4D36E96A-E325-11CE-BFC1-08002BE10318}
Provider=%AMD%
CatalogFile = amdeide.cat
DriverVer=07/01/2003,8.2.2.2[SourceDisksNames]
1 = %Disk1Desc%[SourceDisksFiles]
AmdIde64.sys = 1
AmdBus64.sys = 1
AmdCo64.dll = 1[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS
CopyAmdCoInstaller64 = 11; \System32[ControlFlags]
ExcludeFromSelect=*PNP0600.PriDeviceDesc
ExcludeFromSelect=*PNP0600.SecDeviceDesc[Manufacturer]
%AMD%=AMD_HDC, NTamd64[AMD_HDC.NTamd64]
%PCI\VEN_1022&DEV_7469.DeviceDesc%=amdbusdr_Inst, PCI\VEN_1022&DEV_7469 ; AMD
%*PNP0600.PriDeviceDesc% = Amd_Inst_primary, AMD_Primary_IDE_Channel ; Primary Channel
%*PNP0600.SecDeviceDesc% = Amd_Inst_secondary, AMD_Secondary_IDE_Channel ; Secondary Channel;
; Bus Driver 64
;[amdbusdr_Inst.NTAmd64]
CopyFiles = CopyAmdFiles.NTAmd64[amdbusdr_Inst.NTAmd64.Services]
AddService = amdbusdr, 0x00000002, amdbusdr_Service_Inst64
...........----------------------------------------------------------------
Esto indica que las pruebas realizadas por los fabricantes son nulas, o se restringen a la antigua beta 1 de hace un año. Es triste que a estas alturas, (abril 2005) y una vez que han salido estos sistemas, únicamente existan en el mercado menos de una docena de drivers (todos beta, excepto los de Intel -que incluso son certificados-) para los sistemas de 64 bits.
AMD anunciaba hace un año a bombo y platillo, aquellos fabricantes que estaban dispuestos a sacar drivers para los sistemas, o bien que ya tenían drivers beta.
http://developer.amd.com/download/pages/default.aspxSi en la actualidad, un año mas tarde, revisamos los enlaces y los anuncios de dicha página, vemos que no se han cumplido sus expectativas. En la actualidad, la página de la red más actualizada de drivers para 64 bits, únicamente contiene media docena de drivers beta de todos los fabricantes.
Recordemos igualmente que Microsoft únicamente da soporte completo a la plataforma Intel en la instalación de XP o W2003 para 64 bits y, por tanto, con chipset de placas madre que no sean Intel tendremos problemas serios. Igualmente, el soporte al resto de dispositivos al que Microsoft nos tenía acostumbrados en los Windows normales de 32 bits, está bastante restringido en la plataforma de 64 bits. Por ejemplo, no se da soporte (no trae drivers) Windows de 64 bits para las tarjetas de red 3Com, ni tan siquiera para muchas Intel (a nos ser los últimos modelos de 1 Giga-LAN). Por otra parte, por desgracia, muchos de estos fabricantes tampoco dan ya soporte a sus propias tarjetas o dispositivos.
Esto último nos obliga a meditar: si queremos pasarnos a 64 bits, deberemos pensar en usar hardware nuevo para todo y no reutilizar nada de nuestro hardware anterior. Es particularmente problemático incluso el simple uso de una impresora. Al no existir drivers para ellas, ni tan siquiera nos funcionarán las impresoras que estén en red (ya que estas son incapaces de suministrar un inexistente driver al cliente).
NOTA: Artículo realizado en Abril de 2005. Mis expectativas personales en este sentido, son un poco "negras" a corto plazo. O bien Microsoft empieza a presionar a los OEM para su distribución, y por tanto estos arrastrarán al mercado, o nos tendremos que esperar de 3 a 5 años (es decir, al menos al siguiente Windows) para que empiece a entrar poco a poco esta tecnología.
--
|
09 - abril - 2005