[Articulo] Abril 2005 - Drivers en XP de 64 bits - problemas, modificacion de los .INF y expectativas.

09/04/2005 - 20:17 por JM Tella Llop [MVP Windows] | Informe spam
MODIFICACIONES EN LOS .INF en sistemas de 64 bits
-

Recordemos primeramente que los drivers para arquitecturas de 64 bits, deben
ser reescritos por los fabricantes al objeto de soportar la nueva
arquitectura. Ningun driver de 32 bits funcionará. Debido a esto, Microsoft
decidió cambiar los .INF para indicarle claramente al instalador de windows
que es un driver válido (o que al menos, el fabricante, lo identifica ya
explicitamente 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://www.microsoft.com/whdc/drive..._reqs.mspx

Basicamente, consiste en una modificacion de la seccion [Manufacturer] de
los INF. Una seccion clasica dentro de los INF es:


[Manufacturer]
%mycompany% = loquesea

[loquesea]
%MyDev% = mydevInstall,mydevHwid


La modificacion 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 (seccion para X86)

[loquesea.NTAmd64]
%MyDev% = mydevInstall,mydevHwid (seccion 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 instalacion.

Curiosamente, en la actualidad, el propio AMD, a pesar que en sus paginas lo
advierte:
http://www.amd.com/us-en/Processors...ir=IEGFC07
pèca é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 pagina de descarga para sus propios chipset de la
serie 8000:
http://www.amd.com/us-en/Processors...34,00.html
(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 viejisimos procesadores de hace unos años de 32 bits)

Existen igualmente otros fabricantes, como Promise www.promise.com (en la
serie S150), o bien 3ware www.3ware.com (en la serie 8500) que a pesar de
tener drivers de 63 bits que funcionan, para su instalacion 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 dis carpetas de
"Program Files" o "Archivos de Programa": una "normal" y otra que el sufijo
(x86) destinadas cada una de ellas a contener programas de 64 bits o bien de
32 bits en funcion 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 estan los drivers que no
han sido capaces de instalarse. Es triste que esto suceda con el ultimo
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 debian modificarse de
acuerdo a la prescripcion de Microsoft. El .INF de instalacion 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/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 seccion [Manufacturer] y la seccion
[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/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, unicamente
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, anuncaba hace un año a bomobo y platillo, aquellos fabricantes que
estaban dispuestos a sacar drivers para los sistemas, o bien que ya tenian
drivers beta.
http://www.amd.com/us-en/Processors...ir=IEGFC07

Si en la actualidad, un año mas tarde, revisamos los enlaces y los anuncios
de dicha pagina, vemos que no se han cumplido sus expectativas. En la
actualidad, la pagina de la red mas actualizada de drivers para 64 bits
unicamente contiene media docena de drivers beta de todos los fabricantes:
http://www.extended64.com/Home.x64

Recordemos igualmente que Microsoft unicamente da soporte completo a la
plataforma Intel en la instalacion 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 que Microsoft nos tenia
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)
Windos de 64 bits para las tarjetas de red 3Com, ni tan siquiera para muchas
Intel (a nos ser los ultimos 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 ultimo 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 problematico incluso el simple uso de
una impresora. Al no existir drivers para ellas, ni tan siquiera nos
funcionarán las impresoras que esten en red. (ya que estas son incapaces de
suministrar un inexistente driver al cliente).


NOTA: Articulo realizado en Abril del 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 distribucion, 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 tecnologia.



Jose Manuel Tella Llop
MVP - Windows
jmtella@XXXcompuserve.com (quitar XXX)
http://www.multingles.net/jmt.htm

Este mensaje se proporciona "como está" sin garantías de ninguna clase,
y no otorga ningún derecho.

This posting is provided "AS IS" with no warranties, and confers no
rights.
You assume all risk for your use.
 

Leer las respuestas

#1 Santiago José López Borrazás
09/04/2005 - 20:27 | Informe spam
Hash: SHA1

Fecha: Sat, 9 Apr 2005 20:17:04 +0200
Quién: JM Tella Llop [MVP Windows]
Asunto: [Articulo] Abril 2005 - Drivers en XP de 64 bits - problemas, modificacion de los .INF y expectativas.
Message-ID: <#

Buén artículo...sí señor... :-))))

Slds...
http://www.cerbermail.com/?klkLyIEpdt

Preguntas similares