A Digital Age Deserves A Digital Leader

Driver Decoration implementation

Driver Decoration implementation

Postby ~Robrowe~ » Thu Jan 27, 2005 7:40 am

OK this is the major stumbling block for most at using the lastest release of x64 1289 RC1 It has gone public now and I am bound and determined that we are going to get the drivers to work. I am downloading a fresh copy from the CPP as I type this and want to start off with the very first .inf file we will need just to get it installed on a sata raid0 at the F6 prompt. Here is a sample of what a modified driver should look like according to a publication on MSDN whitepages to address the issue at hand. The first .inf is the original and the second one is the modified version. I am going to spend a great deal of time tomorrow attempting to get this to install. The white pages are much like Pauls soltek directions. Very vague and possibly misleading. I have eliminated what I know wont work at all and here is a file that should work and will let you all know tomorrow if it worked or not. If it does we can also publish some modified .inf files so drivers can be installed. This modification was made for multiple installation on 3 different VIA raid controllers all of which are inherant to 64 bit boards so if we can get this to work it will work for al VIA raid controllers under a 64 bit OS. Changes are denoted in red. This driver was extracted from the VIA 4 in 1 driver package for 64 bit :yesnod:


Original


; VIAMRAID.INF
; All rights reserved by VIA Technologies, Inc. 2003

[Version]
CatalogFile=viamraid.cat
signature="$CHICAGO$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%VIA%
DriverVer=06/02/2004, 5.2.3790.400

[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS
CopyRAID.NT = 12;

[ControlFlags]

[Manufacturer]
%VIA%=VIA

[VIA]
%PCI\VEN_1106&DEV_3249.DeviceDesc% = viamraid , PCI\VEN_1106&DEV_3249
%PCI\VEN_1106&DEV_3149.DeviceDesc% = viamraid , PCI\VEN_1106&DEV_3149
%PCI\VEN_1106&DEV_3164.DeviceDesc% = viamraid , PCI\VEN_1106&DEV_3164

[VIAMRAID.NT]
CopyFiles=CopyRAID.NT
Reboot

[VIAMRAID.NT.Services]
AddService = viamraid, 2, VIAMRAID_Service_Inst, Miniport_EventLog_Inst


[VIAMRAID_Service_Inst]
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\viamraid.sys
LoadOrderGroup = SCSI Miniport
AddReg = pnp_pci_addreg

[pnp_pci_addreg]
HKR, "Parameters\PnpInterface", "5", 0x00010001, 0x00000001

[Miniport_EventLog_Inst]
AddReg = Miniport_EventLog_AddReg

[Miniport_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,%11%%IOLOGMSGDLL%
HKR,,TypesSupported,%REG_DWORD%,7

[CopyRAID.NT]
viamraid.sys


[SourceDisksFiles]
viamraid.inf = 1
viamraid.sys = 1


[SourceDisksNames]
1 = %DISKNAME1%,,,,
2 = %DISKNAME2%,,,,

[strings]
VIA="VIA Technologies, Inc."
PCI\VEN_1106&DEV_3249.DeviceDesc="VIA VT6421 RAID Controller"
PCI\VEN_1106&DEV_3149.DeviceDesc="VIA SATA RAID Controller"
PCI\VEN_1106&DEV_3164.DeviceDesc="VIA VT6410 RAID Controller"

REG_EXPAND_SZ=0x00020000
REG_DWORD=0x00010001
IOLOGMSGDLL="\IoLogMsg.dll"
DISKNAME1="VIA RAID Driver Diskette"
DISKNAME2="Windows system"


Modified

; VIAMRAID.INF for AMDx86_64
; All rights reserved by VIA Technologies, Inc. 2003

[Version]
CatalogFile=viamraid.cat
signature="$CHICAGO$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%VIA,NTamd64%
DriverVer=06/02/2004, 5.2.3790.400

[DestinationDirs]
DefaultDestDir = 12 ; DIRID_DRIVERS
CopyRAID.NT = 12;

[ControlFlags]

[Manufacturer]
%VIA%=VIA,NTamd64

[VIA.NTamd64]
%PCI\VEN_1106&DEV_3249.DeviceDesc% = viamraid , PCI\VEN_1106&DEV_3249
%PCI\VEN_1106&DEV_3149.DeviceDesc% = viamraid , PCI\VEN_1106&DEV_3149
%PCI\VEN_1106&DEV_3164.DeviceDesc% = viamraid , PCI\VEN_1106&DEV_3164

[VIAMRAID.NT]
CopyFiles=CopyRAID.NT
Reboot

[VIAMRAID.NT.Services]
AddService = viamraid, 2, VIAMRAID_Service_Inst, Miniport_EventLog_Inst


[VIAMRAID_Service_Inst]
ServiceType = 1 ; SERVICE_KERNEL_DRIVER
StartType = 0 ; SERVICE_BOOT_START
ErrorControl = 1 ; SERVICE_ERROR_NORMAL
ServiceBinary = %12%\viamraid.sys
LoadOrderGroup = SCSI Miniport
AddReg = pnp_pci_addreg

[pnp_pci_addreg]
HKR, "Parameters\PnpInterface", "5", 0x00010001, 0x00000001

[Miniport_EventLog_Inst]
AddReg = Miniport_EventLog_AddReg

[Miniport_EventLog_AddReg]
HKR,,EventMessageFile,%REG_EXPAND_SZ%,%11%%IOLOGMSGDLL%
HKR,,TypesSupported,%REG_DWORD%,7

[CopyRAID.NT]
viamraid.sys


[SourceDisksFiles]
viamraid.inf = 1
viamraid.sys = 1


[SourceDisksNames]
1 = %DISKNAME1%,,,,
2 = %DISKNAME2%,,,,

[strings]
VIA="VIA Technologies, Inc."
PCI\VEN_1106&DEV_3249.DeviceDesc="VIA VT6421 RAID Controller"
PCI\VEN_1106&DEV_3149.DeviceDesc="VIA SATA RAID Controller"
PCI\VEN_1106&DEV_3164.DeviceDesc="VIA VT6410 RAID Controller"

REG_EXPAND_SZ=0x00020000
REG_DWORD=0x00010001
IOLOGMSGDLL="\IoLogMsg.dll"
DISKNAME1="VIA,NTamd64 RAID Driver Diskette"
DISKNAME2="Windows system"
Last edited by ~Robrowe~ on Sun Mar 20, 2005 9:09 pm, edited 2 times in total.
Image
PROfessional Member
User avatar
Posts: 2515
Joined: Sat Mar 27, 2004 8:22 pm

Postby phileysmiley » Thu Jan 27, 2005 7:58 am

I obtained this tonight:

RC1 Enforces INF Decorations, This can cause some issues note the F6 issue listed below.
From: Darrell Gorter, Microsoft <Darrellg@online.microsoft.com>
Sent: 1/26/2005 10:11:20 AM

Enforcement of X64 INF platform decorations in RC1:

Starting in RC1 of Server 2003 SP1, platform decorations are required for
all X64 Device INFs. This means that non-decorated X64 bit device drivers and some services that install via INF files will not install. The
[Manufacturer] section and [Models] section names must be decorated with ".ntamd64".

Please check the INFs of third party devices that you may need to install
to make sure they have been updated. If you upgrade to RC1 and devices or services fail to install, this will be one likely cause. Please file beta bugs against any X64 driver packages that do not install due to lack of decorations.

For more information on use of these decorations see the whitepaper at
http://www.microsoft.com/whdc/driver/in ... _reqs.mspx.

Using F6
Storage drivers that use undecorated INFs will initially load using F6 but
will generate bugcheck 7B when the system restarts for the last time after
GUI Mode setup. This is because the F6 mechanism does not use SetupAPI logic to load the storage drivers. To install such drivers, either get a newer version of the driver that uses 64-bit INF decorations, or decorate the INF manually as described below. It is not possible to recover from bugcheck 7B; instead, you must update the storage driver as described and restart the setup process.

Why are we enforcing decorations?
On current 64-bit builds of Server 2003 SP1, when a user attempts to
install a driver package with an undecorated INF file on the wrong
architecture, it will fail in an unintuitive way. This is especially a
problem on X64\AMD64 systems since many of these users do not distinguish between x86 and X64 drivers. By enforcing INF decorations, only drivers targeting X64 systems will be allowed to install. This will reduce support costs for our partners and improve the customer experience.

Example:
The following sample shows the same [Manufacturer] and [Models] sections with a TargetOSVersion decoration that specifies the x64-based platform, where "x64" refers to the 64-bit architecture used in AMD64 and Intel Extended Memory 64 Technology systems. The .ntamd64 decoration in the INF is used for all x64-based systems.

[Manufacturer]
%mycompany% = MyCompanyModels, NTamd64

[MyCompanyModels.NTamd64]
%MyDev% = mydevInstall, mydevHwid

INFs that do not have [Manufacturer] sections are not impacted by this
change.

How to work around INF decoration enforcement:

Method 1: To turn off the undecorated models check for AMD64, create the following non-zero number registry value:
HKLM\Software\Microsoft\Windows\CurrentVersion\Setup: REG_DWORD:
DisableDecoratedModelsRequirement
Set it to say 1, reboot, and then you will be able to install undecorated
INFs on amd64.

Method 2: You can manually add decorations to INFs using the information above or by referencing other decorated X64 driver infs. This will break the signature of a signed driver. In this case, the unsigned driver dialogue will appear, but the driver will install.

Thanks,
Darrell Gorter, Microsoft

http://communities.microsoft.com/newsgr ... t&slcid=us
Media Director
User avatar
Posts: 13745
Joined: Mon Jun 21, 2004 4:20 pm
Location: Delray Beach FL USA
Real Name: Larry Richman

Postby ~Robrowe~ » Thu Jan 27, 2005 8:09 am

Thats the source I used to get the info to make the modifications and have been at it since before christmas :shocked: . Now you can see how vague it is :yesnod:

Method 1 may work after it is installed but will not on the F6 prompt as you have to get to a running OS before you can disable anything in the registry :confused

compare this
[Manufacturer]
%mycompany% = MyCompanyModels, NTamd64

[MyCompanyModels.NTamd64]
%MyDev% = mydevInstall, mydevHwid

To what I had to do in the first post. :eek:
Image
PROfessional Member
User avatar
Posts: 2515
Joined: Sat Mar 27, 2004 8:22 pm

Postby phileysmiley » Thu Jan 27, 2005 8:17 am

Oh jeez. :confused Well, that is not encouraging. If anybody was going to get this, it would be you. Guess I'll stick with my 1218. :oops:
Media Director
User avatar
Posts: 13745
Joined: Mon Jun 21, 2004 4:20 pm
Location: Delray Beach FL USA
Real Name: Larry Richman

Postby shreader » Thu Jan 27, 2005 2:41 pm

phileysmiley wrote:Oh jeez. :confused Well, that is not encouraging. If anybody was going to get this, it would be you. Guess I'll stick with my 1218. :oops:



I dont want to break anything you have working now Larry or Rob but:

if this cannot be fixed could pull out one of those ~old~ ATA HDD's slap it in your box & install it on that?
Software Director
User avatar
Posts: 6601
Joined: Mon Aug 12, 2002 2:25 am
Location: Huntington Beach, CA

Postby ~Robrowe~ » Thu Jan 27, 2005 10:47 pm

OK Yeeee Haaaaaw!!!!!!! :peanutbutta :peanutbutta

It worked :cheers:

I also had to modify the 3Com3c940 .inf as well but the newest Creative Drivers and the newest ATI Drivers worked flawlessly. Its nice to see for a change that there are no flags in device manager :shocked: :shocked:

I am so happy I could just cry :cry:

I even have my bluetooth optical desktop working which in would not in any previous version. In 1218 it installed the passkeys enabled but as soon as I was finished installing bluetooth devices and hit the OK button they failed to operate and in Device Manager it had Bluetooth HID device with a flag. Not this time. ^*^

Every peice of hardware I have is working, there were a few strange things during installation but they were worked past. Ill do a write up on it later. :yesnod:
Last edited by ~Robrowe~ on Thu Jan 27, 2005 10:58 pm, edited 1 time in total.
Image
PROfessional Member
User avatar
Posts: 2515
Joined: Sat Mar 27, 2004 8:22 pm

Postby phileysmiley » Thu Jan 27, 2005 10:57 pm

^*^ ^*^ ^*^ Woohoo Rob!!!! :lol: :roleeyes Now that is a feeling I think I can imagine. :oops: Looking forward to your writeup! :notworthy
Media Director
User avatar
Posts: 13745
Joined: Mon Jun 21, 2004 4:20 pm
Location: Delray Beach FL USA
Real Name: Larry Richman

Postby ~Robrowe~ » Thu Jan 27, 2005 11:02 pm

Modification of 3com 3c940 onboard GB ethernet adaptor

It is a long .inf file but only the top part needs modified.

Here is the modification



[Version]
Signature = "$windows nt$"
Class = Net
ClassGUID = {4D36E972-E325-11CE-BFC1-08002BE10318}
Provider = %SysKonnect%
DriverVer=02/26/2003, 6.10.0.0

[Manufacturer]
%3COM% = 3COM,NTamd64

[ControlFlags]
ExcludeFromSelect = *

[3COM.NTamd64]
%3C940.DeviceDesc% = GeMonoLinkV2Copper.ndi, PCI\VEN_10B7&DEV_1700&SUBSYS_80EB1043
Image
PROfessional Member
User avatar
Posts: 2515
Joined: Sat Mar 27, 2004 8:22 pm

Postby Grav!ty » Wed Mar 30, 2005 10:03 am

I have been trying to find the decorations for Intel P4 EM64T - but only find those for the Intel Itanium which are quite different

Technical Support at Intel seem pretty efficient and they have acknowledged receipt of my enquiry

As soon as a meaningfull response is received I will post the answers :yesnod:
Image

"The great majority of mankind are satisfied with appearances, as though they were realities, and are often more influenced by the things that seem than by those that are." - Niccolo Machiavelli
PROfessional Member
User avatar
Posts: 15790
Joined: Tue Sep 14, 2004 5:22 am
Real Name: Graham

Postby ~Robrowe~ » Thu Mar 31, 2005 12:22 am

That would be nice to know info for those who are delving into the intel 64 bit.

Just for the heck of it I would try NTEM64T and several other variations like NTintel64.

I would have thought that they would have addressed this issue. I know this may sound ludacrist but seeing how this OS did eveolve around AMD's chip you might want to try the AMD NTamd64???

Ya never know unless you try

Waiting for an answer from intel can be like pulling teeth at times.
Image
PROfessional Member
User avatar
Posts: 2515
Joined: Sat Mar 27, 2004 8:22 pm

Next

Return to General Windows Support

Who is online

Users browsing this forum: Bing [Bot] and 4 guests