Plug and play issue with Western Digital WD200

  • Thread starter Thread starter Jeff
  • Start date Start date
J

Jeff

For some reason some western digital wd200 drives are making XP Embedded
think that it needs a reboot when embedded boots on the target. This is not
good, because a dialog pops up:

System settings change

Windows has finished installing new devices. The software that supports your
device requires that you restart your computer. You must restart your
computer before the new settings will take effect.

Do you want to restart your computer now?



Of course, without a keyboard or mouse attached, the end user can't respond.
The frustrating thing is the that the problematic drive is the same model
used on the system I did the first boot and fbreseal on. The drive is
definitely a WD200. It has a slightly different label, but the same form
factor.

Why does windows put up this message and require this re-boot and is there
anything I can do to prevent this from happening? Could other seemingly
innocuous hardware changes have this same effect? Will I end up pulling my
meager strands of remaining hair out?

Thanks,
Jeff Hall
 
Jeff,

Have you tried pulling "Add Hardware Control Panel" component (hardware
wizard) off the image? Did it help?

KM
 
Jeff,

You will need this:
http://msdn.microsoft.com/embedded/community/tips/xp/popups/default.aspx

I must be brief so one possibility:
1. Your XPe boots from new HDD (new serial number).
2. It boots because HDD is set in critical devices list and not yet
installed from inf file to match new disk ser num.
3. Boot continues and completes.
4. PnP find inf file and new HDD.
5. PnP installs new driver (same as previous but new registry entries).
6. For installation to have effect PnP must restart current HDD driver.
7. Since at lest FS with XPe is open and can't be closed this operation is
vetoed.
8. PnP offer to reboot device so veto and installation can be
competed/resolved.

Depending on hardware type and serial numbers of that hardware you might
have this problem again if this hardware is critical for your device.

BTW:
Do you see reseal phase before this problem?

Regards,
Slobodan
 
This might hide the problem, but it will not solve it especially if he use
EWF then he will have awkward situation that PnP will try to install disk
each time he boot.

Regards,
Slobodan
 
This is true but unless he installs all the necesary hardware while EWF is
disabled (before image reseal), he will have PnP messages.
So, either his image supports all the hardware required (all the serial
numbers for HDDs) or all the hardware installation messages are supressed
(removing harwiz, subclassing message boxes, using your reg value to change
the ErrorMode).

Konstantin
 
Jeff,

Leave your hair where it is. There will always be small vendor changes
in hardware elements over time that cause Plug'n'Play to detect "new"
PnP IDs and re-install the same generic drivers.

Some proven approaches to mitigate this problem are:

1. Boot up the final production device before shipping it to ensure
that no hardware detection messages will be issued in front of the
customer.

2. Include your own logic to detect hardware changes in a device
(replacement hard drive, motherboard, etc.). For example, record the
NIC MAC address ( or whatever "key" makes sense for your device) on
the hard drive and compare to see if it matches at each reboot. If it
doesn't match, wait a minute (tune to your situation), record the new
"key" on the hard drive and issue a shutdown / restart to clear any
outstanding hardware detection messages.

HTH, Roy
 
I think you are correct. And I do see the reseal phase occuring. I don't
know if we have control over what hard drive our manufacturing facility
uses, but is it possible to get non-searialized hard drives? Because it
sounds like that would avoid the problem too.

What I would desire is:

1. The offer to reboot is automatically and quietly declined with no dialog
box appearing.
2. Our software is installed via our unattended installation CD.
3. After our software is installed, a reboot can occur and embedded is happy
with the new HDD.

Can I configure XP Embedded to behave this way? You mention some registry
settings. Is there a configuration of registry settings that will make
windows behave this way?
 
Hi Jeff,

Only what I can say is that this all can be done with application that you
could make.

And you can remove Hardware Wizards like Konstantin said.
You can use registry entries from my article.

I don't know any generic way to do all of this without at least a little
code.

Regards,
Slobodan

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Have an opinion on the effectiveness of Microsoft Embedded newsgroups? Tell
Microsoft!
https://www.windowsembeddedeval.com/community/newsgroups
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
Thanks to everyone for the suggestions. My final solution is a little win32
app I wrote that throws up a progress bar with a "please wait..." message
and waits around for a bit. If the windows message appears, then my app
feeds it an enter key press, otherwise my app just reboots when the progress
bar runs out. I set it as a run once item and I'm done. Nice thing about
this solution is it will work for ANY case like this. It ain't pretty, but
it gets the job done.

Thanks again,
-Jeff-
 
Back
Top