JosefReisinger Posted January 8, 2016 Share Posted January 8, 2016 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 corresponding entry in [sourceDisksNames] in \usb.inf.B2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sectionsin the PnP Device ID string. Third-party USB function drivers must not install through a compatible ID match. The following formats are not acceptable: USB\Class_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kkB2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sectionsin the PnP Device ID string. Third-party USB function drivers must not install through a compatible ID match. The following formats are not acceptable: USB\Class_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kkWarnings: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 --> usbhub.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] section 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 Link to comment Share on other sites More sharing options...
blackwingcat Posted January 8, 2016 Share Posted January 8, 2016 Hi. http://blog.livedoor.jp/blackwingcat/archives/1918911.htmlI 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 corresponding entry in [sourceDisksNames] in \usb.inf.B2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sectionsin the PnP Device ID string. Third-party USB function drivers must not install through a compatible ID match. The following formats are not acceptable: USB\Class_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kkB2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sectionsin the PnP Device ID string. Third-party USB function drivers must not install through a compatible ID match. The following formats are not acceptable: USB\Class_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kkWarnings: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 --> usbhub.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] section 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 Link to comment Share on other sites More sharing options...
JosefReisinger Posted January 9, 2016 Author Share Posted January 9, 2016 Original usb.inf has no cat file. How does windows recognize it as signed? Link to comment Share on other sites More sharing options...
jaclaz Posted January 9, 2016 Share Posted January 9, 2016 (edited) @josefWhat 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? Reading between the lines , 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 January 9, 2016 by jaclaz Link to comment Share on other sites More sharing options...
JosefReisinger Posted January 9, 2016 Author Share Posted January 9, 2016 (edited) 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: 7Total 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: LayoutFileLine 14: (W22.1.2023) Use a string token, and put localizable text in the [strings] section.Line 35: (W22.1.2083) Section [CLASSINSTALL] not referencedLine 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 referencedLine 126: (W22.1.2208) NT-specific section(s) found. Ignoring general section.Line 126: (W22.1.2083) Section [COMPOSITE.DEV] not referencedLine 393: (W22.1.2083) Section [uSB.COPYFILES] not referencedLine 397: (W22.1.2083) Section [uSB.DELFILES] not referencedLine 410: (W22.1.2083) Section [uSBMON.DELFILES] not referencedLine 414: (W22.1.2083) Section [uSBINF.DELFILES] not referencedLine 421: (W22.1.2083) Section [HUB.ADDREG] not referencedLine 425: (W22.1.2083) Section [COMMONCLASSPARENT.ADDREG] not referencedLine 430: (W22.1.2083) Section [uSB.COPYFILES.NT] not referencedLine 434: (W22.1.2083) Section [uSB.DELFILES.NT] not referencedLine 459: (W22.1.2083) Section [HUB.COPYFILES] not referencedLine 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 Joec#+test+__usb.htm Edited January 9, 2016 by JosefReisinger Link to comment Share on other sites More sharing options...
jaclaz Posted January 10, 2016 Share Posted January 10, 2016 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. 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 sectionsin the PnP Device ID string. Third-party USB function drivers must not install through a compatible ID match. The following formats are not acceptable: USB\Class_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) andd see how both chkinf and inf2cat behave with them. jaclaz Link to comment Share on other sites More sharing options...
JosefReisinger Posted January 10, 2016 Author Share Posted January 10, 2016 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 sectionsin the PnP Device ID string. Third-party USB function drivers must not install through a compatible ID match. The following formats are not acceptable: USB\Class_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kkB2.6.4.9: All Universal Serial Bus (USB) devices must have VID and PID sectionsin the PnP Device ID string. Third-party USB function drivers must not install through a compatible ID match. The following formats are not acceptable: USB\Class_ii, USB\Class_ii&SubClass_jj, USB\Class_ii&SubClass_jj&Prot_kkWarnings: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_09Any help how to change this is appreciated. Greetings Joe Link to comment Share on other sites More sharing options...
jaclaz Posted January 10, 2016 Share Posted January 10, 2016 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 Link to comment Share on other sites More sharing options...
JosefReisinger Posted January 10, 2016 Author Share Posted January 10, 2016 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:NoneWarnings: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 --> usbhub.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 Link to comment Share on other sites More sharing options...
jaclaz Posted January 10, 2016 Share Posted January 10, 2016 Good .Now it has to be seen if after all this trouble, it actually works for your "automatic install"... jaclaz Link to comment Share on other sites More sharing options...
JosefReisinger Posted January 10, 2016 Author Share Posted January 10, 2016 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 Link to comment Share on other sites More sharing options...
JosefReisinger Posted January 12, 2016 Author Share Posted January 12, 2016 (edited) 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 January 12, 2016 by JosefReisinger Link to comment Share on other sites More sharing options...
jaclaz Posted January 12, 2016 Share Posted January 12, 2016 Hmmm. 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? jaclaz Link to comment Share on other sites More sharing options...
JosefReisinger Posted January 13, 2016 Author Share Posted January 13, 2016 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 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now