The osrusbfx2.inx has a bug that caused me some trouble while trying to
get the driver to run under Windows 2000 since this file is used as the
source file to generate the osrusbfx2.inf file. This file has the
following lines:
; ================= Device section =====================
[Manufacturer]
%MfgName%=Microsoft,NT$ARCH$
The problem is the , character between Microsoft and NT$ARCH$. This
should be a . character.
Under Windows XP the , character didn’t cause any problems but when used
on Windows 2000 the drive will not install and you will get a 0xe0000228
error (There are no compatible drives for this device.)
Since this only fails on Windows 2000 I’m not sure if it will be fixed
but I wanted others to be aware of it to save them the hastle of trying
to fix this problem.
Whitman, Steve wrote:
The osrusbfx2.inx has a bug that caused me some trouble while trying to
get the driver to run under Windows 2000 since this file is used as the
source file to generate the osrusbfx2.inf file. This file has the
following lines:
; ================= Device section =====================
[Manufacturer]
%MfgName%=Microsoft,NT$ARCH$
The problem is the , character between Microsoft and NT$ARCH$. This
should be a . character.
No, actually, it shouldn’t. It needs to be a comma. Windows 2000 and
before stop parsing the statement at the comma, so the look for a
section called [Microsoft]. Windows XP and beyond understand the comma,
and combine the two strings to look for a section called
[Microsoft.NTx86].
Under Windows XP the , character didn’t cause any problems but when used
on Windows 2000 the drive will not install and you will get a 0xe0000228
error (There are no compatible drives for this device.)
Did you update both device sections? That is, [Microsoft] and
[Microsoft.NT$ARCH$]? (And, of course, you should change the
“Microsoft” to something that actually reflects your own company.)
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
The sample INF file has the %MfgName%=Microsoft,NT$ARCH$ string in the
[Manufacturer] section and has a section called [Microsoft.NT$ARCH$]
later in the file.
When using this sample INF on XP everything works correctly but under
Windows 2000 because the , character is used the OS cannot find the
[Microsoft.NT$ARCH$] section.
Changing the , to a . results in the INF file working for both Windows
2000 and Windows XP.
-----Original Message-----
Whitman, Steve wrote:
>The osrusbfx2.inx has a bug that caused me some trouble while trying
to
>get the driver to run under Windows 2000 since this file is used as
the
>source file to generate the osrusbfx2.inf file. This file has the
>following lines:
> ; ================= Device section =====================
>
> [Manufacturer]
> %MfgName%=Microsoft,NT$ARCH$
>The problem is the , character between Microsoft and NT$ARCH$. This
>should be a . character.
>
>
No, actually, it shouldn’t. It needs to be a comma. Windows 2000 and
before stop parsing the statement at the comma, so the look for a
section called [Microsoft]. Windows XP and beyond understand the
comma,
and combine the two strings to look for a section called
[Microsoft.NTx86].
>Under Windows XP the , character didn’t cause any problems but when
used
>on Windows 2000 the drive will not install and you will get a
0xe0000228
>error (There are no compatible drives for this device.)
>
>
Did you update both device sections? That is, [Microsoft] and
[Microsoft.NT$ARCH$]? (And, of course, you should change the
“Microsoft” to something that actually reflects your own company.)
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Whitman, Steve wrote:
The sample INF file has the %MfgName%=Microsoft,NT$ARCH$ string in the
[Manufacturer] section and has a section called [Microsoft.NT$ARCH$]
later in the file.
It also has a section called [Microsoft]. That’s the section that is
intended for use with Windows 2000.
When using this sample INF on XP everything works correctly but under
Windows 2000 because the , character is used the OS cannot find the
[Microsoft.NT$ARCH$] section.
Changing the , to a . results in the INF file working for both Windows
2000 and Windows XP.
That’s an accident, and works only because the [Microsoft] and
[Microsoft.NT$ARCH$] sections happen to be identical. The correct
character is the comma. Really and truly.
Are you using KMDF 1.1? The original release of KMDF did not support
Windows 2000. It’s possible that the sample simply did not include the
[Microsoft] section, so that it intentionally did not work on Win2K, but
I no longer have the 1.0 drop.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
I just updated to KMDF 1.1 but the inf file I was using was from the 1.0
version and that version did not have the [Microsoft] section.
I noticed that the contents of the two sections (Win2K and XP) are
identical. So is it strictly necessary to have the two sections or
would the one section enough. I plan to add the two sections but I’m
curious if it is really necessary.
Thanks for your help,
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-257941-
xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Tuesday, August 01, 2006 1:12 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] osrusbfx2.inx sample problem
Whitman, Steve wrote:
>The sample INF file has the %MfgName%=Microsoft,NT$ARCH$ string in
the
>[Manufacturer] section and has a section called [Microsoft.NT$ARCH$]
>later in the file.
>
>
It also has a section called [Microsoft]. That’s the section that is
intended for use with Windows 2000.
>When using this sample INF on XP everything works correctly but under
>Windows 2000 because the , character is used the OS cannot find the
>[Microsoft.NT$ARCH$] section.
>
>Changing the , to a . results in the INF file working for both
Windows
>2000 and Windows XP.
>
>
That’s an accident, and works only because the [Microsoft] and
[Microsoft.NT$ARCH$] sections happen to be identical. The correct
character is the comma. Really and truly.
Are you using KMDF 1.1? The original release of KMDF did not support
Windows 2000. It’s possible that the sample simply did not include
the
[Microsoft] section, so that it intentionally did not work on Win2K,
but
I no longer have the 1.0 drop.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
–
BEGIN-ANTISPAM-VOTING-LINKS
END-ANTISPAM-VOTING-LINKS
Whitman, Steve wrote:
I just updated to KMDF 1.1 but the inf file I was using was from the 1.0
version and that version did not have the [Microsoft] section.
I noticed that the contents of the two sections (Win2K and XP) are
identical. So is it strictly necessary to have the two sections or
would the one section enough. I plan to add the two sections but I’m
curious if it is really necessary.
“Strictly necessary”? For this example, no, you’ve already demonstrated
that. However, it is not hard to come up with scenarios in which you
need slightly different processing for W2K and WXP.
Also, remember that Windws 2000 supports only the x86 processor. The
whole $ARCH$ macro substitution mechanism is intended to allow separate
sections for x86, amd64, and ia64.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
I realize that the Win2K only supports x86. Also while using the dot
worked in my case I was concerned that it wouldn’t work in all
situations and some subtle issue would cause a failure.
Again thanks for you help,
-----Original Message-----
From: xxxxx@lists.osr.com [mailto:bounce-257968-
xxxxx@lists.osr.com] On Behalf Of Tim Roberts
Sent: Tuesday, August 01, 2006 5:54 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] osrusbfx2.inx sample problem
Whitman, Steve wrote:
>I just updated to KMDF 1.1 but the inf file I was using was from the
1.0
>version and that version did not have the [Microsoft] section.
>
>I noticed that the contents of the two sections (Win2K and XP) are
>identical. So is it strictly necessary to have the two sections or
>would the one section enough. I plan to add the two sections but I’m
>curious if it is really necessary.
>
>
“Strictly necessary”? For this example, no, you’ve already
demonstrated
that. However, it is not hard to come up with scenarios in which you
need slightly different processing for W2K and WXP.
Also, remember that Windws 2000 supports only the x86 processor. The
whole $ARCH$ macro substitution mechanism is intended to allow
separate
sections for x86, amd64, and ia64.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer
–
BEGIN-ANTISPAM-VOTING-LINKS
END-ANTISPAM-VOTING-LINKS