Problem with PnP install after FBA (SPFILENOTIFY_NEEDMEDIA)

D

dferencz

I have a problem with my XPe image that boots from a Ramdisk (off of an
El-Torito CD). Specifically, if I boot the image on new hardware (that
forces reinstallation of my USB controller), the PnP re-install fails
and USB no longer works.

This is a somewhat complicated configuration, in that I'm attempting to
support multiple target hardware configurations in the Ramdisk image as
described here by Slobodan:
http://groups.google.com/group/microsoft.public.windowsxp.embedded/msg/8fdc73848691feed

Reviewing SETUPAPI.LOG shows that the device installed correctly on
FBA, as seen here:

[2006/01/09 13:59:18 392.232 Driver Install]
#-019 Searching for hardware ID(s):
pci\ven_8086&dev_25ad&subsys_25ad8086&rev_02,pci\ven_8086&dev_25ad&subsys_25ad8086,pci\ven_8086&dev_25ad&cc_0c0320,pci\ven_8086&dev_25ad&cc_0c03
#-018 Searching for compatible ID(s):
pci\ven_8086&dev_25ad&rev_02,pci\ven_8086&dev_25ad,pci\ven_8086&cc_0c0320,pci\ven_8086&cc_0c03,pci\ven_8086,pci\cc_0c0320,pci\cc_0c03
#-199 Executing "C:\WINDOWS\fba\fba.exe" with command line:
...\fba\fba.exe
#I022 Found "PCI\CC_0C0320" in C:\WINDOWS\inf\usbport.inf; Device:
"Standard Enhanced PCI to USB Host Controller"; Driver: "Standard
Enhanced PCI to USB Host Controller"; Provider: "Microsoft"; Mfg:
"(Standard USB Host Controller)"; Section name: "EHCI.Dev".
#I023 Actual install section: [EHCI.Dev.NT]. Rank: 0x00002005.
Effective driver date: 06/01/2002.
#I022 Found "PCI\VEN_8086&DEV_25AD" in C:\WINDOWS\inf\usbport.inf;
Device: "Intel(R) 6300ESB USB2 Enhanced Host Controller - 25AD";
Driver: "Intel(R) 6300ESB USB2 Enhanced Host Controller - 25AD";
Provider: "Microsoft"; Mfg: "Intel"; Section name: "EHCI.Dev".
#I023 Actual install section: [EHCI.Dev.NT]. Rank: 0x00002001.
Effective driver date: 06/01/2002.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected driver installs from section [EHCI.Dev] in
"c:\windows\inf\usbport.inf".
#I320 Class GUID of device remains:
{36FC9E60-C465-11CF-8056-444553540000}.
#I060 Set selected driver.
#I058 Selected best compatible driver.
#-124 Doing copy-only install of
"PCI\VEN_8086&DEV_25AD&SUBSYS_25AD8086&REV_02\2&EBB567F&0&EF".
#-167 SPFILENOTIFY_NEEDMEDIA: Tag = "\win51ip.sp2", Description=
"Windows XP Professional Service Pack 2 CD", SourcePath =
"c:\windows\i386", SourceFile = "usbui.dll", Flags = 0x00000000.
#W170 SPFILENOTIFY_NEEDMEDIA: returned FILEOP_SKIP.
#-166 Device install function: DIF_REGISTER_COINSTALLERS.
#I056 Coinstallers registered.
#-166 Device install function: DIF_INSTALLINTERFACES.
#-011 Installing section [EHCI.Dev.NT.Interfaces] from
"c:\windows\inf\usbport.inf".
#I054 Interfaces installed.
#-166 Device install function: DIF_INSTALLDEVICE.
#I123 Doing full install of
"PCI\VEN_8086&DEV_25AD&SUBSYS_25AD8086&REV_02\2&EBB567F&0&EF".
#I121 Device install of
"PCI\VEN_8086&DEV_25AD&SUBSYS_25AD8086&REV_02\2&EBB567F&0&EF" finished
successfully.

However, when the re-install is attempted on the image later (a
different Intel chipset on the new hardware config), it fails:

[2006/01/10 09:21:25 208.54 Driver Install]
#-019 Searching for hardware ID(s):
pci\ven_8086&dev_24dd&subsys_4c438086&rev_02,pci\ven_8086&dev_24dd&subsys_4c438086,pci\ven_8086&dev_24dd&cc_0c0320,pci\ven_8086&dev_24dd&cc_0c03
#-018 Searching for compatible ID(s):
pci\ven_8086&dev_24dd&rev_02,pci\ven_8086&dev_24dd,pci\ven_8086&cc_0c0320,pci\ven_8086&cc_0c03,pci\ven_8086,pci\cc_0c0320,pci\cc_0c03
#-198 Command line processed: C:\WINDOWS\system32\services.exe
#I022 Found "PCI\CC_0C0320" in C:\WINDOWS\inf\usbport.inf; Device:
"Standard Enhanced PCI to USB Host Controller"; Driver: "Standard
Enhanced PCI to USB Host Controller"; Provider: "Microsoft"; Mfg:
"(Standard USB Host Controller)"; Section name: "EHCI.Dev".
#I023 Actual install section: [EHCI.Dev.NT]. Rank: 0x00002005.
Effective driver date: 06/01/2002.
#I022 Found "PCI\VEN_8086&DEV_24DD" in C:\WINDOWS\inf\usbport.inf;
Device: "Intel(R) 82801EB USB2 Enhanced Host Controller - 24DD";
Driver: "Intel(R) 82801EB USB2 Enhanced Host Controller - 24DD";
Provider: "Microsoft"; Mfg: "Intel"; Section name: "EHCI.Dev".
#I023 Actual install section: [EHCI.Dev.NT]. Rank: 0x00002001.
Effective driver date: 06/01/2002.
#-166 Device install function: DIF_SELECTBESTCOMPATDRV.
#I063 Selected driver installs from section [EHCI.Dev] in
"c:\windows\inf\usbport.inf".
#I320 Class GUID of device remains:
{36FC9E60-C465-11CF-8056-444553540000}.
#I060 Set selected driver.
#I058 Selected best compatible driver.
#-166 Device install function: DIF_INSTALLDEVICEFILES.
#I124 Doing copy-only install of
"PCI\VEN_8086&DEV_24DD&SUBSYS_4C438086&REV_02\2&EBB567F&0&EF".
#-011 Installing section [EHCI.Dev.NT] from
"c:\windows\inf\usbport.inf".
#-167 SPFILENOTIFY_NEEDMEDIA: Tag = "\win51ip.sp2", Description=
"Windows XP Professional Service Pack 2 CD", SourcePath =
"c:\windows\i386", SourceFile = "usbui.dll", Flags = 0x00000000.
#E169 SPFILENOTIFY_NEEDMEDIA: returned FILEOP_ABORT. Error 1223: The
operation was canceled by the user.
#W187 Install failed, attempting to restore original files.
#E122 Device install failed. Error 1223: The operation was canceled by
the user.
#E157 Default installer failed. Error 1223: The operation was canceled
by the user.

USBPORT.INF, through LAYOUT.INF, is looking for the file in
C:\WINDOWS\I386 (the SP2 media location). Why does this "succeed"
("SPFILENOTIFY_NEEDMEDIA: returned FILEOP_SKIP") on FBA, but fail
("SPFILENOTIFY_NEEDMEDIA: returned FILEOP_ABORT. Error 1223: The
operation was canceled by the user") on subsequent boots? Is this a
bug in the XPe config?

I know I can kludge this by either (1) copying the file into
WINDOWS\I386 or (2) hacking LAYOUT.INF, but I'd rather solve this
elegantly, especially since other problems with other devices might be
lurking due to untested hardware configurations. Is there a way to
make the PnP detection skip (as it does during FBA)?

-- Don
 
D

dferencz

Well, I discovered that the offending file (USBUI.DLL) was not included
-- after adding the "USB User Interface" component, USBUI.DLL is
included and the PnP works properly.

I'm constantly amazed at the trickery involved in XPe. Clearly
USBUI.DLL is not brought in (with the USB host controller components)
with a dependency, and somehow the "SPFILENOTIFY_NEEDMEDIA" is silently
squelched by FBA with FILEOP_SKIP. No one is any wiser, until you
attempt to change the hardware config slightly...

-- Don
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top