Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
JosefReisinger

w2k selfsign drivers

Recommended Posts

I want to have w2k recognize usb.inf from xp32 as signed.

I used Inf2cat from wdk 7600.16385 in windows xp32 to create usb.cat. No usb.cat, but message:

C:\WinDDK\7600.16385.1\bin\selfsign>Inf2cat /driver:C:\Test /os:2000
..........................
Signability test failed.

Errors:
22.9.11: usbccgp.sys=2,,32384,,,,2_,4,1,3 in [sourcedisksfiles] is missing corre
sponding entry in [sourceDisksNames] in \usb.inf.
B2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sections
in the PnP Device ID string. Third-party USB function drivers must not install t
hrough a compatible ID match. The following formats are not acceptable: USB\Clas
s_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kk
B2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sections
in the PnP Device ID string. Third-party USB function drivers must not install t
hrough a compatible ID match. The following formats are not acceptable: USB\Clas
s_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kk

Warnings:
22.9.8: Possible Windows 2000 file redistribution violation (\usbd.sys --> usbd.
sys). File not copied by installation inf so this is a warning only.
22.9.8: Possible Windows 2000 file redistribution violation (\usbhub.sys --> usb
hub.sys). File not copied by installation inf so this is a warning only.
22.9.10: usbhub.sys in [hub.copyfiles.nt] is missing from [sourceDisksFiles] sec
tion in \usb.inf; ok if file source is provided via LayoutFile in [Version].


I found blackwingcats comment about an XP update causing errors similar than mine in his blog. How can I overcome this?

Should I use older version of wdk? Where can I find good tutorials for self sign drivers?

Greetings Joe

Share this post


Link to post
Share on other sites

Hi.

 

http://blog.livedoor.jp/blackwingcat/archives/1918911.html

I did same trial last month.

 

Someone said on comment "You can create cat file with using Self-Sign function in WDK".

I have not done it yet.

 

 

I want to have w2k recognize usb.inf from xp32 as signed.

I used Inf2cat from wdk 7600.16385 in windows xp32 to create usb.cat. No usb.cat, but message:

C:\WinDDK\7600.16385.1\bin\selfsign>Inf2cat /driver:C:\Test /os:2000
..........................
Signability test failed.

Errors:
22.9.11: usbccgp.sys=2,,32384,,,,2_,4,1,3 in [sourcedisksfiles] is missing corre
sponding entry in [sourceDisksNames] in \usb.inf.
B2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sections
in the PnP Device ID string. Third-party USB function drivers must not install t
hrough a compatible ID match. The following formats are not acceptable: USB\Clas
s_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kk
B2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sections
in the PnP Device ID string. Third-party USB function drivers must not install t
hrough a compatible ID match. The following formats are not acceptable: USB\Clas
s_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kk

Warnings:
22.9.8: Possible Windows 2000 file redistribution violation (\usbd.sys --> usbd.
sys). File not copied by installation inf so this is a warning only.
22.9.8: Possible Windows 2000 file redistribution violation (\usbhub.sys --> usb
hub.sys). File not copied by installation inf so this is a warning only.
22.9.10: usbhub.sys in [hub.copyfiles.nt] is missing from [sourceDisksFiles] sec
tion in \usb.inf; ok if file source is provided via LayoutFile in [Version].


I found blackwingcats comment about an XP update causing errors similar than mine in his blog. How can I overcome this?

Should I use older version of wdk? Where can I find good tutorials for self sign drivers?

Greetings Joe

Share this post


Link to post
Share on other sites

@josef

What specific file (.inf) are you trying to selfsign?

If we temporarily assume that the errors make sense and are truthful, the last three seem like "only warnings", the first ones are instead errors, I quickly checked a usb.inf I have (an dXP one), it is likely that part of the issue is related to:

; =================== Generic HUB ==================================
[GenericHub.Section]
%USB\CLASS_09&SUBCLASS_01.DeviceDesc%=StandardHub.Dev,USB\CLASS_09&SUBCLASS_01
%USB\CLASS_09.DeviceDesc%=StandardHub.Dev,USB\CLASS_09

 

but at least in this usb.inf there is no [sourcedisksfiles] section, nor a "usbccgp.sys=2,,32384,,,,2_,4,1,3" value, where is it gathered from?

Layout.inf? :unsure:

 

Reading between the lines :dubbio:, it seems like the inf2cat tool is made for "self-standing" (and "third party") .inf's, whilst the usb.inf is part of the "integrated" Windows setup.

 

What does chkinf show (if anything)?

https://msdn.microsoft.com/en-us/library/windows/hardware/ff543464(v=vs.85).aspx

 

See also:

http://stackoverflow.com/questions/12898244/inf2cat-22-9-10-error

 

jaclaz

Edited by jaclaz

Share this post


Link to post
Share on other sites

Hello jaclaz,

the specific file I want to sign is original XP (32bitSP3) usb.inf with a few modifications for using usbccgp.sys in w2k. I can use it in w2k together with usb*.sys files from Win_XP_SP3_32 or sometimes srv_03_sp2 without problems. But, since I have usb keyboard and mouse: if I try to switch to "standard pc" or "acpi pc", device enumeration begins from scratch and I am not able to click through the "found new hardware". It would be much easier if the usb.inf is signed, because mouse and keyboard would install without prompts. So my experiments on macbook pro with w2k could go on. I know that - to get this solved - I will have to sign more files than usb.inf, because usb.inf is only for hubs and composite.

If the errors make sense: I am not sure, but I think not, because it is original xp file - I only added "CatalogFile=usb.cat" for signing purpose and:

[sourceDisksFiles]
usbccgp.sys = 2,,32384,,,,2_,4,1,3 

so w2k can use composite.

 

Chkinf shows:

 

Summary of "c:\test\usb.inf"

Total Errors:

      

7

Total Warnings:

      

20

 

Errors:

Line 8: (E22.1.1004) Provider listed is Microsoft, but should be the organization who wrote this INF.

Line 145: (E22.1.1003) Section [Hub.DelFiles] not defined.

Line 453: (E22.1.1031) "DelFiles" directive should not delete files of type .inf.

Line 454: (E22.1.1031) "DelFiles" directive should not delete files of type .inf.

Line 455: (E22.1.1031) "DelFiles" directive should not delete files of type .inf.

Line 456: (E22.1.1031) "DelFiles" directive should not delete files of type .inf.

Line 457: (E22.1.1031) "DelFiles" directive should not delete files of type .inf.

Warnings:

Line 0: (W22.1.2212) No Copyright information found.

Line 9: (W22.1.2202) Unrecognized directive: LayoutFile

Line 14: (W22.1.2023) Use a string token, and put localizable text in the [strings] section.

Line 35: (W22.1.2083) Section [CLASSINSTALL] not referenced

Line 44: (W22.1.2077) System defined classes should usually not specify a class installer.

Line 112: (W22.1.2211) Directive: "AddReg" or "CopyFiles" expected in section [OpenHCD.UnsupportedDev.NT]

Line 122: (W22.1.2208) NT-specific section(s) found. Ignoring general section.

Line 122: (W22.1.2083) Section [sTANDARDHUB.DEV] not referenced

Line 126: (W22.1.2208) NT-specific section(s) found. Ignoring general section.

Line 126: (W22.1.2083) Section [COMPOSITE.DEV] not referenced

Line 393: (W22.1.2083) Section [uSB.COPYFILES] not referenced

Line 397: (W22.1.2083) Section [uSB.DELFILES] not referenced

Line 410: (W22.1.2083) Section [uSBMON.DELFILES] not referenced

Line 414: (W22.1.2083) Section [uSBINF.DELFILES] not referenced

Line 421: (W22.1.2083) Section [HUB.ADDREG] not referenced

Line 425: (W22.1.2083) Section [COMMONCLASSPARENT.ADDREG] not referenced

Line 430: (W22.1.2083) Section [uSB.COPYFILES.NT] not referenced

Line 434: (W22.1.2083) Section [uSB.DELFILES.NT] not referenced

Line 459: (W22.1.2083) Section [HUB.COPYFILES] not referenced

Line 463: (W22.1.2112) File "usbhub.sys" is not listed in the [sourceDisksFiles].

 

There is more output with comments written into the inf file, see attachment.

 

I also think, that inf2cat is third party tool.

 

Greetings Joe

c#+test+__usb.htm

Edited by JosefReisinger

Share this post


Link to post
Share on other sites

I am no too sure about this, but seemingly you are using a "different" usb.inf.

 

The error you reported earlier:

 

22.9.11: usbccgp.sys=2,,32384,,,,2_,4,1,3 in [sourcedisksfiles] is missing corresponding entry in [sourceDisksNames] in \usb.inf.

 

 

should not happen if you actually added (like you did in the file analyzed by chkinf):

 

[sourceDisksNames]
1 = Win2KCD,driver.cab,,"I386"

 

Though I doubt that the above is correct anyway. :dubbio:

IF I recall correctly that should be:

 

[sourceDisksNames]
1 = %W2Kcd%,driver.cab,,"I386"

 

and W2kcd should be defined in the [strings] section.

 

As I see it (but I may well be wrong) the good MS guys are playing the secret 7, see:

http://homepage.ntlworld.com./jonathan.deboynepollard/Humour/microsoft-monopoly.html

 

The original driver.cab and install relies on a directive "layoutfile" that points to layout.inf (and most probably *somewhere* they further rely on drvindex.inf) and Heaven only knows what other secret or undocumented syntax, while the chkinf and the inf2cat tools were released for "the rest of us" and accept a more limited set of "features", the "error" provided by chkinf:

; (E22.1.1004) Provider listed is Microsoft, but should be the organization who wrote this INF. 

makes it clear that only Microsoft can use the Microsoft name ;), by the same token it is probable that inf2cat has similar limitations and it is intended only for OEM's and limited to "self-standing" and "dedicated/specific" drivers, as evidenced by the error:

 

B2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sections
in the PnP Device ID string. Third-party USB function drivers must not install t
hrough a compatible ID match. The following formats are not acceptable: USB\Clas
s_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kk

 

 

I would try finding some simple third party (USB related) drivers and try modifying their .inf (adding the actual contents, VID/PIDs, etc. of the XP usb.inf) :unsure: andd see how both chkinf and inf2cat behave with them.

 

jaclaz

Share this post


Link to post
Share on other sites

Hi, one step foreward.

I found out that driver.cab must be present in the folder, where I want to sign the inf, because usb.inf references driver.cab in my case.

Errors remaining:

Signability test failed.

Errors:
B2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sections
in the PnP Device ID string. Third-party USB function drivers must not install t
hrough a compatible ID match. The following formats are not acceptable: USB\Clas
s_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kk
B2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sections
in the PnP Device ID string. Third-party USB function drivers must not install t
hrough a compatible ID match. The following formats are not acceptable: USB\Clas
s_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kk

Warnings:
22.9.8: Possible Windows 2000 file redistribution violation (\usbd.sys --> usbd.
sys). File not copied by installation inf so this is a warning only.

 

Next step is to examine usb.inf for the correct vid&pids.

@jaclaz: you mentioned:

[GenericHub.Section]
%USB\CLASS_09&SUBCLASS_01.DeviceDesc%=StandardHub.Dev,USB\CLASS_09&SUBCLASS_01
%USB\CLASS_09.DeviceDesc%=StandardHub.Dev,USB\CLASS_09

Any help how to change this is appreciated.

 

Greetings Joe
 

Share this post


Link to post
Share on other sites

Try just REMming out those two lines, i.e. putting a ; in front of them, and see what happens.

More generally, what you need is to have the stupid .inf file be signed on your specific machine only, so you know (or should know) what VID/PID device "Generic Hub" (if any) you have...

 

jaclaz

Share this post


Link to post
Share on other sites

Yes, proof!

Commenting out the two lines - I can generate the cat file:

 

C:\WinDDK\7600.16385.1\bin\selfsign>inf2cat /drv:c:\Test /os:2000
...................................
Signability test complete.
Errors:
None
Warnings:
22.9.8: Possible Windows 2000 file redistribution violation (\usbd.sys --> usbd.
sys). File not copied by installation inf so this is a warning only.
22.9.8: Possible Windows 2000 file redistribution violation (\usbhub.sys --> usb
hub.sys). File not copied by installation inf so this is a warning only.

Catalog generation complete.
c:\Test\usb.cat

 

Thank you very much for your help.

Greetings Joe

Share this post


Link to post
Share on other sites

Good :).

Now it has to be seen if after all this trouble, it actually works for your "automatic install"... :unsure:

 

jaclaz

Share this post


Link to post
Share on other sites

Sadly to say, it did not work out.

I went through the signing process, created cer, pvk and spc and signed the cat file with verisign (using makecert, cert2spc and signcode). Then I tried to install the usb.inf manually after installing the certificate on the target machine. But w2k is not satisfied with my certificate, because it is not from microsoft, the nasty popup cannot be overcome with a self made certificate. I think I did not do anything wrong - after installing the usb-hub shows the name of my certificate in devmgr.

 

It seems a microsoft certificate must be used for signing. Any help is appriciated, again.

Greetings, Joe

Share this post


Link to post
Share on other sites

After some more researches, I found out, that it is true: Only drivers with a signature from Microsoft will install without prompts on windows 2000, so the selfsigning rumors can be considered as a misunderstanding - vista and windows 7 will need a signature and these os can be configured to accept test signatures, so selfsigning is useful. For w2k, selfsigning seems to be worthless for the purpose of automatic driver installation.

Greetings

Edited by JosefReisinger

Share this post


Link to post
Share on other sites

Hmmm. :unsure:

Then, let's try another way, maybe you can "trick" the installer by using a AHK (AutoHotKey) or AutoIt or similar script to "virtually" click on the popup warnings? :dubbio:

 

jaclaz

Share this post


Link to post
Share on other sites

I tried a different approach.

I switched HAL again back (only with boot.ini switch /HAL=HALACPI) and did the trick with devmgr_show_nonpresent_devices. Since it is the same registry, windows 2000 will show the devices from the other HAL as nonpresent, but: THEY ARE INSTALLABLE!!!! So I could install the devices "remotely" and they were fully functionally when I removed the boot.ini switch (e.g. sound device, intel ata, network). USB showed mismatch with devices which simply are not present on the machine, but  I could connect with netmeeting remote desktop and look further.

The usb devices are not installable with the "standard hal" on this machine, surprisingly offered were a couple of PCI to USB controllers (which did not work after installing with code 10 and are really not present on the machine, instead there should be 3 standard usb hubs which are not offered to install. Also choosing usb hub instead of the offered controllers did not work out. Furthermore, not one hid device is present in devmgr. So now it is clear that the standard HAL lacks usb compat with macbook pro. The standard hal was interesting for me because it showed the vga device which is not present with the acpi hal. Macbook pro and windows 2000 will be hard work, so I take a break and leave it again. But - I got rare Cirrus soundcard work with windows 2000 with some tricks. The only thing remaining is the graphics card (nvidia GT330). It is complicated, because this card uses the memory sticks of the board, not its own. Windows 2000 (HALACPI) does not recognize this, XP does. I have installed vbemp as enum/root/display so I can use 1280*800, but the display is optimized for 1440*900, which I cannot get with vbemp since it lacks compat with this board. Lets see.

I post this, because it perhaps could help other users. If you switch HAL and loose USB keyboard and mouse, simply switch back and try cmd "set devmgr_show_nonpresent_devices=1", then open devmgr and choose "Show faded-out devices" from the menu.

Greetings Joe

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...